Skip to content

Commit acc2d86

Browse files
committed
update version links
1 parent c1c6fb6 commit acc2d86

37 files changed

+123
-123
lines changed

guides/v4.12.0/applications/dependency-injection.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ guide covers the details of the system, and how to use it when needed.
1111

1212
Applications and application instances each serve a role in Ember's DI implementation.
1313

14-
An [`Application`](https://api.emberjs.com/ember/release/classes/Application) serves as a "registry" for dependency declarations.
14+
An [`Application`](https://api.emberjs.com/ember/4.12.0/classes/Application) serves as a "registry" for dependency declarations.
1515
Factories (i.e. classes) are registered with an application,
1616
as well as rules about "injecting" dependencies that are applied when objects are instantiated.
1717

18-
An [`ApplicationInstance`](https://api.emberjs.com/ember/release/classes/ApplicationInstance) serves as the "owner" for objects that are instantiated from registered factories.
18+
An [`ApplicationInstance`](https://api.emberjs.com/ember/4.12.0/classes/ApplicationInstance) serves as the "owner" for objects that are instantiated from registered factories.
1919
Application instances provide a means to "look up" (i.e. instantiate and / or retrieve) objects.
2020

2121
> _Note: Although an `Application` serves as the primary registry for an app,
@@ -220,7 +220,7 @@ export default class CartContentComponent extends Component {
220220
## Factory Instance Lookups
221221

222222
To fetch an instantiated factory from the running application you can call the
223-
[`lookup`](https://api.emberjs.com/ember/release/classes/ApplicationInstance/methods/lookup?anchor=lookup) method on an application instance. This method takes a string
223+
[`lookup`](https://api.emberjs.com/ember/4.12.0/classes/ApplicationInstance/methods/lookup?anchor=lookup) method on an application instance. This method takes a string
224224
to identify a factory and returns the appropriate object.
225225

226226
```javascript
@@ -251,9 +251,9 @@ export default {
251251

252252
### Getting an Application Instance from a Factory Instance
253253

254-
[`Ember.getOwner`](https://api.emberjs.com/ember/release/classes/@ember%2Fapplication/methods/getOwner?anchor=getOwner) will retrieve the application instance that "owns" an
254+
[`Ember.getOwner`](https://api.emberjs.com/ember/4.12.0/classes/@ember%2Fapplication/methods/getOwner?anchor=getOwner) will retrieve the application instance that "owns" an
255255
object. This means that framework objects like components, helpers, and routes
256-
can use [`Ember.getOwner`](https://api.emberjs.com/ember/release/classes/@ember%2Fapplication/methods/getOwner?anchor=getOwner) to perform lookups through their application
256+
can use [`Ember.getOwner`](https://api.emberjs.com/ember/4.12.0/classes/@ember%2Fapplication/methods/getOwner?anchor=getOwner) to perform lookups through their application
257257
instance at runtime.
258258

259259
For example, this component plays songs with different audio services based

guides/v4.12.0/applications/ember-engines.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## What are Engines?
22

3-
[Ember Engines](http://ember-engines.com/) allow multiple logical applications to be composed together into a single application from the user's perspective, that provide functionality to their host applications. Engines are isolated, `composable applications`, they have almost all the same features as normal Ember applications, except an [Engine](https://api.emberjs.com/ember/release/classes/Engine) requires a host application to boot it and provide a Router instance.
3+
[Ember Engines](http://ember-engines.com/) allow multiple logical applications to be composed together into a single application from the user's perspective, that provide functionality to their host applications. Engines are isolated, `composable applications`, they have almost all the same features as normal Ember applications, except an [Engine](https://api.emberjs.com/ember/4.12.0/classes/Engine) requires a host application to boot it and provide a Router instance.
44

55
## Why use Engines?
66

guides/v4.12.0/applications/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
Every Ember application is represented by a class that extends [`Application`](https://api.emberjs.com/ember/release/classes/Application).
1+
Every Ember application is represented by a class that extends [`Application`](https://api.emberjs.com/ember/4.12.0/classes/Application).
22
This class is used to declare and configure the many objects that make up your app.
33

44
As your application boots,
5-
it creates an [`ApplicationInstance`](https://api.emberjs.com/ember/release/classes/ApplicationInstance) that is used to manage its stateful aspects.
5+
it creates an [`ApplicationInstance`](https://api.emberjs.com/ember/4.12.0/classes/ApplicationInstance) that is used to manage its stateful aspects.
66
This instance acts as the "owner" of objects instantiated for your app.
77

88
Essentially, the `Application` *defines your application*

guides/v4.12.0/applications/run-loop.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -199,9 +199,9 @@ window.addEventListener('online', () => {
199199
});
200200
```
201201
202-
The run loop API calls that _schedule_ work, i.e. [`run.schedule`](https://api.emberjs.com/ember/release/classes/@ember%2Frunloop/methods/schedule?anchor=schedule),
203-
[`run.scheduleOnce`](https://api.emberjs.com/ember/release/classes/@ember%2Frunloop/methods/scheduleOnce?anchor=scheduleOnce),
204-
[`run.once`](https://api.emberjs.com/ember/release/classes/@ember%2Frunloop/methods/once?anchor=once) have the property that they will approximate a run loop for you if one does not already exist.
202+
The run loop API calls that _schedule_ work, i.e. [`run.schedule`](https://api.emberjs.com/ember/4.12.0/classes/@ember%2Frunloop/methods/schedule?anchor=schedule),
203+
[`run.scheduleOnce`](https://api.emberjs.com/ember/4.12.0/classes/@ember%2Frunloop/methods/scheduleOnce?anchor=scheduleOnce),
204+
[`run.once`](https://api.emberjs.com/ember/4.12.0/classes/@ember%2Frunloop/methods/once?anchor=once) have the property that they will approximate a run loop for you if one does not already exist.
205205
These automatically created run loops we call _autoruns_.
206206
207207
Here is some pseudocode to describe what happens using the example above:
@@ -242,5 +242,5 @@ window.addEventListener('online', () => {
242242
243243
## Where can I find more information?
244244
245-
Check out the [Ember.run](https://api.emberjs.com/ember/release/classes/@ember%2Frunloop) API documentation,
245+
Check out the [Ember.run](https://api.emberjs.com/ember/4.12.0/classes/@ember%2Frunloop) API documentation,
246246
as well as the [Backburner library](https://github.com/ebryn/backburner.js/) that powers the run loop.

guides/v4.12.0/components/built-in-components.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Out of the box, Ember provides 2 components for building a form:
22

3-
* [`<Input>`](https://api.emberjs.com/ember/release/classes/Ember.Templates.components/methods/Input?anchor=Input)
4-
* [`<Textarea>`](https://api.emberjs.com/ember/release/classes/Ember.Templates.components/methods/Textarea?anchor=Textarea)
3+
* [`<Input>`](https://api.emberjs.com/ember/4.12.0/classes/Ember.Templates.components/methods/Input?anchor=Input)
4+
* [`<Textarea>`](https://api.emberjs.com/ember/4.12.0/classes/Ember.Templates.components/methods/Textarea?anchor=Textarea)
55

66
These components are similar in HTML markup to the native `<input>` or `<textarea>` elements. In contrast to the native elements, `<Input>` and `<Textarea>` automatically update the state of their bound values.
77

@@ -147,7 +147,7 @@ Note, the `keydown` event was used for `Escape` because `keypress` is deprecated
147147
### Checkboxes
148148

149149
You can use the
150-
[`<Input>`](https://api.emberjs.com/ember/release/classes/Ember.Templates.components/methods/Input?anchor=Input)
150+
[`<Input>`](https://api.emberjs.com/ember/4.12.0/classes/Ember.Templates.components/methods/Input?anchor=Input)
151151
component to create a checkbox. Set `@type` to the string `"checkbox"`, and use `@checked` instead of `@value`.
152152

153153
```handlebars
@@ -201,8 +201,8 @@ With the exception of `@value` argument, you can use any [attribute](https://dev
201201

202202
You might need to bind a property dynamically to an input if you're building a
203203
flexible form, for example. To achieve this you need to use the
204-
[`{{get}}`](https://api.emberjs.com/ember/release/classes/Ember.Templates.helpers/methods/get?anchor=get)
205-
and [`{{mut}}`](https://api.emberjs.com/ember/release/classes/Ember.Templates.helpers/methods/mut?anchor=mut)
204+
[`{{get}}`](https://api.emberjs.com/ember/4.12.0/classes/Ember.Templates.helpers/methods/get?anchor=get)
205+
and [`{{mut}}`](https://api.emberjs.com/ember/4.12.0/classes/Ember.Templates.helpers/methods/mut?anchor=mut)
206206
in conjunction like shown in the following example:
207207

208208
```handlebars
@@ -216,5 +216,5 @@ in conjunction like shown in the following example:
216216
The `{{get}}` helper allows you to dynamically specify which property to bind,
217217
while the `{{mut}}` helper allows the binding to be updated from the input. See
218218
the respective helper documentation for more detail:
219-
[`{{get}}`](https://api.emberjs.com/ember/release/classes/Ember.Templates.helpers/methods/get?anchor=get)
220-
and [`{{mut}}`](https://api.emberjs.com/ember/release/classes/Ember.Templates.helpers/methods/mut?anchor=mut).
219+
[`{{get}}`](https://api.emberjs.com/ember/4.12.0/classes/Ember.Templates.helpers/methods/get?anchor=get)
220+
and [`{{mut}}`](https://api.emberjs.com/ember/4.12.0/classes/Ember.Templates.helpers/methods/mut?anchor=mut).

guides/v4.12.0/components/conditional-content.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,4 +228,4 @@ It looks similar to a ternary operator.
228228

229229
## Learn More
230230

231-
Please see the [API documentation of the `if` helper](https://api.emberjs.com/ember/release/classes/Ember.Templates.helpers/methods/if?anchor=if) for more patterns.
231+
Please see the [API documentation of the `if` helper](https://api.emberjs.com/ember/4.12.0/classes/Ember.Templates.helpers/methods/if?anchor=if) for more patterns.

guides/v4.12.0/components/helper-functions.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -305,11 +305,11 @@ discussing state in the next chapter), or requiring access to a [service](../../
305305
## Built-in Helpers
306306

307307
Below you will find some useful template helpers documented.
308-
For the full list of available helpers, you can check the [template helpers API documentation](https://api.emberjs.com/ember/4.5.0/classes/Ember.Templates.helpers/).
308+
For the full list of available helpers, you can check the [template helpers API documentation](https://api.emberjs.com/ember/4.12.0.0/classes/Ember.Templates.helpers/).
309309

310310
### The `get` helper
311311

312-
The [`{{get}}`](https://api.emberjs.com/ember/4.5.0/classes/Ember.Templates.helpers/methods/get?anchor=get)
312+
The [`{{get}}`](https://api.emberjs.com/ember/4.12.0.0/classes/Ember.Templates.helpers/methods/get?anchor=get)
313313
helper makes it easy to dynamically look up a property on an object or an element in an array. The second argument to `{{get}}` can be a string or a number, depending on the object being accessed.
314314

315315

@@ -339,7 +339,7 @@ If it returns "city", you get `this.address.city`.
339339

340340
We mentioned above that helpers can be nested. This can be
341341
combined with different dynamic helpers. For example, the
342-
[`{{concat}}`](https://api.emberjs.com/ember/4.5.0/classes/Ember.Templates.helpers/methods/concat?anchor=concat)
342+
[`{{concat}}`](https://api.emberjs.com/ember/4.12.0.0/classes/Ember.Templates.helpers/methods/concat?anchor=concat)
343343
helper makes it easy to dynamically send a number of parameters to a component
344344
or helper as a single parameter in the format of a concatenated string.
345345

@@ -355,7 +355,7 @@ This will display the result of `this.foo.item1` when index is 1, and
355355
Now let's say your template is starting to get a bit cluttered and you want
356356
to clean up the logic in your templates. This can be achieved with the `let`
357357
block helper.
358-
The [`{{let}}`](https://api.emberjs.com/ember/4.5.0/classes/Ember.Templates.helpers/methods/let?anchor=let)
358+
The [`{{let}}`](https://api.emberjs.com/ember/4.12.0.0/classes/Ember.Templates.helpers/methods/let?anchor=let)
359359
helper lets you create new bindings (or temporary variables) in your template.
360360

361361
Say your template now looks like this:
@@ -392,7 +392,7 @@ capitalized given name and family name as `givenName` and `familyName` instead o
392392

393393
### The `array` helper
394394

395-
Using the [`{{array}}`](https://api.emberjs.com/ember/4.5.0/classes/Ember.Templates.helpers/methods/array?anchor=array) helper,
395+
Using the [`{{array}}`](https://api.emberjs.com/ember/4.12.0.0/classes/Ember.Templates.helpers/methods/array?anchor=array) helper,
396396
you can pass arrays directly from the template as an argument to your components.
397397

398398
```handlebars
@@ -417,7 +417,7 @@ In the component's template, you can then use the `people` argument as an array:
417417

418418
### The `hash` helper
419419

420-
Using the [`{{hash}}`](https://api.emberjs.com/ember/4.5.0/classes/Ember.Templates.helpers/methods/hash?anchor=hash)
420+
Using the [`{{hash}}`](https://api.emberjs.com/ember/4.12.0.0/classes/Ember.Templates.helpers/methods/hash?anchor=hash)
421421
helper, you can pass objects directly from the template as an argument to your
422422
components.
423423

@@ -437,7 +437,7 @@ Hello, {{@person.givenName}} {{@person.familyName}}
437437

438438
### The `in-element` helper
439439

440-
Using the [`{{in-element}}`](https://api.emberjs.com/ember/4.5.0/classes/Ember.Templates.helpers/methods/in-element?anchor=in-element) helper, you can render content into a DOM element that is in a _different_ part of the page. For instance, we might want
440+
Using the [`{{in-element}}`](https://api.emberjs.com/ember/4.12.0.0/classes/Ember.Templates.helpers/methods/in-element?anchor=in-element) helper, you can render content into a DOM element that is in a _different_ part of the page. For instance, we might want
441441
to render a modal, tooltip, or dropdown.
442442

443443
Suppose we want to show a dropdown menu when the user clicks on a button. The code below shows a `<button>` element, a placeholder `<div>` element, and a dropdown component. The argument `@show`, when set to `true`, will add the dropdown to the placeholder div.

guides/v4.12.0/components/looping-through-lists.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Oftentimes we'll need to repeat a component multiple times in a row, with
22
different data for each usage of the component. We can use the
3-
[`{{#each}}`](https://api.emberjs.com/ember/release/classes/Ember.Templates.helpers/methods/each?anchor=each)
3+
[`{{#each}}`](https://api.emberjs.com/ember/4.12.0/classes/Ember.Templates.helpers/methods/each?anchor=each)
44
helper to loop through lists of items like this, repeating a section of template
55
for each item in the list.
66

@@ -191,7 +191,7 @@ as a string.
191191
Be sure to sanitize the HTML before you render it.
192192
</p>
193193
<p>
194-
We can use the <a href="https://api.emberjs.com/ember/release/functions/@ember%2Ftemplate/htmlSafe">htmlSafe</a>
194+
We can use the <a href="https://api.emberjs.com/ember/4.12.0/functions/@ember%2Ftemplate/htmlSafe">htmlSafe</a>
195195
function to mark a sanitized HTML as safe, then use double curly brackets to render the HTML.
196196
We can also create a <a href="../helper-functions">helper</a> that sanitizes the HTML, marks it as safe,
197197
and returns the output.
@@ -371,7 +371,7 @@ export default class SomeComponent extends Component {
371371

372372
### Empty Lists
373373

374-
The [`{{#each}}`](https://api.emberjs.com/ember/release/classes/Ember.Templates.helpers/methods/each?anchor=each)
374+
The [`{{#each}}`](https://api.emberjs.com/ember/4.12.0/classes/Ember.Templates.helpers/methods/each?anchor=each)
375375
helper can also have a corresponding `{{else}}`. The contents of this block will
376376
render if the array passed to `{{#each}}` is empty:
377377

@@ -387,7 +387,7 @@ render if the array passed to `{{#each}}` is empty:
387387

388388
There are also times when we need to loop through the keys and values of an
389389
object rather than an array, similar to JavaScript's `for...in` loop. We can use
390-
the [`{{#each-in}}`](https://api.emberjs.com/ember/release/classes/Ember.Templates.helpers/methods/each-in?anchor=each-in)
390+
the [`{{#each-in}}`](https://api.emberjs.com/ember/4.12.0/classes/Ember.Templates.helpers/methods/each-in?anchor=each-in)
391391
helper to do this:
392392

393393
```javascript {data-filename=/app/components/store-categories.js}
@@ -447,12 +447,12 @@ The above example will print a list like this:
447447
An object's keys will be listed in the same order as the array returned from
448448
calling `Object.keys` on that object. If you want a different sort order, you
449449
should use `Object.keys` to get an array, sort that array with the built-in JavaScript
450-
tools, and use the [`{{#each}}`](https://api.emberjs.com/ember/release/classes/Ember.Templates.helpers/methods/each?anchor=each)
450+
tools, and use the [`{{#each}}`](https://api.emberjs.com/ember/4.12.0/classes/Ember.Templates.helpers/methods/each?anchor=each)
451451
helper instead.
452452

453453
### Empty Lists
454454

455-
The [`{{#each-in}}`](https://api.emberjs.com/ember/release/classes/Ember.Templates.helpers/methods/each-in?anchor=each-in)
455+
The [`{{#each-in}}`](https://api.emberjs.com/ember/4.12.0/classes/Ember.Templates.helpers/methods/each-in?anchor=each-in)
456456
helper can have a matching `{{else}}`. The contents of this block will render if
457457
the object is empty, null, or undefined:
458458

guides/v4.12.0/configuring-ember/handling-deprecations.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Fortunately, Ember provides a way for projects to deal with deprecations in an o
1010
## Filtering Deprecations
1111

1212
When your project has a lot of deprecations, you can start by filtering out deprecations that do not have to be addressed right away.
13-
You can use the [deprecation handlers](https://api.emberjs.com/ember/release/functions/@ember%2Fdebug/registerDeprecationHandler) API to check for what release a deprecated feature will be removed.
13+
You can use the [deprecation handlers](https://api.emberjs.com/ember/4.12.0/functions/@ember%2Fdebug/registerDeprecationHandler) API to check for what release a deprecated feature will be removed.
1414
An example handler is shown below that filters out all deprecations that are not going away in release 2.0.0.
1515

1616
```javascript {data-filename= app/initializers/main.js}

guides/v4.12.0/contributing/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@ If you need some inspiration, you can check out the [Help Wanted](https://help-w
2525

2626
# Updating the API Guides
2727

28-
In the [API Guides](https://api.emberjs.com/ember/release), suppose you found a typo or wish to provide more details for a package, method, or class. Here is how you can make a change.
28+
In the [API Guides](https://api.emberjs.com/ember/4.12.0), suppose you found a typo or wish to provide more details for a package, method, or class. Here is how you can make a change.
2929

3030
At the top of the page (for the package, method, or class), you will find the words "Defined in" or "Inherited from". Next to these words is a link to the source code on GitHub.
3131

3232
You can open the link to find a comment block. Make a pull request to update the comment block. The API Guides may take a few weeks to update while the future release is finalized.
3333

34-
Here is an example of updating a method. At the top of the section for [`store.createRecord()`](https://api.emberjs.com/ember-data/release/classes/Store/methods/createRecord?anchor=createRecord), you can find the words "Defined in."
34+
Here is an example of updating a method. At the top of the section for [`store.createRecord()`](https://api.emberjs.com/ember-data/4.12.0/classes/Store/methods/createRecord?anchor=createRecord), you can find the words "Defined in."
3535

3636
Next to the words is, once again, the link to the source code [`ds-model-store.ts`](https://github.com/emberjs/data/blob/master/packages/store/addon/-private/system/ds-model-store.ts).
3737

0 commit comments

Comments
 (0)