v5.20191.606
|

wijmo Module

Contains utilities used by all controls and modules, as well as the Control and Event classes.

Variables

culture

culture: any

Gets or sets an object that contains all localizable strings in the Wijmo library.

The culture selector is a two-letter string that represents an ISO 639 culture.

Functions

addClass

  • addClass(e: Element, className: string): void
  • Adds a class to an element.

    Parameters

    • e: Element

      Element that will have the class added.

    • className: string

      Class (or space-separated list of classes) to add to the element.

    Returns void

animate

  • animate(apply: Function, duration?: number, step?: number): any
  • Calls a function on a timer with a parameter varying between zero and one.

    Use this function to create animations by modifying document properties or styles on a timer.

    For example, the code below changes the opacity of an element from zero to one in one second:

    var element = document.getElementById('someElement');
    animate(function(pct) {
      element.style.opacity = pct;
    }, 1000);

    The function returns an interval ID that you can use to stop the animation. This is typically done when you are starting a new animation and wish to suspend other on-going animations on the same element. For example, the code below keeps track of the interval ID and clears if before starting a new animation:

    var element = document.getElementById('someElement');
    if (this._animInterval) {
      clearInterval(this._animInterval);
    }
    var self = this;
    self._animInterval = animate(function(pct) {
      element.style.opacity = pct;
      if (pct == 1) {
        self._animInterval = null;
      }
    }, 1000);

    Parameters

    • apply: Function

      Callback function that modifies the document. The function takes a single parameter that represents a percentage.

    • Optional duration: number

      The duration of the animation, in milliseconds.

    • Optional step: number

      The interval between animation frames, in milliseconds.

    Returns any

    An interval id that you can use to suspend the animation.

asArray

  • asArray(value: any, nullOK?: boolean): any[]
  • Asserts that a value is an array.

    Parameters

    • value: any

      Value supposed to be an array.

    • Optional nullOK: boolean

      Whether null values are acceptable.

    Returns any[]

    The array passed in.

asBoolean

  • asBoolean(value: boolean, nullOK?: boolean): boolean
  • Asserts that a value is a Boolean.

    Parameters

    • value: boolean

      Value supposed to be Boolean.

    • Optional nullOK: boolean

      Whether null values are acceptable.

    Returns boolean

    The Boolean passed in.

asCollectionView

asDate

  • asDate(value: Date, nullOK?: boolean): Date
  • Asserts that a value is a Date.

    Parameters

    • value: Date

      Value supposed to be a Date.

    • Optional nullOK: boolean

      Whether null values are acceptable.

    Returns Date

    The Date passed in.

asEnum

  • asEnum(value: number, enumType: any, nullOK?: boolean): number
  • Asserts that a value is a valid setting for an enumeration.

    Parameters

    • value: number

      Value supposed to be a member of the enumeration.

    • enumType: any

      Enumeration to test for.

    • Optional nullOK: boolean

      Whether null values are acceptable.

    Returns number

    The value passed in.

asFunction

  • asFunction(value: any, nullOK?: boolean): Function
  • Asserts that a value is a function.

    Parameters

    • value: any

      Value supposed to be a function.

    • Optional nullOK: boolean

      Whether null values are acceptable.

    Returns Function

    The function passed in.

asInt

  • asInt(value: number, nullOK?: boolean, positive?: boolean): number
  • Asserts that a value is an integer.

    Parameters

    • value: number

      Value supposed to be an integer.

    • Optional nullOK: boolean

      Whether null values are acceptable.

    • Optional positive: boolean

      Whether to accept only positive integers.

    Returns number

    The number passed in.

asNumber

  • asNumber(value: number, nullOK?: boolean, positive?: boolean): number
  • Asserts that a value is a number.

    Parameters

    • value: number

      Value supposed to be numeric.

    • Optional nullOK: boolean

      Whether null values are acceptable.

    • Optional positive: boolean

      Whether to accept only positive numeric values.

    Returns number

    The number passed in.

asString

  • asString(value: string, nullOK?: boolean): string
  • Asserts that a value is a string.

    Parameters

    • value: string

      Value supposed to be a string.

    • Optional nullOK: boolean

      Whether null values are acceptable.

    Returns string

    The string passed in.

asType

  • asType(value: any, type: any, nullOK?: boolean): any
  • Asserts that a value is an instance of a given type.

    Parameters

    • value: any

      Value to be checked.

    • type: any

      Type of value expected.

    • Optional nullOK: boolean

      Whether null values are acceptable.

    Returns any

    The value passed in.

assert

  • assert(condition: boolean, msg: string): void
  • Throws an exception if a condition is false.

    Parameters

    • condition: boolean

      Condition expected to be true.

    • msg: string

      Message of the exception if the condition is not true.

    Returns void

changeType

  • changeType(value: any, type: DataType, format?: string): any
  • Changes the type of a value.

    If the conversion fails, the original value is returned. To check if a conversion succeeded, you should check the type of the returned value.

    Parameters

    • value: any

      Value to convert.

    • type: DataType

      DataType to convert the value to.

    • Optional format: string

      Format to use when converting to or from strings.

    Returns any

    The converted value, or the original value if a conversion was not possible.

clamp

  • clamp(value: number, min: number, max: number): number
  • Clamps a value between a minimum and a maximum.

    Parameters

    • value: number

      Original value.

    • min: number

      Minimum allowed value.

    • max: number

      Maximum allowed value.

    Returns number

closest

  • closest(e: any, selector: string): Element
  • Finds the closest ancestor (including the original element) that satisfies a selector.

    Parameters

    • e: any

      Element where the search should start.

    • selector: string

      A string containing a selector expression to match elements against.

    Returns Element

    The closest ancestor that satisfies the selector, or null if not found.

closestClass

  • closestClass(e: any, className: string): Node
  • Finds the closest ancestor (including the original element) that satisfies a class selector.

    Parameters

    • e: any

      Element where the search should start.

    • className: string

      A string containing the class name to match elements against.

    Returns Node

    The closest ancestor that has the specified class name, or null if not found.

contains

  • contains(parent: any, child: any, popup?: boolean): boolean
  • Checks whether an HTML element contains another.

    Parameters

    • parent: any

      Parent element.

    • child: any

      Child element.

    • Optional popup: boolean

      Whether to take Wijmo popups into account.

    Returns boolean

    True if the parent element contains the child element.

copy

  • copy(dst: any, src: any): void
  • Copies properties from an object to another.

    This method is typically used to initialize controls and other Wijmo objects by setting their properties and assigning event handlers.

    The destination object must define all the properties defined in the source, or an error will be thrown.

    Parameters

    • dst: any

      The destination object.

    • src: any

      The source object.

    Returns void

createElement

  • createElement(html: string, appendTo?: HTMLElement): HTMLElement
  • Creates an element from an HTML string.

    Parameters

    • html: string

      HTML fragment to convert into an HTMLElement.

    • Optional appendTo: HTMLElement

      Optional HTMLElement to append the new element to.

    Returns HTMLElement

    The new element.

disableAutoComplete

  • disableAutoComplete(e: HTMLInputElement): void
  • Disables the autocomplete, autocorrect, autocapitalize, and spellcheck properties of an input element.

    Parameters

    • e: HTMLInputElement

      The input element.

    Returns void

enable

  • enable(e: HTMLElement, value: boolean): void
  • Enables or disables an element.

    Parameters

    • e: HTMLElement

      Element to enable or disable.

    • value: boolean

      Whether to enable or disable the element.

    Returns void

escapeHtml

  • escapeHtml(text: string): string
  • Escapes a string by replacing HTML characters with text entities.

    Strings entered by users should always be escaped before they are displayed in HTML pages. This helps ensure page integrity and prevent HTML/javascript injection attacks.

    Parameters

    • text: string

      Text to escape.

    Returns string

    An HTML-escaped version of the original string.

format

  • format(format: string, data: any, formatFunction?: Function): string
  • Replaces each format item in a specified string with the text equivalent of an object's value.

    The function works by replacing parts of the formatString with the pattern '{name:format}' with properties of the data parameter. For example:

    var data = { name: 'Joe', amount: 123456 };
    var msg = wijmo.format('Hello {name}, you won {amount:n2}!', data);
    

    The format function supports pluralization. If the format string is a JSON-encoded object with 'count' and 'when' properties, the method uses the 'count' parameter of the data object to select the appropriate format from the 'when' property. For example:

    var fmt = {
        count: 'count',
        when: {
            0: 'No items selected.',
            1: 'One item is selected.',
            2: 'A pair is selected.',
            'other': '{count:n0} items are selected.'
        }
    }
    fmt = JSON.stringify(fmt);
    console.log(wijmo.format(fmt, { count: 0 })); // No items selected.
    console.log(wijmo.format(fmt, { count: 1 })); // One item is selected.
    console.log(wijmo.format(fmt, { count: 2 })); // A pair is selected.
    console.log(wijmo.format(fmt, { count: 12 })); 12 items are selected.
    

    The optional formatFunction allows you to customize the content by providing context-sensitive formatting. If provided, the format function gets called for each format element and gets passed the data object, the parameter name, the format, and the value; it should return an output string. For example:

    var data = { name: 'Joe', amount: 123456 };
    var msg = wijmo.format('Hello {name}, you won {amount:n2}!', data,
        function (data, name, fmt, val) {
            if (wijmo.isString(data[name])) {
                val = wijmo.escapeHtml(data[name]);
            }
            return val;
        }
    );
    

    Parameters

    • format: string

      A composite format string.

    • data: any

      The data object used to build the string.

    • Optional formatFunction: Function

      An optional function used to format items in context.

    Returns string

    The formatted string.

getActiveElement

  • getActiveElement(): HTMLElement
  • Gets a reference to the element that contains the focus, accounting for shadow document fragments.

    Returns HTMLElement

getAggregate

  • getAggregate(aggType: Aggregate, items: any[], binding?: string): any
  • Calculates an aggregate value from the values in an array.

    Parameters

    • aggType: Aggregate

      Type of aggregate to calculate.

    • items: any[]

      Array with the items to aggregate.

    • Optional binding: string

      Name of the property to aggregate on (in case the items are not simple values).

    Returns any

getElement

  • getElement(selector: any): HTMLElement
  • Gets an element from a query selector.

    Parameters

    • selector: any

      An element, a query selector string, or a jQuery object.

    Returns HTMLElement

getElementRect

  • getElementRect(e: Element): Rect
  • Gets the bounding rectangle of an element in page coordinates.

    This is similar to the getBoundingClientRect function, except that uses viewport coordinates, which change when the document scrolls.

    Parameters

    • e: Element

    Returns Rect

getType

  • Gets the type of a value.

    Parameters

    • value: any

      Value to test.

    Returns DataType

    A DataType value representing the type of the value passed in.

getTypes

  • getTypes(arr: any[]): any[]
  • Gets an array containing the names and types of items in an array.

    Parameters

    • arr: any[]

      Array containing data items.

    Returns any[]

    An array containing objects with the binding and type of each primitive property in the items found in the input array.

getUniqueId

  • getUniqueId(baseId: string): string
  • Creates a new unique id for an element by adding sequential numbers to a given base id.

    Parameters

    • baseId: string

      String to use as a basis for generating the unique id.

    Returns string

getVersion

  • getVersion(): string
  • Gets the version of the Wijmo library that is currently loaded.

    Returns string

hasClass

  • hasClass(e: Element, className: string): boolean
  • Checks whether an element has a class.

    Parameters

    • e: Element

      Element to check.

    • className: string

      Class to check for.

    Returns boolean

hasItems

hidePopup

  • hidePopup(popup: HTMLElement, remove?: any, fadeOut?: boolean): any
  • Hides a popup element previously displayed with the showPopup method.

    Parameters

    • popup: HTMLElement

      Popup element to hide.

    • Optional remove: any

      Whether to remove the popup from the DOM or just to hide it. This parameter may be a boolean or a callback function that gets invoked after the popup has been removed from the DOM.

    • Optional fadeOut: boolean

      Whether to use a fade-out animation to make the popup disappear gradually.

    Returns any

    An interval id that you can use to suspend the fade-out animation.

httpRequest

  • httpRequest(url: string, settings?: any): XMLHttpRequest
  • Performs HTTP requests.

    The settings parameter may contain the following:

    method The HTTP method to use for the request (e.g. "POST", "GET", "PUT"). The default is "GET".
    data Data to be sent to the server. It is appended to the url for GET requests, and converted to a JSON string for other requests.
    async By default, all requests are sent asynchronously (i.e. this is set to true by default). If you need synchronous requests, set this option to false.
    success A function to be called if the request succeeds. The function gets passed a single parameter of type XMLHttpRequest.
    error A function to be called if the request fails. The function gets passed a single parameter of type XMLHttpRequest.
    complete A function to be called when the request finishes (after success and error callbacks are executed). The function gets passed a single parameter of type XMLHttpRequest.
    beforeSend A function to be called immediately before the request us sent. The function gets passed a single parameter of type XMLHttpRequest.
    requestHeaders A JavaScript object containing key/value pairs to be added to the request headers.
    user A username to be used with XMLHttpRequest in response to an HTTP access authentication request.
    password A password to be used with XMLHttpRequest in response to an HTTP access authentication request.

    Use the success to obtain the result of the request which is provided in the callback's XMLHttpRequest parameter. For example, the code below uses the httpRequest method to retrieve a list of customers from an OData service:

    import { httpRequest } from '@grapecity/wijmo';
    httpRequest('http://services.odata.org/Northwind/Northwind.svc/Customers?$format=json', {
      success: function (xhr) {
        var response = JSON.parse(xhr.responseText),
            customers = response.value;
        // do something with the customers...
      }
    });

    Parameters

    • url: string

      String containing the URL to which the request is sent.

    • Optional settings: any

      An optional object used to configure the request.

    Returns XMLHttpRequest

    The XMLHttpRequest object used to perform the request.

isArray

  • isArray(value: any): boolean
  • Determines whether an object is an Array.

    Parameters

    • value: any

      Value to test.

    Returns boolean

isBoolean

  • isBoolean(value: any): boolean
  • Determines whether an object is a Boolean.

    Parameters

    • value: any

      Value to test.

    Returns boolean

isDate

  • isDate(value: any): boolean
  • Determines whether an object is a Date.

    Parameters

    • value: any

      Value to test.

    Returns boolean

isEmpty

  • isEmpty(obj: any): boolean
  • Determines whether an object is empty (contains no enumerable properties).

    Parameters

    • obj: any

      Object to test.

    Returns boolean

isFunction

  • isFunction(value: any): boolean
  • Determines whether an object is a function.

    Parameters

    • value: any

      Value to test.

    Returns boolean

isInt

  • isInt(value: any): boolean
  • Determines whether an object is an integer.

    Parameters

    • value: any

      Value to test.

    Returns boolean

isNullOrWhiteSpace

  • isNullOrWhiteSpace(value: string): boolean
  • Determines whether a string is null, empty, or whitespace only.

    Parameters

    • value: string

      Value to test.

    Returns boolean

isNumber

  • isNumber(value: any): boolean
  • Determines whether an object is a number.

    Parameters

    • value: any

      Value to test.

    Returns boolean

isObject

  • isObject(value: any): boolean
  • Determines whether a value is an object (as opposed to a value type, an array, or a Date).

    Parameters

    • value: any

      Value to test.

    Returns boolean

isPrimitive

  • isPrimitive(value: any): boolean
  • Determines whether an object is a primitive type (string, number, Boolean, or Date).

    Parameters

    • value: any

      Value to test.

    Returns boolean

isString

  • isString(value: any): boolean
  • Determines whether an object is a string.

    Parameters

    • value: any

      Value to test.

    Returns boolean

isUndefined

  • isUndefined(value: any): boolean
  • Determines whether an object is undefined.

    Parameters

    • value: any

      Value to test.

    Returns boolean

mouseToPage

  • mouseToPage(e: any): Point
  • Converts mouse or touch event arguments into a Point in page coordinates.

    Parameters

    • e: any

    Returns Point

moveFocus

  • moveFocus(parent: HTMLElement, offset: number): boolean
  • Moves the focus to the next/previous/first focusable child within a given parent element.

    Parameters

    • parent: HTMLElement

      Parent element.

    • offset: number

      Offset to use when moving the focus (use zero to focus on the first focusable child).

    Returns boolean

    True if the focus was set, false if a focusable element was not found.

removeChild

  • removeChild(e: Node): Node
  • Safely removes an element from the DOM tree.

    Parameters

    • e: Node

      Element to remove from the DOM tree.

    Returns Node

removeClass

  • removeClass(e: Element, className: string): void
  • Removes a class from an element.

    Parameters

    • e: Element

      Element that will have the class removed.

    • className: string

      Class (or space-separated list of classes) to remove from the element.

    Returns void

setAriaLabel

  • setAriaLabel(e: Element, value?: string): void
  • Sets or clears an element's aria-label attribute.

    Parameters

    • e: Element

      Element that will be updated.

    • Optional value: string

      Value of the aria label, or null to remove the label from the element.

    Returns void

setAttribute

  • setAttribute(e: Element, name: string, value?: any, keep?: boolean): void
  • Sets or clears an attribute on an element.

    Parameters

    • e: Element

      Element that will be updated.

    • name: string

      Name of the attribute to add or remove.

    • Optional value: any

      Value of the attribute, or null to remove the attribute from the element.

    • Optional keep: boolean

      Whether to keep original attribute if present.

    Returns void

setCss

  • setCss(e: any, css: any): void
  • Modifies the style of an element by applying the properties specified in an object.

    Parameters

    • e: any

      Element or array of elements whose style will be modified.

    • css: any

      Object containing the style properties to apply to the element.

    Returns void

setLicenseKey

  • setLicenseKey(licenseKey: string): void
  • Sets the license key that identifies licensed Wijmo applications.

    If you do not set the license key, Wijmo will run in evaluation mode, adding a watermark element to the page.

    Licensed users may obtain keys at the My Account section of the Wijmo site.

    Note that Wijmo does not send keys or any licensing information to any servers. It only checks the internal consistency of the key provided.

    Parameters

    • licenseKey: string

      String containing the license key to use in this application.

    Returns void

setSelectionRange

  • setSelectionRange(e: any, start: number, end?: number): boolean
  • Sets the start and end positions of a selection in a text field.

    This method is similar to the native setSelectionRange method in HTMLInputElement objects, except it checks for conditions that may cause exceptions (element not in the DOM, disabled, or hidden).

    Parameters

    • e: any

      HTMLInputElement or HTMLTextAreaElement to select.

    • start: number

      Offset into the text field for the start of the selection.

    • Optional end: number

      Offset into the text field for the end of the selection.

    Returns boolean

setText

  • setText(e: HTMLElement, text: string): void
  • Sets the text content of an element.

    Parameters

    • e: HTMLElement

      Element that will have its content updated.

    • text: string

      Plain text to be assigned to the element.

    Returns void

showPopup

  • showPopup(popup: HTMLElement, ref?: any, above?: boolean, fadeIn?: boolean, copyStyles?: any): any
  • Shows an element as a popup.

    The popup element becomes a child of the body element, and is positioned above or below a reference rectangle, depending on how much room is available.

    The reference rectangle may be specified as one of the following:

    HTMLElement
    The bounding rectangle of the element.
    MouseEvent
    The bounding rectangle of the event's target element.
    Rect
    The given rectangle.
    null
    No reference rectangle; the popup is centered on the window.

    Call the hidePopup method to hide the popup.

    Parameters

    • popup: HTMLElement

      Element to show as a popup.

    • Optional ref: any

      Reference element or rectangle used to position the popup.

    • Optional above: boolean

      Position popup above the reference rectangle if possible.

    • Optional fadeIn: boolean

      Use a fade-in animation to make the popup appear gradually.

    • Optional copyStyles: any

      Whether to copy font and color styles from the reference element, or an element to use as the style source.

    Returns any

    An interval id that you can use to suspend the fade-in animation.

toFixed

  • toFixed(value: number, prec: number, truncate: boolean): number
  • Rounds or truncates a number to a specified precision.

    Parameters

    • value: number

      Value to round or truncate.

    • prec: number

      Number of decimal digits for the result.

    • truncate: boolean

      Whether to truncate or round the original value.

    Returns number

toHeaderCase

  • toHeaderCase(text: string): string
  • Converts a camel-cased string into a header-type string by capitalizing the first letter and adding spaces before uppercase characters preceded by lower-case characters.

    For example, 'somePropertyName' becomes 'Some Property Name'.

    Parameters

    • text: string

      String to convert to header case.

    Returns string

toPlainText

  • toPlainText(html: string): string
  • Converts an HTML string into plain text.

    Parameters

    • html: string

      HTML string to convert to plain text.

    Returns string

    A plain-text version of the string.

toggleClass

  • toggleClass(e: Element, className: string, addOrRemove?: boolean): void
  • Adds or removes a class to or from an element.

    Parameters

    • e: Element

      Element that will have the class added.

    • className: string

      Class to add or remove.

    • Optional addOrRemove: boolean

      Whether to add or remove the class. If not provided, toggle the class.

    Returns void

tryCast

  • tryCast(value: any, type: any): any
  • Casts a value to a type if possible.

    Parameters

    • value: any

      Value to cast.

    • type: any

      Type or interface name to cast to.

    Returns any

    The value passed in if the cast was successful, null otherwise.