-
-
Notifications
You must be signed in to change notification settings - Fork 115
/
Copy pathmodule.js
36 lines (30 loc) · 1.07 KB
/
module.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/* eslint-disable ember/no-mixins, prettier/prettier */
import ClassRoute from '../classes/class';
import ScrollTracker from 'ember-api-docs/mixins/scroll-tracker';
import getFullVersion from 'ember-api-docs/utils/get-full-version';
export default class ModuleRoute extends ClassRoute.extend(ScrollTracker) {
async model(params) {
const { project, project_version: compactVersion } =
this.paramsFor('project-version');
let projectObj = await this.store.findRecord('project', project);
let projectVersion = getFullVersion(
compactVersion,
project,
projectObj,
this.metaStore
);
let klass = params['module'];
// These modules should not have `ember-` tacked onto the front of them
// when forming the ids and URLs.
let isNotEmber = klass.match(/@warp-drive|@glimmer|rsvp|jquery/);
if (!~klass.indexOf(project) && !isNotEmber) {
klass = `${project}-${klass}`;
}
return this.find('module', `${project}-${projectVersion}-${klass}`);
}
serialize(model) {
return {
module: model.get('name'),
};
}
}