Class ScriptUtils

java.lang.Object
org.kuali.rice.krad.uif.util.ScriptUtils

public class ScriptUtils extends Object
Utility class for generating JavaScript
Author:
Kuali Rice Team (rice.collab@kuali.org)
  • Constructor Details

    • ScriptUtils

      public ScriptUtils()
  • Method Details

    • translateValue

      public static String translateValue(Object value)
      Translates an Object to a String for representing the given Object as a JavaScript value

      Handles null, List, Map, and Set collections, along with non quoting for numeric and boolean types. Complex types are treated as a String value using toString

      Parameters:
      value - Object instance to translate
      Returns:
      JS value
    • toJSON

      public static String toJSON(Map<String,String> map)
      Builds a JSON string form the given map
      Parameters:
      map - map to translate
      Returns:
      String in JSON format
    • escapeJSONString

      public static String escapeJSONString(String jsonString)
      Escapes double quotes present in the given string
      Parameters:
      jsonString - string to escape
      Returns:
      escaped string
    • convertToJsValue

      public static String convertToJsValue(Map<String,String> stringMap)
      Converts a map of string values to a json equivalent by converting the string values through the convertToJsValue(String) method; this will output a string representation of the map in json format
      Parameters:
      stringMap - the map of String values to convert to a simple json object representation
      Returns:
      the json object as a string (for use in js)
    • convertToJsValue

      public static String convertToJsValue(String value)
      Convert a string to a javascript value - especially for use for options used to initialize widgets such as the tree and rich table
      Parameters:
      value - the string to be converted
      Returns:
      the converted value
    • escapeName

      public static String escapeName(String name)
      Escapes the ' character present in collection names so it can be properly used in js without causing javascript errors due to an early completion of a ' string.
      Parameters:
      name - name to escape
      Returns:
      name, with single quotes escape
    • convertStringListToJsArray

      public static String convertStringListToJsArray(List<String> list)
      Converts a list of string to a valid js string array
      Parameters:
      list - list of Strings to be converted
      Returns:
      String representing the js array
    • escapeHtml

      public static String escapeHtml(String string)
      escapes a string using StringEscapeUtils.escapeHtml(String)

      The apostrophe character is included as StringEscapeUtils#escapeHtml(String) does not consider it a legal entity.

      Parameters:
      string - the string to be escaped
      Returns:
      the escaped string - useful for embedding in server side generated JS scripts
    • escapeHtml

      public static List<String> escapeHtml(List<String> strings)
      escape an array of strings
      Parameters:
      strings - an array of strings to escape
      Returns:
      the array, with the strings escaped
    • appendScript

      public static String appendScript(String script, String appendScript)
      Will append the second script parameter to the first if the first is not empty, also checks to see if the first script needs an end semi-colon added
      Parameters:
      script - script that will be added to (null is allowed and converted to empty string)
      appendScript - script to append
      Returns:
      String result of appending the two script parameters
    • buildFunctionCall

      public static String buildFunctionCall(String functionName, Object... arguments)
      Helper method to build a JS string that will invoke the given function with the given arguments
      Parameters:
      functionName - name of the JS function to invoke
      arguments - zero or more arguments to pass, each will be converted to the corresponding JS type
      Returns:
      JS String for invoking the function
    • buildEventHandlerScript

      public static String buildEventHandlerScript(String id, String eventName, String eventScript)
      Builds the JavaScript string for binding the given script to the component with the given id for the given event name (using jQuery)
      Parameters:
      id - id of the element to handle the event for
      eventName - name of the event the script will handle
      eventScript - script to be executed when the event is thrown, if blank an empty string will be returned
      Returns:
      JS event handler script