Releases: milojs/milo
0.1.10
Messenger
performance improvement
MLSuperCombo
support for remote list of options
TransactionHistory
can emit messages
Model
can be used without messaging:
var m = new Model(data, hostObject, { reactive: false });
// data and hostObject can be undefined
0.1.9
MLFoldTree
- tree view UI component
MLSuperCombo
UI component improvements
milo.util.websocket
- client-side websockets (less than 150 loc)
Messenger
performance improvements
0.1.8
Changes to milo.util.request
- Handle timeout and abort events.
- Separate timeout for
whenRequestsCompleted
method.
0.1.7
Fixes and minor performance improvements
0.1.6
Mixin abstract class: added methods to expose mixin subclass methods on host class prototype rather than on host object instance.
Messenger methods are exposed on Component, facets, Model, and ModelPath using approach above
Substantially improved performance
0.1.5
milo.util.request
- messaging support for jsonp and file requests.
whenRequestsCompleted
method to call callback when all requests are completed
(or if there are no pending requests)- tests
Drop
facet
dragin
anddragout
messages that only fire when mouse enters/leaves the component's element,
ignoring enter/leave of child elements (dragenter
anddragleave
messages are still emitted as usual).- all messages are re-emitted on drag-drop service (
milo.util.dragDrop.service
).
milo.minder
whenPropagationCompleted
method that calls passed callback when propagation is completed or
when there is no data propagation. Using this function is better than subscription
milo.minder.once('propagationcompleted', callback)
because in the former case callback will always be called
and in the latter only if there is propagation happening.isPropagating
method that allows to determine if data propagation is currently happening.
Added mock for XMLHTTPRequest for testing.
Fixed memory leaks, added destroy
methods (milo.destroy
and others).
Calling milo.destroy()
will make milo unusable, only useful inside iframe that has to be disposed of.
0.1.4
Data propagation redesigned to avoid using model notification messages.
Connector supports path translations with "*" patterns.
Fragment utility allowing to get state of DOM fragment (including states of all components in it).
New Frame facet method milo
to access milo in the frame window. Can be used to call passed function when inner milo is ready even before frame is loaded (and before inner milo is available).
Transfer facet supports multiple states.
Sending messages via DOM storage using DOMStorage class.
changeMode and deferChangeMode methods of connector allowing to change connection depth and/or direction.
Command class iplementing "command pattern".
util.request - messaging support (allows monitoring and modifying requests before they are sent), fixed listener leak.
Minor fixes.
0.1.3
Asynchronous messaging:
- All subscribers that are now called on the next tick by default
- If in some circumstances subscriber needs to be called synchronously, it can subscribe to the message using
onSync
method (instead ofon
). - If message sender needs the message to be dispatched synchronously to all subscribers it can be used with
postMessageSync
method (instead ofpostMessage
). - Subscribers can subscribe using
onAsync
in which case ALL messages, even those emitted withpostMessageSync
, will be dispatched asynchronously. - DOM events are dispatched synchronously, so preventDefault etc. would work (the actual DOM event is passed as the second parameter of subscribers).
List facet now allows multiple items already in DOM, but requires that all Items (components with Item facet) are immediate DOM children. The first item in the DOM is used as a sample for new items.
0.1.2
Data propagation mechanism fixed to prevent duplication of splice changes
Dragdrop redesigned to allow passing data via datatype during drag.