Skip to content
forked from CodeSeven/KoLite

KoLite contains a set of helpers to aid in creating MVVM applications using JavaScript and Knockout.

Notifications You must be signed in to change notification settings

alexbihary/KoLite

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 

Repository files navigation

KoLite

KoLite contains a set of helpers to aid in creating MVVM applications using JavaScript and Knockout. Including:

  1. asyncCommand
  2. activity
  3. dirtyFlag

Current Version

1.0.3

##NuGet Also available on NuGet at https://nuget.org/packages/KoLite

Quick start

asyncCommand

demo: http://jsfiddle.net/johnpapa/FhLvf/

<button data-bind="command: saveCommand">Save</button>
self.saveCommand = ko.asyncCommand({
    execute: function(callback) {
        $.ajax({
            complete: callback,
            data: { name: self.name() },
            type: 'POST',
            url: '/save/',
                    
            success: function(result) {
                alert('Name saved:' + result)
            }
        })
    },
        
    canExecute: function(isExecuting) {
        return !isExecuting && self.name()
    }
})

asyncCommand - event other than click

<div data-bind="command: {onmouseover: tooltipCommand}">Information</div>

asyncCommand and activity

<button data-bind="activity: saveCommand.isExecuting, command: saveCommand">Save</button>

dirtyFlag

// Your model
var Person = function () {
	var self = this;
	self.id = ko.observable();
	self.firstName = ko.observable().extend({ required: true });
	self.lastName = ko.observable().extend({ required: true });
	self.dirtyFlag = new ko.DirtyFlag([self.firstName,self.lastName]);
	return self;
};

Hook these into your viewmodel ...

//Property on your view model. myPerson is an instance of Person.
//Did it Change?
isDirty = ko.computed(function () {
	return myPerson().dirtyFlag().isDirty();
}),
//Resync Changes
dirtyFlag().reset();

Depends on

>= jQuery 1.4.4

>= KnockoutJS 2.0.0

Authors

Hans Fjällemark

John Papa

Credits

Inspired by http://KnockoutJS.com

Copyright

Copyright © 2012 Hans Fjällemark & John Papa.

License

KoLite is under MIT license - http://www.opensource.org/licenses/mit-license.php

About

KoLite contains a set of helpers to aid in creating MVVM applications using JavaScript and Knockout.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published