declare global { interface Window { Smart: any; } } /** Accordion organizes content within collapsable items. */ export interface Accordion extends BaseElement { /* Get a member by its name */ [name: string]: any; /** * Sets or gets the animation mode. Animation is disabled when the property is set to 'none' * Default value: advanced */ animation?: Animation; /** * Enables or disables the accordion. Disabled elements can not be interacted with. * Default value: false */ disabled?: boolean; /** * Sets or gets the expanded item indexes. Using this property items can be expanded by passing in their indexes. The number of expanded items is limited by the expandMode. * Default value: */ expandedIndexes?: number[]; /** * Sets or gets the expand mode. Expand mode determines how the items will expand or collapse. * Default value: singleFitHeight */ expandMode?: AccordionExpandMode; /** * Sets or gets the language. Used in conjunction with the property messages. * Default value: "en" */ locale?: string; /** * Callback used to customize the format of the messages that are returned from the Localization Module. * Default value: null */ localizeFormatFunction?: any; /** * Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale. * Default value: * { * "en": { * "propertyUnknownType": "'' property is with undefined 'type' member!", * "propertyInvalidValue": "Invalid '!", * "propertyInvalidValueType": "Invalid '!", * "elementNotInDOM": "Element does not exist in DOM! Please, add the element to the DOM, before invoking a method.", * "moduleUndefined": "Module is undefined.", * "missingReference": ".", * "htmlTemplateNotSuported": ": Browser doesn't support HTMLTemplate elements.", * "invalidTemplate": "' property accepts a string that must match the id of an HTMLTemplate element from the DOM.", * "accordionItemRequired": "' requires an item from type \"jqx-accordion-item\".", * "indexOutOfBound": "' method.", * "invalidSettings": "' method accepts a string or an object as it's second parameter.", * "noItems": ": No child elements found.", * "overridingProperties": "' property is used by default." * } * } */ messages?: any; /** * Determines if the element is readonly or not. If the element true, users cannot interact with it. * Default value: false */ readonly?: boolean; /** * Enables or disables accordion reordering. * Default value: false */ reorder?: boolean; /** * Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts. * Default value: false */ rightToLeft?: boolean; /** * Determines the theme. Theme defines the look of the element * Default value: "" */ theme?: string; /** * Determines whether the element can be focused or not. * Default value: false */ unfocusable?: boolean; /** * This event is triggered when an item is collapsed. * @param ev. The custom event. Custom data event was created with: ev.detail(content, index, label) * content - The content of the item. * index - The index of the item. * label - The label of the item */ oncollapse?: ((this: any, ev: Event) => any) | null; /** * This event is triggered when an item is going to be collapsed. * @param ev. The custom event. Custom data event was created with: ev.detail(content, index, label) * content - The content of the item. * index - The index of the item. * label - The label of the item */ oncollapsing?: ((this: any, ev: Event) => any) | null; /** * This event is triggered when a reordering operation is completed. * @param ev. The custom event. Custom data event was created with: ev.detail(position, target, content, index, label) * position - The current top and left position of the item that was dragged. * target - The item that was dragged. * content - The content of the item. * index - The index of the item. * label - The label of the item. */ ondragend: ((this: any, ev: Event) => any) | null; /** * This event is triggered when a reordering operation is started. * @param ev. The custom event. Custom data event was created with: ev.detail(position, target, content, index, label) * position - The current top and left position of the item that is about to be dragged. * target - The item that is about to be dragged. * content - The content of the item. * index - The index of the item. * label - The label of the item. */ ondragstart: ((this: any, ev: Event) => any) | null; /** * This event is triggered when an item is expanded. * @param ev. The custom event. Custom data event was created with: ev.detail(position, target, content, index, label) * position - The current top and left position of the item. * target - The item that was dragged. * content - The content of the item. * index - The index of the item. * label - The label of the item. */ onexpand?: ((this: any, ev: Event) => any) | null; /** * This event is triggered when an item is going to be expanded. * @param ev. The custom event. Custom data event was created with: ev.detail(content, index, label) * content - The content of the item. * index - The index of the item. * label - The label of the item */ onexpanding?: ((this: any, ev: Event) => any) | null; /** * Collapses an item at a specified index. * @param {number} position. The index of the collapsed item. */ collapse(position: number): void; /** * Expands an item at a specified index. * @param {number} position. The index of the expanded item. */ expand(position: number): void; /** * Inserts a new item at a specified index. * @param {number} index. The index where the item must be inserted. * @param {any} item. An object containing the values for the properties of the new item to be inserted. */ insert(index: number, item: any): void; /** * Removes an item at a specified index. * @param {number} position. The index of the item to be removed. */ removeAt(position: number): void; /** * Updates an item from the element. * @param {number} index. The index of the item to be updated. * @param {any} settings. An object containing the values for the properties of the item that will be updated. */ update(index: number, settings: any): void; } declare global { interface Document { createElement(tagName: "jqx-accordion"): Accordion; querySelector(selectors: "jqx-accordion"): Accordion | null; querySelectorAll(selectors: "jqx-accordion"): NodeListOf; getElementsByTagName(qualifiedName: "jqx-accordion"): HTMLCollectionOf; getElementsByName(elementName: "jqx-accordion"): NodeListOf; } } /**Sets or gets the animation mode. Animation is disabled when the property is set to 'none' */ export enum Animation{ None = "none", Simple = "simple", Advanced = "advanced" } /**Sets or gets the expand mode. Expand mode determines how the items will expand or collapse. */ export enum AccordionExpandMode{ Single = "single", SingleFitHeight = "singleFitHeight", Multiple = "multiple", Toggle = "toggle", None = "none" } /** Single item in an Accordion view. */ export interface AccordionItem extends BaseElement { /* Get a member by its name */ [name: string]: any; /** * Sets or gets header's arrow position. If the value is 'none' the arrow is not shown. * Default value: left */ arrow?: AccordionItemArrow; /** * Sets or gets the content if the item. * Default value: "" */ content?: string | HTMLElement; /** * Sets or gets the expanded state. * Default value: false */ expanded?: boolean; /** * Sets or gets the focus state. * Default value: false */ focused?: boolean; /** * Sets or gets the label if the item. * Default value: """" */ label?: string; /** * This event is triggered when the item is collapsed. * @param ev. The custom event. */ oncollapse?: ((this: any, ev: Event) => any) | null; /** * This event is triggered when the item is expanded. * @param ev. The custom event. */ onexpand?: ((this: any, ev: Event) => any) | null; } declare global { interface Document { createElement(tagName: "jqx-accordion-item"): AccordionItem; querySelector(selectors: "jqx-accordion-item"): AccordionItem | null; querySelectorAll(selectors: "jqx-accordion-item"): NodeListOf; getElementsByTagName(qualifiedName: "jqx-accordion-item"): HTMLCollectionOf; getElementsByName(elementName: "jqx-accordion-item"): NodeListOf; } } /**Sets or gets header's arrow position. If the value is 'none' the arrow is not shown. */ export enum AccordionItemArrow{ Left = "left", Right = "right", None = "none" } /** Array is broadly used in Engineering applications and displays a Grid of values. */ export interface Array extends BaseElement { /* Get a member by its name */ [name: string]: any; /** * Sets or gets the animation mode. Animation is disabled when the property is set to 'none' * Default value: advanced */ animation?: Animation; /** * Sets or gets the indexing mode of the Array. * Default value: LabVIEW */ arrayIndexingMode?: ArrayArrayIndexingMode; /** * A callback function that is called when the width, height or disabled properties of an inner element need to be updated. Applicable only when type is 'custom'. * Default value: null */ changeProperty?: any; /** * Sets or gets the number of visible columns in the Array. * Default value: 1 */ columns?: number; /** * Sets or gets the default value of inner elements when type is 'custom'. * Default value: null */ customWidgetDefaultValue?: any; /** * Sets or gets the dimensions of the Array. * Default value: 1 */ dimensions?: number; /** * Sets or gets disabled state of the Array. * Default value: false */ disabled?: boolean; /** * Sets or gets the height of Array elements (row height). * Default value: 25 */ elementHeight?: number; /** * A callback function that can be used for applying settings to element widgets. When type is 'custom', widgets have to be initialized in this callback function. * Default value: null */ elementTemplate?: any; /** * Sets or gets the width of Array elements (column width). * Default value: 75 */ elementWidth?: number; /** * A callback function that can be used for getting the value of element widgets. * Default value: null */ getElementValue?: any; /** * Sets or gets the height of indexers. * Default value: 25 */ indexerHeight?: number; /** * Sets or gets the width of indexers. * Default value: 50 */ indexerWidth?: number; /** * Sets or gets the language. Used in conjunction with the property messages. * Default value: "en" */ locale?: string; /** * Callback, related to localization module. * Default value: null */ localizeFormatFunction?: any; /** * Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale. * Default value: * { * "en": { * "propertyUnknownType": "'' property is with undefined 'type' member!", * "propertyInvalidValue": "Invalid '!", * "propertyInvalidValueType": "Invalid '!", * "elementNotInDOM": "Element does not exist in DOM! Please, add the element to the DOM, before invoking a method.", * "moduleUndefined": "Module is undefined.", * "missingReference": ".", * "htmlTemplateNotSuported": ": Browser doesn't support HTMLTemplate elements.", * "invalidTemplate": "' property accepts a string that must match the id of an HTMLTemplate element from the DOM.", * "callbackFunctionRequired": "jqx-array: When \"type\" is 'custom', the callback function has to be implemented." * } * } */ messages?: any; /** * If the element is readonly, users cannot interact with it. * Default value: false */ readonly?: boolean; /** * Sets or gets the number of visible rows in the Array. * Default value: 1 */ rows?: number; /** * A callback function that can be used for setting the value of element widgets. * Default value: null */ setElementValue?: any; /** * Sets or gets whether to display the horizontal scrollbar. * Default value: false */ showHorizontalScrollbar?: boolean; /** * Sets or gets whether to display the array indexers. * Default value: false */ showIndexDisplay?: boolean; /** * Sets or gets whether to highlight selected elements. * Default value: false */ showSelection?: boolean; /** * Sets or gets whether to display the vertical scrollbar. * Default value: false */ showVerticalScrollbar?: boolean; /** * Determines the theme. Theme defines the look of the element * Default value: "" */ theme?: string; /** * Sets or gets the data type and element widgets to be used in the Array. * Default value: none */ type?: ArrayType; /** * If is set to true, the element cannot be focused. * Default value: false */ unfocusable?: boolean; /** * Sets or gets the value of the Array. * Default value: */ value?: number[]; /** * This event is triggered when a visible row or column has been added or removed. * @param ev. The custom event. */ onarraysizechange?: ((this: any, ev: Event) => any) | null; /** * This event is triggered when the value of the Array is changed. * @param ev. The custom event. */ onchange: ((this: any, ev: Event) => any) | null; /** * This event is triggered when a dimension has been added or removed. * @param ev. The custom event. */ ondimensionchange?: ((this: any, ev: Event) => any) | null; /** * This event is triggered when an Array element has been clicked. * @param ev. The custom event. */ onelementclick?: ((this: any, ev: Event) => any) | null; /** * This event is triggered when the Array is scrolled with one of the scrollbars. * @param ev. The custom event. */ onscroll: ((this: any, ev: Event) => any) | null; /** * This event is triggered when the column width or the row height has been changed. * @param ev. The custom event. */ onsizechange?: ((this: any, ev: Event) => any) | null; /** * Adds a dimension to the array.
Note: when adding multiple dimensions simultaneously, it is recommended to do so by dynamically setting the dimensions property. */ addDimension(): void; /** * Clears the selection. */ clearSelection(): void; /** * Copies the value of an Array element to the clipboard. * @param {number} Rowvisibleindex. The visible index of the row (y coordinate) of the element. * @param {number} Columnvisibleindex. The visible index of the column (x coordinate) of the element. */ copyElementValueToClipboard(Rowvisibleindex: number, Columnvisibleindex: number): void; /** * Deletes a column in the value array. * @param {number} Columnindex. Index of the column to be deleted. */ deleteColumn(Columnindex: number): void; /** * Deletes a row in the value array. * @param {number} Rowindex. Index of the row to be deleted. */ deleteRow(Rowindex: number): void; /** * Empties the value array. */ emptyArray(): void; /** * Designates the end of a selection started with the method startSelection. * @param {number} Rowboundindex. The bound index of the row (y coordinate) to end the selection to. * @param {number} Columnboundindex. The bound index of the column (x coordinate) to end the selection to. */ endSelection(Rowboundindex: number, Columnboundindex: number): void; /** * Returns the HTML element at the specified visible row and column coordinates of the Array. * @param {number} Rowvisibleindex. The visible index of the row (y coordinate) of the element. * @param {number} Columnvisibleindex. The visible index of the column (x coordinate) of the element. * @returns {HTMLElement} */ getElement(Rowvisibleindex: number, Columnvisibleindex: number): HTMLElement; /** * Returns an object with the values of the Array element width and height. * @returns {any} */ getElementSize(): any; /** * Gets an array with the values of all indexers. * @returns {any[]} */ getIndexerValue(): any[]; /** * Returns an HTML element from the Array at the specified page coordinates and other information about this element. * @param {number} Pagexcoordinate. * @param {number} Pageycoordinate. * @returns {any} */ hitTest(Pagexcoordinate: number, Pageycoordinate: number): any; /** * Inserts a column in the value array before the specified column. The new column is filled with default values. * @param {number} Columnindex. Index of the column to add a new column before. */ insertColumnBefore(Columnindex: number): void; /** * Inserts a row in the value array before the specified row. The new row is filled with default values. * @param {number} Rowindex. Index of the row to add a new row before. */ insertRowBefore(Rowindex: number): void; /** * Sets all value array members to the default value. */ reinitializeArray(): void; /** * Removes a dimension from the array.
Note: when removing multiple dimensions simultaneously, it is recommended to do so by dynamically setting the dimensions property. */ removeDimension(): void; /** * Sets the array's type to 'none'. */ reset(): void; /** * Resizes Array elements (changes both the column width and the row height). * @param {number} Elementwidth. The new element (column) width. * @param {number} Elementheight. The new element (row) height. */ resizeElement(Elementwidth: number, Elementheight: number): void; /** * Selects all members of the array. */ selectAll(): void; /** * Selects an element with the passed row and column bound indexes. * @param {number} Rowboundindex. * @param {number} Columnboundindex. */ selectElement(Rowboundindex: number, Columnboundindex: number): void; /** * Sets the column (element) width. * @param {number} Columnwidth. The new column width. */ setColumnWidth(Columnwidth: number): void; /** * Sets the default value of array members. * @param {any} Defaultvalue. The new default value. Its data type should correspond to the type of the Array. */ setDefaultValue(Defaultvalue: any): void; /** * Sets the value of one or more Array indexers. * @param {any[]} Settings. An array of objects with the fields index and value. */ setIndexerValue(Settings: any[]): void; /** * Sets the row (element) height. * @param {number} Rowheight. The new row height. */ setRowHeight(Rowheight: number): void; /** * Makes the last array member visible. */ showLastElement(): void; /** * Designates the start of a selection. To end a selection, call endSelection. * @param {number} Rowboundindex. The bound index of the row (y coordinate) to start the selection from. * @param {number} Columnboundindex. The bound index of the column (x coordinate) to start the selection from. */ startSelection(Rowboundindex: number, Columnboundindex: number): void; /** * Increases or decreases the visual gap between Array elements. */ toggleElementGap(): void; /** * Transposes the array. Applicable only when dimensions is 2 (2D array). */ transposeArray(): void; /** * Sets or gets the value of the whole array or sets the value of a member of the array. * @param {any} Newvalue?. If the method is used for setting the value of the whole array, the expected value is an array. If it is used for setting the value of an array member, the value can be of any applicable type. * @param {number} Elementindexes?. If this parameter is passed, only the value of the array member with the provided dimension indexes is set. Dimension indexes that are not passed are considered to be 0. * @returns {any[]} */ val(Newvalue?: any, Elementindexes?: number): any[]; } declare global { interface Document { createElement(tagName: "jqx-array"): Array; querySelector(selectors: "jqx-array"): Array | null; querySelectorAll(selectors: "jqx-array"): NodeListOf; getElementsByTagName(qualifiedName: "jqx-array"): HTMLCollectionOf; getElementsByName(elementName: "jqx-array"): NodeListOf; } } /**Sets or gets the indexing mode of the Array. */ export enum ArrayArrayIndexingMode{ LabVIEW = "LabVIEW", JavaScript = "JavaScript" } /**Sets or gets the data type and element widgets to be used in the Array. */ export enum ArrayType{ None = "none", Boolean = "boolean", Numeric = "numeric", String = "string", Custom = "custom" } /** Breadcrumbs allow users to make selections from a range of values. */ export interface Breadcrumb extends BaseElement { /* Get a member by its name */ [name: string]: any; /** * Enables or disables the "Add new item" (+) button. * Default value: false */ addNewItem?: boolean; /** * Enables or disables the dragging of breadcrumb items. * Default value: false */ allowDrag?: boolean; /** * Enables or disables the dropping of dragged breadcrumb items. * Default value: false */ allowDrop?: boolean; /** * Sets or gets the animation mode. Animation is disabled when the property is set to 'none' * Default value: advanced */ animation?: Animation; /** * Show/Hide the close button of breadcrumb items. * Default value: false */ closeButtons?: boolean; /** * Determines the data source to load breadcrumb items from. The Array should contain objects. Each object defines a single breadcrumb item. * Default value: [] */ dataSource?: {label: string, value: string}[]; /** * Enables or disables the Breadcrumb. * Default value: false */ disabled?: boolean; /** * Sets or gets the template of breadcrumb items. The value of this property can be the id of an HTMLTemplateElement or the HTMLTemplateElement itself. If set to null, no template is applied. * Default value: null */ itemTemplate?: any; /** * Sets or gets the language. Used in conjunction with the property messages. * Default value: "en" */ locale?: string; /** * Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale. * Default value: * { * "en": { * "propertyUnknownType": "'' property is with undefined 'type' member!", * "propertyInvalidValue": "Invalid '!", * "propertyInvalidValueType": "Invalid '!", * "elementNotInDOM": "Element does not exist in DOM! Please, add the element to the DOM, before invoking a method.", * "moduleUndefined": "Module is undefined.", * "missingReference": ".", * "htmlTemplateNotSuported": ": Browser doesn't support HTMLTemplate elements.", * "invalidTemplate": "' property accepts a string that must match the id of an HTMLTemplate element from the DOM." * } * } */ messages?: any; /** * Determines the minimum width of the Breadcrumb at which it will switch from normal to minimized mode. If set to null, the Breadcrumb does not minimize automatically. * Default value: null */ minimizeWidth?: number; /** * If is set to true, the element cannot be focused. * Default value: false */ unfocusable?: boolean; /** * This event is triggered when a Breadcrumb item is closed. * @param ev. The custom event. Custom data event was created with: ev.detail(item) * item - The item that has been closed. */ onclose: ((this: any, ev: Event) => any) | null; /** * This event is triggered when a Breadcrumb item is about to be closed. The closing operation can be canceled by calling event.preventDefault() in the event handler function. * @param ev. The custom event. Custom data event was created with: ev.detail(item) * item - The item that is going to be closed. */ onclosing?: ((this: any, ev: Event) => any) | null; /** * This event is triggered when a Breadcrumb item is dropped. * @param ev. The custom event. */ ondragend: ((this: any, ev: Event) => any) | null; /** * This event is triggered when a Breadcrumb item is being dragged. * @param ev. The custom event. Custom data event was created with: ev.detail(item, originalEvent, target) * item - The item that is being dragged. * originalEvent - The original event that initiates the dragging operation. * target - The original target. */ ondragging?: ((this: any, ev: Event) => any) | null; /** * This event is triggered when the "Add new item" (+) button is clicked. * @param ev. The custom event. */ onaddnewitem?: ((this: any, ev: Event) => any) | null; /** * Adds an item. * @param {any} itemDetails. An Object with the fields "index", "label", and "value". */ addItem(itemDetails: any): void; /** * Restores the Breadcrumb from minimized state back to normal. */ maximize(): void; /** * Minimizes the Breadcrumb. */ minimize(): void; /** * Removes an item. * @param {HTMLElement} item. The item to remove. */ removeItem(item: HTMLElement): void; } declare global { interface Document { createElement(tagName: "jqx-breadcrumb"): Breadcrumb; querySelector(selectors: "jqx-breadcrumb"): Breadcrumb | null; querySelectorAll(selectors: "jqx-breadcrumb"): NodeListOf; getElementsByTagName(qualifiedName: "jqx-breadcrumb"): HTMLCollectionOf; getElementsByName(elementName: "jqx-breadcrumb"): NodeListOf; } } /** Buttons allow users to take actions, and make choices, with a single tap. Buttons communicate actions that users can take. */ export interface Button extends BaseElement { /* Get a member by its name */ [name: string]: any; /** * Sets or gets the animation mode. Animation is disabled when the property is set to 'none' * Default value: advanced */ animation?: Animation; /** * Determines the click mode for the element. * Default value: release */ clickMode?: ClickMode; /** * Sets the content of the element. * Default value: "" */ content?: any; /** * Enables or disables the button. * Default value: false */ disabled?: boolean; /** * Sets the inner HTML of the element. * Default value: """" */ innerHTML: string; /** * Sets or gets the language. Used in conjunction with the property messages. * Default value: "en" */ locale?: string; /** * Callback used to customize the format of the messages that are returned from the Localization Module. * Default value: null */ localizeFormatFunction?: any; /** * Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale. * Default value: * { * "en": { * "propertyUnknownType": "'' property is with undefined 'type' member!", * "propertyInvalidValue": "Invalid '!", * "propertyInvalidValueType": "Invalid '!", * "elementNotInDOM": "Element does not exist in DOM! Please, add the element to the DOM, before invoking a method.", * "moduleUndefined": "Module is undefined.", * "missingReference": ".", * "htmlTemplateNotSuported": ": Browser doesn't support HTMLTemplate elements.", * "invalidTemplate": "' property accepts a string that must match the id of an HTMLTemplate element from the DOM." * } * } */ messages?: any; /** * Sets or gets the name attribute for the element. Name is used when submiting HTML forms. * Default value: """" */ name?: string; /** * If the custom element is readonly, it cannot be interacted with. * Default value: false */ readonly?: boolean; /** * Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts. * Default value: false */ rightToLeft?: boolean; /** * Determines the theme. Theme defines the look of the element * Default value: "" */ theme?: string; /** * Sets or gets the type of the button. * Default value: "Reset" */ type?: string; /** * Sets or gets the button's value. * Default value: "" */ value?: string; /** * If is set to true, the element cannot be focused. * Default value: false */ unfocusable?: boolean; /** * Click event is triggered regardiong to the chosen clickMode. * @param ev. The custom event. */ onclick: ((this: any, ev: Event) => any) | null; } declare global { interface Document { createElement(tagName: "jqx-button"): Button; querySelector(selectors: "jqx-button"): Button | null; querySelectorAll(selectors: "jqx-button"): NodeListOf