diff --git a/wherehows-web/app/components/browser/containers/browser-rail.ts b/wherehows-web/app/components/browser/containers/browser-rail.ts index 4d88958c64..abbd858fd5 100644 --- a/wherehows-web/app/components/browser/containers/browser-rail.ts +++ b/wherehows-web/app/components/browser/containers/browser-rail.ts @@ -1,5 +1,6 @@ import Component from '@ember/component'; import { get, set } from '@ember/object'; +import { alias } from '@ember/object/computed'; import { task } from 'ember-concurrency'; import { DatasetPlatform, nodeToQueryParams } from 'wherehows-web/constants'; import { IBrowserRouteParams } from 'wherehows-web/routes/browse/entity'; @@ -65,6 +66,12 @@ export default class BrowserRail extends Component { */ params: IBrowserRouteParams; + /** + * Text to be displayed at the top of the rail + * @type {string} + */ + header = alias('params.platform'); + /** * Maintains a list the nodes platforms or prefixes available in the selected entity * @type {Array} @@ -87,12 +94,14 @@ export default class BrowserRail extends Component { * @type {TaskProperty> & {perform: (a?: {} | undefined) => TaskInstance>}} * @memberof BrowserRail */ - getNodesTask = task(function*(this: BrowserRail): IterableIterator>> { + getNodesTask = task(function*( + this: BrowserRail + ): IterableIterator> | Promise>> { const { prefix, platform, entity } = get(this, 'params'); const nodes: Array = mapNodeToRoute(platform, entity)( yield readPlatforms({ platform, prefix }) ); set(this, 'nodes', nodes); - }).drop(); + }).restartable(); } diff --git a/wherehows-web/app/components/browser/containers/browser-viewport.ts b/wherehows-web/app/components/browser/containers/browser-viewport.ts index 3df1c3aa1a..38db5cd16c 100644 --- a/wherehows-web/app/components/browser/containers/browser-viewport.ts +++ b/wherehows-web/app/components/browser/containers/browser-viewport.ts @@ -97,7 +97,7 @@ export default class BrowserViewport extends Component { }); return response; - }).drop(); + }).restartable(); /** * Async requests for the list of entities and sets the value on class @@ -113,7 +113,7 @@ export default class BrowserViewport extends Component { yield ({ datasets: get(this, 'getDatasetsTask').perform('set', offset) })[entity]; - }); + }).restartable(); /** * The max possible entities that can currently be requested up to this.count diff --git a/wherehows-web/app/styles/components/nacho/_nacho-filter-rail.scss b/wherehows-web/app/styles/components/nacho/_nacho-filter-rail.scss index eac9f74d6c..380cd066ee 100644 --- a/wherehows-web/app/styles/components/nacho/_nacho-filter-rail.scss +++ b/wherehows-web/app/styles/components/nacho/_nacho-filter-rail.scss @@ -36,7 +36,8 @@ $pad-width: 16px; .nacho-filter-card { @include restyle(filter-card); max-height: 625px; - overflow: scroll; + overflow-y: scroll; + overflow-x: hidden; &:last-child { border-bottom: none; diff --git a/wherehows-web/app/templates/components/browser/containers/browser-rail.hbs b/wherehows-web/app/templates/components/browser/containers/browser-rail.hbs index 3f0b8f9aa6..e0f52b763f 100644 --- a/wherehows-web/app/templates/components/browser/containers/browser-rail.hbs +++ b/wherehows-web/app/templates/components/browser/containers/browser-rail.hbs @@ -1 +1 @@ -{{browser/browser-rail nodes=nodes nodesTask=getNodesTask}} +{{browser/browser-rail nodes=nodes nodesTask=getNodesTask header=header}}