Repository: incubator-atlas Updated Branches: refs/heads/master b28ab21ee -> e895819fe
ATLAS-971 UI not displaying results for this query - Eg: "hive_table as t where qualifiedName = 'default.input@cl1' select t" (kevalbhatt18 via shwethags) Project: http://git-wip-us.apache.org/repos/asf/incubator-atlas/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-atlas/commit/1b1f9d2a Tree: http://git-wip-us.apache.org/repos/asf/incubator-atlas/tree/1b1f9d2a Diff: http://git-wip-us.apache.org/repos/asf/incubator-atlas/diff/1b1f9d2a Branch: refs/heads/master Commit: 1b1f9d2aa945cdbc3a58da67090a67add1d2dae4 Parents: b28ab21 Author: Shwetha GS <[email protected]> Authored: Fri Jul 15 19:44:39 2016 +0530 Committer: Shwetha GS <[email protected]> Committed: Fri Jul 15 19:44:39 2016 +0530 ---------------------------------------------------------------------- dashboardv2/public/css/scss/main.scss | 10 +- dashboardv2/public/css/scss/tag.scss | 6 + .../public/js/utils/CommonViewFunction.js | 137 +++++++-- dashboardv2/public/js/utils/Utils.js | 26 +- .../views/entity/EntityDetailTableLayoutView.js | 2 +- .../js/views/search/SearchResultLayoutView.js | 303 ++++++++++--------- release-log.txt | 1 + 7 files changed, 300 insertions(+), 185 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/1b1f9d2a/dashboardv2/public/css/scss/main.scss ---------------------------------------------------------------------- diff --git a/dashboardv2/public/css/scss/main.scss b/dashboardv2/public/css/scss/main.scss index 1b566d4..82dbfc2 100644 --- a/dashboardv2/public/css/scss/main.scss +++ b/dashboardv2/public/css/scss/main.scss @@ -276,16 +276,24 @@ ul { } span { &.inputTag[data-id="tagClick"] { + span { + display: block; + padding: 3px 5px 3px 5px; + } i.fa-close[data-id="deleteTag"] { display: none; } } } a { - &.inputTag[data-id="addTag"] { + &.inputTagAdd[data-id="addTag"] { display: none; } &.inputTag[data-id="tagClick"] { + span { + display: block; + padding: 3px 5px 3px 5px; + } i.fa-times[data-id="delete"] { display: none; } http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/1b1f9d2a/dashboardv2/public/css/scss/tag.scss ---------------------------------------------------------------------- diff --git a/dashboardv2/public/css/scss/tag.scss b/dashboardv2/public/css/scss/tag.scss index 0271daa..d291cd3 100644 --- a/dashboardv2/public/css/scss/tag.scss +++ b/dashboardv2/public/css/scss/tag.scss @@ -173,10 +173,16 @@ border: 1px $color_jungle_green_approx solid; background-color: $white; color: $color_jungle_green_approx; + padding-left: 5px; &:hover { color: $white; background-color: $color_jungle_green_approx; } + i.fa { + &:hover { + background-color: $color_jungle_green_approx; + } + } } .addTagBase { http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/1b1f9d2a/dashboardv2/public/js/utils/CommonViewFunction.js ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/utils/CommonViewFunction.js b/dashboardv2/public/js/utils/CommonViewFunction.js index 495d6b8..997060f 100644 --- a/dashboardv2/public/js/utils/CommonViewFunction.js +++ b/dashboardv2/public/js/utils/CommonViewFunction.js @@ -79,11 +79,14 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Glob } }); }; - CommonViewFunction.propertyTable = function(valueObject, scope) { + CommonViewFunction.propertyTable = function(valueObject, scope, searchTable) { var table = "", fetchInputOutputValue = function(id) { var that = this; - scope.model.getEntity(id, { + if (searchTable) { + ++scope.fetchList + } + scope.entityModel.getEntity(id, { success: function(data) { var value = "", deleteButton = ""; @@ -116,7 +119,12 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Glob } }, error: function(error, data, status) {}, - complete: function() {} + complete: function() { + if (searchTable) { + --scope.fetchList; + scope.checkTableFetch(); + } + } }); } _.keys(valueObject).map(function(key) { @@ -129,6 +137,9 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Glob id = undefined, tempLink = "", readOnly = false; + if (inputOutputField['$id$']) { + inputOutputField.id = inputOutputField['$id$']; + } if (inputOutputField) { if (_.isObject(inputOutputField.id)) { id = inputOutputField.id.id; @@ -138,14 +149,18 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Glob } else if (inputOutputField.id) { id = inputOutputField.id; } else if (_.isString(inputOutputField) || _.isBoolean(inputOutputField) || _.isNumber(inputOutputField)) { - valueOfArray.push('<span>' + inputOutputField + '</span>'); + if (inputOutputField.indexOf("$") == -1) { + valueOfArray.push('<span>' + inputOutputField + '</span>'); + } } else if (_.isObject(inputOutputField)) { _.each(inputOutputField, function(objValue, objKey) { var value = objValue; - if (_.isObject(value)) { - value = JSON.stringify(value); + if (objKey.indexOf("$") == -1) { + if (_.isObject(value)) { + value = JSON.stringify(value); + } + valueOfArray.push('<span>' + objKey + ':' + value + '</span>'); } - valueOfArray.push('<span>' + objKey + ':' + value + '</span>'); }); } } @@ -161,14 +176,25 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Glob } else { tempLink += '<a href="#!/detailPage/' + id + '">' + id + '</a>' } + } else if (inputOutputField.name) { + tempLink += '<a href="#!/detailPage/' + id + '">' + inputOutputField.name + '</a>'; + } else if (inputOutputField.qualifiedName) { + tempLink += '<a href="#!/detailPage/' + id + '">' + inputOutputField.qualifiedName + '</a>' } else { + var fetch = true; fetchInputOutputValue(id); 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>'; + if (!fetch) { + 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 { + fetch = false; + subLink += tempLink; + } + } else { if (tempLink.search('href') != -1) { subLink += '<div>' + tempLink + '</div>' @@ -180,11 +206,18 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Glob if (valueOfArray.length) { subLink = valueOfArray.join(', '); } - table += '<tr><td>' + key + '</td><td>' + subLink + '</td></tr>'; + if (searchTable) { + table = subLink; + } else { + table += '<tr><td>' + key + '</td><td>' + subLink + '</td></tr>'; + } } else if (_.isObject(keyValue)) { var id = undefined, tempLink = "", readOnly = false; + if (keyValue['$id$']) { + keyValue.id = keyValue['$id$']; + } if (_.isObject(keyValue.id)) { id = keyValue.id.id; if (Globals.entityStateReadOnly[keyValue.id.state]) { @@ -204,15 +237,39 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Glob } else { tempLink += '<a href="#!/detailPage/' + id + '">' + id + '</a>'; } + } else if (keyValue.name) { + tempLink += '<a href="#!/detailPage/' + id + '">' + keyValue.name + '</a>'; + } else if (keyValue.qualifiedName) { + tempLink += '<a href="#!/detailPage/' + id + '">' + keyValue.qualifiedName + '</a>' } else { + var fetch = true; fetchInputOutputValue(id); 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>'; + if (!fetch) { + tempLink += '<button title="Deleted" class="btn btn-atlasAction btn-atlas deleteBtn"><i class="fa fa-trash"></i></button>'; + } + + if (searchTable) { + if (!fetch) { + table = '<div class="block readOnlyLink">' + tempLink + '</div>'; + } else { + table = tempLink; + } + } else { + if (!fetch) { + 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 { - table += '<tr><td>' + key + '</td><td>' + tempLink + '</td></tr>'; + if (searchTable) { + table = tempLink; + } else { + table += '<tr><td>' + key + '</td><td>' + tempLink + '</td></tr>'; + } } } else { var stringArr = []; @@ -232,18 +289,38 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Glob } 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>'; + if (searchTable) { + table = '<div class="block readOnlyLink">' + tempLink + '</div>'; + } else { + table += '<tr><td>' + key + '</td><td><div class="block readOnlyLink">' + tempLink + '</div></td></tr>'; + } + } else { - table += '<tr><td>' + key + '</td><td>' + tempLink + '</td></tr>'; + if (searchTable) { + table = tempLink; + } else { + table += '<tr><td>' + key + '</td><td>' + tempLink + '</td></tr>'; + } } } } else { - if (key == "createTime" || key == "lastAccessTime" || key == "retention") { - table += '<tr><td>' + key + '</td><td>' + new Date(valueObject[key]) + '</td></tr>'; + if (key.indexOf("Time") !== -1 || key == "retention") { + if (searchTable) { + table = new Date(valueObject[key]); + } else { + table += '<tr><td>' + key + '</td><td>' + new Date(valueObject[key]) + '</td></tr>'; + } } else { - table += '<tr><td>' + key + '</td><td>' + valueObject[key] + '</td></tr>'; + if (searchTable) { + if (_.isBoolean(valueObject[key])) { + table = valueObject[key].toString(); + } else { + table = valueObject[key]; + } + } else { + table += '<tr><td>' + key + '</td><td>' + valueObject[key] + '</td></tr>'; + } } - } }); return table; @@ -328,11 +405,15 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Glob id = model.get('$id$').id, terms = []; _.keys(traits).map(function(key) { - var tagName = Utils.checkTagOrTerm(traits[key].$typeName$); + if (traits[key].$typeName$) { + var tagName = Utils.checkTagOrTerm(traits[key].$typeName$); + } else { + var tagName = Utils.checkTagOrTerm(traits[key].typeName); + } if (tagName.term) { terms.push({ - deleteHtml: '<a class="pull-left" title="Remove Term"><i class="fa fa-trash" data-id="tagClick" data-assetname="' + model.get("name") + '" data-name="' + traits[key].$typeName$ + '" data-guid="' + model.get('$id$').id + '" ></i></a>', - url: traits[key].$typeName$.split(".").join("/"), + deleteHtml: '<a class="pull-left" title="Remove Term"><i class="fa fa-trash" data-id="tagClick" data-assetname="' + model.get("name") + '" data-name="' + tagName.fullName+ '" data-guid="' + model.get('$id$').id + '" ></i></a>', + url: tagName.fullName.split(".").join("/"), name: tagName.fullName }); } @@ -366,13 +447,17 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Glob popTag = "", count = 0; _.keys(model.get('$traits$')).map(function(key) { - var tagName = Utils.checkTagOrTerm(traits[key].$typeName$), - className = "inputTag"; + if (traits[key].$typeName$) { + var tagName = Utils.checkTagOrTerm(traits[key].$typeName$); + } else { + var tagName = Utils.checkTagOrTerm(traits[key].typeName); + } + var className = "inputTag"; if (!tagName.term) { if (count >= 1) { - popTag += '<a class="' + className + '" data-id="tagClick"><span class="inputValue">' + traits[key].$typeName$ + '</span><i class="fa fa-times" data-id="delete" data-assetname="' + model.get("name") + '"data-name="' + tagName.name + '" data-guid="' + model.get('$id$').id + '" ></i></a>'; + popTag += '<a class="' + className + '" data-id="tagClick"><span class="inputValue">' + tagName.name + '</span><i class="fa fa-times" data-id="delete" data-assetname="' + model.get("name") + '"data-name="' + tagName.name + '" data-guid="' + model.get('$id$').id + '" ></i></a>'; } else { - atags += '<a class="' + className + '" data-id="tagClick"><span class="inputValue">' + traits[key].$typeName$ + '</span><i class="fa fa-times" data-id="delete" data-assetname="' + model.get("name") + '" data-name="' + tagName.name + '" data-guid="' + model.get('$id$').id + '" ></i></a>'; + atags += '<a class="' + className + '" data-id="tagClick"><span class="inputValue">' + tagName.name + '</span><i class="fa fa-times" data-id="delete" data-assetname="' + model.get("name") + '" data-name="' + tagName.name + '" data-guid="' + model.get('$id$').id + '" ></i></a>'; } ++count; } http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/1b1f9d2a/dashboardv2/public/js/utils/Utils.js ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/utils/Utils.js b/dashboardv2/public/js/utils/Utils.js index 01e5c30..7ddae5b 100644 --- a/dashboardv2/public/js/utils/Utils.js +++ b/dashboardv2/public/js/utils/Utils.js @@ -234,18 +234,20 @@ define(['require', 'utils/Globals'], function(require, Globals) { } } Utils.checkTagOrTerm = function(value) { - var name = value.split('.'); - if (name.length > 1) { - return { - term: true, - name: name[name.length - 1], - fullName: value - } - } else { - return { - term: false, - name: name[name.length - 1], - fullName: value + if (value && _.isString(value)) { + var name = value.split('.'); + if (name.length > 1) { + return { + term: true, + name: name[name.length - 1], + fullName: value + } + } else { + return { + term: false, + name: name[name.length - 1], + fullName: value + } } } } http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/1b1f9d2a/dashboardv2/public/js/views/entity/EntityDetailTableLayoutView.js ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/views/entity/EntityDetailTableLayoutView.js b/dashboardv2/public/js/views/entity/EntityDetailTableLayoutView.js index e65343e..cc67d01 100644 --- a/dashboardv2/public/js/views/entity/EntityDetailTableLayoutView.js +++ b/dashboardv2/public/js/views/entity/EntityDetailTableLayoutView.js @@ -49,7 +49,7 @@ define(['require', initialize: function(options) { _.extend(this, _.pick(options, 'globalVent', 'collection')); this.collectionObject = this.collection.toJSON(); - this.model = new this.collection.model(); + this.entityModel = new this.collection.model(); }, bindEvents: function() {}, onRender: function() { http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/1b1f9d2a/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 7bc37c0..eb63420 100644 --- a/dashboardv2/public/js/views/search/SearchResultLayoutView.js +++ b/dashboardv2/public/js/views/search/SearchResultLayoutView.js @@ -24,9 +24,10 @@ define(['require', 'utils/Utils', 'utils/Globals', 'collection/VSearchList', + 'models/VCommon', 'utils/CommonViewFunction', 'utils/Messages' -], function(require, Backbone, SearchResultLayoutViewTmpl, Modal, VEntity, Utils, Globals, VSearchList, CommonViewFunction, Messages) { +], function(require, Backbone, SearchResultLayoutViewTmpl, Modal, VEntity, Utils, Globals, VSearchList, VCommon, CommonViewFunction, Messages) { 'use strict'; var SearchResultLayoutView = Backbone.Marionette.LayoutView.extend( @@ -75,7 +76,6 @@ define(['require', trigger: true }); } - } }; events["click " + this.ui.addTag] = 'addTagModalView'; @@ -207,7 +207,7 @@ define(['require', } that.renderTableLayoutView(); var resultData = that.searchCollection.fullCollection.length + ' results for <b>' + that.searchCollection.queryParams.query + '</b>' - var multiAssignData = '<a href="javascript:void(0)" class="inputAssignTag multiSelect" style="display:none" data-id="addTerm"><i class="fa fa-folder-o">' + " " + 'Assign Term</i></a>' + var multiAssignData = '<a href="javascript:void(0)" class="inputAssignTag multiSelect" style="display:none" data-id="addTerm"><i class="fa fa-folder-o"></i>' + " " + 'Assign Term</a>' that.$('.searchResult').html(resultData + multiAssignData); }, silent: true @@ -273,111 +273,166 @@ define(['require', if (this.searchCollection.responseData) { if (responseData.dataType) { if (responseData.dataType.attributeDefinitions.length == 2 && responseData.dataType.attributeDefinitions[1].name == "instanceInfo") { - return this.getFixedColumn(); + return this.getFixedFullTextColumn(); } else { - if (Globals.taxonomy) { - col['Check'] = { - name: "selected", - label: "", - cell: "select-row", - headerCell: "select-all", - position: 1 - }; - } - var modelJSON = this.searchCollection.toJSON()[0]; - _.keys(modelJSON).map(function(key) { - if (key.indexOf("$") == -1 && typeof modelJSON[key] != "object") { - if (typeof modelJSON[key] == "string" || typeof modelJSON[key] == "number") { - if (typeof modelJSON[key] == "number" && key != "createTime") { - return; + if (responseData.dataType.typeName.indexOf('_temp') == -1) { + return this.getFixedDslColumn(); + } else { + var idFound = false; + _.each(this.searchCollection.models, function(model) { + var modelJSON = model.toJSON(); + var guid = ""; + _.each(modelJSON, function(val, key) { + if (_.isObject(val) && val.id) { + model.set('id', val.id); + guid = val.id; + } else if (key === "id") { + model.set('id', val); + guid = val; } - if (key == "name" || key == "owner" || key == "description") { - col[key] = { - cell: (key == "name") ? ("Html") : ("String"), - editable: false, - sortable: false, - orderable: true, - formatter: _.extend({}, Backgrid.CellFormatter.prototype, { - fromRaw: function(rawValue, model) { - if (rawValue == null) { - return null; - } - if (model.get('createTime') == rawValue) { - return new Date(rawValue); - } - if (model.get('name') == rawValue) { - var nameHtml = ""; - if (model.get('$id$')) { - nameHtml = '<a href="#!/detailPage/' + model.get('$id$').id + '">' + rawValue + '</a>'; - } else { - nameHtml = '<a>' + rawValue + '</a>'; - } - if (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; - } - } else { - return rawValue; - } + }); + if (guid.length) { + idFound = true; + model.getEntity(guid, { + async: false, + success: function(data) { + if (data.definition) { + if (data.definition.id && data.definition.values) { + that.searchCollection.get(data.definition.id).set(data.definition.values); + that.searchCollection.get(data.definition.id).set('$id$', data.definition.id); + that.searchCollection.get(data.definition.id).set('$traits$', data.definition.traits); } - }) - }; - } + } + }, + error: function(error, data, status) {}, + complete: function() {} + }); } + }); + if (idFound) { + return this.getFixedDslColumn(); + } else { + return this.getDaynamicColumn(); } - }); - col['tag'] = { - label: "Tags", - cell: "Html", - editable: false, - sortable: false, - orderable: true, - className: 'searchTag', - formatter: _.extend({}, Backgrid.CellFormatter.prototype, { - fromRaw: function(rawValue, model) { - if (Globals.entityStateReadOnly[model.get('$id$').state]) { - return '<div class="readOnly">' + CommonViewFunction.tagForTable(model); + '</div>'; - } else { - return CommonViewFunction.tagForTable(model); - } - - } - }) - }; - 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); - if (returnObject.object) { - that.bradCrumbList.push(returnObject.object); - } - if (Globals.entityStateReadOnly[model.get('$id$').state]) { - return '<div class="readOnly">' + returnObject.html + '</div>'; - } else { - return returnObject.html; - } - } - }) - }; } - that.checkTableFetch(); - return this.searchCollection.constructor.getTableCols(col, this.searchCollection); } } else { - return this.getFixedColumn(); + return this.getFixedFullTextColumn(); } } }, - getFixedColumn: function() { + getDaynamicColumn: function() { + var that = this, + modelJSON = "", + col = {}; + modelJSON = this.searchCollection.toJSON()[0]; + _.keys(modelJSON).map(function(key) { + if (key.indexOf("$") == -1) { + col[key] = { + cell: 'Html', + editable: false, + sortable: false, + orderable: true, + formatter: _.extend({}, Backgrid.CellFormatter.prototype, { + fromRaw: function(rawValue, model) { + return CommonViewFunction.propertyTable({ 'notUsedKey': rawValue }, that, true); + } + }) + }; + } + }); + that.checkTableFetch(); + return this.searchCollection.constructor.getTableCols(col, this.searchCollection); + }, + getFixedDslColumn: function() { + var that = this, + col = {}; + col['name'] = { + label: "Name", + cell: "html", + editable: false, + sortable: false, + formatter: _.extend({}, Backgrid.CellFormatter.prototype, { + fromRaw: function(rawValue, model) { + var nameHtml = ""; + if (model.get('$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; + } + } + }) + } + col['description'] = { + label: "Description", + cell: "String", + editable: false, + sortable: false + } + col['owner'] = { + label: "Owner", + cell: "String", + editable: false, + sortable: false + } + col['tag'] = { + label: "Tags", + cell: "Html", + editable: false, + sortable: false, + orderable: true, + className: 'searchTag', + formatter: _.extend({}, Backgrid.CellFormatter.prototype, { + fromRaw: function(rawValue, model) { + if (model.get('$id$') && model.get('$id$').state && Globals.entityStateReadOnly[model.get('$id$').state]) { + return '<div class="readOnly">' + CommonViewFunction.tagForTable(model); + '</div>'; + } else { + return CommonViewFunction.tagForTable(model); + } + + } + }) + }; + if (Globals.taxonomy) { + col['Check'] = { + name: "selected", + label: "", + cell: "select-row", + headerCell: "select-all", + position: 1 + }; + 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); + if (returnObject.object) { + that.bradCrumbList.push(returnObject.object); + } + if (model.get('$id$') && model.get('$id$').state && Globals.entityStateReadOnly[model.get('$id$').state]) { + return '<div class="readOnly">' + returnObject.html + '</div>'; + } else { + return returnObject.html; + } + } + }) + }; + } + that.checkTableFetch(); + return this.searchCollection.constructor.getTableCols(col, this.searchCollection); + }, + getFixedFullTextColumn: function() { var that = this; return this.searchCollection.constructor.getTableCols({ instanceInfo: { @@ -406,56 +461,14 @@ define(['require', var modelObject = model.toJSON(); if (modelObject.$typeName$ && modelObject.instanceInfo) { var guid = model.toJSON().instanceInfo.guid; - ++that.fetchList; - model.getEntity(guid, { - success: function(data) { - if (data.definition) { - if (data.definition.id && data.definition.id.state) { - if (Globals.entityStateReadOnly[data.definition.id.state]) { - that.$('td a[data-id="' + guid + '"]').parent().addClass('readOnly readOnlyLink'); - that.$('td a[data-id="' + guid + '"]').parent().append('<button title="Deleted" class="btn btn-atlasAction btn-atlas deleteBtn"><i class="fa fa-trash"></i></button>'); - } - } - if (data.definition.values && data.definition.values.name) { - return that.$('td a[data-id="' + guid + '"]').html(data.definition.values.name); - } else { - return that.$('td a[data-id="' + guid + '"]').html(data.definition.id.id); - } - } - }, - error: function(error, data, status) {}, - complete: function() { - --that.fetchList; - that.checkTableFetch(); - } - }); - return '<div><a href="#!/detailPage/' + guid + '" data-id="' + guid + '"></a></div>'; + var json = model.toJSON(); + json['id'] = guid; + return CommonViewFunction.propertyTable({ 'notUsedKey': json }, that, true); } else if (!modelObject.$typeName$) { var guid = model.toJSON().guid; - ++that.fetchList; - model.getEntity(guid, { - success: function(data) { - if (data.definition) { - if (data.definition.id && data.definition.id.state) { - if (Globals.entityStateReadOnly[data.definition.id.state]) { - that.$('td a[data-id="' + guid + '"]').parent().addClass('readOnly readOnlyLink'); - that.$('td a[data-id="' + guid + '"]').parent().append('<button title="Deleted" class="btn btn-atlasAction btn-atlas deleteBtn"><i class="fa fa-trash"></i></button>'); - } - } - if (data.definition.values && data.definition.values.name) { - return that.$('td a[data-id="' + guid + '"]').html(data.definition.values.name); - } else { - return that.$('td a[data-id="' + guid + '"]').html(data.definition.id.id); - } - } - }, - error: function(error, data, status) {}, - complete: function() { - --that.fetchList; - that.checkTableFetch(); - } - }); - return '<div><a href="#!/detailPage/' + guid + '" data-id="' + guid + '"></a></div>'; + var json = model.toJSON(); + json['id'] = guid; + return CommonViewFunction.propertyTable({ 'notUsedKey': json }, that, true); } } }) http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/1b1f9d2a/release-log.txt ---------------------------------------------------------------------- diff --git a/release-log.txt b/release-log.txt index 51c8bd6..ecdc8a9 100644 --- a/release-log.txt +++ b/release-log.txt @@ -6,6 +6,7 @@ INCOMPATIBLE CHANGES: ALL CHANGES: +ATLAS-971 UI not displaying results for this query - Eg: "hive_table as t where qualifiedName = 'default.input@cl1' select t" (kevalbhatt18 via shwethags) ATLAS-1010 Atlas allows recreation of tags with same name (shwethags) ATLAS-990 Hive Import metadata script fails with auth exception (nixonrodrigues via shwethags) ATLAS-998 determine HA mode from property atlas.server.ids, instead of atlas.server.ha.enabled (madhan.neethiraj via shwethags)
