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 2016/12/23 01:46:58 UTC
[29/50] [abbrv] incubator-atlas git commit: ATLAS-1147 UI: column
name doesn't show up in schema tab for hive table (Kalyanikashikar via
kevalbhatt)
ATLAS-1147 UI: column name doesn't show up in schema tab for hive table (Kalyanikashikar via kevalbhatt)
(cherry picked from commit f54325f1c99fec1a9d06a1fab7893b7656a8398f)
Project: http://git-wip-us.apache.org/repos/asf/incubator-atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-atlas/commit/edfa009c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-atlas/tree/edfa009c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-atlas/diff/edfa009c
Branch: refs/heads/0.7-incubating
Commit: edfa009c12bfb314ed44f110dd82597418e130a0
Parents: 049e56b
Author: Keval Bhatt <kb...@apache.org>
Authored: Thu Sep 1 12:41:22 2016 +0530
Committer: Madhan Neethiraj <ma...@apache.org>
Committed: Thu Dec 22 15:27:22 2016 -0800
----------------------------------------------------------------------
.../public/js/views/schema/SchemaLayoutView.js | 192 ++++++++++++-------
release-log.txt | 1 +
2 files changed, 126 insertions(+), 67 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/edfa009c/dashboardv2/public/js/views/schema/SchemaLayoutView.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/views/schema/SchemaLayoutView.js b/dashboardv2/public/js/views/schema/SchemaLayoutView.js
index 9bd8c82..dc19619 100644
--- a/dashboardv2/public/js/views/schema/SchemaLayoutView.js
+++ b/dashboardv2/public/js/views/schema/SchemaLayoutView.js
@@ -98,6 +98,7 @@ define(['require',
includePagination: true,
includePageSize: false,
includeFooterRecords: true,
+ includeOrderAbleColumns: true,
gridOpts: {
className: "table table-hover backgrid table-quickMenu",
emptyText: 'No records found!'
@@ -177,12 +178,29 @@ define(['require',
sortKey: "position",
comparator: function(item) {
return item.get(this.sortKey) || 999;
+ },
+ setPositions: function() {
+ _.each(this.models, function(model, index) {
+ if (model.get('name') == "name") {
+ model.set("position", 2, { silent: true });
+ model.set("label", "Name");
+ } else if (model.get('name') == "description") {
+ model.set("position", 3, { silent: true });
+ model.set("label", "Description");
+ } else if (model.get('name') == "owner") {
+ model.set("position", 4, { silent: true });
+ model.set("label", "Owner");
+ }
+ });
+ return this;
}
});
var columns = new columnCollection(that.getSchemaTableColumns());
+ columns.setPositions().sort();
that.RTagLayoutView.show(new TableLayout(_.extend({}, that.commonTableOptions, {
globalVent: that.globalVent,
- columns: columns
+ columns: columns,
+ includeOrderAbleColumns: true
})));
that.$('.multiSelectTerm').hide();
that.$('.multiSelectTag').hide();
@@ -199,86 +217,126 @@ define(['require',
});
},
getSchemaTableColumns: function() {
- var that = this;
- var col = {};
- if (this.schemaCollection.keyList) {
- _.each(this.schemaCollection.keyList, function(obj, key) {
- col[obj.name] = {
- cell: "Html",
- editable: false,
- sortable: false,
- orderable: true,
- formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
- fromRaw: function(rawValue, model) {
- if (model) {
- if (!_.isArray(rawValue) && _.isObject(rawValue)) {
- if (rawValue.id) {
- return '<div><a href="#!/detailPage/' + rawValue.id + '">' + rawValue.$typeName$ + '</a></div>';
- } else {
- return rawValue.$typeName$;
- }
- } else if (_.isArray(rawValue)) {
- var links = "";
- _.each(rawValue, function(val, key) {
- if (val.id) {
- links += '<div><a href="#!/detailPage/' + val.id + '">' + val.$typeName$ + '</a></div>';
+ var that = this,
+ col = {},
+ nameCheck = false,
+ modelJSON = this.schemaCollection.toJSON()[0];
+ for (var i = 0; i < this.schemaCollection.models.length; i++) {
+ var model = this.schemaCollection.models[i];
+ if (model && (model.get('name') || model.get('qualifiedName'))) {
+ nameCheck = true;
+ }
+ }
+ if (nameCheck === true) {
+ col['name'] = {
+ label: "Name",
+ cell: "html",
+ editable: false,
+ sortable: false,
+ className: "searchTableName",
+ formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
+ fromRaw: function(rawValue, model) {
+ var nameHtml = "";
+ if (rawValue === undefined) {
+ if (model.get('qualifiedName')) {
+ rawValue = model.get('qualifiedName');
+ } else if (model.get('$id$') && model.get('$id$').qualifiedName) {
+ rawValue = model.get('$id$').qualifiedName;
+ } else {
+ return "";
+ }
+ }
+ if (model.get('$id$') && model.get('$id$').id) {
+ nameHtml = '<a href="#!/detailPage/' + model.get('$id$').id + '">' + rawValue + '</a>';
+ } else {
+ nameHtml = '<a>' + rawValue + '</a>';
+ }
+ if (model.get('$id$') && model.get('$id$').state && Globals.entityStateReadOnly[model.get('$id$').state]) {
+ nameHtml += '<button title="Deleted" class="btn btn-atlasAction btn-atlas deleteBtn"><i class="fa fa-trash"></i></button>';
+ return '<div class="readOnly readOnlyLink">' + nameHtml + '</div>';
+ } else {
+ return nameHtml;
+ }
+ }
+ })
+ };
+ };
+ _.keys(modelJSON).map(function(key) {
+ if (key.indexOf("$") == -1) {
+ if (!(key === "qualifiedName" || key === "name")) {
+ col[key] = {
+ cell: "Html",
+ editable: false,
+ sortable: false,
+ orderable: true,
+ formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
+ fromRaw: function(rawValue, model) {
+ if (model) {
+ if (!_.isArray(rawValue) && _.isObject(rawValue)) {
+ if (rawValue.id) {
+ return '<div><a href="#!/detailPage/' + rawValue.id + '">' + rawValue.$typeName$ + '</a></div>';
} else {
- links += '<div>' + val.$typeName$ + '</div>';
+ return rawValue.$typeName$;
}
- });
- return links;
-
- } else if (model.get('$id$') && model.get('$id$').id && model.get('name') == rawValue) {
- return '<div><a href="#!/detailPage/' + model.get('$id$').id + '">' + rawValue + '</a></div>';
+ } else if (_.isArray(rawValue)) {
+ var links = "";
+ _.each(rawValue, function(val, key) {
+ if (val.id) {
+ links += '<div><a href="#!/detailPage/' + val.id + '">' + val.$typeName$ + '</a></div>';
+ } else {
+ links += '<div>' + val.$typeName$ + '</div>';
+ }
+ });
+ return links;
+ } else {
+ return rawValue;
+ }
} else {
return rawValue;
}
- } else {
- return rawValue;
}
-
- }
- })
- };
- });
- col['Check'] = {
- name: "selected",
- label: "",
- cell: "select-row",
- headerCell: "select-all",
- position: 1
- };
- col['tag'] = {
- label: "Tags",
+ })
+ };
+ }
+ }
+ });
+ col['Check'] = {
+ name: "selected",
+ label: "",
+ cell: "select-row",
+ headerCell: "select-all",
+ position: 1
+ };
+ col['tag'] = {
+ label: "Tags",
+ cell: "Html",
+ editable: false,
+ sortable: false,
+ className: 'searchTag',
+ formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
+ fromRaw: function(rawValue, model) {
+ return CommonViewFunction.tagForTable(model);
+ }
+ })
+ };
+ if (Globals.taxonomy) {
+ col['terms'] = {
+ label: "Terms",
cell: "Html",
editable: false,
sortable: false,
- className: 'searchTag',
+ orderable: true,
+ className: 'searchTerm',
formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
fromRaw: function(rawValue, model) {
- return CommonViewFunction.tagForTable(model);
+ var returnObject = CommonViewFunction.termTableBreadcrumbMaker(model, "schema");
+ if (returnObject.object) {
+ that.bradCrumbList.push(returnObject.object);
+ }
+ return returnObject.html;
}
})
};
- if (Globals.taxonomy) {
- col['terms'] = {
- label: "Terms",
- cell: "Html",
- editable: false,
- sortable: false,
- orderable: true,
- className: 'searchTerm',
- formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
- fromRaw: function(rawValue, model) {
- var returnObject = CommonViewFunction.termTableBreadcrumbMaker(model, "schema");
- if (returnObject.object) {
- that.bradCrumbList.push(returnObject.object);
- }
- return returnObject.html;
- }
- })
- };
- }
}
return this.schemaCollection.constructor.getTableCols(col, this.schemaCollection);
},
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/edfa009c/release-log.txt
----------------------------------------------------------------------
diff --git a/release-log.txt b/release-log.txt
index c5a27c5..bb43cc5 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-1147 UI: column name doesn't show up in schema tab for hive table (Kalyanikashikar via kevalbhatt)
ATLAS-772 Ordering of columns is not maintained in schema query response, where as hive table entity response maintains the ordering (sarath.kum4r@gmail.com via kevalbhatt)
ATLAS-1140 All the tag's attributes are not seen while applying a tag to entity (kevalbhatt)
ATLAS-1141 UI-Issue - Tag with spaces, when searched, then it is wrongly set in search textbox. (Kalyanikashikar via kevalbhatt)