KoLite
Features include: 1) dirtyFlag (for change tracking) 2) activity indicator (ideal for commands) 3) command (with execute, canExecute, and activity features) ### asyncCommand <button data-bind="command: loadCmd">Save</button> saveCmd = ko.asyncCommand({ execute: function(complete) { ... } }) ### asyncCommand and Activity <button data-bind="activity: saveCmd.isExecuting, command: saveCmd">Save</button> saveCmd = ko.asyncCommand({ execute: function(complete) { ... }, canExecute: function(isExecuting) { return !isExecuting && self.isDirty() } }) ### 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 ... //Did It Change? viewModel.dirtyFlag().isDirty(); //Resync Changes viewModel.dirtyFlag().reset();
Install
dotnet add package KoLite --version 1.0.1
Install-Package KoLite -Version 1.0.1
<PackageReference Include="KoLite" Version="1.0.1" />
Frameworks
No framework metadata available.
Dependencies
Adoption guide
Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.
No SPDX license expression is published. Review the license text and your organisation's policy before redistribution.
No target framework metadata is available. Confirm compatibility in a representative project before standardising on this package.
How to read this guidance
Sources: published NuGet v3 registry metadata and explicit NuBrowse editorial guides. Refresh: package metadata is refreshed from NuGet when the page loads. Limit: this is not a security, legal or compatibility guarantee; validate the selected version in your project.
Useful next steps
Move from package metadata to a concrete selection or review workflow.