This is an automated email from the ASF dual-hosted git repository. kbhatt pushed a commit to branch branch-2.0 in repository https://gitbox.apache.org/repos/asf/atlas.git
The following commit(s) were added to refs/heads/branch-2.0 by this push: new 045c849 Atlas-4166: UI should not allow the user to create a glossary with blank(" ") name 045c849 is described below commit 045c84917973506750c8d9976041e72841adf7b9 Author: prasad pawar <prasad.pa...@freestoneinfotech.com> AuthorDate: Tue Feb 2 20:29:44 2021 +0530 Atlas-4166: UI should not allow the user to create a glossary with blank(" ") name Signed-off-by: kevalbhatt <kbh...@apache.org> (cherry picked from commit 7a3f512655bc450fc58a466301c6b3c511076c8c) --- dashboardv2/public/js/utils/CommonViewFunction.js | 14 -------------- dashboardv2/public/js/utils/Helper.js | 14 ++++++++++++++ .../business_metadata/CreateBusinessMetadataLayoutView.js | 2 +- .../public/js/views/entity/CreateEntityLayoutView.js | 3 ++- .../public/js/views/entity/EntityLabelDefineView.js | 4 ++-- .../public/js/views/search/save/SaveModalLayoutView.js | 8 -------- dashboardv2/public/js/views/tag/TagLayoutView.js | 8 -------- dashboardv3/public/js/utils/CommonViewFunction.js | 14 -------------- dashboardv3/public/js/utils/Helper.js | 15 ++++++++++++++- .../business_metadata/CreateBusinessMetadataLayoutView.js | 2 +- .../public/js/views/entity/CreateEntityLayoutView.js | 3 ++- .../public/js/views/entity/EntityLabelDefineView.js | 4 ++-- .../public/js/views/search/save/SaveModalLayoutView.js | 8 -------- .../js/views/search/tree/ClassificationTreeLayoutView.js | 8 -------- 14 files changed, 38 insertions(+), 69 deletions(-) diff --git a/dashboardv2/public/js/utils/CommonViewFunction.js b/dashboardv2/public/js/utils/CommonViewFunction.js index f766204..80db527 100644 --- a/dashboardv2/public/js/utils/CommonViewFunction.js +++ b/dashboardv2/public/js/utils/CommonViewFunction.js @@ -711,20 +711,6 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum "allowCancel": true }).open(); modal.$el.find('button.ok').attr("disabled", "true"); - if (model) { - view.$('input,textarea').on('keyup', function(e) { - modal.$el.find('button.ok').attr("disabled", false); - }); - } else { - view.ui.name.on('keyup', function(e) { - modal.$el.find('button.ok').attr("disabled", false); - }); - } - view.ui.name.on('keyup', function(e) { - if ((e.keyCode == 8 || e.keyCode == 32 || e.keyCode == 46) && e.currentTarget.value.trim() == "") { - modal.$el.find('button.ok').attr("disabled", true); - } - }); modal.on('ok', function() { modal.$el.find('button.ok').showButtonLoader(); CommonViewFunction.createEditGlossaryCategoryTermSubmit(_.extend({ "ref": view, "modal": modal }, options)); diff --git a/dashboardv2/public/js/utils/Helper.js b/dashboardv2/public/js/utils/Helper.js index 8b9f4c5..050dfd5 100644 --- a/dashboardv2/public/js/utils/Helper.js +++ b/dashboardv2/public/js/utils/Helper.js @@ -127,6 +127,20 @@ define(['require', $("body").on('click', '.btn', function() { $(this).blur(); }); + $('body').on('keyup input', '.modal-body', function(e) { + var $this = $(this), + $footerButton = $this.parents(".modal").find('.modal-footer button.ok'), + requiredInputField = _.filter($this.find('input'), function($e) { + if ($e.getAttribute('placeholder') && $e.getAttribute('placeholder').indexOf('require') >= 0) { + return ($e.value.trim() == ""); + } + }); + if (requiredInputField.length > 0) { + $footerButton.attr("disabled", "true"); + } else { + $footerButton.removeAttr("disabled"); + } + }); if ($.fn.select2) { $.fn.select2.amd.define("TagHideDeleteButtonAdapter", [ "select2/utils", diff --git a/dashboardv2/public/js/views/business_metadata/CreateBusinessMetadataLayoutView.js b/dashboardv2/public/js/views/business_metadata/CreateBusinessMetadataLayoutView.js index 6261585..4957002 100644 --- a/dashboardv2/public/js/views/business_metadata/CreateBusinessMetadataLayoutView.js +++ b/dashboardv2/public/js/views/business_metadata/CreateBusinessMetadataLayoutView.js @@ -180,7 +180,7 @@ define(['require', } validationFileds.each(function(elements) { $(this).removeClass('errorValidate'); - if (validationFileds[elements].value == '' || validationFileds[elements].value == null) { + if (validationFileds[elements].value.trim() == '' || validationFileds[elements].value == null) { if (validationFileds[elements].style.display != 'none') { $(validationFileds[elements]).addClass('errorValidate'); $(this).addClass('errorValidate'); diff --git a/dashboardv2/public/js/views/entity/CreateEntityLayoutView.js b/dashboardv2/public/js/views/entity/CreateEntityLayoutView.js index 1710fb0..ec06a75 100644 --- a/dashboardv2/public/js/views/entity/CreateEntityLayoutView.js +++ b/dashboardv2/public/js/views/entity/CreateEntityLayoutView.js @@ -150,7 +150,7 @@ define(['require', }); this.ui.entityInputData.on('keyup change', 'input.true,select.true', function(e) { - if (this.value !== "") { + if (this.value.trim() !== "") { if ($(this).data('select2')) { $(this).data('select2').$container.find('.select2-selection').removeClass("errorClass"); } else { @@ -293,6 +293,7 @@ define(['require', that.subAttributeData(data) }, complete: function() { + that.modal.$el.find('button.ok').prop("disabled", true); //that.initilizeElements(); }, silent: true diff --git a/dashboardv2/public/js/views/entity/EntityLabelDefineView.js b/dashboardv2/public/js/views/entity/EntityLabelDefineView.js index 69c83df..39b5775 100644 --- a/dashboardv2/public/js/views/entity/EntityLabelDefineView.js +++ b/dashboardv2/public/js/views/entity/EntityLabelDefineView.js @@ -126,7 +126,7 @@ define(['require', if (!state.id) { return state.text; } - if (!state.element) { + if (!state.element && state.text.trim() !== "") { return $("<span>Add<strong> '" + _.escape(state.text) + "'</strong></span>"); } }, @@ -151,7 +151,7 @@ define(['require', saveUserDefinedLabels: function() { var that = this; var entityJson = that.entityModel.toJSON(); - if (entityJson.labels !== undefined || this.labels.length !== 0) { + if ((entityJson.labels && entityJson.labels.length !== 0) || this.labels.length !== 0) { var payload = this.labels; that.entityModel.saveEntityLabels(entityJson.guid, { data: JSON.stringify(payload), diff --git a/dashboardv2/public/js/views/search/save/SaveModalLayoutView.js b/dashboardv2/public/js/views/search/save/SaveModalLayoutView.js index 9b4ba18..3507588 100644 --- a/dashboardv2/public/js/views/search/save/SaveModalLayoutView.js +++ b/dashboardv2/public/js/views/search/save/SaveModalLayoutView.js @@ -62,14 +62,6 @@ define(['require', allowCancel: true }).open(); modal.$el.find('button.ok').attr("disabled", "true"); - this.ui.saveAsName.on('keyup', function(e) { - modal.$el.find('button.ok').removeAttr("disabled"); - }); - this.ui.saveAsName.on('keyup', function(e) { - if ((e.keyCode == 8 || e.keyCode == 32 || e.keyCode == 46) && e.currentTarget.value.trim() == "") { - modal.$el.find('button.ok').attr("disabled", "true"); - } - }); modal.on('ok', function() { modal.$el.find('button.ok').attr("disabled", "true"); that.onCreateButton(modal); diff --git a/dashboardv2/public/js/views/tag/TagLayoutView.js b/dashboardv2/public/js/views/tag/TagLayoutView.js index c358e05..61f694c 100644 --- a/dashboardv2/public/js/views/tag/TagLayoutView.js +++ b/dashboardv2/public/js/views/tag/TagLayoutView.js @@ -367,14 +367,6 @@ define(['require', allowCancel: true, }).open(); modal.$el.find('button.ok').attr("disabled", "true"); - view.ui.tagName.on('keyup', function(e) { - modal.$el.find('button.ok').removeAttr("disabled"); - }); - view.ui.tagName.on('keyup', function(e) { - if ((e.keyCode == 8 || e.keyCode == 32 || e.keyCode == 46) && e.currentTarget.value.trim() == "") { - modal.$el.find('button.ok').attr("disabled", "true"); - } - }); modal.on('shownModal', function() { view.ui.parentTag.select2({ multiple: true, diff --git a/dashboardv3/public/js/utils/CommonViewFunction.js b/dashboardv3/public/js/utils/CommonViewFunction.js index 394d62f..14a8b74 100644 --- a/dashboardv3/public/js/utils/CommonViewFunction.js +++ b/dashboardv3/public/js/utils/CommonViewFunction.js @@ -731,20 +731,6 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum "allowCancel": true }).open(); modal.$el.find('button.ok').attr("disabled", "true"); - if (model) { - view.$('input,textarea').on('keyup', function(e) { - modal.$el.find('button.ok').attr("disabled", false); - }); - } else { - view.ui.name.on('keyup', function(e) { - modal.$el.find('button.ok').attr("disabled", false); - }); - } - view.ui.name.on('keyup', function(e) { - if ((e.keyCode == 8 || e.keyCode == 32 || e.keyCode == 46) && e.currentTarget.value.trim() == "") { - modal.$el.find('button.ok').attr("disabled", true); - } - }); modal.on('ok', function() { modal.$el.find('button.ok').showButtonLoader(); CommonViewFunction.createEditGlossaryCategoryTermSubmit(_.extend({ "ref": view, "modal": modal }, options)); diff --git a/dashboardv3/public/js/utils/Helper.js b/dashboardv3/public/js/utils/Helper.js index b3af004..acb549c 100644 --- a/dashboardv3/public/js/utils/Helper.js +++ b/dashboardv3/public/js/utils/Helper.js @@ -133,7 +133,20 @@ define(['require', $("body").on('click', '.btn', function() { $(this).blur(); }); - + $('body').on('keyup input', '.modal-body', function(e) { + var $this = $(this), + $footerButton = $this.parents(".modal").find('.modal-footer button.ok'), + requiredInputField = _.filter($this.find('input'), function($e) { + if ($e.getAttribute('placeholder') && $e.getAttribute('placeholder').indexOf('require') >= 0) { + return ($e.value.trim() == ""); + } + }); + if (requiredInputField.length > 0) { + $footerButton.attr("disabled", "true"); + } else { + $footerButton.removeAttr("disabled"); + } + }); $.fn.select2.amd.define("TagHideDeleteButtonAdapter", [ "select2/utils", "select2/selection/multiple", diff --git a/dashboardv3/public/js/views/business_metadata/CreateBusinessMetadataLayoutView.js b/dashboardv3/public/js/views/business_metadata/CreateBusinessMetadataLayoutView.js index 6261585..4957002 100644 --- a/dashboardv3/public/js/views/business_metadata/CreateBusinessMetadataLayoutView.js +++ b/dashboardv3/public/js/views/business_metadata/CreateBusinessMetadataLayoutView.js @@ -180,7 +180,7 @@ define(['require', } validationFileds.each(function(elements) { $(this).removeClass('errorValidate'); - if (validationFileds[elements].value == '' || validationFileds[elements].value == null) { + if (validationFileds[elements].value.trim() == '' || validationFileds[elements].value == null) { if (validationFileds[elements].style.display != 'none') { $(validationFileds[elements]).addClass('errorValidate'); $(this).addClass('errorValidate'); diff --git a/dashboardv3/public/js/views/entity/CreateEntityLayoutView.js b/dashboardv3/public/js/views/entity/CreateEntityLayoutView.js index 16d68a1..d05fe69 100644 --- a/dashboardv3/public/js/views/entity/CreateEntityLayoutView.js +++ b/dashboardv3/public/js/views/entity/CreateEntityLayoutView.js @@ -151,7 +151,7 @@ define(['require', }); this.ui.entityInputData.on('keyup change', 'input.true,select.true', function(e) { - if (this.value !== "") { + if (this.value.trim() !== "") { if ($(this).data('select2')) { $(this).data('select2').$container.find('.select2-selection').removeClass("errorClass"); } else { @@ -294,6 +294,7 @@ define(['require', that.subAttributeData(data) }, complete: function() { + that.modal.$el.find('button.ok').prop("disabled", true); //that.initilizeElements(); }, silent: true diff --git a/dashboardv3/public/js/views/entity/EntityLabelDefineView.js b/dashboardv3/public/js/views/entity/EntityLabelDefineView.js index d3ddf55..9dee7d7 100644 --- a/dashboardv3/public/js/views/entity/EntityLabelDefineView.js +++ b/dashboardv3/public/js/views/entity/EntityLabelDefineView.js @@ -126,7 +126,7 @@ define(['require', if (!state.id) { return state.text; } - if (!state.element) { + if (!state.element && state.text.trim() !== "") { return $("<span>Add<strong> '" + _.escape(state.text) + "'</strong></span>"); } }, @@ -151,7 +151,7 @@ define(['require', saveUserDefinedLabels: function() { var that = this; var entityJson = that.entityModel.toJSON(); - if (entityJson.labels !== undefined || this.labels.length !== 0) { + if ((entityJson.labels && entityJson.labels.length !== 0) || this.labels.length !== 0) { var payload = this.labels; that.entityModel.saveEntityLabels(entityJson.guid, { data: JSON.stringify(payload), diff --git a/dashboardv3/public/js/views/search/save/SaveModalLayoutView.js b/dashboardv3/public/js/views/search/save/SaveModalLayoutView.js index dde233a..6e6e649 100644 --- a/dashboardv3/public/js/views/search/save/SaveModalLayoutView.js +++ b/dashboardv3/public/js/views/search/save/SaveModalLayoutView.js @@ -76,14 +76,6 @@ define(['require', }); this.modal.open(); modal.$el.find('button.ok').attr("disabled", "true"); - this.ui.saveAsName.on('keyup', function(e) { - modal.$el.find('button.ok').removeAttr("disabled"); - }); - this.ui.saveAsName.on('keyup', function(e) { - if ((e.keyCode == 8 || e.keyCode == 32 || e.keyCode == 46) && e.currentTarget.value.trim() == "") { - modal.$el.find('button.ok').attr("disabled", "true"); - } - }); modal.on('ok', function() { modal.$el.find('button.ok').attr("disabled", "true"); that.onCreateButton(); diff --git a/dashboardv3/public/js/views/search/tree/ClassificationTreeLayoutView.js b/dashboardv3/public/js/views/search/tree/ClassificationTreeLayoutView.js index 43ca358..a1f3f3f 100644 --- a/dashboardv3/public/js/views/search/tree/ClassificationTreeLayoutView.js +++ b/dashboardv3/public/js/views/search/tree/ClassificationTreeLayoutView.js @@ -652,14 +652,6 @@ define([ allowCancel: true }).open(); modal.$el.find("button.ok").attr("disabled", "true"); - view.ui.tagName.on("keyup", function(e) { - modal.$el.find("button.ok").removeAttr("disabled"); - }); - view.ui.tagName.on("keyup", function(e) { - if ((e.keyCode == 8 || e.keyCode == 32 || e.keyCode == 46) && e.currentTarget.value.trim() == "") { - modal.$el.find("button.ok").attr("disabled", "true"); - } - }); modal.on("shownModal", function() { view.ui.parentTag.select2({ multiple: true,