- Fix issue when getting/setting values in nested properties.
- Fix arrays returning more than their items.
- style binding now removes styles when set to null
- Add vmRef global helper. See: https://viewmodel.org/docs/misc#usingcontrols
- fix validation for undefined values
- Add global properties
- Fix value/throttle with complex binds
- Fix the value/throttle issues by saving the next value when throttled
- Hidden elements now respond to both input and change events
- Use change event for select elements
- value binding now only uses 'input' event
- optionsText can now point to a vm function
-
Short circuit && || operators in bindings.
-
Prevent using "b" as a view model property. It conflicts with Blaze.
-
Throw error if you try to use a reserved property.
vmId vmPathToParent vmOnCreated vmOnRendered vmOnDestroyed vmAutorun vmEvents vmInitial vmProp templateInstance templateName parent children child reset data b
- Bindings parser can now handle negative numbers inside parenthesis operations
- Before: If a mixin A used another mixin B and you scope A to a property, mixin B would attach to the root of view model.
- Now: mixin B gets attached to the same property as A
- Don't save on url in older browsers
- enable/disable bindings add disabled attribute to select elements
- Fix throttle with input value starting blank then deleting the text before the time is up.
- Check for null/undefined in value binding when the property starts with a null/undefined
- Check for null/undefined in value binding
- ViewModel.property.array is now reactive
- Fix array validator
- Lower ecmascript version
- Add automatic array validator
- Fixed issue with onUrl
- Added validations. See https://viewmodel.org/docs/viewmodels#validation
- Added .templateName() to view models.
- Throw an error if a bind can't be parsed.
- Allow .children to use a template name plus a function
- Check that a view model property exists before using it as a template helper.
- I don't even know what to say...
- Only process bindings once
- Don't execute onCreated/onRendered/autoruns if the template instance is destroyed
- Don't try to bind to an element if its view is destroyed
- Use afterFlush instead of onViewReady (so it can work better with packages like jagi:astronomy and tap:i18n)
- Fix automatic state save across hot code push when using appcache package.
- Don't check if an event is supported (the code was buggy)
- Update docs url (now that *.meteor.com is going down)
- AddAttributeBinding is now case sensitive
- Make attributes case sensitive
- Fix binding conditionals when it starts with a negative
- New ViewModel.addAttributeBinding to add attribute as bindings. See https://viewmodel.org/docs/bindings#attr
- src, readonly, and href used to be default bindings which mapped to their corresponding attributes. Now they're not. If you use these bindings you now have to add them with ViewModel.addAttributeBinding( ['src','href','readonly'] )
- Fix signals with Firefox
- Events are now loaded from mixin/share/load too
- Check for parent node missing when calculating template's path.
- Fix hot code push with view models with an id property.
- Only run defining function once.
- Change doesn't trigger on first run.
- Load context onCreated so Blaze helpers can use inherited properties.
- Style strings now accept semi-colons.
- Fix onCreated. Delay loading data when running in a simulation
- Fix this.parent() from onRendered
- Add refGroup binding. see https://viewmodel.org/docs/bindings#refgroup
- Simplify override priority.
- Context properties override even functions.
- Initial load order overrides even functions.
- Throw nice error when trying to access a non property in your bindings
- Allow .load to load an array of objects with hooks (like onRendered)
- Add throttle to signals.
- Add a way to transform signals. See: https://viewmodel.org/docs/viewmodels#signal
- Fix onCreated/onRendered/onDestroyed/autorun when using an array of functions
- Fix onRendered so it happens after bindings are in place.
- Add viewmodel.child method which returns the first child it finds with the given criteria. See the docs.
- Add signals to capture stream of events that happen outside the view models.
- Fix options binding on Firefox
- Set order of load priority: context props, direct props, from load, mixin, share, signal
- Return undefined when ViewModel.find and .findOne can't find the given template
- onCreated now runs when the template is created.
- onCreated now runs when the template is created. This means, by the time onCreated is called, the view model will not have properties automatically added from the markup. I don't expect this to affect many people, if at all. You should be able to upgrade without a problem. Check where you use onCreated just to make sure.
- The order of load priority is now: context props, direct props, from load, mixin, share, signal. This will only affect you if you use the same property name multiple times in the same view model. For example if you have a mixin with a property
name
and a view model that uses that mixin and also hasname
defined for itself. In those cases check that you're getting the expected result.
- Fix cleanup when a template is destroyed. It was leaving a reference to the view model on ViewModel.byTemplate
- Give a better error when trying to access a property of undefined/null in the template.
- Warn if you try to put _id on the url without specifying a vmTag property.
- Fix ViewModel.find
- Add ViewModel.find and ViewModel.findOne - They both take an optional string with the name of the template and an optional function to find a template.
- .children() uses the .parent instead of its own logic.
- You can now add an array of strings and objects to mixin and share properties.
- onCreated/onRendered/onDestroyed/autorun now work when defining the view model with a function.
- .parent() now searches for the first view model up the chain. Not just the parent template.
- Using [email protected]
- Missed underscore 1.0.3
- Reduce version requirements so it works with Meteor 1.1
- options binding now works with mongo collections
- Order of events are now correct: onCreated -> onRendered -> autorun
- View model methods used as template helpers now receive the parameters from the template.
- mixins and shares can be scoped to a view model property. So instead of adding all share/mixin properties to the view model, you can specify under which property they should fall. See: https://viewmodel.org/docs/viewmodels#sharemixinscope
- .load now accepts an array of objects
- You can now load multiple objects when you define a view model( .viewmodel({ load: objOrArray }) )
- Loaded objects can have their own autorun/onCreated/onRendered/onDestroyed properties.
- Fix to the fix
- Fix issue when using Iron Router's contentFor blocks
- Fix issue with blaze helpers not being wired up correctly when using nested #each blocks.
- autoruns now receive a computation parameter (as they should).
- Trim parameters used when using functions declared in bindings
- Properties are automatically added to the view models when used in the markup. This alleviates the problem of inheriting from Mongo documents where one might be missing a field.
- Update readme
- Make
this
reactive when used in a binding inside an#each
block
- Add error messages when the bind/event doesn't exist.
- Add href, src, readonly bindings.
- Check .viewmodel args
- Fix inherited contexts
- Fix autorun when given an array of functions
- Add ViewModel.elementBind for testing
- Fix setVmValue when the value to set is taken from the view model
- Add events
- Fix issue when using {{b and {{on at the same time
- Add persist option for individual view models
- Hello World!