ember-source 1.11.0.beta.3 → 1.11.0.beta.4

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of ember-source might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 78bbd619c0004587b54da6d0c05d44e388de0b5b
4
- data.tar.gz: 4c35f3694f3a0e89fde641dfcf201e06ffc1c8b1
3
+ metadata.gz: 9416807535559b97d993b77804c72da735071542
4
+ data.tar.gz: 7ea263fc5d3a5aac87fdc234d632fc51b8285b00
5
5
  SHA512:
6
- metadata.gz: d3438c1bc3b57b69627c7dbc4807e4c5d1b959a92334e33d59e8e8cf75f9a240eadacfbd687267ea886ded6cdc47784416694c6df3eeaaf22b7d4ada4ccde5fc
7
- data.tar.gz: 5a2170b70fd1a8b79da7c1ee3ffc5aa57292f6993464637899b019f22d7ee26dadb7ac734a862fad634ce0e0b3b062951c50c07f2d9c5dd130afae3a15d0adeb
6
+ metadata.gz: 1066c9075950d1d32260c004d20fc66a68c239a3b97b3b1a172112704fc5e5c7ee039f8b6c183a3b0f7339a74107521c0760424c20bbe22c87d1d0dbdcacbd79
7
+ data.tar.gz: 7dc000eec51195a189a6f7419c9cb3031037519781d0c1a08908b7aac72e4c32d29e011ef4a971bfa086be7215bfdedbd60d561e2128d0686b5ea0863f0d75f2
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.11.0-beta.3
1
+ 1.11.0-beta.4
@@ -5,7 +5,7 @@
5
5
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
6
6
  * @license Licensed under MIT license
7
7
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
8
- * @version 1.11.0-beta.3.780ac356
8
+ * @version 1.11.0-beta.4.a4140e29
9
9
  */
10
10
 
11
11
  (function() {
@@ -4947,7 +4947,7 @@ enifed('ember-metal/core', ['exports'], function (exports) {
4947
4947
 
4948
4948
  @class Ember
4949
4949
  @static
4950
- @version 1.11.0-beta.3.780ac356
4950
+ @version 1.11.0-beta.4.a4140e29
4951
4951
  */
4952
4952
 
4953
4953
  if ('undefined' === typeof Ember) {
@@ -4975,10 +4975,10 @@ enifed('ember-metal/core', ['exports'], function (exports) {
4975
4975
  /**
4976
4976
  @property VERSION
4977
4977
  @type String
4978
- @default '1.11.0-beta.3.780ac356'
4978
+ @default '1.11.0-beta.4.a4140e29'
4979
4979
  @static
4980
4980
  */
4981
- Ember.VERSION = '1.11.0-beta.3.780ac356';
4981
+ Ember.VERSION = '1.11.0-beta.4.a4140e29';
4982
4982
 
4983
4983
  /**
4984
4984
  Standard environmental variables. You can define these in a global `EmberENV`
@@ -5,7 +5,7 @@
5
5
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
6
6
  * @license Licensed under MIT license
7
7
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
8
- * @version 1.11.0-beta.3.780ac356
8
+ * @version 1.11.0-beta.4.a4140e29
9
9
  */
10
10
 
11
11
  (function() {
@@ -133,7 +133,7 @@ enifed('ember-metal/core', ['exports'], function (exports) {
133
133
 
134
134
  @class Ember
135
135
  @static
136
- @version 1.11.0-beta.3.780ac356
136
+ @version 1.11.0-beta.4.a4140e29
137
137
  */
138
138
 
139
139
  if ('undefined' === typeof Ember) {
@@ -161,10 +161,10 @@ enifed('ember-metal/core', ['exports'], function (exports) {
161
161
  /**
162
162
  @property VERSION
163
163
  @type String
164
- @default '1.11.0-beta.3.780ac356'
164
+ @default '1.11.0-beta.4.a4140e29'
165
165
  @static
166
166
  */
167
- Ember.VERSION = '1.11.0-beta.3.780ac356';
167
+ Ember.VERSION = '1.11.0-beta.4.a4140e29';
168
168
 
169
169
  /**
170
170
  Standard environmental variables. You can define these in a global `EmberENV`
@@ -595,7 +595,7 @@ enifed('ember-template-compiler/system/compile_options', ['exports', 'ember-meta
595
595
  var disableComponentGeneration = true;
596
596
 
597
597
  return {
598
- revision: 'Ember@1.11.0-beta.3.780ac356',
598
+ revision: 'Ember@1.11.0-beta.4.a4140e29',
599
599
 
600
600
  disableComponentGeneration: disableComponentGeneration,
601
601
 
@@ -5,7 +5,7 @@
5
5
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
6
6
  * @license Licensed under MIT license
7
7
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
8
- * @version 1.11.0-beta.3.780ac356
8
+ * @version 1.11.0-beta.4.a4140e29
9
9
  */
10
10
 
11
11
  (function() {
@@ -5,7 +5,7 @@
5
5
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
6
6
  * @license Licensed under MIT license
7
7
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
8
- * @version 1.11.0-beta.3.780ac356
8
+ * @version 1.11.0-beta.4.a4140e29
9
9
  */
10
10
 
11
11
  (function() {
@@ -1539,6 +1539,18 @@ enifed('ember-application/tests/system/application_test', ['ember-metal/core', '
1539
1539
  ok(app.__container__.lookup('router:main') instanceof CustomRouter, 'application resolved the correct router');
1540
1540
  });
1541
1541
 
1542
+ QUnit.test("can specify custom router", function() {
1543
+ var CustomRouter = Router['default'].extend();
1544
+
1545
+ app = run['default'](function() {
1546
+ return Application['default'].create({
1547
+ Router: CustomRouter
1548
+ });
1549
+ });
1550
+
1551
+ ok(app.__container__.lookup('router:main') instanceof CustomRouter, 'application resolved the correct router');
1552
+ });
1553
+
1542
1554
  QUnit.test("throws helpful error if `app.then` is used", function() {
1543
1555
  run['default'](function() {
1544
1556
  app = Application['default'].create({
@@ -6371,6 +6383,18 @@ enifed('ember-htmlbars/tests/attr_nodes/value_test', ['ember-views/views/view',
6371
6383
  'property is set true');
6372
6384
  });
6373
6385
 
6386
+ QUnit.test("blank property is output", function() {
6387
+ view = EmberView['default'].create({
6388
+ context: { name: '' },
6389
+ template: compile['default']("<input value={{name}}>")
6390
+ });
6391
+ appendView(view);
6392
+
6393
+ equal(view.element.firstChild.tagName, 'INPUT', "input element is created");
6394
+ equal(view.element.firstChild.value, "",
6395
+ 'property is set true');
6396
+ });
6397
+
6374
6398
  // jscs:enable validateIndentation
6375
6399
 
6376
6400
 
@@ -11168,6 +11192,26 @@ enifed('ember-htmlbars/tests/helpers/input_test', ['ember-metal/run_loop', 'embe
11168
11192
  equal(input.selectionEnd, 3, 'cursor position was not lost');
11169
11193
  });
11170
11194
 
11195
+ QUnit.test("input can be updated multiple times", function() {
11196
+ equal(view.$('input').val(), "hello", "precondition - renders text field with value");
11197
+
11198
+ var $input = view.$('input');
11199
+ var input = $input[0];
11200
+
11201
+ run['default'](null, property_set.set, controller, 'val', '');
11202
+ equal(view.$('input').val(), "", "updates first time");
11203
+
11204
+ // Simulates setting the input to the same value as it already is which won't cause a rerender
11205
+ run['default'](function() {
11206
+ input.value = 'derp';
11207
+ });
11208
+ run['default'](null, property_set.set, controller, 'val', 'derp');
11209
+ equal(view.$('input').val(), "derp", "updates second time");
11210
+
11211
+ run['default'](null, property_set.set, controller, 'val', '');
11212
+ equal(view.$('input').val(), "", "updates third time");
11213
+ });
11214
+
11171
11215
 
11172
11216
  QUnit.module("{{input type='text'}} - static values", {
11173
11217
  setup: function() {
@@ -15051,7 +15095,9 @@ enifed('ember-htmlbars/tests/integration/block_params_test', ['container/registr
15051
15095
  var registry, container, view;
15052
15096
 
15053
15097
  function aliasHelper(params, hash, options, env) {
15054
- this.appendChild(View['default'], {
15098
+ var view = env.data.view;
15099
+
15100
+ view.appendChild(View['default'], {
15055
15101
  isVirtual: true,
15056
15102
  _morph: options.morph,
15057
15103
  template: options.template,
@@ -16915,7 +16961,7 @@ enifed('ember-htmlbars/tests/system/render_view_test', ['ember-runtime/tests/uti
16915
16961
  view = EmberView['default'].create({
16916
16962
  template: {
16917
16963
  isHTMLBars: true,
16918
- revision: 'Ember@1.11.0-beta.3.780ac356',
16964
+ revision: 'Ember@1.11.0-beta.4.a4140e29',
16919
16965
  render: function(view, env, contextualElement, blockArguments) {
16920
16966
  for (var i = 0, l = keyNames.length; i < l; i++) {
16921
16967
  var keyName = keyNames[i];
@@ -32381,7 +32427,7 @@ enifed('ember-routing/tests/system/dsl_test', ['ember-routing/system/router', 'e
32381
32427
  });
32382
32428
 
32383
32429
  QUnit.test("should fail when using a reserved route name", function() {
32384
- var reservedNames = ['array', 'basic', 'object'];
32430
+ var reservedNames = ['array', 'basic', 'object', 'application'];
32385
32431
 
32386
32432
  expect(reservedNames.length * 2);
32387
32433
 
@@ -52139,7 +52185,7 @@ enifed('ember-template-compiler/tests/system/compile_test', ['ember-template-com
52139
52185
 
52140
52186
  var actual = compile['default'](templateString);
52141
52187
 
52142
- equal(actual.revision, 'Ember@1.11.0-beta.3.780ac356', 'revision is included in generated template');
52188
+ equal(actual.revision, 'Ember@1.11.0-beta.4.a4140e29', 'revision is included in generated template');
52143
52189
  });
52144
52190
 
52145
52191
  QUnit.test('the template revision is different than the HTMLBars default revision', function() {
@@ -62417,7 +62463,7 @@ enifed('ember-views/tests/views/view/is_visible_test.jshint', function () {
62417
62463
  });
62418
62464
 
62419
62465
  });
62420
- enifed('ember-views/tests/views/view/jquery_test', ['ember-metal/property_get', 'ember-metal/run_loop', 'ember-views/views/view'], function (property_get, run, EmberView) {
62466
+ enifed('ember-views/tests/views/view/jquery_test', ['ember-metal/property_get', 'ember-views/views/view', 'ember-runtime/tests/utils'], function (property_get, EmberView, utils) {
62421
62467
 
62422
62468
  'use strict';
62423
62469
 
@@ -62430,15 +62476,11 @@ enifed('ember-views/tests/views/view/jquery_test', ['ember-metal/property_get',
62430
62476
  }
62431
62477
  }).create();
62432
62478
 
62433
- run['default'](function() {
62434
- view.append();
62435
- });
62479
+ utils.runAppend(view);
62436
62480
  },
62437
62481
 
62438
62482
  teardown: function() {
62439
- run['default'](function() {
62440
- view.destroy();
62441
- });
62483
+ utils.runDestroy(view);
62442
62484
  }
62443
62485
  });
62444
62486
 
@@ -62448,9 +62490,7 @@ enifed('ember-views/tests/views/view/jquery_test', ['ember-metal/property_get',
62448
62490
  equal(view.$(), undefined, 'should return undefined');
62449
62491
  equal(view.$('span'), undefined, 'should undefined if filter passed');
62450
62492
 
62451
- run['default'](function() {
62452
- view.destroy();
62453
- });
62493
+ utils.runDestroy(view);
62454
62494
  });
62455
62495
 
62456
62496
  QUnit.test("returns jQuery object selecting element if provided", function() {
@@ -62476,6 +62516,20 @@ enifed('ember-views/tests/views/view/jquery_test', ['ember-metal/property_get',
62476
62516
  equal(jquery.length, 0, 'view.$(body) should have no elements');
62477
62517
  });
62478
62518
 
62519
+ QUnit.test("asserts for tagless views", function() {
62520
+ var view = EmberView['default'].create({
62521
+ tagName: ''
62522
+ });
62523
+
62524
+ utils.runAppend(view);
62525
+
62526
+ expectAssertion(function() {
62527
+ view.$();
62528
+ }, /You cannot access this.\$\(\) on a component with `tagName: \'\'` specified/);
62529
+
62530
+ utils.runDestroy(view);
62531
+ });
62532
+
62479
62533
  });
62480
62534
  enifed('ember-views/tests/views/view/jquery_test.jscs-test', function () {
62481
62535
 
@@ -5,7 +5,7 @@
5
5
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
6
6
  * @license Licensed under MIT license
7
7
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
8
- * @version 1.11.0-beta.3.780ac356
8
+ * @version 1.11.0-beta.4.a4140e29
9
9
  */
10
10
 
11
11
  (function() {
@@ -3593,6 +3593,18 @@ enifed('ember-application/tests/system/application_test', ['ember-metal/core', '
3593
3593
  ok(app.__container__.lookup('router:main') instanceof CustomRouter, 'application resolved the correct router');
3594
3594
  });
3595
3595
 
3596
+ QUnit.test("can specify custom router", function() {
3597
+ var CustomRouter = Router['default'].extend();
3598
+
3599
+ app = run['default'](function() {
3600
+ return Application['default'].create({
3601
+ Router: CustomRouter
3602
+ });
3603
+ });
3604
+
3605
+ ok(app.__container__.lookup('router:main') instanceof CustomRouter, 'application resolved the correct router');
3606
+ });
3607
+
3596
3608
  QUnit.test("throws helpful error if `app.then` is used", function() {
3597
3609
  run['default'](function() {
3598
3610
  app = Application['default'].create({
@@ -8399,6 +8411,18 @@ enifed('ember-htmlbars/tests/attr_nodes/value_test', ['ember-views/views/view',
8399
8411
  'property is set true');
8400
8412
  });
8401
8413
 
8414
+ QUnit.test("blank property is output", function() {
8415
+ view = EmberView['default'].create({
8416
+ context: { name: '' },
8417
+ template: compile['default']("<input value={{name}}>")
8418
+ });
8419
+ appendView(view);
8420
+
8421
+ equal(view.element.firstChild.tagName, 'INPUT', "input element is created");
8422
+ equal(view.element.firstChild.value, "",
8423
+ 'property is set true');
8424
+ });
8425
+
8402
8426
  // jscs:enable validateIndentation
8403
8427
 
8404
8428
 
@@ -13196,6 +13220,26 @@ enifed('ember-htmlbars/tests/helpers/input_test', ['ember-metal/run_loop', 'embe
13196
13220
  equal(input.selectionEnd, 3, 'cursor position was not lost');
13197
13221
  });
13198
13222
 
13223
+ QUnit.test("input can be updated multiple times", function() {
13224
+ equal(view.$('input').val(), "hello", "precondition - renders text field with value");
13225
+
13226
+ var $input = view.$('input');
13227
+ var input = $input[0];
13228
+
13229
+ run['default'](null, property_set.set, controller, 'val', '');
13230
+ equal(view.$('input').val(), "", "updates first time");
13231
+
13232
+ // Simulates setting the input to the same value as it already is which won't cause a rerender
13233
+ run['default'](function() {
13234
+ input.value = 'derp';
13235
+ });
13236
+ run['default'](null, property_set.set, controller, 'val', 'derp');
13237
+ equal(view.$('input').val(), "derp", "updates second time");
13238
+
13239
+ run['default'](null, property_set.set, controller, 'val', '');
13240
+ equal(view.$('input').val(), "", "updates third time");
13241
+ });
13242
+
13199
13243
 
13200
13244
  QUnit.module("{{input type='text'}} - static values", {
13201
13245
  setup: function() {
@@ -17079,7 +17123,9 @@ enifed('ember-htmlbars/tests/integration/block_params_test', ['container/registr
17079
17123
  var registry, container, view;
17080
17124
 
17081
17125
  function aliasHelper(params, hash, options, env) {
17082
- this.appendChild(View['default'], {
17126
+ var view = env.data.view;
17127
+
17128
+ view.appendChild(View['default'], {
17083
17129
  isVirtual: true,
17084
17130
  _morph: options.morph,
17085
17131
  template: options.template,
@@ -18943,7 +18989,7 @@ enifed('ember-htmlbars/tests/system/render_view_test', ['ember-runtime/tests/uti
18943
18989
  view = EmberView['default'].create({
18944
18990
  template: {
18945
18991
  isHTMLBars: true,
18946
- revision: 'Ember@1.11.0-beta.3.780ac356',
18992
+ revision: 'Ember@1.11.0-beta.4.a4140e29',
18947
18993
  render: function(view, env, contextualElement, blockArguments) {
18948
18994
  for (var i = 0, l = keyNames.length; i < l; i++) {
18949
18995
  var keyName = keyNames[i];
@@ -34302,7 +34348,7 @@ enifed('ember-routing/tests/system/dsl_test', ['ember-routing/system/router', 'e
34302
34348
  });
34303
34349
 
34304
34350
  QUnit.test("should fail when using a reserved route name", function() {
34305
- var reservedNames = ['array', 'basic', 'object'];
34351
+ var reservedNames = ['array', 'basic', 'object', 'application'];
34306
34352
 
34307
34353
  expect(reservedNames.length * 2);
34308
34354
 
@@ -54013,7 +54059,7 @@ enifed('ember-template-compiler/tests/system/compile_test', ['ember-template-com
54013
54059
 
54014
54060
  var actual = compile['default'](templateString);
54015
54061
 
54016
- equal(actual.revision, 'Ember@1.11.0-beta.3.780ac356', 'revision is included in generated template');
54062
+ equal(actual.revision, 'Ember@1.11.0-beta.4.a4140e29', 'revision is included in generated template');
54017
54063
  });
54018
54064
 
54019
54065
  QUnit.test('the template revision is different than the HTMLBars default revision', function() {
@@ -64274,7 +64320,7 @@ enifed('ember-views/tests/views/view/is_visible_test.jshint', function () {
64274
64320
  });
64275
64321
 
64276
64322
  });
64277
- enifed('ember-views/tests/views/view/jquery_test', ['ember-metal/property_get', 'ember-metal/run_loop', 'ember-views/views/view'], function (property_get, run, EmberView) {
64323
+ enifed('ember-views/tests/views/view/jquery_test', ['ember-metal/property_get', 'ember-views/views/view', 'ember-runtime/tests/utils'], function (property_get, EmberView, utils) {
64278
64324
 
64279
64325
  'use strict';
64280
64326
 
@@ -64287,15 +64333,11 @@ enifed('ember-views/tests/views/view/jquery_test', ['ember-metal/property_get',
64287
64333
  }
64288
64334
  }).create();
64289
64335
 
64290
- run['default'](function() {
64291
- view.append();
64292
- });
64336
+ utils.runAppend(view);
64293
64337
  },
64294
64338
 
64295
64339
  teardown: function() {
64296
- run['default'](function() {
64297
- view.destroy();
64298
- });
64340
+ utils.runDestroy(view);
64299
64341
  }
64300
64342
  });
64301
64343
 
@@ -64305,9 +64347,7 @@ enifed('ember-views/tests/views/view/jquery_test', ['ember-metal/property_get',
64305
64347
  equal(view.$(), undefined, 'should return undefined');
64306
64348
  equal(view.$('span'), undefined, 'should undefined if filter passed');
64307
64349
 
64308
- run['default'](function() {
64309
- view.destroy();
64310
- });
64350
+ utils.runDestroy(view);
64311
64351
  });
64312
64352
 
64313
64353
  QUnit.test("returns jQuery object selecting element if provided", function() {
@@ -64333,6 +64373,20 @@ enifed('ember-views/tests/views/view/jquery_test', ['ember-metal/property_get',
64333
64373
  equal(jquery.length, 0, 'view.$(body) should have no elements');
64334
64374
  });
64335
64375
 
64376
+ QUnit.test("asserts for tagless views", function() {
64377
+ var view = EmberView['default'].create({
64378
+ tagName: ''
64379
+ });
64380
+
64381
+ utils.runAppend(view);
64382
+
64383
+ expectAssertion(function() {
64384
+ view.$();
64385
+ }, /You cannot access this.\$\(\) on a component with `tagName: \'\'` specified/);
64386
+
64387
+ utils.runDestroy(view);
64388
+ });
64389
+
64336
64390
  });
64337
64391
  enifed('ember-views/tests/views/view/jquery_test.jscs-test', function () {
64338
64392
 
@@ -5,7 +5,7 @@
5
5
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
6
6
  * @license Licensed under MIT license
7
7
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
8
- * @version 1.11.0-beta.3.780ac356
8
+ * @version 1.11.0-beta.4.a4140e29
9
9
  */
10
10
 
11
11
  (function() {
@@ -3920,7 +3920,7 @@ enifed('ember-application/system/application', ['exports', 'dag-map', 'container
3920
3920
  this._readinessDeferrals = 1;
3921
3921
 
3922
3922
 
3923
- this.Router = Router['default'].extend();
3923
+ this.Router = (this.Router || Router['default']).extend();
3924
3924
  this.waitForDOMReady(this.buildDefaultInstance());
3925
3925
 
3926
3926
  },
@@ -6109,7 +6109,7 @@ enifed('ember-htmlbars/compat/make-bound-helper', ['exports', 'ember-metal/core'
6109
6109
  }
6110
6110
 
6111
6111
  function helperFunc(params, hash, options, env) {
6112
- var view = this;
6112
+ var view = env.data.view;
6113
6113
  var numParams = params.length;
6114
6114
  var param;
6115
6115
 
@@ -6397,7 +6397,7 @@ enifed('ember-htmlbars/helpers/bind-attr', ['exports', 'ember-metal/core', 'embe
6397
6397
 
6398
6398
  Ember['default'].assert("You must specify at least one hash argument to bind-attr", !!keys['default'](hash).length);
6399
6399
 
6400
- var view = this;
6400
+ var view = env.data.view;
6401
6401
 
6402
6402
  // Handle classes differently, as we can bind multiple classes
6403
6403
  var classNameBindings = hash['class'];
@@ -6579,7 +6579,7 @@ enifed('ember-htmlbars/helpers/collection', ['exports', 'ember-metal/core', 'emb
6579
6579
  }
6580
6580
  if (emptyViewClass) { hash.emptyView = emptyViewClass; }
6581
6581
 
6582
- var viewOptions = mergeViewBindings['default'](this, {}, itemHash);
6582
+ var viewOptions = mergeViewBindings['default'](view, {}, itemHash);
6583
6583
 
6584
6584
  if (hash.itemClassBinding) {
6585
6585
  var itemClassBindings = hash.itemClassBinding.split(' ');
@@ -6613,8 +6613,9 @@ enifed('ember-htmlbars/helpers/component', ['exports', 'ember-metal/core', 'embe
6613
6613
  params.length === 1
6614
6614
  );
6615
6615
 
6616
+ var view = env.data.view;
6616
6617
  var componentNameParam = params[0];
6617
- var container = this.container || utils.read(this._keywords.view).container;
6618
+ var container = view.container || utils.read(view._keywords.view).container;
6618
6619
 
6619
6620
  var props = {
6620
6621
  helperName: options.helperName || 'component'
@@ -6633,10 +6634,10 @@ enifed('ember-htmlbars/helpers/component', ['exports', 'ember-metal/core', 'embe
6633
6634
  if (!viewClass) {
6634
6635
  throw new EmberError['default']('HTMLBars error: Could not find component named "' + componentNameParam + '".');
6635
6636
  }
6636
- mergeViewBindings['default'](this, props, hash);
6637
+ mergeViewBindings['default'](view, props, hash);
6637
6638
  }
6638
6639
 
6639
- appendTemplatedView['default'](this, options.morph, viewClass, props);
6640
+ appendTemplatedView['default'](view, options.morph, viewClass, props);
6640
6641
  }
6641
6642
 
6642
6643
  });
@@ -6652,10 +6653,10 @@ enifed('ember-htmlbars/helpers/debugger', ['exports', 'ember-metal/logger'], fun
6652
6653
  @module ember
6653
6654
  @submodule ember-htmlbars
6654
6655
  */
6655
- function debuggerHelper() {
6656
+ function debuggerHelper(params, hash, options, env) {
6656
6657
 
6657
6658
  /* jshint unused: false */
6658
- var view = this;
6659
+ var view = env.data.view;
6659
6660
 
6660
6661
  /* jshint unused: false */
6661
6662
  var context = view.get('context');
@@ -6682,8 +6683,9 @@ enifed('ember-htmlbars/helpers/each', ['exports', 'ember-metal/core', 'ember-vie
6682
6683
  @submodule ember-htmlbars
6683
6684
  */
6684
6685
  function eachHelper(params, hash, options, env) {
6686
+ var view = env.data.view;
6685
6687
  var helperName = 'each';
6686
- var path = params[0] || this.getStream('');
6688
+ var path = params[0] || view.getStream('');
6687
6689
 
6688
6690
  Ember['default'].assert(
6689
6691
  "If you pass more than one argument to the each helper, " +
@@ -6728,7 +6730,7 @@ enifed('ember-htmlbars/helpers/if_unless', ['exports', 'ember-metal/core', 'embe
6728
6730
 
6729
6731
  function ifHelper(params, hash, options, env) {
6730
6732
  var helperName = options.helperName || 'if';
6731
- return appendConditional(this, false, helperName, params, hash, options, env);
6733
+ return appendConditional(false, helperName, params, hash, options, env);
6732
6734
  }
6733
6735
 
6734
6736
  /**
@@ -6737,7 +6739,7 @@ enifed('ember-htmlbars/helpers/if_unless', ['exports', 'ember-metal/core', 'embe
6737
6739
  */
6738
6740
  function unlessHelper(params, hash, options, env) {
6739
6741
  var helperName = options.helperName || 'unless';
6740
- return appendConditional(this, true, helperName, params, hash, options, env);
6742
+ return appendConditional(true, helperName, params, hash, options, env);
6741
6743
  }
6742
6744
 
6743
6745
 
@@ -6748,7 +6750,9 @@ enifed('ember-htmlbars/helpers/if_unless', ['exports', 'ember-metal/core', 'embe
6748
6750
  );
6749
6751
  }
6750
6752
 
6751
- function appendConditional(view, inverted, helperName, params, hash, options, env) {
6753
+ function appendConditional(inverted, helperName, params, hash, options, env) {
6754
+ var view = env.data.view;
6755
+
6752
6756
  if (options.isBlock) {
6753
6757
  return appendBlockConditional(view, inverted, helperName, params, hash, options, env);
6754
6758
  } else {
@@ -6847,7 +6851,7 @@ enifed('ember-htmlbars/helpers/loc', ['exports', 'ember-metal/core', 'ember-runt
6847
6851
  return true;
6848
6852
  })());
6849
6853
 
6850
- return string.loc.apply(this, params);
6854
+ return string.loc.apply(env.data.view, params);
6851
6855
  }
6852
6856
 
6853
6857
  });
@@ -6880,18 +6884,19 @@ enifed('ember-htmlbars/helpers/partial', ['exports', 'ember-metal/property_get',
6880
6884
  exports.partialHelper = partialHelper;
6881
6885
 
6882
6886
  function partialHelper(params, hash, options, env) {
6887
+ var view = env.data.view;
6883
6888
  var templateName = params[0];
6884
6889
 
6885
6890
  if (utils.isStream(templateName)) {
6886
- this.appendChild(BoundPartialView['default'], {
6891
+ view.appendChild(BoundPartialView['default'], {
6887
6892
  _morph: options.morph,
6888
- _context: property_get.get(this, 'context'),
6893
+ _context: property_get.get(view, 'context'),
6889
6894
  templateNameStream: templateName,
6890
6895
  helperName: options.helperName || 'partial'
6891
6896
  });
6892
6897
  } else {
6893
- var template = lookupPartial['default'](this, templateName);
6894
- return template.render(this, env, options.morph.contextualElement);
6898
+ var template = lookupPartial['default'](view, templateName);
6899
+ return template.render(view, env, options.morph.contextualElement);
6895
6900
  }
6896
6901
  }
6897
6902
 
@@ -6948,14 +6953,15 @@ enifed('ember-htmlbars/helpers/unbound', ['exports', 'ember-metal/error', 'ember
6948
6953
  } else {
6949
6954
  options.helperName = options.helperName || 'unbound';
6950
6955
 
6956
+ var view = env.data.view;
6951
6957
  var helperName = params[0]._label;
6952
- var helper = lookupHelper['default'](helperName, this, env);
6958
+ var helper = lookupHelper['default'](helperName, view, env);
6953
6959
 
6954
6960
  if (!helper) {
6955
6961
  throw new EmberError['default']('HTMLBars error: Could not find component or helper named ' + helperName + '.');
6956
6962
  }
6957
6963
 
6958
- return helper.helperFunction.call(this, readParams(params), readHash(hash, this), options, env);
6964
+ return helper.helperFunction.call(this, readParams(params), readHash(hash, view), options, env);
6959
6965
  }
6960
6966
  }
6961
6967
 
@@ -7007,7 +7013,8 @@ enifed('ember-htmlbars/helpers/view', ['exports', 'ember-metal/core', 'ember-met
7007
7013
  params.length <= 2
7008
7014
  );
7009
7015
 
7010
- var container = this.container || utils.read(this._keywords.view).container;
7016
+ var view = env.data.view;
7017
+ var container = view.container || utils.read(view._keywords.view).container;
7011
7018
  var viewClassOrInstance;
7012
7019
  if (params.length === 0) {
7013
7020
  if (container) {
@@ -7027,8 +7034,8 @@ enifed('ember-htmlbars/helpers/view', ['exports', 'ember-metal/core', 'ember-met
7027
7034
  props.template = options.template;
7028
7035
  }
7029
7036
 
7030
- mergeViewBindings['default'](this, props, hash);
7031
- appendTemplatedView['default'](this, options.morph, viewClassOrInstance, props);
7037
+ mergeViewBindings['default'](view, props, hash);
7038
+ appendTemplatedView['default'](view, options.morph, viewClassOrInstance, props);
7032
7039
  }
7033
7040
 
7034
7041
  });
@@ -7055,6 +7062,7 @@ enifed('ember-htmlbars/helpers/with', ['exports', 'ember-metal/core', 'ember-vie
7055
7062
  !!options.template
7056
7063
  );
7057
7064
 
7065
+ var view = env.data.view;
7058
7066
  var preserveContext;
7059
7067
 
7060
7068
  if (options.template.blockParams) {
@@ -7069,11 +7077,11 @@ enifed('ember-htmlbars/helpers/with', ['exports', 'ember-metal/core', 'ember-vie
7069
7077
  preserveContext = false;
7070
7078
  }
7071
7079
 
7072
- this.appendChild(WithView['default'], {
7080
+ view.appendChild(WithView['default'], {
7073
7081
  _morph: options.morph,
7074
7082
  withValue: params[0],
7075
7083
  preserveContext: preserveContext,
7076
- previousContext: this.get('context'),
7084
+ previousContext: view.get('context'),
7077
7085
  controllerName: hash.controller,
7078
7086
  mainTemplate: options.template,
7079
7087
  inverseTemplate: options.inverse,
@@ -7094,20 +7102,21 @@ enifed('ember-htmlbars/helpers/yield', ['exports', 'ember-metal/core', 'ember-me
7094
7102
  */
7095
7103
 
7096
7104
  function yieldHelper(params, hash, options, env) {
7097
- var view = this;
7105
+ var view = env.data.view;
7106
+ var layoutView = view;
7098
7107
 
7099
7108
  // Yea gods
7100
- while (view && !property_get.get(view, 'layout')) {
7101
- if (view._contextView) {
7102
- view = view._contextView;
7109
+ while (layoutView && !property_get.get(layoutView, 'layout')) {
7110
+ if (layoutView._contextView) {
7111
+ layoutView = layoutView._contextView;
7103
7112
  } else {
7104
- view = view._parentView;
7113
+ layoutView = layoutView._parentView;
7105
7114
  }
7106
7115
  }
7107
7116
 
7108
- Ember['default'].assert("You called yield in a template that was not a layout", !!view);
7117
+ Ember['default'].assert("You called yield in a template that was not a layout", !!layoutView);
7109
7118
 
7110
- return view._yield(this, env, options.morph, params);
7119
+ return layoutView._yield(view, env, options.morph, params);
7111
7120
  }
7112
7121
 
7113
7122
  });
@@ -7163,7 +7172,7 @@ enifed('ember-htmlbars/hooks/block', ['exports', 'ember-views/views/simple_bound
7163
7172
  inverse: inverse,
7164
7173
  isBlock: true
7165
7174
  };
7166
- var result = helper.helperFunction.call(view, params, hash, options, env);
7175
+ var result = helper.helperFunction.call(undefined, params, hash, options, env);
7167
7176
 
7168
7177
  if (utils.isStream(result)) {
7169
7178
  simple_bound_view.appendSimpleBoundView(view, morph, result);
@@ -7188,7 +7197,7 @@ enifed('ember-htmlbars/hooks/component', ['exports', 'ember-metal/core', 'ember-
7188
7197
 
7189
7198
  Ember['default'].assert('You specified `' + tagName + '` in your template, but a component for `' + tagName + '` could not be found.', !!helper);
7190
7199
 
7191
- return helper.helperFunction.call(view, [], attrs, { morph: morph, template: template }, env);
7200
+ return helper.helperFunction.call(undefined, [], attrs, { morph: morph, template: template }, env);
7192
7201
  }
7193
7202
  exports['default'] = component;
7194
7203
 
@@ -7226,7 +7235,7 @@ enifed('ember-htmlbars/hooks/content', ['exports', 'ember-views/views/simple_bou
7226
7235
  morph: morph,
7227
7236
  isInline: true
7228
7237
  };
7229
- result = helper.helperFunction.call(view, [], {}, options, env);
7238
+ result = helper.helperFunction.call(undefined, [], {}, options, env);
7230
7239
  } else {
7231
7240
  result = view.getStream(path);
7232
7241
  }
@@ -7257,7 +7266,7 @@ enifed('ember-htmlbars/hooks/element', ['exports', 'ember-metal/core', 'ember-me
7257
7266
  var options = {
7258
7267
  element: domElement
7259
7268
  };
7260
- valueOrLazyValue = helper.helperFunction.call(view, params, hash, options, env);
7269
+ valueOrLazyValue = helper.helperFunction.call(undefined, params, hash, options, env);
7261
7270
  } else {
7262
7271
  valueOrLazyValue = view.getStream(path);
7263
7272
  }
@@ -7310,7 +7319,7 @@ enifed('ember-htmlbars/hooks/inline', ['exports', 'ember-views/views/simple_boun
7310
7319
 
7311
7320
  Ember.assert("A helper named '"+path+"' could not be found", helper);
7312
7321
 
7313
- var result = helper.helperFunction.call(view, params, hash, { morph: morph }, env);
7322
+ var result = helper.helperFunction.call(undefined, params, hash, { morph: morph }, env);
7314
7323
 
7315
7324
  if (utils.isStream(result)) {
7316
7325
  simple_bound_view.appendSimpleBoundView(view, morph, result);
@@ -7353,7 +7362,7 @@ enifed('ember-htmlbars/hooks/subexpr', ['exports', 'ember-htmlbars/system/lookup
7353
7362
  var options = {
7354
7363
  isInline: true
7355
7364
  };
7356
- return helper.helperFunction.call(view, params, hash, options, env);
7365
+ return helper.helperFunction.call(undefined, params, hash, options, env);
7357
7366
  }
7358
7367
  exports['default'] = subexpr;
7359
7368
 
@@ -7598,7 +7607,7 @@ enifed('ember-htmlbars/system/make_bound_helper', ['exports', 'ember-metal/core'
7598
7607
 
7599
7608
  function makeBoundHelper(fn) {
7600
7609
  function helperFunc(params, hash, options, env) {
7601
- var view = this;
7610
+ var view = env.data.view;
7602
7611
  var numParams = params.length;
7603
7612
  var param, prop;
7604
7613
 
@@ -7762,8 +7771,8 @@ enifed('ember-htmlbars/system/render-view', ['exports', 'ember-metal/core', 'emb
7762
7771
  function renderHTMLBarsTemplate(view, buffer, template) {
7763
7772
  Ember['default'].assert(
7764
7773
  'The template being rendered by `' + view + '` was compiled with `' + template.revision +
7765
- '` which does not match `Ember@1.11.0-beta.3.780ac356` (this revision).',
7766
- template.revision === 'Ember@1.11.0-beta.3.780ac356'
7774
+ '` which does not match `Ember@1.11.0-beta.4.a4140e29` (this revision).',
7775
+ template.revision === 'Ember@1.11.0-beta.4.a4140e29'
7767
7776
  );
7768
7777
 
7769
7778
  var contextualElement = buffer.innerContextualElement();
@@ -7803,7 +7812,7 @@ enifed('ember-htmlbars/templates/component', ['exports', 'ember-template-compile
7803
7812
  exports['default'] = template['default']((function() {
7804
7813
  return {
7805
7814
  isHTMLBars: true,
7806
- revision: "Ember@1.11.0-beta.3.780ac356",
7815
+ revision: "Ember@1.11.0-beta.4.a4140e29",
7807
7816
  blockParams: 0,
7808
7817
  cachedFragment: null,
7809
7818
  hasRendered: false,
@@ -7850,16 +7859,106 @@ enifed('ember-htmlbars/templates/empty', ['exports', 'ember-template-compiler/sy
7850
7859
  exports['default'] = template['default']((function() {
7851
7860
  return {
7852
7861
  isHTMLBars: true,
7853
- revision: "Ember@1.11.0-beta.3.780ac356",
7862
+ revision: "Ember@1.11.0-beta.4.a4140e29",
7863
+ blockParams: 0,
7864
+ cachedFragment: null,
7865
+ hasRendered: false,
7866
+ build: function build(dom) {
7867
+ var el0 = dom.createDocumentFragment();
7868
+ return el0;
7869
+ },
7870
+ render: function render(context, env, contextualElement) {
7871
+ var dom = env.dom;
7872
+ dom.detectNamespace(contextualElement);
7873
+ var fragment;
7874
+ if (env.useFragmentCache && dom.canClone) {
7875
+ if (this.cachedFragment === null) {
7876
+ fragment = this.build(dom);
7877
+ if (this.hasRendered) {
7878
+ this.cachedFragment = fragment;
7879
+ } else {
7880
+ this.hasRendered = true;
7881
+ }
7882
+ }
7883
+ if (this.cachedFragment) {
7884
+ fragment = dom.cloneNode(this.cachedFragment, true);
7885
+ }
7886
+ } else {
7887
+ fragment = this.build(dom);
7888
+ }
7889
+ return fragment;
7890
+ }
7891
+ };
7892
+ }()));
7893
+
7894
+ });
7895
+ enifed('ember-htmlbars/templates/link-to-escaped', ['exports', 'ember-template-compiler/system/template'], function (exports, template) {
7896
+
7897
+ 'use strict';
7898
+
7899
+ exports['default'] = template['default']((function() {
7900
+ return {
7901
+ isHTMLBars: true,
7902
+ revision: "Ember@1.11.0-beta.4.a4140e29",
7903
+ blockParams: 0,
7904
+ cachedFragment: null,
7905
+ hasRendered: false,
7906
+ build: function build(dom) {
7907
+ var el0 = dom.createDocumentFragment();
7908
+ var el1 = dom.createComment("");
7909
+ dom.appendChild(el0, el1);
7910
+ return el0;
7911
+ },
7912
+ render: function render(context, env, contextualElement) {
7913
+ var dom = env.dom;
7914
+ var hooks = env.hooks, content = hooks.content;
7915
+ dom.detectNamespace(contextualElement);
7916
+ var fragment;
7917
+ if (env.useFragmentCache && dom.canClone) {
7918
+ if (this.cachedFragment === null) {
7919
+ fragment = this.build(dom);
7920
+ if (this.hasRendered) {
7921
+ this.cachedFragment = fragment;
7922
+ } else {
7923
+ this.hasRendered = true;
7924
+ }
7925
+ }
7926
+ if (this.cachedFragment) {
7927
+ fragment = dom.cloneNode(this.cachedFragment, true);
7928
+ }
7929
+ } else {
7930
+ fragment = this.build(dom);
7931
+ }
7932
+ var morph0 = dom.createMorphAt(fragment,0,0,contextualElement);
7933
+ dom.insertBoundary(fragment, null);
7934
+ dom.insertBoundary(fragment, 0);
7935
+ content(env, morph0, context, "linkTitle");
7936
+ return fragment;
7937
+ }
7938
+ };
7939
+ }()));
7940
+
7941
+ });
7942
+ enifed('ember-htmlbars/templates/link-to-unescaped', ['exports', 'ember-template-compiler/system/template'], function (exports, template) {
7943
+
7944
+ 'use strict';
7945
+
7946
+ exports['default'] = template['default']((function() {
7947
+ return {
7948
+ isHTMLBars: true,
7949
+ revision: "Ember@1.11.0-beta.4.a4140e29",
7854
7950
  blockParams: 0,
7855
7951
  cachedFragment: null,
7856
7952
  hasRendered: false,
7857
7953
  build: function build(dom) {
7858
7954
  var el0 = dom.createDocumentFragment();
7955
+ var el1 = dom.createComment("");
7956
+ dom.appendChild(el0, el1);
7859
7957
  return el0;
7860
7958
  },
7861
7959
  render: function render(context, env, contextualElement) {
7862
7960
  var dom = env.dom;
7961
+ var hooks = env.hooks, content = hooks.content;
7863
7962
  dom.detectNamespace(contextualElement);
7864
7963
  var fragment;
7865
7964
  if (env.useFragmentCache && dom.canClone) {
@@ -7877,6 +7976,10 @@ enifed('ember-htmlbars/templates/empty', ['exports', 'ember-template-compiler/sy
7877
7976
  } else {
7878
7977
  fragment = this.build(dom);
7879
7978
  }
7979
+ var morph0 = dom.createUnsafeMorphAt(fragment,0,0,contextualElement);
7980
+ dom.insertBoundary(fragment, null);
7981
+ dom.insertBoundary(fragment, 0);
7982
+ content(env, morph0, context, "linkTitle");
7880
7983
  return fragment;
7881
7984
  }
7882
7985
  };
@@ -7891,7 +7994,7 @@ enifed('ember-htmlbars/templates/select', ['exports', 'ember-template-compiler/s
7891
7994
  var child0 = (function() {
7892
7995
  return {
7893
7996
  isHTMLBars: true,
7894
- revision: "Ember@1.11.0-beta.3.780ac356",
7997
+ revision: "Ember@1.11.0-beta.4.a4140e29",
7895
7998
  blockParams: 0,
7896
7999
  cachedFragment: null,
7897
8000
  hasRendered: false,
@@ -7934,7 +8037,7 @@ enifed('ember-htmlbars/templates/select', ['exports', 'ember-template-compiler/s
7934
8037
  var child0 = (function() {
7935
8038
  return {
7936
8039
  isHTMLBars: true,
7937
- revision: "Ember@1.11.0-beta.3.780ac356",
8040
+ revision: "Ember@1.11.0-beta.4.a4140e29",
7938
8041
  blockParams: 0,
7939
8042
  cachedFragment: null,
7940
8043
  hasRendered: false,
@@ -7974,7 +8077,7 @@ enifed('ember-htmlbars/templates/select', ['exports', 'ember-template-compiler/s
7974
8077
  }());
7975
8078
  return {
7976
8079
  isHTMLBars: true,
7977
- revision: "Ember@1.11.0-beta.3.780ac356",
8080
+ revision: "Ember@1.11.0-beta.4.a4140e29",
7978
8081
  blockParams: 0,
7979
8082
  cachedFragment: null,
7980
8083
  hasRendered: false,
@@ -8016,7 +8119,7 @@ enifed('ember-htmlbars/templates/select', ['exports', 'ember-template-compiler/s
8016
8119
  var child0 = (function() {
8017
8120
  return {
8018
8121
  isHTMLBars: true,
8019
- revision: "Ember@1.11.0-beta.3.780ac356",
8122
+ revision: "Ember@1.11.0-beta.4.a4140e29",
8020
8123
  blockParams: 0,
8021
8124
  cachedFragment: null,
8022
8125
  hasRendered: false,
@@ -8056,7 +8159,7 @@ enifed('ember-htmlbars/templates/select', ['exports', 'ember-template-compiler/s
8056
8159
  }());
8057
8160
  return {
8058
8161
  isHTMLBars: true,
8059
- revision: "Ember@1.11.0-beta.3.780ac356",
8162
+ revision: "Ember@1.11.0-beta.4.a4140e29",
8060
8163
  blockParams: 0,
8061
8164
  cachedFragment: null,
8062
8165
  hasRendered: false,
@@ -8096,7 +8199,7 @@ enifed('ember-htmlbars/templates/select', ['exports', 'ember-template-compiler/s
8096
8199
  }());
8097
8200
  return {
8098
8201
  isHTMLBars: true,
8099
- revision: "Ember@1.11.0-beta.3.780ac356",
8202
+ revision: "Ember@1.11.0-beta.4.a4140e29",
8100
8203
  blockParams: 0,
8101
8204
  cachedFragment: null,
8102
8205
  hasRendered: false,
@@ -11243,7 +11346,7 @@ enifed('ember-metal/core', ['exports'], function (exports) {
11243
11346
 
11244
11347
  @class Ember
11245
11348
  @static
11246
- @version 1.11.0-beta.3.780ac356
11349
+ @version 1.11.0-beta.4.a4140e29
11247
11350
  */
11248
11351
 
11249
11352
  if ('undefined' === typeof Ember) {
@@ -11271,10 +11374,10 @@ enifed('ember-metal/core', ['exports'], function (exports) {
11271
11374
  /**
11272
11375
  @property VERSION
11273
11376
  @type String
11274
- @default '1.11.0-beta.3.780ac356'
11377
+ @default '1.11.0-beta.4.a4140e29'
11275
11378
  @static
11276
11379
  */
11277
- Ember.VERSION = '1.11.0-beta.3.780ac356';
11380
+ Ember.VERSION = '1.11.0-beta.4.a4140e29';
11278
11381
 
11279
11382
  /**
11280
11383
  Standard environmental variables. You can define these in a global `EmberENV`
@@ -18455,14 +18558,14 @@ enifed('ember-routing-htmlbars/helpers/action', ['exports', 'ember-metal/core',
18455
18558
  @param {Hash} options
18456
18559
  */
18457
18560
  function actionHelper(params, hash, options, env) {
18458
-
18561
+ var view = env.data.view;
18459
18562
  var target;
18460
18563
  if (!hash.target) {
18461
- target = this.getStream('controller');
18564
+ target = view.getStream('controller');
18462
18565
  } else if (ember_metal__streams__utils.isStream(hash.target)) {
18463
18566
  target = hash.target;
18464
18567
  } else {
18465
- target = this.getStream(hash.target);
18568
+ target = view.getStream(hash.target);
18466
18569
  }
18467
18570
 
18468
18571
  // Ember.assert("You specified a quoteless path to the {{action}} helper which did not resolve to an action name (a string). Perhaps you meant to use a quoted actionName? (e.g. {{action 'save'}}).", !params[0].isStream);
@@ -18471,7 +18574,7 @@ enifed('ember-routing-htmlbars/helpers/action', ['exports', 'ember-metal/core',
18471
18574
  var actionOptions = {
18472
18575
  eventName: hash.on || "click",
18473
18576
  parameters: params.slice(1),
18474
- view: this,
18577
+ view: view,
18475
18578
  bubbles: hash.bubbles,
18476
18579
  preventDefault: hash.preventDefault,
18477
18580
  target: target,
@@ -18485,7 +18588,7 @@ enifed('ember-routing-htmlbars/helpers/action', ['exports', 'ember-metal/core',
18485
18588
  exports.ActionHelper = ActionHelper;
18486
18589
 
18487
18590
  });
18488
- enifed('ember-routing-htmlbars/helpers/link-to', ['exports', 'ember-metal/core', 'ember-routing-views/views/link', 'ember-metal/streams/utils', 'ember-runtime/mixins/controller', 'ember-htmlbars'], function (exports, Ember, link, utils, ControllerMixin) {
18591
+ enifed('ember-routing-htmlbars/helpers/link-to', ['exports', 'ember-metal/core', 'ember-routing-views/views/link', 'ember-metal/streams/utils', 'ember-runtime/mixins/controller', 'ember-htmlbars/templates/link-to-escaped', 'ember-htmlbars/templates/link-to-unescaped', 'ember-htmlbars'], function (exports, Ember, link, utils, ControllerMixin, inlineEscapedLinkTo, inlineUnescapedLinkTo) {
18489
18592
 
18490
18593
  'use strict';
18491
18594
 
@@ -18517,22 +18620,13 @@ enifed('ember-routing-htmlbars/helpers/link-to', ['exports', 'ember-metal/core',
18517
18620
  var linkTitle = params.shift();
18518
18621
  var parseTextAsHTML = options.morph.parseTextAsHTML;
18519
18622
 
18520
- if (utils.isStream(linkTitle)) {
18521
- hash.linkTitle = { stream: linkTitle };
18623
+ if (parseTextAsHTML) {
18624
+ hash.layout = inlineUnescapedLinkTo['default'];
18625
+ } else {
18626
+ hash.layout = inlineEscapedLinkTo['default'];
18522
18627
  }
18523
18628
 
18524
- options.template = {
18525
- isHTMLBars: true,
18526
- revision: 'Ember@1.11.0-beta.3.780ac356',
18527
- render: function(view, env) {
18528
- var value = utils.read(linkTitle) || "";
18529
- if (parseTextAsHTML) {
18530
- return value;
18531
- } else {
18532
- return env.dom.createTextNode(value);
18533
- }
18534
- }
18535
- };
18629
+ hash.linkTitle = linkTitle;
18536
18630
  }
18537
18631
 
18538
18632
  for (var i = 0; i < params.length; i++) {
@@ -18588,6 +18682,7 @@ enifed('ember-routing-htmlbars/helpers/outlet', ['exports', 'ember-metal/core'],
18588
18682
  var viewName;
18589
18683
  var viewClass;
18590
18684
  var viewFullName;
18685
+ var view = env.data.view;
18591
18686
 
18592
18687
  Ember['default'].assert(
18593
18688
  "Using {{outlet}} with an unquoted name is not supported.",
@@ -18609,11 +18704,11 @@ enifed('ember-routing-htmlbars/helpers/outlet', ['exports', 'ember-metal/core'],
18609
18704
  );
18610
18705
  Ember['default'].assert(
18611
18706
  "The view name you supplied '" + viewName + "' did not resolve to a view.",
18612
- this.container._registry.has(viewFullName)
18707
+ view.container._registry.has(viewFullName)
18613
18708
  );
18614
18709
  }
18615
18710
 
18616
- viewClass = viewName ? this.container.lookupFactory(viewFullName) : hash.viewClass || this.container.lookupFactory('view:-outlet');
18711
+ viewClass = viewName ? view.container.lookupFactory(viewFullName) : hash.viewClass || view.container.lookupFactory('view:-outlet');
18617
18712
  hash._outletName = property;
18618
18713
  options.helperName = options.helperName || 'outlet';
18619
18714
  return env.helpers.view.helperFunction.call(this, [viewClass], hash, options, env);
@@ -18652,12 +18747,13 @@ enifed('ember-routing-htmlbars/helpers/render', ['exports', 'ember-metal/core',
18652
18747
  */
18653
18748
 
18654
18749
  function renderHelper(params, hash, options, env) {
18750
+ var currentView = env.data.view;
18655
18751
  var container, router, controller, view, initialContext;
18656
18752
 
18657
18753
  var name = params[0];
18658
18754
  var context = params[1];
18659
18755
 
18660
- container = this._keywords.controller.value().container;
18756
+ container = currentView._keywords.controller.value().container;
18661
18757
  router = container.lookup('router:main');
18662
18758
 
18663
18759
  Ember['default'].assert(
@@ -18711,7 +18807,7 @@ enifed('ember-routing-htmlbars/helpers/render', ['exports', 'ember-metal/core',
18711
18807
  controllerFullName = 'controller:' + controllerName;
18712
18808
  }
18713
18809
 
18714
- var parentController = this._keywords.controller.value();
18810
+ var parentController = currentView._keywords.controller.value();
18715
18811
 
18716
18812
  // choose name
18717
18813
  if (params.length > 1) {
@@ -18757,8 +18853,8 @@ enifed('ember-routing-htmlbars/helpers/render', ['exports', 'ember-metal/core',
18757
18853
  helperName: 'render "' + name + '"'
18758
18854
  };
18759
18855
 
18760
- mergeViewBindings['default'](this, props, hash);
18761
- appendTemplatedView['default'](this, options.morph, view, props);
18856
+ mergeViewBindings['default'](currentView, props, hash);
18857
+ appendTemplatedView['default'](currentView, options.morph, view, props);
18762
18858
  }
18763
18859
 
18764
18860
  });
@@ -19011,14 +19107,8 @@ enifed('ember-routing-views/views/link', ['exports', 'ember-metal/core', 'ember-
19011
19107
  _setupPathObservers: function() {
19012
19108
  var params = this.params;
19013
19109
 
19014
- var scheduledRerender = this._wrapAsScheduled(this.rerender);
19015
19110
  var scheduledParamsChanged = this._wrapAsScheduled(this._paramsChanged);
19016
19111
 
19017
- if (this.linkTitle) {
19018
- var linkTitle = this.linkTitle.stream || this.linkTitle;
19019
- streams__utils.subscribe(linkTitle, scheduledRerender, this);
19020
- }
19021
-
19022
19112
  for (var i = 0; i < params.length; i++) {
19023
19113
  streams__utils.subscribe(params[i], scheduledParamsChanged, this);
19024
19114
  }
@@ -20877,7 +20967,14 @@ enifed('ember-routing/system/dsl', ['exports', 'ember-metal/core'], function (ex
20877
20967
  }
20878
20968
 
20879
20969
  var type = options.resetNamespace === true ? 'resource' : 'route';
20880
- Ember['default'].assert("'" + name + "' cannot be used as a " + type + " name.", name !== 'array' && name !== 'basic' && name !== 'object');
20970
+ Ember['default'].assert(
20971
+ "'" + name + "' cannot be used as a " + type + " name.",
20972
+ (function() {
20973
+ if (options.overrideNameAssertion === true) { return true; }
20974
+
20975
+ return ['array', 'basic', 'object', 'application'].indexOf(name) === -1;
20976
+ })()
20977
+ );
20881
20978
 
20882
20979
 
20883
20980
  if (this.enableLoadingSubstates) {
@@ -23101,7 +23198,7 @@ enifed('ember-routing/system/router', ['exports', 'ember-metal/core', 'ember-met
23101
23198
  });
23102
23199
 
23103
23200
  function generateDSL() {
23104
- this.resource('application', { path: "/" }, function() {
23201
+ this.resource('application', { path: "/", overrideNameAssertion: true }, function() {
23105
23202
  for (var i=0; i < dslCallbacks.length; i++) {
23106
23203
  dslCallbacks[i].call(this);
23107
23204
  }
@@ -34410,7 +34507,7 @@ enifed('ember-template-compiler/system/compile_options', ['exports', 'ember-meta
34410
34507
  var disableComponentGeneration = true;
34411
34508
 
34412
34509
  return {
34413
- revision: 'Ember@1.11.0-beta.3.780ac356',
34510
+ revision: 'Ember@1.11.0-beta.4.a4140e29',
34414
34511
 
34415
34512
  disableComponentGeneration: disableComponentGeneration,
34416
34513
 
@@ -35771,6 +35868,7 @@ enifed('ember-views/attr_nodes/attr_node', ['exports', 'ember-metal/streams/util
35771
35868
  this.isDirty = true;
35772
35869
  this.isDestroying = false;
35773
35870
  this.lastValue = null;
35871
+ this.hasRenderedInitially = false;
35774
35872
 
35775
35873
  utils.subscribe(this.attrValue, this.rerender, this);
35776
35874
  };
@@ -35798,13 +35896,15 @@ enifed('ember-views/attr_nodes/attr_node', ['exports', 'ember-metal/streams/util
35798
35896
  }
35799
35897
 
35800
35898
  // If user is typing in a value we don't want to rerender and loose cursor position.
35801
- if (this.attrName === 'value' && this._morph.element.value === value) {
35899
+ if (this.hasRenderedInitially && this.attrName === 'value' && this._morph.element.value === value) {
35900
+ this.lastValue = value;
35802
35901
  return;
35803
35902
  }
35804
35903
 
35805
35904
  if (this.lastValue !== null || value !== null) {
35806
35905
  this._morph.setContent(value);
35807
35906
  this.lastValue = value;
35907
+ this.hasRenderedInitially = true;
35808
35908
  }
35809
35909
  };
35810
35910
 
@@ -40185,7 +40285,7 @@ enifed('ember-views/views/select', ['exports', 'ember-metal/enumerable_utils', '
40185
40285
 
40186
40286
  var selectOptionDefaultTemplate = {
40187
40287
  isHTMLBars: true,
40188
- revision: 'Ember@1.11.0-beta.3.780ac356',
40288
+ revision: 'Ember@1.11.0-beta.4.a4140e29',
40189
40289
  render: function(context, env, contextualElement) {
40190
40290
  var lazyValue = context.getStream('view.label');
40191
40291
 
@@ -42272,6 +42372,7 @@ enifed('ember-views/views/view', ['exports', 'ember-metal/core', 'ember-runtime/
42272
42372
  @return {jQuery} the jQuery object for the DOM node
42273
42373
  */
42274
42374
  $: function(sel) {
42375
+ Ember['default'].assert('You cannot access this.$() on a component with `tagName: \'\'` specified.', this.tagName !== '');
42275
42376
  return this.currentState.$(this, sel);
42276
42377
  },
42277
42378