h2. 1.1.4 h3. Changes * New signature: @TestCase#trigger(type, source, options)@. This method no longer messes around with the widget's options hash but simply passes any additional options to @evt#data@. Also, the event @source@ is now the required second argument. * We now got @TestCase#view_assigns@ to access instance variables from the last rendered widget. h2. 1.1.1 h3. Additions * You can now attach event handlers to other widgets simply by using the @:passing@ option: @responds_to_event :click, :passing => :root@. * If you want to debug events, just include the (WIP) @apotomo/debugging@ file and watch your server output on the console. h3. Changes * @Widget.responds_to_event@ is inheritable now. * The generator now places namespaced widgets into the correct sub-directories. h3. Removals * Removed the alias @Widget.respond_to_event@, please use @Widget.responds_to_event@. h2. 1.1 h3. Changes * Widgets now reside in @app/widgets/@ and have the @Widget@ appendix per convention, identical to cells and controllers. This introduces the following changes, illustrated with an imaginary @CommentsWidget@: ** @widget(:comments, ...)@ will search and instantiate @CommentsWidget@ (note the missing "Widget"). ** The @CommentsWidget@ views are searched in @app/widgets/comments/@ (note the missing "_widget"). * Including Apotomo::Rails::ControllerMethods by hand is optional. The first call to Controller.has_widgets will include the real module. * You can now @#render_widget@ in your widget views to render children. * @#widget@ now accepts one arg only (the widget prefix). @widget(:comments)@ sets id to @:comments@. We also removed the start state argument. * Start states are no longer accepted, you have to explicitely pass the state to #render_widget. That's why #invoke now requires an explicit state as well. * #replace/#update now append a @;@ to the JavaScript expression. You may pass an arbitrary selector string as first argument (optional). * The event is no longer added to #options at triggering time. * Options passed in #render_widget are no longer merged with #options. They are passed as state-args to reduce complexity. * We no longer have @opts and @params but #options and #params from Cell::Base. * The params hash is appended to the event in RequestProcessor#process_for. You can now live completely without accessing the global #params. * #respond/#update with :selector does not longer prefix the selector with #. It's up to you. * Event delegates #[] to #data. h3. Removals * Removed #param, it is simply too complex. * Removed render :render_children and :invoke options. Use #render_widget in your state/view. * Removed render :suppress_js as it was ugly and kills children. * Removed #jump_to_state and #last_state. * Removed `@cell`, now longer available in state views. * Removed #cell, #container and #section widget shortcuts. * Removed @rendered_children@ local in views. Use #render_widget. * Removed ContainerWidget, nobody needs it. h3. Bugfixes * Widget.responds_to_event no longer shares its options with multiple widget instances of the same class. h2. 1.0.4 h3. Bugfixes * Caching states works, again. Thanks to Gudleik Rasch for spotting. * We cleanly require cells-3.4.x now. Thanks to Ryan Bates who remarked that Apotomo 1.0.x tries to require cells-3.5, which was wrong. h3. Notes * Removed the usage of state-args. If you want the event instance in your triggered state, use @opts[:event] or upgrade to apotomo-1.1. h2. 1.0.3 h3. Bugfixes * fixed gemspec to not require useless gem dependencies. h2. 1.0.2 h3. Changes * removals from ViewHelper: #trigger_event, #form_to_event and friends as they use deprecated Rails helpers. h3. Bugfixes * Widget#fire now accepts payload data for the fired event. * triggered states now receive the event object if they expect one argument.