All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
component.on('update')
- fixedthis.props
to hold up-to-date value.
preact
to "10.5.7"
To be able to access updated DOM on mounted component call await component.update()
otherwise the update happens async, ie accessing the DOM right after component update yeilds unexpected results.
preact
to "10.2.1"
Component.appendAt(container, props)
- applies any Stringprops
to the created element.
render-as
feature support
compilers/tag-file
- delegates all js specific component definition to the runtimeindex.js
- represents an singleton commonjs module aka the runtime with default rendererpreact
directives
are removedBaseTag
api is removedtag.plasma
is removed and custom elements dispatch custom dom events on themselfs
- BaseTag
update
method to properly assigntag.attributes
tagName(tagName, props)
support for directives which need to change rendered tagName
README.md
with known issue 3
- BaseTag
update
event is fired after tag props/attrs are updated - Oval Directives
postCreate
is not triggered - Set root attributes only for compiled tag files
freeze
-ed dom elements with children
- Oval Directives
postCreate(el, value)
- Oval Directives automatically delete directive's property once consumed
- Oval Directives README section
- removed
tag.keepTagName
oval.mountAll
oval.appendAt
oval.mountAt
oval.BaseTag
- replaced
morphdom
withincremental-dom
- custom tag attribute
freeze
if
control statements having multiple expressions within as single line- boolean attributes parsing in
createElement
BaseTag.morph()
BaseTag.updateinnerChildren(sourceEl)
- accepting optional source element
BaseTag.injectDirectives()
- every directive acceptstag
anddirectiveName
- each loop tests
- Components with child components rendering
- Components events
BaseTag.updateAttributes(sourceEl)
- accepts optional source elementBaseTag.updateProps(sourceEl)
- accepts optional source elementBaseTag.updateRefs(sourceEl)
- accepts optional source element
- oval
if
control statement edge case with inner tags having the same name of the openning one
- replaced
unmount
withunmounted
and introducedunmount
as before element remove - renamed
keepParentTag
withkeepTagName
tag.shouldRender
is refactored as flag instead of function- tag directives are refactored to support better dom element augmentation control and less CPU
- README
- oval control statements
baseTag
all props from parent component go totag.props
ref-
is now calledprop-
- basic oval tests
oval.mountAt
- code coverage
- examples
- documentation
tag.updateProps()
which populatestag.props
objecttag.updateRefs()
which populatestag.refs
objecttag.updateAttributes()
which populatestag.attributes
object- moved examples in a seperate repository
oval.unmount
- oval compiler related code located under /lib/compilers
- add option to strip component's parent tag
tag.keepParentTag
, defaults totrue
if
control statements parser- do not remove other element attributes
- directives
baseTag
'stag.injectDirectives
passestag
to every directive:create-element
to passes thecreateElement
function to every directive along with thetagName
,props
andchildren
registerTag
remove usage ofdocument.registerTag
BaseTag
organic-plasma-dom eventsBaseTag.shouldRender
- standardjs source code style
oval
oval.init
oval.updateElement
oval.createElement
oval.BaseTag
oval.registerTag
oval.getRegisteredTag
oval.mountAll
oval.appendAt