You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by ap...@apache.org on 2017/08/09 18:21:34 UTC
atlas git commit: ATLAS-2020 : Result Table Column Filter : Filtering
using Columns in Result table always sets excludeDeletedEntities to True
Repository: atlas
Updated Branches:
refs/heads/master e1a142b5a -> d0beadf2e
ATLAS-2020 : Result Table Column Filter : Filtering using Columns in Result table always sets excludeDeletedEntities to True
Signed-off-by: apoorvnaik <ap...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/d0beadf2
Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/d0beadf2
Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/d0beadf2
Branch: refs/heads/master
Commit: d0beadf2e4a83bce17b8c42e7a584a035cf416c2
Parents: e1a142b
Author: kevalbhatt <kb...@apache.org>
Authored: Wed Aug 9 14:36:27 2017 +0530
Committer: apoorvnaik <ap...@apache.org>
Committed: Wed Aug 9 11:21:31 2017 -0700
----------------------------------------------------------------------
dashboardv2/package.json | 2 +-
dashboardv2/public/css/scss/loader.scss | 41 +++
dashboardv2/public/css/scss/override.scss | 155 ++++++------
dashboardv2/public/css/scss/panel.scss | 13 +-
dashboardv2/public/js/router/Router.js | 17 +-
.../js/templates/common/TableLayout_tmpl.html | 2 +-
.../detail_page/DetailPageLayoutView_tmpl.html | 22 +-
.../search/SearchResultLayoutView_tmpl.html | 7 +-
.../public/js/utils/CommonViewFunction.js | 4 +-
dashboardv2/public/js/utils/TableLayout.js | 14 +-
.../views/business_catalog/SideNavLayoutView.js | 26 +-
.../public/js/views/common/aboutAtlas.js | 2 +-
.../views/detail_page/DetailPageLayoutView.js | 28 ++-
.../views/entity/EntityDetailTableLayoutView.js | 20 +-
.../public/js/views/schema/SchemaLayoutView.js | 18 +-
.../js/views/search/SearchDetailLayoutView.js | 16 +-
.../public/js/views/search/SearchLayoutView.js | 21 +-
.../js/views/search/SearchResultLayoutView.js | 249 +++++++++++--------
18 files changed, 385 insertions(+), 272 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/atlas/blob/d0beadf2/dashboardv2/package.json
----------------------------------------------------------------------
diff --git a/dashboardv2/package.json b/dashboardv2/package.json
index e2e3d8c..bcf5fe7 100644
--- a/dashboardv2/package.json
+++ b/dashboardv2/package.json
@@ -4,7 +4,7 @@
"private": true,
"repository": {
"type": "git",
- "url": "https://git-wip-us.apache.org/repos/asf/atlas.git"
+ "url": "https://git-wip-us.apache.org/repos/asf/incubator-atlas.git"
},
"engines": {
"node": "4.4.x",
http://git-wip-us.apache.org/repos/asf/atlas/blob/d0beadf2/dashboardv2/public/css/scss/loader.scss
----------------------------------------------------------------------
diff --git a/dashboardv2/public/css/scss/loader.scss b/dashboardv2/public/css/scss/loader.scss
index 7d461c8..ff8b890 100644
--- a/dashboardv2/public/css/scss/loader.scss
+++ b/dashboardv2/public/css/scss/loader.scss
@@ -69,3 +69,44 @@
display: none;
opacity: 0.2;
}
+
+.value-loader {
+ height: 4px;
+ width: 50%;
+ position: relative;
+ overflow: hidden;
+ background-color: #ddd;
+}
+
+.value-loader:before {
+ display: block;
+ position: absolute;
+ content: "";
+ left: -200px;
+ width: 200px;
+ height: 4px;
+ background-color: #2980b9;
+ animation: value-loader 2s linear infinite;
+}
+
+@keyframes value-loader {
+ from {
+ left: -200px;
+ width: 30%;
+ }
+ 50% {
+ width: 30%;
+ }
+ 70% {
+ width: 70%;
+ }
+ 80% {
+ left: 50%;
+ }
+ 95% {
+ left: 120%;
+ }
+ to {
+ left: 100%;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/atlas/blob/d0beadf2/dashboardv2/public/css/scss/override.scss
----------------------------------------------------------------------
diff --git a/dashboardv2/public/css/scss/override.scss b/dashboardv2/public/css/scss/override.scss
index d2a4bec..e4e8bf7 100644
--- a/dashboardv2/public/css/scss/override.scss
+++ b/dashboardv2/public/css/scss/override.scss
@@ -69,36 +69,46 @@
box-shadow: 0px 0px 4px #d8d8d8;
overflow: scroll !important;
max-height: 500px;
+ .resizeHandler {
+ &.grid-draggable {
+ background-color: $color_jungle_green_approx !important;
+ }
+ &:hover {
+ border-left: 1px solid #d2d2d2;
+ }
+ }
+ >thead>tr>th {
+ border-width: thin;
+ border-color: $color_jungle_green_approx;
+ border-bottom-style: solid;
+ box-shadow: none;
+ padding: 20px 15px;
+ background-color: transparent;
+ text-align: left;
+ font-weight: 800;
+ border-top: 0;
+ font-size: 14px;
+ letter-spacing: 0.25px;
+ color: rgba(52, 52, 52, 1);
+ }
+ >tbody>tr>td {
+ border-color: $color_gallery_approx;
+ color: #333333;
+ font-weight: 100;
+ padding: 10px 15px;
+ }
}
-.table-quickMenu>thead>tr>th {
- border-width: thin;
- border-color: $color_jungle_green_approx;
- border-bottom-style: solid;
- box-shadow: none;
- padding: 20px 15px;
- background-color: transparent;
- text-align: left;
- font-weight: 800;
- font-size: 14px;
- letter-spacing: 0.25px;
- color: rgba(52, 52, 52, 1);
-}
-
-.table-quickMenu > tbody > tr > td {
- border-color: $color_gallery_approx;
- color: #333333;
- font-weight: 100;
- padding: 10px 15px;
+td {
+ div.scroll-y {
+ max-height: 200px;
+ overflow-y: auto;
+ }
}
-.backgrid-paginator ul > li > a:hover,
-.backgrid-paginator ul > .active > a,
-.backgrid-paginator ul > .active > span {
- background-color: #2EBC9A !important;
- color: #fff !important;
- &:hover {
- background-color: none;
+.backgrid {
+ td {
+ white-space: normal;
}
}
@@ -108,11 +118,25 @@
margin: 20px 0;
border-radius: 4px;
border: 1px #DDDDDD solid;
-}
-
-.backgrid {
- td {
- white-space: normal;
+ margin: 0px;
+ float: right;
+ border-radius: 10px;
+ overflow: hidden;
+ >.disabled>span,
+ >.disabled>a {
+ &:hover {
+ cursor: not-allowed;
+ background-color: #7ed3be !important;
+ }
+ }
+ >.active>span,
+ >.active>a,
+ >li>a:hover {
+ background-color: #2EBC9A !important;
+ color: #fff !important;
+ &:hover {
+ background-color: none;
+ }
}
}
@@ -216,21 +240,6 @@
}
}
-.backgrid-paginator ul {
- margin: 0px;
- float: right;
- border-radius: 10px;
- overflow: hidden;
-}
-
-.backgrid-paginator ul > .disabled > span,
-.backgrid-paginator ul > .disabled > a {
- &:hover {
- cursor: not-allowed;
- background-color: #7ed3be !important;
- }
-}
-
.popover {
z-index: 99;
}
@@ -248,7 +257,7 @@
}
}
-.tab-content > .tab-pane.active {
+.tab-content>.tab-pane.active {
overflow-x: hidden;
}
@@ -267,40 +276,40 @@
cursor: pointer;
}
-.query-builder .rule-container .rule-value-container {
- display: inline-block !important;
+.query-builder {
+ .rule-container .rule-value-container {
+ display: inline-block !important;
+ }
+ .rules-list>:first-child::before {
+ top: -8px;
+ }
+ .rules-group-header .btn-group.group-conditions label {
+ display: none;
+ }
+ .rule-value-container input {
+ padding: 6px 12px !important;
+ }
}
+
.rules-group-header .btn-group.pull-right.group-actions {
float: left !important;
}
-.query-builder .rules-list>:first-child::before {
- top: -8px;
-}
-
-.query-builder .rules-group-header .btn-group.group-conditions label {
- display: none;
-}
-
-.query-builder .rule-value-container input {
- padding: 6px 12px !important;
-}
-
div.columnmanager-visibilitycontrol {
width: auto;
margin-bottom: 5px;
+ &.open .btn-atlasAction {
+ background-color: #37bb9b;
+ color: #fff;
+ }
}
-.columnmanager-dropdown-container > li > span.column-label {
- width: auto;
-}
-
-div.columnmanager-dropdown-container.open {
- overflow: auto;
-}
-
-.columnmanager-visibilitycontrol.open .btn-atlasAction {
- background-color: #37bb9b;
- color: #fff;
-}
+div.columnmanager-dropdown-container {
+ &.open {
+ overflow: auto;
+ }
+ >li>span.column-label {
+ width: auto;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/atlas/blob/d0beadf2/dashboardv2/public/css/scss/panel.scss
----------------------------------------------------------------------
diff --git a/dashboardv2/public/css/scss/panel.scss b/dashboardv2/public/css/scss/panel.scss
index d1c2961..1756446 100644
--- a/dashboardv2/public/css/scss/panel.scss
+++ b/dashboardv2/public/css/scss/panel.scss
@@ -20,7 +20,7 @@
/* panel.scss */
.panel-default {
- > .panel-heading {
+ >.panel-heading {
color: $color_jungle_green_approx;
background: $white;
border-color: $color_jungle_green_approx;
@@ -35,7 +35,7 @@
}
}
.nav-tabs {
- > li {
+ >li {
&.active {
>a {
color: $color_jungle_green_approx;
@@ -53,9 +53,9 @@
//overflow: hidden;
height: calc(100% - 46px)!important;
}
- .ui-resizable-handle{
- display: none !important;
-}
+ .ui-resizable-handle {
+ display: none !important;
+ }
}
.nav-tabs {
@@ -68,8 +68,9 @@
.with-nav-tabs {
.tab-content {
- > .tab-pane.active {
+ >.tab-pane.active {
padding: 20px 10px 0px 10px;
+ min-height: 50px;
}
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/atlas/blob/d0beadf2/dashboardv2/public/js/router/Router.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/router/Router.js b/dashboardv2/public/js/router/Router.js
index f858ee2..4f14d4d 100644
--- a/dashboardv2/public/js/router/Router.js
+++ b/dashboardv2/public/js/router/Router.js
@@ -53,6 +53,9 @@ define([
'enumDefCollection': this.enumDefCollection,
'classificationDefCollection': this.classificationDefCollection
}
+ this.sharedObj = {
+ searchTableColumns: {}
+ }
},
bindCommonEvents: function() {
var that = this;
@@ -237,7 +240,7 @@ define([
App.rSideNav.show(new SideNavLayoutView(
_.extend({
'searchVent': that.searchVent
- }, that.preFetchedCollectionLists)
+ }, that.preFetchedCollectionLists, that.sharedObj)
));
} else {
App.rSideNav.currentView.selectTab();
@@ -253,7 +256,7 @@ define([
'value': paramObj,
'initialView': true,
'searchVent': that.searchVent
- }, that.preFetchedCollectionLists)
+ }, that.preFetchedCollectionLists, that.sharedObj)
));
} else {
App.rNContent.$el.html("");
@@ -276,18 +279,22 @@ define([
_.extend({
'value': paramObj,
'searchVent': that.searchVent
- }, that.preFetchedCollectionLists)
+ }, that.preFetchedCollectionLists, that.sharedObj)
));
} else {
App.rSideNav.currentView.RSearchLayoutView.currentView.manualRender(paramObj);
}
App.rSideNav.currentView.selectTab();
+ var isinitialView = true;
+ if (paramObj) {
+ isinitialView = (paramObj.type || (paramObj.dslChecked == "true" ? "" : paramObj.tag) || (paramObj.query ? paramObj.query.trim() : "")).length === 0;
+ }
App.rNContent.show(new SearchDetailLayoutView(
_.extend({
'value': paramObj,
'searchVent': that.searchVent,
- 'initialView': (paramObj.type || (paramObj.dslChecked == "true" ? "" : paramObj.tag) || (paramObj.query ? paramObj.query.trim() : "")).length === 0
- }, that.preFetchedCollectionLists)
+ 'initialView': isinitialView,
+ }, that.preFetchedCollectionLists, that.sharedObj)
));
});
},
http://git-wip-us.apache.org/repos/asf/atlas/blob/d0beadf2/dashboardv2/public/js/templates/common/TableLayout_tmpl.html
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/templates/common/TableLayout_tmpl.html b/dashboardv2/public/js/templates/common/TableLayout_tmpl.html
index e2b8a86..64c7c19 100644
--- a/dashboardv2/public/js/templates/common/TableLayout_tmpl.html
+++ b/dashboardv2/public/js/templates/common/TableLayout_tmpl.html
@@ -35,7 +35,7 @@
</div>
<div class="position-relative thick-border">
<div data-id="r_tableList" class="table-responsive tableBorder"> </div>
- <div data-id="r_tableSpinner" class="fontLoader">
+ <div data-id="r_tableSpinner" class="fontLoader for-ignore">
<i class="fa fa-refresh fa-spin-custom"></i>
</div>
</div>
http://git-wip-us.apache.org/repos/asf/atlas/blob/d0beadf2/dashboardv2/public/js/templates/detail_page/DetailPageLayoutView_tmpl.html
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/templates/detail_page/DetailPageLayoutView_tmpl.html b/dashboardv2/public/js/templates/detail_page/DetailPageLayoutView_tmpl.html
index 3177c7e..983b0f8 100644
--- a/dashboardv2/public/js/templates/detail_page/DetailPageLayoutView_tmpl.html
+++ b/dashboardv2/public/js/templates/detail_page/DetailPageLayoutView_tmpl.html
@@ -82,46 +82,46 @@
<div class="row">
<div class="col-md-12">
<ul class="nav nav-tabs ">
- <li role="presentation" class="tab active"><a href="#tab-details" aria-controls="tab-details" role="tab" data-toggle="tab">Properties</a></li>
- <li role="presentation"><a href="#tab-tagTable" aria-controls="tab-tagTable" role="tab" data-toggle="tab">Tags</a></li>
+ <li role="properties" class="tab active"><a href="#tab-details" aria-controls="tab-details" role="tab" data-toggle="tab">Properties</a></li>
+ <li role="tags"><a href="#tab-tagTable" aria-controls="tab-tagTable" role="tab" data-toggle="tab">Tags</a></li>
{{#if taxonomy}}
- <li role="presentation"><a href="#tab-termTable" aria-controls="tab-termTable" role="tab" data-toggle="tab">Terms</a></li>
+ <li role="terms"><a href="#tab-termTable" aria-controls="tab-termTable" role="tab" data-toggle="tab">Terms</a></li>
{{/if}}
- <li role="presentation" class="tab"><a href="#tab-audit" aria-controls="tab-audit" role="tab" data-toggle="tab">Audits</a></li>
- <li role="presentation" class="tab schemaTable" style="display:none"><a href="#tab-schema" aria-controls="tab-schema" role="tab" data-toggle="tab">Schema</a></li>
+ <li role="audits" class="tab"><a href="#tab-audit" aria-controls="tab-audit" role="tab" data-toggle="tab">Audits</a></li>
+ <li role="schema" class="tab schemaTable" style="display:none"><a href="#tab-schema" aria-controls="tab-schema" role="tab" data-toggle="tab">Schema</a></li>
</ul>
</div>
</div>
<div class="tab-content">
- <div id="tab-details" role="tabpanel" class="tab-pane active">
+ <div id="tab-details" role="properties" class="tab-pane active">
<div id="r_entityDetailTableLayoutView" style="position: relative;">
<div class="fontLoader">
<i class="fa fa-refresh fa-spin-custom"></i>
</div>
</div>
</div>
- <div id="tab-tagTable" role="tabpanel" class="tab-pane fade">
+ <div id="tab-tagTable" role="tags" class="tab-pane fade">
<div id="r_tagTableLayoutView" style="position: relative;">
<div class="fontLoader">
<i class="fa fa-refresh fa-spin-custom"></i>
</div>
</div>
</div>
- <div id="tab-termTable" role="tabpanel" class="tab-pane">
+ <div id="tab-termTable" role="terms" class="tab-pane">
<div id="r_termTableLayoutView" style="position: relative;">
<div class="fontLoader">
<i class="fa fa-refresh fa-spin-custom"></i>
</div>
</div>
</div>
- <div id="tab-audit" role="tabpanel" class="tab-pane">
+ <div id="tab-audit" role="audits" class="tab-pane">
<div id="r_auditTableLayoutView" style="position: relative;">
<div class="fontLoader">
<i class="fa fa-refresh fa-spin-custom"></i>
</div>
</div>
</div>
- <div id="tab-schema" role="tabpanel" class="tab-pane">
+ <div id="tab-schema" role="schema" class="tab-pane">
<div id="r_schemaTableLayoutView" style="position: relative;">
<div class="fontLoader">
<i class="fa fa-refresh fa-spin-custom"></i>
@@ -134,4 +134,4 @@
</div>
</div>
</div>
-</div>
+</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/atlas/blob/d0beadf2/dashboardv2/public/js/templates/search/SearchResultLayoutView_tmpl.html
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/templates/search/SearchResultLayoutView_tmpl.html b/dashboardv2/public/js/templates/search/SearchResultLayoutView_tmpl.html
index 91f1a67..cedd318 100644
--- a/dashboardv2/public/js/templates/search/SearchResultLayoutView_tmpl.html
+++ b/dashboardv2/public/js/templates/search/SearchResultLayoutView_tmpl.html
@@ -17,7 +17,7 @@
<div class="">
<div class="tableOverlay"></div>
<!-- Not for table Loader its only for initial loading -->
- <div class="fontLoader">
+ <div class="fontLoader" style="z-index:999">
<i class="fa fa-refresh fa-spin-custom"></i>
</div>
<div class="ellipsis" style="display: none;"><span class="searchResult" style=" font-size: 16px;"></span>
@@ -26,7 +26,7 @@
</div>
<div class="searchTable">
<div data-id="containerCheckBox" style="display: none;">
- <input type="checkbox" id="inputLabel" class="checkbox-inline" name="queryType" value="text" name="check" value="1" data-id="checkDeletedEntity" />
+ <input type="checkbox" id="inputLabel" class="checkbox-inline" name="queryType" name="check" data-id="checkDeletedEntity" />
<label class="checkbox-inline" for="inputLabel">
<b>Include historical entities</b></label>
</div>
@@ -53,3 +53,6 @@
</div>
</div>
</div>
+<div class="text-center" data-id="columnEmptyInfo" style="display: none;">
+ <h4>Please select one/more column to see the data</h4>
+</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/atlas/blob/d0beadf2/dashboardv2/public/js/utils/CommonViewFunction.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/utils/CommonViewFunction.js b/dashboardv2/public/js/utils/CommonViewFunction.js
index 4abec08..710c5af 100644
--- a/dashboardv2/public/js/utils/CommonViewFunction.js
+++ b/dashboardv2/public/js/utils/CommonViewFunction.js
@@ -170,7 +170,7 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum
var fetch = true;
var fetchId = (_.isObject(id) ? id.id : id);
fetchInputOutputValue(fetchId);
- tempLink += '<div data-id="' + fetchId + '"></div>';
+ tempLink += '<div data-id="' + fetchId + '"><div class="value-loader"></div></div>';
} else {
tempLink += '<a href="#!/detailPage/' + id + '">' + name + '</a>'
}
@@ -214,7 +214,7 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum
}
}
if (isTable) {
- table += '<tr><td>' + _.escape(key) + '</td><td>' + (_.isObject(valueObject[key]) ? keyValue : _.escape(keyValue)) + '</td></tr>';
+ table += '<tr><td>' + _.escape(key) + '</td><td><div ' + (_.isObject(valueObject[key]) ? 'class="scroll-y"' : '') + '>' + (_.isObject(valueObject[key]) ? keyValue : _.escape(keyValue)) + '</div></td></tr>';
} else {
table += '<div>' + (_.isObject(valueObject[key]) ? keyValue : _.escape(keyValue)) + '</div>';
}
http://git-wip-us.apache.org/repos/asf/atlas/blob/d0beadf2/dashboardv2/public/js/utils/TableLayout.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/utils/TableLayout.js b/dashboardv2/public/js/utils/TableLayout.js
index 3c9ff3b..e2d28c7 100644
--- a/dashboardv2/public/js/utils/TableLayout.js
+++ b/dashboardv2/public/js/utils/TableLayout.js
@@ -131,6 +131,8 @@ define(['require',
includeOverlayLoader: false,
+ includeTableLoader: true,
+
/** ui events hash */
events: function() {
@@ -146,7 +148,7 @@ define(['require',
initialize: function(options) {
_.extend(this, _.pick(options, 'collection', 'columns', 'includePagination',
'includeHeaderSearch', 'includeFilter', 'includePageSize',
- 'includeFooterRecords', 'includeColumnManager', 'includeSizeAbleColumns', 'includeOrderAbleColumns', 'includeOverlayLoader'));
+ 'includeFooterRecords', 'includeColumnManager', 'includeSizeAbleColumns', 'includeOrderAbleColumns', 'includeOverlayLoader', 'includeTableLoader'));
_.extend(this.gridOpts, options.gridOpts, { collection: this.collection, columns: this.columns });
_.extend(this.filterOpts, options.filterOpts);
@@ -160,14 +162,20 @@ define(['require',
/** all events binding here */
bindEvents: function() {
this.listenTo(this.collection, 'request', function() {
- this.$('div[data-id="r_tableSpinner"]').addClass('show');
+ if (this.includeTableLoader) {
+ this.$('div[data-id="r_tableSpinner"]').addClass('show');
+ }
if (this.includeOverlayLoader) {
+ this.$('.t_tableOverlay').addClass('fontLoader');
this.$('.t_tableOverlay').show();
}
}, this);
this.listenTo(this.collection, 'sync error', function() {
- this.$('div[data-id="r_tableSpinner"]').removeClass('show');
+ if (this.includeTableLoader) {
+ this.$('div[data-id="r_tableSpinner"]').removeClass('show');
+ }
if (this.includeOverlayLoader) {
+ this.$('.t_tableOverlay').removeClass('fontLoader');
this.$('.t_tableOverlay').hide();
}
}, this);
http://git-wip-us.apache.org/repos/asf/atlas/blob/d0beadf2/dashboardv2/public/js/views/business_catalog/SideNavLayoutView.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/views/business_catalog/SideNavLayoutView.js b/dashboardv2/public/js/views/business_catalog/SideNavLayoutView.js
index da42554..42fbc83 100644
--- a/dashboardv2/public/js/views/business_catalog/SideNavLayoutView.js
+++ b/dashboardv2/public/js/views/business_catalog/SideNavLayoutView.js
@@ -45,8 +45,25 @@ define(['require',
that = this;
events["click " + this.ui.tabs] = function(e) {
var urlString = "",
- elementName = $(e.currentTarget).data();
- var tabStateUrls = Globals.saveApplicationState.tabState;
+ elementName = $(e.currentTarget).data(),
+ tabStateUrls = Globals.saveApplicationState.tabState,
+ urlStateObj = Utils.getUrlState,
+ hashUrl = Utils.getUrlState.getQueryUrl().hash;
+
+ if (urlStateObj.isTagTab()) {
+ if (hashUrl != tabStateUrls.tagUrl) {
+ Globals.saveApplicationState.tabState.tagUrl = hashUrl;
+ }
+ } else if (urlStateObj.isSearchTab()) {
+ if (hashUrl != tabStateUrls.searchUrl) {
+ Globals.saveApplicationState.tabState.searchUrl = hashUrl;
+ }
+ } else if (urlStateObj.isTaxonomyTab()) {
+ if (hashUrl != tabStateUrls.taxonomyUrl) {
+ Globals.saveApplicationState.tabState.isTaxonomyTab = hashUrl;
+ }
+ }
+
if (elementName.name == "tab-tag") {
urlString = tabStateUrls.tagUrl; //'#!/tag';
} else if (elementName.name == "tab-taxonomy") {
@@ -66,7 +83,7 @@ define(['require',
return events;
},
initialize: function(options) {
- _.extend(this, _.pick(options, 'url', 'value', 'tag', 'selectFirst', 'classificationDefCollection', 'typeHeaders', 'searchVent', 'entityDefCollection', 'enumDefCollection'));
+ _.extend(this, _.pick(options, 'url', 'value', 'tag', 'selectFirst', 'classificationDefCollection', 'typeHeaders', 'searchVent', 'entityDefCollection', 'enumDefCollection', 'searchTableColumns'));
if (Globals.taxonomy) {
this.tabClass = "tab col-sm-4";
} else {
@@ -110,7 +127,8 @@ define(['require',
typeHeaders: that.typeHeaders,
entityDefCollection: that.entityDefCollection,
enumDefCollection: that.enumDefCollection,
- classificationDefCollection: that.classificationDefCollection
+ classificationDefCollection: that.classificationDefCollection,
+ searchTableColumns: that.searchTableColumns
}));
});
},
http://git-wip-us.apache.org/repos/asf/atlas/blob/d0beadf2/dashboardv2/public/js/views/common/aboutAtlas.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/views/common/aboutAtlas.js b/dashboardv2/public/js/views/common/aboutAtlas.js
index 9561b83..5f9a77c 100644
--- a/dashboardv2/public/js/views/common/aboutAtlas.js
+++ b/dashboardv2/public/js/views/common/aboutAtlas.js
@@ -53,7 +53,7 @@ define(['require',
var VCommonModel = new VCommon();
VCommonModel.aboutUs(url, {
success: function(data) {
- var str = "<b>Version : </b>" + data.Version;
+ var str = "<b>Version : </b>" + _.escape(data.Version);
that.ui.atlasVersion.html(str);
},
complete: function() {}
http://git-wip-us.apache.org/repos/asf/atlas/blob/d0beadf2/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 56379a4..9a27ee1 100644
--- a/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js
+++ b/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js
@@ -112,6 +112,9 @@ define(['require',
this.listenTo(this.collection, 'reset', function() {
this.entityObject = this.collection.first().toJSON();
var collectionJSON = this.entityObject.entity;
+ // MergerRefEntity.
+ Utils.findAndMergeRefEntity(collectionJSON.attributes, this.entityObject.referredEntities);
+
if (collectionJSON && collectionJSON.guid) {
var tagGuid = collectionJSON.guid;
this.readOnly = Enums.entityStateReadOnly[collectionJSON.status];
@@ -162,20 +165,29 @@ define(['require',
this.ui.editButton.show();
}
}
+ if (collectionJSON.attributes && collectionJSON.attributes.columns) {
+ var valueSorted = _.sortBy(collectionJSON.attributes.columns, function(val) {
+ return val.attributes.position
+ });
+ collectionJSON.attributes.columns = valueSorted;
+ }
}
this.hideLoader();
var obj = {
entity: collectionJSON,
- referredEntities: this.entityObject.referredEntities,
guid: this.id,
entityName: this.name,
typeHeaders: this.typeHeaders,
entityDefCollection: this.entityDefCollection,
fetchCollection: this.fetchCollection.bind(that),
enumDefCollection: this.enumDefCollection,
- classificationDefCollection: this.classificationDefCollection
+ classificationDefCollection: this.classificationDefCollection,
+ attributeDefs: (function() {
+ return that.getEntityDef(collectionJSON);
+ })()
}
- this.getEntityDef(obj);
+ this.renderEntityDetailTableLayoutView(obj);
+ this.renderAuditTableLayoutView(obj);
this.renderTagTableLayoutView(obj);
this.renderTermTableLayoutView(_.extend({}, obj, { term: true }));
// To render Schema check attribute "schemaElementsAttribute"
@@ -241,16 +253,14 @@ define(['require',
fetchCollection: function() {
this.collection.fetch({ reset: true });
},
- getEntityDef: function(obj) {
- var data = this.entityDefCollection.fullCollection.findWhere({ name: obj.entity.typeName }).toJSON();
+ getEntityDef: function(entityObj) {
+ var data = this.entityDefCollection.fullCollection.findWhere({ name: entityObj.typeName }).toJSON();
var attributeDefs = Utils.getNestedSuperTypeObj({
data: data,
attrMerge: true,
collection: this.entityDefCollection
});
- obj['attributeDefs'] = attributeDefs;
- this.renderEntityDetailTableLayoutView(obj);
- this.renderAuditTableLayoutView(obj);
+ return attributeDefs;
},
onClickTagCross: function(e) {
var tagName = $(e.currentTarget).parent().text(),
@@ -409,4 +419,4 @@ define(['require',
}
});
return DetailPageLayoutView;
-});
+});
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/atlas/blob/d0beadf2/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 e27edf4..28eb749 100644
--- a/dashboardv2/public/js/views/entity/EntityDetailTableLayoutView.js
+++ b/dashboardv2/public/js/views/entity/EntityDetailTableLayoutView.js
@@ -20,9 +20,8 @@ define(['require',
'backbone',
'hbs!tmpl/entity/EntityDetailTableLayoutView_tmpl',
'utils/CommonViewFunction',
- 'models/VEntity',
- 'utils/Utils'
-], function(require, Backbone, EntityDetailTableLayoutView_tmpl, CommonViewFunction, VEntity, Utils) {
+ 'models/VEntity'
+], function(require, Backbone, EntityDetailTableLayoutView_tmpl, CommonViewFunction, VEntity) {
'use strict';
var EntityDetailTableLayoutView = Backbone.Marionette.LayoutView.extend(
@@ -49,7 +48,7 @@ define(['require',
* @constructs
*/
initialize: function(options) {
- _.extend(this, _.pick(options, 'entity', 'referredEntities', 'typeHeaders', 'attributeDefs'));
+ _.extend(this, _.pick(options, 'entity', 'typeHeaders', 'attributeDefs', 'attributes'));
this.entityModel = new VEntity({});
},
bindEvents: function() {},
@@ -57,17 +56,8 @@ define(['require',
this.entityTableGenerate();
},
entityTableGenerate: function() {
- var that = this,
- attributeObject = this.entity.attributes;
- Utils.findAndMergeRefEntity(attributeObject, that.referredEntities);
- if (attributeObject && attributeObject.columns) {
- var valueSorted = _.sortBy(attributeObject.columns, function(val) {
- return val.attributes.position
- });
- attributeObject.columns = valueSorted;
- }
- var table = CommonViewFunction.propertyTable({ scope: this, valueObject: attributeObject, attributeDefs: this.attributeDefs });
- that.ui.detailValue.append(table);
+ var table = CommonViewFunction.propertyTable({ scope: this, valueObject: this.entity.attributes, attributeDefs: this.attributeDefs });
+ this.ui.detailValue.append(table);
}
});
return EntityDetailTableLayoutView;
http://git-wip-us.apache.org/repos/asf/atlas/blob/d0beadf2/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 6f9b6e3..e7765f3 100644
--- a/dashboardv2/public/js/views/schema/SchemaLayoutView.js
+++ b/dashboardv2/public/js/views/schema/SchemaLayoutView.js
@@ -94,7 +94,7 @@ define(['require',
* @constructs
*/
initialize: function(options) {
- _.extend(this, _.pick(options, 'guid', 'entityDefCollection', 'attribute', 'referredEntities', 'fetchCollection', 'enumDefCollection'));
+ _.extend(this, _.pick(options, 'guid', 'entityDefCollection', 'attribute', 'fetchCollection', 'enumDefCollection'));
this.schemaCollection = new VSchemaList([], {});
this.commonTableOptions = {
collection: this.schemaCollection,
@@ -166,15 +166,11 @@ define(['require',
}
}
_.each(this.attribute, function(obj) {
- newModel = that.referredEntities[obj.guid];
- if (newModel.attributes['position']) {
- newModel['position'] = newModel.attributes['position'];
- }
- if (!Enums.entityStateReadOnly[newModel.status]) {
- that.activeObj.push(newModel);
- that.schemaCollection.push(newModel);
- } else if (Enums.entityStateReadOnly[newModel.status]) {
- that.deleteObj.push(newModel);
+ if (!Enums.entityStateReadOnly[obj.status]) {
+ that.activeObj.push(obj);
+ that.schemaCollection.push(obj);
+ } else if (Enums.entityStateReadOnly[obj.status]) {
+ that.deleteObj.push(obj);
}
});
$('body').click(function(e) {
@@ -448,4 +444,4 @@ define(['require',
}
});
return SchemaTableLayoutView;
-});
+});
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/atlas/blob/d0beadf2/dashboardv2/public/js/views/search/SearchDetailLayoutView.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/views/search/SearchDetailLayoutView.js b/dashboardv2/public/js/views/search/SearchDetailLayoutView.js
index b22fae8..cfb2aa4 100644
--- a/dashboardv2/public/js/views/search/SearchDetailLayoutView.js
+++ b/dashboardv2/public/js/views/search/SearchDetailLayoutView.js
@@ -43,7 +43,7 @@ define(['require',
* @constructs
*/
initialize: function(options) {
- _.extend(this, _.pick(options, 'value', 'initialView', 'entityDefCollection', 'typeHeaders', 'searchVent', 'enumDefCollection'));
+ _.extend(this, _.pick(options, 'value', 'initialView', 'entityDefCollection', 'typeHeaders', 'searchVent', 'enumDefCollection', 'searchTableColumns'));
},
bindEvents: function() {},
onRender: function() {
@@ -51,22 +51,12 @@ define(['require',
},
renderSearchResultLayoutView: function() {
var that = this;
-
require(['views/search/SearchResultLayoutView'], function(SearchResultLayoutView) {
-
if (that.RSearchResultLayoutView) {
- that.RSearchResultLayoutView.show(new SearchResultLayoutView({
- value: that.value,
- tag: that.tag,
- initialView: that.initialView,
- entityDefCollection: that.entityDefCollection,
- typeHeaders: that.typeHeaders,
- searchVent: that.searchVent,
- enumDefCollection: that.enumDefCollection
- }));
+ that.RSearchResultLayoutView.show(new SearchResultLayoutView(that.options));
}
});
}
});
return SearchDetailLayoutView;
-});
+});
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/atlas/blob/d0beadf2/dashboardv2/public/js/views/search/SearchLayoutView.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/views/search/SearchLayoutView.js b/dashboardv2/public/js/views/search/SearchLayoutView.js
index 0c39b02..6af9b2a 100644
--- a/dashboardv2/public/js/views/search/SearchLayoutView.js
+++ b/dashboardv2/public/js/views/search/SearchLayoutView.js
@@ -81,7 +81,7 @@ define(['require',
* @constructs
*/
initialize: function(options) {
- _.extend(this, _.pick(options, 'value', 'typeHeaders', 'searchVent', 'entityDefCollection', 'enumDefCollection', 'classificationDefCollection'));
+ _.extend(this, _.pick(options, 'value', 'typeHeaders', 'searchVent', 'entityDefCollection', 'enumDefCollection', 'classificationDefCollection', 'searchTableColumns'));
this.type = "basic";
var param = Utils.getUrlState.getQueryParams();
this.query = {
@@ -94,7 +94,8 @@ define(['require',
type: null,
typeFilter: null,
tagFilter: null,
- tag: null
+ tag: null,
+ attributes: null
}
};
if (!this.value) {
@@ -244,7 +245,8 @@ define(['require',
type: null,
tag: null,
entityFilters: null,
- tagFilters: null
+ tagFilters: null,
+ attributes: null
}), param);
},
fetchCollection: function(value) {
@@ -389,9 +391,9 @@ define(['require',
if (this.dsl) {
params['attributes'] = null;
} else {
- var columnList = JSON.parse(Utils.localStorage.getValue('columnList'));
+ var columnList = this.value && this.value.type && this.searchTableColumns ? this.searchTableColumns[this.value.type] : null;
if (columnList) {
- params['attributes'] = columnList[this.query[this.type].type];
+ params['attributes'] = columnList.join(',');
} else {
params['attributes'] = null;
}
@@ -408,7 +410,7 @@ define(['require',
});
},
dslFulltextToggle: function(e) {
- var paramQuery = "";
+ var paramObj = Utils.getUrlState.getQueryParams();
if (e.currentTarget.checked) {
this.type = "dsl";
this.dsl = true;
@@ -422,8 +424,11 @@ define(['require',
this.dsl = false;
this.type = "basic";
}
- if (Utils.getUrlState.getQueryParams() && this.type == Utils.getUrlState.getQueryParams().searchType) {
- this.updateQueryObject(Utils.getUrlState.getQueryParams());
+ if (paramObj && this.type == paramObj.searchType) {
+ this.updateQueryObject(paramObj);
+ }
+ if (this.type == "basic") {
+ this.query[this.type].attribute = paramObj.attributes ? paramObj.attributes : null;
}
Utils.setUrl({
url: '#!/search/searchResult',
http://git-wip-us.apache.org/repos/asf/atlas/blob/d0beadf2/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 d1b1a02..b9a8895 100644
--- a/dashboardv2/public/js/views/search/SearchResultLayoutView.js
+++ b/dashboardv2/public/js/views/search/SearchResultLayoutView.js
@@ -62,7 +62,8 @@ define(['require',
editEntityButton: "[data-id='editEntityButton']",
createEntity: "[data-id='createEntity']",
checkDeletedEntity: "[data-id='checkDeletedEntity']",
- containerCheckBox: "[data-id='containerCheckBox']"
+ containerCheckBox: "[data-id='containerCheckBox']",
+ columnEmptyInfo: "[data-id='columnEmptyInfo']"
},
templateHelpers: function() {
return {
@@ -127,20 +128,20 @@ define(['require',
* @constructs
*/
initialize: function(options) {
- _.extend(this, _.pick(options, 'value', 'initialView', 'entityDefCollection', 'typeHeaders', 'searchVent', 'enumDefCollection', 'tagCollection'));
+ _.extend(this, _.pick(options, 'value', 'initialView', 'entityDefCollection', 'typeHeaders', 'searchVent', 'enumDefCollection', 'tagCollection', 'searchTableColumns'));
this.entityModel = new VEntity();
this.searchCollection = new VSearchList();
this.limit = 25;
this.asyncFetchCounter = 0;
this.offset = 0;
- this.columnToShow = this.value && this.value.attributes ? this.value.attributes.split(',') : [];
this.commonTableOptions = {
collection: this.searchCollection,
includePagination: false,
includeFooterRecords: false,
- includeColumnManager: (this.value && this.value.searchType === "basic" ? true : false),
- includeOrderAbleColumns: true,
- includeSizeAbleColumns: true,
+ includeColumnManager: (Utils.getUrlState.isSearchTab() && this.value && this.value.searchType === "basic" ? true : false),
+ includeOrderAbleColumns: false,
+ includeSizeAbleColumns: false,
+ includeTableLoader: false,
columnOpts: {
opts: {
initialColumnsVisible: null,
@@ -216,20 +217,29 @@ define(['require',
this.listenTo(this.searchCollection, "state-changed", function(state) {
if (Utils.getUrlState.isSearchTab()) {
this.updateColumnList(state);
- var columnList = JSON.parse(Utils.localStorage.getValue('columnList'));
- if (!columnList && this.value.type) {
- columnList = {};
- columnList[this.value.type] = this.value.attributes;
- } else {
- columnList[this.value.type] = this.value.attributes;
+ var excludeDefaultColumn = [];
+ if (this.value && this.value.type) {
+ excludeDefaultColumn = _.without(this.searchTableColumns[this.value.type], "selected", "name", "description", "typeName", "owner", "tag", "terms");
+ if (this.searchTableColumns[this.value.type] === null) {
+ this.ui.columnEmptyInfo.show();
+ } else {
+ this.ui.columnEmptyInfo.hide();
+ }
}
- Utils.localStorage.setValue('columnList', JSON.stringify(columnList));
+
Utils.setUrl({
url: '#!/search/searchResult',
urlParams: this.value,
mergeBrowserUrl: false,
- trigger: true
+ trigger: false,
+ updateTabState: function() {
+ return { searchUrl: this.url, stateChanged: true };
+ }
});
+ if (excludeDefaultColumn.length > this.searchCollection.filterObj.attributes.length) {
+ this.fetchCollection(this.value);
+ }
+
}
}, this);
this.listenTo(this.searchVent, "search:refresh", function(model, response) {
@@ -242,6 +252,9 @@ define(['require',
that = this;
if (this.value) {
value = this.value;
+ if (value && value.includeDE) {
+ this.ui.checkDeletedEntity.prop('checked', true);
+ }
} else {
value = {
'query': null,
@@ -249,6 +262,11 @@ define(['require',
};
}
this.updateColumnList();
+ if (this.value && this.searchTableColumns && this.searchTableColumns[this.value.type] === null) {
+ this.ui.columnEmptyInfo.show();
+ } else {
+ this.ui.columnEmptyInfo.hide();
+ }
this.fetchCollection(value);
$('body').click(function(e) {
var iconEvnt = e.target.nodeName;
@@ -267,7 +285,7 @@ define(['require',
},
updateColumnList: function(updatedList) {
if (updatedList) {
- var listOfColumns = []
+ var listOfColumns = [];
_.map(updatedList, function(obj) {
var key = obj.name;
if (obj.renderable) {
@@ -276,8 +294,12 @@ define(['require',
});
listOfColumns = _.sortBy(listOfColumns);
this.value.attributes = listOfColumns.length ? listOfColumns.join(",") : null;
+ if (this.value && this.searchTableColumns) {
+ this.searchTableColumns[this.value.type] = listOfColumns.length ? listOfColumns : null;
+ }
+ } else if (this.value && this.value.type && this.searchTableColumns && this.value.attributes) {
+ this.searchTableColumns[this.value.type] = this.value.attributes.split(",");
}
- this.columnToShow = this.value && this.value.attributes ? this.value.attributes.split(',') : [];
},
generateQueryOfFilter: function() {
var value = this.value,
@@ -287,26 +309,26 @@ define(['require',
objToString = function(filterObj) {
var tempObj = [];
_.each(filterObj, function(obj) {
- tempObj.push('<span class="key">' + obj.id + '</span> <span class="operator">' + obj.operator + '</span> <span class="value">' + obj.value + "</span>")
+ tempObj.push('<span class="key">' + _.escape(obj.id) + '</span> <span class="operator">' + _.escape(obj.operator) + '</span> <span class="value">' + _.escape(obj.value) + "</span>")
});
return tempObj.join(' <span class="operator">AND</span> ');
}
if (value.type) {
- var typeKeyValue = '<span class="key">Type:</span> <span class="value">' + value.type + '</span>';
+ var typeKeyValue = '<span class="key">Type:</span> <span class="value">' + _.escape(value.type) + '</span>';
if (entityFilters) {
typeKeyValue += ' <span class="operator">AND</span> ' + objToString(entityFilters);
}
queryArray.push(typeKeyValue)
}
if (value.tag) {
- var tagKeyValue = '<span class="key">Tag:</span> <span class="value">' + value.tag + '</span>';
+ var tagKeyValue = '<span class="key">Tag:</span> <span class="value">' + _.escape(value.tag) + '</span>';
if (tagFilters) {
tagKeyValue += ' <span class="operator">AND</span> ' + objToString(tagFilters);
}
queryArray.push(tagKeyValue);
}
if (value.query) {
- queryArray.push('<span class="key">Query:</span> <span class="value">' + value.query + '</span> ');
+ queryArray.push('<span class="key">Query:</span> <span class="value">' + _.escape(value.query) + '</span> ');
}
if (queryArray.length == 1) {
return queryArray.join();
@@ -319,33 +341,38 @@ define(['require',
var that = this,
isPostMethod = this.value.searchType === "basic" && Utils.getUrlState.isSearchTab(),
tagFilters = CommonViewFunction.attributeFilter.generateAPIObj(this.value.tagFilters),
- entityFilters = CommonViewFunction.attributeFilter.generateAPIObj(this.value.entityFilters),
- filterObj = {
- 'entityFilters': entityFilters,
- 'tagFilters': tagFilters,
- 'attributes': this.columnToShow.length ? _.without(this.columnToShow, "selected", "name", "description", "typeName", "owner", "tag", "terms") : null
- }
+ entityFilters = CommonViewFunction.attributeFilter.generateAPIObj(this.value.entityFilters);
+ if (isPostMethod) {
+ var excludeDefaultColumn = this.searchTableColumns ? _.without(this.searchTableColumns[this.value.type], "selected", "name", "description", "typeName", "owner", "tag", "terms") : null,
+ filterObj = {
+ 'entityFilters': entityFilters,
+ 'tagFilters': tagFilters,
+ 'attributes': excludeDefaultColumn ? excludeDefaultColumn : null
+ };
+ }
+
this.showLoader();
if (Globals.searchApiCallRef && Globals.searchApiCallRef.readyState === 1) {
Globals.searchApiCallRef.abort();
}
var apiObj = {
skipDefaultError: true,
+ sort: false,
success: function(model, response) {
Globals.searchApiCallRef = undefined;
if (!(that.ui.pageRecordText instanceof jQuery)) {
return;
}
- if (isPostMethod) {
- that.searchCollection.referredEntities = model.referredEntities;
- that.searchCollection.reset(model.entities);
- }
- if (that.searchCollection.models.length === 0 && that.offset > that.limit) {
+ if (!model.entities && that.offset > that.limit) {
that.ui.nextData.attr('disabled', true);
that.offset = that.offset - that.limit;
that.hideLoader();
return;
}
+ if (isPostMethod) {
+ that.searchCollection.referredEntities = model.referredEntities;
+ that.searchCollection.reset(model.entities);
+ }
if (that.searchCollection.models.length < that.limit) {
that.ui.nextData.attr('disabled', true);
} else {
@@ -367,38 +394,28 @@ define(['require',
that.ui.previousData.attr('disabled', true);
}
that.renderTableLayoutView();
-
- var resultArr = [];
- if (that.searchCollection.queryParams.typeName) {
- resultArr.push(that.searchCollection.queryParams.typeName)
- }
- if (that.searchCollection.queryParams.classification) {
- resultArr.push(that.searchCollection.queryParams.classification)
- }
- if (that.searchCollection.queryParams.query) {
- resultArr.push(that.searchCollection.queryParams.query)
- }
var searchString = 'Results for: <span class="filterQuery">' + that.generateQueryOfFilter() + "</span>";
if (Globals.entityCreate && Globals.entityTypeConfList && Utils.getUrlState.isSearchTab()) {
searchString += "<p>If you do not find the entity in search result below then you can" + '<a href="javascript:void(0)" data-id="createEntity"> create new entity</a></p>';
}
that.$('.searchResult').html(searchString);
-
},
silent: true,
reset: true
}
if (value) {
- $.extend(this.searchCollection.queryParams, { limit: this.limit, excludeDeletedEntities: true });
+ $.extend(this.searchCollection.queryParams, { limit: this.limit, excludeDeletedEntities: (value.includeDE ? false : true) });
if (value.searchType) {
this.searchCollection.url = UrlLinks.searchApiUrl(value.searchType);
}
_.extend(this.searchCollection.queryParams, { 'query': (value.query ? value.query.trim() : null), 'typeName': value.type || null, 'classification': value.tag || null });
if (isPostMethod) {
+ this.searchCollection.filterObj = _.extend({}, filterObj);
apiObj['data'] = _.extend({}, filterObj, _.pick(this.searchCollection.queryParams, 'query', 'excludeDeletedEntities', 'limit', 'offset', 'typeName', 'classification'))
Globals.searchApiCallRef = this.searchCollection.getBasicRearchResult(apiObj);
} else {
apiObj.data = null;
+ this.searchCollection.filterObj = null;
Globals.searchApiCallRef = this.searchCollection.fetch(apiObj);
}
} else {
@@ -421,9 +438,9 @@ define(['require',
});
},
renderTableLayoutView: function(col) {
- var that = this,
- count = 5;
+ var that = this;
require(['utils/TableLayout'], function(TableLayout) {
+ // displayOrder added for column manager
var columnCollection = Backgrid.Columns.extend({
sortKey: "displayOrder",
comparator: function(item) {
@@ -438,7 +455,6 @@ define(['require',
});
var columns = new columnCollection(that.getFixedDslColumn());
columns.setPositions().sort();
- //var columns = new Backgrid.Columns(that.getFixedDslColumn());
that.REntityTableLayoutView.show(new TableLayout(_.extend({}, that.commonTableOptions, {
columns: columns
})));
@@ -470,14 +486,18 @@ define(['require',
getFixedDslColumn: function() {
var that = this,
nameCheck = 0,
+ columnToShow = null,
col = {};
+ if (this.value && this.searchTableColumns && (this.searchTableColumns[this.value.type] !== undefined)) {
+ columnToShow = this.searchTableColumns[this.value.type] == null ? [] : this.searchTableColumns[this.value.type];
+ }
col['Check'] = {
name: "selected",
label: "Select",
cell: "select-row",
resizeable: false,
orderable: false,
- renderable: (that.columnToShow && that.columnToShow.length ? _.contains(that.columnToShow, 'selected') : true),
+ renderable: (columnToShow ? _.contains(columnToShow, 'selected') : true),
headerCell: "select-all"
};
@@ -518,9 +538,8 @@ define(['require',
}
})
};
-
- col['description'] = {
- label: "Description",
+ col['owner'] = {
+ label: "Owner",
cell: "String",
editable: false,
sortable: false,
@@ -530,46 +549,48 @@ define(['require',
formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
fromRaw: function(rawValue, model) {
var obj = model.toJSON();
- if (obj && obj.attributes && obj.attributes.description) {
- return obj.attributes.description;
+ if (obj && obj.attributes && obj.attributes.owner) {
+ return obj.attributes.owner;
}
}
})
};
- col['typeName'] = {
- label: "Type",
- cell: "Html",
+
+ col['description'] = {
+ label: "Description",
+ cell: "String",
editable: false,
sortable: false,
resizeable: true,
orderable: true,
- renderable: (that.columnToShow && that.columnToShow.length ? _.contains(that.columnToShow, 'typeName') : true),
+ renderable: true,
formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
fromRaw: function(rawValue, model) {
var obj = model.toJSON();
- if (obj && obj.typeName) {
- return '<a title="Search ' + obj.typeName + '" href="#!/search/searchResult?query=' + obj.typeName + ' &searchType=dsl&dslChecked=true">' + obj.typeName + '</a>';
+ if (obj && obj.attributes && obj.attributes.description) {
+ return obj.attributes.description;
}
}
})
};
- col['owner'] = {
- label: "Owner",
- cell: "String",
+ col['typeName'] = {
+ label: "Type",
+ cell: "Html",
editable: false,
sortable: false,
resizeable: true,
orderable: true,
- renderable: true,
+ renderable: (columnToShow ? _.contains(columnToShow, 'typeName') : true),
formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
fromRaw: function(rawValue, model) {
var obj = model.toJSON();
- if (obj && obj.attributes && obj.attributes.owner) {
- return obj.attributes.owner;
+ if (obj && obj.typeName) {
+ return '<a title="Search ' + obj.typeName + '" href="#!/search/searchResult?query=' + obj.typeName + ' &searchType=dsl&dslChecked=true">' + obj.typeName + '</a>';
}
}
})
};
+
col['tag'] = {
label: "Tags",
cell: "Html",
@@ -577,7 +598,7 @@ define(['require',
sortable: false,
resizeable: true,
orderable: true,
- renderable: (that.columnToShow && that.columnToShow.length ? _.contains(that.columnToShow, 'tag') : true),
+ renderable: (columnToShow ? _.contains(columnToShow, 'tag') : true),
className: 'searchTag',
formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
fromRaw: function(rawValue, model) {
@@ -599,7 +620,7 @@ define(['require',
sortable: false,
resizeable: true,
orderable: true,
- renderable: (that.columnToShow && that.columnToShow.length ? _.contains(that.columnToShow, 'terms') : true),
+ renderable: (columnToShow ? _.contains(columnToShow, 'terms') : true),
className: 'searchTerm',
formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
fromRaw: function(rawValue, model) {
@@ -616,48 +637,48 @@ define(['require',
}
})
};
- }
- if (this.value && this.value.searchType === "basic") {
- var def = this.entityDefCollection.fullCollection.find({ name: this.value.type });
- if (def) {
- var attrObj = Utils.getNestedSuperTypeObj({ data: def.toJSON(), collection: this.entityDefCollection, attrMerge: true });
- _.each(attrObj, function(obj, key) {
- var key = obj.name,
- isRenderable = _.contains(that.columnToShow, key)
- if (key == "name" || key == "description" || key == "owner") {
- if (that.columnToShow && that.columnToShow.length) {
- col[key].renderable = isRenderable;
+ if (this.value && this.value.searchType === "basic") {
+ var def = this.entityDefCollection.fullCollection.find({ name: this.value.type });
+ if (def) {
+ var attrObj = Utils.getNestedSuperTypeObj({ data: def.toJSON(), collection: this.entityDefCollection, attrMerge: true });
+ _.each(attrObj, function(obj, key) {
+ var key = obj.name,
+ isRenderable = _.contains(columnToShow, key)
+ if (key == "name" || key == "description" || key == "owner") {
+ if (columnToShow) {
+ col[key].renderable = isRenderable;
+ }
+ return;
}
- return;
- }
- col[obj.name] = {
- label: obj.name.capitalize(),
- cell: "Html",
- editable: false,
- sortable: false,
- resizeable: true,
- orderable: true,
- renderable: isRenderable,
- formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
- fromRaw: function(rawValue, model) {
- var modelObj = model.toJSON();
+ col[obj.name] = {
+ label: obj.name.capitalize(),
+ cell: "Html",
+ editable: false,
+ sortable: false,
+ resizeable: true,
+ orderable: true,
+ renderable: isRenderable,
+ formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
+ fromRaw: function(rawValue, model) {
+ var modelObj = model.toJSON();
- if (modelObj && modelObj.attributes && !_.isUndefined(modelObj.attributes[key])) {
- var tempObj = {
- 'scope': that,
- 'attributeDefs': [obj],
- 'valueObject': {},
- 'isTable': false
- }
+ if (modelObj && modelObj.attributes && !_.isUndefined(modelObj.attributes[key])) {
+ var tempObj = {
+ 'scope': that,
+ 'attributeDefs': [obj],
+ 'valueObject': {},
+ 'isTable': false
+ }
- tempObj.valueObject[key] = modelObj.attributes[key]
- Utils.findAndMergeRefEntity(tempObj.valueObject, that.searchCollection.referredEntities);
- return CommonViewFunction.propertyTable(tempObj);
+ tempObj.valueObject[key] = modelObj.attributes[key]
+ Utils.findAndMergeRefEntity(tempObj.valueObject, that.searchCollection.referredEntities);
+ return CommonViewFunction.propertyTable(tempObj);
+ }
}
- }
- })
- };
- });
+ })
+ };
+ });
+ }
}
}
return this.searchCollection.constructor.getTableCols(col, this.searchCollection);
@@ -700,11 +721,11 @@ define(['require',
},
showLoader: function() {
- this.$('.fontLoader').show();
+ this.$('.fontLoader:not(.for-ignore)').show();
this.$('.tableOverlay').show();
},
hideLoader: function() {
- this.$('.fontLoader').hide();
+ this.$('.fontLoader:not(.for-ignore)').hide();
this.$('.ellipsis,.labelShowRecord').show(); // only for first time
this.$('.tableOverlay').hide();
},
@@ -846,11 +867,25 @@ define(['require',
});
},
onCheckDeletedEntity: function(e) {
+ var includeDE = false;
if (e.target.checked) {
+ includeDE = true;
$.extend(this.searchCollection.queryParams, { limit: this.limit, excludeDeletedEntities: false });
} else {
$.extend(this.searchCollection.queryParams, { limit: this.limit, excludeDeletedEntities: true });
}
+ if (this.value) {
+ this.value.includeDE = includeDE;
+ Utils.setUrl({
+ url: '#!/search/searchResult',
+ urlParams: this.value,
+ mergeBrowserUrl: false,
+ trigger: false,
+ updateTabState: function() {
+ return { searchUrl: this.url, stateChanged: true };
+ }
+ });
+ }
this.fetchCollection();
}
});