- 🔧 [fixed] component was not disposed when parent node is removed from a page (#46)
- ➕ [added] support for async bazFunc calls via
IntersectionObserver
. In browsers withoutIntersectionObserver
support, falls back to the equivalent ofsetTimeout(bazFunc, 1, node)
. Check out _async example
/* (old) sync call */
<div data-bazooka="init-time">
will be called on `Bazooka.refresh()` / `Bazooka.watch()`
</div>
/* (new) async call */
<div data-bazooka="init-time" data-baz-async="viewport">
will be called when in viewport
</div>
- ❌ [removed]
Baz.h.getAttrs(node)
. UseBaz.h.getAttrs(prefix, node)
orBaz.h.getAttrs(prefix)(node)
instead (deprecated since 0.4.1) - 🔧 [fixed] parsing pretty/multiline JSON (like
{\n"a": 1\n}
) byBaz.h.getAttrs
:
// node = <div data-baz-json='{\n"a": 1\n}' />
Baz.h.getAttrs('baz', node).json
// prior 0.8.0
// => '{\n"a": 1\n}'
// after 0.8.0
// => { "a": 1 }
- ➕ [added] return
dispose
functions frombazFunc
- ➕ [added]
Bazooka.rebind
to update already boundbazFunc
s - ➕ [added]
BazookaWrapper.prototype.HMRState
to preserve state between hot reloads
- 🔧 [changed] rethrow first exception from
Bazooka.refresh
- ➕ [added] wrapped
bazFunc
calls intotry/catch
- ❌ [removed]
MutationObserver
andFunction.prototype.bind
polyfills
⚠️ [deprecated]Baz.h.getAttrs(node)
. UseBaz.h.getAttrs(prefix, node)
orBaz.h.getAttrs(prefix)(node)
instead
- 🔧 [fixed]
data-bazooka
value with multiple whitespaces - ➕ [added] support for components without
bazFunc
- ➕ [added]
BazookaWrapper.prototype.getComponents
- ➕ [added] support for binding multiple bazComponents to a single node
- ❌ [removed] automatic bazComponent loading via
require()
. UseBaz.register()
instead