You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by ma...@apache.org on 2018/02/22 04:20:36 UTC
atlas git commit: ATLAS-2451: UI to list tables in a HBase namespace
similar to tables listing for Hive DB
Repository: atlas
Updated Branches:
refs/heads/master 48b2eaa99 -> d74f0ce9d
ATLAS-2451: UI to list tables in a HBase namespace similar to tables listing for Hive DB
Signed-off-by: Madhan Neethiraj <ma...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/d74f0ce9
Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/d74f0ce9
Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/d74f0ce9
Branch: refs/heads/master
Commit: d74f0ce9da0960192c9a7bae9e2e42f82a038a76
Parents: 48b2eaa
Author: pratik24mac <pr...@gmail.com>
Authored: Fri Feb 16 23:37:59 2018 +0530
Committer: Madhan Neethiraj <ma...@apache.org>
Committed: Wed Feb 21 19:44:37 2018 -0800
----------------------------------------------------------------------
.../views/detail_page/DetailPageLayoutView.js | 6 +-
.../js/views/profile/ProfileLayoutView.js | 8 +-
.../js/views/search/SearchResultLayoutView.js | 90 ++++++++++----------
3 files changed, 54 insertions(+), 50 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/atlas/blob/d74f0ce9/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 ab74c3e..802f6a4 100644
--- a/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js
+++ b/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js
@@ -176,8 +176,8 @@ define(['require',
this.renderEntityDetailTableLayoutView(obj);
this.renderAuditTableLayoutView(obj);
this.renderTagTableLayoutView(obj);
- if (collectionJSON && (!_.isUndefined(collectionJSON.attributes['profileData']) || collectionJSON.typeName === "hive_db")) {
- if (collectionJSON.typeName === "hive_db") {
+ if (collectionJSON && (!_.isUndefined(collectionJSON.attributes['profileData']) || collectionJSON.typeName === "hive_db" || collectionJSON.typeName === "hbase_namespace")) {
+ if (collectionJSON.typeName === "hive_db" || collectionJSON.typeName === "hbase_namespace") {
this.$('.profileTab a').text("Tables")
}
this.$('.profileTab').show();
@@ -282,7 +282,7 @@ define(['require',
that.deleteTagData({
'tagName': tagName,
'guid': that.id,
- 'el' : $(e.currentTarget)
+ 'el': $(e.currentTarget)
});
});
modal.on('closeModal', function() {
http://git-wip-us.apache.org/repos/asf/atlas/blob/d74f0ce9/dashboardv2/public/js/views/profile/ProfileLayoutView.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/views/profile/ProfileLayoutView.js b/dashboardv2/public/js/views/profile/ProfileLayoutView.js
index 79cf3a5..d807f41 100644
--- a/dashboardv2/public/js/views/profile/ProfileLayoutView.js
+++ b/dashboardv2/public/js/views/profile/ProfileLayoutView.js
@@ -58,7 +58,7 @@ define(['require',
*/
initialize: function(options) {
_.extend(this, _.pick(options, 'profileData', 'guid', 'value', 'typeName', 'entityDetail', 'typeHeaders', 'entityDefCollection', 'enumDefCollection', 'classificationDefCollection'));
- if (this.typeName === "hive_db") {
+ if (this.typeName === "hive_db" || this.typeName === "hbase_namespace") {
this.profileData = { attributes: true };
}
},
@@ -67,7 +67,7 @@ define(['require',
if (this.profileData) {
if (this.typeName === "hive_table") {
this.renderProfileTableLayoutView();
- } else if (this.typeName === "hive_db") {
+ } else if (this.typeName === "hive_db" || this.typeName === "hbase_namespace") {
this.renderSearchResultLayoutView();
} else {
this.renderProfileColumnLayoutView();
@@ -80,13 +80,15 @@ define(['require',
var value = _.extend({}, that.value, {
'guid': that.guid,
'searchType': 'relationship',
- 'profileDBView': true
+ 'profileDBView' : true,
+ 'typeName': that.typeName
});
that.RProfileTableOrColumnLayoutView.show(new SearchResultLayoutView({
'value': value,
'typeHeaders': that.typeHeaders,
'entityDefCollection': that.entityDefCollection,
'enumDefCollection': that.enumDefCollection,
+ 'isDisable': true,
'classificationDefCollection': that.classificationDefCollection
}));
});
http://git-wip-us.apache.org/repos/asf/atlas/blob/d74f0ce9/dashboardv2/public/js/views/search/SearchResultLayoutView.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/views/search/SearchResultLayoutView.js b/dashboardv2/public/js/views/search/SearchResultLayoutView.js
index 18fb718..86520c9 100644
--- a/dashboardv2/public/js/views/search/SearchResultLayoutView.js
+++ b/dashboardv2/public/js/views/search/SearchResultLayoutView.js
@@ -124,7 +124,7 @@ define(['require',
* @constructs
*/
initialize: function(options) {
- _.extend(this, _.pick(options, 'value', 'initialView', 'isTypeTagNotExists', 'classificationDefCollection', 'entityDefCollection', 'typeHeaders', 'searchVent', 'enumDefCollection', 'tagCollection', 'searchTableColumns'));
+ _.extend(this, _.pick(options, 'value', 'initialView', 'isTypeTagNotExists', 'classificationDefCollection', 'entityDefCollection', 'typeHeaders', 'searchVent', 'enumDefCollection', 'tagCollection', 'searchTableColumns', 'isDisable'));
this.entityModel = new VEntity();
this.searchCollection = new VSearchList();
this.limit = 25;
@@ -186,7 +186,7 @@ define(['require',
this.listenTo(this.searchCollection, "error", function(model, response) {
this.hideLoader({ type: 'error' });
var responseJSON = response && response.responseJSON ? response.responseJSON : null,
- errorText = (responseJSON && (responseJSON.errorMessage || responseJSON.message || responseJSON.error ))|| 'Invalid Expression';
+ errorText = (responseJSON && (responseJSON.errorMessage || responseJSON.message || responseJSON.error)) || 'Invalid Expression';
if (errorText) {
Utils.notifyError({
content: errorText
@@ -458,10 +458,10 @@ define(['require',
this.searchCollection.url = UrlLinks.searchApiUrl(value.searchType);
}
_.extend(this.searchCollection.queryParams, { 'limit': this.limit, 'offset': this.offset, 'query': _.trim(value.query), 'typeName': value.type || null, 'classification': value.tag || null });
- if (value.profileDBView && value.guid) {
+ if (value.profileDBView && value.typeName && value.guid) {
var profileParam = {};
profileParam['guid'] = value.guid;
- profileParam['relation'] = '__hive_table.db';
+ profileParam['relation'] = value.typeName === 'hive_db' ? '__hive_table.db' : '__hbase_table.namespace';
profileParam['sortBy'] = 'name';
profileParam['sortOrder'] = 'ASCENDING';
_.extend(this.searchCollection.queryParams, profileParam);
@@ -485,7 +485,7 @@ define(['require',
} else {
apiObj.data = null;
if (this.value.profileDBView) {
- _.extend(this.searchCollection.queryParams,checkBoxValue);
+ _.extend(this.searchCollection.queryParams, checkBoxValue);
}
Globals.searchApiCallRef = this.searchCollection.fetch(apiObj);
}
@@ -534,11 +534,13 @@ define(['require',
}
that.$(".ellipsis .inputAssignTag").hide();
table.trigger("grid:refresh"); /*Event fire when table rendered*/
- tableDragger(document.querySelector(".colSort")).on('drop', function(from, to, el) {
- that.columnOrder = that.getColumnOrder(el.querySelectorAll('th.renderable'));
- table.trigger("grid:refresh:update");
- that.triggerUrl();
- });
+ if (that.isDisable !== true) {
+ tableDragger(document.querySelector(".colSort")).on('drop', function(from, to, el) {
+ that.columnOrder = that.getColumnOrder(el.querySelectorAll('th.renderable'));
+ table.trigger("grid:refresh:update");
+ that.triggerUrl();
+ });
+ }
that.checkTableFetch();
});
},
@@ -731,42 +733,42 @@ define(['require',
if (valueObj && valueObj.length) {
var firstObj = _.first(valueObj);
_.each(_.keys(firstObj), function(key) {
- col[key] = {
- label: key.capitalize(),
- cell: "Html",
- editable: false,
- sortable: false,
- resizeable: true,
- orderable: true,
- formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
- fromRaw: function(rawValue, model) {
- var modelObj = model.toJSON();
- if (key == "name") {
- var nameHtml = "",
- name = modelObj[key];
- if (modelObj.guid) {
- nameHtml = '<a title="' + name + '" href="#!/detailPage/' + modelObj.guid + '">' + name + '</a>';
- } else {
- nameHtml = '<span title="' + name + '">' + name + '</span>';
- }
- if (modelObj.status && Enums.entityStateReadOnly[modelObj.status]) {
- nameHtml += '<button type="button" title="Deleted" class="btn btn-action btn-md deleteBtn"><i class="fa fa-trash"></i></button>';
- return '<div class="readOnly readOnlyLink">' + nameHtml + '</div>';
- }
- return nameHtml;
- } else if (modelObj && !_.isUndefined(modelObj[key])) {
- var tempObj = {
- 'scope': that,
- // 'attributeDefs':
- 'valueObject': {},
- 'isTable': false
- };
- tempObj.valueObject[key] = modelObj[key];
- return CommonViewFunction.propertyTable(tempObj);
+ col[key] = {
+ label: key.capitalize(),
+ cell: "Html",
+ editable: false,
+ sortable: false,
+ resizeable: true,
+ orderable: true,
+ formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
+ fromRaw: function(rawValue, model) {
+ var modelObj = model.toJSON();
+ if (key == "name") {
+ var nameHtml = "",
+ name = modelObj[key];
+ if (modelObj.guid) {
+ nameHtml = '<a title="' + name + '" href="#!/detailPage/' + modelObj.guid + '">' + name + '</a>';
+ } else {
+ nameHtml = '<span title="' + name + '">' + name + '</span>';
+ }
+ if (modelObj.status && Enums.entityStateReadOnly[modelObj.status]) {
+ nameHtml += '<button type="button" title="Deleted" class="btn btn-action btn-md deleteBtn"><i class="fa fa-trash"></i></button>';
+ return '<div class="readOnly readOnlyLink">' + nameHtml + '</div>';
}
+ return nameHtml;
+ } else if (modelObj && !_.isUndefined(modelObj[key])) {
+ var tempObj = {
+ 'scope': that,
+ // 'attributeDefs':
+ 'valueObject': {},
+ 'isTable': false
+ };
+ tempObj.valueObject[key] = modelObj[key];
+ return CommonViewFunction.propertyTable(tempObj);
}
- })
- };
+ }
+ })
+ };
});
}
return this.searchCollection.constructor.getTableCols(col, this.searchCollection);