Skip to content

Commit 6082c26

Browse files
authored
Merge pull request #951 from ember-learn/remove-routes
Remove routes
2 parents 9675bf5 + 0f8f1be commit 6082c26

File tree

21 files changed

+58
-283
lines changed

21 files changed

+58
-283
lines changed

app/components/ember-landing-page.hbs

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,27 @@
1818
<li><LinkTo @route='project-version.classes.class' @model='ComputedProperty'>Computed Properties</LinkTo> - declare functions as properties</li>
1919
{{! template-lint-disable no-potential-path-strings }}
2020
<li><LinkTo @route='project-version.classes.class' @model='@ember/object/computed'>Computed Macros</LinkTo> - shorter ways of expressing certain types of computed properties</li>
21-
<li><LinkTo @route='project-version.classes.class' @model='EmberArray'>EmberArray</LinkTo> - contains methods like <LinkTo @route='project-version.classes.class.methods.method' @models={{array 'EmberArray' 'forEach'}} @query={{hash anchor='forEach'}}>forEach</LinkTo> and <LinkTo @route='project-version.classes.class.methods.method' @models={{array 'EmberArray' 'mapBy'}} @query={{hash anchor='mapBy'}}>mapBy</LinkTo> that help you iterate over Ember Objects</li>
22-
<li><LinkTo @route='project-version.classes.class' @model='EmberObject'>EmberObject</LinkTo> - the main base class for all Ember objects, including the <LinkTo @route='project-version.classes.class.methods.method' @models={{array 'EmberObject' 'get'}} @query={{hash anchor='get'}}>get</LinkTo> and <LinkTo @route='project-version.classes.class.methods.method' @models={{array 'EmberObject' 'set'}} @query={{hash anchor='set'}}>set</LinkTo> methods</li>
23-
<li><LinkTo @route='project-version.classes.class' @model='Ember.Templates.helpers'>Ember.Templates.helpers</LinkTo> - built-in functions that can be used in templates, such as the <LinkTo @route='project-version.classes.class.methods.method' @models={{array 'Ember.Templates.helpers' 'each'}} @query={{hash anchor='each'}}>each</LinkTo>, <LinkTo @route='project-version.classes.class.methods.method' @models={{array 'Ember.Templates.helpers' 'on'}} @query={{hash anchor='on'}}>on</LinkTo> and <LinkTo @route='project-version.classes.class.methods.method' @models={{array 'Ember.Templates.helpers' 'fn'}} @query={{hash anchor='fn'}}>fn</LinkTo> helpers</li>
21+
<li>
22+
<LinkTo @route='project-version.classes.class' @model='EmberArray'>EmberArray</LinkTo> - contains methods like
23+
<a href="/ember/{{@version}}/classes/EmberArray#forEach">forEach</a> and
24+
<a href="/ember/{{@version}}/classes/EmberArray#mapBy">mapBy</a>
25+
that help you iterate over Ember Objects
26+
</li>
27+
<li>
28+
<LinkTo @route='project-version.classes.class' @model='EmberObject'>EmberObject</LinkTo> - the main base class for all Ember objects, including the
29+
<a href="/ember/{{@version}}/classes/EmberObject#get">get</a> and
30+
<a href="/ember/{{@version}}/classes/EmberObject#set">set</a> methods
31+
</li>
32+
<li>
33+
<LinkTo @route='project-version.classes.class' @model='Ember.Templates.helpers'>Ember.Templates.helpers</LinkTo> - built-in functions that can be used in templates, such as the
34+
<a href="/ember/{{@version}}/classes/Ember.Templates.helpers#each">each</a> and
35+
<a href="/ember/{{@version}}/classes/Ember.Templates.helpers#on">on</a> helpers
36+
</li>
2437
<li><LinkTo @route='project-version.classes.class' @model='Helper'>Helpers</LinkTo> - a way to define custom display functions that are used in templates</li>
25-
<li><LinkTo @route='project-version.classes.class' @model='Route'>Route</LinkTo> - used to define individual routes, including the <LinkTo @route='project-version.classes.class.methods.method' @models={{array 'Route' 'model'}} @query={{hash anchor='model'}}>model</LinkTo> hook for loading data</li>
38+
<li>
39+
<LinkTo @route='project-version.classes.class' @model='Route'>Route</LinkTo> - used to define individual routes, including the
40+
<a href="/ember/{{@version}}/classes/Route#model">model</a> hook for loading data
41+
</li>
2642
<li><LinkTo @route='project-version.classes.class' @model='Service'>Service</LinkTo> - an Ember object that lives for the duration of the application, and can be made available in different parts of your application</li>
2743
</ul>
2844
<h2>Useful links</h2>

app/controllers/project-version.js

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -149,32 +149,27 @@ export default class ProjectVersionController extends Controller {
149149
endingRoute = `classes/${className}`;
150150
break;
151151
}
152-
case 'project-version.classes.class.index': {
153-
let className = this._getEncodedNameForCurrentClass();
154-
endingRoute = `classes/${className}`;
155-
break;
156-
}
157-
case 'project-version.modules.module.index': {
152+
case 'project-version.modules.module': {
158153
let moduleName = encodeURIComponent(this.moduleController.model.name);
159154
endingRoute = `modules/${moduleName}`;
160155
break;
161156
}
162-
case 'project-version.namespaces.namespace.index': {
157+
case 'project-version.namespaces.namespace': {
163158
let namespaceName = this.namespaceController.model.name;
164159
endingRoute = `namespaces/${namespaceName}`;
165160
break;
166161
}
167-
case 'project-version.classes.class.methods.index': {
162+
case 'project-version.classes.class.methods': {
168163
let className = this._getEncodedNameForCurrentClass();
169164
endingRoute = `classes/${className}/methods`;
170165
break;
171166
}
172-
case 'project-version.classes.class.events.index': {
167+
case 'project-version.classes.class.events': {
173168
let className = this._getEncodedNameForCurrentClass();
174169
endingRoute = `classes/${className}/events`;
175170
break;
176171
}
177-
case 'project-version.classes.class.properties.index': {
172+
case 'project-version.classes.class.properties': {
178173
let className = this._getEncodedNameForCurrentClass();
179174
endingRoute = `classes/${className}/properties`;
180175
break;

app/router.js

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ AppRouter.map(function () {
4646
// project-version.classes-redirect => project-version.classes.index
4747
// project-version.class => project-version.classes.class
4848
this.route('classes', function () {
49-
this.route('class', { path: '/:class' }, itemRoutes);
49+
this.route('class', { path: '/:class' });
5050
});
5151
// this.route('class', {path: '/classes/:class'}, itemRoutes);
5252

@@ -58,7 +58,7 @@ AppRouter.map(function () {
5858
// project-version.namespace => project-version.namespaces.namespace
5959
// routes/project-version/namespace => routes/project-version/namespaces/namespace
6060
this.route('namespaces', function () {
61-
this.route('namespace', { path: '/:namespace' }, itemRoutes);
61+
this.route('namespace', { path: '/:namespace' });
6262
});
6363
// this.route('namespace', {path: '/namespaces/:namespace'}, itemRoutes);
6464

@@ -67,22 +67,9 @@ AppRouter.map(function () {
6767
// routes/project-version/module => routes/project-version/modules/module
6868
// routes/project-version/module/* => routes/project-version/modules/module/*
6969
this.route('modules', function () {
70-
this.route('module', { path: '/:module' }, itemRoutes);
70+
this.route('module', { path: '/:module' });
7171
});
7272
// this.route('module', {path: '/modules/:module'}, itemRoutes);
73-
74-
// Common sub-routes
75-
function itemRoutes() {
76-
this.route('methods', function () {
77-
this.route('method', { path: '/:method' });
78-
});
79-
this.route('properties', function () {
80-
this.route('property', { path: '/:property' });
81-
});
82-
this.route('events', function () {
83-
this.route('event', { path: '/:event' });
84-
});
85-
}
8673
}
8774
);
8875
this.route('class', { path: '/classes/:class' });

app/routes/project-version.js

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import Route from '@ember/routing/route';
33
import semverCompare from 'semver-compare';
44
import getFullVersion from 'ember-api-docs/utils/get-full-version';
55
import getLastVersion from 'ember-api-docs/utils/get-last-version';
6-
import getCompactVersion from 'ember-api-docs/utils/get-compact-version';
76

87
import config from 'ember-api-docs/config/environment';
98

@@ -135,20 +134,6 @@ export default class ProjectVersionRoute extends Route {
135134
};
136135
}
137136

138-
// Input some version info, returns a boolean based on
139-
// whether the user is switching versions for a 2.16 docs release or later.
140-
// The urls for pre-2.16 classes and later packages are quite different
141-
shouldConvertPackages(targetVer, previousVer) {
142-
let targetVersion = getCompactVersion(targetVer.id);
143-
let previousVersion = getCompactVersion(previousVer);
144-
let previousComparison = semverCompare(previousVersion, '2.16');
145-
let targetComparison = semverCompare(targetVersion, '2.16');
146-
return (
147-
(previousComparison < 0 && targetComparison >= 0) ||
148-
(previousComparison >= 0 && targetComparison < 0)
149-
);
150-
}
151-
152137
/**
153138
splits the first encoded revision string in the list and takes the string after the version (which is the encoded name), then decodes the result.
154139
*/

app/routes/project-version/classes/class/events.js

Lines changed: 0 additions & 5 deletions
This file was deleted.

app/routes/project-version/classes/class/index.js

Lines changed: 0 additions & 5 deletions
This file was deleted.

app/routes/project-version/classes/class/methods.js

Lines changed: 0 additions & 5 deletions
This file was deleted.

app/routes/project-version/classes/class/properties.js

Lines changed: 0 additions & 5 deletions
This file was deleted.

app/routes/project-version/index.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@ import Route from '@ember/routing/route';
33
export default class IndexRoute extends Route {
44
async model() {
55
const projectVersion = this.modelFor('project-version');
6-
const project = await projectVersion.project;
7-
return project;
6+
7+
return {
8+
project: projectVersion.belongsTo('project').id(),
9+
version: projectVersion.version,
10+
};
811
}
912
}

app/routes/project-version/modules/module/events.js

Lines changed: 0 additions & 5 deletions
This file was deleted.

app/routes/project-version/modules/module/methods.js

Lines changed: 0 additions & 5 deletions
This file was deleted.

app/routes/project-version/modules/module/properties.js

Lines changed: 0 additions & 5 deletions
This file was deleted.

app/templates/class-index.hbs

Lines changed: 0 additions & 20 deletions
This file was deleted.

app/templates/class.hbs

Lines changed: 0 additions & 1 deletion
This file was deleted.

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

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,25 @@
126126
</section>
127127
<hr>
128128
</div>
129-
{{outlet}}
129+
<ApiIndexFilter @model={{this.model}} @filterData={{this.filterData}} as |filteredModel|>
130+
<ApiIndex @itemData={{filteredModel}} @classNames="api__index__content" as |sectionData|>
131+
{{#each sectionData.sections as |section|}}
132+
{{#if section.items}}
133+
<h3 class="api-index-section-title">{{section.title}}</h3>
134+
<ul class="{{section.class}}">
135+
{{#each section.items as |item|}}
136+
<li data-test-item={{item.name}}>
137+
<a
138+
href="#{{item.name}}"
139+
>
140+
{{item.name}}
141+
</a>
142+
</li>
143+
{{/each}}
144+
</ul>
145+
{{/if}}
146+
{{/each}}
147+
</ApiIndex>
148+
</ApiIndexFilter>
130149
{{/if}}
131150
</div>
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
{{#if (eq @model.id "ember-data")}}
1+
{{#if (eq @model.project "ember-data")}}
22
<EmberDataLandingPage />
33
{{else}}
4-
<EmberLandingPage />
4+
<EmberLandingPage @version={{@model.version}}/>
55
{{/if}}

package.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,6 @@
9494
"ember-qunit": "^5.1.5",
9595
"ember-resolver": "^8.0.3",
9696
"ember-rfc176-data": "^0.3.17",
97-
"ember-route-action-helper": "^2.0.8",
98-
"ember-scroll": "^1.0.3",
9997
"ember-showdown-shiki": "^1.2.1",
10098
"ember-sinon": "^4.1.1",
10199
"ember-source": "~3.28.8",

0 commit comments

Comments
 (0)