Skip to content

Commit 3daf6e6

Browse files
[Bugfix]Fix autoscroll to methods issue
1 parent 61339a8 commit 3daf6e6

File tree

6 files changed

+42
-3
lines changed

6 files changed

+42
-3
lines changed

app/mixins/scroll-page.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import Mixin from '@ember/object/mixin';
2+
import { inject as service } from '@ember/service';
3+
import $ from 'jquery';
4+
import config from 'ember-api-docs/config/environment';
5+
6+
export default Mixin.create({
7+
scrollPositionReset: service(),
8+
actions: {
9+
didTransition() {
10+
this._super();
11+
if ((typeof FastBoot === 'undefined') && this.get('controller.anchor') === '' ) {
12+
let elem = $('#methods');
13+
let offset = (elem && elem.offset && elem.offset()) ? elem.offset().top : null;
14+
if (offset) {
15+
const navMenuHeight = $('header').outerHeight();
16+
$(config.APP.scrollContainerElement).scrollTop(offset - navMenuHeight - 10);
17+
}
18+
} else {
19+
this.get('scrollPositionReset').doReset();
20+
}
21+
}
22+
}
23+
});
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import Route from '@ember/routing/route';
2+
import ScrollPage from 'ember-api-docs/mixins/scroll-page';
23

3-
export default Route.extend({
4+
export default Route.extend(ScrollPage, {
45
templateName: 'methods'
56
});
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import Route from '@ember/routing/route';
2+
import ScrollPage from 'ember-api-docs/mixins/scroll-page';
23

3-
export default Route.extend({
4+
export default Route.extend(ScrollPage, {
45
templateName: 'methods'
56
});
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import Route from '@ember/routing/route';
2+
import ScrollPage from 'ember-api-docs/mixins/scroll-page';
23

3-
export default Route.extend({
4+
export default Route.extend(ScrollPage, {
45
templateName: 'methods'
56
});

app/templates/project-version/classes/class.hbs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@
6363
(query-params anchor="")
6464
class="tabbed-layout__menu__item"
6565
activeClass="tabbed-layout__menu__item_selected"
66+
id="methods"
6667
current-when=(concat parentName ".methods")
6768
data-test-tab="methods"
6869
}}

tests/unit/mixins/scroll-page-test.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import Ember from 'ember';
2+
import ScrollPageMixin from 'ember-api-docs/mixins/scroll-page';
3+
import { module, test } from 'qunit';
4+
5+
module('Unit | Mixin | scroll page');
6+
7+
// Replace this with your real tests.
8+
test('it works', function(assert) {
9+
let ScrollPageObject = Ember.Object.extend(ScrollPageMixin);
10+
let subject = ScrollPageObject.create();
11+
assert.ok(subject);
12+
});

0 commit comments

Comments
 (0)