Skip to content

Commit 24e30cc

Browse files
committed
fix: resolve ember-global deprecation
1 parent f909e64 commit 24e30cc

File tree

11 files changed

+33044
-36886
lines changed

11 files changed

+33044
-36886
lines changed

app/adapters/application.js

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,18 +61,14 @@ export default class Application extends JSONAPIAdapter {
6161

6262
if (typeof revId !== 'undefined') {
6363
let encodedRevId = encodeURIComponent(revId);
64-
url = `json-docs/${projectName}/${version}/${pluralize(
65-
modelNameToUse
66-
)}/${encodedRevId}`;
64+
url = `json-docs/${projectName}/${version}/${pluralize(modelNameToUse)}/${encodedRevId}`;
6765
} else {
6866
throw new Error('Documentation item not found');
6967
}
7068
} else if (modelName === 'missing') {
7169
let version = this.projectService.version;
7270
let revId = this.metaStore.getRevId(projectName, version, modelName, id);
73-
url = `json-docs/${projectName}/${version}/${pluralize(
74-
modelName
75-
)}/${revId}`;
71+
url = `json-docs/${projectName}/${version}/${pluralize(modelName)}/${revId}`;
7672
} else if (modelName === 'project') {
7773
this.currentProject = id;
7874
url = `rev-index/${id}`;

app/components/import-example.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
{{#if this.showClipboardSuccessIcon}}
66
{{svg-jar 'success' width='24px' height='24px'}}
77
{{else}}
8-
<CopyButton @clipboardText={{concat 'import ' @item " from '" @package "';"}} @title='Copy to clipboard' @success={{this.showSuccess}}>
8+
<CopyButton @text={{concat 'import ' @item " from '" @package "';"}} @title='Copy to clipboard' @success={{this.showSuccess}}>
99
{{svg-jar 'copy' width='24px' height='24px'}}
1010
</CopyButton>
1111
{{/if}}

app/controllers/project-version.js

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,4 +128,92 @@ export default class ProjectVersionController extends Controller {
128128
togglePrivateClasses() {
129129
set(this, 'showPrivateClasses', !this.showPrivateClasses);
130130
}
131+
132+
@action
133+
updateProject(project, ver /*, component */) {
134+
let projectVersionID = ver.compactVersion;
135+
let endingRoute;
136+
switch (this.router.currentRouteName) {
137+
case 'project-version.classes.class': {
138+
let className = this._getEncodedNameForCurrentClass();
139+
endingRoute = `classes/${className}`;
140+
break;
141+
}
142+
case 'project-version.classes.class.index': {
143+
let className = this._getEncodedNameForCurrentClass();
144+
endingRoute = `classes/${className}`;
145+
break;
146+
}
147+
case 'project-version.modules.module.index': {
148+
let moduleName = encodeURIComponent(
149+
this.paramsFor('project-version.modules.module').module
150+
);
151+
endingRoute = `modules/${moduleName}`;
152+
break;
153+
}
154+
case 'project-version.namespaces.namespace.index': {
155+
let namespaceName = this.paramsFor(
156+
'project-version.namespaces.namespace'
157+
).namespace;
158+
endingRoute = `namespaces/${namespaceName}`;
159+
break;
160+
}
161+
case 'project-version.classes.class.methods.index': {
162+
let className = this._getEncodedNameForCurrentClass();
163+
endingRoute = `classes/${className}/methods`;
164+
break;
165+
}
166+
case 'project-version.classes.class.events.index': {
167+
let className = this._getEncodedNameForCurrentClass();
168+
endingRoute = `classes/${className}/events`;
169+
break;
170+
}
171+
case 'project-version.classes.class.properties.index': {
172+
let className = this._getEncodedNameForCurrentClass();
173+
endingRoute = `classes/${className}/properties`;
174+
break;
175+
}
176+
case 'project-version.classes.class.methods.method': {
177+
let className = this._getEncodedNameForCurrentClass();
178+
let methodName = this.paramsFor(
179+
'project-version.classes.class.methods.method'
180+
).method;
181+
endingRoute = `classes/${className}/methods/${methodName}?anchor=${methodName}`;
182+
break;
183+
}
184+
case 'project-version.classes.class.events.event': {
185+
let className = this._getEncodedNameForCurrentClass();
186+
let eventName = this.paramsFor(
187+
'project-version.classes.class.events.event'
188+
).event;
189+
endingRoute = `classes/${className}/events/${eventName}?anchor=${eventName}`;
190+
break;
191+
}
192+
case 'project-version.classes.class.properties.property': {
193+
let className = this._getEncodedNameForCurrentClass();
194+
let propertyName = this.paramsFor(
195+
'project-version.classes.class.properties.property'
196+
).property;
197+
endingRoute = `classes/${className}/properties/${propertyName}?anchor=${propertyName}`;
198+
break;
199+
}
200+
default:
201+
endingRoute = '';
202+
break;
203+
}
204+
// if the user is navigating to/from api versions >= 2.16, take them
205+
// to the home page instead of trying to translate the url
206+
let shouldConvertPackages = this.shouldConvertPackages(
207+
ver,
208+
this.project.version
209+
);
210+
let isEmberProject = project === 'ember';
211+
if (!isEmberProject || !shouldConvertPackages) {
212+
this.router.transitionTo(
213+
`/${project}/${projectVersionID}/${endingRoute}`
214+
);
215+
} else {
216+
this.router.transitionTo(`/${project}/${projectVersionID}`);
217+
}
218+
}
131219
}

app/controllers/project-version/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import Controller from '@ember/controller';
2-
import { htmlSafe } from '@ember/string';
2+
import { htmlSafe } from '@ember/template';
33

44
export default Controller.extend({
55
oldPackageImportSyntax: htmlSafe(

app/helpers/html-safe.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { helper } from '@ember/component/helper';
2-
import { htmlSafe as emberHtmlSafe } from '@ember/string';
2+
import { htmlSafe as emberHtmlSafe } from '@ember/template';
33

44
export function htmlSafe([content]) {
55
return emberHtmlSafe(content);

app/routes/project-version.js

Lines changed: 0 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -144,94 +144,6 @@ export default class ProjectVersionRoute extends Route {
144144
};
145145
}
146146

147-
@action
148-
updateProject(project, ver /*, component */) {
149-
let projectVersionID = ver.compactVersion;
150-
let endingRoute;
151-
switch (this.router.currentRouteName) {
152-
case 'project-version.classes.class': {
153-
let className = this._getEncodedNameForCurrentClass();
154-
endingRoute = `classes/${className}`;
155-
break;
156-
}
157-
case 'project-version.classes.class.index': {
158-
let className = this._getEncodedNameForCurrentClass();
159-
endingRoute = `classes/${className}`;
160-
break;
161-
}
162-
case 'project-version.modules.module.index': {
163-
let moduleName = encodeURIComponent(
164-
this.paramsFor('project-version.modules.module').module
165-
);
166-
endingRoute = `modules/${moduleName}`;
167-
break;
168-
}
169-
case 'project-version.namespaces.namespace.index': {
170-
let namespaceName = this.paramsFor(
171-
'project-version.namespaces.namespace'
172-
).namespace;
173-
endingRoute = `namespaces/${namespaceName}`;
174-
break;
175-
}
176-
case 'project-version.classes.class.methods.index': {
177-
let className = this._getEncodedNameForCurrentClass();
178-
endingRoute = `classes/${className}/methods`;
179-
break;
180-
}
181-
case 'project-version.classes.class.events.index': {
182-
let className = this._getEncodedNameForCurrentClass();
183-
endingRoute = `classes/${className}/events`;
184-
break;
185-
}
186-
case 'project-version.classes.class.properties.index': {
187-
let className = this._getEncodedNameForCurrentClass();
188-
endingRoute = `classes/${className}/properties`;
189-
break;
190-
}
191-
case 'project-version.classes.class.methods.method': {
192-
let className = this._getEncodedNameForCurrentClass();
193-
let methodName = this.paramsFor(
194-
'project-version.classes.class.methods.method'
195-
).method;
196-
endingRoute = `classes/${className}/methods/${methodName}?anchor=${methodName}`;
197-
break;
198-
}
199-
case 'project-version.classes.class.events.event': {
200-
let className = this._getEncodedNameForCurrentClass();
201-
let eventName = this.paramsFor(
202-
'project-version.classes.class.events.event'
203-
).event;
204-
endingRoute = `classes/${className}/events/${eventName}?anchor=${eventName}`;
205-
break;
206-
}
207-
case 'project-version.classes.class.properties.property': {
208-
let className = this._getEncodedNameForCurrentClass();
209-
let propertyName = this.paramsFor(
210-
'project-version.classes.class.properties.property'
211-
).property;
212-
endingRoute = `classes/${className}/properties/${propertyName}?anchor=${propertyName}`;
213-
break;
214-
}
215-
default:
216-
endingRoute = '';
217-
break;
218-
}
219-
// if the user is navigating to/from api versions >= 2.16, take them
220-
// to the home page instead of trying to translate the url
221-
let shouldConvertPackages = this.shouldConvertPackages(
222-
ver,
223-
this.projectService.version
224-
);
225-
let isEmberProject = project === 'ember';
226-
if (!isEmberProject || !shouldConvertPackages) {
227-
this.router.transitionTo(
228-
`/${project}/${projectVersionID}/${endingRoute}`
229-
);
230-
} else {
231-
this.router.transitionTo(`/${project}/${projectVersionID}`);
232-
}
233-
}
234-
235147
// Input some version info, returns a boolean based on
236148
// whether the user is switching versions for a 2.16 docs release or later.
237149
// The urls for pre-2.16 classes and later packages are quite different

app/templates/project-version.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
<div class="select-container">
1818
<PowerSelect
19-
@onChange={{route-action "updateProject" this.activeProject}}
19+
@onChange={{fn this.updateProject this.activeProject}}
2020
@options={{this.projectVersions}}
2121
@selected={{this.selectedProjectVersion}}
2222
@ariaLabel="Select a version"

config/deprecation-workflow.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
self.deprecationWorkflow = self.deprecationWorkflow || {};
22
self.deprecationWorkflow.config = {
33
workflow: [
4-
{ handler: 'silence', matchId: 'ember-global' },
4+
{ handler: 'throw', matchId: 'ember-global' },
55
{ handler: 'silence', matchId: 'ember.component.reopen' },
66
{ handler: 'silence', matchId: 'implicit-injections' },
77
{ handler: 'silence', matchId: 'manager-capabilities.modifiers-3-13' },

0 commit comments

Comments
 (0)