Repository: atlas Updated Branches: refs/heads/branch-0.8 52ecc674f -> 0198bab58
ATLAS-1921: basic-search UI: added range validation for entity/trait attributes Signed-off-by: Madhan Neethiraj <[email protected]> (cherry picked from commit 6b4c3aa7eb1a8af53ba910d23784da2d04308398) Project: http://git-wip-us.apache.org/repos/asf/atlas/repo Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/0198bab5 Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/0198bab5 Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/0198bab5 Branch: refs/heads/branch-0.8 Commit: 0198bab58b501e1142072a124123ee0940326699 Parents: 52ecc67 Author: pratik24mac <[email protected]> Authored: Sat Jan 13 13:30:13 2018 +0530 Committer: Madhan Neethiraj <[email protected]> Committed: Sat Jan 13 09:10:30 2018 -0800 ---------------------------------------------------------------------- dashboardv2/public/css/scss/override.scss | 17 ++++++++++-- dashboardv2/public/js/utils/Enums.js | 29 +++++++++++++++++++- .../public/js/views/search/QueryBuilderView.js | 22 +++++++++------ 3 files changed, 56 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/atlas/blob/0198bab5/dashboardv2/public/css/scss/override.scss ---------------------------------------------------------------------- diff --git a/dashboardv2/public/css/scss/override.scss b/dashboardv2/public/css/scss/override.scss index d21a697..605bcd5 100644 --- a/dashboardv2/public/css/scss/override.scss +++ b/dashboardv2/public/css/scss/override.scss @@ -297,6 +297,20 @@ td { } .rule-value-container { display: inline-block !important; + .form-control { + width: 220px !important; + padding: 6px 12px !important; + } + } + .rule-filter-container { + .form-control { + width: 200px !important; + } + } + .rule-operator-container { + .form-control { + width: auto !important; + } } } .rules-list>:first-child::before { @@ -305,9 +319,6 @@ td { .rules-group-header .btn-group.group-conditions label { display: none; } - .rule-value-container input { - padding: 6px 12px !important; - } .rules-group-container { border: none; background: none; http://git-wip-us.apache.org/repos/asf/atlas/blob/0198bab5/dashboardv2/public/js/utils/Enums.js ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/utils/Enums.js b/dashboardv2/public/js/utils/Enums.js index 7aca247..c1531e8 100644 --- a/dashboardv2/public/js/utils/Enums.js +++ b/dashboardv2/public/js/utils/Enums.js @@ -72,6 +72,33 @@ define(['require'], function(require) { }, "uiParameters": "uiParameters" } - + Enums.regex = { + RANGE_CHECK: { + "byte": { + min: -128, + max: 127 + }, + "short": { + min: -32768, + max: 32767 + }, + "int": { + min: -2147483648, + max: 2147483647 + }, + "long": { + min: -9223372036854775808, + max: 9223372036854775807 + }, + "float": { + min: 1.4E-45, + max: 3.4028235E38 + }, + "double": { + min: 4.9E-324, + max: 1.7976931348623157E308 + } + } + } return Enums; }); \ No newline at end of file http://git-wip-us.apache.org/repos/asf/atlas/blob/0198bab5/dashboardv2/public/js/views/search/QueryBuilderView.js ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/views/search/QueryBuilderView.js b/dashboardv2/public/js/views/search/QueryBuilderView.js index ef84c2f..fdb3c22 100644 --- a/dashboardv2/public/js/views/search/QueryBuilderView.js +++ b/dashboardv2/public/js/views/search/QueryBuilderView.js @@ -21,9 +21,10 @@ define(['require', 'hbs!tmpl/search/QueryBuilder_tmpl', 'utils/Utils', 'utils/CommonViewFunction', + 'utils/Enums', 'query-builder', 'daterangepicker' -], function(require, Backbone, QueryBuilder_Tmpl, Utils, CommonViewFunction) { +], function(require, Backbone, QueryBuilder_Tmpl, Utils, CommonViewFunction, Enums) { var QueryBuilderView = Backbone.Marionette.LayoutView.extend( /** @lends QueryBuilderView */ @@ -112,13 +113,18 @@ define(['require', obj['values'] = ['true', 'false']; } _.extend(obj, this.getOperator(obj.type)); - if (obj.type === "long" || obj.type === "float") { - obj.type = "double"; - } - if (obj.type === "int" || obj.type === "byte" || obj.type === "short") { - obj.type = "integer"; - } - return obj; + if (_.has(Enums.regex.RANGE_CHECK, obj.type)) { + obj.validation = { + min: Enums.regex.RANGE_CHECK[obj.type].min, + max: Enums.regex.RANGE_CHECK[obj.type].max + }; + if (obj.type === "double" || obj.type === "float") { + obj.type = "double"; + } else if (obj.type === "int" || obj.type === "byte" || obj.type === "short" || obj.type === "long") { + obj.type = "integer" + } + } + return obj; } var enumObj = this.enumDefCollection.fullCollection.find({ name: obj.type }); if (enumObj) {
