UNPKG

spallinsonjs

Version:

A Web App Framework

322 lines (141 loc) 6.37 kB
# SPAllinsonJS v1.4.3 ## 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.3--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 HTML and JS 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.3 - Added view bundling support #### 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 <locale> 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 - [Beginner App](https://github.com/SPAllinsonJS/spallinsonjs-example-beginner) - [Intermediate App](https://github.com/SPAllinsonJS/spallinsonjs-example-intermediate) - [Advanced App](https://github.com/SPAllinsonJS/spallinsonjs-example-advanced) #### Docs All documentation can be found on the official site: [www.spallinsonjs.com](http://www.spallinsonjs.com) ## Copyright All content &copy; [Chris J. Allinson](http://www.allinson.ca) 1996 - Present. All rights reserved.