upgrade ember.js master
This commit is contained in:
parent
5aa55f2064
commit
3121aa551a
|
@ -5,32 +5,36 @@ App = Em.Application.create();
|
|||
App.Store = DS.Store.extend({ revision: 4, adapter: DS.fixtureAdapter });
|
||||
|
||||
App.Repository = DS.Model.extend({
|
||||
slug: DS.attr('string'),
|
||||
ownerName: DS.attr('string'),
|
||||
name: DS.attr('string'),
|
||||
|
||||
builds: DS.hasMany('App.Build', { key: 'build_ids' }),
|
||||
|
||||
lastBuild: function() {
|
||||
return this.getPath('builds.firstObject');
|
||||
}.property()
|
||||
});
|
||||
|
||||
App.Build = DS.Model.extend({
|
||||
repositoryId: DS.attr('number'),
|
||||
number: DS.attr('number'),
|
||||
repository: DS.belongsTo('App.Repository')
|
||||
});
|
||||
|
||||
App.Repository.FIXTURES = [
|
||||
{ id: 1, slug: 'travis-ci/travis-core', owner_name: 'travis-ci', name: 'travis-core' },
|
||||
{ id: 2, slug: 'travis-ci/travis-assets', owner_name: 'travis-ci', name: 'travis-assets' },
|
||||
{ id: 3, slug: 'travis-ci/travis-hub', owner_name: 'travis-ci', name: 'travis-hub' },
|
||||
App.Build.FIXTURES = [
|
||||
{ id: 1, repositoryId: 1, repository_id: 1, number: 1 },
|
||||
{ id: 2, repositoryId: 1, repository_id: 1, number: 2 },
|
||||
{ id: 3, repositoryId: 2, repository_id: 2, number: 3 },
|
||||
{ id: 4, repositoryId: 3, repository_id: 3, number: 4 }
|
||||
];
|
||||
|
||||
App.Build.FIXTURES = [
|
||||
{ id: 1, repository_id: 1, number: 1 },
|
||||
{ id: 2, repository_id: 1, number: 2 },
|
||||
{ id: 3, repository_id: 2, number: 3 },
|
||||
{ id: 4, repository_id: 3, number: 4 }
|
||||
App.Repository.FIXTURES = [
|
||||
{ id: 1, owner_name: 'travis-ci', name: 'travis-core', build_ids: [1, 2] },
|
||||
{ id: 2, owner_name: 'travis-ci', name: 'travis-assets', build_ids: [3] },
|
||||
{ id: 3, owner_name: 'travis-ci', name: 'travis-hub', build_ids: [4] },
|
||||
];
|
||||
|
||||
App.ApplicationController = Em.Controller.extend();
|
||||
App.RepositoriesController = Em.Controller.extend();
|
||||
App.RepositoriesController = Em.ArrayController.extend();
|
||||
App.RepositoryController = Em.Controller.extend();
|
||||
App.TabsController = Em.Controller.extend();
|
||||
App.CurrentController = Em.Controller.extend();
|
||||
|
@ -80,7 +84,7 @@ App.Router = Em.Router.extend({
|
|||
|
||||
connectOutlets: function(router) {
|
||||
router.connectLayout({}, function(repository) {
|
||||
router.connectCurrent(App.Build.find(1)) // should use repository.lastBuild()
|
||||
router.connectCurrent(repository.get('lastBuild'));
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -99,7 +103,7 @@ App.Router = Em.Router.extend({
|
|||
connectOutlets: function(router, repository) {
|
||||
var params = router.serializeRepository(repository);
|
||||
router.connectLayout(params, function(repository) {
|
||||
router.connectCurrent(App.Build.find(1)) // should use repository.lastBuild()
|
||||
router.connectCurrent(repository.get('lastBuild'));
|
||||
});
|
||||
}
|
||||
}),
|
||||
|
@ -115,7 +119,7 @@ App.Router = Em.Router.extend({
|
|||
connectOutlets: function(router, repository) {
|
||||
var params = router.serializeRepository(repository);
|
||||
router.connectLayout(params, function(repository) {
|
||||
router.connectHistory(App.Build.find())
|
||||
router.connectHistory(repository.get('builds'))
|
||||
});
|
||||
}
|
||||
}),
|
||||
|
@ -148,8 +152,8 @@ App.Router = Em.Router.extend({
|
|||
|
||||
serializeBuild: function(build) {
|
||||
if(build instanceof DS.Model) {
|
||||
// var repository = build.get('repository')
|
||||
var repository = App.Repository.find(build.get('repositoryId')); // wat.
|
||||
var repository = build.get('repository')
|
||||
// var repository = App.Repository.find(build.get('repositoryId')); // wat.
|
||||
var params = this.serializeRepository(repository);
|
||||
return $.extend(params, { id: build.get('id') });
|
||||
} else {
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
current repo
|
||||
current build {{content.id}}
|
||||
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<ul class="tabs">
|
||||
<li><a {{action viewCurrent href=true context="repository"}}>Current</a></li>
|
||||
<li><a {{action viewHistory href=true context="repository"}}>History</a></li>
|
||||
<li><a {{action viewBuild href=true context="build"}}>Build</a></li>
|
||||
<li><a {{action viewCurrent href=true context="repository"}} class="current">Current</a></li>
|
||||
<li><a {{action viewHistory href=true context="repository"}} class="history">History</a></li>
|
||||
<li><a {{action viewBuild href=true context="build"}} class="build">Build #{{build.number}}</a></li>
|
||||
</ul>
|
||||
|
|
14
app/assets/javascripts/vendor/ember-data.js
vendored
14
app/assets/javascripts/vendor/ember-data.js
vendored
|
@ -2162,7 +2162,7 @@ var DirtyState = DS.State.extend({
|
|||
|
||||
invokeLifecycleCallbacks: function(manager) {
|
||||
var record = get(manager, 'record');
|
||||
record.fire('becameInvalid', record);
|
||||
record.trigger('becameInvalid', record);
|
||||
}
|
||||
})
|
||||
});
|
||||
|
@ -2252,7 +2252,7 @@ var states = {
|
|||
// TRANSITIONS
|
||||
exit: function(manager) {
|
||||
var record = get(manager, 'record');
|
||||
record.fire('didLoad');
|
||||
record.trigger('didLoad');
|
||||
},
|
||||
|
||||
// EVENTS
|
||||
|
@ -2306,9 +2306,9 @@ var states = {
|
|||
invokeLifecycleCallbacks: function(manager, dirtyType) {
|
||||
var record = get(manager, 'record');
|
||||
if (dirtyType === 'created') {
|
||||
record.fire('didCreate', record);
|
||||
record.trigger('didCreate', record);
|
||||
} else {
|
||||
record.fire('didUpdate', record);
|
||||
record.trigger('didUpdate', record);
|
||||
}
|
||||
}
|
||||
}),
|
||||
|
@ -2411,7 +2411,7 @@ var states = {
|
|||
|
||||
invokeLifecycleCallbacks: function(manager) {
|
||||
var record = get(manager, 'record');
|
||||
record.fire('didDelete', record);
|
||||
record.trigger('didDelete', record);
|
||||
}
|
||||
})
|
||||
}),
|
||||
|
@ -2426,7 +2426,7 @@ var states = {
|
|||
|
||||
invokeLifecycleCallbacks: function(manager) {
|
||||
var record = get(manager, 'record');
|
||||
record.fire('becameError', record);
|
||||
record.trigger('becameError', record);
|
||||
}
|
||||
})
|
||||
})
|
||||
|
@ -2902,7 +2902,7 @@ DS.Model = Ember.Object.extend(Ember.Evented, {
|
|||
Override the default event firing from Ember.Evented to
|
||||
also call methods with the given name.
|
||||
*/
|
||||
fire: function(name) {
|
||||
trigger: function(name) {
|
||||
this[name].apply(this, [].slice.call(arguments, 1));
|
||||
this._super.apply(this, arguments);
|
||||
}
|
||||
|
|
119
app/assets/javascripts/vendor/ember.js
vendored
119
app/assets/javascripts/vendor/ember.js
vendored
|
@ -3344,6 +3344,8 @@ function deferEvent(obj, eventName) {
|
|||
});
|
||||
|
||||
return function() {
|
||||
if (obj.isDestroyed) { return; }
|
||||
|
||||
if (obj !== Ember && 'function' === typeof obj.sendEvent) {
|
||||
obj.sendEvent.apply(obj, a_slice.call(params, 1));
|
||||
}
|
||||
|
@ -6970,6 +6972,9 @@ Ember.Array = Ember.Mixin.create(Ember.Enumerable, /** @scope Ember.Array.protot
|
|||
if (addAmt === undefined) addAmt=-1;
|
||||
}
|
||||
|
||||
// Make sure the @each proxy is set up if anyone is observing @each
|
||||
if (Ember.isWatching(this, '@each')) { get(this, '@each'); }
|
||||
|
||||
Ember.sendEvent(this, '@array:before', startIdx, removeAmt, addAmt);
|
||||
|
||||
var removing, lim;
|
||||
|
@ -6983,9 +6988,6 @@ Ember.Array = Ember.Mixin.create(Ember.Enumerable, /** @scope Ember.Array.protot
|
|||
|
||||
this.enumerableContentWillChange(removing, addAmt);
|
||||
|
||||
// Make sure the @each proxy is set up if anyone is observing @each
|
||||
if (Ember.isWatching(this, '@each')) { get(this, '@each'); }
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
|
@ -7920,6 +7922,10 @@ Ember.Observable = Ember.Mixin.create(/** @scope Ember.Observable.prototype */ {
|
|||
return this;
|
||||
},
|
||||
|
||||
addBeforeObserver: function(key, target, method) {
|
||||
Ember.addBeforeObserver(this, key, target, method);
|
||||
},
|
||||
|
||||
/**
|
||||
Adds an observer on a property.
|
||||
|
||||
|
@ -8204,10 +8210,34 @@ Ember.Evented = Ember.Mixin.create({
|
|||
Ember.addListener(this, name, target, method, xform);
|
||||
},
|
||||
|
||||
fire: function(name) {
|
||||
one: function(name, target, method) {
|
||||
if (!method) {
|
||||
method = target;
|
||||
target = null;
|
||||
}
|
||||
|
||||
var wrapped = function() {
|
||||
Ember.removeListener(this, name, target, wrapped);
|
||||
|
||||
// Internally, a `null` target means that the target is
|
||||
// the first parameter to addListener. That means that
|
||||
// the `this` passed into this function is the target
|
||||
// determined by the event system.
|
||||
method.apply(this, arguments);
|
||||
};
|
||||
|
||||
this.on(name, target, wrapped);
|
||||
},
|
||||
|
||||
trigger: function(name) {
|
||||
Ember.sendEvent.apply(null, [this, name].concat(a_slice.call(arguments, 1)));
|
||||
},
|
||||
|
||||
fire: function(name) {
|
||||
Ember.deprecate("Ember.Evented#fire() has been deprecated in favor of trigger() for compatibility with jQuery. It will be removed in 1.0. Please update your code to call trigger() instead.");
|
||||
this.trigger.apply(this, arguments);
|
||||
},
|
||||
|
||||
off: function(name, target, method) {
|
||||
Ember.removeListener(this, name, target, method);
|
||||
},
|
||||
|
@ -12755,7 +12785,7 @@ Ember.View = Ember.Object.extend(Ember.Evented,
|
|||
*/
|
||||
_notifyWillInsertElement: function() {
|
||||
this.invokeRecursively(function(view) {
|
||||
view.fire('willInsertElement');
|
||||
view.trigger('willInsertElement');
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -12767,7 +12797,7 @@ Ember.View = Ember.Object.extend(Ember.Evented,
|
|||
*/
|
||||
_notifyDidInsertElement: function() {
|
||||
this.invokeRecursively(function(view) {
|
||||
view.fire('didInsertElement');
|
||||
view.trigger('didInsertElement');
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -12779,7 +12809,7 @@ Ember.View = Ember.Object.extend(Ember.Evented,
|
|||
*/
|
||||
_notifyWillRerender: function() {
|
||||
this.invokeRecursively(function(view) {
|
||||
view.fire('willRerender');
|
||||
view.trigger('willRerender');
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -12818,7 +12848,7 @@ Ember.View = Ember.Object.extend(Ember.Evented,
|
|||
*/
|
||||
_notifyWillDestroyElement: function() {
|
||||
this.invokeRecursively(function(view) {
|
||||
view.fire('willDestroyElement');
|
||||
view.trigger('willDestroyElement');
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -13248,7 +13278,7 @@ Ember.View = Ember.Object.extend(Ember.Evented,
|
|||
}, 'isVisible'),
|
||||
|
||||
_notifyBecameVisible: function() {
|
||||
this.fire('becameVisible');
|
||||
this.trigger('becameVisible');
|
||||
|
||||
this.forEachChildView(function(view) {
|
||||
var isVisible = get(view, 'isVisible');
|
||||
|
@ -13260,7 +13290,7 @@ Ember.View = Ember.Object.extend(Ember.Evented,
|
|||
},
|
||||
|
||||
_notifyBecameHidden: function() {
|
||||
this.fire('becameHidden');
|
||||
this.trigger('becameHidden');
|
||||
this.forEachChildView(function(view) {
|
||||
var isVisible = get(view, 'isVisible');
|
||||
|
||||
|
@ -13304,7 +13334,7 @@ Ember.View = Ember.Object.extend(Ember.Evented,
|
|||
Override the default event firing from Ember.Evented to
|
||||
also call methods with the given name.
|
||||
*/
|
||||
fire: function(name) {
|
||||
trigger: function(name) {
|
||||
this._super.apply(this, arguments);
|
||||
if (this[name]) {
|
||||
return this[name].apply(this, [].slice.call(arguments, 1));
|
||||
|
@ -13678,7 +13708,7 @@ Ember.View.states.hasElement = {
|
|||
if (view.has(eventName)) {
|
||||
// Handler should be able to re-dispatch events, so we don't
|
||||
// preventDefault or stopPropagation.
|
||||
return view.fire(eventName, evt);
|
||||
return view.trigger(eventName, evt);
|
||||
} else {
|
||||
return true; // continue event propagation
|
||||
}
|
||||
|
@ -14573,7 +14603,7 @@ Ember.State = Ember.Object.extend(Ember.Evented,
|
|||
Override the default event firing from Ember.Evented to
|
||||
also call methods with the given name.
|
||||
*/
|
||||
fire: function(name) {
|
||||
trigger: function(name) {
|
||||
if (this[name]) {
|
||||
this[name].apply(this, [].slice.call(arguments, 1));
|
||||
}
|
||||
|
@ -14689,7 +14719,34 @@ Ember.State = Ember.Object.extend(Ember.Evented,
|
|||
|
||||
var Event = Ember.$ && Ember.$.Event;
|
||||
|
||||
Ember.State.reopenClass({
|
||||
Ember.State.reopenClass(
|
||||
/** @scope Ember.State */{
|
||||
|
||||
/**
|
||||
@static
|
||||
|
||||
Creates an action function for transitioning to the named state while preserving context.
|
||||
|
||||
The following example StateManagers are equivalent:
|
||||
|
||||
aManager = Ember.StateManager.create({
|
||||
stateOne: Ember.State.create({
|
||||
changeToStateTwo: Ember.State.transitionTo('stateTwo')
|
||||
}),
|
||||
stateTwo: Ember.State.create({})
|
||||
})
|
||||
|
||||
bManager = Ember.StateManager.create({
|
||||
stateOne: Ember.State.create({
|
||||
changeToStateTwo: function(manager, context){
|
||||
manager.transitionTo('stateTwo', context)
|
||||
}
|
||||
}),
|
||||
stateTwo: Ember.State.create({})
|
||||
})
|
||||
|
||||
@param {String} target
|
||||
*/
|
||||
transitionTo: function(target) {
|
||||
var event = function(stateManager, context) {
|
||||
if (Event && context instanceof Event) {
|
||||
|
@ -15060,6 +15117,24 @@ var arrayForEach = Ember.ArrayPolyfills.forEach;
|
|||
robotManager.send('beginExtermination', allHumans)
|
||||
robotManager.getPath('currentState.name') // 'rampaging'
|
||||
|
||||
Transition actions can also be created using the `transitionTo` method of the Ember.State class. The
|
||||
following example StateManagers are equivalent:
|
||||
|
||||
aManager = Ember.StateManager.create({
|
||||
stateOne: Ember.State.create({
|
||||
changeToStateTwo: Ember.State.transitionTo('stateTwo')
|
||||
}),
|
||||
stateTwo: Ember.State.create({})
|
||||
})
|
||||
|
||||
bManager = Ember.StateManager.create({
|
||||
stateOne: Ember.State.create({
|
||||
changeToStateTwo: function(manager, context){
|
||||
manager.transitionTo('stateTwo', context)
|
||||
}
|
||||
}),
|
||||
stateTwo: Ember.State.create({})
|
||||
})
|
||||
**/
|
||||
Ember.StateManager = Ember.State.extend(
|
||||
/** @scope Ember.StateManager.prototype */ {
|
||||
|
@ -15326,7 +15401,7 @@ Ember.StateManager = Ember.State.extend(
|
|||
state = this.findStatesByRoute(state, path);
|
||||
state = state[state.length-1];
|
||||
|
||||
state.fire(get(this, 'transitionEvent'), this, context);
|
||||
state.trigger(get(this, 'transitionEvent'), this, context);
|
||||
}, this);
|
||||
},
|
||||
|
||||
|
@ -15347,12 +15422,12 @@ Ember.StateManager = Ember.State.extend(
|
|||
|
||||
exitStates = exitStates.slice(0).reverse();
|
||||
arrayForEach.call(exitStates, function(state) {
|
||||
state.fire('exit', stateManager);
|
||||
state.trigger('exit', stateManager);
|
||||
});
|
||||
|
||||
arrayForEach.call(enterStates, function(state) {
|
||||
if (log) { Ember.Logger.log("STATEMANAGER: Entering " + get(state, 'path')); }
|
||||
state.fire('enter', stateManager);
|
||||
state.trigger('enter', stateManager);
|
||||
});
|
||||
|
||||
var startState = state,
|
||||
|
@ -15367,7 +15442,7 @@ Ember.StateManager = Ember.State.extend(
|
|||
enteredState = startState;
|
||||
|
||||
if (log) { Ember.Logger.log("STATEMANAGER: Entering " + get(startState, 'path')); }
|
||||
startState.fire('enter', stateManager);
|
||||
startState.trigger('enter', stateManager);
|
||||
|
||||
initialState = get(startState, 'initialState');
|
||||
|
||||
|
@ -15455,6 +15530,7 @@ Ember.Routable = Ember.Mixin.create({
|
|||
*/
|
||||
stashContext: function(manager, context) {
|
||||
var serialized = this.serialize(manager, context);
|
||||
|
||||
manager.setStateMeta(this, 'serialized', serialized);
|
||||
|
||||
if (get(this, 'isRoutable') && !get(manager, 'isRouting')) {
|
||||
|
@ -16217,6 +16293,11 @@ Ember.ViewState = Ember.State.extend(
|
|||
/** @scope Ember.ViewState.prototype */ {
|
||||
isViewState: true,
|
||||
|
||||
init: function() {
|
||||
Ember.deprecate("Ember.ViewState is deprecated and will be removed from future releases. Consider using the outlet pattern to display nested views instead. For more information, see http://emberjs.com/guides/outlets/.");
|
||||
return this._super();
|
||||
},
|
||||
|
||||
enter: function(stateManager) {
|
||||
var view = get(this, 'view'), root, childViews;
|
||||
|
||||
|
@ -17744,7 +17825,7 @@ EmberHandlebars.ViewHelper = Ember.Object.create({
|
|||
if (!hash.hasOwnProperty(prop)) { continue; }
|
||||
|
||||
// Test if the property ends in "Binding"
|
||||
if (Ember.IS_BINDING.test(prop)) {
|
||||
if (Ember.IS_BINDING.test(prop) && typeof hash[prop] === 'string') {
|
||||
path = hash[prop];
|
||||
|
||||
normalized = Ember.Handlebars.normalizePath(null, path, data);
|
||||
|
|
Loading…
Reference in New Issue
Block a user