Commit d74f0ce9 by pratik24mac Committed by Madhan Neethiraj

ATLAS-2451: UI to list tables in a HBase namespace similar to tables listing for Hive DB

parent 48b2eaa9
...@@ -176,8 +176,8 @@ define(['require', ...@@ -176,8 +176,8 @@ define(['require',
this.renderEntityDetailTableLayoutView(obj); this.renderEntityDetailTableLayoutView(obj);
this.renderAuditTableLayoutView(obj); this.renderAuditTableLayoutView(obj);
this.renderTagTableLayoutView(obj); this.renderTagTableLayoutView(obj);
if (collectionJSON && (!_.isUndefined(collectionJSON.attributes['profileData']) || collectionJSON.typeName === "hive_db")) { if (collectionJSON && (!_.isUndefined(collectionJSON.attributes['profileData']) || collectionJSON.typeName === "hive_db" || collectionJSON.typeName === "hbase_namespace")) {
if (collectionJSON.typeName === "hive_db") { if (collectionJSON.typeName === "hive_db" || collectionJSON.typeName === "hbase_namespace") {
this.$('.profileTab a').text("Tables") this.$('.profileTab a').text("Tables")
} }
this.$('.profileTab').show(); this.$('.profileTab').show();
...@@ -282,7 +282,7 @@ define(['require', ...@@ -282,7 +282,7 @@ define(['require',
that.deleteTagData({ that.deleteTagData({
'tagName': tagName, 'tagName': tagName,
'guid': that.id, 'guid': that.id,
'el' : $(e.currentTarget) 'el': $(e.currentTarget)
}); });
}); });
modal.on('closeModal', function() { modal.on('closeModal', function() {
......
...@@ -58,7 +58,7 @@ define(['require', ...@@ -58,7 +58,7 @@ define(['require',
*/ */
initialize: function(options) { initialize: function(options) {
_.extend(this, _.pick(options, 'profileData', 'guid', 'value', 'typeName', 'entityDetail', 'typeHeaders', 'entityDefCollection', 'enumDefCollection', 'classificationDefCollection')); _.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 }; this.profileData = { attributes: true };
} }
}, },
...@@ -67,7 +67,7 @@ define(['require', ...@@ -67,7 +67,7 @@ define(['require',
if (this.profileData) { if (this.profileData) {
if (this.typeName === "hive_table") { if (this.typeName === "hive_table") {
this.renderProfileTableLayoutView(); this.renderProfileTableLayoutView();
} else if (this.typeName === "hive_db") { } else if (this.typeName === "hive_db" || this.typeName === "hbase_namespace") {
this.renderSearchResultLayoutView(); this.renderSearchResultLayoutView();
} else { } else {
this.renderProfileColumnLayoutView(); this.renderProfileColumnLayoutView();
...@@ -80,13 +80,15 @@ define(['require', ...@@ -80,13 +80,15 @@ define(['require',
var value = _.extend({}, that.value, { var value = _.extend({}, that.value, {
'guid': that.guid, 'guid': that.guid,
'searchType': 'relationship', 'searchType': 'relationship',
'profileDBView': true 'profileDBView' : true,
'typeName': that.typeName
}); });
that.RProfileTableOrColumnLayoutView.show(new SearchResultLayoutView({ that.RProfileTableOrColumnLayoutView.show(new SearchResultLayoutView({
'value': value, 'value': value,
'typeHeaders': that.typeHeaders, 'typeHeaders': that.typeHeaders,
'entityDefCollection': that.entityDefCollection, 'entityDefCollection': that.entityDefCollection,
'enumDefCollection': that.enumDefCollection, 'enumDefCollection': that.enumDefCollection,
'isDisable': true,
'classificationDefCollection': that.classificationDefCollection 'classificationDefCollection': that.classificationDefCollection
})); }));
}); });
......
...@@ -124,7 +124,7 @@ define(['require', ...@@ -124,7 +124,7 @@ define(['require',
* @constructs * @constructs
*/ */
initialize: function(options) { 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.entityModel = new VEntity();
this.searchCollection = new VSearchList(); this.searchCollection = new VSearchList();
this.limit = 25; this.limit = 25;
...@@ -186,7 +186,7 @@ define(['require', ...@@ -186,7 +186,7 @@ define(['require',
this.listenTo(this.searchCollection, "error", function(model, response) { this.listenTo(this.searchCollection, "error", function(model, response) {
this.hideLoader({ type: 'error' }); this.hideLoader({ type: 'error' });
var responseJSON = response && response.responseJSON ? response.responseJSON : null, 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) { if (errorText) {
Utils.notifyError({ Utils.notifyError({
content: errorText content: errorText
...@@ -458,10 +458,10 @@ define(['require', ...@@ -458,10 +458,10 @@ define(['require',
this.searchCollection.url = UrlLinks.searchApiUrl(value.searchType); 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 }); _.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 = {}; var profileParam = {};
profileParam['guid'] = value.guid; 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['sortBy'] = 'name';
profileParam['sortOrder'] = 'ASCENDING'; profileParam['sortOrder'] = 'ASCENDING';
_.extend(this.searchCollection.queryParams, profileParam); _.extend(this.searchCollection.queryParams, profileParam);
...@@ -485,7 +485,7 @@ define(['require', ...@@ -485,7 +485,7 @@ define(['require',
} else { } else {
apiObj.data = null; apiObj.data = null;
if (this.value.profileDBView) { if (this.value.profileDBView) {
_.extend(this.searchCollection.queryParams,checkBoxValue); _.extend(this.searchCollection.queryParams, checkBoxValue);
} }
Globals.searchApiCallRef = this.searchCollection.fetch(apiObj); Globals.searchApiCallRef = this.searchCollection.fetch(apiObj);
} }
...@@ -534,11 +534,13 @@ define(['require', ...@@ -534,11 +534,13 @@ define(['require',
} }
that.$(".ellipsis .inputAssignTag").hide(); that.$(".ellipsis .inputAssignTag").hide();
table.trigger("grid:refresh"); /*Event fire when table rendered*/ table.trigger("grid:refresh"); /*Event fire when table rendered*/
tableDragger(document.querySelector(".colSort")).on('drop', function(from, to, el) { if (that.isDisable !== true) {
that.columnOrder = that.getColumnOrder(el.querySelectorAll('th.renderable')); tableDragger(document.querySelector(".colSort")).on('drop', function(from, to, el) {
table.trigger("grid:refresh:update"); that.columnOrder = that.getColumnOrder(el.querySelectorAll('th.renderable'));
that.triggerUrl(); table.trigger("grid:refresh:update");
}); that.triggerUrl();
});
}
that.checkTableFetch(); that.checkTableFetch();
}); });
}, },
...@@ -731,42 +733,42 @@ define(['require', ...@@ -731,42 +733,42 @@ define(['require',
if (valueObj && valueObj.length) { if (valueObj && valueObj.length) {
var firstObj = _.first(valueObj); var firstObj = _.first(valueObj);
_.each(_.keys(firstObj), function(key) { _.each(_.keys(firstObj), function(key) {
col[key] = { col[key] = {
label: key.capitalize(), label: key.capitalize(),
cell: "Html", cell: "Html",
editable: false, editable: false,
sortable: false, sortable: false,
resizeable: true, resizeable: true,
orderable: true, orderable: true,
formatter: _.extend({}, Backgrid.CellFormatter.prototype, { formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
fromRaw: function(rawValue, model) { fromRaw: function(rawValue, model) {
var modelObj = model.toJSON(); var modelObj = model.toJSON();
if (key == "name") { if (key == "name") {
var nameHtml = "", var nameHtml = "",
name = modelObj[key]; name = modelObj[key];
if (modelObj.guid) { if (modelObj.guid) {
nameHtml = '<a title="' + name + '" href="#!/detailPage/' + modelObj.guid + '">' + name + '</a>'; nameHtml = '<a title="' + name + '" href="#!/detailPage/' + modelObj.guid + '">' + name + '</a>';
} else { } else {
nameHtml = '<span title="' + name + '">' + name + '</span>'; nameHtml = '<span title="' + name + '">' + name + '</span>';
} }
if (modelObj.status && Enums.entityStateReadOnly[modelObj.status]) { 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>'; 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 '<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 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); return this.searchCollection.constructor.getTableCols(col, this.searchCollection);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment