A collection of different generic views & utilities for Cappuccino, extracted from Observer.
A demo is available at http://luddep.se/static/LPKit-Examples/, with the source code in the LPKit-Examples repository.
LPKit requires Cappuccino 0.8.1.
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 fully customizable chart view that can be used to implement either Bar or Line charts.
A fully customizable pie chart view.
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 control which can either simulate anchors, or if provided with a CPURL creates an anchor element. Useful for creating hyperlinks.
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.