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.

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