Bonaparte Core - API
![npm version](https://badge.fury.io/js/bonaparte.svg)
var bp = require('bonaparte');
bp.attribute
Utility functions that should be used to handle attributes.
They automatically handle both name
and data-name
attributes in one go and normalize events across browsers.
bp.attribute.get();
Get an attribute from the given tag by attribute name. Automatically checks for data-[name] as well.
Return: attribute value.
bp.attribute.get(
(HTMLElement) element,
(String) attributeName,
)
bp.attribute.matchName();
Compares two attribute names and checks if they are the same with: "attributeName" === "data-attributeName"
Returns: true|false
bp.attribute.matchName(
(String) attributeName1,
(String) attributeName2
)
bp.attribute.remove();
Removes an attribute from the given tag. Checks automatically if the attribute exists with or without data- prefix.
bp.attribute.remove(
(HTMLElement) element,
(String) attributeName
)
bp.attribute.set();
Set an attribute on the given tag. Checks automatically if the attribute exists with or without data- prefix.
bp.attribute.set(
(HTMLElement) element,
(String) attributeName,
(String) value
)
bp.module
bp.module.mixin()
Combines modules into a new module
Returns a module.
var module = bp.modules.mixin(
(Function) module,
(Function) module,
...
)
Modules are combinded to an objct
. Read more about the objct library here
bp.tag
bp.tag.closest();
Traverses up the element tree to find the first element that matches the given selector.
Returns: Element|undefined
bp.tag.closest(
(HTMLElement) element,
(querySelector) selector
)
bp.tag.contains();
Checks one Element is placed inside another.
Returns: true|false
bp.tag.contains(
(HTMLElement) parent,
(HTMLElement) child
)
bp.tag.create();
Creates a new bonaparte-tag from modules.
Returns Tag Factory.
var tag = bp.tag.create(
(String) name,
(Array|Function) modules,
[ (HTMLElement) htmlBaseElement ]
)
tag.register();
tag.initialize( (HTMLElement) tag );
tag.mixin( (Array) mixins );
The returned Tag Factory that can be.
- Used as a mixin in other tags to extend their functionality.
- Registered to the DOM with
tag.register()
- Initiated on an existing element in the DOM with
tag.initialize(element)
- Extended with modules through
tag.mixin(module)
A Tag Factory is an objct
. Read more about the objct library here
Static methods on modules become static methods on the Tag Factory.
bp.tag.DOMReady();
Calls the handler function when the DOM is ready. If the DOM is already completed, the handler is called imediately.
bp.tag.DOMReady(
(function) handler
)
bp.tag.observe();
Sets on observer on the given Element.
The observed element now emits bonaparte.tag.attributeChanged
and bonaparte.tag.attributeUpdated
events.
bp.tag.observe(
(HTMLElement) element
)
bp.tag.triggerEvent();
Triggers a event on the given HTMLElement
Returns: undefined
bp.tag.triggerEvent(
(String) event,
(HTMLElement) target,
(Object) data,
[(Boolean) bubbles = true ]
[(Boolean) cancelable=true]
)