marionette behaviors

51
Behaviors BOOM

Upload: teammarionette

Post on 28-Aug-2014

401 views

Category:

Software


1 download

DESCRIPTION

Jason Laster explains how you can use Marionette Behaviors in your own app. Marionette.js: http://marionettejs.com Dancing with Marionette Meetup: http://www.meetup.com/Dancing-with-Ma... Marionette Chat Room: https://gitter.im/marionettejs/backbo... Jason Laster: https://twitter.com/jasonlaster11

TRANSCRIPT

Page 1: Marionette Behaviors

BehaviorsBOOM

Page 2: Marionette Behaviors

Jason Laster

Page 3: Marionette Behaviors

Jason Laster

Page 4: Marionette Behaviors

Jason Laster

Page 5: Marionette Behaviors

Jason Laster

Page 6: Marionette Behaviors

BehaviorsBOOM

Page 7: Marionette Behaviors

Dropdown Hot Keys Overlays Overlayable

Animations Transitions Validation Error States

Sorting Drag & Drop

Tooltips Disablable

Navigable

… … … …

Auto Save Form State Tables

Nav Bar Cards …

Page 8: Marionette Behaviors

Username

Password

Signin

Page 9: Marionette Behaviors

Username

Password

Signin

x

Page 10: Marionette Behaviors

1 SignInForm = Marionette.ItemView.extend 2 ui: 3 userNameField: '.username' 4 passwordField: '.password' 5 signinBtn: '.signin' 6 7 events: 8 'click @ui.signinBtn': 'onClickSignin' 9 10 onClickSignin: -> 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Page 11: Marionette Behaviors

1 SignInForm = Marionette.ItemView.extend 2 ui: 3 userNameField: '.username' 4 passwordField: '.password' 5 signinBtn: '.signin' 6 close: '.close' 7 8 events: 9 'click @ui.signinBtn': 'onClickSignin' 10 'click @ui.close': 'onOverlayClose' 11 12 onClickSignin: -> 13 14 onOverlayClose: -> 15 Radio.commands.execute('app', 'overlay:close') 16 17 18 19 20 21 22 23 24 25

Page 12: Marionette Behaviors

1 Overlay = Marionette.Behavior.extend 2 ui: 3 close: '.close' 4 5 events: 6 'click @ui.close': 'onOverlayClose' 7 8 onOverlayClose: -> 9 Radio.commands.execute('app', 'overlay:close') 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Page 13: Marionette Behaviors

1 SignInForm = Marionette.ItemView.extend 2 ui: 3 userNameField: '.username' 4 passwordField: '.password' 5 signinBtn: '.signin' 6 close: '.close' 7 8 events: 9 'click @ui.signinBtn': 'onClickSignin' 10 'click @ui.close': 'onOverlayClose' 11 12 onClickSignin: -> 13 14 onOverlayClose: -> 15 Radio.commands.execute('app', 'overlay:close') 16 17 18 19 20 21 22 23 24 25

Page 14: Marionette Behaviors

1 SignInForm = Marionette.ItemView.extend 2 ui: 3 userNameField: '.username' 4 passwordField: '.password' 5 signinBtn: '.signin' 6 7 events: 8 'click @ui.signinBtn': 'onClickSignin' 9 10 onClickSignin: -> 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Page 15: Marionette Behaviors

1 SignInForm = Marionette.ItemView.extend 2 3 behaviors: 4 Overlay: {} 5 6 ui: 7 userNameField: '.username' 8 passwordField: '.password' 9 signinBtn: '.signin' 10 11 events: 12 'click @ui.signinBtn': 'onClickSignin' 13 14 onClickSignin: -> 15 16 17 18 19 20 21 22 23 24 25

Page 16: Marionette Behaviors

Pizza

Burritos

Sushi

Paninis

Page 17: Marionette Behaviors

Pizza

Burritos

Sushi

Paninis

Food

Page 18: Marionette Behaviors

Food

Page 19: Marionette Behaviors

Pizza

Burritos

Sushi

Paninis

Food

Page 20: Marionette Behaviors

Pizza

Burritos

Sushi

Paninis

Food

Page 21: Marionette Behaviors

Pizza

Burritos

Sushi

Paninis

Food

Page 22: Marionette Behaviors

1 ListView = Marionette.ItemView.extend 2 3 events: 4 'click .option': 'onClickOption' 5 6 onClickOption: (e) -> 7 // ... 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Page 23: Marionette Behaviors

1 ListView = Marionette.ItemView.extend 2 3 events: 4 'click .option': 'onClickOption' 5 'click .button': 'onDropdownShow' 6 7 onClickOption: (e) -> 8 // ... 9 10 onDropdownShow: -> 11 this.$el.toggleClass('open'); 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Page 24: Marionette Behaviors

1 SignInForm = Marionette.ItemView.extend 2 3 behaviors: 4 Overlay: {} 5 6 ui: 7 userNameField: '.username' 8 passwordField: '.password' 9 signinBtn: '.signin' 10 11 events: 12 'click @ui.signinBtn': 'onClickSignin' 13 14 onClickSignin: -> 15 16 17 18 19 20 21 22 23 24 25

Page 25: Marionette Behaviors

1 Dropdown = Marionette.Behavior.extend 2 3 events: 4 'click .button': 'onDropdownShow' 5 6 onDropdownShow: -> 7 this.$el.toggleClass('open');

Page 26: Marionette Behaviors

1 ListView = Marionette.ItemView.extend 2 3 events: 4 'click .option': 'onClickOption' 5 'click .button': 'onDropdownShow' 6 7 onClickOption: (e) -> 8 // ... 9 10 onDropdownShow: -> 11 this.$el.toggleClass('open'); 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Page 27: Marionette Behaviors

1 ListView = Marionette.ItemView.extend 2 3 events: 4 'click .option': 'onClickOption' 5 6 onClickOption: (e) -> 7 // ... 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Page 28: Marionette Behaviors

1 ListView = Marionette.ItemView.extend 2 3 behaviors: 4 Dropdown: {} 5 6 events: 7 'click .option': 'onClickOption' 8 9 onClickOption: (e) -> 10 // ... 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Page 29: Marionette Behaviors

1 ListView = Marionette.ItemView.extend 2 3 behaviors: 4 Dropdown: {} 5 HotKeys: {} 6 7 events: 8 'click .option': 'onClickOption' 9 10 keyPresses: 11 'up': 'goUp' 12 'down': 'goDown' 13 'enter': 'onEnter' 14 15 onClickOption: (e) -> 16 17 goUp: -> 18 19 goDown: -> 20 21 onEnter: -> 22 23 24 25

Page 30: Marionette Behaviors

Pizza

Burritos

Sushi

Paninis

Food

Page 31: Marionette Behaviors

The Marionette Hunter

$150.00 1x

Page 32: Marionette Behaviors

The Marionette Hunter $$$

$150.00 1x

Page 33: Marionette Behaviors

The Marionette Hunter $$$

$150.00 1x

Page 34: Marionette Behaviors

The Marionette Hunter

$150.00 1x

Page 35: Marionette Behaviors

The Marionette Hunter

$150.00 1x

Page 36: Marionette Behaviors

The Marionette alpha Hunter

$150.00 1x

Page 37: Marionette Behaviors

The Marionette alpha Hunter

$150.00 1x

Page 38: Marionette Behaviors

The Marionette alpha Hunter

$150.00 1x

Page 39: Marionette Behaviors

The Marionette alpha Hunter

$150.00 1x

Form State Validation

Tooltipsauto save

Page 40: Marionette Behaviors

Behaviors help organizeevents and actions

Page 41: Marionette Behaviors

Behaviors help organizeevents and actions+ Separation of Concerns

Page 42: Marionette Behaviors

Behaviors help organizeevents and actions+ Separation of Concerns + Unit Tests

Page 43: Marionette Behaviors

Behaviors help organizeevents and actions+ Separation of Concerns + Unit Tests + Style Guide

Page 44: Marionette Behaviors

Behaviors help organizeevents and actions+ Separation of Concerns + Unit Tests + Style Guide + Complex Interactions

Page 45: Marionette Behaviors

Dropdown Hot Keys Overlays Overlayable

Animations Transitions Validation Error States

Sorting Drag & Drop

Tooltips Disablable

Navigable

… … … …

Auto Save Form State Form State

Nav Bar Cards Tables

Page 46: Marionette Behaviors

Dropdown Hot Keys Overlays Overlayable

Animations Transitions Validation Error States

Sorting Drag & Drop

Tooltips Disablable

Navigable

… … … …

Auto Save Form State Form State

Nav Bar Cards Tables

Page 47: Marionette Behaviors

Dropdown Hot Keys Overlays Overlayable

Animations Transitions Validation Error States

Sorting Drag & Drop

Tooltips Disablable

Navigable

… … … …

Auto Save Form State Form State

Nav Bar Cards Tables

Page 48: Marionette Behaviors

Dropdown Hot Keys Overlays Overlayable

Animations Transitions Validation Error States

Sorting Drag & Drop

Listings

Tooltips Disablable

Navigable

Receipts Carts Convos …

Auto Save Form State Form State

Nav Bar Cards Tables

Page 50: Marionette Behaviors
Page 51: Marionette Behaviors