Skip to content

Releases: milojs/milo

0.1.10

26 Aug 12:18
Compare
Choose a tag to compare

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

26 Aug 12:05
Compare
Choose a tag to compare

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

26 Aug 12:05
Compare
Choose a tag to compare

Changes to milo.util.request

  • Handle timeout and abort events.
  • Separate timeout for whenRequestsCompleted method.

0.1.7

26 Aug 12:04
Compare
Choose a tag to compare

Fixes and minor performance improvements

0.1.6

26 Aug 12:03
Compare
Choose a tag to compare

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

26 Aug 12:02
Compare
Choose a tag to compare

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 and dragout messages that only fire when mouse enters/leaves the component's element,
    ignoring enter/leave of child elements (dragenter and dragleave 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

26 Aug 12:01
Compare
Choose a tag to compare

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

26 Aug 12:00
Compare
Choose a tag to compare

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 of on).
  • If message sender needs the message to be dispatched synchronously to all subscribers it can be used with postMessageSync method (instead of postMessage).
  • Subscribers can subscribe using onAsync in which case ALL messages, even those emitted with postMessageSync, 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

26 Aug 12:00
Compare
Choose a tag to compare

Data propagation mechanism fixed to prevent duplication of splice changes
Dragdrop redesigned to allow passing data via datatype during drag.