Skip to content

A collection of opinionated Backbone.Marionette extensions for large scale application architecture.

License

Notifications You must be signed in to change notification settings

RoundingWellOS/marionette.toolkit

Repository files navigation

Marionette.Toolkit

Travis Status Test Coverage

About Marionette.Toolkit

Marionette.Toolkit is a collection of opinionated extensions for Marionette Each element helps to reduce boilerplate for complex large scale application problems. This toolkit was built from scripts open sourced from RoundingWell.com.

Documentation

App - An extension of Marionette.Application. Its purpose is to provide an object with a initialize/start/stop/destroy lifecycle.

Component - An extension of Marionette.Application. Provides a consistent interface for which to package state-view-logic.

Async App start - How to easily start apps asynchronously.

StateMixin - JavaScript Object with a Backbone.Model for keeping state. Used by both the App and Component but can be applied to any Marionette Class.

ChildAppsMixin - Functionality to add or remove child Apps to a parent App, start apps asynchronously, and connect the child App lifecycle with the parent App lifecycle.

EventListenersMixin - Binds events to the App while running and removed (and only those) when the App is stopped.

ViewEventsMixin - Adds Marionette.View-like support for view event proxying. The API is analogous to childViewEventPrefix, childViewEvents and childViewTriggers.

Getting Help

If you have questions or concerns please feel free to open an issue. Additionally join us on the Marionette Gitter to have a chat. Everyone there is happy to discuss design patterns.

Project Details

Library Downloads

You can download the latest builds directly from the dist folder above.

Available Packages

Via yarn

$ yarn add marionette.toolkit

Via npm

$ npm install marionette.toolkit

Currently Marionette.Toolkit is available via npm and bower. If you would like add it to another channel, please open an issue.

Changelog

For change logs and release notes, see the changelog file.

Compatibility and Requirements

Marionette.Toolkit currently requires and is tested with Marionette 3.0.0+ as it extends Marionette.Application

Marionette.Toolkit supports IE10+ and modern browsers.

How to Contribute

If you would like to contribute to Marionette.Toolkit's source code, please read the guidelines for pull requests and contributions. Following these guidelines will help make your contributions easier to bring into the next release.

You can also join us in the Marionette Toolkit Gitter to think up new features, report bugs, ask questions, and talk design patterns within Toolkit.

Github Issues

Report issues with Marionette.Toolkit, and submit pull requests to fix problems or to create summarized and documented feature requests (preferably with the feature implemented in the pull request).

===

This library is © 2019 RoundingWell. Distributed under MIT license.