Releases: montagejs/montage
v0.13.9
- Montage
Fix issue that was causing, at times, a component to enter the document + before its stylesheets
v0.13.8
- Montage
Remove reference to alpha state in readme.
- AbstractTextField
Correctly handle setting TextField to 0. This specific value was being
ignored.
- AbstractSlider
Improve implementation to only use two elements.
v0.13.7
- Montage
FRB and Collections are up-reved to address an issue in Chrome 30's introduction of ES6 Array methods.
- PressComposer
Fix issue with capturing the pointer in touch to make nested composers work better.
PressComposer now only works with a one touch press gesture.
Removed touch listeners on correct phase to stop leaking listeners.
v0.13.6
- Montage
Bump Mr version to 0.13.4. Fixes an issue caused by a Safari bug on the
very first load. Montage would not work at all because promises engine
couldn't work.
- Template
Fixed bug with relative url's not working in image and iframes elements.
- NumberConverter
New property "forceDecimals" that adds 0's to the decimal part of a number
to make sure it has the number of decimals specified in the "decimals"
property. It is set to true
by default.
- AbstractButton
Fixed an issue with the enabled
property that wouldn't be respected when
set to false
.
- TranslateComposer
Added support to the standard wheel
event. This was an issue in Firefox.
- Blueprint
Fixed a bug in the cardinality initialization.
Fixed a bug in the AbstractSelect blueprint.
- Flow
Fixed a bug in the Flow selection where an hidden iteration could become
deselected.
- MediaController
Overhaul change to the MediaController API.
- AbstractVideo
New abstract UI type - AbstractVideo - It provides an API and the base
code to implement a video ui widget. An example of its usage can be found
in the digit Video component.
v0.13.5
- Montage
window.Touch fix for desktop browsers (Chrome 29 in particular).
- Template
Fix templateDidLoad not being called on component templates with no
serialization.
- Flow
Fix flow animating without having the pointer.
Enhance mouse wheel heuristics.
Fix translateStart/End issues.
- TextField
Reject value change when user is editing.
- Components
Add AbstractToggleSwitch.
v0.13.3
- Repetition
Fix repetition to correctly add the selected
class to iterations'
elements that are components too.
- Overlay
It enters and exists the document everytime it is shown or hidden.
- AbstractSlider
Add active state.
Add vertical mode.
- AbstractTextArea
Fix issue with null placeholder text.
- Target
Removed willSurrenderActiveTarget
and added surrendersActiveTarget
that asks the target to surrender the activeTarget status.
- Several bug fixes
v0.13.2
- Component
Rename leaveDocument (mistake) to exitDocument
- RangeController
Check content exists before attempting to read contentConstructor
- TreeController
New APIs see dead183
- Serialization
Added 'module reference' type to be able to deserialize and require a CommonJS module.
- Template
Fixed an issue when using a 'clear' label in the serialization
- Loader
Better error reporting when missing/wrong 'main' module/object information
- Repetition
Fixed bugs in childComponents management so that they are properly cleaned up.
Base Components
Add delegate methods to AbstractTextField
Improvement to keyboard handling in AbstractNumberField
- Flow
Performance improvements.
Better support of Firefox/IE10
- Documentation
Improvements to the converter documentation.
v0.13.1
- RangeController
addContent()
added to allow direct creation of objects in the content of the RangeController.
see contentConstructor
to specify the type.
- UndoManager
UndoManager now accepts promises and batching.
- Repetition
Pressing on an already selected iteration now does nothing instead of toggling it.
- Flow
Flow is now positioned absolute so that it expands to fill all the available space.
- AbstractSlider
The slider now uses a translate3d to take advantage of gpu acceleration.
v0.13.0
- Directory Structure
All non-components have been moved from the ui directory to the core directory.
Composers have been moved to the root directory.
- Core
Montage.create()
has been replaced by a specialize
method on the constructor. The specialize
method returns a constructor function that can be invoked with the new
operator. (For details see
Montage objects.)
- FRB bindings
Functional Reactive Bindings (FRB) have replaced the old bindings. More info >
- Component
Lifecycle methods
(See also Component draw cycle.)
enterDocument
is called every time the component's element is added to the DOM. WhenenterDocument
is called the element is already in the DOM.
The first timeenterDocument
is called, a Boolean with valuetrue
is passed in. In this situationenterDocument
replacesprepareForDraw
.exitDocument
is called every time the component's element is removed from the DOM. WhenexitDocument
is called the element is still in the DOM.dispose
is called when the component is discarded.
classList
Added a classList
property to all component instances. You can use this property with the same API as the element's classList
without impacting the draw cycle performance. The property can be used to great effect with FRB bindings to do things like: classList.has('complete') <- @owner.isComplete
.
DOM arguments
Components can now receive DOM arguments. A DOM argument is specified in the component markup by adding a data-arg
attribute and assign a name to its value.
DOM arguments can be referenced after the first enterDocument
with the extractDomArgument(name)
method.
When a component has a Template with parameters, each template parameter element is replaced with the corresponding component argument element.
- Template
Templates can now have DOM parameters. A DOM parameter is specified in a template using the data-param
attribute on the DOM node that represents the parameter. data-param
has the value of the parameter name.
- Serialization
A lot of the serialization code has been refactored to a separate project mousse and made more generic.
- Components
The contents of the montage/ui directory have been split between the ui directories of the core montage framework and the digit, matte, and native template packages.
The montage/ui directory now contains the following directories:
- base (contains abstract components, described below)
- condition.reel
- flow.reel
- loader.reel
- overlay.reel
- repetition.reel
- slot.reel
- [substitution.reel](http://montagejs.org/docs/substitution-component
.html) - text.reel (replaces dynamic-text.reel)
- component.js
Substitution
The substitution's API has substantially changed to a template based approach that makes use of the new component arguments API.
- Abstract components
In an effort to make basic components easier to create and more consistent, the abstract components now provide a super
class that widget sets can specialize with their own template. This is how the digit widgets are implemented.