diff options
| author | Hunternif <hunternif@gmail.com> | 2019-05-08 00:14:26 +0700 |
|---|---|---|
| committer | Hunternif <hunternif@gmail.com> | 2019-05-08 00:14:26 +0700 |
| commit | c8aeb7e0b12be55a233ef13d0bf9a0eacb7a1464 (patch) | |
| tree | 95a11eae3bd3427243f0cca26430dfde4b8307bc | |
| parent | de87b632c9858a5348d3132f2a15c5e6aeddfdba (diff) | |
client: pass query to post page and metric sorter
| -rw-r--r-- | client/js/controllers/post_main_controller.js | 11 | ||||
| -rw-r--r-- | client/js/controls/metric_header_control.js | 11 | ||||
| -rw-r--r-- | client/js/views/posts_header_view.js | 5 |
3 files changed, 12 insertions, 15 deletions
diff --git a/client/js/controllers/post_main_controller.js b/client/js/controllers/post_main_controller.js index 1f802c6..38e1a42 100644 --- a/client/js/controllers/post_main_controller.js +++ b/client/js/controllers/post_main_controller.js @@ -24,17 +24,6 @@ class PostMainController extends BasePostController { PostList.getAround(ctx.parameters.id, query), ]).then(responses => { const [post, aroundResponse] = responses; - - // remove junk from query, but save it into history so that it can - // be still accessed after history navigation / page refresh - if (parameters.query || parameters.metrics) { - ctx.state.parameters = parameters; - const url = editMode ? - uri.formatClientLink('post', ctx.parameters.id, 'edit') : - uri.formatClientLink('post', ctx.parameters.id); - router.replace(url, ctx.state, false); - } - this._post = post; this._view = new PostMainView({ post: post, diff --git a/client/js/controls/metric_header_control.js b/client/js/controls/metric_header_control.js index 9f62e1f..6a70b5b 100644 --- a/client/js/controls/metric_header_control.js +++ b/client/js/controls/metric_header_control.js @@ -25,7 +25,7 @@ class MetricHeaderControl extends events.EventTarget { this._ctx.allMetrics = response.results; this._addSelectedMetrics(ctx.parameters.metrics); this._installMetrics(response.results); - this._refreshStartSortingBtn(); + this._refreshStartSortingButton(); }); } @@ -66,15 +66,20 @@ class MetricHeaderControl extends events.EventTarget { metrics: this._selectedMetrics .map(m => m.tag.names[0]).join(' '), }); - this._refreshStartSortingBtn(); + this._refreshStartSortingButton(); this.dispatchEvent(new CustomEvent('submit')); } - _refreshStartSortingBtn() { + _refreshStartSortingButton() { let btn = this._hostNode.querySelector('a.sorting'); btn.hidden = !this._selectedMetrics.length; btn.setAttribute('href', views.getMetricSorterUrl('random', this._ctx.parameters)); } + + refreshQuery(query) { + this._ctx.parameters.query = query; + this._refreshStartSortingButton(); + } } module.exports = MetricHeaderControl; diff --git a/client/js/views/posts_header_view.js b/client/js/views/posts_header_view.js index 86c6998..d8a87ea 100644 --- a/client/js/views/posts_header_view.js +++ b/client/js/views/posts_header_view.js @@ -221,7 +221,7 @@ class PostsHeaderView extends events.EventTarget { } else if (ctx.parameters.relations && this._bulkAddRelationEditor) { this._openBulkEditor(this._bulkAddRelationEditor); } - if (ctx.parameters.metrics) { + if (ctx.parameters.metrics && this._metricsBlockNode) { this._toggleMetricsBlock(true); } } @@ -364,6 +364,9 @@ class PostsHeaderView extends events.EventTarget { _evtFormSubmit(e) { e.preventDefault(); this._navigate(); + if (this._metricControl) { + this._metricControl.refreshQuery(this._queryInputNode.value); + } } _evtRandomizeButtonClick(e) { e.preventDefault(); |