Merge branch 'master' into gh-pages

Conflicts:
	javascripts/app.js
This commit is contained in:
2016-01-31 15:36:33 +08:00
13 changed files with 443 additions and 238 deletions
+50 -35
View File
@@ -1,48 +1,63 @@
define(
['backbone',
'localforage',
'localforagebackbone'
'localforage',
'localforagebackbone'
],
function(
Backbone,
localforage,
localforageBackbone
function (
Backbone,
localforage,
localforageBackbone
) {
var TaskModel = Backbone.Model.extend({
var TaskModel = Backbone.Model.extend({
offlineSync: Backbone.localforage.sync('TaskModel'),
/** switches sync between server and local databases **/
sync: function(){
if (window.hackflowyOffline)
return this.offlineSync.apply(this,arguments);
else
return Backbone.sync.apply(this, arguments);
},
offlineSync: Backbone.localforage.sync('TaskModel'),
defaults: {
parentId: 0,
content: '',
isCompleted: 0,
priority: 0
},
/** switches sync between server and local databases **/
sync: function () {
toggelCompletedStatus:function(isCompleted){
var prev_isCompleted = isCompleted,
self = this;
this.save({'isCompleted':isCompleted},
{
success:function(){},
error:function(){
//REVERT BACK ON ERROR
self.set({'isCompleted':prev_isCompleted});
}
});
}
if (window.hackflowyOffline)
return this.offlineSync.apply(this, arguments);
else
return Backbone.sync.apply(this, arguments);
},
});
defaults: {
parentId: 0,
content: '',
isCompleted: 0,
priority: 0,
id: '',
},
return TaskModel;
toggelCompletedStatus: function (isCompleted) {
var prev_isCompleted = isCompleted,
self = this;
this.save({
'isCompleted': isCompleted
}, {
success: function () {},
error: function () {
//REVERT BACK ON ERROR
self.set({
'isCompleted': prev_isCompleted
});
}
});
},
focusOnView: function(){
return this.view.$('input:first').focus();
}
});
// a couple of vars backbone.localforage needs in the sync function
TaskModel.prototype.sync.localforage = TaskModel.prototype.offlineSync._localeForageKeyFn;
TaskModel.prototype.sync._localeForageKeyFn = TaskModel.prototype.offlineSync._localeForageKeyFn;
TaskModel.prototype.sync._localforageNamespace = TaskModel.prototype.offlineSync._localforageNamespace;
return TaskModel;
});