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

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 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