Reduza o número de interações do usuário necessárias em suas páginas, implementando o salvamento automático por meio de uma sinalização incorreta no modelo de domínio do cliente.
Isso pode ser feito usando knockout.js:
função janela onload:
//Handle dirty/changed domain items
templateAppViewModel.dirtyTemplates = ko.dependentObservable(function () {
return ko.utils.arrayFilter(this.templateResults(),
function (template) {
return template.dirtyFlag.isDirty();
});}, templateAppViewModel);
//Create the view model dirty flag
templateAppViewModel.isDirty = ko.dependentObservable(function () {
return this.dirtyTemplates().length > 0;
}, templateAppViewModel);
//subscribe to viewmodel isDirty event
templateAppViewModel.isDirty.subscribe(function (newValue) {
if (newValue) {
//Save the dirty values
viewModelHelpers.save();
}
});
//Initialize Knockout.js
ko.applyBindings(templateAppViewModel);
Objeto de domínio do lado do cliente:
function Template(){
this.dirtyFlag = new ko.dirtyFlag(this);
}
JS Fiddle: http://jsfiddle.net/rniemeyer/dtpfv/
Código e ideia de:
http://www.knockmeout.net/2011/05/creating-smart-dirty-flag-in-knockoutjs.html