Releases: finom/seemple
Releases · finom/seemple
Matreshka v0.3
New features
Matreshka.randomString
methodMatreshka#onDebounce
methodMatreshka#bindOptionalNode
methodMatreshka#delay
methodMatreshka.version
propertyMatreshka.binders.visibility
binderon
binder property accepts function as value.- Override
Matreshka.Array#itemRenderer
byrenderer
property of item. Matreshka.Array#renderIfPossible
property- Moved
lookForBinder
to Matreshka namespace - Use
sandbox
key instead of__this__
key for sandbox binding addone
andremoveone
methods forMatreshka.Array
- Return length from
Matreshka.Array#push
andMatreshka.Array#unshift
methods instead of "self" (use native Array behavior) - Underscored
Matreshka.Array
methods that accept event options (push_
,sort_
,splice_
etc) - Implemented binders for every HTML5 form field
- Delegated DOM events (
this.on( 'click::something(.x > .y)' )
) - New keys for
Matreshka#set
event:silentHTML
,skipLinks
Matreshka.Array#itemRenderer
acepts string as value- Added
self
key to Array events - Allow to change
Matreshka.Array#Model
dynamically - Call
change
event when binding changes property value by bound node default value (could be canceled viaassignDefaultValue: false
) - New selectors:
:sandbox
and:bound(KEY)
attributes
key support forBalalaika.create
function- Experimental simple template engine for
Matreshka.Array#itemRenderer
ifMatreshka.Array#useParser
istrue
- Moved all binders to
Matreshka.binders
- Added
skipMediator
flag forMatreshka.Array
methods Matreshka.Array#pull
accepts object as first argument- Short delegated DOM events (
click::(.selector)
instead ofclick::sandbox(.selector)
) for..of
loop support forMatreshka.Array
andMatreshka.Object
domEvent
key for DOM events
Deprecated stuff
- All
Matreshka.Array
methods that start withsilent
(silentPush
,silentSplice
,silentSort
etc). Use unserscored methods withsilent
flag instead. (eg.this.push_(1,2,3, {silent: true})
) Matreshka#initMK
- don't need it at all- Removed
Matreshka#defineNotEnum
as unused - Renamed
Matreshka.Array#initializeSmartArray
->rerender
- Renamed
Matreshka#setMediator
->mediate
- Renamed
Matreshka#bindElement
->bindNode
- Renamed
Matreshka#unbindElement
->unbindNode
- Renamed
Matreshka#addDependency
->linkProps
- Renamed
Matreshka.Array#setItemMediator
->mediateItem
- Renamed
Matreshka.Object#addJSONKeys
->addDataKeys
- Renamed
Matreshka.Object#removeJSONKeys
->removeDataKeys
- Renamed
Matreshka.procrastinate
->debounce
- Removed
itemrender
event fromMatreshka.Array
. You can use@render
event instead.
Fixes
- Fixes in Balalaika for old WebKit browsers such as iOS 5 Safari.
- DOM event handler executed few times
- Return self from
Matreshka#off
- Fixed bug in
Matreshka#defineGetter
- Fixed bug in
Matreshka.Array#concat
- Fixed bug in
Matreshka#once
- Fixed bug in
Matreshka.Array#itemMediator
- Fixed bugs in
Matreshka.Array
renderer code - Minor fixes in
Matreshka#bindNode
- Minor fixes in default binders
- Delegated events didn't work for
Matreshka.Object
instances - Always return null from
Matreshka#bound
if element is not found - Fixed unobvious bug in
Matreshka#set
function (when using bothmediateItem
+linkProps
) - Use
delete
event instead ofremove
binder.setValue
is called even if value was same- Bound nodes didn't update after
Matreshka#mediate
function call - Fixes for Internet Explorer 8
Matreshka.lookForBinder
returns undefined if no binder is found- Trigger
Matreshka.Array
events only if collection was changed
Code changes
- Optimized inner event triggers
- Created private method
_on
for internal use as faster method thanon
- Created private
Matreshka#_initMK
method - Optimized
Matreshka.Object
code a little - Removed
Number.isNaN
polyfill
Matreshka v0.2
Features
- Renamed addDependence to Matreshka#addDependency
- New Matreshka#addDependency syntax
- AMD support
- Defined 3 AMD modules: matreshka, balalaika and xclass
- Matreshka.useAs$ method
- Matreshka.procrastinate method
"initialize"
binder member- Another arguments for binder members
- xclass.same method
- Matreshka#defineSetter method
$b.create
static method (no docs yet)- experimental
"@evtName"
event name forMatreshka.Array
andMatreshka.Object
- experimental
"key@evtName"
event name forMatreshka
(core) - Allowed to add DOM events (eg
"click::x"
) before element is bound - Matreshka#$bound method
Fixes/refactoring
- Return this from initializeSmartArray
- Matreshka.Array#createFrom accepts undefined
- Optimized Matreshka#bound
- Changed cases when
"modify"
event fires on Matreshka.Array - Use
"delete"
instead of"remove"
event in Matreshka (core) because Matreshka.Array has same event name that fires on another action - Throw error if no
[].forEach
- Fixed bug in balalaika parser
- Added
$b.fn.is
for IE8 addEventListener
as polyfill (IE8 is not depended from jQuery from now)- Fixed bug in Matreshka#once, now handler could be removed by Matreshka#off method
- Allow adding
eventName + eventHandler + context
triad only once per instance (close toEventTarget.prototype.addEventListener
behavior, where one handler function can be added only once per event name) - Little refactoring of Matreshka#trigger and MK#set
- Save Matreshka#addDependency (no infinite loop when wrong recursive dependency)
- Fixed bug in xclass (splice vs slice issue)
- Refactored
Matreshka#on
andMatreshka#off
methods - Throw error when bound element is missing
Matreshka v0.1
This release contains many changes.
Features
- MK#addDependence method
- MK#select method
- MK#selectAll method
- Balalaika that replaces jQuery when it's not defined
- Improved events syntax for adding DOM events for bound elements
js this.on( 'click::myKey input::myAnotherKey', f );
- Class.Interface function-constructor (not documented yet)
- MK.Array#pull that removes element by given index and returns that element
- MK#isMK property for any Matreshka instance
- MK.Object#isMKObject property for any Matreshka.Object instance
- MK.Array#isMKArray property for any Matreshka.Array instance
- MK#setMediator method
- skipMediator flag for MK#set method
- Smart Matreshka Array feature using MK.Array#itemRenderer. Look at example.
- MK.Array#initializeSmartArray method
Fixes
- Allow to use numbers in MK.Object#addJSONKeys, MK.Object#removeJSONKeys, MK#remove
- Return removed element from MK.Array#pop and MK.Array#shift methods
- Do nothing if undefined is passed to MK.Object#addJSONKeys and MK.Object#removeJSONKeys
- MK.defaultBinders: Listen 'keyup' event for checkboxes/radios (if keyboard is using)
- MK.defaultBinders: Listen 'paste' event for input[type="text"] and textarea
- Use element as this in MK.defaultBinders functions
- MK#once works (not worked in v0.0)
- Added classList polyfill for IE8 and IE9
Methods and properties that have been renamed
Old named methods and properties work but deprecated and will be removed in Matreshka v1.0
- MK.elementProcessors -> MK.defaultBinders
- MK#el -> MK#bound
- MK#$el -> MK#boundAll
- MK.htmlp -> MK.binders.innerHTML()
- MK.classp() -> MK.binders.className()
Matreshka Project Changes
- Project is sponsoring by Shooju
- Changed file structure in /src/ folder
- New website design
- More examples
Matreshka v0.0.4
- Using Balalaika DOM library instead of jQuery when jQuery is not plugged in.
- Binding improvement: passed event argument to getValue (as third argument).
- Changed DOM events logic. Matreshka is no longer tied to DOM lib architecture.
- Extended Balalaika by few useful methods (add/remove/has/toggleClass, add, find).
- Fixed addDependence method and added official documentation for it.
- Added isMK property for any Matreshka instance (always true).
- Added force flag support for .set eventOptions argument that forces event triggering even if passed value is same..
- Added forceHTML flag support for .set eventOptions that forces DOM value change even if passed value is same. .
- htmlp fix: null is always same as empty string (IE8 issue).
Matreshka v0.0.3
- Improved MK.classp function
Matreshka v0.0.2
- Don't throw error when undefined is passed to .set and .jset methods
- Optimized array.mk.js for better compression
- Improved XDR detection (if browser mode is IE > 8 but document mode is IE8)
- Added .classp as chortcut for element binding that depends on boolean property and adds or removes class name depending on value
- Fixed bugs
Zero Release
0.0.1 -