+ Ember API Documentation
+
+ To get started, choose a project (Ember or Ember Data) and a version
+ from the dropdown menu. Ember has core methods used in any app, while Ember Data has
+ documentation of the built-in library for making requests to a back end.
+ If you're looking for documentation of the command line tool used to generate files, build your
+ app, and more, visit ember-cli. The latest
+ testing API is available at
+ ember-test-helpers.
+
+ Commonly searched-for documentation
+
+ - Components - {{#link-to 'project-version.classes.class' 'Component'}}Classic{{/link-to}} or {{#link-to 'project-version.modules.module' '@glimmer/component'}}Glimmer{{/link-to}}; a view that is completely isolated
+ - {{#link-to 'project-version.functions.function' '@glimmer/tracking' 'tracked'}}Tracked{{/link-to}} - make your templates responsive to property updates
+ - {{#link-to 'project-version.classes.class' 'ComputedProperty'}}Computed Properties{{/link-to}} - declare functions as properties
+ - {{#link-to 'project-version.classes.class' '@ember/object/computed'}}Computed Macros{{/link-to}} - shorter ways of expressing certain types of computed properties
+ - {{#link-to 'project-version.classes.class' 'EmberArray'}}EmberArray{{/link-to}} - contains methods like {{#link-to 'project-version.classes.class.methods.method' 'EmberArray' 'forEach' (query-params anchor='forEach')}}forEach{{/link-to}} and {{#link-to 'project-version.classes.class.methods.method' 'EmberArray' 'mapBy' (query-params anchor='mapBy')}}mapBy{{/link-to}} that help you iterate over Ember Objects
+ - {{#link-to 'project-version.classes.class' 'EmberObject'}}EmberObject{{/link-to}} - the main base class for all Ember objects, including the {{#link-to 'project-version.classes.class.methods.method' 'EmberObject' 'get' (query-params anchor='get')}}get{{/link-to}} and {{#link-to 'project-version.classes.class.methods.method' 'EmberObject' 'set' (query-params anchor='set')}}set{{/link-to}} methods
+ - {{#link-to 'project-version.classes.class' 'Ember.Templates.helpers'}}Ember.Templates.helpers{{/link-to}} - built-in functions that can be used in templates, such as the {{#link-to 'project-version.classes.class.methods.method' 'Ember.Templates.helpers' 'each' (query-params anchor='each')}}each{{/link-to}} helper
+ - {{#link-to 'project-version.classes.class' 'Ember.Templates.helpers'}}Ember.Templates.helpers{{/link-to}} - built-in functions that can be used in templates, such as the {{#link-to 'project-version.classes.class.methods.method' 'Ember.Templates.helpers' 'each' (query-params anchor='each')}}each{{/link-to}}, {{#link-to 'project-version.classes.class.methods.method' 'Ember.Templates.helpers' 'on' (query-params anchor='on')}}on{{/link-to}} and {{#link-to 'project-version.classes.class.methods.method' 'Ember.Templates.helpers' 'fn' (query-params anchor='fn')}}fn{{/link-to}} helpers
+ - {{#link-to 'project-version.classes.class' 'Helper'}}Helpers{{/link-to}} - a way to define custom display functions that are used in templates
+ - {{#link-to 'project-version.classes.class' 'Route'}}Route{{/link-to}} - used to define individual routes, including the {{#link-to 'project-version.classes.class.methods.method' 'Route' 'model' (query-params anchor='model')}}model{{/link-to}} hook for loading data
+ - {{#link-to 'project-version.classes.class' 'Service'}}Service{{/link-to}} - an Ember object that lives for the duration of the application, and can be made available in different parts of your application
+
+ Useful links
+
+
diff --git a/app/controllers/project-version.js b/app/controllers/project-version.js
index 8a11065b1..00ce8926a 100644
--- a/app/controllers/project-version.js
+++ b/app/controllers/project-version.js
@@ -44,7 +44,8 @@ export default Controller.extend({
getModuleRelationships(versionId, moduleType) {
let relations = this.getRelations(moduleType);
- return relations.map(id => id.substring(versionId.length + 1))
+ // filter overviews out. If other projects add their overview we should filter those too.
+ return relations.map(id => id.substring(versionId.length + 1)).filter(id => id !== 'ember-data-overview');
},
getRelations(relationship) {
diff --git a/app/routes/project-version.js b/app/routes/project-version.js
index c9fddd8df..a5fbc7b7f 100644
--- a/app/routes/project-version.js
+++ b/app/routes/project-version.js
@@ -54,6 +54,15 @@ export default Route.extend({
if (!shouldConvertPackages || isLatestVersion) {
// ... and the transition version is the latest release,
// display the landing page at
+
+ // ember-data if @main declaration exists for ember-data-overview
+ let versionId = model.get('id');
+ let modules = model.hasMany('modules').ids().map(id => id.substring(versionId.length + 1));
+ if (model.get('project.id') === 'ember-data' && modules.indexOf('ember-data-overview') !== -1) {
+ return this.transitionTo('project-version.modules.module', model.get('project.id'), transitionVersion, 'ember-data-overview');
+ }
+
+ // ember / ember-cli / ember-data if no @main declaration exists for ember-data-overview
return this.transitionTo('project-version.index');
} else {
// else go to the version specified
diff --git a/app/routes/project-version/index.js b/app/routes/project-version/index.js
index 6c74252aa..fea982b9e 100644
--- a/app/routes/project-version/index.js
+++ b/app/routes/project-version/index.js
@@ -1,4 +1,9 @@
import Route from '@ember/routing/route';
export default Route.extend({
+ async model() {
+ const projectVersion = this.modelFor('project-version');
+ const project = await projectVersion.project;
+ return project;
+ }
});
diff --git a/app/templates/project-version/index.hbs b/app/templates/project-version/index.hbs
index 72572f558..af49c7180 100644
--- a/app/templates/project-version/index.hbs
+++ b/app/templates/project-version/index.hbs
@@ -1,39 +1,5 @@
-
- Ember API Documentation
-
- To get started, choose a project (Ember or Ember Data) and a version
- from the dropdown menu. Ember has core methods used in any app, while Ember Data has
- documentation of the built-in library for making requests to a back end.
- If you're looking for documentation of the command line tool used to generate files, build your
- app, and more, visit ember-cli. The latest
- testing API is available at
- ember-test-helpers.
-
- Commonly searched-for documentation
-
- - Components - {{#link-to 'project-version.classes.class' 'Component'}}Classic{{/link-to}} or {{#link-to 'project-version.modules.module' '@glimmer/component'}}Glimmer{{/link-to}}; a view that is completely isolated
- - {{#link-to 'project-version.functions.function' '@glimmer/tracking' 'tracked'}}Tracked{{/link-to}} - make your templates responsive to property updates
- - {{#link-to 'project-version.classes.class' 'ComputedProperty'}}Computed Properties{{/link-to}} - declare functions as properties
- - {{#link-to 'project-version.classes.class' '@ember/object/computed'}}Computed Macros{{/link-to}} - shorter ways of expressing certain types of computed properties
- - {{#link-to 'project-version.classes.class' 'EmberArray'}}EmberArray{{/link-to}} - contains methods like {{#link-to 'project-version.classes.class.methods.method' 'EmberArray' 'forEach' (query-params anchor='forEach')}}forEach{{/link-to}} and {{#link-to 'project-version.classes.class.methods.method' 'EmberArray' 'mapBy' (query-params anchor='mapBy')}}mapBy{{/link-to}} that help you iterate over Ember Objects
- - {{#link-to 'project-version.classes.class' 'EmberObject'}}EmberObject{{/link-to}} - the main base class for all Ember objects, including the {{#link-to 'project-version.classes.class.methods.method' 'EmberObject' 'get' (query-params anchor='get')}}get{{/link-to}} and {{#link-to 'project-version.classes.class.methods.method' 'EmberObject' 'set' (query-params anchor='set')}}set{{/link-to}} methods
- - {{#link-to 'project-version.classes.class' 'Ember.Templates.helpers'}}Ember.Templates.helpers{{/link-to}} - built-in functions that can be used in templates, such as the {{#link-to 'project-version.classes.class.methods.method' 'Ember.Templates.helpers' 'each' (query-params anchor='each')}}each{{/link-to}} helper
- - {{#link-to 'project-version.classes.class' 'Ember.Templates.helpers'}}Ember.Templates.helpers{{/link-to}} - built-in functions that can be used in templates, such as the {{#link-to 'project-version.classes.class.methods.method' 'Ember.Templates.helpers' 'each' (query-params anchor='each')}}each{{/link-to}}, {{#link-to 'project-version.classes.class.methods.method' 'Ember.Templates.helpers' 'on' (query-params anchor='on')}}on{{/link-to}} and {{#link-to 'project-version.classes.class.methods.method' 'Ember.Templates.helpers' 'fn' (query-params anchor='fn')}}fn{{/link-to}} helpers
- - {{#link-to 'project-version.classes.class' 'Helper'}}Helpers{{/link-to}} - a way to define custom display functions that are used in templates
- - {{#link-to 'project-version.classes.class' 'Route'}}Route{{/link-to}} - used to define individual routes, including the {{#link-to 'project-version.classes.class.methods.method' 'Route' 'model' (query-params anchor='model')}}model{{/link-to}} hook for loading data
- - {{#link-to 'project-version.classes.class' 'Service'}}Service{{/link-to}} - an Ember object that lives for the duration of the application, and can be made available in different parts of your application
-
- Useful links
-
-
+{{#if (eq @model.id "ember-data")}}
+