You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by kb...@apache.org on 2019/01/03 09:57:55 UTC
[1/2] atlas git commit: ATLAS-3007 : UI : Add go to page and page
limit option for local pagination
Repository: atlas
Updated Branches:
refs/heads/branch-0.8 6bc3aee11 -> 41b48c82f
ATLAS-3007 : UI : Add go to page and page limit option for local pagination
Project: http://git-wip-us.apache.org/repos/asf/atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/c62934ae
Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/c62934ae
Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/c62934ae
Branch: refs/heads/branch-0.8
Commit: c62934aed35bd61faee998f4277f9f3275546e37
Parents: 6bc3aee
Author: kevalbhatt <kb...@apache.org>
Authored: Wed Jan 2 17:09:39 2019 +0530
Committer: kevalbhatt <kb...@apache.org>
Committed: Thu Jan 3 15:26:35 2019 +0530
----------------------------------------------------------------------
.../js/templates/common/TableLayout_tmpl.html | 12 +-
.../search/SearchResultLayoutView_tmpl.html | 2 +-
dashboardv2/public/js/utils/TableLayout.js | 118 +++++++++++++------
.../public/js/views/schema/SchemaLayoutView.js | 3 +-
.../js/views/search/SearchResultLayoutView.js | 9 +-
.../js/views/tag/TagDetailTableLayoutView.js | 2 +
6 files changed, 99 insertions(+), 47 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/atlas/blob/c62934ae/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 82d6c39..60ccc2f 100644
--- a/dashboardv2/public/js/templates/common/TableLayout_tmpl.html
+++ b/dashboardv2/public/js/templates/common/TableLayout_tmpl.html
@@ -45,7 +45,17 @@
<div class="row clearfix banded pagination-box">
<div class="col-sm-offset-4 col-sm-8">
<div class="inline-content-fr">
- <div data-id="r_pagination" class="inline"></div>
+ <div data-id="r_pagination" data-id="paginationDiv" class="inline"></div>
+ {{#if includeGotoPage}}
+ <div class="inline col-sm-4" data-id="paginationDiv" style="display:none">
+ <div class="input-group" data-id="goToPageDiv">
+ <input type="text" class="form-control number-input" data-id="gotoPage" placeholder="Goto Page" />
+ <span class="input-group-btn">
+ <button class="btn btn-default" type="button" data-id="gotoPagebtn" title="Goto Page" disabled="disabled">Go!</button>
+ </span>
+ </div>
+ </div>
+ {{/if}}
{{#if includePageSize}}
<div class="inline">
<div class="inline-content">
http://git-wip-us.apache.org/repos/asf/atlas/blob/c62934ae/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 02d1fef..9a39289 100644
--- a/dashboardv2/public/js/templates/search/SearchResultLayoutView_tmpl.html
+++ b/dashboardv2/public/js/templates/search/SearchResultLayoutView_tmpl.html
@@ -88,7 +88,7 @@
<div class="input-group" data-id="goToPageDiv">
<input type="text" class="form-control number-input" data-id="gotoPage" placeholder="Goto Page" />
<span class="input-group-btn">
- <button class="btn btn-secondary" type="button" data-id="gotoPagebtn" title="Goto Page" disabled="disabled">Go!</button>
+ <button class="btn btn-default" type="button" data-id="gotoPagebtn" title="Goto Page" disabled="disabled">Go!</button>
</span>
</div>
</div>
http://git-wip-us.apache.org/repos/asf/atlas/blob/c62934ae/dashboardv2/public/js/utils/TableLayout.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/utils/TableLayout.js b/dashboardv2/public/js/utils/TableLayout.js
index 2113832..9f5db6f 100644
--- a/dashboardv2/public/js/utils/TableLayout.js
+++ b/dashboardv2/public/js/utils/TableLayout.js
@@ -24,13 +24,15 @@ define(['require',
'hbs!tmpl/common/TableLayout_tmpl',
'utils/Messages',
'utils/Utils',
+ 'utils/Globals',
+ 'utils/CommonViewFunction',
'backgrid-filter',
'backgrid-paginator',
'backgrid-sizeable',
'backgrid-orderable',
'backgrid-select-all',
'backgrid-columnmanager'
-], function(require, Backbone, FSTablelayoutTmpl, Messages, Utils) {
+], function(require, Backbone, FSTablelayoutTmpl, Messages, Utils, Globals, CommonViewFunction) {
'use strict';
var FSTableLayout = Backbone.Marionette.LayoutView.extend(
@@ -125,12 +127,16 @@ define(['require',
includeAtlasPagination: false,
+ includeAtlasPageSize: false,
+
includeFilter: false,
includeHeaderSearch: false,
includePageSize: false,
+ includeGotoPage: false,
+
includeFooterRecords: true,
includeColumnManager: false,
@@ -147,6 +153,7 @@ define(['require',
var events = {},
that = this;
events['change ' + this.ui.selectPageSize] = 'onPageSizeChange';
+ events['change ' + this.ui.showPage] = 'changePageLimit';
events["click " + this.ui.nextData] = "onClicknextData";
events["click " + this.ui.previousData] = "onClickpreviousData";
events["click " + this.ui.gotoPagebtn] = 'gotoPagebtn';
@@ -174,15 +181,9 @@ define(['require',
initialize: function(options) {
this.limit = 25;
this.offset = 0;
- _.extend(this, _.pick(options, 'collection', 'columns', 'includePagination', 'includeHeaderSearch', 'includeFilter', 'includePageSize',
- 'includeFooterRecords', 'includeColumnManager', 'includeSizeAbleColumns', 'includeOrderAbleColumns', 'includeTableLoader', 'includeAtlasPagination', 'atlasPaginationOpts'));
- _.extend(this, this.atlasPaginationOpts);
+ _.extend(this, _.omit(options, 'gridOpts', 'atlasPaginationOpts'));
+ _.extend(this, options.atlasPaginationOpts);
_.extend(this.gridOpts, options.gridOpts, { collection: this.collection, columns: this.columns });
- _.extend(this.filterOpts, options.filterOpts);
- _.extend(this.paginatorOpts, options.paginatorOpts);
- _.extend(this.controlOpts, options.controlOpts);
- _.extend(this.columnOpts, options.columnOpts);
-
this.bindEvents();
},
@@ -197,6 +198,9 @@ define(['require',
this.listenTo(this.collection, 'reset', function(collection, options) {
this.$('div[data-id="r_tableSpinner"]').removeClass('show');
+ this.ui.gotoPage.val('');
+ this.ui.gotoPage.parent().removeClass('has-error');
+ this.ui.gotoPagebtn.prop("disabled", true);
if (this.includePagination) {
this.renderPagination();
}
@@ -204,7 +208,7 @@ define(['require',
this.renderFooterRecords(this.collection.state);
}
if (this.includeAtlasPagination) {
- this.renderAtlasPagination(options);
+ this.renderAtlasPagination(collection, options);
}
}, this);
@@ -261,14 +265,24 @@ define(['require',
if (this.includeColumnManager) {
this.renderColumnManager();
}
+ var pageSizeEl = null;
if (this.includePageSize) {
- this.ui.selectPageSize.select2({
+ pageSizeEl = this.ui.selectPageSize;
+ } else if (this.includeAtlasPageSize) {
+ pageSizeEl = this.ui.showPage;
+ }
+ if (pageSizeEl) {
+ pageSizeEl.select2({
data: _.sortBy(_.union([25, 50, 100, 150, 200, 250, 300, 350, 400, 450, 500], [this.collection.state.pageSize])),
tags: true,
dropdownCssClass: "number-input",
multiple: false
});
- this.ui.selectPageSize.val(this.collection.state.pageSize).trigger('change', { "skipViewChange": true });
+ var val = this.collection.state.pageSize;
+ if (this.value && this.value.pageLimit) {
+ val = this.limit;
+ }
+ pageSizeEl.val(val).trigger('change', { "skipViewChange": true });
}
},
@@ -305,6 +319,7 @@ define(['require',
this.rPagination.show(new Backgrid.Extension.Paginator(options));
} else if (this.regions.rPagination) {
this.$('div[data-id="r_pagination"]').show(new Backgrid.Extension.Paginator(options));
+ this.showHideGoToPage();
}
},
@@ -392,6 +407,14 @@ define(['require',
}
},
+ showHideGoToPage: function() {
+ if (this.collection.state.pageSize > this.collection.fullCollection.length) {
+ this.ui.paginationDiv.hide();
+ } else {
+ this.ui.paginationDiv.show();
+ }
+ },
+
/**
* show/hide filter of the grid
*/
@@ -423,6 +446,9 @@ define(['require',
* ColumnManager for the table
*/
renderColumnManager: function() {
+ if (!this.columns) {
+ return;
+ }
var that = this,
$el = this.columnOpts.el || this.$("[data-id='control']"),
colManager = new Backgrid.Extension.ColumnManager(this.columns, this.columnOpts.opts),
@@ -446,7 +472,6 @@ define(['require',
that.collection.trigger("state-changed");
});
},
-
renderSizeAbleColumns: function() {
// Add sizeable columns
var that = this,
@@ -507,11 +532,17 @@ define(['require',
onPageSizeChange: function(e, options) {
if (!options || !options.skipViewChange) {
var pagesize = $(e.currentTarget).val();
+ if (pagesize == 0) {
+ this.ui.selectPageSize.data('select2').$container.addClass('has-error');
+ return;
+ } else {
+ this.ui.selectPageSize.data('select2').$container.removeClass('has-error');
+ }
this.collection.state.pageSize = parseInt(pagesize, 10);
-
this.collection.state.currentPage = this.collection.state.firstPage;
+ this.showHideGoToPage();
if (this.collection.mode == "client") {
- this.collection.reset(this.collection.toJSON());
+ this.collection.fullCollection.reset(this.collection.fullCollection.toJSON());
} else {
this.collection.fetch({
sort: false,
@@ -521,6 +552,9 @@ define(['require',
}
}
},
+ /**
+ atlasNextBtn
+ **/
onClicknextData: function() {
this.offset = this.offset + this.limit;
_.extend(this.collection.queryParams, {
@@ -532,14 +566,15 @@ define(['require',
this.triggerUrl();
}
}
- this.ui.gotoPage.val('');
- this.ui.gotoPage.parent().removeClass('has-error');
if (this.fetchCollection) {
this.fetchCollection({
next: true
});
}
},
+ /**
+ atlasPrevBtn
+ **/
onClickpreviousData: function() {
this.offset = this.offset - this.limit;
if (this.offset <= -1) {
@@ -554,15 +589,15 @@ define(['require',
this.triggerUrl();
}
}
- this.ui.gotoPage.val('');
- this.ui.gotoPage.parent().removeClass('has-error');
if (this.fetchCollection) {
this.fetchCollection({
previous: true
});
}
},
- // TODO : Need to add pageLimit for atlasPagination
+ /**
+ atlasPageLimit
+ **/
changePageLimit: function(e, obj) {
if (!obj || (obj && !obj.skipViewChange)) {
var limit = parseInt(this.ui.showPage.val());
@@ -581,35 +616,42 @@ define(['require',
this.triggerUrl();
}
}
- this.ui.gotoPage.val('');
- this.ui.gotoPage.parent().removeClass('has-error');
_.extend(this.collection.queryParams, { limit: this.limit, offset: this.offset });
this.fetchCollection();
}
},
+ /**
+ atlasGotoBtn & Local Goto Btn
+ **/
gotoPagebtn: function(e) {
var that = this;
var goToPage = parseInt(this.ui.gotoPage.val());
if (!(_.isNaN(goToPage) || goToPage <= -1)) {
- this.offset = (goToPage - 1) * this.limit;
- if (this.offset <= -1) {
- this.offset = 0;
- }
- _.extend(this.collection.queryParams, { limit: this.limit, offset: this.offset });
- if (this.offset == (this.pageFrom - 1)) {
- Utils.notifyInfo({
- content: Messages.search.onSamePage
+ if (this.collection.mode == "client") {
+ return this.collection.getPage((goToPage - 1), {
+ reset: true
});
} else {
- if (this.value) {
- this.value.pageOffset = this.offset;
- if (this.triggerUrl) {
- this.triggerUrl();
- }
+ this.offset = (goToPage - 1) * this.limit;
+ if (this.offset <= -1) {
+ this.offset = 0;
}
- // this.offset is updated in gotoPagebtn function so use next button calculation.
- if (this.fetchCollection) {
- this.fetchCollection({ 'next': true });
+ _.extend(this.collection.queryParams, { limit: this.limit, offset: this.offset });
+ if (this.offset == (this.pageFrom - 1)) {
+ Utils.notifyInfo({
+ content: Messages.search.onSamePage
+ });
+ } else {
+ if (this.value) {
+ this.value.pageOffset = this.offset;
+ if (this.triggerUrl) {
+ this.triggerUrl();
+ }
+ }
+ // this.offset is updated in gotoPagebtn function so use next button calculation.
+ if (this.fetchCollection) {
+ this.fetchCollection({ 'next': true });
+ }
}
}
}
http://git-wip-us.apache.org/repos/asf/atlas/blob/c62934ae/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 f20ec2b..a8b1bee 100644
--- a/dashboardv2/public/js/views/schema/SchemaLayoutView.js
+++ b/dashboardv2/public/js/views/schema/SchemaLayoutView.js
@@ -92,7 +92,8 @@ define(['require',
collection: this.schemaCollection,
includeFilter: false,
includePagination: true,
- includePageSize: false,
+ includePageSize: true,
+ includeGotoPage: true,
includeFooterRecords: true,
includeOrderAbleColumns: false,
gridOpts: {
http://git-wip-us.apache.org/repos/asf/atlas/blob/c62934ae/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 d1da75b..80a1f4e 100644
--- a/dashboardv2/public/js/views/search/SearchResultLayoutView.js
+++ b/dashboardv2/public/js/views/search/SearchResultLayoutView.js
@@ -389,6 +389,9 @@ define(['require',
skipDefaultError: true,
sort: false,
success: function(dataOrCollection, response) {
+ that.ui.gotoPage.val('');
+ that.ui.gotoPage.parent().removeClass('has-error');
+ that.ui.gotoPagebtn.prop("disabled", true);
Globals.searchApiCallRef = undefined;
var isFirstPage = that.offset === 0,
dataLength = 0,
@@ -1011,8 +1014,6 @@ define(['require',
this.value.pageOffset = this.offset;
this.triggerUrl();
}
- this.ui.gotoPage.val('');
- this.ui.gotoPage.parent().removeClass('has-error');
this.fetchCollection(null, {
next: true
});
@@ -1029,8 +1030,6 @@ define(['require',
this.value.pageOffset = this.offset;
this.triggerUrl();
}
- this.ui.gotoPage.val('');
- this.ui.gotoPage.parent().removeClass('has-error');
this.fetchCollection(null, {
previous: true
});
@@ -1079,8 +1078,6 @@ define(['require',
this.value.pageOffset = this.offset;
this.triggerUrl();
}
- this.ui.gotoPage.val('');
- this.ui.gotoPage.parent().removeClass('has-error');
_.extend(this.searchCollection.queryParams, { limit: this.limit, offset: this.offset });
this.fetchCollection();
}
http://git-wip-us.apache.org/repos/asf/atlas/blob/c62934ae/dashboardv2/public/js/views/tag/TagDetailTableLayoutView.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/views/tag/TagDetailTableLayoutView.js b/dashboardv2/public/js/views/tag/TagDetailTableLayoutView.js
index 141cfa3..d934b76 100644
--- a/dashboardv2/public/js/views/tag/TagDetailTableLayoutView.js
+++ b/dashboardv2/public/js/views/tag/TagDetailTableLayoutView.js
@@ -89,6 +89,8 @@ define(['require',
includePagination: true,
includePageSize: false,
includeFooterRecords: true,
+ includePageSize: true,
+ includeGotoPage: true,
gridOpts: {
className: "table table-hover backgrid table-quickMenu",
emptyText: 'No records found!'
[2/2] atlas git commit: provide Full screen support for lineage
Posted by kb...@apache.org.
provide Full screen support for lineage
Project: http://git-wip-us.apache.org/repos/asf/atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/41b48c82
Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/41b48c82
Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/41b48c82
Branch: refs/heads/branch-0.8
Commit: 41b48c82f6142c37d0d734348911648108be866d
Parents: c62934a
Author: Abhishek Kadam <ab...@gmail.com>
Authored: Wed Jan 2 17:06:32 2019 +0530
Committer: kevalbhatt <kb...@apache.org>
Committed: Thu Jan 3 15:27:01 2019 +0530
----------------------------------------------------------------------
dashboardv2/public/css/scss/form.scss | 7 +++
dashboardv2/public/css/scss/graph.scss | 58 +++++++++++++-------
.../detail_page/DetailPageLayoutView_tmpl.html | 49 ++---------------
.../templates/graph/LineageLayoutView_tmpl.html | 17 +++---
dashboardv2/public/js/utils/Utils.js | 37 -------------
.../views/detail_page/DetailPageLayoutView.js | 46 +---------------
.../public/js/views/graph/LineageLayoutView.js | 25 +++++++--
7 files changed, 83 insertions(+), 156 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/atlas/blob/41b48c82/dashboardv2/public/css/scss/form.scss
----------------------------------------------------------------------
diff --git a/dashboardv2/public/css/scss/form.scss b/dashboardv2/public/css/scss/form.scss
index 694e885..48d4b47 100644
--- a/dashboardv2/public/css/scss/form.scss
+++ b/dashboardv2/public/css/scss/form.scss
@@ -337,6 +337,13 @@ button:focus {
}
}
+.btn-group {
+ .btn-atlas,
+ .btn-action {
+ margin: 0px;
+ }
+}
+
.pagination>.active {
>a {
background-color: $color_curious_blue_approx;
http://git-wip-us.apache.org/repos/asf/atlas/blob/41b48c82/dashboardv2/public/css/scss/graph.scss
----------------------------------------------------------------------
diff --git a/dashboardv2/public/css/scss/graph.scss b/dashboardv2/public/css/scss/graph.scss
index 23a1904..b84d59e 100644
--- a/dashboardv2/public/css/scss/graph.scss
+++ b/dashboardv2/public/css/scss/graph.scss
@@ -185,6 +185,10 @@ g.type-TK>rect {
}
.lineage-box {
+ position: absolute;
+ height: 100%;
+ width: 100%;
+ overflow: hidden;
.lineage-edge-details {
position: absolute;
left: 0;
@@ -261,22 +265,10 @@ g.type-TK>rect {
}
.graph-button-group {
- position: absolute;
- top: 5px;
- right: 5px;
-
- .zoom-button-group {
- margin-top: 8px;
- border: 1px solid;
- border-radius: 5px;
- background-color: white;
-
- [type="button"] {
- display: block;
- padding: 2px 6px;
- cursor: pointer;
- }
+ &>div {
+ display: inline-block;
}
+ .zoom-button-group {}
}
.lineage-fltr-panel {
@@ -287,9 +279,8 @@ g.type-TK>rect {
overflow: auto;
transition: all 0.3s ease;
right: -273px;
- box-shadow: 9px -14px 26px 6px;
+ box-shadow: 7px 1px 28px -3px;
background-color: #f5f5f5;
- //color: $white;
z-index: 999;
.header {
@@ -336,7 +327,7 @@ g.type-TK>rect {
.btn-gray:hover {
border: 1px solid #686868;
color: $dark_gray !important;
- background-color: transparent !important;
+ background-color: white !important;
}
@@ -344,11 +335,40 @@ span#zoom_in {
border-bottom: 1px solid #625555;
}
-.depthContainer {
+.depth-container {
//display: inline-block;
//margin-top: 3px;
.inline {
display: inline-block;
}
+}
+
+.resizeGraph {
+ position: relative;
+ width: 100%;
+ height: 64vh;
+}
+
+.active.fullscreen-mode {
+ position: fixed;
+ height: 100% !important;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ right: 0;
+ padding: 0 !important;
+ z-index: 999;
+ overflow: hidden !important;
+ .resizeGraph {
+ position: fixed;
+ height: 100% !important;
+ .ui-resizable-handle {
+ display: none;
+ }
+ }
+ .lineage-box {
+ padding: 10px !important;
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/atlas/blob/41b48c82/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 1d0ece3..e217c48 100644
--- a/dashboardv2/public/js/templates/detail_page/DetailPageLayoutView_tmpl.html
+++ b/dashboardv2/public/js/templates/detail_page/DetailPageLayoutView_tmpl.html
@@ -68,11 +68,9 @@
</div>
</div>
<div id="tab-lineage" role="lineage" class="tab-pane">
- <div class="resizeGraph animated position-relative" align="center" style="height:64vh;">
- <div id="r_lineageLayoutView">
- <div class="fontLoader">
- <i class="fa fa-refresh fa-spin-custom"></i>
- </div>
+ <div id="r_lineageLayoutView" class="resizeGraph animated position-relative" align="center">
+ <div class="fontLoader">
+ <i class="fa fa-refresh fa-spin-custom"></i>
</div>
</div>
</div>
@@ -118,43 +116,4 @@
</div>
</div>
</div>
-</div>
-</div>
-<!-- <div class="row">
- <div class="col-sm-custom">
- <div class="">
- <div class="lineageLayout">
- <div class="panel panel-default" id="panel">
- <div class="panel-heading clearfix">
- <h4 class="panel-title pull-left"> LINEAGE & IMPACT</h4>
- <div class="btn-group pull-right">
- <button type="button" class="fullscreen_panel" id="fullscreen_panel" title="Fullscreen"><i class="fa fa-expand" aria-hidden="true"></i></button>
- <button type="button" id="expand_collapse_panel" class="expand_collapse_panel" title="Collapse"><i class="fa fa-chevron-up" aria-hidden="true"></i></button>
- </div>
- </div>
- <div id="panel_body" class="panel-body graph-bg resize-graph animated" align="center">
- <div id="r_lineageLayoutView">
- <div class="fontLoader">
- <i class="fa fa-refresh fa-spin-custom"></i>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div> -->
-<!-- <div class="row">
- <div class="col-sm-custom">
- <div class="panel with-nav-tabs panel-default">
- <div class="panel-heading clearfix">
- <h4 class="panel-title pull-left">DETAILS</h4>
- <div class="btn-group pull-right">
- <button type="button" class="expand_collapse_panel" title="Collapse"><i class="fa fa-chevron-up" aria-hidden="true"></i></button>
- </div>
- </div>
- <div class="panel-body">
- </div>
- </div>
- </div>
-</div> -->
\ No newline at end of file
+</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/atlas/blob/41b48c82/dashboardv2/public/js/templates/graph/LineageLayoutView_tmpl.html
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/templates/graph/LineageLayoutView_tmpl.html b/dashboardv2/public/js/templates/graph/LineageLayoutView_tmpl.html
index be19895..b93a89c 100644
--- a/dashboardv2/public/js/templates/graph/LineageLayoutView_tmpl.html
+++ b/dashboardv2/public/js/templates/graph/LineageLayoutView_tmpl.html
@@ -15,7 +15,7 @@
* limitations under the License.
-->
<!-- <div class="graph-toolbar clearfix"></div> -->
-<div style="position: absolute;height:100%;width:100%;overflow: hidden;" class="white-bg no-padding lineage-box">
+<div class="white-bg no-padding lineage-box">
<div class="lineage-fltr-panel">
<div class="header clearfix">
<h4>Filters</h4>
@@ -38,7 +38,7 @@
</div>
</div>
</div>
- <div class="depthContainer form-group select2-mini">
+ <div class="depth-container form-group select2-mini">
<label class="control-label col-sm-4">Depth:</label>
<div class="col-sm-4 no-padding">
<select data-id="selectDepth" class="form-control"></select>
@@ -46,19 +46,22 @@
</div>
</div>
</div>
- <div class="graph-button-group">
+ <div class="graph-button-group pull-right">
<div>
<button type="button" data-id="fltr-togler" class="btn btn-action btn-gray btn-sm"><i class="fa fa-filter"></i></button>
</div>
- <div class="zoom-button-group pull-right">
- <span type="button" id="zoom_in" class="btn-md lineageZoomButton" title="Zoom In" data-id="refreshBtn"> <i class="fa fa-search-plus"></i></span>
- <span type="button" id="zoom_out" class="btn-md lineageZoomButton" title="Zoom Out" data-id="refreshBtn"> <i class="fa fa-search-minus"></i></span>
+ <div>
+ <button type="button" data-id="fullScreen-toggler" class="btn btn-action btn-gray btn-sm fullscreen_lineage"><i class="fa fa-expand"></i></button>
+ </div>
+ <div class="btn-group">
+ <button type="button" id="zoom_in" class="btn btn-action btn-gray btn-sm lineageZoomButton" title="Zoom In" data-id="refreshBtn"> <i class="fa fa-search-plus"></i></button>
+ <button type="button" id="zoom_out" class="btn btn-action btn-gray btn-sm lineageZoomButton" title="Zoom Out" data-id="refreshBtn"> <i class="fa fa-search-minus"></i></button>
</div>
</div>
<div class="fontLoader">
<i class="fa fa-refresh fa-spin-custom"></i>
</div>
- <div class="legends" style="height: 25px; padding: 2px;">
+ <div class="legends pull-left" style="height: 25px; padding: 2px;">
<span style="margin-right: 8px; color:#fb4200;"><i class="fa fa-circle-o fa-fw" aria-hidden="true"></i>Current Entity</span>
<span style="margin-right: 8px; color:#df9b00;"><i class="fa fa-long-arrow-right fa-fw" aria-hidden="true"></i>Lineage</span>
<span style="margin-right: 8px; color:#fb4200;"><i class="fa fa-long-arrow-right fa-fw" aria-hidden="true"></i>Impact</span>
http://git-wip-us.apache.org/repos/asf/atlas/blob/41b48c82/dashboardv2/public/js/utils/Utils.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/utils/Utils.js b/dashboardv2/public/js/utils/Utils.js
index 08bccb2..5e90972 100644
--- a/dashboardv2/public/js/utils/Utils.js
+++ b/dashboardv2/public/js/utils/Utils.js
@@ -768,43 +768,6 @@ define(['require', 'utils/Globals', 'pnotify', 'utils/Messages', 'utils/Enums',
this.attr(attributeName, firstString);
}
}
- $('body').on('click', '.expand_collapse_panel', function() {
- var icon = $(this).find('i'),
- panel = $(this).parents('.panel').first(),
- panelBody = panel.find('.panel-body');
- icon.toggleClass('fa-chevron-up fa-chevron-down');
- $(this).toggleAttribute('title', 'Collapse', 'Expand');
- panelBody.toggle();
- $(this).trigger('expand_collapse_panel', [$(this).parents('.panel')]);
- });
- $('body').on('click', '.fullscreen_panel', function() {
- var icon = $(this).find('i'),
- panel = $(this).parents('.panel').first(),
- panelBody = panel.find('.panel-body');
- icon.toggleClass('fa-expand fa-compress');
- $(this).toggleAttribute('title', 'Fullscreen', 'Exit Fullscreen');
- panel.toggleClass('panel-fullscreen');
- panel.find('.expand_collapse_panel').toggle();
- // Condition if user clicks on fullscree button and body is in collapse mode.
- if (panel.hasClass('panel-fullscreen')) {
- $('body').css("position", "fixed");
- if (!panelBody.is(':visible')) {
- panelBody.show();
- panelBody.addClass('full-visible');
- }
- //first show body to get width and height for postion then trigger the event.
- $(this).trigger('fullscreen_done', [$(this).parents('.panel')]);
- } else if (panelBody.hasClass('full-visible')) {
- $('body').removeAttr("style");
- $(this).trigger('fullscreen_done', [$(this).parents('.panel')]);
- //first trigger the event to getwidth and height for postion then hide body.
- panelBody.hide();
- panelBody.removeClass('full-visible');
- } else {
- $('body').removeAttr("style");
- $(this).trigger('fullscreen_done', [$(this).parents('.panel')]);
- }
- });
$('body').on('click', 'pre.code-block .expand-collapse-button', function(e) {
var $el = $(this).parents('.code-block');
http://git-wip-us.apache.org/repos/asf/atlas/blob/41b48c82/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 8f6b3fa..685fcac 100644
--- a/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js
+++ b/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js
@@ -25,8 +25,7 @@ define(['require',
'utils/Globals',
'utils/Enums',
'utils/Messages',
- 'utils/UrlLinks',
- 'jquery-ui'
+ 'utils/UrlLinks'
], function(require, Backbone, DetailPageLayoutViewTmpl, ButtonsTmpl, Utils, CommonViewFunction, Globals, Enums, Messages, UrlLinks) {
'use strict';
@@ -62,7 +61,6 @@ define(['require',
addTerm: '[data-id="addTerm"]',
tagList: '[data-id="tagList"]',
termList: '[data-id="termList"]',
- fullscreenPanel: "#fullscreen_panel",
entityIcon: '[data-id="entityIcon"]'
},
templateHelpers: function() {
@@ -237,17 +235,7 @@ define(['require',
processCheck: isProcess,
guid: this.id,
entityDefCollection: this.entityDefCollection,
- fetchCollection: this.fetchCollection.bind(this),
- actionCallBack: function() {
- that.$('#expand_collapse_panel').click();
- }
- });
- this.$(".resizeGraph").resizable({
- handles: ' s',
- minHeight: 375,
- stop: function(event, ui) {
- ui.element.height(($(this).height()));
- },
+ fetchCollection: this.fetchCollection.bind(this)
});
}
@@ -274,36 +262,6 @@ define(['require',
this.bindEvents();
Utils.showTitleLoader(this.$('.page-title .fontLoader'), this.$('.entityDetail'));
this.$('.fontLoader').show(); // to show tab loader
- this.$(".resize-graph").resizable({
- handles: ' s',
- minHeight: 375,
- stop: function(event, ui) {
- that.$('.resize-graph').height(($(this).height()));
- },
- });
- this.ui.fullscreenPanel.on('fullscreen_done', function(e, panel) {
- var svgEl = panel.find('.panel-body svg'),
- scaleEl = svgEl.find('>g'),
- zoom = that.RLineageLayoutView.currentView.zoom,
- svg = that.RLineageLayoutView.currentView.svg,
- viewThis = that.RLineageLayoutView.currentView,
- setGraphZoomPositionCal = that.RLineageLayoutView.currentView.setGraphZoomPositionCal,
- zoomed = that.RLineageLayoutView.currentView.zoomed;;
-
- if (zoom) {
- setGraphZoomPositionCal.call(viewThis);
- zoomed.call(viewThis);
- if ($(e.currentTarget).find('i').hasClass('fa fa-compress')) {
- svg.call(zoom)
- .on("dblclick.zoom", null);
-
- } else {
- svg.call(zoom)
- .on("wheel.zoom", null)
- .on("dblclick.zoom", null);
- }
- }
- })
},
onShow: function() {
var params = Utils.getUrlState.getQueryParams();
http://git-wip-us.apache.org/repos/asf/atlas/blob/41b48c82/dashboardv2/public/js/views/graph/LineageLayoutView.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/views/graph/LineageLayoutView.js b/dashboardv2/public/js/views/graph/LineageLayoutView.js
index 1edffbc..2f64f1e 100644
--- a/dashboardv2/public/js/views/graph/LineageLayoutView.js
+++ b/dashboardv2/public/js/views/graph/LineageLayoutView.js
@@ -27,7 +27,8 @@ define(['require',
'utils/Enums',
'utils/UrlLinks',
'utils/Globals',
- 'platform'
+ 'platform',
+ 'jquery-ui'
], function(require, Backbone, LineageLayoutViewtmpl, VLineageList, VEntity, Utils, dagreD3, d3Tip, Enums, UrlLinks, Globals, platform) {
'use strict';
@@ -37,6 +38,7 @@ define(['require',
_viewName: 'LineageLayoutView',
template: LineageLayoutViewtmpl,
+ className: "resizeGraph",
/** Layout sub regions */
regions: {},
@@ -48,7 +50,8 @@ define(['require',
checkDeletedEntity: "[data-id='checkDeletedEntity']",
selectDepth: 'select[data-id="selectDepth"]',
fltrTogler: '[data-id="fltr-togler"]',
- lineageFilterPanel: '.lineage-fltr-panel'
+ lineageFilterPanel: '.lineage-fltr-panel',
+ LineageFullscreenToggler: '[data-id="fullScreen-toggler"]'
},
/** ui events hash */
@@ -58,6 +61,7 @@ define(['require',
events["click " + this.ui.checkDeletedEntity] = 'onCheckUnwantedEntity';
events['change ' + this.ui.selectDepth] = 'onSelectDepthChange';
events["click " + this.ui.fltrTogler] = 'onClickFiltrTogler';
+ events["click " + this.ui.LineageFullscreenToggler] = 'onClickLineageFullscreenToggler';
return events;
},
@@ -120,6 +124,19 @@ define(['require',
},
onShow: function() {
this.$('.fontLoader').show();
+ this.$el.resizable({
+ handles: ' s',
+ minHeight: 375,
+ stop: function(event, ui) {
+ ui.element.height(($(this).height()));
+ },
+ });
+ },
+ onClickLineageFullscreenToggler: function(e) {
+ var icon = $(e.target).find('i'),
+ panel = $(e.target).parents('.tab-pane').first();
+ icon.toggleClass('fa-expand fa-compress');
+ panel.toggleClass('fullscreen-mode');
},
onCheckUnwantedEntity: function(e) {
var data = $.extend(true, {}, this.lineageData);
@@ -173,7 +190,7 @@ define(['require',
},
noLineage: function() {
this.$('.fontLoader').hide();
- this.$('.depthContainer').hide();
+ this.$('.depth-container').hide();
//this.$('svg').height('100');
this.$('svg').html('<text x="50%" y="50%" alignment-baseline="middle" text-anchor="middle">No lineage data found</text>');
if (this.actionCallBack) {
@@ -484,7 +501,7 @@ define(['require',
interpolateZoom([view.x, view.y], view.k);
}
- d3.selectAll(this.$('span.lineageZoomButton')).on('click', zoomClick);
+ d3.selectAll(this.$('.lineageZoomButton')).on('click', zoomClick);
var tooltip = d3Tip()
.attr('class', 'd3-tip')
.offset([10, 0])