Giter VIP home page Giter VIP logo

kolite's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.