Git Product home page Git Product logo

lavaca's Introduction

Lavaca

Build Status Coverage Status

A curated collection of tools built for mobile

Getting Started

Pull down a lavaca-starter project or just the source. If you're going with the source route, Lavaca has three flavors available:

  • npm install lavaca-amd: AMD format
  • npm install lavaca-commonjs: CommonJS format
  • npm install lavaca: ES6 module format

Documentation

http://getlavaca.com/#/guide

http://getlavaca.com/#/apidoc

Examples

http://getlavaca.com/#/examples

Contributing

Refer to CONTRIBUTING.md

Release History

View Change Log

License

Copyright (c) 2013 mutualmobile Licensed under the MIT license.

lavaca's People

Contributors

alexwasner avatar bradyhigginbotham avatar dannichols avatar dannicholsmm avatar danwilson avatar daviddulak avatar gaqzi avatar georgehenderson avatar jriest avatar jwbanning avatar kellyrmilligan avatar kitsunde avatar realpeterz avatar zship avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lavaca's Issues

URL utility method

A utility method for assembling query-string URLs should be included as part of StringUtils.

Application fails when offline

Uncaught RangeError: Maximum call stack size exceeded
ns.Promise.Lavaca.extend.succeeded
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get
ns.Translation.get
app.onOfflineAjax
_onAjaxError
ns.Promise.Lavaca.extend.error
ns.ajax
ns.Map.Disposable.extend.load
ns.Map.Disposable.extend.get

Pass models, settings to widgets

Would like to be able to pass models and/or configuration options to widgets when initializing them using Lavaca.mvc.View#mapWidget

Create tutorial for building a simplified to do app on ghpages site

What I believe would help in adoption of the framework is creating a tutorial page on getlavaca.com that would walk people through creating a simple to do app. doesn't necessarily have to be to do mvc specs, but something that will use a good portion of the fucntionality needed to begin building an application.

Require-style dependency management

It's a pain point to manage the correct order of all script files. It'd be nice to switch to a require.js-style setup where dependencies are managed fluidly, and to tie this into the build system.

Auto-unbinding for view event handlers

Would like to see a way to have Lavaca.mvc.View and Lavaca.ui.Widget automatically unbind their handlers when disposed. Use case is binding event listeners to a Lavaca.mvc.Model/Collection then needing to manually unbind those handlers when the user transitions to another view (see Todos sample app)

Cordova upgrade

PhoneGap 1.9.0 is out now, Lavaca is on 1.6.0 still. Should be updated.

Enter/exit events for views

Lavaca.mvc.View should support events that fire when the view enters or exits (maybe along with beforeenter and beforeexit?)

Make Lavaca.mvc.Collection#fetch work with more than arrays

Lavaca.mvc.Collection's fetch method is currently expecting a JSON array back from the server, even though Collection is capable of supporting additional data. Would like to see support for this format:

{
"attr1": "foo",
"attr2": "bar",
"items": [
{
"id": 1
},
{
"id": 2
}
]
}

jQuery - $ in Device

When jQuery is used in noConflict() mode, Lavaca.env.Device breaks because it contains a $ that isn't imported from Lavaca.$

Touch Bind Issue

Using the touch function in the following manner without a delegate does not seem to work
el.touch(self.dragStart, self.dragMove, self.dragEnd, self);

If I use a delegate in this manner, it does work
el.touch('.item', self.dragStart, self.dragMove, self.dragEnd, self);

Use data-external as semantic way to indicate external links

Allow setting a data-external attribute on anchor tags that indicates that the link points to an external page and should not be handled with the router (as suggested by @sindresorhus). This should be a more semantic way of doing this than the current way of setting rel="nofollow" or target="_blank", although both of those methods will still work.

Extend Touch to support IE10

IE10 touch uses slightly different event names. It would be nice to support these to make Lavaca even more cross platform

Mapping events to collection of collections

Scenario: You have a collection of multiple paths, each of which is a collection of multiple points, each of which is a model with X and Y attributes that indicate position. Assuming that the collection of paths is the data passed to the view, it'd be nice if there was a way to map events from the view to the individual points without having to iterate through the paths. Problem is that if you have to manually update event handlers when the view is disposed or when paths/points are added/removed.

Add ability to sort a collection

Should follow the underscore _.sortBy pattern, where you can pass either a string to sort by that attribute, or a custom iterator function. Would also be nice to have an Ascending/Descending parameter.

View exit fails on Android 4.1

The view's exit method fails to execute on Android 4.1. This is the result of the "self" variable not being set correctly in the app.ui.BaseView#exit method when animation is disabled.

UIElement super type for View and Widget

We should introduce a generic UIElement type that could serve as the super type for UI types like Lavaca.mvc.View and Lavaca.ui.Widget and features event mapping.

View 'enter' event fires before enter animations complete

It seems like you would want the enter event to wait until the animations that bring in the view to animate to completion. For example, if you want to focus the cursor in the first field of a form and you do it on enter, it currently places the cursor during the animation and results in a sloppy entrance.

Simplified script/style reference management

It's a pain point to have to reference script and style files in both the index.html and in the scripts.xml and styles.xml. The build process should be tweaked to be able to automatically pull the JS and CSS files from specially annotated sections of the index.html.

History state interceptors

Would be nice for history state change and routing to be more extensible, so that a history change event could be intercepted or claimed by the view. This would be useful in having the back/forward buttons navigate between tabs on a page.

iOS 6 Beta Page Transitions

Page transitions (particularly on the "Sign-In" panel in the Sink app) are jumpy in iOS 6 Beta 3. Need to keep an eye on this as the betas are released.

Move "column" property to BaseView

Currently, the sample apps are passing around view column properties on the model. This messes with using Lavaca.mvc.Model objects directly for the views. We should just make column a property on the view.

HTML generation for docs

Would like to see the Python x-dust library used with Atnotate to generate full HTML versions of the docs instead of using the JS version of x-dust to do client-side HTML generation from JSON data.

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.