spallinsonjs

1.4.2 • Public • Published

SPAllinsonJS

v1.4.2

Description

MVC JS framework for building SPAs

Features

Routing

Easily manage the loading of content into divs

History

SPAllinsonJS tracks history allowing for functional prev/next browser buttons, and page reloading

Deeplinking

Deeplink into any part of your application (e.g. from an email to your download page)

Bookmarking

Allow users to bookmark the page (route) they are on

Services & Singletons

Create reusable Services and Singletons

Note

Pass messages (w/ optional data) around between Controllers within your application

Data Binding (One-Way)

Bind data from your Components' models to their Views

Data Rebinding

Manually rebind bound data (whenever you know the model has changed)

Repaint

Manually update a Component's View (whenever you know the model has changed)

Component

Inject an entire Component into a View

Repeat

Repeat a Component over an array of data

Eval

Perform eval() within your View

AJAX

Easily perform, handle and cancel HTTP Requests (with optional caching)

Locale

Specify language specific content using key/values

Testing

Unit test your app using SPAllinsonJS-v1.4.2--test.min.js

Splash Screen

Initial loading page presented to the user upon launch

Preloading

While the Splash Screen is being displayed, have SPAllinsonJS preload specific Components (i.e. their associated html, css, images and js)

Offline

Your app can work offline forever after just one initial Splash Screen load

Debug Console

Debugging made a lot easier

Garbage Collection

SPAllinsonJS is very memory oriented, keeping only what it needs in at any one time!

Browser Support

Vast!

Bundling

Support for JS and CSS bundles to help reduce server calls, and segment your app as you choose

Plugins

Alert

Display page level messages to the user

Lightbox

Load any content into this full page fading div with transparent background

Storage

Temporarily and Permanently store and retrieve data (key/values)

Revision History

v1.4.2

  • Major improvements to routing sequencing

  • Fade in/out speed now customizable via A.Settings.fadeSpeedMills

v1.4.1

  • Apps now testable using SPAllinsonJS-v1.4.1--test.min.js

v1.4.0

  • BREAKING: RouteRules condition now takes a function that return a bool

  • BREAKING: A.Ajax now has methods: request, get, post, put, delete and patch

  • BREAKING: A.Repaint, A.Repeat, A.Append, A.Rebind and A.Component all now take a component instance (i.e. self instead of self.me)

  • BREAKING: A.Note now takes a component instance and a function (i.e. self instead of self.me, and self.methodName instead of 'methodName')

  • BREAKING: A.MemoryManagement interface change

  • BREAKING: Components are automatically init'd with me and model properties

  • BREAKING: Component lifecycle methods are now init, viewDidAppear and dealloc

  • Major performance enhancements

  • Component lifecycle methods are now optional

  • A.Settings.components['ComponentName'].view can now take a function that returns a string

  • Many A.Settings keys are now optional

  • Debug Console Ui and performance enhancements

v1.3.4

  • A.Ajax now errors out upon a 500

  • Repeat over empty array now clears container

  • Complex Go/Repaint cycles (MVVM) bugfixes

  • _A_Content reverted back to position: absolute which fixes 'fade' for 'app'

v1.3.3

  • Repaint bugfixes

v1.3.2

  • Preload bugfix

v1.3.1

v1.3.0

  • BREAKING: A.loadScript() removed, use A.MemoryManagement.loadScript()

  • BREAKING: A.currentRoute removed, use A.Routing.currentRoute

  • Support for Query String

  • A.Router.currentQueryString

  • Revised core CSS to be less restrictive

  • Bugfix for displaying 0 using [B: ]

v1.2.5

  • Added A.Repaint allowing full view updating

  • Added A.Settings.fallbackRoute to handle "route not found"

  • [L: ] no longer wraps value in tag

  • A.Append bugfix (child Components are no longer destroyed)

  • A.loadScript() deprecated (use A.MemoryManagement.loadScript() instead)

  • A.currentRoute deprecated (to be replaced with A.Routing.currentRoute in v1.3.0)

  • Performance enhancements

v1.2.4

  • Memory Management and Script Management updated to allow for JS Bundles!

  • A.Settings.splash now optional

v1.2.3

  • A.Settings.routeRules added

  • Debug Console added to --debug release

  • Logging removed

  • Enhanced error handling

v1.2.2

  • Added back [E: ] which was removed just before v1.0.0

v1.2.1

  • Bugfixes around null/dne data being passed into [B: ], [R: ] & [C: ]

  • Callbacks of Repeat, Append & Component fixed to be optional

v1.2.0

  • BREAKING: Moved and changed A.Settings.appDoesFadeIn to A.Settings.splash.doesFadeOut

  • Completion handling added to A.Go(), A.Repeat() & A.Append()

  • Debug build "SPAllinsonJS-v1.2.0--debug.min.js" (which enables logging) included in release

  • A.AJAX caching bugfixes

  • Added A.unloadScript(url) util

  • Enhanced error handling

  • Enhanced performance

  • Enhanced logging

v1.1.0

  • [C:] "Component" ... allows injecting of an entire Component into a container in a view

  • Locale now a SPAllinsonJS core feature

  • Enhancement to A.Ajax ... it now returns the requestObject allowing cancelling of requests

  • Enhancement to A.Ajax ... revisions to what success and error returns

  • Enhancement to A.Ajax ... revisions to what error codes return success and error

  • Fixed memory leak during dealloc'ing [C: ] & [R: ] created components

  • Fixed history issue related to [C: ] & [R: ] created components

SPAllinsonJS Documentation

Example Apps

Docs

All documentation can be found on the official site: www.spallinsonjs.com

Copyright

All content © Chris J. Allinson 1996 - Present. All rights reserved.

Package Sidebar

Install

npm i spallinsonjs

Weekly Downloads

4

Version

1.4.2

License

EULA

Unpacked Size

136 kB

Total Files

8

Last publish

Collaborators

  • spallinsonjs