Switcheroo Documentation

Empower your power users

Overview

Switcheroo is designed to be easily to implement. Giving your users a much better navigation experience should not be a big deal! Simple include the Switcheroo javascript file, and when you have your data in the switcheroo object format create a Switcheroo instance.

Parameter Format

The Switcheroo constructor expects a parameter object, any parameters left unset will be set by default. The format is as follows:

    {
        // Holds the data that will be searched
        data: [],
        // Key bindings for quick open and closing of Switcheroo
        keyBindings: {
            open: ['Control','Shift','F'],
            close: ['Escape']
        },
        // The text labes used within Switcheroo
        text: {
            closeButton: 'Close',
            searchField: 'Start Typing...'
        },
        // Show Switcheroo categories on result
        showCategories: true,
        // Put sorted objects into categorical groups based on category
        prioritizeCategoricalSort: true,
        // Automatically close Switcheroo when a result is selected by the user
        closeOnSelect: true,
        // Specifies whether search results should be case sensitive or not
        caseSensitive: false
    }
                

Data Format

Like the constructor parameters, there is an expected data format, this will not be desigend by default. The format is as follow:

    {
        // Group which the object belongs too
        category: 'friend',
        // Name is the content that will be search against
        name: 'fran',
        // Actions are functions that are called and passed the object that are they contained in.
        action: genericAction
        // Note: adding custom data fields is encouraged
        myCustomProperty: "Fran is the best!"
    }
                

How it all comes together

Once a user has selected a search result that result object is passed to the action function that was included when the Switcheroo instance was created. Having custom functions for different categories or results allows for maximum customization when a result is selected.