SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
Conditional Logic,
Variables, & Raised Events
  Presented by Loren Baxter & Fred Beecher
Conditional Logic: WTF is it?

  Conditional logic allows you to prototype dynamic
interactions that respond to user input and actions in
                       real time.
WTF do you use it for?
 Forms                            Streamlining Prototypes

  •   Dynamic feedback             •   Reducing the number of
      messages                         dynamic panels/states
                                       required to prototype
  •   Conditional visibility of        advanced interactions
      functionality

  •   In-field labels               •   Dynamically configuring
                                       navigation masters that
 Advanced Interactions                 appear on all pages

  •   Predictive search            •   Dynamically supporting
                                       different functionality for
  •   Faceted browsing                 different logins (user types)

  •   Filtering & sorting

  •   Personalization
Variables: Isn’t that programming?


 Variables allow you to remember data entered or
selections made by users on one page and use it on
                 one or more pages
Stuff you can do with variables
  •   Store & display usernames       •   Use a shipping address
                                          entered on one page as a
  •   Store states, e.g., whether a       billing address on another
      user is logged in or not            page
  •   Store user types to control
                                      •   Keep track of which pages
      what features are displayed         have been visited during a
  •   Display the selected option         session
      of a dropdown from one
      page within the text of         •   Store user preferences to
                                          mimic sessions
      another page
Raised events? Okay, seriously.

Raised events allow you to create custom interactions
attached to different instances of the same master...

   and if you understand any of that we’re very
impressed and think that you should give the rest of
                     this talk.

   Seriously though.We’ll explain for real. Promise.
Conditional Logic
How to create conditions
You can create one condition per case. Multiple conditions on the
same interaction require multiple cases.
 1. Double-click any interaction to create a new case
 2. Click on “Add Condition” at the top of the case properties dialog
 3. Use the Condition Builder dialog to specify the components of your
    condition
 4. Choose to match all components or any component
Conditions can be set on...
•   The value of a variable
•   Whether a given checkbox or radio button is selected
•   The current selection(s) in drop lists and list boxes
•   Text displayed in a text field or text area
•   The currently displayed state of a dynamic panel (awesome!)
•   Whether a dynamic panel is currently visible (super awesome!)
•   The number of characters in a text field or area (weird but useful)
•   The number of characters in a variable (weird but occasionally useful)
Enough talk! Let’s do stuff!
Login form with feedback
1. Create dynamic panels for each field, with
   one state per error message

2. Set the panels to hidden

3. Add a case for each possible error to the
   OnClick interaction on the Login button, plus
   one for no error

4. If there is an error, change the state of the
   appropriate panel to the appropriate state

Wait... what if I want to display multiple errors at
once?

   We’ll talk about that in the Logic Tricks section
                     coming up.
A little more complex this time...
Login form w/inline validation
1. Create the firsrt field and validation panel.

2. Create all the states of the validation panel.

3. Set up OnLostFocus logic on the first field.

4. Repeat for each new field, including case
   specific errors and logic.

5. Set up logic on submit button.appropriate
   panel to the appropriate state
Conditional Logic Tricks
•   Executing more than one case at a time
•   Choosing which case to execute dynamically
•   Affecting the logic in the OnPageLoad interaction of a master through
    the OnPageLoad interaction of the pages they’re assigned to
Executing Multiple Cases
                Multiple file upload with
                feedback
                1. Create the first file upload field in a dynamic
                   panel.

                2. Create all states for the DP.

                3. Set up the "Browse File" interaction to place
                   text in the field.

                4. Copy the DP a few times, update all labels
                   and values (there are more than you think!)

                5. Set the Upload button to check each field for
                   text and set panel states accordingly. Be sure
                   to change ELSE IF to IF.
Letting the User Choose
               Choosing cases manually
               1. Create the "Weather" panel with empty, day,
                  and night states.

               2. Place the "Check Weather" button.

               3. Create two onclick cases for the button, label
                  each one.

               4. Be sure not to set any conditions.
Variables
Variables let you do 3 things
1. Store a text value
2. Read that value
3. Check how many characters the value is


             But before you do anything, you need to create them!
How to create variables
There are two ways...
 1. Go to Wireframe > Manage Variables or
 2. Click on “Add New...” at the bottom of the variable list on the
    Condition Builder dialog or the Set Variable dialog




Variable names must contain 25 characters or less and be alphanumeric
Variables have issues, just like us
 Issues                             Solutions

  •   Internet Explorer chokes if    •   Don’t use IE, or...
      you use too many variables
                                     •   Limit yourself to 25
                                         variables

  •   Navigating through your        •   You can’t do much about
      prototype with the                 this other than be aware of
      generated site map clears          it if your prototype starts
      variable values                    having problems

  •   Variable values can stick      •   Add a hidden button on the
      around between user tests          first page of your prototype
                                         that does nothing but set all
                                         variable values to blank
Enough talk! Let’s do stuff!
Persistent font size selector
1. Create the page structure and fill in
   homepage.

2. Create a DP that contains the diff font sizes.

3. Set up the font size buttons to change the
   DP and set the FontSize variable.

4. Use onPageLoad to set the proper DP state.

5. Make the Article pages similarly and link it all
   together.
Telling people who they are
Persistent username display
1. Create the login UI

2. Make clicking the Log In button store the
   username in a variable and go to another
   page.

3. Create a master with a text panel that will
   display the username

4. Assign that master to every page

5. On OnPageLoad of the master, make it so
   the text panel shows the username if the
   username variable isn't blank
Variable Tricks
•   Inserting variable text into text panels, fields, & areas
•   Recursively inserting variable text into text panels, fields, & areas
•   “Borrowing” variables temporarily
•   Affecting the logic in the OnPageLoad interaction of a master through
    the OnPageLoad interaction of the pages they’re assigned to


         Make sure to check out Loren & Jeff ’s Tips & Tricks panel for
                        INSANE variable weirdness!
Getting Fancier with Variables
Entering a pin via keypad
1. Create the keypad and textfield.

2. Set up the CurrentDigits variable.

3. Create the button logic:

  •   Check for four digits

  •   Insert the new digit

  •   Check for success condition

4. Copy the logic to each button, update the
   specifics.
OnPageLoad Order
•   Masters have OnPageLoad too!
•   When a page loads, the page’s OnPageLoad interaction is executed
    before the OnPageLoad of any masters on the page
•   This lets you streamline dynamic prototypes by allowing you to put
    complex logic & cases on a master once rather than on multiple pages


Okay, so how?
1. On master OnPageLoads, create conditions based on the value of a
   variable
2. On page OnPageLoads, set the value of the variable that master
   OnPageLoads are evaluating
OnPageLoad Order - Example
OnPageLoad - Master   Static accordion navigation
                      1. Create a side-nav master composed of one
                         single-state dynamic panel per main nav item
                      2. Add a transparent rectangle with the link
                         text to the panel state (define selected style)
                      3. Create a second panel & add the sub-
                         navigation links to it & set it to hidden
                      4. Create a variable called NavVar
                      5. Add one case for each main nav item to the
                         master’s OnPageLoad interaction
                      6. Make each case conditional on a different
                         value of NavVar
                      7. On each case, set it to make the nav link
OnPageLoad - Page        selected, show the subnav panel, & move the
                         panels below it down
                      8. Set the appropriate value of NavVar on each
                         page’s OnPageLoad interaction
Raised Events
Crappy name, awesome feature
Raised events allow you to make masters that can affect objects
outside of them through custom interactions
Part 1: Raise an event                             Interactions Pane - Widget on Master

1. Add the “Raise Event” action to any
   interaction on a widget within a master

2. Add an event, paying attention to syntax, and
   select it

Part 2: Use the custom interaction                 Interactions Pane - Master Instance

1. Drag an instance of the master to a page and
   select it

2. Check out the interactions pane... the event
   you raised shows up as an interaction!

3. Assign actions to the interaction like normal
Uses for raising events
1. Re-using interactive functionality that needs to affect widgets outside
   itself
2. Re-using interactive functionality that needs to work slightly
   differently in each instance
3. Creating & maintaining a tightly controlled pattern library
Faceted Navigation
Facet Master & Item List   1. Create a master composed of one single-
                              state dynamic panel per facet
                           2. Add a transparent rectangle with the link
                              text to the panel state (define selected style)
                           3. Create a second panel with enough states to
                              accommodate all values that can be selected.
                              Add value links to the default state.
                           4. Add the Raise Event action to EVERY value
                              link
                           5. Add actions for affecting the facets to
                              appropriate value links (setting panel states,
                              moving panels, hiding, toggling selected)
                           6. Add Facets master to a page
                           7. Create a results list dynamic panel
                           8. Assign Set Panel State actions to the raised
                              events to allow choosing a facet value to
                              switch the state of the results panel
Loren Baxter            Fred Beecher
loren.baxter@gmail.com   fbeecher@gmail.com
    @lorenbaxter           @fred_beecher

Contenu connexe

Tendances

Efficient Teams Do Not Happen. They are Designed. It's called DesignOps
Efficient Teams Do Not Happen. They are Designed. It's called DesignOpsEfficient Teams Do Not Happen. They are Designed. It's called DesignOps
Efficient Teams Do Not Happen. They are Designed. It's called DesignOpsPatrizia Bertini
 
Introduction to Enterprise architecture and the steps to perform an Enterpris...
Introduction to Enterprise architecture and the steps to perform an Enterpris...Introduction to Enterprise architecture and the steps to perform an Enterpris...
Introduction to Enterprise architecture and the steps to perform an Enterpris...Prashanth Panduranga
 
Understanding and Applying The Open Group Architecture Framework (TOGAF)
Understanding and Applying The Open Group Architecture Framework (TOGAF)Understanding and Applying The Open Group Architecture Framework (TOGAF)
Understanding and Applying The Open Group Architecture Framework (TOGAF)Nathaniel Palmer
 
UX STRAT USA 2021: Calvin Robertson, Best Buy
UX STRAT USA 2021: Calvin Robertson, Best BuyUX STRAT USA 2021: Calvin Robertson, Best Buy
UX STRAT USA 2021: Calvin Robertson, Best BuyUX STRAT
 
Aligning business and tech thru capabilities - A capstera thought paper
Aligning business and tech thru capabilities  - A capstera thought paperAligning business and tech thru capabilities  - A capstera thought paper
Aligning business and tech thru capabilities - A capstera thought paperSatyaIluri
 
Implementing Effective Enterprise Architecture
Implementing Effective Enterprise ArchitectureImplementing Effective Enterprise Architecture
Implementing Effective Enterprise ArchitectureLeo Shuster
 
Implementing a Design System in a Small Team by SnapTravel
Implementing a Design System in a Small Team by SnapTravelImplementing a Design System in a Small Team by SnapTravel
Implementing a Design System in a Small Team by SnapTravelProduct School
 
From Design Thinking to Design Doing
From Design Thinking to Design Doing From Design Thinking to Design Doing
From Design Thinking to Design Doing Intuit Inc.
 
The Role of Project Manager in Modern Agile Projects
The Role of Project Manager in Modern Agile ProjectsThe Role of Project Manager in Modern Agile Projects
The Role of Project Manager in Modern Agile ProjectsVersionOne
 
How to Speak the Language of Application Architecture
How to Speak the Language of Application ArchitectureHow to Speak the Language of Application Architecture
How to Speak the Language of Application ArchitectureBrad Beiermann
 
IT architecture and architects
IT architecture and architectsIT architecture and architects
IT architecture and architectsAndre Dovgal
 
Building a Mature Design System
Building a Mature Design SystemBuilding a Mature Design System
Building a Mature Design SystemDrew Burdick
 
BABOK V3.0 - Requirements States Diagram
BABOK V3.0 - Requirements States DiagramBABOK V3.0 - Requirements States Diagram
BABOK V3.0 - Requirements States Diagramamorshed
 
The ArchiMate Language for Enterprise and Solution Architecture
The ArchiMate Language for Enterprise and Solution ArchitectureThe ArchiMate Language for Enterprise and Solution Architecture
The ArchiMate Language for Enterprise and Solution ArchitectureIver Band
 
Chapter 1,2,3,4 notes
Chapter 1,2,3,4 notesChapter 1,2,3,4 notes
Chapter 1,2,3,4 notesAruna M
 
Design de Serviço, Inovação e UX
Design de Serviço, Inovação e UXDesign de Serviço, Inovação e UX
Design de Serviço, Inovação e UXHeller de Paula
 
Valuing Design & DesignOps Practice
Valuing Design & DesignOps PracticeValuing Design & DesignOps Practice
Valuing Design & DesignOps PracticeDave Malouf
 
Cascada vs Agile Scrum v2.0
Cascada vs Agile Scrum v2.0Cascada vs Agile Scrum v2.0
Cascada vs Agile Scrum v2.0TestingBaires
 
Design in Tech Report 2018
Design in Tech Report 2018Design in Tech Report 2018
Design in Tech Report 2018John Maeda
 

Tendances (20)

Efficient Teams Do Not Happen. They are Designed. It's called DesignOps
Efficient Teams Do Not Happen. They are Designed. It's called DesignOpsEfficient Teams Do Not Happen. They are Designed. It's called DesignOps
Efficient Teams Do Not Happen. They are Designed. It's called DesignOps
 
Introduction to Enterprise architecture and the steps to perform an Enterpris...
Introduction to Enterprise architecture and the steps to perform an Enterpris...Introduction to Enterprise architecture and the steps to perform an Enterpris...
Introduction to Enterprise architecture and the steps to perform an Enterpris...
 
Understanding and Applying The Open Group Architecture Framework (TOGAF)
Understanding and Applying The Open Group Architecture Framework (TOGAF)Understanding and Applying The Open Group Architecture Framework (TOGAF)
Understanding and Applying The Open Group Architecture Framework (TOGAF)
 
UX STRAT USA 2021: Calvin Robertson, Best Buy
UX STRAT USA 2021: Calvin Robertson, Best BuyUX STRAT USA 2021: Calvin Robertson, Best Buy
UX STRAT USA 2021: Calvin Robertson, Best Buy
 
Aligning business and tech thru capabilities - A capstera thought paper
Aligning business and tech thru capabilities  - A capstera thought paperAligning business and tech thru capabilities  - A capstera thought paper
Aligning business and tech thru capabilities - A capstera thought paper
 
Implementing Effective Enterprise Architecture
Implementing Effective Enterprise ArchitectureImplementing Effective Enterprise Architecture
Implementing Effective Enterprise Architecture
 
Implementing a Design System in a Small Team by SnapTravel
Implementing a Design System in a Small Team by SnapTravelImplementing a Design System in a Small Team by SnapTravel
Implementing a Design System in a Small Team by SnapTravel
 
MAPPING TOGAF® ADM AND AGILE APPROACH
MAPPING TOGAF® ADM AND AGILE APPROACHMAPPING TOGAF® ADM AND AGILE APPROACH
MAPPING TOGAF® ADM AND AGILE APPROACH
 
From Design Thinking to Design Doing
From Design Thinking to Design Doing From Design Thinking to Design Doing
From Design Thinking to Design Doing
 
The Role of Project Manager in Modern Agile Projects
The Role of Project Manager in Modern Agile ProjectsThe Role of Project Manager in Modern Agile Projects
The Role of Project Manager in Modern Agile Projects
 
How to Speak the Language of Application Architecture
How to Speak the Language of Application ArchitectureHow to Speak the Language of Application Architecture
How to Speak the Language of Application Architecture
 
IT architecture and architects
IT architecture and architectsIT architecture and architects
IT architecture and architects
 
Building a Mature Design System
Building a Mature Design SystemBuilding a Mature Design System
Building a Mature Design System
 
BABOK V3.0 - Requirements States Diagram
BABOK V3.0 - Requirements States DiagramBABOK V3.0 - Requirements States Diagram
BABOK V3.0 - Requirements States Diagram
 
The ArchiMate Language for Enterprise and Solution Architecture
The ArchiMate Language for Enterprise and Solution ArchitectureThe ArchiMate Language for Enterprise and Solution Architecture
The ArchiMate Language for Enterprise and Solution Architecture
 
Chapter 1,2,3,4 notes
Chapter 1,2,3,4 notesChapter 1,2,3,4 notes
Chapter 1,2,3,4 notes
 
Design de Serviço, Inovação e UX
Design de Serviço, Inovação e UXDesign de Serviço, Inovação e UX
Design de Serviço, Inovação e UX
 
Valuing Design & DesignOps Practice
Valuing Design & DesignOps PracticeValuing Design & DesignOps Practice
Valuing Design & DesignOps Practice
 
Cascada vs Agile Scrum v2.0
Cascada vs Agile Scrum v2.0Cascada vs Agile Scrum v2.0
Cascada vs Agile Scrum v2.0
 
Design in Tech Report 2018
Design in Tech Report 2018Design in Tech Report 2018
Design in Tech Report 2018
 

En vedette

Axure Predictive Search Demo
Axure Predictive Search DemoAxure Predictive Search Demo
Axure Predictive Search DemoJonathan Lupo
 
How to fake a database/backend in Axure... and more
How to fake a database/backend in Axure... and moreHow to fake a database/backend in Axure... and more
How to fake a database/backend in Axure... and moreSandra González
 
How to Extend Axure's Animation Capability
How to Extend Axure's Animation CapabilityHow to Extend Axure's Animation Capability
How to Extend Axure's Animation CapabilitySvetlin Denkov
 
Managing Visual Design in Axure
Managing Visual Design in AxureManaging Visual Design in Axure
Managing Visual Design in AxureFred Beecher
 
Level-Up Your Axure Skills: A Deep Dive into the Prototyping Powerhouse
Level-Up Your Axure Skills: A Deep Dive into the Prototyping PowerhouseLevel-Up Your Axure Skills: A Deep Dive into the Prototyping Powerhouse
Level-Up Your Axure Skills: A Deep Dive into the Prototyping PowerhouseDaniel Newman
 
Prototyping invision vs axure
Prototyping invision vs axurePrototyping invision vs axure
Prototyping invision vs axureAndrii Rusakov
 
Card sorting exercise
Card sorting exerciseCard sorting exercise
Card sorting exerciseHiraminDallas
 
Axure for dummies, that don't even know they are
Axure for dummies, that don't even know they areAxure for dummies, that don't even know they are
Axure for dummies, that don't even know they areOscar Gonzalez Garza
 
Sorting Things Out: An Introduction to Card Sorting
Sorting Things Out: An Introduction to Card SortingSorting Things Out: An Introduction to Card Sorting
Sorting Things Out: An Introduction to Card SortingStephen Anderson
 
Guerilla Usability Testing
Guerilla Usability TestingGuerilla Usability Testing
Guerilla Usability TestingAndy Budd
 
Django - Framework web para perfeccionistas com prazos
Django - Framework web para perfeccionistas com prazosDjango - Framework web para perfeccionistas com prazos
Django - Framework web para perfeccionistas com prazosIgor Sobreira
 
advance auto parts 2004_ar
advance auto parts 2004_aradvance auto parts 2004_ar
advance auto parts 2004_arfinance48
 
Rx for Ad Agencies Suffering From Direct, Digital and Social Media Confusion...
Rx for Ad Agencies Suffering From Direct,  Digital and Social Media Confusion...Rx for Ad Agencies Suffering From Direct,  Digital and Social Media Confusion...
Rx for Ad Agencies Suffering From Direct, Digital and Social Media Confusion...Clive Maclean
 
Fetish Furniture Portfolio
Fetish Furniture  PortfolioFetish Furniture  Portfolio
Fetish Furniture PortfolioCharles Powers
 
omnicare annual reports 1999
omnicare annual reports 1999omnicare annual reports 1999
omnicare annual reports 1999finance46
 
SPrOokjes Aoc Terra 05042011
SPrOokjes Aoc Terra 05042011SPrOokjes Aoc Terra 05042011
SPrOokjes Aoc Terra 05042011Johan Lapidaire
 
liz claiborne CodeofEthicsandBusinessPractices2003
liz claiborne CodeofEthicsandBusinessPractices2003liz claiborne CodeofEthicsandBusinessPractices2003
liz claiborne CodeofEthicsandBusinessPractices2003finance48
 

En vedette (20)

Axure Predictive Search Demo
Axure Predictive Search DemoAxure Predictive Search Demo
Axure Predictive Search Demo
 
How to fake a database/backend in Axure... and more
How to fake a database/backend in Axure... and moreHow to fake a database/backend in Axure... and more
How to fake a database/backend in Axure... and more
 
How to Extend Axure's Animation Capability
How to Extend Axure's Animation CapabilityHow to Extend Axure's Animation Capability
How to Extend Axure's Animation Capability
 
Managing Visual Design in Axure
Managing Visual Design in AxureManaging Visual Design in Axure
Managing Visual Design in Axure
 
Level-Up Your Axure Skills: A Deep Dive into the Prototyping Powerhouse
Level-Up Your Axure Skills: A Deep Dive into the Prototyping PowerhouseLevel-Up Your Axure Skills: A Deep Dive into the Prototyping Powerhouse
Level-Up Your Axure Skills: A Deep Dive into the Prototyping Powerhouse
 
Prototyping invision vs axure
Prototyping invision vs axurePrototyping invision vs axure
Prototyping invision vs axure
 
Card sorting exercise
Card sorting exerciseCard sorting exercise
Card sorting exercise
 
Axure for dummies, that don't even know they are
Axure for dummies, that don't even know they areAxure for dummies, that don't even know they are
Axure for dummies, that don't even know they are
 
Sorting Things Out: An Introduction to Card Sorting
Sorting Things Out: An Introduction to Card SortingSorting Things Out: An Introduction to Card Sorting
Sorting Things Out: An Introduction to Card Sorting
 
Guerilla Usability Testing
Guerilla Usability TestingGuerilla Usability Testing
Guerilla Usability Testing
 
Tootsie
TootsieTootsie
Tootsie
 
Django - Framework web para perfeccionistas com prazos
Django - Framework web para perfeccionistas com prazosDjango - Framework web para perfeccionistas com prazos
Django - Framework web para perfeccionistas com prazos
 
advance auto parts 2004_ar
advance auto parts 2004_aradvance auto parts 2004_ar
advance auto parts 2004_ar
 
Rx for Ad Agencies Suffering From Direct, Digital and Social Media Confusion...
Rx for Ad Agencies Suffering From Direct,  Digital and Social Media Confusion...Rx for Ad Agencies Suffering From Direct,  Digital and Social Media Confusion...
Rx for Ad Agencies Suffering From Direct, Digital and Social Media Confusion...
 
Fetish Furniture Portfolio
Fetish Furniture  PortfolioFetish Furniture  Portfolio
Fetish Furniture Portfolio
 
jose juan
jose juanjose juan
jose juan
 
omnicare annual reports 1999
omnicare annual reports 1999omnicare annual reports 1999
omnicare annual reports 1999
 
SPrOokjes Aoc Terra 05042011
SPrOokjes Aoc Terra 05042011SPrOokjes Aoc Terra 05042011
SPrOokjes Aoc Terra 05042011
 
Development and Testing of a Conceptual Framework for Asking about Intoxication
Development and Testing of a Conceptual Framework for Asking about IntoxicationDevelopment and Testing of a Conceptual Framework for Asking about Intoxication
Development and Testing of a Conceptual Framework for Asking about Intoxication
 
liz claiborne CodeofEthicsandBusinessPractices2003
liz claiborne CodeofEthicsandBusinessPractices2003liz claiborne CodeofEthicsandBusinessPractices2003
liz claiborne CodeofEthicsandBusinessPractices2003
 

Similaire à Conditional Logic, Variables, & Raised Events in Axure

Axure rp 6.5 教育訓練 day2
Axure rp 6.5 教育訓練 day2Axure rp 6.5 教育訓練 day2
Axure rp 6.5 教育訓練 day2Tim Huang
 
Win8 development lessons learned jayway
Win8 development lessons learned jaywayWin8 development lessons learned jayway
Win8 development lessons learned jaywayAndreas Hammar
 
5 free tools for web accessibility testing
5 free tools for web accessibility testing5 free tools for web accessibility testing
5 free tools for web accessibility testingJohn McNabb
 
Beginning jQuery Mobile
Beginning jQuery MobileBeginning jQuery Mobile
Beginning jQuery MobileTroy Miles
 
Hsc IT Chap 3. Advanced javascript-1.pdf
Hsc IT Chap 3. Advanced javascript-1.pdfHsc IT Chap 3. Advanced javascript-1.pdf
Hsc IT Chap 3. Advanced javascript-1.pdfAAFREEN SHAIKH
 
WPF (Windows Presentation Foundation Unit 01)
WPF (Windows Presentation Foundation Unit 01)WPF (Windows Presentation Foundation Unit 01)
WPF (Windows Presentation Foundation Unit 01)Prashanth Shivakumar
 
Visual Basic IDE Introduction
Visual Basic IDE IntroductionVisual Basic IDE Introduction
Visual Basic IDE IntroductionAhllen Javier
 
Visual Basic IDE Intro.pdf
Visual Basic IDE Intro.pdfVisual Basic IDE Intro.pdf
Visual Basic IDE Intro.pdfsheenmarie0212
 
React learning in the hard way
React   learning in the hard wayReact   learning in the hard way
React learning in the hard wayChen Feldman
 
React more than just components
React   more than just componentsReact   more than just components
React more than just componentsChen Feldman
 
Intro to Axure 7 - User Vision Breakfast Briefing
Intro to Axure 7 - User Vision Breakfast BriefingIntro to Axure 7 - User Vision Breakfast Briefing
Intro to Axure 7 - User Vision Breakfast BriefingStephen Denning
 
Axure 7 breakfast briefing slides
Axure 7 breakfast briefing slidesAxure 7 breakfast briefing slides
Axure 7 breakfast briefing slidesUser Vision
 
Javascript spaghetti stirtrek_5_17
Javascript  spaghetti stirtrek_5_17Javascript  spaghetti stirtrek_5_17
Javascript spaghetti stirtrek_5_17Jared Faris
 
Better Page Object Handling with Loadable Component Pattern
Better Page Object Handling with Loadable Component PatternBetter Page Object Handling with Loadable Component Pattern
Better Page Object Handling with Loadable Component PatternSargis Sargsyan
 
Fm pro migrator quickeys installation
Fm pro migrator quickeys installationFm pro migrator quickeys installation
Fm pro migrator quickeys installationfmcloud
 
Getting Started with Selenium
Getting Started with SeleniumGetting Started with Selenium
Getting Started with SeleniumDave Haeffner
 

Similaire à Conditional Logic, Variables, & Raised Events in Axure (20)

Axure rp 6.5 教育訓練 day2
Axure rp 6.5 教育訓練 day2Axure rp 6.5 教育訓練 day2
Axure rp 6.5 教育訓練 day2
 
Win8 development lessons learned jayway
Win8 development lessons learned jaywayWin8 development lessons learned jayway
Win8 development lessons learned jayway
 
5 free tools for web accessibility testing
5 free tools for web accessibility testing5 free tools for web accessibility testing
5 free tools for web accessibility testing
 
Beginning jQuery Mobile
Beginning jQuery MobileBeginning jQuery Mobile
Beginning jQuery Mobile
 
Hsc IT Chap 3. Advanced javascript-1.pdf
Hsc IT Chap 3. Advanced javascript-1.pdfHsc IT Chap 3. Advanced javascript-1.pdf
Hsc IT Chap 3. Advanced javascript-1.pdf
 
Unit2
Unit2Unit2
Unit2
 
WPF (Windows Presentation Foundation Unit 01)
WPF (Windows Presentation Foundation Unit 01)WPF (Windows Presentation Foundation Unit 01)
WPF (Windows Presentation Foundation Unit 01)
 
Dreamweaver8
Dreamweaver8Dreamweaver8
Dreamweaver8
 
Visual Basic IDE Introduction
Visual Basic IDE IntroductionVisual Basic IDE Introduction
Visual Basic IDE Introduction
 
Visual Basic IDE Intro.pdf
Visual Basic IDE Intro.pdfVisual Basic IDE Intro.pdf
Visual Basic IDE Intro.pdf
 
React learning in the hard way
React   learning in the hard wayReact   learning in the hard way
React learning in the hard way
 
iOS storyboard
iOS storyboardiOS storyboard
iOS storyboard
 
##dd12 sviluppo mobile XPages
##dd12 sviluppo mobile XPages##dd12 sviluppo mobile XPages
##dd12 sviluppo mobile XPages
 
React more than just components
React   more than just componentsReact   more than just components
React more than just components
 
Intro to Axure 7 - User Vision Breakfast Briefing
Intro to Axure 7 - User Vision Breakfast BriefingIntro to Axure 7 - User Vision Breakfast Briefing
Intro to Axure 7 - User Vision Breakfast Briefing
 
Axure 7 breakfast briefing slides
Axure 7 breakfast briefing slidesAxure 7 breakfast briefing slides
Axure 7 breakfast briefing slides
 
Javascript spaghetti stirtrek_5_17
Javascript  spaghetti stirtrek_5_17Javascript  spaghetti stirtrek_5_17
Javascript spaghetti stirtrek_5_17
 
Better Page Object Handling with Loadable Component Pattern
Better Page Object Handling with Loadable Component PatternBetter Page Object Handling with Loadable Component Pattern
Better Page Object Handling with Loadable Component Pattern
 
Fm pro migrator quickeys installation
Fm pro migrator quickeys installationFm pro migrator quickeys installation
Fm pro migrator quickeys installation
 
Getting Started with Selenium
Getting Started with SeleniumGetting Started with Selenium
Getting Started with Selenium
 

Dernier

怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证eeanqy
 
Abortion pills in Riyadh +966572737505 <> buy cytotec <> unwanted kit Saudi A...
Abortion pills in Riyadh +966572737505 <> buy cytotec <> unwanted kit Saudi A...Abortion pills in Riyadh +966572737505 <> buy cytotec <> unwanted kit Saudi A...
Abortion pills in Riyadh +966572737505 <> buy cytotec <> unwanted kit Saudi A...samsungultra782445
 
ab-initio-training basics and architecture
ab-initio-training basics and architectureab-initio-training basics and architecture
ab-initio-training basics and architecturesaipriyacoool
 
Top profile Call Girls In Mysore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Mysore [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Mysore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Mysore [ 7014168258 ] Call Me For Genuine Models We...gajnagarg
 
poliovirus-190801072449. pptx
poliovirus-190801072449.            pptxpoliovirus-190801072449.            pptx
poliovirus-190801072449. pptxssuser0ad194
 
Just Call Vip call girls Fatehpur Escorts ☎️8617370543 Two shot with one girl...
Just Call Vip call girls Fatehpur Escorts ☎️8617370543 Two shot with one girl...Just Call Vip call girls Fatehpur Escorts ☎️8617370543 Two shot with one girl...
Just Call Vip call girls Fatehpur Escorts ☎️8617370543 Two shot with one girl...Nitya salvi
 
Sweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptxSweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptxbingyichin04
 
Jordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdfJordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdfamanda2495
 
How to Build a Simple Shopify Website
How to Build a Simple Shopify WebsiteHow to Build a Simple Shopify Website
How to Build a Simple Shopify Websitemark11275
 
怎样办理伦敦国王学院毕业证(KCL毕业证书)成绩单留信认证
怎样办理伦敦国王学院毕业证(KCL毕业证书)成绩单留信认证怎样办理伦敦国王学院毕业证(KCL毕业证书)成绩单留信认证
怎样办理伦敦国王学院毕业证(KCL毕业证书)成绩单留信认证eeanqy
 
Madhyamgram \ (Genuine) Escort Service Kolkata | Service-oriented sexy call g...
Madhyamgram \ (Genuine) Escort Service Kolkata | Service-oriented sexy call g...Madhyamgram \ (Genuine) Escort Service Kolkata | Service-oriented sexy call g...
Madhyamgram \ (Genuine) Escort Service Kolkata | Service-oriented sexy call g...HyderabadDolls
 
一比一定(购)卡尔顿大学毕业证(CU毕业证)成绩单学位证
一比一定(购)卡尔顿大学毕业证(CU毕业证)成绩单学位证一比一定(购)卡尔顿大学毕业证(CU毕业证)成绩单学位证
一比一定(购)卡尔顿大学毕业证(CU毕业证)成绩单学位证wpkuukw
 
Eye-Catching Web Design Crafting User Interfaces .docx
Eye-Catching Web Design Crafting User Interfaces .docxEye-Catching Web Design Crafting User Interfaces .docx
Eye-Catching Web Design Crafting User Interfaces .docxMdBokhtiyarHossainNi
 
The hottest UI and UX Design Trends 2024
The hottest UI and UX Design Trends 2024The hottest UI and UX Design Trends 2024
The hottest UI and UX Design Trends 2024Ilham Brata
 
Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...
Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...
Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...sriharipichandi
 
Top profile Call Girls In eluru [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In eluru [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In eluru [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In eluru [ 7014168258 ] Call Me For Genuine Models We ...gajnagarg
 
Lecture 01 Introduction To Multimedia.pptx
Lecture 01 Introduction To Multimedia.pptxLecture 01 Introduction To Multimedia.pptx
Lecture 01 Introduction To Multimedia.pptxShoaibRajper1
 
Independent Escorts Goregaon WhatsApp +91-9930687706, Best Service
Independent Escorts Goregaon WhatsApp +91-9930687706, Best ServiceIndependent Escorts Goregaon WhatsApp +91-9930687706, Best Service
Independent Escorts Goregaon WhatsApp +91-9930687706, Best Servicemeghakumariji156
 
Top profile Call Girls In Sonipat [ 7014168258 ] Call Me For Genuine Models W...
Top profile Call Girls In Sonipat [ 7014168258 ] Call Me For Genuine Models W...Top profile Call Girls In Sonipat [ 7014168258 ] Call Me For Genuine Models W...
Top profile Call Girls In Sonipat [ 7014168258 ] Call Me For Genuine Models W...nirzagarg
 
Call Girls In Ratnagiri Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service En...
Call Girls In Ratnagiri Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service En...Call Girls In Ratnagiri Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service En...
Call Girls In Ratnagiri Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service En...Nitya salvi
 

Dernier (20)

怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
 
Abortion pills in Riyadh +966572737505 <> buy cytotec <> unwanted kit Saudi A...
Abortion pills in Riyadh +966572737505 <> buy cytotec <> unwanted kit Saudi A...Abortion pills in Riyadh +966572737505 <> buy cytotec <> unwanted kit Saudi A...
Abortion pills in Riyadh +966572737505 <> buy cytotec <> unwanted kit Saudi A...
 
ab-initio-training basics and architecture
ab-initio-training basics and architectureab-initio-training basics and architecture
ab-initio-training basics and architecture
 
Top profile Call Girls In Mysore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Mysore [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Mysore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Mysore [ 7014168258 ] Call Me For Genuine Models We...
 
poliovirus-190801072449. pptx
poliovirus-190801072449.            pptxpoliovirus-190801072449.            pptx
poliovirus-190801072449. pptx
 
Just Call Vip call girls Fatehpur Escorts ☎️8617370543 Two shot with one girl...
Just Call Vip call girls Fatehpur Escorts ☎️8617370543 Two shot with one girl...Just Call Vip call girls Fatehpur Escorts ☎️8617370543 Two shot with one girl...
Just Call Vip call girls Fatehpur Escorts ☎️8617370543 Two shot with one girl...
 
Sweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptxSweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptx
 
Jordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdfJordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdf
 
How to Build a Simple Shopify Website
How to Build a Simple Shopify WebsiteHow to Build a Simple Shopify Website
How to Build a Simple Shopify Website
 
怎样办理伦敦国王学院毕业证(KCL毕业证书)成绩单留信认证
怎样办理伦敦国王学院毕业证(KCL毕业证书)成绩单留信认证怎样办理伦敦国王学院毕业证(KCL毕业证书)成绩单留信认证
怎样办理伦敦国王学院毕业证(KCL毕业证书)成绩单留信认证
 
Madhyamgram \ (Genuine) Escort Service Kolkata | Service-oriented sexy call g...
Madhyamgram \ (Genuine) Escort Service Kolkata | Service-oriented sexy call g...Madhyamgram \ (Genuine) Escort Service Kolkata | Service-oriented sexy call g...
Madhyamgram \ (Genuine) Escort Service Kolkata | Service-oriented sexy call g...
 
一比一定(购)卡尔顿大学毕业证(CU毕业证)成绩单学位证
一比一定(购)卡尔顿大学毕业证(CU毕业证)成绩单学位证一比一定(购)卡尔顿大学毕业证(CU毕业证)成绩单学位证
一比一定(购)卡尔顿大学毕业证(CU毕业证)成绩单学位证
 
Eye-Catching Web Design Crafting User Interfaces .docx
Eye-Catching Web Design Crafting User Interfaces .docxEye-Catching Web Design Crafting User Interfaces .docx
Eye-Catching Web Design Crafting User Interfaces .docx
 
The hottest UI and UX Design Trends 2024
The hottest UI and UX Design Trends 2024The hottest UI and UX Design Trends 2024
The hottest UI and UX Design Trends 2024
 
Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...
Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...
Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...
 
Top profile Call Girls In eluru [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In eluru [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In eluru [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In eluru [ 7014168258 ] Call Me For Genuine Models We ...
 
Lecture 01 Introduction To Multimedia.pptx
Lecture 01 Introduction To Multimedia.pptxLecture 01 Introduction To Multimedia.pptx
Lecture 01 Introduction To Multimedia.pptx
 
Independent Escorts Goregaon WhatsApp +91-9930687706, Best Service
Independent Escorts Goregaon WhatsApp +91-9930687706, Best ServiceIndependent Escorts Goregaon WhatsApp +91-9930687706, Best Service
Independent Escorts Goregaon WhatsApp +91-9930687706, Best Service
 
Top profile Call Girls In Sonipat [ 7014168258 ] Call Me For Genuine Models W...
Top profile Call Girls In Sonipat [ 7014168258 ] Call Me For Genuine Models W...Top profile Call Girls In Sonipat [ 7014168258 ] Call Me For Genuine Models W...
Top profile Call Girls In Sonipat [ 7014168258 ] Call Me For Genuine Models W...
 
Call Girls In Ratnagiri Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service En...
Call Girls In Ratnagiri Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service En...Call Girls In Ratnagiri Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service En...
Call Girls In Ratnagiri Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service En...
 

Conditional Logic, Variables, & Raised Events in Axure

  • 1. Conditional Logic, Variables, & Raised Events Presented by Loren Baxter & Fred Beecher
  • 2. Conditional Logic: WTF is it? Conditional logic allows you to prototype dynamic interactions that respond to user input and actions in real time.
  • 3. WTF do you use it for? Forms Streamlining Prototypes • Dynamic feedback • Reducing the number of messages dynamic panels/states required to prototype • Conditional visibility of advanced interactions functionality • In-field labels • Dynamically configuring navigation masters that Advanced Interactions appear on all pages • Predictive search • Dynamically supporting different functionality for • Faceted browsing different logins (user types) • Filtering & sorting • Personalization
  • 4. Variables: Isn’t that programming? Variables allow you to remember data entered or selections made by users on one page and use it on one or more pages
  • 5. Stuff you can do with variables • Store & display usernames • Use a shipping address entered on one page as a • Store states, e.g., whether a billing address on another user is logged in or not page • Store user types to control • Keep track of which pages what features are displayed have been visited during a • Display the selected option session of a dropdown from one page within the text of • Store user preferences to mimic sessions another page
  • 6. Raised events? Okay, seriously. Raised events allow you to create custom interactions attached to different instances of the same master... and if you understand any of that we’re very impressed and think that you should give the rest of this talk. Seriously though.We’ll explain for real. Promise.
  • 8. How to create conditions You can create one condition per case. Multiple conditions on the same interaction require multiple cases. 1. Double-click any interaction to create a new case 2. Click on “Add Condition” at the top of the case properties dialog 3. Use the Condition Builder dialog to specify the components of your condition 4. Choose to match all components or any component
  • 9. Conditions can be set on... • The value of a variable • Whether a given checkbox or radio button is selected • The current selection(s) in drop lists and list boxes • Text displayed in a text field or text area • The currently displayed state of a dynamic panel (awesome!) • Whether a dynamic panel is currently visible (super awesome!) • The number of characters in a text field or area (weird but useful) • The number of characters in a variable (weird but occasionally useful)
  • 10. Enough talk! Let’s do stuff! Login form with feedback 1. Create dynamic panels for each field, with one state per error message 2. Set the panels to hidden 3. Add a case for each possible error to the OnClick interaction on the Login button, plus one for no error 4. If there is an error, change the state of the appropriate panel to the appropriate state Wait... what if I want to display multiple errors at once? We’ll talk about that in the Logic Tricks section coming up.
  • 11. A little more complex this time... Login form w/inline validation 1. Create the firsrt field and validation panel. 2. Create all the states of the validation panel. 3. Set up OnLostFocus logic on the first field. 4. Repeat for each new field, including case specific errors and logic. 5. Set up logic on submit button.appropriate panel to the appropriate state
  • 12. Conditional Logic Tricks • Executing more than one case at a time • Choosing which case to execute dynamically • Affecting the logic in the OnPageLoad interaction of a master through the OnPageLoad interaction of the pages they’re assigned to
  • 13. Executing Multiple Cases Multiple file upload with feedback 1. Create the first file upload field in a dynamic panel. 2. Create all states for the DP. 3. Set up the "Browse File" interaction to place text in the field. 4. Copy the DP a few times, update all labels and values (there are more than you think!) 5. Set the Upload button to check each field for text and set panel states accordingly. Be sure to change ELSE IF to IF.
  • 14. Letting the User Choose Choosing cases manually 1. Create the "Weather" panel with empty, day, and night states. 2. Place the "Check Weather" button. 3. Create two onclick cases for the button, label each one. 4. Be sure not to set any conditions.
  • 16. Variables let you do 3 things 1. Store a text value 2. Read that value 3. Check how many characters the value is But before you do anything, you need to create them!
  • 17. How to create variables There are two ways... 1. Go to Wireframe > Manage Variables or 2. Click on “Add New...” at the bottom of the variable list on the Condition Builder dialog or the Set Variable dialog Variable names must contain 25 characters or less and be alphanumeric
  • 18. Variables have issues, just like us Issues Solutions • Internet Explorer chokes if • Don’t use IE, or... you use too many variables • Limit yourself to 25 variables • Navigating through your • You can’t do much about prototype with the this other than be aware of generated site map clears it if your prototype starts variable values having problems • Variable values can stick • Add a hidden button on the around between user tests first page of your prototype that does nothing but set all variable values to blank
  • 19. Enough talk! Let’s do stuff! Persistent font size selector 1. Create the page structure and fill in homepage. 2. Create a DP that contains the diff font sizes. 3. Set up the font size buttons to change the DP and set the FontSize variable. 4. Use onPageLoad to set the proper DP state. 5. Make the Article pages similarly and link it all together.
  • 20. Telling people who they are Persistent username display 1. Create the login UI 2. Make clicking the Log In button store the username in a variable and go to another page. 3. Create a master with a text panel that will display the username 4. Assign that master to every page 5. On OnPageLoad of the master, make it so the text panel shows the username if the username variable isn't blank
  • 21. Variable Tricks • Inserting variable text into text panels, fields, & areas • Recursively inserting variable text into text panels, fields, & areas • “Borrowing” variables temporarily • Affecting the logic in the OnPageLoad interaction of a master through the OnPageLoad interaction of the pages they’re assigned to Make sure to check out Loren & Jeff ’s Tips & Tricks panel for INSANE variable weirdness!
  • 22. Getting Fancier with Variables Entering a pin via keypad 1. Create the keypad and textfield. 2. Set up the CurrentDigits variable. 3. Create the button logic: • Check for four digits • Insert the new digit • Check for success condition 4. Copy the logic to each button, update the specifics.
  • 23. OnPageLoad Order • Masters have OnPageLoad too! • When a page loads, the page’s OnPageLoad interaction is executed before the OnPageLoad of any masters on the page • This lets you streamline dynamic prototypes by allowing you to put complex logic & cases on a master once rather than on multiple pages Okay, so how? 1. On master OnPageLoads, create conditions based on the value of a variable 2. On page OnPageLoads, set the value of the variable that master OnPageLoads are evaluating
  • 24. OnPageLoad Order - Example OnPageLoad - Master Static accordion navigation 1. Create a side-nav master composed of one single-state dynamic panel per main nav item 2. Add a transparent rectangle with the link text to the panel state (define selected style) 3. Create a second panel & add the sub- navigation links to it & set it to hidden 4. Create a variable called NavVar 5. Add one case for each main nav item to the master’s OnPageLoad interaction 6. Make each case conditional on a different value of NavVar 7. On each case, set it to make the nav link OnPageLoad - Page selected, show the subnav panel, & move the panels below it down 8. Set the appropriate value of NavVar on each page’s OnPageLoad interaction
  • 26. Crappy name, awesome feature Raised events allow you to make masters that can affect objects outside of them through custom interactions Part 1: Raise an event Interactions Pane - Widget on Master 1. Add the “Raise Event” action to any interaction on a widget within a master 2. Add an event, paying attention to syntax, and select it Part 2: Use the custom interaction Interactions Pane - Master Instance 1. Drag an instance of the master to a page and select it 2. Check out the interactions pane... the event you raised shows up as an interaction! 3. Assign actions to the interaction like normal
  • 27. Uses for raising events 1. Re-using interactive functionality that needs to affect widgets outside itself 2. Re-using interactive functionality that needs to work slightly differently in each instance 3. Creating & maintaining a tightly controlled pattern library
  • 28. Faceted Navigation Facet Master & Item List 1. Create a master composed of one single- state dynamic panel per facet 2. Add a transparent rectangle with the link text to the panel state (define selected style) 3. Create a second panel with enough states to accommodate all values that can be selected. Add value links to the default state. 4. Add the Raise Event action to EVERY value link 5. Add actions for affecting the facets to appropriate value links (setting panel states, moving panels, hiding, toggling selected) 6. Add Facets master to a page 7. Create a results list dynamic panel 8. Assign Set Panel State actions to the raised events to allow choosing a facet value to switch the state of the results panel
  • 29. Loren Baxter Fred Beecher loren.baxter@gmail.com fbeecher@gmail.com @lorenbaxter @fred_beecher