Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A collection of re-usable views, controls & utilities for Cappuccino.
Objective-J
branch: master
Failed to load latest commit information.
.gitignore LPKit can now be compiled properly using jake
Info.plist LPKit can now be compiled properly using jake
Jakefile symlink the correct files into narwhal, also allow passing a raw url …
LICENSE added license
LPAnchorButton.j symlink the correct files into narwhal, also allow passing a raw url …
LPCalendarHeaderView.j minor code cleanup in LPChartView
LPCalendarMonthView.j if selection length type is changed in Calendar View, reflect it in t…
LPCalendarView.j fix for CalendarView not drawing the grid correctly, due to a recent …
LPChartView.j slight formatting fix
LPCookieController.j make escaping cookie values optional
LPCrashReporter.j added autoresizing masks to cancel button in LPCrashReporter report w…
LPEmail.j Shouldn't be two calls to test the email pattern. Closes #2
LPKit.j added missing import
LPLocationController.j use window.onhashchange if that is available in the LocationController
LPMultiLineTextField.j Added option to disable scrollbars from appearsing on overflow
LPPieChartView.j LPChartView should make a copy of the draw view.
LPSlideView.j correct ivar declaration
LPSparkLine.j removed leftover method in sparkline.
LPSwitch.j New LPViewController, with new & better API and also supports using h…
LPURLPostRequest.j use more sane escaping
LPViewAnimation.j always try to activate hardware acceleration in css animations
README.markdown added randy as a contributor in the readme

README.markdown

LPKit

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.

Installation

Place the entire LPKit folder in your Frameworks folder, or any directory that you add using OBJJ_INCLUDE_PATHS.

What's inside

Slide view

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.

Calendar view

calendar view

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.

ChartView

calendar view

A fully customizable chart view that can be used to implement either Bar or Line charts.

PieChartView

calendar view

A fully customizable pie chart view.

Sparkline

sparkline

A simple sparkline chart, comparable to the Google Chart sparklines - but using CoreGraphics rather than an image.

Switch control

switch control

A port of the UISwitch from the iPhone SDK, with the same behavior and feel.

Anchor Button

A control which can either simulate anchors, or if provided with a CPURL creates an anchor element. Useful for creating hyperlinks.

Utilities

LPEmail

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.

LPURLPostRequest

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];

LPCookieController

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"]);

Themes

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.

Contributors

Something went wrong with that request. Please try again.