ember-source 1.13.7 → 1.13.8
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of ember-source might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/dist/ember-template-compiler.js +8 -9
- data/dist/ember-testing.js +1 -1
- data/dist/ember.debug.js +832 -36
- data/dist/ember.js +832 -36
- data/dist/ember.min.js +13 -13
- data/dist/ember.prod.js +832 -36
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8d1c240e17a2b44a0b3592dd468f250d1940a01e
|
4
|
+
data.tar.gz: 09e7b6a99a1a64297246fd6c09cd6bf65b410bc7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7651c1ecf7b35612228674d5bfd6c7a85a606273f0ee5afe157b00a7b634bd6bd0f38b7f63c5cc7e4983ffc927ad61438dfbfa1e92b31dd0a5b150e81492a670
|
7
|
+
data.tar.gz: 25f939282d7d8603ebf5a71abf28a3ad24dc82b622c011341767c5c66ac058d3befc6c38f737fb28d55636d49e71c902f94ef3dbe7ba47a9f0cfc27e805248be
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.13.
|
1
|
+
1.13.8
|
@@ -5,7 +5,7 @@
|
|
5
5
|
* Portions Copyright 2008-2011 Apple Inc. All rights reserved.
|
6
6
|
* @license Licensed under MIT license
|
7
7
|
* See https://raw.github.com/emberjs/ember.js/master/LICENSE
|
8
|
-
* @version 1.13.
|
8
|
+
* @version 1.13.8
|
9
9
|
*/
|
10
10
|
|
11
11
|
(function() {
|
@@ -3299,7 +3299,7 @@ enifed('ember-metal/core', ['exports'], function (exports) {
|
|
3299
3299
|
|
3300
3300
|
@class Ember
|
3301
3301
|
@static
|
3302
|
-
@version 1.13.
|
3302
|
+
@version 1.13.8
|
3303
3303
|
@public
|
3304
3304
|
*/
|
3305
3305
|
|
@@ -3333,11 +3333,11 @@ enifed('ember-metal/core', ['exports'], function (exports) {
|
|
3333
3333
|
|
3334
3334
|
@property VERSION
|
3335
3335
|
@type String
|
3336
|
-
@default '1.13.
|
3336
|
+
@default '1.13.8'
|
3337
3337
|
@static
|
3338
3338
|
@public
|
3339
3339
|
*/
|
3340
|
-
Ember.VERSION = '1.13.
|
3340
|
+
Ember.VERSION = '1.13.8';
|
3341
3341
|
|
3342
3342
|
/**
|
3343
3343
|
The hash of environment variables used to control various configuration
|
@@ -10246,6 +10246,9 @@ enifed("ember-metal/utils", ["exports", "ember-metal/core", "ember-metal/platfor
|
|
10246
10246
|
*/
|
10247
10247
|
|
10248
10248
|
function guidFor(obj) {
|
10249
|
+
if (obj && obj[GUID_KEY]) {
|
10250
|
+
return obj[GUID_KEY];
|
10251
|
+
}
|
10249
10252
|
|
10250
10253
|
// special cases where we don't want to add a key to object
|
10251
10254
|
if (obj === undefined) {
|
@@ -10283,10 +10286,6 @@ enifed("ember-metal/utils", ["exports", "ember-metal/core", "ember-metal/platfor
|
|
10283
10286
|
return obj ? '(true)' : '(false)';
|
10284
10287
|
|
10285
10288
|
default:
|
10286
|
-
if (obj[GUID_KEY]) {
|
10287
|
-
return obj[GUID_KEY];
|
10288
|
-
}
|
10289
|
-
|
10290
10289
|
if (obj === Object) {
|
10291
10290
|
return '(Object)';
|
10292
10291
|
}
|
@@ -12641,7 +12640,7 @@ enifed("ember-template-compiler/system/compile_options", ["exports", "ember-meta
|
|
12641
12640
|
|
12642
12641
|
options.buildMeta = function buildMeta(program) {
|
12643
12642
|
return {
|
12644
|
-
revision: 'Ember@1.13.
|
12643
|
+
revision: 'Ember@1.13.8',
|
12645
12644
|
loc: program.loc,
|
12646
12645
|
moduleName: options.moduleName
|
12647
12646
|
};
|
data/dist/ember-testing.js
CHANGED
data/dist/ember.debug.js
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
* Portions Copyright 2008-2011 Apple Inc. All rights reserved.
|
6
6
|
* @license Licensed under MIT license
|
7
7
|
* See https://raw.github.com/emberjs/ember.js/master/LICENSE
|
8
|
-
* @version 1.13.
|
8
|
+
* @version 1.13.8
|
9
9
|
*/
|
10
10
|
|
11
11
|
(function() {
|
@@ -3774,7 +3774,9 @@ enifed("ember-application/system/application-instance", ["exports", "ember-metal
|
|
3774
3774
|
*/
|
3775
3775
|
setupEventDispatcher: function () {
|
3776
3776
|
var dispatcher = this.container.lookup('event_dispatcher:main');
|
3777
|
-
|
3777
|
+
var applicationCustomEvents = _emberMetalProperty_get.get(this.application, 'customEvents');
|
3778
|
+
|
3779
|
+
dispatcher.setup(applicationCustomEvents, this.rootElement);
|
3778
3780
|
|
3779
3781
|
return dispatcher;
|
3780
3782
|
},
|
@@ -4061,7 +4063,7 @@ enifed('ember-application/system/application', ['exports', 'dag-map', 'container
|
|
4061
4063
|
*/
|
4062
4064
|
buildInstance: function () {
|
4063
4065
|
return _emberApplicationSystemApplicationInstance["default"].create({
|
4064
|
-
|
4066
|
+
application: this,
|
4065
4067
|
rootElement: _emberMetalProperty_get.get(this, 'rootElement'),
|
4066
4068
|
applicationRegistry: this.registry
|
4067
4069
|
});
|
@@ -4496,7 +4498,13 @@ enifed('ember-application/system/application', ['exports', 'dag-map', 'container
|
|
4496
4498
|
instanceInitializers: _emberMetalPlatformCreate["default"](null),
|
4497
4499
|
|
4498
4500
|
/**
|
4499
|
-
|
4501
|
+
The goal of initializers should be to register dependencies and injections.
|
4502
|
+
This phase runs once. Because these initializers may load code, they are
|
4503
|
+
allowed to defer application readiness and advance it. If you need to access
|
4504
|
+
the container or store you should use an InstanceInitializer that will be run
|
4505
|
+
after all initializers and therefore after all code is loaded and the app is
|
4506
|
+
ready.
|
4507
|
+
Initializer receives an object which has the following attributes:
|
4500
4508
|
`name`, `before`, `after`, `initialize`. The only required attribute is
|
4501
4509
|
`initialize`, all others are optional.
|
4502
4510
|
* `name` allows you to specify under which name the initializer is registered.
|
@@ -4571,6 +4579,7 @@ enifed('ember-application/system/application', ['exports', 'dag-map', 'container
|
|
4571
4579
|
```javascript
|
4572
4580
|
Ember.Application.initializer({
|
4573
4581
|
name: 'preload-data',
|
4582
|
+
after: 'ember-data', // ember-data must be loaded before we can access store
|
4574
4583
|
initialize: function(container, application) {
|
4575
4584
|
var store = container.lookup('store:main');
|
4576
4585
|
store.pushPayload(preloadedData);
|
@@ -4589,7 +4598,62 @@ enifed('ember-application/system/application', ['exports', 'dag-map', 'container
|
|
4589
4598
|
@method initializer
|
4590
4599
|
@param initializer {Object}
|
4591
4600
|
@public
|
4592
|
-
|
4601
|
+
*/
|
4602
|
+
|
4603
|
+
/**
|
4604
|
+
InstanceInitializers run after all initializers have run. Because
|
4605
|
+
instanceInitializers run after the app is fully set up. We have access
|
4606
|
+
to the store, container, and other items. However, these initializers run
|
4607
|
+
after code has loaded and are not allowed to defer readiness.
|
4608
|
+
InstanceInitializer receives an object which has the following attributes:
|
4609
|
+
`name`, `before`, `after`, `initialize`. The only required attribute is
|
4610
|
+
`initialize`, all others are optional.
|
4611
|
+
* `name` allows you to specify under which name the instanceInitializer is
|
4612
|
+
registered. This must be a unique name, as trying to register two
|
4613
|
+
instanceInitializer with the same name will result in an error.
|
4614
|
+
```javascript
|
4615
|
+
Ember.Application.instanceInitializer({
|
4616
|
+
name: 'namedinstanceInitializer',
|
4617
|
+
initialize: function(application) {
|
4618
|
+
Ember.debug('Running namedInitializer!');
|
4619
|
+
}
|
4620
|
+
});
|
4621
|
+
```
|
4622
|
+
* `before` and `after` are used to ensure that this initializer is ran prior
|
4623
|
+
or after the one identified by the value. This value can be a single string
|
4624
|
+
or an array of strings, referencing the `name` of other initializers.
|
4625
|
+
* See Ember.Application.initializer for discussion on the usage of before
|
4626
|
+
and after.
|
4627
|
+
Example instanceInitializer to preload data into the store.
|
4628
|
+
```javascript
|
4629
|
+
Ember.Application.initializer({
|
4630
|
+
name: 'preload-data',
|
4631
|
+
initialize: function(application) {
|
4632
|
+
var userConfig, userConfigEncoded, store;
|
4633
|
+
// We have a HTML escaped JSON representation of the user's basic
|
4634
|
+
// configuration generated server side and stored in the DOM of the main
|
4635
|
+
// index.html file. This allows the app to have access to a set of data
|
4636
|
+
// without making any additional remote calls. Good for basic data that is
|
4637
|
+
// needed for immediate rendering of the page. Keep in mind, this data,
|
4638
|
+
// like all local models and data can be manipulated by the user, so it
|
4639
|
+
// should not be relied upon for security or authorization.
|
4640
|
+
//
|
4641
|
+
// Grab the encoded data from the meta tag
|
4642
|
+
userConfigEncoded = Ember.$('head meta[name=app-user-config]').attr('content');
|
4643
|
+
// Unescape the text, then parse the resulting JSON into a real object
|
4644
|
+
userConfig = JSON.parse(unescape(userConfigEncoded));
|
4645
|
+
// Lookup the store
|
4646
|
+
store = application.container.lookup('service:store');
|
4647
|
+
// Push the encoded JSON into the store
|
4648
|
+
store.pushPayload(userConfig);
|
4649
|
+
}
|
4650
|
+
});
|
4651
|
+
```
|
4652
|
+
@method instanceInitializer
|
4653
|
+
@param instanceInitializer
|
4654
|
+
@public
|
4655
|
+
*/
|
4656
|
+
|
4593
4657
|
initializer: buildInitializerMethod('initializers', 'initializer'),
|
4594
4658
|
|
4595
4659
|
/**
|
@@ -8337,6 +8401,8 @@ enifed("ember-htmlbars/hooks/link-render-node", ["exports", "ember-htmlbars/util
|
|
8337
8401
|
params[0] = shouldDisplay(params[0]);break;
|
8338
8402
|
case 'each':
|
8339
8403
|
params[0] = eachParam(params[0]);break;
|
8404
|
+
case '@content-helper':
|
8405
|
+
break;
|
8340
8406
|
default:
|
8341
8407
|
helper = _emberHtmlbarsSystemLookupHelper.findHelper(path, env.view, env);
|
8342
8408
|
|
@@ -8614,11 +8680,135 @@ enifed("ember-htmlbars/keywords", ["exports", "htmlbars-runtime", "ember-metal/p
|
|
8614
8680
|
enifed("ember-htmlbars/keywords/collection", ["exports", "ember-views/streams/utils", "ember-views/views/collection_view", "ember-htmlbars/node-managers/view-node-manager", "ember-metal/keys", "ember-metal/merge"], function (exports, _emberViewsStreamsUtils, _emberViewsViewsCollection_view, _emberHtmlbarsNodeManagersViewNodeManager, _emberMetalKeys, _emberMetalMerge) {
|
8615
8681
|
/**
|
8616
8682
|
@module ember
|
8617
|
-
@submodule ember-
|
8683
|
+
@submodule ember-templates
|
8618
8684
|
*/
|
8619
8685
|
|
8620
8686
|
"use strict";
|
8621
8687
|
|
8688
|
+
/**
|
8689
|
+
`{{collection}}` is a template helper for adding instances of
|
8690
|
+
`Ember.CollectionView` to a template. See [Ember.CollectionView](/api/classes/Ember.CollectionView.html)
|
8691
|
+
for additional information on how a `CollectionView` functions.
|
8692
|
+
|
8693
|
+
`{{collection}}`'s primary use is as a block helper with a `contentBinding`
|
8694
|
+
option pointing towards an `Ember.Array`-compatible object. An `Ember.View`
|
8695
|
+
instance will be created for each item in its `content` property. Each view
|
8696
|
+
will have its own `content` property set to the appropriate item in the
|
8697
|
+
collection.
|
8698
|
+
|
8699
|
+
The provided block will be applied as the template for each item's view.
|
8700
|
+
|
8701
|
+
Given an empty `<body>` the following template:
|
8702
|
+
|
8703
|
+
```handlebars
|
8704
|
+
{{! application.hbs }}
|
8705
|
+
{{#collection content=model}}
|
8706
|
+
Hi {{view.content.name}}
|
8707
|
+
{{/collection}}
|
8708
|
+
```
|
8709
|
+
|
8710
|
+
And the following application code
|
8711
|
+
|
8712
|
+
```javascript
|
8713
|
+
App = Ember.Application.create();
|
8714
|
+
App.ApplicationRoute = Ember.Route.extend({
|
8715
|
+
model: function() {
|
8716
|
+
return [{name: 'Yehuda'},{name: 'Tom'},{name: 'Peter'}];
|
8717
|
+
}
|
8718
|
+
});
|
8719
|
+
```
|
8720
|
+
|
8721
|
+
The following HTML will result:
|
8722
|
+
|
8723
|
+
```html
|
8724
|
+
<div class="ember-view">
|
8725
|
+
<div class="ember-view">Hi Yehuda</div>
|
8726
|
+
<div class="ember-view">Hi Tom</div>
|
8727
|
+
<div class="ember-view">Hi Peter</div>
|
8728
|
+
</div>
|
8729
|
+
```
|
8730
|
+
|
8731
|
+
### Non-block version of collection
|
8732
|
+
|
8733
|
+
If you provide an `itemViewClass` option that has its own `template` you may
|
8734
|
+
omit the block.
|
8735
|
+
|
8736
|
+
The following template:
|
8737
|
+
|
8738
|
+
```handlebars
|
8739
|
+
{{! application.hbs }}
|
8740
|
+
{{collection content=model itemViewClass="an-item"}}
|
8741
|
+
```
|
8742
|
+
|
8743
|
+
And application code
|
8744
|
+
|
8745
|
+
```javascript
|
8746
|
+
App = Ember.Application.create();
|
8747
|
+
App.ApplicationRoute = Ember.Route.extend({
|
8748
|
+
model: function() {
|
8749
|
+
return [{name: 'Yehuda'},{name: 'Tom'},{name: 'Peter'}];
|
8750
|
+
}
|
8751
|
+
});
|
8752
|
+
|
8753
|
+
App.AnItemView = Ember.View.extend({
|
8754
|
+
template: Ember.Handlebars.compile("Greetings {{view.content.name}}")
|
8755
|
+
});
|
8756
|
+
```
|
8757
|
+
|
8758
|
+
Will result in the HTML structure below
|
8759
|
+
|
8760
|
+
```html
|
8761
|
+
<div class="ember-view">
|
8762
|
+
<div class="ember-view">Greetings Yehuda</div>
|
8763
|
+
<div class="ember-view">Greetings Tom</div>
|
8764
|
+
<div class="ember-view">Greetings Peter</div>
|
8765
|
+
</div>
|
8766
|
+
```
|
8767
|
+
|
8768
|
+
### Specifying a CollectionView subclass
|
8769
|
+
|
8770
|
+
By default the `{{collection}}` helper will create an instance of
|
8771
|
+
`Ember.CollectionView`. You can supply a `Ember.CollectionView` subclass to
|
8772
|
+
the helper by passing it as the first argument:
|
8773
|
+
|
8774
|
+
```handlebars
|
8775
|
+
{{#collection "my-custom-collection" content=model}}
|
8776
|
+
Hi {{view.content.name}}
|
8777
|
+
{{/collection}}
|
8778
|
+
```
|
8779
|
+
|
8780
|
+
This example would look for the class `App.MyCustomCollection`.
|
8781
|
+
|
8782
|
+
### Forwarded `item.*`-named Options
|
8783
|
+
|
8784
|
+
As with the `{{view}}`, helper options passed to the `{{collection}}` will be
|
8785
|
+
set on the resulting `Ember.CollectionView` as properties. Additionally,
|
8786
|
+
options prefixed with `item` will be applied to the views rendered for each
|
8787
|
+
item (note the camelcasing):
|
8788
|
+
|
8789
|
+
```handlebars
|
8790
|
+
{{#collection content=model
|
8791
|
+
itemTagName="p"
|
8792
|
+
itemClassNames="greeting"}}
|
8793
|
+
Howdy {{view.content.name}}
|
8794
|
+
{{/collection}}
|
8795
|
+
```
|
8796
|
+
|
8797
|
+
Will result in the following HTML structure:
|
8798
|
+
|
8799
|
+
```html
|
8800
|
+
<div class="ember-view">
|
8801
|
+
<p class="ember-view greeting">Howdy Yehuda</p>
|
8802
|
+
<p class="ember-view greeting">Howdy Tom</p>
|
8803
|
+
<p class="ember-view greeting">Howdy Peter</p>
|
8804
|
+
</div>
|
8805
|
+
```
|
8806
|
+
|
8807
|
+
@method collection
|
8808
|
+
@for Ember.Templates.helpers
|
8809
|
+
@deprecated Use `{{each}}` helper instead.
|
8810
|
+
@public
|
8811
|
+
*/
|
8622
8812
|
exports["default"] = {
|
8623
8813
|
setupState: function (state, env, scope, params, hash) {
|
8624
8814
|
var read = env.hooks.getValue;
|
@@ -8899,8 +9089,159 @@ enifed('ember-htmlbars/keywords/each', ['exports', 'ember-runtime/controllers/ar
|
|
8899
9089
|
}
|
8900
9090
|
});
|
8901
9091
|
enifed("ember-htmlbars/keywords/input", ["exports", "ember-metal/core", "ember-metal/merge"], function (exports, _emberMetalCore, _emberMetalMerge) {
|
9092
|
+
/**
|
9093
|
+
@module ember
|
9094
|
+
@submodule ember-templates
|
9095
|
+
*/
|
9096
|
+
|
8902
9097
|
"use strict";
|
8903
9098
|
|
9099
|
+
/**
|
9100
|
+
The `{{input}}` helper lets you create an HTML `<input />` component.
|
9101
|
+
It causes an `Ember.TextField` component to be rendered. For more info,
|
9102
|
+
see the [Ember.TextField](/api/classes/Ember.TextField.html) docs and
|
9103
|
+
the [templates guide](http://emberjs.com/guides/templates/input-helpers/).
|
9104
|
+
|
9105
|
+
```handlebars
|
9106
|
+
{{input value="987"}}
|
9107
|
+
```
|
9108
|
+
|
9109
|
+
renders as:
|
9110
|
+
|
9111
|
+
```HTML
|
9112
|
+
<input type="text" value="987" />
|
9113
|
+
```
|
9114
|
+
|
9115
|
+
### Text field
|
9116
|
+
|
9117
|
+
If no `type` option is specified, a default of type 'text' is used.
|
9118
|
+
|
9119
|
+
Many of the standard HTML attributes may be passed to this helper.
|
9120
|
+
|
9121
|
+
<table>
|
9122
|
+
<tr><td>`readonly`</td><td>`required`</td><td>`autofocus`</td></tr>
|
9123
|
+
<tr><td>`value`</td><td>`placeholder`</td><td>`disabled`</td></tr>
|
9124
|
+
<tr><td>`size`</td><td>`tabindex`</td><td>`maxlength`</td></tr>
|
9125
|
+
<tr><td>`name`</td><td>`min`</td><td>`max`</td></tr>
|
9126
|
+
<tr><td>`pattern`</td><td>`accept`</td><td>`autocomplete`</td></tr>
|
9127
|
+
<tr><td>`autosave`</td><td>`formaction`</td><td>`formenctype`</td></tr>
|
9128
|
+
<tr><td>`formmethod`</td><td>`formnovalidate`</td><td>`formtarget`</td></tr>
|
9129
|
+
<tr><td>`height`</td><td>`inputmode`</td><td>`multiple`</td></tr>
|
9130
|
+
<tr><td>`step`</td><td>`width`</td><td>`form`</td></tr>
|
9131
|
+
<tr><td>`selectionDirection`</td><td>`spellcheck`</td><td> </td></tr>
|
9132
|
+
</table>
|
9133
|
+
|
9134
|
+
|
9135
|
+
When set to a quoted string, these values will be directly applied to the HTML
|
9136
|
+
element. When left unquoted, these values will be bound to a property on the
|
9137
|
+
template's current rendering context (most typically a controller instance).
|
9138
|
+
|
9139
|
+
|
9140
|
+
A very common use of this helper is to bind the `value` of an input to an Object's attribute:
|
9141
|
+
|
9142
|
+
```handlebars
|
9143
|
+
Search:
|
9144
|
+
{{input value=searchWord}}
|
9145
|
+
```
|
9146
|
+
|
9147
|
+
In this example, the inital value in the `<input />` will be set to the value of `searchWord`.
|
9148
|
+
If the user changes the text, the value of `searchWord` will also be updated.
|
9149
|
+
|
9150
|
+
### Actions
|
9151
|
+
The helper can send multiple actions based on user events.
|
9152
|
+
The action property defines the action which is sent when
|
9153
|
+
the user presses the return key.
|
9154
|
+
|
9155
|
+
```handlebars
|
9156
|
+
{{input action="submit"}}
|
9157
|
+
```
|
9158
|
+
|
9159
|
+
The helper allows some user events to send actions.
|
9160
|
+
|
9161
|
+
* `enter`
|
9162
|
+
* `insert-newline`
|
9163
|
+
* `escape-press`
|
9164
|
+
* `focus-in`
|
9165
|
+
* `focus-out`
|
9166
|
+
* `key-press`
|
9167
|
+
* `key-up`
|
9168
|
+
|
9169
|
+
|
9170
|
+
For example, if you desire an action to be sent when the input is blurred,
|
9171
|
+
you only need to setup the action name to the event name property.
|
9172
|
+
|
9173
|
+
```handlebars
|
9174
|
+
{{input focus-in="alertMessage"}}
|
9175
|
+
```
|
9176
|
+
|
9177
|
+
See more about [Text Support Actions](/api/classes/Ember.TextField.html)
|
9178
|
+
|
9179
|
+
|
9180
|
+
### Extending `Ember.TextField`
|
9181
|
+
|
9182
|
+
Internally, `{{input type="text"}}` creates an instance of `Ember.TextField`, passing
|
9183
|
+
arguments from the helper to `Ember.TextField`'s `create` method. You can extend the
|
9184
|
+
capabilities of text inputs in your applications by reopening this class. For example,
|
9185
|
+
if you are building a Bootstrap project where `data-*` attributes are used, you
|
9186
|
+
can add one to the `TextField`'s `attributeBindings` property:
|
9187
|
+
|
9188
|
+
|
9189
|
+
```javascript
|
9190
|
+
Ember.TextField.reopen({
|
9191
|
+
attributeBindings: ['data-error']
|
9192
|
+
});
|
9193
|
+
```
|
9194
|
+
|
9195
|
+
Keep in mind when writing `Ember.TextField` subclasses that `Ember.TextField`
|
9196
|
+
itself extends `Ember.Component`. Expect isolated component semantics, not
|
9197
|
+
legacy 1.x view semantics (like `controller` being present).
|
9198
|
+
|
9199
|
+
See more about [Ember components](/api/classes/Ember.Component.html)
|
9200
|
+
|
9201
|
+
|
9202
|
+
### Checkbox
|
9203
|
+
|
9204
|
+
Checkboxes are special forms of the `{{input}}` helper. To create a `<checkbox />`:
|
9205
|
+
|
9206
|
+
```handlebars
|
9207
|
+
Emberize Everything:
|
9208
|
+
{{input type="checkbox" name="isEmberized" checked=isEmberized}}
|
9209
|
+
```
|
9210
|
+
|
9211
|
+
This will bind checked state of this checkbox to the value of `isEmberized` -- if either one changes,
|
9212
|
+
it will be reflected in the other.
|
9213
|
+
|
9214
|
+
|
9215
|
+
The following HTML attributes can be set via the helper:
|
9216
|
+
|
9217
|
+
* `checked`
|
9218
|
+
* `disabled`
|
9219
|
+
* `tabindex`
|
9220
|
+
* `indeterminate`
|
9221
|
+
* `name`
|
9222
|
+
* `autofocus`
|
9223
|
+
* `form`
|
9224
|
+
|
9225
|
+
|
9226
|
+
### Extending `Ember.Checkbox`
|
9227
|
+
|
9228
|
+
Internally, `{{input type="checkbox"}}` creates an instance of `Ember.Checkbox`, passing
|
9229
|
+
arguments from the helper to `Ember.Checkbox`'s `create` method. You can extend the
|
9230
|
+
capablilties of checkbox inputs in your applications by reopening this class. For example,
|
9231
|
+
if you wanted to add a css class to all checkboxes in your application:
|
9232
|
+
|
9233
|
+
```javascript
|
9234
|
+
Ember.Checkbox.reopen({
|
9235
|
+
classNames: ['my-app-checkbox']
|
9236
|
+
});
|
9237
|
+
```
|
9238
|
+
|
9239
|
+
|
9240
|
+
@method input
|
9241
|
+
@for Ember.Templates.helpers
|
9242
|
+
@param {Hash} options
|
9243
|
+
@public
|
9244
|
+
*/
|
8904
9245
|
exports["default"] = {
|
8905
9246
|
setupState: function (lastState, env, scope, params, hash) {
|
8906
9247
|
var type = env.hooks.getValue(hash.type);
|
@@ -8971,7 +9312,7 @@ enifed("ember-htmlbars/keywords/mut", ["exports", "ember-metal/core", "ember-met
|
|
8971
9312
|
exports.MUTABLE_REFERENCE = MUTABLE_REFERENCE;
|
8972
9313
|
/**
|
8973
9314
|
The `mut` helper lets you __clearly specify__ that a child `Component` can update the
|
8974
|
-
(mutable) value passed to it, which will __change the value of the parent
|
9315
|
+
(mutable) value passed to it, which will __change the value of the parent component__.
|
8975
9316
|
|
8976
9317
|
This is very helpful for passing mutable values to a `Component` of any size, but
|
8977
9318
|
critical to understanding the logic of a large/complex `Component`.
|
@@ -9152,11 +9493,52 @@ enifed('ember-htmlbars/keywords/outlet', ['exports', 'htmlbars-runtime/hooks'],
|
|
9152
9493
|
enifed("ember-htmlbars/keywords/partial", ["exports", "ember-views/system/lookup_partial", "htmlbars-runtime"], function (exports, _emberViewsSystemLookup_partial, _htmlbarsRuntime) {
|
9153
9494
|
/**
|
9154
9495
|
@module ember
|
9155
|
-
@submodule ember-
|
9496
|
+
@submodule ember-templates
|
9156
9497
|
*/
|
9157
9498
|
|
9158
9499
|
"use strict";
|
9159
9500
|
|
9501
|
+
/**
|
9502
|
+
The `partial` helper renders another template without
|
9503
|
+
changing the template context:
|
9504
|
+
|
9505
|
+
```handlebars
|
9506
|
+
{{foo}}
|
9507
|
+
{{partial "nav"}}
|
9508
|
+
```
|
9509
|
+
|
9510
|
+
The above example template will render a template named
|
9511
|
+
"_nav", which has the same context as the parent template
|
9512
|
+
it's rendered into, so if the "_nav" template also referenced
|
9513
|
+
`{{foo}}`, it would print the same thing as the `{{foo}}`
|
9514
|
+
in the above example.
|
9515
|
+
|
9516
|
+
If a "_nav" template isn't found, the `partial` helper will
|
9517
|
+
fall back to a template named "nav".
|
9518
|
+
|
9519
|
+
### Bound template names
|
9520
|
+
|
9521
|
+
The parameter supplied to `partial` can also be a path
|
9522
|
+
to a property containing a template name, e.g.:
|
9523
|
+
|
9524
|
+
```handlebars
|
9525
|
+
{{partial someTemplateName}}
|
9526
|
+
```
|
9527
|
+
|
9528
|
+
The above example will look up the value of `someTemplateName`
|
9529
|
+
on the template context (e.g. a controller) and use that
|
9530
|
+
value as the name of the template to render. If the resolved
|
9531
|
+
value is falsy, nothing will be rendered. If `someTemplateName`
|
9532
|
+
changes, the partial will be re-rendered using the new template
|
9533
|
+
name.
|
9534
|
+
|
9535
|
+
|
9536
|
+
@method partial
|
9537
|
+
@for Ember.Templates.helpers
|
9538
|
+
@param {String} partialName the name of the template to render minus the leading underscore
|
9539
|
+
@public
|
9540
|
+
*/
|
9541
|
+
|
9160
9542
|
exports["default"] = {
|
9161
9543
|
setupState: function (state, env, scope, params, hash) {
|
9162
9544
|
return { partialName: env.hooks.getValue(params[0]) };
|
@@ -9178,8 +9560,13 @@ enifed("ember-htmlbars/keywords/partial", ["exports", "ember-views/system/lookup
|
|
9178
9560
|
}
|
9179
9561
|
};
|
9180
9562
|
});
|
9181
|
-
enifed(
|
9182
|
-
|
9563
|
+
enifed('ember-htmlbars/keywords/readonly', ['exports', 'ember-htmlbars/keywords/mut'], function (exports, _emberHtmlbarsKeywordsMut) {
|
9564
|
+
/**
|
9565
|
+
@module ember
|
9566
|
+
@submodule ember-templates
|
9567
|
+
*/
|
9568
|
+
|
9569
|
+
'use strict';
|
9183
9570
|
|
9184
9571
|
exports["default"] = readonly;
|
9185
9572
|
|
@@ -9204,7 +9591,7 @@ enifed("ember-htmlbars/keywords/real_outlet", ["exports", "ember-metal/property_
|
|
9204
9591
|
|
9205
9592
|
"use strict";
|
9206
9593
|
|
9207
|
-
_emberHtmlbarsTemplatesTopLevelView["default"].meta.revision = 'Ember@1.13.
|
9594
|
+
_emberHtmlbarsTemplatesTopLevelView["default"].meta.revision = 'Ember@1.13.8';
|
9208
9595
|
|
9209
9596
|
exports["default"] = {
|
9210
9597
|
willRender: function (renderNode, env) {
|
@@ -9329,9 +9716,195 @@ enifed("ember-htmlbars/keywords/template", ["exports", "ember-metal/core"], func
|
|
9329
9716
|
enifed('ember-htmlbars/keywords/textarea', ['exports'], function (exports) {
|
9330
9717
|
/**
|
9331
9718
|
@module ember
|
9332
|
-
@submodule ember-
|
9719
|
+
@submodule ember-templates
|
9333
9720
|
*/
|
9334
9721
|
|
9722
|
+
/**
|
9723
|
+
`{{textarea}}` inserts a new instance of `<textarea>` tag into the template.
|
9724
|
+
The attributes of `{{textarea}}` match those of the native HTML tags as
|
9725
|
+
closely as possible.
|
9726
|
+
|
9727
|
+
The following HTML attributes can be set:
|
9728
|
+
|
9729
|
+
* `value`
|
9730
|
+
* `name`
|
9731
|
+
* `rows`
|
9732
|
+
* `cols`
|
9733
|
+
* `placeholder`
|
9734
|
+
* `disabled`
|
9735
|
+
* `maxlength`
|
9736
|
+
* `tabindex`
|
9737
|
+
* `selectionEnd`
|
9738
|
+
* `selectionStart`
|
9739
|
+
* `selectionDirection`
|
9740
|
+
* `wrap`
|
9741
|
+
* `readonly`
|
9742
|
+
* `autofocus`
|
9743
|
+
* `form`
|
9744
|
+
* `spellcheck`
|
9745
|
+
* `required`
|
9746
|
+
|
9747
|
+
When set to a quoted string, these value will be directly applied to the HTML
|
9748
|
+
element. When left unquoted, these values will be bound to a property on the
|
9749
|
+
template's current rendering context (most typically a controller instance).
|
9750
|
+
|
9751
|
+
Unbound:
|
9752
|
+
|
9753
|
+
```handlebars
|
9754
|
+
{{textarea value="Lots of static text that ISN'T bound"}}
|
9755
|
+
```
|
9756
|
+
|
9757
|
+
Would result in the following HTML:
|
9758
|
+
|
9759
|
+
```html
|
9760
|
+
<textarea class="ember-text-area">
|
9761
|
+
Lots of static text that ISN'T bound
|
9762
|
+
</textarea>
|
9763
|
+
```
|
9764
|
+
|
9765
|
+
Bound:
|
9766
|
+
|
9767
|
+
In the following example, the `writtenWords` property on `App.ApplicationController`
|
9768
|
+
will be updated live as the user types 'Lots of text that IS bound' into
|
9769
|
+
the text area of their browser's window.
|
9770
|
+
|
9771
|
+
```javascript
|
9772
|
+
App.ApplicationController = Ember.Controller.extend({
|
9773
|
+
writtenWords: "Lots of text that IS bound"
|
9774
|
+
});
|
9775
|
+
```
|
9776
|
+
|
9777
|
+
```handlebars
|
9778
|
+
{{textarea value=writtenWords}}
|
9779
|
+
```
|
9780
|
+
|
9781
|
+
Would result in the following HTML:
|
9782
|
+
|
9783
|
+
```html
|
9784
|
+
<textarea class="ember-text-area">
|
9785
|
+
Lots of text that IS bound
|
9786
|
+
</textarea>
|
9787
|
+
```
|
9788
|
+
|
9789
|
+
If you wanted a one way binding between the text area and a div tag
|
9790
|
+
somewhere else on your screen, you could use `Ember.computed.oneWay`:
|
9791
|
+
|
9792
|
+
```javascript
|
9793
|
+
App.ApplicationController = Ember.Controller.extend({
|
9794
|
+
writtenWords: "Lots of text that IS bound",
|
9795
|
+
outputWrittenWords: Ember.computed.oneWay("writtenWords")
|
9796
|
+
});
|
9797
|
+
```
|
9798
|
+
|
9799
|
+
```handlebars
|
9800
|
+
{{textarea value=writtenWords}}
|
9801
|
+
|
9802
|
+
<div>
|
9803
|
+
{{outputWrittenWords}}
|
9804
|
+
</div>
|
9805
|
+
```
|
9806
|
+
|
9807
|
+
Would result in the following HTML:
|
9808
|
+
|
9809
|
+
```html
|
9810
|
+
<textarea class="ember-text-area">
|
9811
|
+
Lots of text that IS bound
|
9812
|
+
</textarea>
|
9813
|
+
|
9814
|
+
<-- the following div will be updated in real time as you type -->
|
9815
|
+
|
9816
|
+
<div>
|
9817
|
+
Lots of text that IS bound
|
9818
|
+
</div>
|
9819
|
+
```
|
9820
|
+
|
9821
|
+
Finally, this example really shows the power and ease of Ember when two
|
9822
|
+
properties are bound to eachother via `Ember.computed.alias`. Type into
|
9823
|
+
either text area box and they'll both stay in sync. Note that
|
9824
|
+
`Ember.computed.alias` costs more in terms of performance, so only use it when
|
9825
|
+
your really binding in both directions:
|
9826
|
+
|
9827
|
+
```javascript
|
9828
|
+
App.ApplicationController = Ember.Controller.extend({
|
9829
|
+
writtenWords: "Lots of text that IS bound",
|
9830
|
+
twoWayWrittenWords: Ember.computed.alias("writtenWords")
|
9831
|
+
});
|
9832
|
+
```
|
9833
|
+
|
9834
|
+
```handlebars
|
9835
|
+
{{textarea value=writtenWords}}
|
9836
|
+
{{textarea value=twoWayWrittenWords}}
|
9837
|
+
```
|
9838
|
+
|
9839
|
+
```html
|
9840
|
+
<textarea id="ember1" class="ember-text-area">
|
9841
|
+
Lots of text that IS bound
|
9842
|
+
</textarea>
|
9843
|
+
|
9844
|
+
<-- both updated in real time -->
|
9845
|
+
|
9846
|
+
<textarea id="ember2" class="ember-text-area">
|
9847
|
+
Lots of text that IS bound
|
9848
|
+
</textarea>
|
9849
|
+
```
|
9850
|
+
|
9851
|
+
### Actions
|
9852
|
+
|
9853
|
+
The helper can send multiple actions based on user events.
|
9854
|
+
|
9855
|
+
The action property defines the action which is send when
|
9856
|
+
the user presses the return key.
|
9857
|
+
|
9858
|
+
```handlebars
|
9859
|
+
{{input action="submit"}}
|
9860
|
+
```
|
9861
|
+
|
9862
|
+
The helper allows some user events to send actions.
|
9863
|
+
|
9864
|
+
* `enter`
|
9865
|
+
* `insert-newline`
|
9866
|
+
* `escape-press`
|
9867
|
+
* `focus-in`
|
9868
|
+
* `focus-out`
|
9869
|
+
* `key-press`
|
9870
|
+
|
9871
|
+
For example, if you desire an action to be sent when the input is blurred,
|
9872
|
+
you only need to setup the action name to the event name property.
|
9873
|
+
|
9874
|
+
```handlebars
|
9875
|
+
{{textarea focus-in="alertMessage"}}
|
9876
|
+
```
|
9877
|
+
|
9878
|
+
See more about [Text Support Actions](/api/classes/Ember.TextArea.html)
|
9879
|
+
|
9880
|
+
### Extension
|
9881
|
+
|
9882
|
+
Internally, `{{textarea}}` creates an instance of `Ember.TextArea`, passing
|
9883
|
+
arguments from the helper to `Ember.TextArea`'s `create` method. You can
|
9884
|
+
extend the capabilities of text areas in your application by reopening this
|
9885
|
+
class. For example, if you are building a Bootstrap project where `data-*`
|
9886
|
+
attributes are used, you can globally add support for a `data-*` attribute
|
9887
|
+
on all `{{textarea}}`s' in your app by reopening `Ember.TextArea` or
|
9888
|
+
`Ember.TextSupport` and adding it to the `attributeBindings` concatenated
|
9889
|
+
property:
|
9890
|
+
|
9891
|
+
```javascript
|
9892
|
+
Ember.TextArea.reopen({
|
9893
|
+
attributeBindings: ['data-error']
|
9894
|
+
});
|
9895
|
+
```
|
9896
|
+
|
9897
|
+
Keep in mind when writing `Ember.TextArea` subclasses that `Ember.TextArea`
|
9898
|
+
itself extends `Ember.Component`. Expect isolated component semantics, not
|
9899
|
+
legacy 1.x view semantics (like `controller` being present).
|
9900
|
+
|
9901
|
+
See more about [Ember components](/api/classes/Ember.Component.html)
|
9902
|
+
|
9903
|
+
@method textarea
|
9904
|
+
@for Ember.Templates.helpers
|
9905
|
+
@param {Hash} options
|
9906
|
+
@public
|
9907
|
+
*/
|
9335
9908
|
'use strict';
|
9336
9909
|
|
9337
9910
|
exports["default"] = textarea;
|
@@ -9427,11 +10000,189 @@ enifed("ember-htmlbars/keywords/unbound", ["exports", "ember-metal/merge", "embe
|
|
9427
10000
|
enifed("ember-htmlbars/keywords/view", ["exports", "ember-views/streams/utils", "ember-views/views/view", "ember-htmlbars/node-managers/view-node-manager", "ember-metal/keys"], function (exports, _emberViewsStreamsUtils, _emberViewsViewsView, _emberHtmlbarsNodeManagersViewNodeManager, _emberMetalKeys) {
|
9428
10001
|
/**
|
9429
10002
|
@module ember
|
9430
|
-
@submodule ember-
|
10003
|
+
@submodule ember-templates
|
9431
10004
|
*/
|
9432
10005
|
|
9433
10006
|
"use strict";
|
9434
10007
|
|
10008
|
+
/**
|
10009
|
+
`{{view}}` inserts a new instance of an `Ember.View` into a template passing its
|
10010
|
+
options to the `Ember.View`'s `create` method and using the supplied block as
|
10011
|
+
the view's own template.
|
10012
|
+
|
10013
|
+
An empty `<body>` and the following template:
|
10014
|
+
|
10015
|
+
```handlebars
|
10016
|
+
A span:
|
10017
|
+
{{#view tagName="span"}}
|
10018
|
+
hello.
|
10019
|
+
{{/view}}
|
10020
|
+
```
|
10021
|
+
|
10022
|
+
Will result in HTML structure:
|
10023
|
+
|
10024
|
+
```html
|
10025
|
+
<body>
|
10026
|
+
<!-- Note: the handlebars template script
|
10027
|
+
also results in a rendered Ember.View
|
10028
|
+
which is the outer <div> here -->
|
10029
|
+
|
10030
|
+
<div class="ember-view">
|
10031
|
+
A span:
|
10032
|
+
<span id="ember1" class="ember-view">
|
10033
|
+
Hello.
|
10034
|
+
</span>
|
10035
|
+
</div>
|
10036
|
+
</body>
|
10037
|
+
```
|
10038
|
+
|
10039
|
+
### `parentView` setting
|
10040
|
+
|
10041
|
+
The `parentView` property of the new `Ember.View` instance created through
|
10042
|
+
`{{view}}` will be set to the `Ember.View` instance of the template where
|
10043
|
+
`{{view}}` was called.
|
10044
|
+
|
10045
|
+
```javascript
|
10046
|
+
aView = Ember.View.create({
|
10047
|
+
template: Ember.Handlebars.compile("{{#view}} my parent: {{parentView.elementId}} {{/view}}")
|
10048
|
+
});
|
10049
|
+
|
10050
|
+
aView.appendTo('body');
|
10051
|
+
```
|
10052
|
+
|
10053
|
+
Will result in HTML structure:
|
10054
|
+
|
10055
|
+
```html
|
10056
|
+
<div id="ember1" class="ember-view">
|
10057
|
+
<div id="ember2" class="ember-view">
|
10058
|
+
my parent: ember1
|
10059
|
+
</div>
|
10060
|
+
</div>
|
10061
|
+
```
|
10062
|
+
|
10063
|
+
### Setting CSS id and class attributes
|
10064
|
+
|
10065
|
+
The HTML `id` attribute can be set on the `{{view}}`'s resulting element with
|
10066
|
+
the `id` option. This option will _not_ be passed to `Ember.View.create`.
|
10067
|
+
|
10068
|
+
```handlebars
|
10069
|
+
{{#view tagName="span" id="a-custom-id"}}
|
10070
|
+
hello.
|
10071
|
+
{{/view}}
|
10072
|
+
```
|
10073
|
+
|
10074
|
+
Results in the following HTML structure:
|
10075
|
+
|
10076
|
+
```html
|
10077
|
+
<div class="ember-view">
|
10078
|
+
<span id="a-custom-id" class="ember-view">
|
10079
|
+
hello.
|
10080
|
+
</span>
|
10081
|
+
</div>
|
10082
|
+
```
|
10083
|
+
|
10084
|
+
The HTML `class` attribute can be set on the `{{view}}`'s resulting element
|
10085
|
+
with the `class` or `classNameBindings` options. The `class` option will
|
10086
|
+
directly set the CSS `class` attribute and will not be passed to
|
10087
|
+
`Ember.View.create`. `classNameBindings` will be passed to `create` and use
|
10088
|
+
`Ember.View`'s class name binding functionality:
|
10089
|
+
|
10090
|
+
```handlebars
|
10091
|
+
{{#view tagName="span" class="a-custom-class"}}
|
10092
|
+
hello.
|
10093
|
+
{{/view}}
|
10094
|
+
```
|
10095
|
+
|
10096
|
+
Results in the following HTML structure:
|
10097
|
+
|
10098
|
+
```html
|
10099
|
+
<div class="ember-view">
|
10100
|
+
<span id="ember2" class="ember-view a-custom-class">
|
10101
|
+
hello.
|
10102
|
+
</span>
|
10103
|
+
</div>
|
10104
|
+
```
|
10105
|
+
|
10106
|
+
### Supplying a different view class
|
10107
|
+
|
10108
|
+
`{{view}}` can take an optional first argument before its supplied options to
|
10109
|
+
specify a path to a custom view class.
|
10110
|
+
|
10111
|
+
```handlebars
|
10112
|
+
{{#view "custom"}}{{! will look up App.CustomView }}
|
10113
|
+
hello.
|
10114
|
+
{{/view}}
|
10115
|
+
```
|
10116
|
+
|
10117
|
+
The first argument can also be a relative path accessible from the current
|
10118
|
+
context.
|
10119
|
+
|
10120
|
+
```javascript
|
10121
|
+
MyApp = Ember.Application.create({});
|
10122
|
+
MyApp.OuterView = Ember.View.extend({
|
10123
|
+
innerViewClass: Ember.View.extend({
|
10124
|
+
classNames: ['a-custom-view-class-as-property']
|
10125
|
+
}),
|
10126
|
+
template: Ember.Handlebars.compile('{{#view view.innerViewClass}} hi {{/view}}')
|
10127
|
+
});
|
10128
|
+
|
10129
|
+
MyApp.OuterView.create().appendTo('body');
|
10130
|
+
```
|
10131
|
+
|
10132
|
+
Will result in the following HTML:
|
10133
|
+
|
10134
|
+
```html
|
10135
|
+
<div id="ember1" class="ember-view">
|
10136
|
+
<div id="ember2" class="ember-view a-custom-view-class-as-property">
|
10137
|
+
hi
|
10138
|
+
</div>
|
10139
|
+
</div>
|
10140
|
+
```
|
10141
|
+
|
10142
|
+
### Blockless use
|
10143
|
+
|
10144
|
+
If you supply a custom `Ember.View` subclass that specifies its own template
|
10145
|
+
or provide a `templateName` option to `{{view}}` it can be used without
|
10146
|
+
supplying a block. Attempts to use both a `templateName` option and supply a
|
10147
|
+
block will throw an error.
|
10148
|
+
|
10149
|
+
```javascript
|
10150
|
+
var App = Ember.Application.create();
|
10151
|
+
App.WithTemplateDefinedView = Ember.View.extend({
|
10152
|
+
templateName: 'defined-template'
|
10153
|
+
});
|
10154
|
+
```
|
10155
|
+
|
10156
|
+
```handlebars
|
10157
|
+
{{! application.hbs }}
|
10158
|
+
{{view 'with-template-defined'}}
|
10159
|
+
```
|
10160
|
+
|
10161
|
+
```handlebars
|
10162
|
+
{{! defined-template.hbs }}
|
10163
|
+
Some content for the defined template view.
|
10164
|
+
```
|
10165
|
+
|
10166
|
+
### `viewName` property
|
10167
|
+
|
10168
|
+
You can supply a `viewName` option to `{{view}}`. The `Ember.View` instance
|
10169
|
+
will be referenced as a property of its parent view by this name.
|
10170
|
+
|
10171
|
+
```javascript
|
10172
|
+
aView = Ember.View.create({
|
10173
|
+
template: Ember.Handlebars.compile('{{#view viewName="aChildByName"}} hi {{/view}}')
|
10174
|
+
});
|
10175
|
+
|
10176
|
+
aView.appendTo('body');
|
10177
|
+
aView.get('aChildByName') // the instance of Ember.View created by {{view}} helper
|
10178
|
+
```
|
10179
|
+
|
10180
|
+
@method view
|
10181
|
+
@for Ember.Templates.helpers
|
10182
|
+
@public
|
10183
|
+
@deprecated
|
10184
|
+
*/
|
10185
|
+
|
9435
10186
|
exports["default"] = {
|
9436
10187
|
setupState: function (state, env, scope, params, hash) {
|
9437
10188
|
var read = env.hooks.getValue;
|
@@ -9536,6 +10287,11 @@ enifed("ember-htmlbars/keywords/view", ["exports", "ember-views/streams/utils",
|
|
9536
10287
|
}
|
9537
10288
|
});
|
9538
10289
|
enifed('ember-htmlbars/keywords/with', ['exports', 'ember-metal/core', 'ember-metal/property_get', 'htmlbars-runtime', 'ember-metal/streams/utils'], function (exports, _emberMetalCore, _emberMetalProperty_get, _htmlbarsRuntime, _emberMetalStreamsUtils) {
|
10290
|
+
/**
|
10291
|
+
@module ember
|
10292
|
+
@submodule ember-templates
|
10293
|
+
*/
|
10294
|
+
|
9539
10295
|
'use strict';
|
9540
10296
|
|
9541
10297
|
exports["default"] = {
|
@@ -15156,7 +15912,7 @@ enifed('ember-metal/core', ['exports'], function (exports) {
|
|
15156
15912
|
|
15157
15913
|
@class Ember
|
15158
15914
|
@static
|
15159
|
-
@version 1.13.
|
15915
|
+
@version 1.13.8
|
15160
15916
|
@public
|
15161
15917
|
*/
|
15162
15918
|
|
@@ -15190,11 +15946,11 @@ enifed('ember-metal/core', ['exports'], function (exports) {
|
|
15190
15946
|
|
15191
15947
|
@property VERSION
|
15192
15948
|
@type String
|
15193
|
-
@default '1.13.
|
15949
|
+
@default '1.13.8'
|
15194
15950
|
@static
|
15195
15951
|
@public
|
15196
15952
|
*/
|
15197
|
-
Ember.VERSION = '1.13.
|
15953
|
+
Ember.VERSION = '1.13.8';
|
15198
15954
|
|
15199
15955
|
/**
|
15200
15956
|
The hash of environment variables used to control various configuration
|
@@ -22103,6 +22859,9 @@ enifed("ember-metal/utils", ["exports", "ember-metal/core", "ember-metal/platfor
|
|
22103
22859
|
*/
|
22104
22860
|
|
22105
22861
|
function guidFor(obj) {
|
22862
|
+
if (obj && obj[GUID_KEY]) {
|
22863
|
+
return obj[GUID_KEY];
|
22864
|
+
}
|
22106
22865
|
|
22107
22866
|
// special cases where we don't want to add a key to object
|
22108
22867
|
if (obj === undefined) {
|
@@ -22140,10 +22899,6 @@ enifed("ember-metal/utils", ["exports", "ember-metal/core", "ember-metal/platfor
|
|
22140
22899
|
return obj ? '(true)' : '(false)';
|
22141
22900
|
|
22142
22901
|
default:
|
22143
|
-
if (obj[GUID_KEY]) {
|
22144
|
-
return obj[GUID_KEY];
|
22145
|
-
}
|
22146
|
-
|
22147
22902
|
if (obj === Object) {
|
22148
22903
|
return '(Object)';
|
22149
22904
|
}
|
@@ -23764,6 +24519,35 @@ enifed('ember-routing-htmlbars/keywords/link-to', ['exports', 'ember-metal/strea
|
|
23764
24519
|
To override this option for your entire application, see
|
23765
24520
|
"Overriding Application-wide Defaults".
|
23766
24521
|
|
24522
|
+
### Keeping a link active for other routes
|
24523
|
+
|
24524
|
+
If you need a link to be 'active' even when it doesn't match
|
24525
|
+
the current route, you can use the the `current-when`
|
24526
|
+
argument.
|
24527
|
+
|
24528
|
+
```handlebars
|
24529
|
+
{{#link-to 'photoGallery' current-when='photos'}}
|
24530
|
+
Photo Gallery
|
24531
|
+
{{/link-to}}
|
24532
|
+
```
|
24533
|
+
|
24534
|
+
This may be helpful for keeping links active for:
|
24535
|
+
|
24536
|
+
* non-nested routes that are logically related
|
24537
|
+
* some secondary menu approaches
|
24538
|
+
* 'top navigation' with 'sub navigation' scenarios
|
24539
|
+
|
24540
|
+
A link will be active if `current-when` is `true` or the current
|
24541
|
+
route is the route this link would transition to.
|
24542
|
+
|
24543
|
+
To match multiple routes 'space-separate' the routes:
|
24544
|
+
|
24545
|
+
```handlebars
|
24546
|
+
{{#link-to 'gallery' current-when='photos drawings paintings'}}
|
24547
|
+
Art Gallery
|
24548
|
+
{{/link-to}}
|
24549
|
+
```
|
24550
|
+
|
23767
24551
|
### Supplying a model
|
23768
24552
|
An optional model argument can be used for routes whose
|
23769
24553
|
paths contain dynamic segments. This argument will become
|
@@ -24186,7 +24970,7 @@ enifed("ember-routing-views/views/link", ["exports", "ember-metal/core", "ember-
|
|
24186
24970
|
|
24187
24971
|
"use strict";
|
24188
24972
|
|
24189
|
-
_emberHtmlbarsTemplatesLinkTo["default"].meta.revision = 'Ember@1.13.
|
24973
|
+
_emberHtmlbarsTemplatesLinkTo["default"].meta.revision = 'Ember@1.13.8';
|
24190
24974
|
|
24191
24975
|
var linkComponentClassNameBindings = ['active', 'loading', 'disabled'];
|
24192
24976
|
|
@@ -24483,7 +25267,13 @@ enifed("ember-routing-views/views/link", ["exports", "ember-metal/core", "ember-
|
|
24483
25267
|
return false;
|
24484
25268
|
}
|
24485
25269
|
|
24486
|
-
|
25270
|
+
var routing = _emberMetalProperty_get.get(this, '_routing');
|
25271
|
+
var targetRouteName = this._handleOnlyQueryParamsSupplied(_emberMetalProperty_get.get(this, 'targetRouteName'));
|
25272
|
+
var models = _emberMetalProperty_get.get(this, 'models');
|
25273
|
+
var queryParamValues = _emberMetalProperty_get.get(this, 'queryParams.values');
|
25274
|
+
var shouldReplace = _emberMetalProperty_get.get(this, 'attrs.replace');
|
25275
|
+
|
25276
|
+
routing.transitionTo(targetRouteName, models, queryParamValues, shouldReplace);
|
24487
25277
|
},
|
24488
25278
|
|
24489
25279
|
queryParams: null,
|
@@ -24719,7 +25509,7 @@ enifed("ember-routing-views/views/outlet", ["exports", "ember-views/views/view",
|
|
24719
25509
|
|
24720
25510
|
"use strict";
|
24721
25511
|
|
24722
|
-
_emberHtmlbarsTemplatesTopLevelView["default"].meta.revision = 'Ember@1.13.
|
25512
|
+
_emberHtmlbarsTemplatesTopLevelView["default"].meta.revision = 'Ember@1.13.8';
|
24723
25513
|
|
24724
25514
|
var CoreOutletView = _emberViewsViewsView["default"].extend({
|
24725
25515
|
defaultTemplate: _emberHtmlbarsTemplatesTopLevelView["default"],
|
@@ -24932,11 +25722,13 @@ enifed("ember-routing/ext/controller", ["exports", "ember-metal/core", "ember-me
|
|
24932
25722
|
var part = parts[i];
|
24933
25723
|
var cacheValuePrefix = _calculateCacheValuePrefix(prefix, part);
|
24934
25724
|
var value;
|
24935
|
-
if (
|
24936
|
-
|
24937
|
-
|
24938
|
-
|
24939
|
-
|
25725
|
+
if (values) {
|
25726
|
+
if (cacheValuePrefix && cacheValuePrefix in values) {
|
25727
|
+
var partRemovedPrefix = part.indexOf(cacheValuePrefix) === 0 ? part.substr(cacheValuePrefix.length + 1) : part;
|
25728
|
+
value = _emberMetalProperty_get.get(values[cacheValuePrefix], partRemovedPrefix);
|
25729
|
+
} else {
|
25730
|
+
value = _emberMetalProperty_get.get(values, part);
|
25731
|
+
}
|
24940
25732
|
}
|
24941
25733
|
suffixes += '::' + part + ':' + value;
|
24942
25734
|
}
|
@@ -27195,7 +27987,7 @@ enifed("ember-routing/system/route", ["exports", "ember-metal/core", "ember-meta
|
|
27195
27987
|
@property controller
|
27196
27988
|
@type Ember.Controller
|
27197
27989
|
@since 1.6.0
|
27198
|
-
@
|
27990
|
+
@public
|
27199
27991
|
*/
|
27200
27992
|
|
27201
27993
|
_actions: {
|
@@ -41715,7 +42507,7 @@ enifed("ember-template-compiler/system/compile_options", ["exports", "ember-meta
|
|
41715
42507
|
|
41716
42508
|
options.buildMeta = function buildMeta(program) {
|
41717
42509
|
return {
|
41718
|
-
revision: 'Ember@1.13.
|
42510
|
+
revision: 'Ember@1.13.8',
|
41719
42511
|
loc: program.loc,
|
41720
42512
|
moduleName: options.moduleName
|
41721
42513
|
};
|
@@ -43120,13 +43912,16 @@ enifed('ember-views/compat/attrs-proxy', ['exports', 'ember-metal/mixin', 'ember
|
|
43120
43912
|
|
43121
43913
|
_propagateAttrsToThis: function () {
|
43122
43914
|
var attrs = this.attrs;
|
43123
|
-
|
43915
|
+
|
43124
43916
|
for (var prop in attrs) {
|
43125
|
-
if (prop !== 'attrs'
|
43126
|
-
|
43917
|
+
if (prop !== 'attrs' &&
|
43918
|
+
// These list of properties are concatenated and merged properties of
|
43919
|
+
// Ember.View / Ember.Component. Setting them here results in them being
|
43920
|
+
// completely stomped and not handled properly, BAIL OUT!
|
43921
|
+
prop !== 'actions' && prop !== 'classNames' && prop !== 'classNameBindings' && prop !== 'attributeBindings') {
|
43922
|
+
this.set(prop, this.getAttr(prop));
|
43127
43923
|
}
|
43128
43924
|
}
|
43129
|
-
this.setProperties(values);
|
43130
43925
|
},
|
43131
43926
|
|
43132
43927
|
initializeShape: _emberMetalEvents.on('init', function () {
|
@@ -43150,7 +43945,8 @@ enifed('ember-views/compat/attrs-proxy', ['exports', 'ember-metal/mixin', 'ember
|
|
43150
43945
|
if (attrs && key in attrs) {
|
43151
43946
|
// do not deprecate accessing `this[key]` at this time.
|
43152
43947
|
// add this back when we have a proper migration path
|
43153
|
-
|
43948
|
+
// Ember.deprecate(deprecation(key), { id: 'ember-views.', until: '3.0.0' });
|
43949
|
+
var possibleCell = attrs[key];
|
43154
43950
|
|
43155
43951
|
if (possibleCell && possibleCell[MUTABLE_CELL]) {
|
43156
43952
|
return possibleCell.value;
|
@@ -46938,7 +47734,7 @@ enifed("ember-views/views/component", ["exports", "ember-metal/core", "ember-vie
|
|
46938
47734
|
enifed("ember-views/views/container_view", ["exports", "ember-metal/core", "ember-runtime/mixins/mutable_array", "ember-views/views/view", "ember-metal/property_get", "ember-metal/property_set", "ember-metal/enumerable_utils", "ember-metal/mixin", "ember-metal/events", "ember-htmlbars/templates/container-view"], function (exports, _emberMetalCore, _emberRuntimeMixinsMutable_array, _emberViewsViewsView, _emberMetalProperty_get, _emberMetalProperty_set, _emberMetalEnumerable_utils, _emberMetalMixin, _emberMetalEvents, _emberHtmlbarsTemplatesContainerView) {
|
46939
47735
|
"use strict";
|
46940
47736
|
|
46941
|
-
_emberHtmlbarsTemplatesContainerView["default"].meta.revision = 'Ember@1.13.
|
47737
|
+
_emberHtmlbarsTemplatesContainerView["default"].meta.revision = 'Ember@1.13.8';
|
46942
47738
|
|
46943
47739
|
/**
|
46944
47740
|
@module ember
|