0.0.4 • Published 7 years ago
rubricate v0.0.4
Rubricate it's javascript library inspired by Stream (Wagtail), Paragraphs (Drupal), inlines (Django).
Usage
Contents:
Classes:
Extensions
Installation
Add rubricate.js
to html template.
Create new instance of rubricate
:
let appHtmlElement = document.getElementById('#element-id');
let app = Rubricate(appHtmlElement);
Options
You also can pass options object passed to every plugin constructor.
defaultData
— json object used to display data and plugins by default. Must have a structure similar to the stream.getData()
method returns.
let appHtmlElement = document.getElementById('#element-id');
let stream = Rubricate(appHtmlElement, {
defaultData: {plugins:[]}
});
Example
Dummy example where we save data to text field on submit form:
<form id="my-form">
<div id="my-app"></div>
<input type="hidden" id="#my-form__app-json">
<input type="submit" value="Submit">
</form>
<script src="rubricate.js"></script>
// init application
let appHtmlElement = document.getElementById('my-app');
let app = Rubricate(streamHtmlElement);
// add form onsubmit event listener
let form = document.getElementById('my-form');
let jsonStringField = document.getElementById('#my-form__app-json');
form.addEventHandler('submit', () => {
jsonStringField.value = JSON.stringify(app.getData());
});