ember-source 2.11.0.beta.4 → 2.11.0.beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/dist/ember-runtime.js +42 -34
- data/dist/ember-template-compiler.js +77 -38
- data/dist/ember-testing.js +2 -2
- data/dist/ember-tests.js +73071 -0
- data/dist/ember-tests.prod.js +72592 -0
- data/dist/ember.debug.js +810 -561
- data/dist/ember.js +810 -561
- data/dist/ember.min.js +200 -191
- data/dist/ember.prod.js +606 -557
- metadata +4 -3
data/dist/ember.debug.js
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
;(function() {
|
2
2
|
/*!
|
3
3
|
* @overview Ember - JavaScript Application Framework
|
4
|
-
* @copyright Copyright 2011-
|
4
|
+
* @copyright Copyright 2011-2017 Tilde Inc. and contributors
|
5
5
|
* Portions Copyright 2006-2011 Strobe Inc.
|
6
6
|
* Portions Copyright 2008-2011 Apple Inc. All rights reserved.
|
7
7
|
* @license Licensed under MIT license
|
8
8
|
* See https://raw.github.com/emberjs/ember.js/master/LICENSE
|
9
|
-
* @version 2.11.0-beta.
|
9
|
+
* @version 2.11.0-beta.8
|
10
10
|
*/
|
11
11
|
|
12
12
|
var enifed, requireModule, Ember;
|
@@ -6840,16 +6840,15 @@ enifed('ember-glimmer/component', ['exports', 'ember-utils', 'ember-views', 'emb
|
|
6840
6840
|
|
6841
6841
|
The easiest way to create an `Ember.Component` is via
|
6842
6842
|
a template. If you name a template
|
6843
|
-
`components/my-foo`, you will be able to use
|
6843
|
+
`app/components/my-foo.hbs`, you will be able to use
|
6844
6844
|
`{{my-foo}}` in other templates, which will make
|
6845
6845
|
an instance of the isolated component.
|
6846
6846
|
|
6847
|
-
```
|
6848
|
-
{{
|
6847
|
+
```app/components/my-foo.hbs
|
6848
|
+
{{person-profile person=currentUser}}
|
6849
6849
|
```
|
6850
6850
|
|
6851
|
-
```
|
6852
|
-
<!-- app-profile template -->
|
6851
|
+
```app/components/person-profile.hbs
|
6853
6852
|
<h1>{{person.title}}</h1>
|
6854
6853
|
<img src={{person.avatar}}>
|
6855
6854
|
<p class='signature'>{{person.signature}}</p>
|
@@ -6861,14 +6860,13 @@ enifed('ember-glimmer/component', ['exports', 'ember-utils', 'ember-views', 'emb
|
|
6861
6860
|
context of the surrounding context or outer controller:
|
6862
6861
|
|
6863
6862
|
```handlebars
|
6864
|
-
{{#
|
6863
|
+
{{#person-profile person=currentUser}}
|
6865
6864
|
<p>Admin mode</p>
|
6866
6865
|
{{! Executed in the controller's context. }}
|
6867
|
-
{{/
|
6866
|
+
{{/person-profile}}
|
6868
6867
|
```
|
6869
6868
|
|
6870
|
-
```
|
6871
|
-
<!-- app-profile template -->
|
6869
|
+
```app/components/person-profile.hbs
|
6872
6870
|
<h1>{{person.title}}</h1>
|
6873
6871
|
{{! Executed in the component's context. }}
|
6874
6872
|
{{yield}} {{! block contents }}
|
@@ -6877,16 +6875,17 @@ enifed('ember-glimmer/component', ['exports', 'ember-utils', 'ember-views', 'emb
|
|
6877
6875
|
If you want to customize the component, in order to
|
6878
6876
|
handle events or actions, you implement a subclass
|
6879
6877
|
of `Ember.Component` named after the name of the
|
6880
|
-
component.
|
6881
|
-
your subclass like `AppProfileComponent`.
|
6878
|
+
component.
|
6882
6879
|
|
6883
6880
|
For example, you could implement the action
|
6884
|
-
`hello` for the `
|
6881
|
+
`hello` for the `person-profile` component:
|
6885
6882
|
|
6886
|
-
```
|
6887
|
-
|
6883
|
+
```app/components/person-profile.js
|
6884
|
+
import Ember from 'ember';
|
6885
|
+
|
6886
|
+
export default Ember.Component.extend({
|
6888
6887
|
actions: {
|
6889
|
-
hello
|
6888
|
+
hello(name) {
|
6890
6889
|
console.log("Hello", name);
|
6891
6890
|
}
|
6892
6891
|
}
|
@@ -6895,19 +6894,423 @@ enifed('ember-glimmer/component', ['exports', 'ember-utils', 'ember-views', 'emb
|
|
6895
6894
|
|
6896
6895
|
And then use it in the component's template:
|
6897
6896
|
|
6898
|
-
```
|
6899
|
-
<!-- app-profile template -->
|
6897
|
+
```app/templates/components/person-profile.hbs
|
6900
6898
|
<h1>{{person.title}}</h1>
|
6901
6899
|
{{yield}} <!-- block contents -->
|
6902
6900
|
<button {{action 'hello' person.name}}>
|
6903
6901
|
Say Hello to {{person.name}}
|
6904
6902
|
</button>
|
6905
6903
|
```
|
6904
|
+
|
6906
6905
|
Components must have a `-` in their name to avoid
|
6907
6906
|
conflicts with built-in controls that wrap HTML
|
6908
6907
|
elements. This is consistent with the same
|
6909
6908
|
requirement in web components.
|
6910
6909
|
|
6910
|
+
|
6911
|
+
## HTML Tag
|
6912
|
+
|
6913
|
+
The default HTML tag name used for a component's DOM representation is `div`.
|
6914
|
+
This can be customized by setting the `tagName` property.
|
6915
|
+
The following component class:
|
6916
|
+
|
6917
|
+
```app/components/emphasized-paragraph.js
|
6918
|
+
import Ember from 'ember';
|
6919
|
+
|
6920
|
+
export default Ember.Component.extend({
|
6921
|
+
tagName: 'em'
|
6922
|
+
});
|
6923
|
+
```
|
6924
|
+
|
6925
|
+
Would result in instances with the following HTML:
|
6926
|
+
|
6927
|
+
```html
|
6928
|
+
<em id="ember1" class="ember-view"></em>
|
6929
|
+
```
|
6930
|
+
|
6931
|
+
|
6932
|
+
## HTML `class` Attribute
|
6933
|
+
|
6934
|
+
The HTML `class` attribute of a component's tag can be set by providing a
|
6935
|
+
`classNames` property that is set to an array of strings:
|
6936
|
+
|
6937
|
+
```app/components/my-widget.js
|
6938
|
+
import Ember from 'ember';
|
6939
|
+
|
6940
|
+
export default Ember.Component.extend({
|
6941
|
+
classNames: ['my-class', 'my-other-class']
|
6942
|
+
});
|
6943
|
+
```
|
6944
|
+
|
6945
|
+
Will result in component instances with an HTML representation of:
|
6946
|
+
|
6947
|
+
```html
|
6948
|
+
<div id="ember1" class="ember-view my-class my-other-class"></div>
|
6949
|
+
```
|
6950
|
+
|
6951
|
+
`class` attribute values can also be set by providing a `classNameBindings`
|
6952
|
+
property set to an array of properties names for the component. The return value
|
6953
|
+
of these properties will be added as part of the value for the components's `class`
|
6954
|
+
attribute. These properties can be computed properties:
|
6955
|
+
|
6956
|
+
```app/components/my-widget.js
|
6957
|
+
import Ember from 'ember';
|
6958
|
+
|
6959
|
+
export default Ember.Component.extend({
|
6960
|
+
classNameBindings: ['propertyA', 'propertyB'],
|
6961
|
+
propertyA: 'from-a',
|
6962
|
+
propertyB: Ember.computed(function() {
|
6963
|
+
if (someLogic) { return 'from-b'; }
|
6964
|
+
})
|
6965
|
+
});
|
6966
|
+
```
|
6967
|
+
|
6968
|
+
Will result in component instances with an HTML representation of:
|
6969
|
+
|
6970
|
+
```html
|
6971
|
+
<div id="ember1" class="ember-view from-a from-b"></div>
|
6972
|
+
```
|
6973
|
+
|
6974
|
+
If the value of a class name binding returns a boolean the property name
|
6975
|
+
itself will be used as the class name if the property is true.
|
6976
|
+
The class name will not be added if the value is `false` or `undefined`.
|
6977
|
+
|
6978
|
+
```app/components/my-widget.js
|
6979
|
+
import Ember from 'ember';
|
6980
|
+
|
6981
|
+
export default Ember.Component.extend({
|
6982
|
+
classNameBindings: ['hovered'],
|
6983
|
+
hovered: true
|
6984
|
+
});
|
6985
|
+
```
|
6986
|
+
|
6987
|
+
Will result in component instances with an HTML representation of:
|
6988
|
+
|
6989
|
+
```html
|
6990
|
+
<div id="ember1" class="ember-view hovered"></div>
|
6991
|
+
```
|
6992
|
+
|
6993
|
+
When using boolean class name bindings you can supply a string value other
|
6994
|
+
than the property name for use as the `class` HTML attribute by appending the
|
6995
|
+
preferred value after a ":" character when defining the binding:
|
6996
|
+
|
6997
|
+
```app/components/my-widget.js
|
6998
|
+
import Ember from 'ember';
|
6999
|
+
|
7000
|
+
export default Ember.Component.extend({
|
7001
|
+
classNameBindings: ['awesome:so-very-cool'],
|
7002
|
+
awesome: true
|
7003
|
+
});
|
7004
|
+
```
|
7005
|
+
|
7006
|
+
Will result in component instances with an HTML representation of:
|
7007
|
+
|
7008
|
+
```html
|
7009
|
+
<div id="ember1" class="ember-view so-very-cool"></div>
|
7010
|
+
```
|
7011
|
+
|
7012
|
+
Boolean value class name bindings whose property names are in a
|
7013
|
+
camelCase-style format will be converted to a dasherized format:
|
7014
|
+
|
7015
|
+
```app/components/my-widget.js
|
7016
|
+
import Ember from 'ember';
|
7017
|
+
|
7018
|
+
export default Ember.Component.extend({
|
7019
|
+
classNameBindings: ['isUrgent'],
|
7020
|
+
isUrgent: true
|
7021
|
+
});
|
7022
|
+
```
|
7023
|
+
|
7024
|
+
Will result in component instances with an HTML representation of:
|
7025
|
+
|
7026
|
+
```html
|
7027
|
+
<div id="ember1" class="ember-view is-urgent"></div>
|
7028
|
+
```
|
7029
|
+
|
7030
|
+
Class name bindings can also refer to object values that are found by
|
7031
|
+
traversing a path relative to the component itself:
|
7032
|
+
|
7033
|
+
```app/components/my-widget.js
|
7034
|
+
import Ember from 'ember';
|
7035
|
+
|
7036
|
+
export default Ember.Component.extend({
|
7037
|
+
classNameBindings: ['messages.empty'],
|
7038
|
+
messages: Ember.Object.create({
|
7039
|
+
empty: true
|
7040
|
+
})
|
7041
|
+
});
|
7042
|
+
```
|
7043
|
+
|
7044
|
+
Will result in component instances with an HTML representation of:
|
7045
|
+
|
7046
|
+
```html
|
7047
|
+
<div id="ember1" class="ember-view empty"></div>
|
7048
|
+
```
|
7049
|
+
|
7050
|
+
If you want to add a class name for a property which evaluates to true and
|
7051
|
+
and a different class name if it evaluates to false, you can pass a binding
|
7052
|
+
like this:
|
7053
|
+
|
7054
|
+
```app/components/my-widget.js
|
7055
|
+
import Ember from 'ember';
|
7056
|
+
|
7057
|
+
export default Ember.Component.extend({
|
7058
|
+
classNameBindings: ['isEnabled:enabled:disabled'],
|
7059
|
+
isEnabled: true
|
7060
|
+
});
|
7061
|
+
```
|
7062
|
+
|
7063
|
+
Will result in component instances with an HTML representation of:
|
7064
|
+
|
7065
|
+
```html
|
7066
|
+
<div id="ember1" class="ember-view enabled"></div>
|
7067
|
+
```
|
7068
|
+
|
7069
|
+
When isEnabled is `false`, the resulting HTML representation looks like
|
7070
|
+
this:
|
7071
|
+
|
7072
|
+
```html
|
7073
|
+
<div id="ember1" class="ember-view disabled"></div>
|
7074
|
+
```
|
7075
|
+
|
7076
|
+
This syntax offers the convenience to add a class if a property is `false`:
|
7077
|
+
|
7078
|
+
```app/components/my-widget.js
|
7079
|
+
import Ember from 'ember';
|
7080
|
+
|
7081
|
+
// Applies no class when isEnabled is true and class 'disabled' when isEnabled is false
|
7082
|
+
export default Ember.Component.extend({
|
7083
|
+
classNameBindings: ['isEnabled::disabled'],
|
7084
|
+
isEnabled: true
|
7085
|
+
});
|
7086
|
+
```
|
7087
|
+
|
7088
|
+
Will result in component instances with an HTML representation of:
|
7089
|
+
|
7090
|
+
```html
|
7091
|
+
<div id="ember1" class="ember-view"></div>
|
7092
|
+
```
|
7093
|
+
|
7094
|
+
When the `isEnabled` property on the component is set to `false`, it will result
|
7095
|
+
in component instances with an HTML representation of:
|
7096
|
+
|
7097
|
+
```html
|
7098
|
+
<div id="ember1" class="ember-view disabled"></div>
|
7099
|
+
```
|
7100
|
+
|
7101
|
+
Updates to the value of a class name binding will result in automatic
|
7102
|
+
update of the HTML `class` attribute in the component's rendered HTML
|
7103
|
+
representation. If the value becomes `false` or `undefined` the class name
|
7104
|
+
will be removed.
|
7105
|
+
Both `classNames` and `classNameBindings` are concatenated properties. See
|
7106
|
+
[Ember.Object](/api/classes/Ember.Object.html) documentation for more
|
7107
|
+
information about concatenated properties.
|
7108
|
+
|
7109
|
+
|
7110
|
+
## HTML Attributes
|
7111
|
+
|
7112
|
+
The HTML attribute section of a component's tag can be set by providing an
|
7113
|
+
`attributeBindings` property set to an array of property names on the component.
|
7114
|
+
The return value of these properties will be used as the value of the component's
|
7115
|
+
HTML associated attribute:
|
7116
|
+
|
7117
|
+
```app/components/my-anchor.js
|
7118
|
+
import Ember from 'ember';
|
7119
|
+
|
7120
|
+
export default Ember.Component.extend({
|
7121
|
+
tagName: 'a',
|
7122
|
+
attributeBindings: ['href'],
|
7123
|
+
href: 'http://google.com'
|
7124
|
+
});
|
7125
|
+
```
|
7126
|
+
|
7127
|
+
Will result in component instances with an HTML representation of:
|
7128
|
+
|
7129
|
+
```html
|
7130
|
+
<a id="ember1" class="ember-view" href="http://google.com"></a>
|
7131
|
+
```
|
7132
|
+
|
7133
|
+
One property can be mapped on to another by placing a ":" between
|
7134
|
+
the source property and the destination property:
|
7135
|
+
|
7136
|
+
```app/components/my-anchor.js
|
7137
|
+
import Ember from 'ember';
|
7138
|
+
|
7139
|
+
export default Ember.Component.extend({
|
7140
|
+
tagName: 'a',
|
7141
|
+
attributeBindings: ['url:href'],
|
7142
|
+
url: 'http://google.com'
|
7143
|
+
});
|
7144
|
+
```
|
7145
|
+
|
7146
|
+
Will result in component instances with an HTML representation of:
|
7147
|
+
|
7148
|
+
```html
|
7149
|
+
<a id="ember1" class="ember-view" href="http://google.com"></a>
|
7150
|
+
```
|
7151
|
+
|
7152
|
+
Namespaced attributes (e.g. `xlink:href`) are supported, but have to be
|
7153
|
+
mapped, since `:` is not a valid character for properties in Javascript:
|
7154
|
+
|
7155
|
+
```app/components/my-use.js
|
7156
|
+
import Ember from 'ember';
|
7157
|
+
|
7158
|
+
export default Ember.Component.extend({
|
7159
|
+
tagName: 'use',
|
7160
|
+
attributeBindings: ['xlinkHref:xlink:href'],
|
7161
|
+
xlinkHref: '#triangle'
|
7162
|
+
});
|
7163
|
+
```
|
7164
|
+
|
7165
|
+
Will result in component instances with an HTML representation of:
|
7166
|
+
|
7167
|
+
```html
|
7168
|
+
<use xlink:href="#triangle"></use>
|
7169
|
+
```
|
7170
|
+
|
7171
|
+
If the return value of an `attributeBindings` monitored property is a boolean
|
7172
|
+
the attribute will be present or absent depending on the value:
|
7173
|
+
|
7174
|
+
```app/components/my-text-input.js
|
7175
|
+
import Ember from 'ember';
|
7176
|
+
|
7177
|
+
export default Ember.Component.extend({
|
7178
|
+
tagName: 'input',
|
7179
|
+
attributeBindings: ['disabled'],
|
7180
|
+
disabled: false
|
7181
|
+
});
|
7182
|
+
```
|
7183
|
+
|
7184
|
+
Will result in a component instance with an HTML representation of:
|
7185
|
+
|
7186
|
+
```html
|
7187
|
+
<input id="ember1" class="ember-view" />
|
7188
|
+
```
|
7189
|
+
|
7190
|
+
`attributeBindings` can refer to computed properties:
|
7191
|
+
|
7192
|
+
```app/components/my-text-input.js
|
7193
|
+
import Ember from 'ember';
|
7194
|
+
|
7195
|
+
export default Ember.Component.extend({
|
7196
|
+
tagName: 'input',
|
7197
|
+
attributeBindings: ['disabled'],
|
7198
|
+
disabled: Ember.computed(function() {
|
7199
|
+
if (someLogic) {
|
7200
|
+
return true;
|
7201
|
+
} else {
|
7202
|
+
return false;
|
7203
|
+
}
|
7204
|
+
})
|
7205
|
+
});
|
7206
|
+
```
|
7207
|
+
|
7208
|
+
To prevent setting an attribute altogether, use `null` or `undefined` as the
|
7209
|
+
return value of the `attributeBindings` monitored property:
|
7210
|
+
|
7211
|
+
```app/components/my-text-input.js
|
7212
|
+
import Ember from 'ember';
|
7213
|
+
|
7214
|
+
export default Ember.Component.extend({
|
7215
|
+
tagName: 'form',
|
7216
|
+
attributeBindings: ['novalidate'],
|
7217
|
+
novalidate: null
|
7218
|
+
});
|
7219
|
+
```
|
7220
|
+
|
7221
|
+
Updates to the property of an attribute binding will result in automatic
|
7222
|
+
update of the HTML attribute in the component's rendered HTML representation.
|
7223
|
+
`attributeBindings` is a concatenated property. See [Ember.Object](/api/classes/Ember.Object.html)
|
7224
|
+
documentation for more information about concatenated properties.
|
7225
|
+
|
7226
|
+
|
7227
|
+
## Layouts
|
7228
|
+
|
7229
|
+
See [Ember.Templates.helpers.yield](/api/classes/Ember.Templates.helpers.html#method_yield)
|
7230
|
+
for more information.
|
7231
|
+
|
7232
|
+
|
7233
|
+
## Responding to Browser Events
|
7234
|
+
|
7235
|
+
Components can respond to user-initiated events in one of three ways: method
|
7236
|
+
implementation, through an event manager, and through `{{action}}` helper use
|
7237
|
+
in their template or layout.
|
7238
|
+
|
7239
|
+
|
7240
|
+
### Method Implementation
|
7241
|
+
|
7242
|
+
Components can respond to user-initiated events by implementing a method that
|
7243
|
+
matches the event name. A `jQuery.Event` object will be passed as the
|
7244
|
+
argument to this method.
|
7245
|
+
|
7246
|
+
```app/components/my-widget.js
|
7247
|
+
import Ember from 'ember';
|
7248
|
+
|
7249
|
+
export default Ember.Component.extend({
|
7250
|
+
click(event) {
|
7251
|
+
// will be called when an instance's
|
7252
|
+
// rendered element is clicked
|
7253
|
+
}
|
7254
|
+
});
|
7255
|
+
```
|
7256
|
+
|
7257
|
+
|
7258
|
+
### `{{action}}` Helper
|
7259
|
+
|
7260
|
+
See [Ember.Templates.helpers.action](/api/classes/Ember.Templates.helpers.html#method_action).
|
7261
|
+
|
7262
|
+
|
7263
|
+
### Event Names
|
7264
|
+
|
7265
|
+
All of the event handling approaches described above respond to the same set
|
7266
|
+
of events. The names of the built-in events are listed below. (The hash of
|
7267
|
+
built-in events exists in `Ember.EventDispatcher`.) Additional, custom events
|
7268
|
+
can be registered by using `Ember.Application.customEvents`.
|
7269
|
+
|
7270
|
+
Touch events:
|
7271
|
+
|
7272
|
+
* `touchStart`
|
7273
|
+
* `touchMove`
|
7274
|
+
* `touchEnd`
|
7275
|
+
* `touchCancel`
|
7276
|
+
|
7277
|
+
Keyboard events:
|
7278
|
+
|
7279
|
+
* `keyDown`
|
7280
|
+
* `keyUp`
|
7281
|
+
* `keyPress`
|
7282
|
+
|
7283
|
+
Mouse events:
|
7284
|
+
|
7285
|
+
* `mouseDown`
|
7286
|
+
* `mouseUp`
|
7287
|
+
* `contextMenu`
|
7288
|
+
* `click`
|
7289
|
+
* `doubleClick`
|
7290
|
+
* `mouseMove`
|
7291
|
+
* `focusIn`
|
7292
|
+
* `focusOut`
|
7293
|
+
* `mouseEnter`
|
7294
|
+
* `mouseLeave`
|
7295
|
+
|
7296
|
+
Form events:
|
7297
|
+
|
7298
|
+
* `submit`
|
7299
|
+
* `change`
|
7300
|
+
* `focusIn`
|
7301
|
+
* `focusOut`
|
7302
|
+
* `input`
|
7303
|
+
|
7304
|
+
HTML5 drag and drop events:
|
7305
|
+
|
7306
|
+
* `dragStart`
|
7307
|
+
* `drag`
|
7308
|
+
* `dragEnter`
|
7309
|
+
* `dragLeave`
|
7310
|
+
* `dragOver`
|
7311
|
+
* `dragEnd`
|
7312
|
+
* `drop`
|
7313
|
+
|
6911
7314
|
@class Component
|
6912
7315
|
@namespace Ember
|
6913
7316
|
@extends Ember.CoreView
|
@@ -6915,6 +7318,7 @@ enifed('ember-glimmer/component', ['exports', 'ember-utils', 'ember-views', 'emb
|
|
6915
7318
|
@uses Ember.ClassNamesSupport
|
6916
7319
|
@uses Ember.ActionSupport
|
6917
7320
|
@uses Ember.ViewMixin
|
7321
|
+
@uses Ember.ViewStateSupport
|
6918
7322
|
@public
|
6919
7323
|
*/
|
6920
7324
|
var Component = _emberViews.CoreView.extend(_emberViews.ChildViewsSupport, _emberViews.ViewStateSupport, _emberViews.ClassNamesSupport, _emberRuntime.TargetActionSupport, _emberViews.ActionSupport, _emberViews.ViewMixin, (_CoreView$extend = {
|
@@ -6955,6 +7359,8 @@ enifed('ember-glimmer/component', ['exports', 'ember-utils', 'ember-views', 'emb
|
|
6955
7359
|
}
|
6956
7360
|
}
|
6957
7361
|
})());
|
7362
|
+
|
7363
|
+
_emberMetal.assert('You cannot use a computed property for the component\'s `tagName` (' + this + ').', !(this.tagName && this.tagName.isDescriptor));
|
6958
7364
|
},
|
6959
7365
|
|
6960
7366
|
rerender: function () {
|
@@ -7006,8 +7412,8 @@ enifed('ember-glimmer/component', ['exports', 'ember-utils', 'ember-views', 'emb
|
|
7006
7412
|
`name` and `age`:
|
7007
7413
|
```javascript
|
7008
7414
|
let MyComponent = Ember.Component.extend;
|
7009
|
-
|
7010
|
-
|
7415
|
+
MyComponent.reopenClass({
|
7416
|
+
positionalParams: ['name', 'age']
|
7011
7417
|
});
|
7012
7418
|
```
|
7013
7419
|
It can then be invoked like this:
|
@@ -7016,14 +7422,14 @@ enifed('ember-glimmer/component', ['exports', 'ember-utils', 'ember-views', 'emb
|
|
7016
7422
|
```
|
7017
7423
|
The parameters can be referred to just like named parameters:
|
7018
7424
|
```hbs
|
7019
|
-
Name: {{
|
7425
|
+
Name: {{name}}, Age: {{age}}.
|
7020
7426
|
```
|
7021
7427
|
Using a string instead of an array allows for an arbitrary number of
|
7022
7428
|
parameters:
|
7023
7429
|
```javascript
|
7024
7430
|
let MyComponent = Ember.Component.extend;
|
7025
|
-
|
7026
|
-
|
7431
|
+
MyComponent.reopenClass({
|
7432
|
+
positionalParams: 'names'
|
7027
7433
|
});
|
7028
7434
|
```
|
7029
7435
|
It can then be invoked like this:
|
@@ -7032,7 +7438,7 @@ enifed('ember-glimmer/component', ['exports', 'ember-utils', 'ember-views', 'emb
|
|
7032
7438
|
```
|
7033
7439
|
The parameters can then be referred to by enumerating over the list:
|
7034
7440
|
```hbs
|
7035
|
-
{{#each
|
7441
|
+
{{#each names as |name|}}{{name}}{{/each}}
|
7036
7442
|
```
|
7037
7443
|
@static
|
7038
7444
|
@public
|
@@ -7140,6 +7546,67 @@ enifed('ember-glimmer/component', ['exports', 'ember-utils', 'ember-views', 'emb
|
|
7140
7546
|
@since 1.13.0
|
7141
7547
|
*/
|
7142
7548
|
|
7549
|
+
/**
|
7550
|
+
A component may contain a layout. A layout is a regular template but
|
7551
|
+
supersedes the `template` property during rendering. It is the
|
7552
|
+
responsibility of the layout template to retrieve the `template`
|
7553
|
+
property from the component (or alternatively, call `Handlebars.helpers.yield`,
|
7554
|
+
`{{yield}}`) to render it in the correct location.
|
7555
|
+
This is useful for a component that has a shared wrapper, but which delegates
|
7556
|
+
the rendering of the contents of the wrapper to the `template` property
|
7557
|
+
on a subclass.
|
7558
|
+
@property layout
|
7559
|
+
@type Function
|
7560
|
+
@public
|
7561
|
+
*/
|
7562
|
+
|
7563
|
+
/**
|
7564
|
+
The name of the layout to lookup if no layout is provided.
|
7565
|
+
By default `Ember.Component` will lookup a template with this name in
|
7566
|
+
`Ember.TEMPLATES` (a shared global object).
|
7567
|
+
@property layoutName
|
7568
|
+
@type String
|
7569
|
+
@default null
|
7570
|
+
@private
|
7571
|
+
*/
|
7572
|
+
|
7573
|
+
/**
|
7574
|
+
Returns a jQuery object for this component's element. If you pass in a selector
|
7575
|
+
string, this method will return a jQuery object, using the current element
|
7576
|
+
as its buffer.
|
7577
|
+
For example, calling `component.$('li')` will return a jQuery object containing
|
7578
|
+
all of the `li` elements inside the DOM element of this component.
|
7579
|
+
@method $
|
7580
|
+
@param {String} [selector] a jQuery-compatible selector string
|
7581
|
+
@return {jQuery} the jQuery object for the DOM node
|
7582
|
+
@public
|
7583
|
+
*/
|
7584
|
+
|
7585
|
+
/**
|
7586
|
+
The HTML `id` of the component's element in the DOM. You can provide this
|
7587
|
+
value yourself but it must be unique (just as in HTML):
|
7588
|
+
```handlebars
|
7589
|
+
{{my-component elementId="a-really-cool-id"}}
|
7590
|
+
```
|
7591
|
+
If not manually set a default value will be provided by the framework.
|
7592
|
+
Once rendered an element's `elementId` is considered immutable and you
|
7593
|
+
should never change it. If you need to compute a dynamic value for the
|
7594
|
+
`elementId`, you should do this when the component or element is being
|
7595
|
+
instantiated:
|
7596
|
+
```javascript
|
7597
|
+
export default Ember.Component.extend({
|
7598
|
+
init() {
|
7599
|
+
this._super(...arguments);
|
7600
|
+
var index = this.get('index');
|
7601
|
+
this.set('elementId', `component-id${index}`);
|
7602
|
+
}
|
7603
|
+
});
|
7604
|
+
```
|
7605
|
+
@property elementId
|
7606
|
+
@type String
|
7607
|
+
@public
|
7608
|
+
*/
|
7609
|
+
|
7143
7610
|
/**
|
7144
7611
|
If `false`, the view will appear hidden in DOM.
|
7145
7612
|
@property isVisible
|
@@ -7563,7 +8030,7 @@ enifed('ember-glimmer/components/link-to', ['exports', 'ember-console', 'ember-m
|
|
7563
8030
|
@namespace Ember
|
7564
8031
|
@extends Ember.Component
|
7565
8032
|
@see {Ember.Templates.helpers.link-to}
|
7566
|
-
@
|
8033
|
+
@public
|
7567
8034
|
**/
|
7568
8035
|
var LinkComponent = _emberGlimmerComponent.default.extend({
|
7569
8036
|
layout: _emberGlimmerTemplatesLinkTo.default,
|
@@ -8423,7 +8890,7 @@ enifed('ember-glimmer/dom', ['exports', 'glimmer-runtime', 'glimmer-node'], func
|
|
8423
8890
|
exports.DOMTreeConstruction = _glimmerRuntime.DOMTreeConstruction;
|
8424
8891
|
exports.NodeDOMTreeConstruction = _glimmerNode.NodeDOMTreeConstruction;
|
8425
8892
|
});
|
8426
|
-
enifed('ember-glimmer/environment', ['exports', 'ember-utils', 'ember-metal', 'ember-views', 'glimmer-runtime', 'ember-glimmer/syntax/curly-component', 'ember-glimmer/syntax', 'ember-glimmer/syntax/dynamic-component', 'ember-glimmer/utils/iterable', 'ember-glimmer/utils/references', 'ember-glimmer/helpers/if-unless', 'ember-glimmer/utils/bindings', 'ember-glimmer/helpers/action', 'ember-glimmer/helpers/component', 'ember-glimmer/helpers/concat', 'ember-glimmer/helpers/debugger', 'ember-glimmer/helpers/get', 'ember-glimmer/helpers/hash', 'ember-glimmer/helpers/loc', 'ember-glimmer/helpers/log', 'ember-glimmer/helpers/mut', 'ember-glimmer/helpers/readonly', 'ember-glimmer/helpers/unbound', 'ember-glimmer/helpers/-class', 'ember-glimmer/helpers/-input-type', 'ember-glimmer/helpers/query-param', 'ember-glimmer/helpers/each-in', 'ember-glimmer/helpers/-normalize-class', 'ember-glimmer/helpers/-html-safe', 'ember-glimmer/protocol-for-url', 'ember-glimmer/modifiers/action'], function (exports, _emberUtils, _emberMetal, _emberViews, _glimmerRuntime, _emberGlimmerSyntaxCurlyComponent, _emberGlimmerSyntax, _emberGlimmerSyntaxDynamicComponent, _emberGlimmerUtilsIterable, _emberGlimmerUtilsReferences, _emberGlimmerHelpersIfUnless, _emberGlimmerUtilsBindings, _emberGlimmerHelpersAction, _emberGlimmerHelpersComponent, _emberGlimmerHelpersConcat, _emberGlimmerHelpersDebugger, _emberGlimmerHelpersGet, _emberGlimmerHelpersHash, _emberGlimmerHelpersLoc, _emberGlimmerHelpersLog, _emberGlimmerHelpersMut, _emberGlimmerHelpersReadonly, _emberGlimmerHelpersUnbound, _emberGlimmerHelpersClass, _emberGlimmerHelpersInputType, _emberGlimmerHelpersQueryParam, _emberGlimmerHelpersEachIn, _emberGlimmerHelpersNormalizeClass, _emberGlimmerHelpersHtmlSafe, _emberGlimmerProtocolForUrl, _emberGlimmerModifiersAction) {
|
8893
|
+
enifed('ember-glimmer/environment', ['exports', 'ember-utils', 'ember-metal', 'ember-views', 'glimmer-runtime', 'ember-glimmer/syntax/curly-component', 'ember-glimmer/syntax', 'ember-glimmer/syntax/dynamic-component', 'ember-glimmer/utils/iterable', 'ember-glimmer/utils/references', 'ember-glimmer/utils/debug-stack', 'ember-glimmer/helpers/if-unless', 'ember-glimmer/utils/bindings', 'ember-glimmer/helpers/action', 'ember-glimmer/helpers/component', 'ember-glimmer/helpers/concat', 'ember-glimmer/helpers/debugger', 'ember-glimmer/helpers/get', 'ember-glimmer/helpers/hash', 'ember-glimmer/helpers/loc', 'ember-glimmer/helpers/log', 'ember-glimmer/helpers/mut', 'ember-glimmer/helpers/readonly', 'ember-glimmer/helpers/unbound', 'ember-glimmer/helpers/-class', 'ember-glimmer/helpers/-input-type', 'ember-glimmer/helpers/query-param', 'ember-glimmer/helpers/each-in', 'ember-glimmer/helpers/-normalize-class', 'ember-glimmer/helpers/-html-safe', 'ember-glimmer/protocol-for-url', 'ember-glimmer/modifiers/action'], function (exports, _emberUtils, _emberMetal, _emberViews, _glimmerRuntime, _emberGlimmerSyntaxCurlyComponent, _emberGlimmerSyntax, _emberGlimmerSyntaxDynamicComponent, _emberGlimmerUtilsIterable, _emberGlimmerUtilsReferences, _emberGlimmerUtilsDebugStack, _emberGlimmerHelpersIfUnless, _emberGlimmerUtilsBindings, _emberGlimmerHelpersAction, _emberGlimmerHelpersComponent, _emberGlimmerHelpersConcat, _emberGlimmerHelpersDebugger, _emberGlimmerHelpersGet, _emberGlimmerHelpersHash, _emberGlimmerHelpersLoc, _emberGlimmerHelpersLog, _emberGlimmerHelpersMut, _emberGlimmerHelpersReadonly, _emberGlimmerHelpersUnbound, _emberGlimmerHelpersClass, _emberGlimmerHelpersInputType, _emberGlimmerHelpersQueryParam, _emberGlimmerHelpersEachIn, _emberGlimmerHelpersNormalizeClass, _emberGlimmerHelpersHtmlSafe, _emberGlimmerProtocolForUrl, _emberGlimmerModifiersAction) {
|
8427
8894
|
'use strict';
|
8428
8895
|
|
8429
8896
|
var builtInComponents = {
|
@@ -8533,6 +9000,10 @@ enifed('ember-glimmer/environment', ['exports', 'ember-utils', 'ember-metal', 'e
|
|
8533
9000
|
'-html-safe': _emberGlimmerHelpersHtmlSafe.default,
|
8534
9001
|
'-get-dynamic-var': _glimmerRuntime.getDynamicVar
|
8535
9002
|
};
|
9003
|
+
|
9004
|
+
_emberMetal.runInDebug(function () {
|
9005
|
+
return _this.debugStack = new _emberGlimmerUtilsDebugStack.default();
|
9006
|
+
});
|
8536
9007
|
}
|
8537
9008
|
|
8538
9009
|
// Hello future traveler, welcome to the world of syntax refinement.
|
@@ -11891,7 +12362,28 @@ enifed('ember-glimmer/syntax', ['exports', 'ember-glimmer/syntax/render', 'ember
|
|
11891
12362
|
return _class2;
|
11892
12363
|
})());
|
11893
12364
|
});
|
11894
|
-
enifed('ember-glimmer/syntax/
|
12365
|
+
enifed('ember-glimmer/syntax/abstract-manager', ['exports', 'ember-metal'], function (exports, _emberMetal) {
|
12366
|
+
'use strict';
|
12367
|
+
|
12368
|
+
var AbstractManager = function AbstractManager() {
|
12369
|
+
babelHelpers.classCallCheck(this, AbstractManager);
|
12370
|
+
};
|
12371
|
+
|
12372
|
+
_emberMetal.runInDebug(function () {
|
12373
|
+
AbstractManager.prototype._pushToDebugStack = function (name, environment) {
|
12374
|
+
this.debugStack = environment.debugStack;
|
12375
|
+
this.debugStack.push(name);
|
12376
|
+
};
|
12377
|
+
|
12378
|
+
AbstractManager.prototype._pushEngineToDebugStack = function (name, environment) {
|
12379
|
+
this.debugStack = environment.debugStack;
|
12380
|
+
this.debugStack.pushEngine(name);
|
12381
|
+
};
|
12382
|
+
});
|
12383
|
+
|
12384
|
+
exports.default = AbstractManager;
|
12385
|
+
});
|
12386
|
+
enifed('ember-glimmer/syntax/curly-component', ['exports', 'ember-utils', 'glimmer-runtime', 'ember-glimmer/utils/bindings', 'ember-glimmer/component', 'ember-metal', 'ember-views', 'ember-glimmer/utils/process-args', 'container', 'ember-glimmer/syntax/abstract-manager'], function (exports, _emberUtils, _glimmerRuntime, _emberGlimmerUtilsBindings, _emberGlimmerComponent, _emberMetal, _emberViews, _emberGlimmerUtilsProcessArgs, _container, _emberGlimmerSyntaxAbstractManager) {
|
11895
12387
|
'use strict';
|
11896
12388
|
|
11897
12389
|
exports.validatePositionalParameters = validatePositionalParameters;
|
@@ -12061,9 +12553,13 @@ babelHelpers.classCallCheck(this, ComponentStateBucket);
|
|
12061
12553
|
return component.instrumentDetails({ initialRender: false });
|
12062
12554
|
}
|
12063
12555
|
|
12064
|
-
var CurlyComponentManager = (function () {
|
12556
|
+
var CurlyComponentManager = (function (_AbstractManager) {
|
12557
|
+
babelHelpers.inherits(CurlyComponentManager, _AbstractManager);
|
12558
|
+
|
12065
12559
|
function CurlyComponentManager() {
|
12066
12560
|
babelHelpers.classCallCheck(this, CurlyComponentManager);
|
12561
|
+
|
12562
|
+
_AbstractManager.apply(this, arguments);
|
12067
12563
|
}
|
12068
12564
|
|
12069
12565
|
CurlyComponentManager.prototype.prepareArgs = function prepareArgs(definition, args) {
|
@@ -12073,6 +12569,12 @@ babelHelpers.classCallCheck(this, CurlyComponentManager);
|
|
12073
12569
|
};
|
12074
12570
|
|
12075
12571
|
CurlyComponentManager.prototype.create = function create(environment, definition, args, dynamicScope, callerSelfRef, hasBlock) {
|
12572
|
+
var _this = this;
|
12573
|
+
|
12574
|
+
_emberMetal.runInDebug(function () {
|
12575
|
+
return _this._pushToDebugStack('component:' + definition.name, environment);
|
12576
|
+
});
|
12577
|
+
|
12076
12578
|
var parentView = dynamicScope.view;
|
12077
12579
|
|
12078
12580
|
var klass = definition.ComponentClass;
|
@@ -12201,8 +12703,14 @@ babelHelpers.classCallCheck(this, CurlyComponentManager);
|
|
12201
12703
|
};
|
12202
12704
|
|
12203
12705
|
CurlyComponentManager.prototype.didRenderLayout = function didRenderLayout(bucket, bounds) {
|
12706
|
+
var _this2 = this;
|
12707
|
+
|
12204
12708
|
bucket.component[_emberGlimmerComponent.BOUNDS] = bounds;
|
12205
12709
|
bucket.finalize();
|
12710
|
+
|
12711
|
+
_emberMetal.runInDebug(function () {
|
12712
|
+
return _this2.debugStack.pop();
|
12713
|
+
});
|
12206
12714
|
};
|
12207
12715
|
|
12208
12716
|
CurlyComponentManager.prototype.getTag = function getTag(_ref3) {
|
@@ -12223,11 +12731,17 @@ babelHelpers.classCallCheck(this, CurlyComponentManager);
|
|
12223
12731
|
};
|
12224
12732
|
|
12225
12733
|
CurlyComponentManager.prototype.update = function update(bucket, _, dynamicScope) {
|
12734
|
+
var _this3 = this;
|
12735
|
+
|
12226
12736
|
var component = bucket.component;
|
12227
12737
|
var args = bucket.args;
|
12228
12738
|
var argsRevision = bucket.argsRevision;
|
12229
12739
|
var environment = bucket.environment;
|
12230
12740
|
|
12741
|
+
_emberMetal.runInDebug(function () {
|
12742
|
+
return _this3._pushToDebugStack(component._debugContainerKey, environment);
|
12743
|
+
});
|
12744
|
+
|
12231
12745
|
bucket.finalizer = _emberMetal._instrumentStart('render.component', rerenderInstrumentDetails, component);
|
12232
12746
|
|
12233
12747
|
if (!args.tag.validate(argsRevision)) {
|
@@ -12256,7 +12770,13 @@ babelHelpers.classCallCheck(this, CurlyComponentManager);
|
|
12256
12770
|
};
|
12257
12771
|
|
12258
12772
|
CurlyComponentManager.prototype.didUpdateLayout = function didUpdateLayout(bucket) {
|
12773
|
+
var _this4 = this;
|
12774
|
+
|
12259
12775
|
bucket.finalize();
|
12776
|
+
|
12777
|
+
_emberMetal.runInDebug(function () {
|
12778
|
+
return _this4.debugStack.pop();
|
12779
|
+
});
|
12260
12780
|
};
|
12261
12781
|
|
12262
12782
|
CurlyComponentManager.prototype.didUpdate = function didUpdate(_ref5) {
|
@@ -12274,7 +12794,7 @@ babelHelpers.classCallCheck(this, CurlyComponentManager);
|
|
12274
12794
|
};
|
12275
12795
|
|
12276
12796
|
return CurlyComponentManager;
|
12277
|
-
})();
|
12797
|
+
})(_emberGlimmerSyntaxAbstractManager.default);
|
12278
12798
|
|
12279
12799
|
var MANAGER = new CurlyComponentManager();
|
12280
12800
|
|
@@ -12288,8 +12808,14 @@ babelHelpers.classCallCheck(this, TopComponentManager);
|
|
12288
12808
|
}
|
12289
12809
|
|
12290
12810
|
TopComponentManager.prototype.create = function create(environment, definition, args, dynamicScope, currentScope, hasBlock) {
|
12811
|
+
var _this5 = this;
|
12812
|
+
|
12291
12813
|
var component = definition.ComponentClass;
|
12292
12814
|
|
12815
|
+
_emberMetal.runInDebug(function () {
|
12816
|
+
return _this5._pushToDebugStack(component._debugContainerKey, environment);
|
12817
|
+
});
|
12818
|
+
|
12293
12819
|
var finalizer = _emberMetal._instrumentStart('render.component', initialRenderInstrumentDetails, component);
|
12294
12820
|
|
12295
12821
|
dynamicScope.view = component;
|
@@ -12647,7 +13173,7 @@ enifed('ember-glimmer/syntax/input', ['exports', 'ember-metal', 'ember-glimmer/s
|
|
12647
13173
|
};
|
12648
13174
|
exports.InputSyntax = InputSyntax;
|
12649
13175
|
});
|
12650
|
-
enifed('ember-glimmer/syntax/mount', ['exports', 'glimmer-runtime', 'glimmer-reference', 'ember-metal', 'ember-glimmer/utils/references', 'ember-routing', 'ember-glimmer/syntax/outlet'], function (exports, _glimmerRuntime, _glimmerReference, _emberMetal, _emberGlimmerUtilsReferences, _emberRouting, _emberGlimmerSyntaxOutlet) {
|
13176
|
+
enifed('ember-glimmer/syntax/mount', ['exports', 'glimmer-runtime', 'glimmer-reference', 'ember-metal', 'ember-glimmer/utils/references', 'ember-routing', 'ember-glimmer/syntax/outlet', 'ember-glimmer/syntax/abstract-manager'], function (exports, _glimmerRuntime, _glimmerReference, _emberMetal, _emberGlimmerUtilsReferences, _emberRouting, _emberGlimmerSyntaxOutlet, _emberGlimmerSyntaxAbstractManager) {
|
12651
13177
|
/**
|
12652
13178
|
@module ember
|
12653
13179
|
@submodule ember-glimmer
|
@@ -12709,9 +13235,13 @@ enifed('ember-glimmer/syntax/mount', ['exports', 'glimmer-runtime', 'glimmer-ref
|
|
12709
13235
|
|
12710
13236
|
exports.MountSyntax = MountSyntax;
|
12711
13237
|
|
12712
|
-
var MountManager = (function () {
|
13238
|
+
var MountManager = (function (_AbstractManager) {
|
13239
|
+
babelHelpers.inherits(MountManager, _AbstractManager);
|
13240
|
+
|
12713
13241
|
function MountManager() {
|
12714
13242
|
babelHelpers.classCallCheck(this, MountManager);
|
13243
|
+
|
13244
|
+
_AbstractManager.apply(this, arguments);
|
12715
13245
|
}
|
12716
13246
|
|
12717
13247
|
MountManager.prototype.prepareArgs = function prepareArgs(definition, args) {
|
@@ -12722,6 +13252,12 @@ enifed('ember-glimmer/syntax/mount', ['exports', 'glimmer-runtime', 'glimmer-ref
|
|
12722
13252
|
var name = _ref.name;
|
12723
13253
|
var env = _ref.env;
|
12724
13254
|
|
13255
|
+
var _this = this;
|
13256
|
+
|
13257
|
+
_emberMetal.runInDebug(function () {
|
13258
|
+
return _this._pushEngineToDebugStack('engine:' + name, env);
|
13259
|
+
});
|
13260
|
+
|
12725
13261
|
dynamicScope.outletState = _glimmerReference.UNDEFINED_REFERENCE;
|
12726
13262
|
|
12727
13263
|
var engine = env.owner.buildChildEngineInstance(name);
|
@@ -12757,7 +13293,13 @@ enifed('ember-glimmer/syntax/mount', ['exports', 'glimmer-runtime', 'glimmer-ref
|
|
12757
13293
|
|
12758
13294
|
MountManager.prototype.didCreateElement = function didCreateElement() {};
|
12759
13295
|
|
12760
|
-
MountManager.prototype.didRenderLayout = function didRenderLayout() {
|
13296
|
+
MountManager.prototype.didRenderLayout = function didRenderLayout() {
|
13297
|
+
var _this2 = this;
|
13298
|
+
|
13299
|
+
_emberMetal.runInDebug(function () {
|
13300
|
+
return _this2.debugStack.pop();
|
13301
|
+
});
|
13302
|
+
};
|
12761
13303
|
|
12762
13304
|
MountManager.prototype.didCreate = function didCreate(state) {};
|
12763
13305
|
|
@@ -12768,7 +13310,7 @@ enifed('ember-glimmer/syntax/mount', ['exports', 'glimmer-runtime', 'glimmer-ref
|
|
12768
13310
|
MountManager.prototype.didUpdate = function didUpdate(state) {};
|
12769
13311
|
|
12770
13312
|
return MountManager;
|
12771
|
-
})();
|
13313
|
+
})(_emberGlimmerSyntaxAbstractManager.default);
|
12772
13314
|
|
12773
13315
|
var MOUNT_MANAGER = new MountManager();
|
12774
13316
|
|
@@ -12785,7 +13327,7 @@ enifed('ember-glimmer/syntax/mount', ['exports', 'glimmer-runtime', 'glimmer-ref
|
|
12785
13327
|
return MountDefinition;
|
12786
13328
|
})(_glimmerRuntime.ComponentDefinition);
|
12787
13329
|
});
|
12788
|
-
enifed('ember-glimmer/syntax/outlet', ['exports', 'ember-utils', 'glimmer-runtime', 'ember-metal', 'ember-glimmer/utils/references', 'glimmer-reference'], function (exports, _emberUtils, _glimmerRuntime, _emberMetal, _emberGlimmerUtilsReferences, _glimmerReference) {
|
13330
|
+
enifed('ember-glimmer/syntax/outlet', ['exports', 'ember-utils', 'glimmer-runtime', 'ember-metal', 'ember-glimmer/utils/references', 'glimmer-reference', 'ember-glimmer/syntax/abstract-manager'], function (exports, _emberUtils, _glimmerRuntime, _emberMetal, _emberGlimmerUtilsReferences, _glimmerReference, _emberGlimmerSyntaxAbstractManager) {
|
12789
13331
|
/**
|
12790
13332
|
@module ember
|
12791
13333
|
@submodule ember-glimmer
|
@@ -12974,9 +13516,13 @@ enifed('ember-glimmer/syntax/outlet', ['exports', 'ember-utils', 'glimmer-runtim
|
|
12974
13516
|
return StateBucket;
|
12975
13517
|
})();
|
12976
13518
|
|
12977
|
-
var OutletComponentManager = (function () {
|
13519
|
+
var OutletComponentManager = (function (_AbstractManager) {
|
13520
|
+
babelHelpers.inherits(OutletComponentManager, _AbstractManager);
|
13521
|
+
|
12978
13522
|
function OutletComponentManager() {
|
12979
13523
|
babelHelpers.classCallCheck(this, OutletComponentManager);
|
13524
|
+
|
13525
|
+
_AbstractManager.apply(this, arguments);
|
12980
13526
|
}
|
12981
13527
|
|
12982
13528
|
OutletComponentManager.prototype.prepareArgs = function prepareArgs(definition, args) {
|
@@ -12984,6 +13530,12 @@ enifed('ember-glimmer/syntax/outlet', ['exports', 'ember-utils', 'glimmer-runtim
|
|
12984
13530
|
};
|
12985
13531
|
|
12986
13532
|
OutletComponentManager.prototype.create = function create(environment, definition, args, dynamicScope) {
|
13533
|
+
var _this = this;
|
13534
|
+
|
13535
|
+
_emberMetal.runInDebug(function () {
|
13536
|
+
return _this._pushToDebugStack('template:' + definition.template.meta.moduleName, environment);
|
13537
|
+
});
|
13538
|
+
|
12987
13539
|
var outletStateReference = dynamicScope.outletState = dynamicScope.outletState.get('outlets').get(definition.outletName);
|
12988
13540
|
var outletState = outletStateReference.value();
|
12989
13541
|
return new StateBucket(outletState);
|
@@ -13008,7 +13560,13 @@ enifed('ember-glimmer/syntax/outlet', ['exports', 'ember-utils', 'glimmer-runtim
|
|
13008
13560
|
};
|
13009
13561
|
|
13010
13562
|
OutletComponentManager.prototype.didRenderLayout = function didRenderLayout(bucket) {
|
13563
|
+
var _this2 = this;
|
13564
|
+
|
13011
13565
|
bucket.finalize();
|
13566
|
+
|
13567
|
+
_emberMetal.runInDebug(function () {
|
13568
|
+
return _this2.debugStack.pop();
|
13569
|
+
});
|
13012
13570
|
};
|
13013
13571
|
|
13014
13572
|
OutletComponentManager.prototype.didCreateElement = function didCreateElement() {};
|
@@ -13022,7 +13580,7 @@ enifed('ember-glimmer/syntax/outlet', ['exports', 'ember-utils', 'glimmer-runtim
|
|
13022
13580
|
OutletComponentManager.prototype.didUpdate = function didUpdate(state) {};
|
13023
13581
|
|
13024
13582
|
return OutletComponentManager;
|
13025
|
-
})();
|
13583
|
+
})(_emberGlimmerSyntaxAbstractManager.default);
|
13026
13584
|
|
13027
13585
|
var MANAGER = new OutletComponentManager();
|
13028
13586
|
|
@@ -13036,6 +13594,12 @@ enifed('ember-glimmer/syntax/outlet', ['exports', 'ember-utils', 'glimmer-runtim
|
|
13036
13594
|
}
|
13037
13595
|
|
13038
13596
|
TopLevelOutletComponentManager.prototype.create = function create(environment, definition, args, dynamicScope) {
|
13597
|
+
var _this3 = this;
|
13598
|
+
|
13599
|
+
_emberMetal.runInDebug(function () {
|
13600
|
+
return _this3._pushToDebugStack('template:' + definition.template.meta.moduleName, environment);
|
13601
|
+
});
|
13602
|
+
|
13039
13603
|
return new StateBucket(dynamicScope.outletState.value());
|
13040
13604
|
};
|
13041
13605
|
|
@@ -13116,7 +13680,7 @@ enifed('ember-glimmer/syntax/outlet', ['exports', 'ember-utils', 'glimmer-runtim
|
|
13116
13680
|
|
13117
13681
|
OutletLayoutCompiler.id = 'outlet';
|
13118
13682
|
});
|
13119
|
-
enifed('ember-glimmer/syntax/render', ['exports', 'glimmer-runtime', 'glimmer-reference', 'ember-metal', 'ember-glimmer/utils/references', 'ember-routing', 'ember-glimmer/syntax/outlet'], function (exports, _glimmerRuntime, _glimmerReference, _emberMetal, _emberGlimmerUtilsReferences, _emberRouting, _emberGlimmerSyntaxOutlet) {
|
13683
|
+
enifed('ember-glimmer/syntax/render', ['exports', 'glimmer-runtime', 'glimmer-reference', 'ember-metal', 'ember-glimmer/utils/references', 'ember-routing', 'ember-glimmer/syntax/outlet', 'ember-glimmer/syntax/abstract-manager'], function (exports, _glimmerRuntime, _glimmerReference, _emberMetal, _emberGlimmerUtilsReferences, _emberRouting, _emberGlimmerSyntaxOutlet, _emberGlimmerSyntaxAbstractManager) {
|
13120
13684
|
/**
|
13121
13685
|
@module ember
|
13122
13686
|
@submodule ember-glimmer
|
@@ -13255,9 +13819,13 @@ enifed('ember-glimmer/syntax/render', ['exports', 'glimmer-runtime', 'glimmer-re
|
|
13255
13819
|
|
13256
13820
|
exports.RenderSyntax = RenderSyntax;
|
13257
13821
|
|
13258
|
-
var AbstractRenderManager = (function () {
|
13822
|
+
var AbstractRenderManager = (function (_AbstractManager) {
|
13823
|
+
babelHelpers.inherits(AbstractRenderManager, _AbstractManager);
|
13824
|
+
|
13259
13825
|
function AbstractRenderManager() {
|
13260
13826
|
babelHelpers.classCallCheck(this, AbstractRenderManager);
|
13827
|
+
|
13828
|
+
_AbstractManager.apply(this, arguments);
|
13261
13829
|
}
|
13262
13830
|
|
13263
13831
|
AbstractRenderManager.prototype.prepareArgs = function prepareArgs(definition, args) {
|
@@ -13297,7 +13865,13 @@ enifed('ember-glimmer/syntax/render', ['exports', 'glimmer-runtime', 'glimmer-re
|
|
13297
13865
|
AbstractRenderManager.prototype.didUpdate = function didUpdate() {};
|
13298
13866
|
|
13299
13867
|
return AbstractRenderManager;
|
13300
|
-
})();
|
13868
|
+
})(_emberGlimmerSyntaxAbstractManager.default);
|
13869
|
+
|
13870
|
+
_emberMetal.runInDebug(function () {
|
13871
|
+
AbstractRenderManager.prototype.didRenderLayout = function () {
|
13872
|
+
this.debugStack.pop();
|
13873
|
+
};
|
13874
|
+
});
|
13301
13875
|
|
13302
13876
|
var SingletonRenderManager = (function (_AbstractRenderManager) {
|
13303
13877
|
babelHelpers.inherits(SingletonRenderManager, _AbstractRenderManager);
|
@@ -13309,11 +13883,17 @@ enifed('ember-glimmer/syntax/render', ['exports', 'glimmer-runtime', 'glimmer-re
|
|
13309
13883
|
}
|
13310
13884
|
|
13311
13885
|
SingletonRenderManager.prototype.create = function create(environment, definition, args, dynamicScope) {
|
13886
|
+
var _this = this;
|
13887
|
+
|
13312
13888
|
var name = definition.name;
|
13313
13889
|
var env = definition.env;
|
13314
13890
|
|
13315
13891
|
var controller = env.owner.lookup('controller:' + name) || _emberRouting.generateController(env.owner, name);
|
13316
13892
|
|
13893
|
+
_emberMetal.runInDebug(function () {
|
13894
|
+
return _this._pushToDebugStack('controller:' + name + ' (with the render helper)', environment);
|
13895
|
+
});
|
13896
|
+
|
13317
13897
|
if (dynamicScope.rootOutletState) {
|
13318
13898
|
dynamicScope.outletState = dynamicScope.rootOutletState.getOrphan(name);
|
13319
13899
|
}
|
@@ -13336,6 +13916,8 @@ enifed('ember-glimmer/syntax/render', ['exports', 'glimmer-runtime', 'glimmer-re
|
|
13336
13916
|
}
|
13337
13917
|
|
13338
13918
|
NonSingletonRenderManager.prototype.create = function create(environment, definition, args, dynamicScope) {
|
13919
|
+
var _this2 = this;
|
13920
|
+
|
13339
13921
|
var name = definition.name;
|
13340
13922
|
var env = definition.env;
|
13341
13923
|
|
@@ -13344,6 +13926,10 @@ enifed('ember-glimmer/syntax/render', ['exports', 'glimmer-runtime', 'glimmer-re
|
|
13344
13926
|
var factory = env.owner._lookupFactory('controller:' + name) || _emberRouting.generateControllerFactory(env.owner, name);
|
13345
13927
|
var controller = factory.create({ model: modelRef.value() });
|
13346
13928
|
|
13929
|
+
_emberMetal.runInDebug(function () {
|
13930
|
+
return _this2._pushToDebugStack('controller:' + name + ' (with the render helper)', environment);
|
13931
|
+
});
|
13932
|
+
|
13347
13933
|
if (dynamicScope.rootOutletState) {
|
13348
13934
|
dynamicScope.outletState = dynamicScope.rootOutletState.getOrphan(name);
|
13349
13935
|
}
|
@@ -13683,6 +14269,99 @@ enifed('ember-glimmer/utils/bindings', ['exports', 'glimmer-reference', 'glimmer
|
|
13683
14269
|
return ColonClassNameBindingReference;
|
13684
14270
|
})(_glimmerReference.CachedReference);
|
13685
14271
|
});
|
14272
|
+
enifed('ember-glimmer/utils/debug-stack', ['exports', 'ember-metal'], function (exports, _emberMetal) {
|
14273
|
+
'use strict';
|
14274
|
+
|
14275
|
+
var DebugStack = undefined;
|
14276
|
+
|
14277
|
+
_emberMetal.runInDebug(function () {
|
14278
|
+
var Element = function Element(name) {
|
14279
|
+
babelHelpers.classCallCheck(this, Element);
|
14280
|
+
|
14281
|
+
this.name = name;
|
14282
|
+
};
|
14283
|
+
|
14284
|
+
var TemplateElement = (function (_Element) {
|
14285
|
+
babelHelpers.inherits(TemplateElement, _Element);
|
14286
|
+
|
14287
|
+
function TemplateElement() {
|
14288
|
+
babelHelpers.classCallCheck(this, TemplateElement);
|
14289
|
+
|
14290
|
+
_Element.apply(this, arguments);
|
14291
|
+
}
|
14292
|
+
|
14293
|
+
return TemplateElement;
|
14294
|
+
})(Element);
|
14295
|
+
|
14296
|
+
var EngineElement = (function (_Element2) {
|
14297
|
+
babelHelpers.inherits(EngineElement, _Element2);
|
14298
|
+
|
14299
|
+
function EngineElement() {
|
14300
|
+
babelHelpers.classCallCheck(this, EngineElement);
|
14301
|
+
|
14302
|
+
_Element2.apply(this, arguments);
|
14303
|
+
}
|
14304
|
+
|
14305
|
+
return EngineElement;
|
14306
|
+
})(Element);
|
14307
|
+
|
14308
|
+
DebugStack = (function () {
|
14309
|
+
function DebugStack() {
|
14310
|
+
babelHelpers.classCallCheck(this, DebugStack);
|
14311
|
+
|
14312
|
+
this._stack = [];
|
14313
|
+
}
|
14314
|
+
|
14315
|
+
DebugStack.prototype.push = function push(name) {
|
14316
|
+
this._stack.push(new TemplateElement(name));
|
14317
|
+
};
|
14318
|
+
|
14319
|
+
DebugStack.prototype.pushEngine = function pushEngine(name) {
|
14320
|
+
this._stack.push(new EngineElement(name));
|
14321
|
+
};
|
14322
|
+
|
14323
|
+
DebugStack.prototype.pop = function pop() {
|
14324
|
+
var element = this._stack.pop();
|
14325
|
+
|
14326
|
+
if (element) {
|
14327
|
+
return element.name;
|
14328
|
+
}
|
14329
|
+
};
|
14330
|
+
|
14331
|
+
DebugStack.prototype.peek = function peek() {
|
14332
|
+
var template = this._currentTemplate();
|
14333
|
+
var engine = this._currentEngine();
|
14334
|
+
|
14335
|
+
if (engine) {
|
14336
|
+
return '"' + template + '" (in "' + engine + '")';
|
14337
|
+
} else if (template) {
|
14338
|
+
return '"' + template + '"';
|
14339
|
+
}
|
14340
|
+
};
|
14341
|
+
|
14342
|
+
DebugStack.prototype._currentTemplate = function _currentTemplate() {
|
14343
|
+
return this._getCurrentByType(TemplateElement);
|
14344
|
+
};
|
14345
|
+
|
14346
|
+
DebugStack.prototype._currentEngine = function _currentEngine() {
|
14347
|
+
return this._getCurrentByType(EngineElement);
|
14348
|
+
};
|
14349
|
+
|
14350
|
+
DebugStack.prototype._getCurrentByType = function _getCurrentByType(type) {
|
14351
|
+
for (var i = this._stack.length; i >= 0; i--) {
|
14352
|
+
var element = this._stack[i];
|
14353
|
+
if (element instanceof type) {
|
14354
|
+
return element.name;
|
14355
|
+
}
|
14356
|
+
}
|
14357
|
+
};
|
14358
|
+
|
14359
|
+
return DebugStack;
|
14360
|
+
})();
|
14361
|
+
});
|
14362
|
+
|
14363
|
+
exports.default = DebugStack;
|
14364
|
+
});
|
13686
14365
|
enifed('ember-glimmer/utils/iterable', ['exports', 'ember-utils', 'ember-metal', 'ember-runtime', 'ember-glimmer/utils/references', 'ember-glimmer/helpers/each-in', 'glimmer-reference'], function (exports, _emberUtils, _emberMetal, _emberRuntime, _emberGlimmerUtilsReferences, _emberGlimmerHelpersEachIn, _glimmerReference) {
|
13687
14366
|
'use strict';
|
13688
14367
|
|
@@ -14516,8 +15195,10 @@ enifed('ember-glimmer/utils/references', ['exports', 'ember-utils', 'ember-metal
|
|
14516
15195
|
var namedValue = named.value();
|
14517
15196
|
|
14518
15197
|
_emberMetal.runInDebug(function () {
|
14519
|
-
|
14520
|
-
|
15198
|
+
if (_emberUtils.HAS_NATIVE_WEAKMAP) {
|
15199
|
+
Object.freeze(positionalValue);
|
15200
|
+
Object.freeze(namedValue);
|
15201
|
+
}
|
14521
15202
|
});
|
14522
15203
|
|
14523
15204
|
var result = helper(positionalValue, namedValue);
|
@@ -14567,8 +15248,10 @@ enifed('ember-glimmer/utils/references', ['exports', 'ember-utils', 'ember-metal
|
|
14567
15248
|
var namedValue = named.value();
|
14568
15249
|
|
14569
15250
|
_emberMetal.runInDebug(function () {
|
14570
|
-
|
14571
|
-
|
15251
|
+
if (_emberUtils.HAS_NATIVE_WEAKMAP) {
|
15252
|
+
Object.freeze(positionalValue);
|
15253
|
+
Object.freeze(namedValue);
|
15254
|
+
}
|
14572
15255
|
});
|
14573
15256
|
|
14574
15257
|
return helper(positionalValue, namedValue);
|
@@ -14608,8 +15291,10 @@ enifed('ember-glimmer/utils/references', ['exports', 'ember-utils', 'ember-metal
|
|
14608
15291
|
var namedValue = named.value();
|
14609
15292
|
|
14610
15293
|
_emberMetal.runInDebug(function () {
|
14611
|
-
|
14612
|
-
|
15294
|
+
if (_emberUtils.HAS_NATIVE_WEAKMAP) {
|
15295
|
+
Object.freeze(positionalValue);
|
15296
|
+
Object.freeze(namedValue);
|
15297
|
+
}
|
14613
15298
|
});
|
14614
15299
|
|
14615
15300
|
return instance.compute(positionalValue, namedValue);
|
@@ -15656,7 +16341,7 @@ enifed('ember-metal/cache', ['exports', 'ember-utils', 'ember-metal/meta'], func
|
|
15656
16341
|
return DefaultStore;
|
15657
16342
|
})();
|
15658
16343
|
});
|
15659
|
-
enifed('ember-metal/chains', ['exports', 'ember-utils', 'ember-metal/property_get', 'ember-metal/meta', 'ember-metal/watch_key', 'ember-metal/watch_path'], function (exports, _emberUtils, _emberMetalProperty_get, _emberMetalMeta, _emberMetalWatch_key, _emberMetalWatch_path) {
|
16344
|
+
enifed('ember-metal/chains', ['exports', 'ember-utils', 'ember-metal/property_get', 'ember-metal/meta', 'ember-metal/watch_key', 'ember-metal/computed', 'ember-metal/watch_path'], function (exports, _emberUtils, _emberMetalProperty_get, _emberMetalMeta, _emberMetalWatch_key, _emberMetalComputed, _emberMetalWatch_path) {
|
15660
16345
|
'use strict';
|
15661
16346
|
|
15662
16347
|
exports.finishChains = finishChains;
|
@@ -15841,8 +16526,8 @@ enifed('ember-metal/chains', ['exports', 'ember-utils', 'ember-metal/property_ge
|
|
15841
16526
|
// Otherwise attempt to get the cached value of the computed property
|
15842
16527
|
} else {
|
15843
16528
|
var cache = meta.readableCache();
|
15844
|
-
if (cache
|
15845
|
-
return cache
|
16529
|
+
if (cache) {
|
16530
|
+
return _emberMetalComputed.cacheFor.get(cache, key);
|
15846
16531
|
}
|
15847
16532
|
}
|
15848
16533
|
}
|
@@ -18719,7 +19404,7 @@ enifed('ember-metal/merge', ['exports'], function (exports) {
|
|
18719
19404
|
return original;
|
18720
19405
|
}
|
18721
19406
|
});
|
18722
|
-
enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'ember-metal/meta_listeners', 'ember-metal/debug', 'ember-metal/chains'], function (exports, _emberUtils, _emberMetalFeatures, _emberMetalMeta_listeners, _emberMetalDebug, _emberMetalChains) {
|
19407
|
+
enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'ember-metal/meta_listeners', 'ember-metal/debug', 'ember-metal/chains', 'require'], function (exports, _emberUtils, _emberMetalFeatures, _emberMetalMeta_listeners, _emberMetalDebug, _emberMetalChains, _require) {
|
18723
19408
|
'no use strict';
|
18724
19409
|
// Remove "use strict"; from transpiled module until
|
18725
19410
|
// https://bugs.webkit.org/show_bug.cgi?id=138038 is fixed
|
@@ -18784,13 +19469,19 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
|
|
18784
19469
|
|
18785
19470
|
if (true || false) {
|
18786
19471
|
members.lastRendered = ownMap;
|
18787
|
-
|
19472
|
+
if (_require.has('ember-debug')) {
|
19473
|
+
//https://github.com/emberjs/ember.js/issues/14732
|
19474
|
+
members.lastRenderedReferenceMap = ownMap;
|
19475
|
+
members.lastRenderedTemplateMap = ownMap;
|
19476
|
+
}
|
18788
19477
|
}
|
18789
19478
|
|
18790
19479
|
var memberNames = Object.keys(members);
|
18791
19480
|
var META_FIELD = '__ember_meta__';
|
18792
19481
|
|
18793
19482
|
function Meta(obj, parentMeta) {
|
19483
|
+
var _this = this;
|
19484
|
+
|
18794
19485
|
_emberMetalDebug.runInDebug(function () {
|
18795
19486
|
return counters.metaInstantiated++;
|
18796
19487
|
});
|
@@ -18826,7 +19517,10 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
|
|
18826
19517
|
|
18827
19518
|
if (true || false) {
|
18828
19519
|
this._lastRendered = undefined;
|
18829
|
-
|
19520
|
+
_emberMetalDebug.runInDebug(function () {
|
19521
|
+
_this._lastRenderedReferenceMap = undefined;
|
19522
|
+
_this._lastRenderedTemplateMap = undefined;
|
19523
|
+
});
|
18830
19524
|
}
|
18831
19525
|
|
18832
19526
|
this._initializeListeners();
|
@@ -19193,24 +19887,11 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/features', 'e
|
|
19193
19887
|
};
|
19194
19888
|
}
|
19195
19889
|
|
19196
|
-
var HAS_NATIVE_WEAKMAP = (function () {
|
19197
|
-
// detect if `WeakMap` is even present
|
19198
|
-
var hasWeakMap = typeof WeakMap === 'function';
|
19199
|
-
if (!hasWeakMap) {
|
19200
|
-
return false;
|
19201
|
-
}
|
19202
|
-
|
19203
|
-
var instance = new WeakMap();
|
19204
|
-
// use `Object`'s `.toString` directly to prevent us from detecting
|
19205
|
-
// polyfills as native weakmaps
|
19206
|
-
return Object.prototype.toString.call(instance) === '[object WeakMap]';
|
19207
|
-
})();
|
19208
|
-
|
19209
19890
|
var setMeta = undefined,
|
19210
19891
|
peekMeta = undefined;
|
19211
19892
|
|
19212
19893
|
// choose the one appropriate for given platform
|
19213
|
-
if (HAS_NATIVE_WEAKMAP) {
|
19894
|
+
if (_emberUtils.HAS_NATIVE_WEAKMAP) {
|
19214
19895
|
(function () {
|
19215
19896
|
var getPrototypeOf = Object.getPrototypeOf;
|
19216
19897
|
var metaStore = new WeakMap();
|
@@ -22343,10 +23024,14 @@ enifed('ember-metal/transaction', ['exports', 'ember-metal/meta', 'ember-metal/d
|
|
22343
23024
|
var counter = 0;
|
22344
23025
|
var inTransaction = false;
|
22345
23026
|
var shouldReflush = undefined;
|
23027
|
+
var debugStack = undefined;
|
22346
23028
|
|
22347
23029
|
exports.default = runInTransaction = function (context, methodName) {
|
22348
23030
|
shouldReflush = false;
|
22349
23031
|
inTransaction = true;
|
23032
|
+
_emberMetalDebug.runInDebug(function () {
|
23033
|
+
debugStack = context.env.debugStack;
|
23034
|
+
});
|
22350
23035
|
context[methodName]();
|
22351
23036
|
inTransaction = false;
|
22352
23037
|
counter++;
|
@@ -22362,8 +23047,13 @@ enifed('ember-metal/transaction', ['exports', 'ember-metal/meta', 'ember-metal/d
|
|
22362
23047
|
lastRendered[key] = counter;
|
22363
23048
|
|
22364
23049
|
_emberMetalDebug.runInDebug(function () {
|
22365
|
-
var
|
22366
|
-
|
23050
|
+
var referenceMap = meta.writableLastRenderedReferenceMap();
|
23051
|
+
referenceMap[key] = reference;
|
23052
|
+
|
23053
|
+
var templateMap = meta.writableLastRenderedTemplateMap();
|
23054
|
+
if (templateMap[key] === undefined) {
|
23055
|
+
templateMap[key] = debugStack.peek();
|
23056
|
+
}
|
22367
23057
|
});
|
22368
23058
|
};
|
22369
23059
|
|
@@ -22373,10 +23063,13 @@ enifed('ember-metal/transaction', ['exports', 'ember-metal/meta', 'ember-metal/d
|
|
22373
23063
|
|
22374
23064
|
if (lastRendered && lastRendered[key] === counter) {
|
22375
23065
|
raise((function () {
|
22376
|
-
var
|
22377
|
-
var
|
22378
|
-
var
|
23066
|
+
var templateMap = meta.readableLastRenderedTemplateMap();
|
23067
|
+
var lastRenderedIn = templateMap[key];
|
23068
|
+
var currentlyIn = debugStack.peek();
|
22379
23069
|
|
23070
|
+
var referenceMap = meta.readableLastRenderedReferenceMap();
|
23071
|
+
var lastRef = referenceMap[key];
|
23072
|
+
var parts = [];
|
22380
23073
|
var label = undefined;
|
22381
23074
|
|
22382
23075
|
if (lastRef) {
|
@@ -22385,12 +23078,12 @@ enifed('ember-metal/transaction', ['exports', 'ember-metal/meta', 'ember-metal/d
|
|
22385
23078
|
lastRef = lastRef._parentReference;
|
22386
23079
|
}
|
22387
23080
|
|
22388
|
-
label = parts.join();
|
23081
|
+
label = parts.join('.');
|
22389
23082
|
} else {
|
22390
23083
|
label = 'the same value';
|
22391
23084
|
}
|
22392
23085
|
|
22393
|
-
return 'You modified ' + label + ' twice on ' + object + ' in a single render. This was unreliable and slow in Ember 1.x and ' + implication;
|
23086
|
+
return 'You modified "' + label + '" twice on ' + object + ' in a single render. It was rendered in ' + lastRenderedIn + ' and modified in ' + currentlyIn + '. This was unreliable and slow in Ember 1.x and ' + implication;
|
22394
23087
|
})(), false);
|
22395
23088
|
|
22396
23089
|
shouldReflush = true;
|
@@ -33458,9 +34151,9 @@ enifed('ember-runtime/mixins/mutable_array', ['exports', 'ember-metal', 'ember-r
|
|
33458
34151
|
want to reuse an existing array without having to recreate it.
|
33459
34152
|
```javascript
|
33460
34153
|
let colors = ['red', 'green', 'blue'];
|
33461
|
-
|
33462
|
-
colors.clear();
|
33463
|
-
colors.length
|
34154
|
+
colors.length; // 3
|
34155
|
+
colors.clear(); // []
|
34156
|
+
colors.length; // 0
|
33464
34157
|
```
|
33465
34158
|
@method clear
|
33466
34159
|
@return {Ember.Array} An empty Array.
|
@@ -34637,7 +35330,7 @@ enifed('ember-runtime/mixins/registry_proxy', ['exports', 'ember-metal'], functi
|
|
34637
35330
|
let App = Ember.Application.create();
|
34638
35331
|
let appInstance = App.buildInstance();
|
34639
35332
|
// if all of type `connection` must not be singletons
|
34640
|
-
appInstance.
|
35333
|
+
appInstance.registerOptionsForType('connection', { singleton: false });
|
34641
35334
|
appInstance.register('connection:twitter', TwitterConnection);
|
34642
35335
|
appInstance.register('connection:facebook', FacebookConnection);
|
34643
35336
|
let twitter = appInstance.lookup('connection:twitter');
|
@@ -39319,7 +40012,7 @@ enifed('ember-utils/guid', ['exports', 'ember-utils/intern'], function (exports,
|
|
39319
40012
|
}
|
39320
40013
|
}
|
39321
40014
|
});
|
39322
|
-
enifed('ember-utils/index', ['exports', 'ember-utils/symbol', 'ember-utils/owner', 'ember-utils/assign', 'ember-utils/empty-object', 'ember-utils/dictionary', 'ember-utils/guid', 'ember-utils/intern', 'ember-utils/super', 'ember-utils/inspect', 'ember-utils/lookup-descriptor', 'ember-utils/invoke', 'ember-utils/make-array', 'ember-utils/apply-str', 'ember-utils/name', 'ember-utils/to-string'], function (exports, _emberUtilsSymbol, _emberUtilsOwner, _emberUtilsAssign, _emberUtilsEmptyObject, _emberUtilsDictionary, _emberUtilsGuid, _emberUtilsIntern, _emberUtilsSuper, _emberUtilsInspect, _emberUtilsLookupDescriptor, _emberUtilsInvoke, _emberUtilsMakeArray, _emberUtilsApplyStr, _emberUtilsName, _emberUtilsToString) {
|
40015
|
+
enifed('ember-utils/index', ['exports', 'ember-utils/symbol', 'ember-utils/owner', 'ember-utils/assign', 'ember-utils/empty-object', 'ember-utils/dictionary', 'ember-utils/guid', 'ember-utils/intern', 'ember-utils/super', 'ember-utils/inspect', 'ember-utils/lookup-descriptor', 'ember-utils/invoke', 'ember-utils/make-array', 'ember-utils/apply-str', 'ember-utils/name', 'ember-utils/to-string', 'ember-utils/weak-map-utils'], function (exports, _emberUtilsSymbol, _emberUtilsOwner, _emberUtilsAssign, _emberUtilsEmptyObject, _emberUtilsDictionary, _emberUtilsGuid, _emberUtilsIntern, _emberUtilsSuper, _emberUtilsInspect, _emberUtilsLookupDescriptor, _emberUtilsInvoke, _emberUtilsMakeArray, _emberUtilsApplyStr, _emberUtilsName, _emberUtilsToString, _emberUtilsWeakMapUtils) {
|
39323
40016
|
/*
|
39324
40017
|
This package will be eagerly parsed and should have no dependencies on external
|
39325
40018
|
packages.
|
@@ -39357,6 +40050,7 @@ enifed('ember-utils/index', ['exports', 'ember-utils/symbol', 'ember-utils/owner
|
|
39357
40050
|
exports.applyStr = _emberUtilsApplyStr.default;
|
39358
40051
|
exports.NAME_KEY = _emberUtilsName.default;
|
39359
40052
|
exports.toString = _emberUtilsToString.default;
|
40053
|
+
exports.HAS_NATIVE_WEAKMAP = _emberUtilsWeakMapUtils.HAS_NATIVE_WEAKMAP;
|
39360
40054
|
});
|
39361
40055
|
enifed('ember-utils/inspect', ['exports'], function (exports) {
|
39362
40056
|
'use strict';
|
@@ -39657,8 +40351,8 @@ enifed('ember-utils/owner', ['exports', 'ember-utils/symbol'], function (exports
|
|
39657
40351
|
|
39658
40352
|
@method setOwner
|
39659
40353
|
@for Ember
|
39660
|
-
@param {Object} object An object
|
39661
|
-
@
|
40354
|
+
@param {Object} object An object instance.
|
40355
|
+
@param {Object} object The new owner object of the object instance.
|
39662
40356
|
@since 2.3.0
|
39663
40357
|
@public
|
39664
40358
|
*/
|
@@ -39774,6 +40468,23 @@ enifed('ember-utils/to-string', ['exports'], function (exports) {
|
|
39774
40468
|
}
|
39775
40469
|
}
|
39776
40470
|
});
|
40471
|
+
enifed('ember-utils/weak-map-utils', ['exports'], function (exports) {
|
40472
|
+
'use strict';
|
40473
|
+
|
40474
|
+
var HAS_NATIVE_WEAKMAP = (function () {
|
40475
|
+
// detect if `WeakMap` is even present
|
40476
|
+
var hasWeakMap = typeof WeakMap === 'function';
|
40477
|
+
if (!hasWeakMap) {
|
40478
|
+
return false;
|
40479
|
+
}
|
40480
|
+
|
40481
|
+
var instance = new WeakMap();
|
40482
|
+
// use `Object`'s `.toString` directly to prevent us from detecting
|
40483
|
+
// polyfills as native weakmaps
|
40484
|
+
return Object.prototype.toString.call(instance) === '[object WeakMap]';
|
40485
|
+
})();
|
40486
|
+
exports.HAS_NATIVE_WEAKMAP = HAS_NATIVE_WEAKMAP;
|
40487
|
+
});
|
39777
40488
|
enifed('ember-views/compat/attrs', ['exports', 'ember-utils'], function (exports, _emberUtils) {
|
39778
40489
|
'use strict';
|
39779
40490
|
|
@@ -41736,481 +42447,6 @@ enifed("ember-views/views/view", ["exports"], function (exports) {
|
|
41736
42447
|
*/
|
41737
42448
|
|
41738
42449
|
/**
|
41739
|
-
`Ember.View` is the class in Ember responsible for encapsulating templates of
|
41740
|
-
HTML content, combining templates with data to render as sections of a page's
|
41741
|
-
DOM, and registering and responding to user-initiated events.
|
41742
|
-
|
41743
|
-
## HTML Tag
|
41744
|
-
|
41745
|
-
The default HTML tag name used for a view's DOM representation is `div`. This
|
41746
|
-
can be customized by setting the `tagName` property. The following view
|
41747
|
-
class:
|
41748
|
-
|
41749
|
-
```javascript
|
41750
|
-
ParagraphView = Ember.View.extend({
|
41751
|
-
tagName: 'em'
|
41752
|
-
});
|
41753
|
-
```
|
41754
|
-
|
41755
|
-
Would result in instances with the following HTML:
|
41756
|
-
|
41757
|
-
```html
|
41758
|
-
<em id="ember1" class="ember-view"></em>
|
41759
|
-
```
|
41760
|
-
|
41761
|
-
## HTML `class` Attribute
|
41762
|
-
|
41763
|
-
The HTML `class` attribute of a view's tag can be set by providing a
|
41764
|
-
`classNames` property that is set to an array of strings:
|
41765
|
-
|
41766
|
-
```javascript
|
41767
|
-
MyView = Ember.View.extend({
|
41768
|
-
classNames: ['my-class', 'my-other-class']
|
41769
|
-
});
|
41770
|
-
```
|
41771
|
-
|
41772
|
-
Will result in view instances with an HTML representation of:
|
41773
|
-
|
41774
|
-
```html
|
41775
|
-
<div id="ember1" class="ember-view my-class my-other-class"></div>
|
41776
|
-
```
|
41777
|
-
|
41778
|
-
`class` attribute values can also be set by providing a `classNameBindings`
|
41779
|
-
property set to an array of properties names for the view. The return value
|
41780
|
-
of these properties will be added as part of the value for the view's `class`
|
41781
|
-
attribute. These properties can be computed properties:
|
41782
|
-
|
41783
|
-
```javascript
|
41784
|
-
MyView = Ember.View.extend({
|
41785
|
-
classNameBindings: ['propertyA', 'propertyB'],
|
41786
|
-
propertyA: 'from-a',
|
41787
|
-
propertyB: Ember.computed(function() {
|
41788
|
-
if (someLogic) { return 'from-b'; }
|
41789
|
-
})
|
41790
|
-
});
|
41791
|
-
```
|
41792
|
-
|
41793
|
-
Will result in view instances with an HTML representation of:
|
41794
|
-
|
41795
|
-
```html
|
41796
|
-
<div id="ember1" class="ember-view from-a from-b"></div>
|
41797
|
-
```
|
41798
|
-
|
41799
|
-
If the value of a class name binding returns a boolean the property name
|
41800
|
-
itself will be used as the class name if the property is true. The class name
|
41801
|
-
will not be added if the value is `false` or `undefined`.
|
41802
|
-
|
41803
|
-
```javascript
|
41804
|
-
MyView = Ember.View.extend({
|
41805
|
-
classNameBindings: ['hovered'],
|
41806
|
-
hovered: true
|
41807
|
-
});
|
41808
|
-
```
|
41809
|
-
|
41810
|
-
Will result in view instances with an HTML representation of:
|
41811
|
-
|
41812
|
-
```html
|
41813
|
-
<div id="ember1" class="ember-view hovered"></div>
|
41814
|
-
```
|
41815
|
-
|
41816
|
-
When using boolean class name bindings you can supply a string value other
|
41817
|
-
than the property name for use as the `class` HTML attribute by appending the
|
41818
|
-
preferred value after a ":" character when defining the binding:
|
41819
|
-
|
41820
|
-
```javascript
|
41821
|
-
MyView = Ember.View.extend({
|
41822
|
-
classNameBindings: ['awesome:so-very-cool'],
|
41823
|
-
awesome: true
|
41824
|
-
});
|
41825
|
-
```
|
41826
|
-
|
41827
|
-
Will result in view instances with an HTML representation of:
|
41828
|
-
|
41829
|
-
```html
|
41830
|
-
<div id="ember1" class="ember-view so-very-cool"></div>
|
41831
|
-
```
|
41832
|
-
|
41833
|
-
Boolean value class name bindings whose property names are in a
|
41834
|
-
camelCase-style format will be converted to a dasherized format:
|
41835
|
-
|
41836
|
-
```javascript
|
41837
|
-
MyView = Ember.View.extend({
|
41838
|
-
classNameBindings: ['isUrgent'],
|
41839
|
-
isUrgent: true
|
41840
|
-
});
|
41841
|
-
```
|
41842
|
-
|
41843
|
-
Will result in view instances with an HTML representation of:
|
41844
|
-
|
41845
|
-
```html
|
41846
|
-
<div id="ember1" class="ember-view is-urgent"></div>
|
41847
|
-
```
|
41848
|
-
|
41849
|
-
Class name bindings can also refer to object values that are found by
|
41850
|
-
traversing a path relative to the view itself:
|
41851
|
-
|
41852
|
-
```javascript
|
41853
|
-
MyView = Ember.View.extend({
|
41854
|
-
classNameBindings: ['messages.empty']
|
41855
|
-
messages: Ember.Object.create({
|
41856
|
-
empty: true
|
41857
|
-
})
|
41858
|
-
});
|
41859
|
-
```
|
41860
|
-
|
41861
|
-
Will result in view instances with an HTML representation of:
|
41862
|
-
|
41863
|
-
```html
|
41864
|
-
<div id="ember1" class="ember-view empty"></div>
|
41865
|
-
```
|
41866
|
-
|
41867
|
-
If you want to add a class name for a property which evaluates to true and
|
41868
|
-
and a different class name if it evaluates to false, you can pass a binding
|
41869
|
-
like this:
|
41870
|
-
|
41871
|
-
```javascript
|
41872
|
-
// Applies 'enabled' class when isEnabled is true and 'disabled' when isEnabled is false
|
41873
|
-
Ember.View.extend({
|
41874
|
-
classNameBindings: ['isEnabled:enabled:disabled']
|
41875
|
-
isEnabled: true
|
41876
|
-
});
|
41877
|
-
```
|
41878
|
-
|
41879
|
-
Will result in view instances with an HTML representation of:
|
41880
|
-
|
41881
|
-
```html
|
41882
|
-
<div id="ember1" class="ember-view enabled"></div>
|
41883
|
-
```
|
41884
|
-
|
41885
|
-
When isEnabled is `false`, the resulting HTML representation looks like
|
41886
|
-
this:
|
41887
|
-
|
41888
|
-
```html
|
41889
|
-
<div id="ember1" class="ember-view disabled"></div>
|
41890
|
-
```
|
41891
|
-
|
41892
|
-
This syntax offers the convenience to add a class if a property is `false`:
|
41893
|
-
|
41894
|
-
```javascript
|
41895
|
-
// Applies no class when isEnabled is true and class 'disabled' when isEnabled is false
|
41896
|
-
Ember.View.extend({
|
41897
|
-
classNameBindings: ['isEnabled::disabled']
|
41898
|
-
isEnabled: true
|
41899
|
-
});
|
41900
|
-
```
|
41901
|
-
|
41902
|
-
Will result in view instances with an HTML representation of:
|
41903
|
-
|
41904
|
-
```html
|
41905
|
-
<div id="ember1" class="ember-view"></div>
|
41906
|
-
```
|
41907
|
-
|
41908
|
-
When the `isEnabled` property on the view is set to `false`, it will result
|
41909
|
-
in view instances with an HTML representation of:
|
41910
|
-
|
41911
|
-
```html
|
41912
|
-
<div id="ember1" class="ember-view disabled"></div>
|
41913
|
-
```
|
41914
|
-
|
41915
|
-
Updates to the value of a class name binding will result in automatic
|
41916
|
-
update of the HTML `class` attribute in the view's rendered HTML
|
41917
|
-
representation. If the value becomes `false` or `undefined` the class name
|
41918
|
-
will be removed.
|
41919
|
-
|
41920
|
-
Both `classNames` and `classNameBindings` are concatenated properties. See
|
41921
|
-
[Ember.Object](/api/classes/Ember.Object.html) documentation for more
|
41922
|
-
information about concatenated properties.
|
41923
|
-
|
41924
|
-
## HTML Attributes
|
41925
|
-
|
41926
|
-
The HTML attribute section of a view's tag can be set by providing an
|
41927
|
-
`attributeBindings` property set to an array of property names on the view.
|
41928
|
-
The return value of these properties will be used as the value of the view's
|
41929
|
-
HTML associated attribute:
|
41930
|
-
|
41931
|
-
```javascript
|
41932
|
-
AnchorView = Ember.View.extend({
|
41933
|
-
tagName: 'a',
|
41934
|
-
attributeBindings: ['href'],
|
41935
|
-
href: 'http://google.com'
|
41936
|
-
});
|
41937
|
-
```
|
41938
|
-
|
41939
|
-
Will result in view instances with an HTML representation of:
|
41940
|
-
|
41941
|
-
```html
|
41942
|
-
<a id="ember1" class="ember-view" href="http://google.com"></a>
|
41943
|
-
```
|
41944
|
-
|
41945
|
-
One property can be mapped on to another by placing a ":" between
|
41946
|
-
the source property and the destination property:
|
41947
|
-
|
41948
|
-
```javascript
|
41949
|
-
AnchorView = Ember.View.extend({
|
41950
|
-
tagName: 'a',
|
41951
|
-
attributeBindings: ['url:href'],
|
41952
|
-
url: 'http://google.com'
|
41953
|
-
});
|
41954
|
-
```
|
41955
|
-
|
41956
|
-
Will result in view instances with an HTML representation of:
|
41957
|
-
|
41958
|
-
```html
|
41959
|
-
<a id="ember1" class="ember-view" href="http://google.com"></a>
|
41960
|
-
```
|
41961
|
-
|
41962
|
-
Namespaced attributes (e.g. `xlink:href`) are supported, but have to be
|
41963
|
-
mapped, since `:` is not a valid character for properties in Javascript:
|
41964
|
-
|
41965
|
-
```javascript
|
41966
|
-
UseView = Ember.View.extend({
|
41967
|
-
tagName: 'use',
|
41968
|
-
attributeBindings: ['xlinkHref:xlink:href'],
|
41969
|
-
xlinkHref: '#triangle'
|
41970
|
-
});
|
41971
|
-
```
|
41972
|
-
Will result in view instances with an HTML representation of:
|
41973
|
-
|
41974
|
-
```html
|
41975
|
-
<use xlink:href="#triangle"></use>
|
41976
|
-
```
|
41977
|
-
|
41978
|
-
If the return value of an `attributeBindings` monitored property is a boolean
|
41979
|
-
the attribute will be present or absent depending on the value:
|
41980
|
-
|
41981
|
-
```javascript
|
41982
|
-
MyTextInput = Ember.View.extend({
|
41983
|
-
tagName: 'input',
|
41984
|
-
attributeBindings: ['disabled'],
|
41985
|
-
disabled: false
|
41986
|
-
});
|
41987
|
-
```
|
41988
|
-
|
41989
|
-
Will result in a view instance with an HTML representation of:
|
41990
|
-
|
41991
|
-
```html
|
41992
|
-
<input id="ember1" class="ember-view" />
|
41993
|
-
```
|
41994
|
-
|
41995
|
-
`attributeBindings` can refer to computed properties:
|
41996
|
-
|
41997
|
-
```javascript
|
41998
|
-
MyTextInput = Ember.View.extend({
|
41999
|
-
tagName: 'input',
|
42000
|
-
attributeBindings: ['disabled'],
|
42001
|
-
disabled: Ember.computed(function() {
|
42002
|
-
if (someLogic) {
|
42003
|
-
return true;
|
42004
|
-
} else {
|
42005
|
-
return false;
|
42006
|
-
}
|
42007
|
-
})
|
42008
|
-
});
|
42009
|
-
```
|
42010
|
-
|
42011
|
-
To prevent setting an attribute altogether, use `null` or `undefined` as the
|
42012
|
-
return value of the `attributeBindings` monitored property:
|
42013
|
-
|
42014
|
-
```javascript
|
42015
|
-
MyTextInput = Ember.View.extend({
|
42016
|
-
tagName: 'form',
|
42017
|
-
attributeBindings: ['novalidate'],
|
42018
|
-
novalidate: null
|
42019
|
-
});
|
42020
|
-
```
|
42021
|
-
|
42022
|
-
Updates to the property of an attribute binding will result in automatic
|
42023
|
-
update of the HTML attribute in the view's rendered HTML representation.
|
42024
|
-
|
42025
|
-
`attributeBindings` is a concatenated property. See [Ember.Object](/api/classes/Ember.Object.html)
|
42026
|
-
documentation for more information about concatenated properties.
|
42027
|
-
|
42028
|
-
## Layouts
|
42029
|
-
|
42030
|
-
Views can have a secondary template that wraps their main template. Like
|
42031
|
-
primary templates, layouts can be any function that accepts an optional
|
42032
|
-
context parameter and returns a string of HTML that will be inserted inside
|
42033
|
-
view's tag. Views whose HTML element is self closing (e.g. `<input />`)
|
42034
|
-
cannot have a layout and this property will be ignored.
|
42035
|
-
|
42036
|
-
Most typically in Ember a layout will be a compiled template.
|
42037
|
-
|
42038
|
-
A view's layout can be set directly with the `layout` property or reference
|
42039
|
-
an existing template by name with the `layoutName` property.
|
42040
|
-
|
42041
|
-
A template used as a layout must contain a single use of the
|
42042
|
-
`{{yield}}` helper. The HTML contents of a view's rendered `template` will be
|
42043
|
-
inserted at this location:
|
42044
|
-
|
42045
|
-
```javascript
|
42046
|
-
AViewWithLayout = Ember.View.extend({
|
42047
|
-
layout: Ember.HTMLBars.compile("<div class='my-decorative-class'>{{yield}}</div>"),
|
42048
|
-
template: Ember.HTMLBars.compile("I got wrapped")
|
42049
|
-
});
|
42050
|
-
```
|
42051
|
-
|
42052
|
-
Will result in view instances with an HTML representation of:
|
42053
|
-
|
42054
|
-
```html
|
42055
|
-
<div id="ember1" class="ember-view">
|
42056
|
-
<div class="my-decorative-class">
|
42057
|
-
I got wrapped
|
42058
|
-
</div>
|
42059
|
-
</div>
|
42060
|
-
```
|
42061
|
-
|
42062
|
-
See [Ember.Templates.helpers.yield](/api/classes/Ember.Templates.helpers.html#method_yield)
|
42063
|
-
for more information.
|
42064
|
-
|
42065
|
-
## Responding to Browser Events
|
42066
|
-
|
42067
|
-
Views can respond to user-initiated events in one of three ways: method
|
42068
|
-
implementation, through an event manager, and through `{{action}}` helper use
|
42069
|
-
in their template or layout.
|
42070
|
-
|
42071
|
-
### Method Implementation
|
42072
|
-
|
42073
|
-
Views can respond to user-initiated events by implementing a method that
|
42074
|
-
matches the event name. A `jQuery.Event` object will be passed as the
|
42075
|
-
argument to this method.
|
42076
|
-
|
42077
|
-
```javascript
|
42078
|
-
AView = Ember.View.extend({
|
42079
|
-
click: function(event) {
|
42080
|
-
// will be called when an instance's
|
42081
|
-
// rendered element is clicked
|
42082
|
-
}
|
42083
|
-
});
|
42084
|
-
```
|
42085
|
-
|
42086
|
-
### Event Managers
|
42087
|
-
|
42088
|
-
Views can define an object as their `eventManager` property. This object can
|
42089
|
-
then implement methods that match the desired event names. Matching events
|
42090
|
-
that occur on the view's rendered HTML or the rendered HTML of any of its DOM
|
42091
|
-
descendants will trigger this method. A `jQuery.Event` object will be passed
|
42092
|
-
as the first argument to the method and an `Ember.View` object as the
|
42093
|
-
second. The `Ember.View` will be the view whose rendered HTML was interacted
|
42094
|
-
with. This may be the view with the `eventManager` property or one of its
|
42095
|
-
descendant views.
|
42096
|
-
|
42097
|
-
```javascript
|
42098
|
-
AView = Ember.View.extend({
|
42099
|
-
eventManager: Ember.Object.create({
|
42100
|
-
doubleClick: function(event, view) {
|
42101
|
-
// will be called when an instance's
|
42102
|
-
// rendered element or any rendering
|
42103
|
-
// of this view's descendant
|
42104
|
-
// elements is clicked
|
42105
|
-
}
|
42106
|
-
})
|
42107
|
-
});
|
42108
|
-
```
|
42109
|
-
|
42110
|
-
An event defined for an event manager takes precedence over events of the
|
42111
|
-
same name handled through methods on the view.
|
42112
|
-
|
42113
|
-
```javascript
|
42114
|
-
AView = Ember.View.extend({
|
42115
|
-
mouseEnter: function(event) {
|
42116
|
-
// will never trigger.
|
42117
|
-
},
|
42118
|
-
eventManager: Ember.Object.create({
|
42119
|
-
mouseEnter: function(event, view) {
|
42120
|
-
// takes precedence over AView#mouseEnter
|
42121
|
-
}
|
42122
|
-
})
|
42123
|
-
});
|
42124
|
-
```
|
42125
|
-
|
42126
|
-
Similarly a view's event manager will take precedence for events of any views
|
42127
|
-
rendered as a descendant. A method name that matches an event name will not
|
42128
|
-
be called if the view instance was rendered inside the HTML representation of
|
42129
|
-
a view that has an `eventManager` property defined that handles events of the
|
42130
|
-
name. Events not handled by the event manager will still trigger method calls
|
42131
|
-
on the descendant.
|
42132
|
-
|
42133
|
-
```javascript
|
42134
|
-
var App = Ember.Application.create();
|
42135
|
-
App.OuterView = Ember.View.extend({
|
42136
|
-
template: Ember.HTMLBars.compile("outer {{#view 'inner'}}inner{{/view}} outer"),
|
42137
|
-
eventManager: Ember.Object.create({
|
42138
|
-
mouseEnter: function(event, view) {
|
42139
|
-
// view might be instance of either
|
42140
|
-
// OuterView or InnerView depending on
|
42141
|
-
// where on the page the user interaction occurred
|
42142
|
-
}
|
42143
|
-
})
|
42144
|
-
});
|
42145
|
-
|
42146
|
-
App.InnerView = Ember.View.extend({
|
42147
|
-
click: function(event) {
|
42148
|
-
// will be called if rendered inside
|
42149
|
-
// an OuterView because OuterView's
|
42150
|
-
// eventManager doesn't handle click events
|
42151
|
-
},
|
42152
|
-
mouseEnter: function(event) {
|
42153
|
-
// will never be called if rendered inside
|
42154
|
-
// an OuterView.
|
42155
|
-
}
|
42156
|
-
});
|
42157
|
-
```
|
42158
|
-
|
42159
|
-
### `{{action}}` Helper
|
42160
|
-
|
42161
|
-
See [Ember.Templates.helpers.action](/api/classes/Ember.Templates.helpers.html#method_action).
|
42162
|
-
|
42163
|
-
### Event Names
|
42164
|
-
|
42165
|
-
All of the event handling approaches described above respond to the same set
|
42166
|
-
of events. The names of the built-in events are listed below. (The hash of
|
42167
|
-
built-in events exists in `Ember.EventDispatcher`.) Additional, custom events
|
42168
|
-
can be registered by using `Ember.Application.customEvents`.
|
42169
|
-
|
42170
|
-
Touch events:
|
42171
|
-
|
42172
|
-
* `touchStart`
|
42173
|
-
* `touchMove`
|
42174
|
-
* `touchEnd`
|
42175
|
-
* `touchCancel`
|
42176
|
-
|
42177
|
-
Keyboard events
|
42178
|
-
|
42179
|
-
* `keyDown`
|
42180
|
-
* `keyUp`
|
42181
|
-
* `keyPress`
|
42182
|
-
|
42183
|
-
Mouse events
|
42184
|
-
|
42185
|
-
* `mouseDown`
|
42186
|
-
* `mouseUp`
|
42187
|
-
* `contextMenu`
|
42188
|
-
* `click`
|
42189
|
-
* `doubleClick`
|
42190
|
-
* `mouseMove`
|
42191
|
-
* `focusIn`
|
42192
|
-
* `focusOut`
|
42193
|
-
* `mouseEnter`
|
42194
|
-
* `mouseLeave`
|
42195
|
-
|
42196
|
-
Form events:
|
42197
|
-
|
42198
|
-
* `submit`
|
42199
|
-
* `change`
|
42200
|
-
* `focusIn`
|
42201
|
-
* `focusOut`
|
42202
|
-
* `input`
|
42203
|
-
|
42204
|
-
HTML5 drag and drop events:
|
42205
|
-
|
42206
|
-
* `dragStart`
|
42207
|
-
* `drag`
|
42208
|
-
* `dragEnter`
|
42209
|
-
* `dragLeave`
|
42210
|
-
* `dragOver`
|
42211
|
-
* `dragEnd`
|
42212
|
-
* `drop`
|
42213
|
-
|
42214
42450
|
@class View
|
42215
42451
|
@namespace Ember
|
42216
42452
|
@extends Ember.CoreView
|
@@ -42759,7 +42995,7 @@ enifed('ember/index', ['exports', 'require', 'ember-environment', 'ember-utils',
|
|
42759
42995
|
enifed("ember/version", ["exports"], function (exports) {
|
42760
42996
|
"use strict";
|
42761
42997
|
|
42762
|
-
exports.default = "2.11.0-beta.
|
42998
|
+
exports.default = "2.11.0-beta.8";
|
42763
42999
|
});
|
42764
43000
|
enifed('internal-test-helpers/apply-mixins', ['exports', 'ember-utils'], function (exports, _emberUtils) {
|
42765
43001
|
'use strict';
|
@@ -52947,9 +53183,11 @@ enifed('glimmer-runtime/lib/syntax/core', ['exports', 'glimmer-runtime/lib/synta
|
|
52947
53183
|
var keys = this.keys;
|
52948
53184
|
var values = this.values;
|
52949
53185
|
|
52950
|
-
|
52951
|
-
|
52952
|
-
|
53186
|
+
var compiledValues = new Array(values.length);
|
53187
|
+
for (var i = 0; i < compiledValues.length; i++) {
|
53188
|
+
compiledValues[i] = values[i].compile(compiler, env, symbolTable);
|
53189
|
+
}
|
53190
|
+
return new _glimmerRuntimeLibCompiledExpressionsArgs.CompiledNamedArgs(keys, compiledValues);
|
52953
53191
|
};
|
52954
53192
|
|
52955
53193
|
return NamedArgs;
|
@@ -53284,9 +53522,20 @@ enifed('glimmer-runtime/lib/upsert', ['exports', 'glimmer-runtime/lib/bounds'],
|
|
53284
53522
|
enifed('glimmer-runtime/lib/utils', ['exports', 'glimmer-util'], function (exports, _glimmerUtil) {
|
53285
53523
|
'use strict';
|
53286
53524
|
|
53287
|
-
var
|
53525
|
+
var HAS_NATIVE_WEAKMAP = (function () {
|
53526
|
+
// detect if `WeakMap` is even present
|
53527
|
+
var hasWeakMap = typeof WeakMap === 'function';
|
53528
|
+
if (!hasWeakMap) {
|
53529
|
+
return false;
|
53530
|
+
}
|
53531
|
+
var instance = new WeakMap();
|
53532
|
+
// use `Object`'s `.toString` directly to prevent us from detecting
|
53533
|
+
// polyfills as native weakmaps
|
53534
|
+
return Object.prototype.toString.call(instance) === '[object WeakMap]';
|
53535
|
+
})();
|
53536
|
+
var EMPTY_ARRAY = HAS_NATIVE_WEAKMAP ? Object.freeze([]) : [];
|
53288
53537
|
exports.EMPTY_ARRAY = EMPTY_ARRAY;
|
53289
|
-
var EMPTY_DICT = Object.freeze(_glimmerUtil.dict());
|
53538
|
+
var EMPTY_DICT = HAS_NATIVE_WEAKMAP ? Object.freeze(_glimmerUtil.dict()) : _glimmerUtil.dict();
|
53290
53539
|
exports.EMPTY_DICT = EMPTY_DICT;
|
53291
53540
|
|
53292
53541
|
var ListRange = (function () {
|