dist/ember.js in ember-source-2.8.0.beta.1 vs dist/ember.js in ember-source-2.8.0.beta.2
- old
+ new
@@ -4,11 +4,11 @@
* @copyright Copyright 2011-2016 Tilde Inc. and contributors
* Portions Copyright 2006-2011 Strobe Inc.
* Portions Copyright 2008-2011 Apple Inc. All rights reserved.
* @license Licensed under MIT license
* See https://raw.github.com/emberjs/ember.js/master/LICENSE
- * @version 2.8.0-beta.1
+ * @version 2.8.0-beta.2
*/
var enifed, requireModule, require, Ember;
var mainContext = this;
@@ -3888,25 +3888,11 @@
return this;
},
setupRegistry: function (options) {
- var registry = this.__registry__;
-
- registry.register('-environment:main', options.toEnvironment(), { instantiate: false });
- registry.injection('view', '_environment', '-environment:main');
- registry.injection('route', '_environment', '-environment:main');
-
- registry.register('service:-document', options.document, { instantiate: false });
-
- if (options.isInteractive) {
- registry.injection('view', 'renderer', 'renderer:-dom');
- registry.injection('component', 'renderer', 'renderer:-dom');
- } else {
- registry.injection('view', 'renderer', 'renderer:-inert');
- registry.injection('component', 'renderer', 'renderer:-inert');
- }
+ this.constructor.setupRegistry(this.__registry__, options);
},
router: _emberMetalComputed.computed(function () {
return this.lookup('router:main');
}).readOnly(),
@@ -4041,10 +4027,36 @@
// getURL returns the set url with the rootURL stripped off
return router.handleURL(location.getURL()).then(handleResolve, handleReject);
}
});
+ ApplicationInstance.reopenClass({
+ /**
+ @private
+ @method setupRegistry
+ @param {Registry} registry
+ @param {BootOptions} options
+ */
+ setupRegistry: function (registry) {
+ var options = arguments.length <= 1 || arguments[1] === undefined ? new BootOptions() : arguments[1];
+
+ registry.register('-environment:main', options.toEnvironment(), { instantiate: false });
+ registry.injection('view', '_environment', '-environment:main');
+ registry.injection('route', '_environment', '-environment:main');
+
+ registry.register('service:-document', options.document, { instantiate: false });
+
+ if (options.isInteractive) {
+ registry.injection('view', 'renderer', 'renderer:-dom');
+ registry.injection('component', 'renderer', 'renderer:-dom');
+ } else {
+ registry.injection('view', 'renderer', 'renderer:-inert');
+ registry.injection('component', 'renderer', 'renderer:-inert');
+ }
+ }
+ });
+
/**
A list of boot-time configuration options for customizing the behavior of
an `Ember.ApplicationInstance`.
This is an interface class that exists purely to document the available
@@ -10302,11 +10314,11 @@
if (state.manager) {
var sm = state.manager;
var templateMeta = null;
if (sm.block) {
templateMeta = sm.block.template.meta;
- } else if (sm.scope && sm.scope._view) {
+ } else if (sm.scope && sm.scope._view && sm.scope._view.template) {
templateMeta = sm.scope._view.template.meta;
}
env.meta.moduleName = templateMeta && templateMeta.moduleName || env.meta && env.meta.moduleName;
_emberHtmlbarsUtilsExtractPositionalParams.default(renderNode, sm.component.constructor, params, attrs, false);
state.manager.rerender(env, attrs, visitor);
@@ -13950,13 +13962,10 @@
// instance. Make sure we use getValue() to get them from `attrs` since
// they are still streams.
if (attrs.id) {
createOptions.elementId = _emberHtmlbarsHooksGetValue.default(attrs.id);
}
- if (attrs._defaultTagName) {
- createOptions._defaultTagName = _emberHtmlbarsHooksGetValue.default(attrs._defaultTagName);
- }
}
ComponentNodeManager.prototype.render = function ComponentNodeManager_render(_env, visitor) {
var component = this.component;
@@ -14140,13 +14149,10 @@
options.elementId = _emberHtmlbarsHooksGetValue.default(attrs.id);
}
if (attrs && attrs.tagName) {
options.tagName = _emberHtmlbarsHooksGetValue.default(attrs.tagName);
}
- if (attrs && attrs._defaultTagName) {
- options._defaultTagName = _emberHtmlbarsHooksGetValue.default(attrs._defaultTagName);
- }
component = componentInfo.component = createOrUpdateComponent(found.component, options, found.createOptions, renderNode, env, attrs);
var layout = _emberMetalProperty_get.get(component, 'layout');
if (layout) {
@@ -14384,32 +14390,28 @@
templates: template ? { default: template.raw } : undefined
}).block;
_emberHtmlbarsSystemRenderView.renderHTMLBarsBlock(view, block, renderNode);
view.lastResult = renderNode.lastResult;
- this.clearRenderedViews(view.env);
+ this.clearRenderedViews(view._env);
};
Renderer.prototype.renderTopLevelView = function Renderer_renderTopLevelView(view, renderNode) {
// Check to see if insertion has been canceled.
if (view._willInsert) {
view._willInsert = false;
this.prerenderTopLevelView(view, renderNode);
- this.dispatchLifecycleHooks(view.env);
+ this.dispatchLifecycleHooks(view._env);
}
};
Renderer.prototype.revalidateTopLevelView = function Renderer_revalidateTopLevelView(view) {
// This guard prevents revalidation on an already-destroyed view.
if (view._renderNode.lastResult) {
- view._renderNode.lastResult.revalidate(view.env);
- // supports createElement, which operates without moving the view into
- // the inDOM state.
- if (view._state === 'inDOM') {
- this.dispatchLifecycleHooks(view.env);
- }
- this.clearRenderedViews(view.env);
+ view._renderNode.lastResult.revalidate(view._env);
+ this.dispatchLifecycleHooks(view._env);
+ this.clearRenderedViews(view._env);
}
};
Renderer.prototype.dispatchLifecycleHooks = function Renderer_dispatchLifecycleHooks(env) {
var ownerView = env.view;
@@ -14435,11 +14437,11 @@
ownerView._dispatching = null;
env.lifecycleHooks.length = 0;
};
Renderer.prototype.ensureViewNotRendering = function Renderer_ensureViewNotRendering(view) {
- var env = view.ownerView.env;
+ var env = view.ownerView._env;
if (env && env.renderedViews.indexOf(view.elementId) !== -1) {
throw new Error('Something you did caused a view to re-render after it rendered but before it was inserted into the DOM.');
}
};
@@ -14483,16 +14485,10 @@
morph.ownerNode = morph;
view._willInsert = true;
_emberMetalRun_loop.default.scheduleOnce('render', this, this.renderTopLevelView, view, morph);
};
- Renderer.prototype.createElement = function Renderer_createElement(view) {
- var morph = this._dom.createFragmentMorph();
- morph.ownerNode = morph;
- this.prerenderTopLevelView(view, morph);
- };
-
Renderer.prototype.didCreateElement = function (view, element) {
if (element) {
view.element = element;
}
@@ -14694,18 +14690,18 @@
exports.default = _emberHtmlbarsStreamsStream.default.extend({
init: function (helper, params, hash, templates, env, scope, label) {
this.helper = helper;
this.params = params;
this.templates = templates;
- this.env = env;
+ this._env = env;
this.scope = scope;
this.hash = hash;
this.label = label;
},
compute: function () {
- return this.helper(_emberHtmlbarsStreamsUtils.getArrayValues(this.params), _emberHtmlbarsStreamsUtils.getHashValues(this.hash), this.templates, this.env, this.scope);
+ return this.helper(_emberHtmlbarsStreamsUtils.getArrayValues(this.params), _emberHtmlbarsStreamsUtils.getHashValues(this.hash), this.templates, this._env, this.scope);
}
});
});
enifed('ember-htmlbars/streams/class_name_binding', ['exports', 'ember-metal/debug', 'ember-metal/property_get', 'ember-metal/utils', 'ember-htmlbars/streams/utils', 'ember-runtime/system/string'], function (exports, _emberMetalDebug, _emberMetalProperty_get, _emberMetalUtils, _emberHtmlbarsStreamsUtils, _emberRuntimeSystemString) {
'use strict';
@@ -16039,13 +16035,32 @@
var attributes = normalizeComponentAttributes(component, attrs);
var elementTemplate = _htmlbarsRuntime.internal.manualElement(tagName, attributes);
elementTemplate.meta = meta;
blockToRender = createElementBlock(elementTemplate, blockToRender, component);
- } else {
- validateTaglessComponent(component);
}
+
+ _emberMetalDebug.assert('You cannot use `classNameBindings` on a tag-less component: ' + component.toString(), (function () {
+ var _component = component;
+ var classNameBindings = _component.classNameBindings;
+
+ return tagName !== '' || !classNameBindings || classNameBindings.length === 0;
+ })());
+
+ _emberMetalDebug.assert('You cannot use `elementId` on a tag-less component: ' + component.toString(), (function () {
+ var _component2 = component;
+ var elementId = _component2.elementId;
+
+ return tagName !== '' || !elementId && elementId !== '';
+ })());
+
+ _emberMetalDebug.assert('You cannot use `attributeBindings` on a tag-less component: ' + component.toString(), (function () {
+ var _component3 = component;
+ var attributeBindings = _component3.attributeBindings;
+
+ return tagName !== '' || !attributeBindings || attributeBindings.length === 0;
+ })());
}
// tagName is one of:
// * `undefined` if no component is present
// * the falsy value "" if set explicitly on the component
@@ -16131,22 +16146,21 @@
function tagNameFor(view) {
var tagName = view.tagName;
if (tagName === null || tagName === undefined) {
- tagName = view._defaultTagName || 'div';
+ tagName = 'div';
}
return tagName;
}
// Takes a component and builds a normalized set of attribute
// bindings consumable by HTMLBars' `attribute` hook.
function normalizeComponentAttributes(component, attrs) {
var normalized = {};
var attributeBindings = component.attributeBindings;
- var streamBasePath = component.isComponent ? '' : 'view.';
if (attrs.id && _emberHtmlbarsHooksGetValue.default(attrs.id)) {
// Do not allow binding to the `id`
normalized.id = _emberHtmlbarsHooksGetValue.default(attrs.id);
component.elementId = normalized.id;
@@ -16162,33 +16176,35 @@
var attrName = undefined,
expression = undefined;
if (colonIndex !== -1) {
var attrProperty = attr.substring(0, colonIndex);
attrName = attr.substring(colonIndex + 1);
- expression = _htmlbarsUtilTemplateUtils.buildStatement('get', '' + streamBasePath + attrProperty);
+ expression = _htmlbarsUtilTemplateUtils.buildStatement('get', attrProperty);
} else if (attrs[attr]) {
// TODO: For compatibility with 1.x, we probably need to `set`
// the component's attribute here if it is a CP, but we also
// probably want to suspend observers and allow the
// willUpdateAttrs logic to trigger observers at the correct time.
attrName = attr;
expression = _htmlbarsUtilTemplateUtils.buildStatement('value', attrs[attr]);
} else {
attrName = attr;
- expression = _htmlbarsUtilTemplateUtils.buildStatement('get', '' + streamBasePath + attr);
+ expression = _htmlbarsUtilTemplateUtils.buildStatement('get', attr);
}
_emberMetalDebug.assert('You cannot use class as an attributeBinding, use classNameBindings instead.', attrName !== 'class');
normalized[attrName] = expression;
}
}
+ normalized.role = _htmlbarsUtilTemplateUtils.buildStatement('get', 'ariaRole');
+
if (attrs.tagName) {
component.tagName = attrs.tagName;
}
- var normalizedClass = normalizeClass(component, attrs, streamBasePath);
+ var normalizedClass = normalizeClass(component, attrs);
if (normalizedClass) {
normalized.class = normalizedClass;
}
if (_emberMetalProperty_get.get(component, 'isVisible') === false) {
@@ -16203,11 +16219,11 @@
}
return normalized;
}
- function normalizeClass(component, attrs, streamBasePath) {
+ function normalizeClass(component, attrs) {
var normalizedClass = [];
var classNames = _emberMetalProperty_get.get(component, 'classNames');
var classNameBindings = _emberMetalProperty_get.get(component, 'classNameBindings');
if (attrs.class) {
@@ -16217,21 +16233,21 @@
normalizedClass.push(attrs.class);
}
}
if (attrs.classBinding) {
- normalizeClasses(attrs.classBinding.split(' '), normalizedClass, streamBasePath);
+ normalizeClasses(attrs.classBinding.split(' '), normalizedClass);
}
if (classNames) {
for (var i = 0; i < classNames.length; i++) {
normalizedClass.push(classNames[i]);
}
}
if (classNameBindings) {
- normalizeClasses(classNameBindings, normalizedClass, streamBasePath);
+ normalizeClasses(classNameBindings, normalizedClass);
}
if (normalizeClass.length) {
return _htmlbarsUtilTemplateUtils.buildStatement('subexpr', '-join-classes', normalizedClass, []);
}
@@ -16252,26 +16268,17 @@
if (propName === '') {
output.push(activeClass);
continue;
}
- var prop = '' + streamBasePath + propName;
-
output.push(_htmlbarsUtilTemplateUtils.buildStatement('subexpr', '-normalize-class', [
// params
- _htmlbarsUtilTemplateUtils.buildStatement('value', propName), _htmlbarsUtilTemplateUtils.buildStatement('get', prop)], [
+ _htmlbarsUtilTemplateUtils.buildStatement('value', propName), _htmlbarsUtilTemplateUtils.buildStatement('get', propName)], [
// hash
'activeClass', activeClass, 'inactiveClass', inactiveClass]));
}
}
-
- function validateTaglessComponent(component) {
- _emberMetalDebug.assert('You cannot use `classNameBindings` on a tag-less component: ' + component.toString(), (function () {
- var classNameBindings = component.classNameBindings;
- return !classNameBindings || classNameBindings.length === 0;
- })());
- }
});
enifed('ember-htmlbars/system/dom-helper', ['exports', 'dom-helper', 'ember-htmlbars/morphs/morph', 'ember-htmlbars/morphs/attr-morph'], function (exports, _domHelper, _emberHtmlbarsMorphsMorph, _emberHtmlbarsMorphsAttrMorph) {
'use strict';
exports.default = EmberDOMHelper;
@@ -16530,11 +16537,11 @@
function renderHTMLBarsBlock(view, block, renderNode) {
var meta = block && block.template && block.template.meta;
var env = _emberHtmlbarsSystemRenderEnv.default.build(view, meta);
- view.env = env;
+ view._env = env;
_emberHtmlbarsNodeManagersViewNodeManager.createOrUpdateComponent(view, {}, null, renderNode, env);
var nodeManager = new _emberHtmlbarsNodeManagersViewNodeManager.default(view, null, renderNode, block, view.tagName !== '');
nodeManager.render(env, {});
}
@@ -17109,12 +17116,12 @@
},
setOutletState: function (state) {
this.outletState = { main: state };
- if (this.env) {
- this.env.outletState = this.outletState;
+ if (this._env) {
+ this._env.outletState = this.outletState;
}
if (this.lastResult) {
this.dirtyOutlets();
this._outlets = [];
@@ -17410,11 +17417,11 @@
_emberMetalObserver.addObserver(obj, this._to, this, 'toDidChange');
}
_emberMetalEvents.addListener(obj, 'willDestroy', this, 'disconnect');
- fireDeprecations(possibleGlobal, this._oneWay, !possibleGlobal && !this._oneWay);
+ fireDeprecations(obj, this._to, this._from, possibleGlobal, this._oneWay, !possibleGlobal && !this._oneWay);
this._readyToSync = true;
this._fromObj = fromObj;
this._fromPath = fromPath;
this._toObj = obj;
@@ -17519,26 +17526,27 @@
}
}
};
- function fireDeprecations(deprecateGlobal, deprecateOneWay, deprecateAlias) {
+ function fireDeprecations(obj, toPath, fromPath, deprecateGlobal, deprecateOneWay, deprecateAlias) {
var deprecateGlobalMessage = '`Ember.Binding` is deprecated. Since you' + ' are binding to a global consider using a service instead.';
var deprecateOneWayMessage = '`Ember.Binding` is deprecated. Since you' + ' are using a `oneWay` binding consider using a `readOnly` computed' + ' property instead.';
var deprecateAliasMessage = '`Ember.Binding` is deprecated. Consider' + ' using an `alias` computed property instead.';
- _emberMetalDebug.deprecate(deprecateGlobalMessage, !deprecateGlobal, {
+ var objectInfo = 'The `' + toPath + '` property of `' + obj + '` is an `Ember.Binding` connected to `' + fromPath + '`, but ';
+ _emberMetalDebug.deprecate(objectInfo + deprecateGlobalMessage, !deprecateGlobal, {
id: 'ember-metal.binding',
until: '3.0.0',
url: 'http://emberjs.com/deprecations/v2.x#toc_ember-binding'
});
- _emberMetalDebug.deprecate(deprecateOneWayMessage, !deprecateOneWay, {
+ _emberMetalDebug.deprecate(objectInfo + deprecateOneWayMessage, !deprecateOneWay, {
id: 'ember-metal.binding',
until: '3.0.0',
url: 'http://emberjs.com/deprecations/v2.x#toc_ember-binding'
});
- _emberMetalDebug.deprecate(deprecateAliasMessage, !deprecateAlias, {
+ _emberMetalDebug.deprecate(objectInfo + deprecateAliasMessage, !deprecateAlias, {
id: 'ember-metal.binding',
until: '3.0.0',
url: 'http://emberjs.com/deprecations/v2.x#toc_ember-binding'
});
}
@@ -17742,29 +17750,16 @@
this.func = func;
this.key = key;
this.store = store || new DefaultStore();
}
- Cache.prototype.set = function set(obj, value) {
- if (this.limit > this.size) {
- var key = this.key === undefined ? obj : this.key(obj);
- this.size++;
- if (value === undefined) {
- this.store.set(key, UNDEFINED);
- } else {
- this.store.set(key, value);
- }
- }
- return value;
- };
-
Cache.prototype.get = function get(obj) {
var key = this.key === undefined ? obj : this.key(obj);
var value = this.store.get(key);
if (value === undefined) {
this.misses++;
- value = this.set(key, this.func(obj));
+ value = this._set(key, this.func(obj));
} else if (value === UNDEFINED) {
this.hits++;
value = undefined;
} else {
this.hits++;
@@ -17772,10 +17767,28 @@
}
return value;
};
+ Cache.prototype.set = function set(obj, value) {
+ var key = this.key === undefined ? obj : this.key(obj);
+ return this._set(key, value);
+ };
+
+ Cache.prototype._set = function _set(key, value) {
+ if (this.limit > this.size) {
+ this.size++;
+ if (value === undefined) {
+ this.store.set(key, UNDEFINED);
+ } else {
+ this.store.set(key, value);
+ }
+ }
+
+ return value;
+ };
+
Cache.prototype.purge = function purge() {
this.store.clear();
this.size = 0;
this.hits = 0;
this.misses = 0;
@@ -42552,12 +42565,10 @@
return this._currentState.$(this, sel);
},
/**
Appends the view's element to the specified parent element.
- If the view does not have an HTML representation yet, `createElement()`
- will be called automatically.
Note that this method just schedules the view to be appended; the DOM
element will not be appended to the given element until all bindings have
finished synchronizing.
This is not typically a function that you will need to call directly when
building your application. If you do need to use `appendTo`, be sure that
@@ -42714,30 +42725,10 @@
var id = '#' + this.elementId;
return _emberViewsSystemJquery.default(id)[0] || _emberViewsSystemJquery.default(id, parentElem)[0];
},
/**
- Creates a DOM representation of the view and all of its child views by
- recursively calling the `render()` method. Once the element is created,
- it sets the `element` property of the view to the rendered element.
- After the element has been inserted into the DOM, `didInsertElement` will
- be called on this view and all of its child views.
- @method createElement
- @return {Ember.View} receiver
- @private
- */
- createElement: function () {
- if (this.element) {
- return this;
- }
-
- this.renderer.createElement(this);
-
- return this;
- },
-
- /**
Called when a view is going to insert an element into the DOM.
@event willInsertElement
@public
*/
willInsertElement: K,
@@ -42761,30 +42752,10 @@
@public
*/
willClearRender: K,
/**
- Destroys any existing element along with the element for any child views
- as well. If the view does not currently have a element, then this method
- will do nothing.
- If you implement `willDestroyElement()` on your view, then this method will
- be invoked on your view before your element is destroyed to give you a
- chance to clean up any event handlers, etc.
- If you write a `willDestroyElement()` handler, you can assume that your
- `didInsertElement()` handler was called earlier for the same element.
- You should not call or override this method yourself, but you may
- want to implement the above callbacks.
- @method destroyElement
- @return {Ember.View} receiver
- @private
- */
- destroyElement: function () {
- this._currentState.destroyElement(this);
- return this;
- },
-
- /**
You must call `destroy` on a view to destroy the view (and all of its
child views). This will remove the view from any parent node, then make
sure that the DOM element managed by the view can be released by the
memory manager.
@method destroy
@@ -42830,17 +42801,10 @@
// We leave this null by default so we can tell the difference between
// the default case and a user-specified tag.
tagName: null,
- /*
- Used to specify a default tagName that can be overridden when extending
- or invoking from a template.
- @property _defaultTagName
- @private
- */
-
// .......................................................
// CORE DISPLAY METHODS
//
/**
@@ -42883,11 +42847,11 @@
this[property.name] = property.descriptor.value;
}, _Mixin$create.revalidate = function () {
this.renderer.revalidateTopLevelView(this);
this.scheduledRevalidation = false;
}, _Mixin$create.scheduleRevalidate = function (node, label, manualRerender) {
- if (node && !this._dispatching && this.env.renderedNodes.has(node)) {
+ if (node && !this._dispatching && this._env.renderedNodes.has(node)) {
if (manualRerender) {
_emberMetalDebug.deprecate('You manually rerendered ' + label + ' (a parent component) from a child component during the rendering process. This rarely worked in Ember 1.x and will be removed in Ember 3.0', false, { id: 'ember-views.manual-parent-rerender', until: '3.0.0' });
} else {
_emberMetalDebug.deprecate('You modified ' + label + ' twice in a single render. This was unreliable in Ember 1.x and will be removed in Ember 3.0', false, { id: 'ember-views.render-double-modify', until: '3.0.0' });
}
@@ -43636,11 +43600,11 @@
this._dispatching = null;
this._destroyingSubtreeForView = null;
this._isDispatchingAttrs = false;
this._isVisible = false;
this.element = null;
- this.env = null;
+ this._env = null;
this._isVisible = _emberMetalProperty_get.get(this, 'isVisible');
// Fallback for legacy cases where the view was created directly
// via `create()` instead of going through the container.
if (!this.renderer) {
@@ -43781,12 +43745,10 @@
// Handle events from `Ember.EventDispatcher`
handleEvent: function () {
return true; // continue event propagation
},
- destroyElement: function () {},
-
destroy: function () {},
rerender: function (view) {
view.renderer.ensureViewNotRendering(view);
}
@@ -43806,13 +43768,10 @@
appendChild: function () {
throw new _emberMetalError.default('You can\'t call appendChild on a view being destroyed');
},
rerender: function () {
throw new _emberMetalError.default('You can\'t call rerender on a view being destroyed');
- },
- destroyElement: function () {
- throw new _emberMetalError.default('You can\'t call destroyElement on a view being destroyed');
}
});
exports.default = destroying;
});
@@ -43843,14 +43802,10 @@
rerender: function (view) {
view.renderer.ensureViewNotRendering(view);
view.renderer.rerender(view);
},
- destroyElement: function (view) {
- view.renderer.remove(view, false);
- },
-
destroy: function (view) {
view.renderer.remove(view, true);
},
// Handle events from `Ember.EventDispatcher`
@@ -44420,27 +44375,12 @@
@uses Ember.VisibilitySupport
@uses Ember.AriaRoleSupport
@public
*/
// jscs:disable validateIndentation
- var View = _emberViewsViewsCore_view.default.extend(_emberViewsMixinsChild_views_support.default, _emberViewsMixinsView_state_support.default, _emberViewsMixinsClass_names_support.default, _emberViewsMixinsInstrumentation_support.default, _emberViewsMixinsVisibility_support.default, _emberViewsCompatAttrsProxy.default, _emberViewsMixinsAria_role_support.default, _emberViewsMixinsView_support.default, {
- attributeBindings: ['ariaRole:role'],
+ var View = _emberViewsViewsCore_view.default.extend(_emberViewsMixinsChild_views_support.default, _emberViewsMixinsView_state_support.default, _emberViewsMixinsClass_names_support.default, _emberViewsMixinsInstrumentation_support.default, _emberViewsMixinsVisibility_support.default, _emberViewsCompatAttrsProxy.default, _emberViewsMixinsAria_role_support.default, _emberViewsMixinsView_support.default);
- /**
- Given a property name, returns a dasherized version of that
- property name if the property evaluates to a non-falsy value.
- For example, if the view has property `isUrgent` that evaluates to true,
- passing `isUrgent` to this method will return `"is-urgent"`.
- @method _classStringForProperty
- @param property
- @private
- */
- _classStringForProperty: function (parsedPath) {
- return View._classStringForValue(parsedPath.path, parsedPath.stream.value(), parsedPath.className, parsedPath.falsyClassName);
- }
- });
-
// jscs:enable validateIndentation
/*
Describe how the specified actions should behave in the various
states that a view can exist in. Possible states:
@@ -44508,10 +44448,10 @@
*/
});
enifed("ember/version", ["exports"], function (exports) {
"use strict";
- exports.default = "2.8.0-beta.1";
+ exports.default = "2.8.0-beta.2";
});
enifed('htmlbars-runtime', ['exports', 'htmlbars-runtime/hooks', 'htmlbars-runtime/render', 'htmlbars-util/morph-utils', 'htmlbars-util/template-utils'], function (exports, _htmlbarsRuntimeHooks, _htmlbarsRuntimeRender, _htmlbarsUtilMorphUtils, _htmlbarsUtilTemplateUtils) {
'use strict';
var internal = {