JSPM

  • Created
  • Published
  • Downloads 312
  • Score
    100M100P100Q95501F
  • License GPL-3.0

Lightweight native JavaScript and ECMAScript 6 library (package of small stand-alone components like routing, templating, validation, ajax, datatables, calendar, datepicker, autocomplete, pagination, url) and next generation front-end framework.

Package Exports

  • bunnyjs/src/Validation

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (bunnyjs) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

BunnyJS v 0.9.66

ES6 browser framework

"It's like a next-generation jQuery with jQuery UI"

NPM downloads/month NPM version

For help & ideas - DM me on Twitter

Lightweight native JavaScript and ECMAScript 6 library and next generation front-end framework. BunnyJS is package of small stand-alone components without dependencies:

  1. Powerful native lightweight JavaScript Form processing with native API, AJAX submit, file upload, image preview, data binding and more.
  2. Powerful native lightweight JavaScript HTML5 validation
  3. DOM utils, ready()
  4. Libraries for Date, URL, File, Image
  5. Ajax
  6. Routing
  7. Template engine
  8. DataTable and Pagination
  9. Calendar and DatePicker
  10. Autocomplete, Dropdown
  11. Element, positions, coordinates, smooth scrolling
  12. Dependency Injection, Inversion of control

Architecture:

  1. Separation of concerns, loose coupling, modularity
  2. Functional programming
  3. ES6 import/exports, Promises
  4. Native Browser API, polyfills were needed
  5. Object literal notation, no prototypes, "classes" , "new"
  6. Object composition over inheritance
  7. Dependency injection

Browser Support: IE9+, last 2 versions of Chrome, Firefox, Safari, Android 4.4+, iOS 9+

Designed in mind for best compatibility with Laravel 5 and Bootstrap 4, however can be used anywhere.

Rollup.js with babel and npm plugins is recommended for transpiling and bundling.

Install via npm install bunnyjs --save

Example usage:

import { Route } from 'bunnyjs/src/bunny.route';

Route.get('/', function() {
    console.log('You are on main page!');
});

// or create your own functions/closures/controllers, import them and pass to route
import { UsersController } from './Controllers/UsersController';
Route.get('/users', UsersController.index);
Route.get('/users/{id}', UsersController.showUser);

For documentation go to Wiki.

Currently only Template documentation available.

There is also example for IOC Container.

Autocomplete example

Valdiator is only 150 lines and adds JS validation above native HTML5 valdiation attributes. For example,

<input type="file" accept="image/*" ... required>

will be required and only images will be accepted. Error message is displayed after input.

DatePicker by default used as a fallback for browsers not supporting <input type="date"> and initiated using DatePicker.create(input_id) .

DatePicker as any BunnyJS component is easily extendable. Basicly DatePicker is a calendar builder/framework. You can build your own calendar and datepicker very fast.

Default theme of DatePicker:

bunnyjs-calendar-default

© Mev-Rael

GPL 3.0