ember-source 1.9.1 → 1.10.0.beta.1
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.
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-runtime.js +510 -280
- data/dist/ember-testing.js +51 -16
- data/dist/ember-tests.js +11756 -9424
- data/dist/ember-tests.prod.js +32644 -30312
- data/dist/ember.debug.js +58254 -0
- data/dist/ember.js +38891 -31052
- data/dist/ember.min.js +15 -12
- data/dist/ember.prod.js +37650 -29890
- metadata +5 -5
- data/dist/ember-template-compiler.js +0 -295
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ember-source
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.10.0.beta.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yehuda Katz
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-12-
|
11
|
+
date: 2014-12-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: handlebars-source
|
@@ -33,10 +33,10 @@ extra_rdoc_files: []
|
|
33
33
|
files:
|
34
34
|
- VERSION
|
35
35
|
- dist/ember-runtime.js
|
36
|
-
- dist/ember-template-compiler.js
|
37
36
|
- dist/ember-testing.js
|
38
37
|
- dist/ember-tests.js
|
39
38
|
- dist/ember-tests.prod.js
|
39
|
+
- dist/ember.debug.js
|
40
40
|
- dist/ember.js
|
41
41
|
- dist/ember.min.js
|
42
42
|
- dist/ember.prod.js
|
@@ -57,9 +57,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
57
57
|
version: '0'
|
58
58
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
|
-
- - "
|
60
|
+
- - ">"
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version:
|
62
|
+
version: 1.3.1
|
63
63
|
requirements: []
|
64
64
|
rubyforge_project:
|
65
65
|
rubygems_version: 2.2.0
|
@@ -1,295 +0,0 @@
|
|
1
|
-
(function() {
|
2
|
-
var Ember = { assert: function() {}, FEATURES: { isEnabled: function() {} } };
|
3
|
-
/* global Handlebars:true */
|
4
|
-
|
5
|
-
// Remove "use strict"; from transpiled module (in browser builds only) until
|
6
|
-
// https://bugs.webkit.org/show_bug.cgi?id=138038 is fixed
|
7
|
-
//
|
8
|
-
// REMOVE_USE_STRICT: true
|
9
|
-
|
10
|
-
/**
|
11
|
-
@module ember
|
12
|
-
@submodule ember-handlebars-compiler
|
13
|
-
*/
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
// ES6Todo: you'll need to import debugger once debugger is es6'd.
|
18
|
-
if (typeof Ember.assert === 'undefined') { Ember.assert = function(){}; }
|
19
|
-
if (typeof Ember.FEATURES === 'undefined') { Ember.FEATURES = { isEnabled: function(){} }; }
|
20
|
-
|
21
|
-
var objectCreate = Object.create || function(parent) {
|
22
|
-
function F() {}
|
23
|
-
F.prototype = parent;
|
24
|
-
return new F();
|
25
|
-
};
|
26
|
-
|
27
|
-
// set up for circular references later
|
28
|
-
var View, Component;
|
29
|
-
|
30
|
-
// ES6Todo: when ember-debug is es6'ed import this.
|
31
|
-
// var emberAssert = Ember.assert;
|
32
|
-
var Handlebars = (Ember.imports && Ember.imports.Handlebars) || (this && this.Handlebars);
|
33
|
-
if (!Handlebars && typeof require === 'function') {
|
34
|
-
Handlebars = require('handlebars');
|
35
|
-
}
|
36
|
-
|
37
|
-
Ember.assert("Ember Handlebars requires Handlebars version 2.0. Include " +
|
38
|
-
"a SCRIPT tag in the HTML HEAD linking to the Handlebars file " +
|
39
|
-
"before you link to Ember.", Handlebars);
|
40
|
-
|
41
|
-
Ember.assert("Ember Handlebars requires Handlebars version 2.0. " +
|
42
|
-
"Please see more details at http://emberjs.com/blog/2014/10/16/handlebars-update.html.",
|
43
|
-
Handlebars.COMPILER_REVISION === 6);
|
44
|
-
|
45
|
-
/**
|
46
|
-
Prepares the Handlebars templating library for use inside Ember's view
|
47
|
-
system.
|
48
|
-
|
49
|
-
The `Ember.Handlebars` object is the standard Handlebars library, extended to
|
50
|
-
use Ember's `get()` method instead of direct property access, which allows
|
51
|
-
computed properties to be used inside templates.
|
52
|
-
|
53
|
-
To create an `Ember.Handlebars` template, call `Ember.Handlebars.compile()`.
|
54
|
-
This will return a function that can be used by `Ember.View` for rendering.
|
55
|
-
|
56
|
-
@class Handlebars
|
57
|
-
@namespace Ember
|
58
|
-
*/
|
59
|
-
var EmberHandlebars = Ember.Handlebars = Handlebars.create();
|
60
|
-
|
61
|
-
/**
|
62
|
-
Register a bound helper or custom view helper.
|
63
|
-
|
64
|
-
## Simple bound helper example
|
65
|
-
|
66
|
-
```javascript
|
67
|
-
Ember.Handlebars.helper('capitalize', function(value) {
|
68
|
-
return value.toUpperCase();
|
69
|
-
});
|
70
|
-
```
|
71
|
-
|
72
|
-
The above bound helper can be used inside of templates as follows:
|
73
|
-
|
74
|
-
```handlebars
|
75
|
-
{{capitalize name}}
|
76
|
-
```
|
77
|
-
|
78
|
-
In this case, when the `name` property of the template's context changes,
|
79
|
-
the rendered value of the helper will update to reflect this change.
|
80
|
-
|
81
|
-
For more examples of bound helpers, see documentation for
|
82
|
-
`Ember.Handlebars.registerBoundHelper`.
|
83
|
-
|
84
|
-
## Custom view helper example
|
85
|
-
|
86
|
-
Assuming a view subclass named `App.CalendarView` were defined, a helper
|
87
|
-
for rendering instances of this view could be registered as follows:
|
88
|
-
|
89
|
-
```javascript
|
90
|
-
Ember.Handlebars.helper('calendar', App.CalendarView):
|
91
|
-
```
|
92
|
-
|
93
|
-
The above bound helper can be used inside of templates as follows:
|
94
|
-
|
95
|
-
```handlebars
|
96
|
-
{{calendar}}
|
97
|
-
```
|
98
|
-
|
99
|
-
Which is functionally equivalent to:
|
100
|
-
|
101
|
-
```handlebars
|
102
|
-
{{view 'calendar'}}
|
103
|
-
```
|
104
|
-
|
105
|
-
Options in the helper will be passed to the view in exactly the same
|
106
|
-
manner as with the `view` helper.
|
107
|
-
|
108
|
-
@method helper
|
109
|
-
@for Ember.Handlebars
|
110
|
-
@param {String} name
|
111
|
-
@param {Function|Ember.View} function or view class constructor
|
112
|
-
@param {String} dependentKeys*
|
113
|
-
*/
|
114
|
-
EmberHandlebars.helper = function(name, value) {
|
115
|
-
if (!View) { View = requireModule('ember-views/views/view')['default']; } // ES6TODO: stupid circular dep
|
116
|
-
if (!Component) { Component = requireModule('ember-views/views/component')['default']; } // ES6TODO: stupid circular dep
|
117
|
-
|
118
|
-
Ember.assert("You tried to register a component named '" + name +
|
119
|
-
"', but component names must include a '-'", !Component.detect(value) || name.match(/-/));
|
120
|
-
|
121
|
-
if (View.detect(value)) {
|
122
|
-
EmberHandlebars.registerHelper(name, EmberHandlebars.makeViewHelper(value));
|
123
|
-
} else {
|
124
|
-
EmberHandlebars.registerBoundHelper.apply(null, arguments);
|
125
|
-
}
|
126
|
-
};
|
127
|
-
|
128
|
-
/**
|
129
|
-
Returns a helper function that renders the provided ViewClass.
|
130
|
-
|
131
|
-
Used internally by Ember.Handlebars.helper and other methods
|
132
|
-
involving helper/component registration.
|
133
|
-
|
134
|
-
@private
|
135
|
-
@method makeViewHelper
|
136
|
-
@for Ember.Handlebars
|
137
|
-
@param {Function} ViewClass view class constructor
|
138
|
-
@since 1.2.0
|
139
|
-
*/
|
140
|
-
EmberHandlebars.makeViewHelper = function(ViewClass) {
|
141
|
-
return function(options) {
|
142
|
-
Ember.assert("You can only pass attributes (such as name=value) not bare " +
|
143
|
-
"values to a helper for a View found in '" + ViewClass.toString() + "'", arguments.length < 2);
|
144
|
-
return EmberHandlebars.helpers.view.call(this, ViewClass, options);
|
145
|
-
};
|
146
|
-
};
|
147
|
-
|
148
|
-
/**
|
149
|
-
@class helpers
|
150
|
-
@namespace Ember.Handlebars
|
151
|
-
*/
|
152
|
-
EmberHandlebars.helpers = objectCreate(Handlebars.helpers);
|
153
|
-
|
154
|
-
/**
|
155
|
-
Override the the opcode compiler and JavaScript compiler for Handlebars.
|
156
|
-
|
157
|
-
@class Compiler
|
158
|
-
@namespace Ember.Handlebars
|
159
|
-
@private
|
160
|
-
@constructor
|
161
|
-
*/
|
162
|
-
EmberHandlebars.Compiler = function() {};
|
163
|
-
|
164
|
-
// Handlebars.Compiler doesn't exist in runtime-only
|
165
|
-
if (Handlebars.Compiler) {
|
166
|
-
EmberHandlebars.Compiler.prototype = objectCreate(Handlebars.Compiler.prototype);
|
167
|
-
}
|
168
|
-
|
169
|
-
EmberHandlebars.Compiler.prototype.compiler = EmberHandlebars.Compiler;
|
170
|
-
|
171
|
-
/**
|
172
|
-
@class JavaScriptCompiler
|
173
|
-
@namespace Ember.Handlebars
|
174
|
-
@private
|
175
|
-
@constructor
|
176
|
-
*/
|
177
|
-
EmberHandlebars.JavaScriptCompiler = function() {};
|
178
|
-
|
179
|
-
// Handlebars.JavaScriptCompiler doesn't exist in runtime-only
|
180
|
-
if (Handlebars.JavaScriptCompiler) {
|
181
|
-
EmberHandlebars.JavaScriptCompiler.prototype = objectCreate(Handlebars.JavaScriptCompiler.prototype);
|
182
|
-
EmberHandlebars.JavaScriptCompiler.prototype.compiler = EmberHandlebars.JavaScriptCompiler;
|
183
|
-
}
|
184
|
-
|
185
|
-
|
186
|
-
EmberHandlebars.JavaScriptCompiler.prototype.namespace = "Ember.Handlebars";
|
187
|
-
|
188
|
-
EmberHandlebars.JavaScriptCompiler.prototype.initializeBuffer = function() {
|
189
|
-
return "''";
|
190
|
-
};
|
191
|
-
|
192
|
-
/**
|
193
|
-
Override the default buffer for Ember Handlebars. By default, Handlebars
|
194
|
-
creates an empty String at the beginning of each invocation and appends to
|
195
|
-
it. Ember's Handlebars overrides this to append to a single shared buffer.
|
196
|
-
|
197
|
-
@private
|
198
|
-
@method appendToBuffer
|
199
|
-
@param string {String}
|
200
|
-
*/
|
201
|
-
EmberHandlebars.JavaScriptCompiler.prototype.appendToBuffer = function(string) {
|
202
|
-
return "data.buffer.push("+string+");";
|
203
|
-
};
|
204
|
-
|
205
|
-
/**
|
206
|
-
Rewrite simple mustaches from `{{foo}}` to `{{bind "foo"}}`. This means that
|
207
|
-
all simple mustaches in Ember's Handlebars will also set up an observer to
|
208
|
-
keep the DOM up to date when the underlying property changes.
|
209
|
-
|
210
|
-
@private
|
211
|
-
@method mustache
|
212
|
-
@for Ember.Handlebars.Compiler
|
213
|
-
@param mustache
|
214
|
-
*/
|
215
|
-
EmberHandlebars.Compiler.prototype.mustache = function(mustache) {
|
216
|
-
if (!(mustache.params.length || mustache.hash)) {
|
217
|
-
var id = new Handlebars.AST.IdNode([{ part: '_triageMustache' }]);
|
218
|
-
|
219
|
-
// Update the mustache node to include a hash value indicating whether the original node
|
220
|
-
// was escaped. This will allow us to properly escape values when the underlying value
|
221
|
-
// changes and we need to re-render the value.
|
222
|
-
if (!mustache.escaped) {
|
223
|
-
mustache.hash = mustache.hash || new Handlebars.AST.HashNode([]);
|
224
|
-
mustache.hash.pairs.push(["unescaped", new Handlebars.AST.StringNode("true")]);
|
225
|
-
}
|
226
|
-
mustache = new Handlebars.AST.MustacheNode([id].concat([mustache.id]), mustache.hash, !mustache.escaped);
|
227
|
-
}
|
228
|
-
|
229
|
-
return Handlebars.Compiler.prototype.mustache.call(this, mustache);
|
230
|
-
};
|
231
|
-
|
232
|
-
/**
|
233
|
-
Used for precompilation of Ember Handlebars templates. This will not be used
|
234
|
-
during normal app execution.
|
235
|
-
|
236
|
-
@method precompile
|
237
|
-
@for Ember.Handlebars
|
238
|
-
@static
|
239
|
-
@param {String|Object} value The template to precompile or an Handlebars AST
|
240
|
-
@param {Boolean} asObject optional parameter, defaulting to true, of whether or not the
|
241
|
-
compiled template should be returned as an Object or a String
|
242
|
-
*/
|
243
|
-
EmberHandlebars.precompile = function(value, asObject) {
|
244
|
-
var ast = Handlebars.parse(value);
|
245
|
-
|
246
|
-
var options = {
|
247
|
-
knownHelpers: {
|
248
|
-
action: true,
|
249
|
-
unbound: true,
|
250
|
-
'bind-attr': true,
|
251
|
-
template: true,
|
252
|
-
view: true,
|
253
|
-
_triageMustache: true
|
254
|
-
},
|
255
|
-
data: true,
|
256
|
-
stringParams: true
|
257
|
-
};
|
258
|
-
|
259
|
-
asObject = asObject === undefined ? true : asObject;
|
260
|
-
|
261
|
-
var environment = new EmberHandlebars.Compiler().compile(ast, options);
|
262
|
-
return new EmberHandlebars.JavaScriptCompiler().compile(environment, options, undefined, asObject);
|
263
|
-
};
|
264
|
-
|
265
|
-
// We don't support this for Handlebars runtime-only
|
266
|
-
if (Handlebars.compile) {
|
267
|
-
/**
|
268
|
-
The entry point for Ember Handlebars. This replaces the default
|
269
|
-
`Handlebars.compile` and turns on template-local data and String
|
270
|
-
parameters.
|
271
|
-
|
272
|
-
@method compile
|
273
|
-
@for Ember.Handlebars
|
274
|
-
@static
|
275
|
-
@param {String} string The template to compile
|
276
|
-
@return {Function}
|
277
|
-
*/
|
278
|
-
EmberHandlebars.compile = function(string) {
|
279
|
-
var ast = Handlebars.parse(string);
|
280
|
-
var options = { data: true, stringParams: true };
|
281
|
-
var environment = new EmberHandlebars.Compiler().compile(ast, options);
|
282
|
-
var templateSpec = new EmberHandlebars.JavaScriptCompiler().compile(environment, options, undefined, true);
|
283
|
-
|
284
|
-
var template = EmberHandlebars.template(templateSpec);
|
285
|
-
template.isMethod = false; //Make sure we don't wrap templates with ._super
|
286
|
-
|
287
|
-
return template;
|
288
|
-
};
|
289
|
-
}
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
exports.precompile = EmberHandlebars.precompile;
|
294
|
-
exports.EmberHandlebars = EmberHandlebars;
|
295
|
-
})();
|