diff --git a/app/components/ember-data-landing-page.hbs b/app/components/ember-data-landing-page.hbs new file mode 100644 index 000000000..0b5eb0a37 --- /dev/null +++ b/app/components/ember-data-landing-page.hbs @@ -0,0 +1,56 @@ +<
+

+ Ember Data API Documentation +

+

+ Ember Data is a library for robustly managing data in applications built with Ember.js. +

+

+ Commonly searched-for documentation +

+ +

+ Useful links +

+ +
\ No newline at end of file diff --git a/app/components/ember-landing-page.hbs b/app/components/ember-landing-page.hbs new file mode 100644 index 000000000..72572f558 --- /dev/null +++ b/app/components/ember-landing-page.hbs @@ -0,0 +1,39 @@ +
+

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

+ +

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

- -

Useful links

- -
+{{#if (eq @model.id "ember-data")}} + +{{else}} + +{{/if}} diff --git a/tests/acceptance/redirects-test.js b/tests/acceptance/redirects-test.js index e71e5bf24..a6d8157d2 100644 --- a/tests/acceptance/redirects-test.js +++ b/tests/acceptance/redirects-test.js @@ -15,16 +15,6 @@ module('Acceptance | redirects', function(hooks) { assert.dom('h1').hasText('Ember API Documentation'); }); - test('visiting /ember-data', async function (assert) { - await visit('/ember-data'); - assert.equal( - currentURL(), - `/ember-data/release`, - 'routes to the landing page' - ); - assert.dom('h1').hasText('Ember API Documentation'); - }); - test('visiting pre-2.16 version', async function(assert) { await visit('/ember/1.0');