A collection of different generic views & utilities for Cappuccino, extracted from the up-coming cappuccino port of Observer.
A demo is available at http://luddep.se/static/LPKit-Examples/, with the source code in the LPKit-Examples repository.
LPKit requires a version higher than 0.7.1 to run, which at the time of writing is only available as the master (or jake) trunk.
Place the entire LPKit folder in your Frameworks folder, or any directory that you add using OBJJ_INCLUDE_PATHS
.
LPSlideView lets you slide between different subviews. Only one subview will be visible, and the sliding only shows the relevant subviews - no matter how many other views might be between them.
LPCalendarView is a calendar view based on the iPhone calendar app, with the same sliding when changing months. Currently supports selecting days & weeks, also marking a special day as highlighted - such as the current day or week.
A simple sparkline chart, comparable to the Google Chart sparklines - but using CoreGraphics rather than an image.
A port of the UISwitch from the iPhone SDK, with the same behavior and feel.
A simple object which lets you validate emails, for now. NOTE: the current regexp is broken, needs to be replaced with one that actually works.
A wrapper around CPURLRequest
to make working with post requests a bit simpler.
Rather than manually settings the HTTPBody & Content-Type, you pass it a javascript object with key value pairs of strings which you want to send as a POST request.
Example:
var request = [LPURLPostRequest requestWithURL:[CPURL URLWithString:@"/my-url/"]],
content = {
'name': 'Lorem ipsum',
'age': '18'
};
[request setContent:content]
[CPURLConnection connectionWithRequest:request delegate:self];
A utility class to work with document.cookie, without the tedious stuff.
Example:
var cookieController = [LPCookieController sharedCookieController];
// Set a session, which will be deleted when the browser closes.
[cookieController setValue:@"My value" forKey:@"MyKey"];
// Set a cookie which won't be flushed
[cookieController setValue:@"My value" forKey:@"MyOtherKey" expirationDate:[CPDate distantFuture]];
// Get the value of the session
console.log('value for MyKey: ' + [cookieController valueForKey:@"MyKey"]);
LPKit makes heavy use of the theme API in Cappuccino. An example on how to use themes with LPKit is available in in the LPKit-Examples repository which has a demo theme with an Aristo inspired look.