emberjs/ember.js — pull request #5294 by mixonic (2014-07-31 22:56:43+00:00)
Title: Deprecate global access to view classes from templates

This deprecates accessing views as globals. These are all deprecated cases with this patch:

```hbs
{{view "App.SomeThing"}}
{{view Oh.ThisToo}}
{{#collection itemViewClass="Some.Wow"}}
{{#collection itemViewClass=Not.Yet}}
{{#each itemView="Ugh.Why"}}
{{#each itemView=Something.Something}}
```

This patch also introduces a syntax for accessing parts of Ember that still rely on these APIs. For example select uses the old API:

```hbs
{{view Ember.Select value=whut}}
```

Here we have added the select control to the views namespace on the container. This is the new syntax:

```hbs
{{view "select" value=whut}}
```

Some tests have been updated to avoid the deprecated syntax, but many more will need to change to avoid deprecations getting spat out all over. We will need to pick names for the controls to be registered as.

We are explicitly *not* making these components, b/c when the do become components we may change the behavior or API (for example, the infamous select box). Using the container for these legacy views allows us to avoid globals, deprecate them, and be better prepared to drop them entirely in 2.x.

* [ ] Confirm `{{view 'select'` syntax
* [ ] Confirm not implementing `{{view 'checkbox'`, `{{view 'text-field'`, `{{view 'text-area'` as they are already available as components
* [ ] Any other views that need an interim story besides select?
* [ ] Ensure the test suite does not kick out deprecations (unless they are being asserted)
* [ ] Ensure docs are updated to use new syntax
* [ ] Ensure [guides](http://emberjs.com/guides/views/built-in-views/) are updated to use new syntax (separate PR)