var httpRequest;
if (window.XMLHttpRequest) { // Mozilla, Safari, IE7+ ...
httpRequest = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE 6 and older
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}var user = {
name: 'Some name';
};
$.post({
url: "/users",
user: user
}).then(function() {
// do something
});var User = Backbone.Model.extend({});
var u = new User();
u.save();angular.module('myApp.services').factory('User', function($resource) {
return $resource('/api/users/:id');
});
angular('myApp.controllers').controller('pageController', [
'$scope', 'User', function($scope, User) {
var u = new User();
u.$save();
}]);App.User = DS.Model.extend({
profile: DS.belongsTo('profile', {async: true})
});
App.Profile = DS.Model.extend({
user: DS.belongsTo('user', {async: true})
});
var u = new User();
u.save();
let schema = new OC.Schema({
modelDefaults: {
keys: {
__id: { primaryKey: true, defaultValue: Orbit.uuid }
},
},
models: {
user: {
attributes: {
name: {type: 'string'}
}
}
}
});let memorySource = new OC.MemorySource(schema);
let restSource = new OC.JSONAPISource(schema);
let localSource = new OC.LocalStorageSource(schema);let memToLocalConnector = new Orbit.TransformConnector(
memorySource, localSource);
let memToRestConnector = new Orbit.TransformConnector(memorySource, restSource);
let restToMemConnector = new Orbit.TransformConnector(restSource, memorySource);memorySource.add('user', {
name: 'name'
}).then(
function(user) {
// do something
}
);memorySource.on('didTransform', function(operation, inverse) {
console.log('memorySource', operation);
});let mySource = {};
Orbit.Requestable.extend(source, [
'find', 'add', 'update', 'patch', 'remove'
]);let mySource = {};
Orbit.Tranformable.extend(source);let mySource = {};
Orbit.Evented.extend(mySource);let notifier = new Orbit.Notifier();
notifier.addListener(function(message) {
// do something
});
notifier.addListener(function(message) {
// do something
});
notifier.emit('Hi'); bower install orbit.js
bower install ember-orbitApp.initializer({
name: 'injectStore',
initialize: function(container, application) {
Orbit.Promise = Ember.RSVP.Promise;
application.register('schema:main', EO.Schema);
application.register('store:main', EO.Store);
application.inject('controller', 'store', 'store:main');
application.inject('route', 'store', 'store:main');
}
});let LocalStorageSource = EO.Source.extend({
orbitSourceClass: OC.LocalStorageSource,
orbitSourceOptions: {
namespace: "myApp"
}
});Moon = Model.extend({
name: attr('string'),
planet: hasOne('planet', {inverse: 'moons'})
});
Planet = Model.extend({
name: attr('string'),
classification: attr('string'),
sun: hasOne('star', {inverse: 'planets'}),
moons: hasMany('moon', {inverse: 'planet'})
});http://orbitjs.com (to be continue)
@ilavriv