ATLAS-919 UI : Deleted references should be shown in red or filtered out (kevalbhatt18 via sumasai)
Project: http://git-wip-us.apache.org/repos/asf/incubator-atlas/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-atlas/commit/449fd87e Tree: http://git-wip-us.apache.org/repos/asf/incubator-atlas/tree/449fd87e Diff: http://git-wip-us.apache.org/repos/asf/incubator-atlas/diff/449fd87e Branch: refs/heads/0.7-incubating Commit: 449fd87e324a117652b462838a5f9d478b5720a6 Parents: 70e4586 Author: Shwetha GS <[email protected]> Authored: Wed Jun 29 12:14:44 2016 +0530 Committer: Shwetha GS <[email protected]> Committed: Wed Jun 29 12:14:44 2016 +0530 ---------------------------------------------------------------------- dashboardv2/public/css/scss/form.scss | 6 +- dashboardv2/public/css/scss/main.scss | 31 +++++--- .../public/js/utils/CommonViewFunction.js | 76 ++++++++++++++++---- .../views/detail_page/DetailPageLayoutView.js | 13 +++- release-log.txt | 1 + 5 files changed, 100 insertions(+), 27 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/449fd87e/dashboardv2/public/css/scss/form.scss ---------------------------------------------------------------------- diff --git a/dashboardv2/public/css/scss/form.scss b/dashboardv2/public/css/scss/form.scss index 470dbf7..82bd960 100644 --- a/dashboardv2/public/css/scss/form.scss +++ b/dashboardv2/public/css/scss/form.scss @@ -193,7 +193,7 @@ button:focus { border-color: $color_mountain_mist_approx; color: $color_mountain_mist_approx; cursor: default; - margin: 10px; + margin: 5px 10px; &:hover { border-color: $color_mountain_mist_approx; color: $color_mountain_mist_approx; @@ -205,3 +205,7 @@ button:focus { background-color: $transparent; } } + +.block { + display: block !important; +} http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/449fd87e/dashboardv2/public/css/scss/main.scss ---------------------------------------------------------------------- diff --git a/dashboardv2/public/css/scss/main.scss b/dashboardv2/public/css/scss/main.scss index 85a68b1..e9fb452 100644 --- a/dashboardv2/public/css/scss/main.scss +++ b/dashboardv2/public/css/scss/main.scss @@ -99,7 +99,8 @@ body { } .gray-bg { - background-color: $color_white_lilac_approx; + background-color: #f6f7fb; + padding-bottom: 4%; } header { @@ -240,6 +241,16 @@ ul { } } +.readOnlyLink { + display: inline-block; + .deleteBtn { + padding: 0px 5px; + } + a { + color: $delete_link; + } +} + .readOnly { .addTag-dropdown { display: none; @@ -251,15 +262,6 @@ ul { } } } - &.readOnlyLink { - display: inline-block; - .deleteBtn { - padding: 0px 5px; - } - a { - color: $delete_link; - } - } a { &.inputTag[data-id="addTag"] { display: none; @@ -282,3 +284,12 @@ ul { } } } + +@media (min-width: 768px) { + .col-sm-offset-1 { + margin: 4% 4% 0; + } + .col-sm-10 { + width: 92%; + } +} http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/449fd87e/dashboardv2/public/js/utils/CommonViewFunction.js ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/utils/CommonViewFunction.js b/dashboardv2/public/js/utils/CommonViewFunction.js index ffffa1c..d699fe8 100644 --- a/dashboardv2/public/js/utils/CommonViewFunction.js +++ b/dashboardv2/public/js/utils/CommonViewFunction.js @@ -16,7 +16,7 @@ * limitations under the License. */ -define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages'], function(require, Utils, Modal, Messages) { +define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Globals'], function(require, Utils, Modal, Messages, Globals) { 'use strict'; var CommonViewFunction = {}; @@ -108,16 +108,23 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages'], function(r fetchInputOutputValue = function(id) { var that = this; scope.model.getEntity(id, { - beforeSend: function() {}, success: function(data) { - var value = ""; + var value = "", + deleteButton = ""; if (data.definition.values.name) { value = data.definition.values.name; + } else if (data.definition.values.qualifiedName) { + value = data.definition.values.qualifiedName; + } else if (data.definition.typeName) { + value = data.definition.typeName; } var id = ""; if (data.definition.id) { if (_.isObject(data.definition.id) && data.definition.id.id) { id = data.definition.id.id; + if (Globals.entityStateReadOnly[data.definition.id.state]) { + deleteButton += '<button title="Deleted" class="btn btn-atlasAction btn-atlas deleteBtn"><i class="fa fa-trash"></i></button>'; + } } else { id = data.definition.id; } @@ -127,7 +134,10 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages'], function(r } else { scope.$('td div[data-id="' + id + '"]').html('<a href="#!/detailPage/' + id + '">' + id + '</a>'); } - + if (deleteButton.length) { + scope.$('td div[data-id="' + id + '"]').addClass('block readOnlyLink'); + scope.$('td div[data-id="' + id + '"]').append(deleteButton); + } }, error: function(error, data, status) {}, complete: function() {} @@ -139,46 +149,78 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages'], function(r var subLink = ""; for (var i = 0; i < keyValue.length; i++) { var inputOutputField = keyValue[i], - id = undefined; + id = undefined, + tempLink = "", + readOnly = false; if (_.isObject(inputOutputField.id)) { id = inputOutputField.id.id; + if (Globals.entityStateReadOnly[inputOutputField.id.state]) { + readOnly = inputOutputField.id.state + } } else { id = inputOutputField.id; } if (id) { if (inputOutputField.values) { if (inputOutputField.values.name) { - subLink += '<div><a href="#!/detailPage/' + id + '">' + inputOutputField.values.name + '</a><div>' + tempLink += '<a href="#!/detailPage/' + id + '">' + inputOutputField.values.name + '</a>' + } else if (inputOutputField.values.qualifiedName) { + tempLink += '<a href="#!/detailPage/' + id + '">' + inputOutputField.values.qualifiedName + '</a>' + } else if (inputOutputField.typeName) { + tempLink += '<a href="#!/detailPage/' + id + '">' + inputOutputField.typeName + '</a>' } else { - subLink += '<a href="#!/detailPage/' + id + '">' + id + '</a>' + tempLink += '<a href="#!/detailPage/' + id + '">' + id + '</a>' } } else { fetchInputOutputValue(id); - subLink += '<div data-id="' + id + '"></div>'; + tempLink += '<div data-id="' + id + '"></div>'; } + } + if (readOnly) { + tempLink += '<button title="Deleted" class="btn btn-atlasAction btn-atlas deleteBtn"><i class="fa fa-trash"></i></button>'; + subLink += '<div class="block readOnlyLink">' + tempLink + '</div>'; } else { - subLink += '<div></div>'; + if (tempLink.search('href') != -1) { + subLink += '<div>' + tempLink + '</div>' + } else { + subLink += tempLink + } } } table += '<tr><td>' + key + '</td><td>' + subLink + '</td></tr>'; } else if (_.isObject(keyValue)) { - var id = undefined; + var id = undefined, + tempLink = "", + readOnly = false; if (_.isObject(keyValue.id)) { id = keyValue.id.id; + if (Globals.entityStateReadOnly[keyValue.id.state]) { + readOnly = keyValue.id.state + } } else { id = keyValue.id; } if (id) { if (keyValue.values) { if (keyValue.values.name) { - table += '<tr><td>' + key + '</td><td><div><a href="#!/detailPage/' + id + '">' + keyValue.values.name + '</a><div></td></tr>'; + tempLink += '<a href="#!/detailPage/' + id + '">' + keyValue.values.name + '</a>'; + } else if (keyValue.values.qualifiedName) { + tempLink += '<a href="#!/detailPage/' + id + '">' + keyValue.values.qualifiedName + '</a>' + } else if (keyValue.typeName) { + tempLink += '<a href="#!/detailPage/' + id + '">' + keyValue.typeName + '</a>' } else { - table += '<tr><td>' + key + '</td><td><div><a href="#!/detailPage/' + id + '">' + id + '</a><div></td></tr>'; + tempLink += '<a href="#!/detailPage/' + id + '">' + id + '</a>'; } } else { fetchInputOutputValue(id); - table += '<tr><td>' + key + '</td><td><div data-id="' + id + '"></div></td></tr>'; + tempLink += '<div data-id="' + id + '"></div>'; + } + if (readOnly) { + tempLink += '<button title="Deleted" class="btn btn-atlasAction btn-atlas deleteBtn"><i class="fa fa-trash"></i></button>'; + table += '<tr><td>' + key + '</td><td><div class="block readOnlyLink">' + tempLink + '</div></td></tr>'; + } else { + table += '<tr><td>' + key + '</td><td>' + tempLink + '</td></tr>'; } } else { var stringArr = []; @@ -194,9 +236,13 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages'], function(r }); var jointValues = stringArr.join(", "); if (jointValues.length) { - table += '<tr><td>' + key + '</td><td><div>' + jointValues + '</div></td></tr>'; + tempLink += '<div>' + jointValues + '</div>'; + } + if (readOnly) { + tempLink += '<button title="Deleted" class="btn btn-atlasAction btn-atlas deleteBtn"><i class="fa fa-trash"></i></button>'; + table += '<tr><td>' + key + '</td><td><div class="block readOnlyLink">' + tempLink + '</div></td></tr>'; } else { - table += '<tr><td>' + key + '</td><td></td></tr>'; + table += '<tr><td>' + key + '</td><td>' + tempLink + '</td></tr>'; } } } else { http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/449fd87e/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js b/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js index cb96c79..7f31141 100644 --- a/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js +++ b/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js @@ -130,7 +130,18 @@ define(['require', } if (collectionJSON && collectionJSON.length) { if (collectionJSON[0].values) { - this.name = collectionJSON[0].values.name; + if (collectionJSON[0].values.name) { + this.name = collectionJSON[0].values.name; + } + if (!this.name && collectionJSON[0].values.qualifiedName) { + this.name = collectionJSON[0].values.qualifiedName; + } + if (!this.name && collectionJSON[0].typeName) { + this.name = collectionJSON[0].typeName; + } + if (!this.name && this.id) { + this.name = this.id; + } this.description = collectionJSON[0].values.description; if (this.name) { this.ui.title.show(); http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/449fd87e/release-log.txt ---------------------------------------------------------------------- diff --git a/release-log.txt b/release-log.txt index 921cafd..47a6e46 100644 --- a/release-log.txt +++ b/release-log.txt @@ -31,6 +31,7 @@ ATLAS-409 Atlas will not import avro tables with schema read from a file (dosset ATLAS-379 Create sqoop and falcon metadata addons (venkatnrangan,bvellanki,sowmyaramesh via shwethags) ALL CHANGES: +ATLAS-919 UI : Deleted references should be shown in red or filtered out (kevalbhatt18 via sumasai) ATLAS-927 aboutAtlas_tmpl.html has hard-coded project version (Kalyanikashikar via yhemanth) ATLAS-624 UI: Clicking a tag hyperlink should always result in DSL search. In some cases, results in full-text search. (Kalyanikashikar via yhemanth) ATLAS-950 Atlas should support Solr that requires Kerberos authentication (madhan.neethiraj via yhemanth)
