Repository: incubator-htrace Updated Branches: refs/heads/master ab5837448 -> 3dc369af4
HTRACE-146. Search page: Remove client-side sorting and improve pagination Project: http://git-wip-us.apache.org/repos/asf/incubator-htrace/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-htrace/commit/3dc369af Tree: http://git-wip-us.apache.org/repos/asf/incubator-htrace/tree/3dc369af Diff: http://git-wip-us.apache.org/repos/asf/incubator-htrace/diff/3dc369af Branch: refs/heads/master Commit: 3dc369af49e9e0b0fa151a3942ffa29661763a98 Parents: ab58374 Author: Abraham Elmahrek <[email protected]> Authored: Tue Mar 31 16:42:47 2015 -0700 Committer: Abraham Elmahrek <[email protected]> Committed: Wed Apr 1 18:15:51 2015 -0700 ---------------------------------------------------------------------- htrace-core/src/web/app/models/span.js | 23 ++++++++++++++++------- htrace-core/src/web/app/setup.js | 15 ++++++++++----- 2 files changed, 26 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-htrace/blob/3dc369af/htrace-core/src/web/app/models/span.js ---------------------------------------------------------------------- diff --git a/htrace-core/src/web/app/models/span.js b/htrace-core/src/web/app/models/span.js index 06b6b3c..b8dc114 100644 --- a/htrace-core/src/web/app/models/span.js +++ b/htrace-core/src/web/app/models/span.js @@ -60,6 +60,7 @@ app.Spans = Backbone.PageableCollection.extend({ state: { pageSize: 10, lastSpanId: null, + finished: false, predicates: [] }, queryParams: { @@ -95,7 +96,7 @@ app.Spans = Backbone.PageableCollection.extend({ } return JSON.stringify({ - lim: this.state.pageSize, + lim: this.state.pageSize + 1, pred: predicates }); } @@ -111,17 +112,25 @@ app.Spans = Backbone.PageableCollection.extend({ }, parseLinks: function(resp, xhr) { - if (resp.length >= this.state.pageSize) { - this.state.lastSpanId = resp[resp.length - 1].s; + this.state.finished = resp.length <= this.state.pageSize; - return { - "next": "/query?query=" + this.queryParams.query.call(this) - }; - } else { + if (this.state.finished) { this.state.lastSpanId = null; + } else { + this.state.lastSpanId = resp[this.state.pageSize - 1].s; + } + if (this.state.finished) { return {}; } + + return { + "next": "/query?query=" + this.queryParams.query.call(this) + }; + }, + + parseRecords: function(resp) { + return resp.slice(0, 10); }, setPredicates: function(predicates) { http://git-wip-us.apache.org/repos/asf/incubator-htrace/blob/3dc369af/htrace-core/src/web/app/setup.js ---------------------------------------------------------------------- diff --git a/htrace-core/src/web/app/setup.js b/htrace-core/src/web/app/setup.js index 90915e3..3c32118 100644 --- a/htrace-core/src/web/app/setup.js +++ b/htrace-core/src/web/app/setup.js @@ -67,17 +67,20 @@ var Router = Backbone.Marionette.AppRouter.extend({ } } }), - "editable": false + "editable": false, + "sortable": false }, { "name": "spanId", "label": "ID", "cell": "string", - "editable": false + "editable": false, + "sortable": false }, { "name": "processId", "label": "processId", "cell": "string", - "editable": false + "editable": false, + "sortable": false }, { "label": "Duration", "cell": Backgrid.Cell.extend({ @@ -91,12 +94,14 @@ var Router = Backbone.Marionette.AppRouter.extend({ } } }), - "editable": false + "editable": false, + "sortable": false }, { "name": "description", "label": "Description", "cell": "string", - "editable": false + "editable": false, + "sortable": false }], "row": Backgrid.Row.extend({ "events": {
