Skip to content

Customize and Open a Webview Display Modal on either a touch OSD or a Room Navigator based Button Clicks or Call Disconnects on Cisco Room Devices running RoomOS 10.14 or Newer

License

Notifications You must be signed in to change notification settings

ctg-tme/webview-modal-automated-prompt-macro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

Webview Modal Automated Prompt

About

This macro serves as an example on how you can open up a WebView Modal on the Cisco Room Navigator.

Great starting point when first working with Webview Display APIs.

Features

  • Automatic UI Generation
  • WebView Target Detection
    • Determines whether to show on the OSD or Navigator based on available resources
  • OSD User Tool Tips
  • Simple Configuration
  • Cache Handling

Installation

  • Download a copy of the webview-modal-automated-prompt.js Macro
  • Login into the Web Interface of your Device
  • Navigate to the Macro Editor
  • Select Import from file, and add the webview-modal-automated-prompt.jr file
  • Alter the config object of the Macro
  • Save the Macro
  • Activate the Macro

Use Cases

  • Post Meeting Surveys
  • Service Ticket Portal
  • Ordering Coffee 😅

Configuration

The webview-modal-automated-prompt.js macro has an object near the top of the script. In it, are a few items you can change on the fly to alter the user experience of the Macro. To the right of each nested object is a list of accepted values and a description of each Value

CodeView

const config = {
  WebModal: {
    Title: 'Cisco',                     // AcceptedValues: String || Description: Set a user facing title for the Web Modal
    Url: 'https://cisco.com',           // AcceptedValues: String || Description: Set the URL you want to open
    OSDToolTip: {
      Mode: true,                       // AcceptedValues: Boolean || Description: Enable or Disable the OSD Message. NOTE: Will only show on non-user initiated sequenced like Call Disconnects
      Message: 'Tell us about your experience on the Touch Panel 🙂', // AcceptedValues: String || Description: Edit the On Screen OSD Message
      Duration: 15,                     // AcceptedValues: Integer || Description: Set the Duration of the OSD Message
      Location: 'Top-Right',            // AcceptedValues: 'Top-Right', 'Top-Left', 'Center', 'Bottom-Right', 'Bottom-Left' || Description: Set the Position of the OSD Message
    },
    Triggers: {
      PanelClicked: true,               // AcceptedValues: Boolean || Description: If true, will generate a user facing panel to open the WebModal when clicked
      CallDisconnect: true              // AcceptedValues: Boolean || Description: If true, the WebModal will open when a call disconnects
    },
    ClearCacheOnExit: {
      Mode: false,                      // AcceptedValues: Boolean || Description: Have the Webview Cache Clear when Closed. Note: this could disrupt other web based services
      Target: 'WebApps'                 // AcceptedValues: 'All', 'Signage', 'WebApps', 'PersistentWebApp' || Description: Choose which Cache to Clear
    }
  },
  UserInterface: {
    Panel: {
      Name: 'WebView on Navigator',     // AcceptedValues: String || Description: Set the Name of the Panel
      Location: 'HomeScreen',           // AcceptedValues: 'HomeScreen', 'HomeScreenAndCallControls', 'CallControls', 'Never', 'ControlPanel' || Description: Set the location of the User Interface
      Order: 1,                         // AcceptedValues: Integer || Set the Position where this panel will render amongst other Custom Panels. Does not effect Native Panels
      Icon: {
        Type: 'Blinds',                 // AcceptedValues: Choose an Option from the list Below. Note, Custom expects a the CustomIconURL to be provided
        /*
        "Blinds", "Briefing", "Camera", "Concierge", 
        "Custom", "Disc", "Handset", "Help", "Helpdesk", 
        "Home", "Hvac", "Info", "Input", "Language", 
        "Laptop", "Lightbulb", "Media", "Microphone", 
        "Power", "Proximity", "Record", "Sliders", "Tv"
        */
        Color: 'cf7900',                // AcceptedValues: String || Set a Background Color using a Hexadecimal Value. Does not apply to Custom Icons or Icons located in the Control Panel
        CustomIconURL: 'https://avatars.githubusercontent.com/u/159071680?s=200&v=4' // AcceptedValues: String || Must be a .ico, .jpg or .png file that's between 60x60px to 1200x1200px in size. If the image fails to download, the icon above will be used
      }
    }
  }
}

FAQ

Is this Macro Supported by Cisco TAC?

  • No, all Macros are considered Custom Code by Cisco and are not supported.

About

Customize and Open a Webview Display Modal on either a touch OSD or a Room Navigator based Button Clicks or Call Disconnects on Cisco Room Devices running RoomOS 10.14 or Newer

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published