new OrgChart(client, oOptsopt)
Every option of the OrgChart.Options type has associated a property of the control. For instance, the option:
allowActions {string}, customizes the actions the user can perform once the user clicks or touches the controlis associated with the property:
AllowActions {string}, customizes the actions the user can perform once the user clicks or touches the controlwhich means that the following statements are equivalent:
oOrgChart.Options = {allowActions: "scroll"}where oOrgChart is an object of OrgChart type
oOrgChart.SetOptions({allowActions: "scroll"})
oOrgChart.AllowActions = "scroll"
oOrgChart.SetAllowActions("scroll")
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
client |
any | The client parameter indicates the control's client area as:
|
|
oOpts |
object |
<optional> |
An object of OrgChart.Options type that defines different options to display the control. |
Requires:
- module:exontrol.commmon.min.js
Requires
- module:exontrol.commmon.min.js
Classes
Members
(static, readonly) SingleSelEnum :number
Each SingleSelEnum property can be specified in one of the following ways:
- A numeric value.
- A single enumeration constant.
- A combination of one or more compatible enumeration constants, separated by the | operator.
- A case-insensitive partial string containing one or more comma-separated names that match the enumeration constants.
For instance, the string "single,toggle,ctrl,shift,drag" is equivalent to the numeric value 62, or to the combination of enumeration constants exSingleSel | exToggleSel | exDisableCtrlSel | exDisableShiftSel | exDisableDrag.
Type:
- number
Properties:
| Name | value | Type | Description |
|---|---|---|---|
exDisableSel |
0 |
number | The exDisableSel value specifies that the control's selection is disabled. |
exEnableSel |
1 |
number | The exEnableSel flag specifies that the control's selection is enabled (multiple-selection, unless the exSingleSel is set ). |
exSingleSel |
2 |
number | The exSingleSel flag specifies that the user can select a node only. |
exToggleSel |
4 |
number | The exToggleSel flag specifies that the node's selection state is toggled once the user clicks a node. |
exDisableCtrlSel |
8 |
number | The exDisableCtrlSel flag disables toggling the node's selection state when user clicks a node, while CTRL modifier key is pressed. |
exDisableShiftSel |
16 |
number | The exDisableShiftSel flag disables selecting nodes using the SHIFT key. |
exDisableDrag |
32 |
number | The exDisableDrag flag disables selecting nodes by drag. |
(static, readonly) type :string
Type:
- string
- Since:
- 1.8
Example
console.log(exontrol.OrgChart.type); // logs "OrgChart"
(static, readonly) version :string
Type:
- string
Example
console.log(exontrol.OrgChart.version); // displays the version of the control, for instance "5.2"
Align :exontrol.AlignEnum
The exontrol.AlignEnum type supports the following values:
- exAlignLeft (0), aligns object to the left
- exAlignCenter (1), centers object horizontally in the rectangle
- exAlignRight (2), aligns object to the right
Type:
- exontrol.AlignEnum
Example
0 or exontrol.AlignEnum.exAlignLeft {number}, aligns the nodes to the top-left corner
2 or exontrol.AlignEnum.exAlignRight {number}, right aligns the node relative to its parent
Align
AllowActions :string
The format of the property is:
"action(shortcut,shortcut,...),action(shortcut,shortcut,...)..."where
- "action", defines the action to perform (as defined below)
Action Description Flags "drag-drop" Performs drag and drop of the node (the node can be dropped inside or outside of the control). The ExDrop(event, data) method of the target HTML element is invoked once the user drops the node. The event parameter contains information about the mouse/touch event. The data parameter contains information about the source-object that initiated the drag/drop operation as {object, source, client, shape} "fit" Fits the drag-area into the control's client area "move" Moves nodes to a new parent or position by drag (not available if the control is read-only) "scroll" Scrolls the control's content by drag "select" Selects nodes by drag "zoom" Zooms the control's content at dragging-point - "shortcut", defines the event's button or/and the modifier-keys that are required to perform the action. The "shortcut" is a combination of none, one or more of the following values:
- "Shift", indicates that the SHIFT key is pressed
- "Ctrl" or "Control", indicates that the CTRL key is pressed
- "Alt" or "Menu", indicates that the ALT key is pressed
- "Meta" , indicates that the META key is pressed
- "LButton", specifies that the mouse's left-button is pressed
- "RButton", specifies that the mouse's right-button is pressed
- "MButton", specifies that the mouse's middle/wheel-button is pressed
- "Long", specifies that the action requires a "long" click/touch before run
- "+", indicates AND between values
Type:
- string
Example
null {null}, indicates the control's default allowActions value
"" {string}, specifies that no operation is allowed once the user clicks or touches the control
"scroll" {string}, specifies that only "scroll" operation is allowed, no matter of the event's button or modifier-keys is pressed.
AllowActions
Cursors :string
The format of the property is:
"cursor(part),cursor(part),..."where:
- "cursor", defines the CSS mouse cursor to display while cursor hovers the part
- "part", defines the name of the part the cursor is applied on (as defined bellow)
The "part" can be any of the following:
Cursor Description "alias" indicates a shortcut or alias will be created "all-scroll" indicates scrolling in any direction "auto" lets the browser decide the cursor based on context "cell" indicates a table cell "col-resize" indicates a column can be resized horizontally "context-menu" indicates a context menu is available "copy" indicates something will be copied "crosshair" a precise crosshair cursor "default" the default arrow cursor "e-resize" resize east (right edge) "ew-resize" resize horizontally "grab" indicates an item can be grabbed "grabbing" indicates an item is being grabbed "help" indicates help information is available "move" indicates something can be moved "n-resize" resize north (top edge) "ne-resize" resize northeast (top-right corner) "nesw-resize" resize along the northeast–southwest axis "no-drop" indicates dropping is not permitted "not-allowed" indicates the action is not allowed "ns-resize" resize vertically "nw-resize" resize northwest (top-left corner) "nwse-resize" resize along the northwest–southeast axis "pointer" the pointer cursor (a hand with a pointing finger) "progress" indicates background processing "row-resize" indicates a row can be resized vertically "s-resize" resize south (bottom edge) "se-resize" resize southeast (bottom-right corner) "sw-resize" resize southwest (bottom-left corner) "text" the text selection cursor (I-beam) "url(...)" uses a custom cursor image (with optional fallback) "vertical-text" the vertical text selection cursor "w-resize" resize west (left edge) "wait" indicates the program is busy "zoom-in" indicates zooming in "zoom-out" indicates zooming out
Part Description "anchor" (hyperlink) indicates the anchor-element (the <a> ex-HTML part marks an anchor or hyperlink element) (@since 2.2) "drag-drop" defines the cursor while the node is being dragged using the "drag-drop" action "expand" (expand/collapse) indicates node's expand/collapse glyphs "node" (node) indicates any node "nodea" (assistant-node) indicates assistant-nodes "nodeg" (group-node) indicates group-nodes "select" (selection) indicates selected nodes
Type:
- string
Example
"pointer(expand,node)" {string}, indicates that the "pointer" mouse cursor is shown while cursor hovers any "node" or "expand" part of the control (expand/collapse glyphs)
"pointer(expand),crosshair(node)" {string}, indicates that the "pointer" mouse cursor is shown while cursor hovers the "expand" part of the control (expand/collapse glyphs), and "crosshair" mouse cursor while it hovers any "node"
Cursors
EnsureOnExpand :boolean
Type:
- boolean
Example
false {boolean}, once a node is expanded or collapsed the control is not scrolled to ensure that the node's descendants fits it.
true {boolean}, once a node is expanded or collapsed the control is scrolled to ensure that the node's descendants fits it.
EnsureOnExpand
ExpandGlyphSize :number
Type:
- number
Example
0 {number}, displays no node's expand/collapse glyphs
24 {number}, specifies a size of 24x24 to display the node's expand/collapse glyphs
ExpandGlyphSize
ExpandOnDblClick :boolean
Type:
- boolean
Example
false {boolean}, the node is not expanded or collapsed once the user double-clicks it.
true {boolean}, the node is expanded or collapsed once the user double-clicks it.
ExpandOnDblClick
Filter :string
The filter supports the following wild-characters:
- "*", matches zero or more characters. For instance "a*" indicates anything that starts with "a" or "A".
- "#", matches one digit (0-9). For instance "a##", indicates anything that starts with "a" or "A" followed by exactly two digits, such as "a12" but not "a1".
- "?", matches one character. For instance "a??", indicates anything that starts with "a" or "A" followed by exactly two characters, such as "abc" but not "ab".
- "[a-z]", matches any character within the giving range. For instance "[a]*" indicates anything that starts with "a", or "[a-z]*" anything that starts with a lowercase letter.
- " " (space character), separates the OR pattern-masks. For instance "a* *b", masks for anything that starts with "a" or "A" or ends with "b" or "B"
Type:
- string
Example
null {null} or "" {string}, no filter is applied
"s*" {string}, filter for nodes that starts with "s" or "S" (case insensitive)
"[s]*" {string}, filter for nodes that starts with "s" (case sensitive)
"*Stela* Evan" {string}, filter for nodes that contains "Stela" or with exactly caption "Evan"
Filter
Flow :Layout.FlowEnum
Currently, the Flow property can be set to any of the following values (either as a string or as a Layout.FlowEnum flag):
- exFlowVertical ("flowVertical"), indicates that any assistant or child-node goes down, while any group-node goes right
- exFlowHorizontal ("flowHorizontal"), indicates that any assistant or child-node goes right, while any group-node goes down
- exFlowVerticalTree ("flowVerticalTree"), indicates any assistant or child-node goes down and indented to right, while any group-node goes right
- exFlowHorizontalTree ("flowHorizontalTree"), indicates any assistant or child-node goes right and indented down, while any group-node goes down
Type:
Example
"flowVertical" or Layout.FlowEnum.exFlowVertical {string}, indicates that any assistant or child-node goes down, while any group-node goes right
"flowVerticalTree" or Layout.FlowEnum.exFlowVerticalTree {string}, arranges the nodes as a tree
Flow
Focus :any
The setter of the Focus property accepts any of the following values:
- {null}, specifies that the entire selection is removed/cleared, and the focus is set to the root node
- {string}, Specifies the node's key or caption
- {Node}, Indicates an object of Node that specifies the node itself
The getter of the Focus property returns the control's focus node (which is the root if no selection is available), as an object of Node type
Type:
- any
Example
null {null}, specifies that the entire selection is removed/cleared, and the focus is set to the root node
"key" {string}, specifies the key/identifier or plain-caption of the node to set focus to (root node is used if the node is not found)
Focus
FormatText :exontrol.DrawTextFormatEnum
The exontrol.DrawTextFormatEnum type support the following flags:
- exTextAlignTop (0x00), justifies the text to the top of the rectangle
- exTextAlignLeft (0x00), aligns text to the left
- exTextAlignCenter (0x01), centers text horizontally in the rectangle
- exTextAlignRight (0x02), aligns text to the right
- exTextAlignVCenter (0x04), centers text vertically
- exTextAlignBottom (0x08), justifies the text to the bottom of the rectangle.
- exTextAlignMask (0x0F), specifies the mask for text's alignment.
- exTextWordBreak (0x10), breaks words. Lines are automatically broken between words if a word would extend past the edge of the rectangle specified by the lpRect parameter. A carriage return-line feed sequence also breaks the line. If this is not specified, output is on one line.
- exTextSingleLine (0x20), displays text on a single line only. Carriage returns and line feeds do not break the line.
- exTextExpandTabs (0x40), expands tab characters. The default number of characters per tab is eight.
- exPlainText (0x80), treats the text as plain text.
- exTextNoClip (0x0100), draws without clipping.
- exHTMLTextNoColors (0x0200), ignores the
and tags. - exTextCalcRect (0x0400), determines the width and height of the text.
- exHTMLTextNoTags (0x0800), ignores all HTML tags.
- exTextPathEllipsis (0x4000), for displayed text, replaces characters in the middle of the string with ellipses so that the result fits in the specified rectangle. If the string contains backslash (\) characters, exTextPathEllipsis preserves as much as possible of the text after the last backslash.
- exTextEndEllipsis (0x8000), for displayed text, if the end of a string does not fit in the rectangle, it is truncated and ellipses are added. If a word that is not at the end of the string goes beyond the limits of the rectangle, it is truncated without ellipses.
- exTextWordEllipsis (0x040000), truncates any word that does not fit in the rectangle and adds ellipses.
Type:
- exontrol.DrawTextFormatEnum
Example
null {null}, centers the caption
32 or exontrol.DrawTextFormatEnum.exTextSingleLine {number}, defines a single-line caption
0x2A or exontrol.DrawTextFormatEnum.exTextSingleLine | exontrol.DrawTextFormatEnum.exTextAlignRight | exontrol.DrawTextFormatEnum.exTextAlignBottom {number}, defines a single-line caption right/bottom-aligned
FormatText
ImageAlign :number
The alignment of the image within the node is determined by the ImageAlign property, which can take the following values:
- 0, the image is on the left of the node's caption (default)
- 1, the image is on the right of the node's caption
- 2, the image is on the top of the node's caption
- 3, the image is on the bottom of the node's caption
Type:
- number
Example
null {null}, the image is on top of the node's cation (default value)
1 {number}, the image is displayed to the left of the node's caption
ImageAlign
ImageSize :any
The proeprty supports the following values:
- {null}, Indicates that the node's image is displayed as it is (full-sized).
- {number}, Specifies that the node's image is displayed into a square of giving size (same width and height). If 0 the node displays no image, if negative the node's image is stretched to giving square, else the node's picture is scaled to fit the giving rectangle.
- {number[]}, Specifies an array of [aspect-width,aspect-height] type that defines the limits for width or/and height. The aspect-width and aspect-height define the width/height of the node's picture to scale or stretch to.
Type:
- any
Example
null {null}, Indicates that the node's image is displayed as it is (full-sized).
0 {number}, no image is displayed
64 {number}, the image is scaled to fit a 64 x 64 rectangle
-64 {number}, the image is strected to a 64 x 64 rectangle
[32,64] {array}, scales the image to the largest ratio-rectangle (32 x 64) that fits the client
[-32,-64] {array}, stretches the image to a 32 x 64 rectangle
ImageSize
Layout :string
Currently, the control's Layout property serializes the following:
- layout of windows (size, dock, parent)
- selected nodes
- expand/collapse nodes
- control's zoom
Type:
- string
- Since:
- 1.8
Example
The following statements are equivalents:
oOrgChart.SetLayout(layout), restores the control's layout from the giving layout string
oOrgChart.Layout = layout, restores the control's layout from the giving layout string
where oOrgChart is an object of OrgChart type and layout is a string expression that defines the UI layout to apply
Layout
Link :DisplayLinkType
Type:
Example
null {null}, specifies the default link attributes, which is {color: 'rgba(0,0,0,0.5)', arrow: 'rgb(128,128,128)'}
{color: 'red'} {object}, shows the links and the arrows in red color, while the width is the default 1 pixel
Link
Linka :DisplayLinkType
Type:
Example
null {null}, specifies the default link attributes, which is {color: 'rgba(0,0,0,0.25)', arrow: 'rgb(192,192,192)', style: [2]}
{color: 'lime'} {object}, shows the links between a node and its assistant nodes in lime color, while the width is the default 1 pixel and the arrows are the default gray color
Linka
Linkg :DisplayLinkType
Type:
Example
null {null}, specifies the default link attributes, which is {type: 3, color: 'rgba(0,0,0,0.125)', arrow: 'rgb(224,224,224)', style: [2]}
{color: 'black'} {object}, shows the links between a node and its group nodes in black color, while the width is the default 1 pixel and the arrows are the default gray color
Linkg
Listeners :exontrol.Lts
Type:
- exontrol.Lts
Example
The following sample shows how you can get all events the component currently supports:
oOrgChart.Listeners.forEach(function(name)
{
console.log(name);
});
The following sample displays information about the node being clicked:
oOrgChart.Listeners.Add("onclick", function (oEvent)
{
console.log(oEvent);
});
or
oOrgChart.on("click", function (oEvent)
{
console.log(oEvent);
});
where oOrgChart is an object of OrgChart type
Listeners
Locked :boolean
Type:
- boolean
Example
false {boolean}, unlocks the control (can select any node)
true {boolean}, locks the control (can't select any node)
Locked
Margins :object
The Margins property is an object that can have the following properties:
- x {number}, specifies the horizontal distance between nodes
- y {number}, specifies the vertical distance between nodes
- indent {number}, specifies the horizontal distance between a child node and its parent node
- border {number}, specifies the distance between the control's border and the nodes
By default, the Margins property is null, which means that the control uses its own default margins as {x: 16, y: 16, indent: 16, border: 8}. You can customize these margins by setting the margins field to an object with specific values for x, y, indent, and border. For example, setting margins to {x: 20, y: 20, indent: 30, border: 10} will increase the spacing between nodes and the distance from the control's border, creating a more spacious layout for the organizational chart.
Type:
- object
Example
null {null}, the control uses its own default margins as {x: 16, y: 16, indent: 16, border: 8}
{x: 0, y: 0, indent: 0, border: 0} {object}, specifies no distance between nodes and no distance between the control's border and the nodes
Margins
Nodes :string
The format of the property is (everything between () refers to children, and everything between [] refers to flags):
"Root(item1[flag=value]...[flag=value](sub-item1[flag=value]...[flag=value],...,sub-itemn[flag=value]...[flag=value]),...,itemn[flag=value]...[flag=value](sub-item1[flag=value]...[flag=value],...,sub-itemn[flag=value]...[flag=value]))"
The string representation supports the following flags:
- [a], indicates a node of assistant-type
- [g], indicates a node of group-type
- [vert], [horz], [tree] or [htree], defines the node's flow and arrangement as vertical, horizontal, tree or horizontal tree
- [c], indicates that the child of the node are collapsed
- [ca], indicates that the child of assistant-type are collapsed
- [cg], indicates that the child of group-type are collapsed
- [dis], specifies that the node is disabled
- [nsel], specifies that the user can't select the node
- [id={value}], specifies the node's key/identifier. The {value} specifies the key of the node [id=home]
- [img={value}], indicates the image of the node. The {value} indicates the name of an exontrol.HP, such as [img=logo]. The image can be added using the exontrol.HTMLPicture.Add method
- [shape={value}], specifies the node's appearance. The {value} indicates the name of the shape to be applied on the node itself [shape=nodeBlue]
- [cursor={value}], indicates the mouse cursor for the node itself. The {value} indicates the mouse cursor to show once the cursor hovers the node itself [cursor=pointer]
Type:
- string
Example
"" {string}, clears the nodes collection
"Root(1,2,3[g])" {string}, adds two child-nodes 1, 2 and 3 as a group-node of the root
"xxx([img=Stela],[img=Al],[img=Peggy](A1[a],A2[a]))" {string}, renames the root's node to "xxx", with a three-child nodes with images "Stela", "Al" and "Peggy", and "Peggy" has two-assistant nodes "A1" and "A2"
Nodes
Options :OrgChart.Options
It is important to note that changing a field of the Options object does not automatically update the control. For example, oOrgChart.Options.nodes = "Root(C1,C2,C3)" does not apply the change. Instead, you must assign the Options property again, such as oOrgChart.Options = {nodes: "Root(C1,C2,C3)"}, so the control updates and applies the new value.
Type:
Example
{nodes: "Root(C1,C2,C3)"}, applies the new hierarchy to the control, where Root is the root node, and C1, C2 and C3 are its child-nodes
{flow: exontrol.OrgChart.Layout.FlowEnum.exFlowVerticalTree}, changes the control's flow to vertical tree layout
Options
Pad :number|Array.<number>|string
The value of Pad property can be any of the following:
- {number} a numeric value, to pad horizontal and vertical size with the same value,
- {string|number[]} a "x,y" or [x,y] type to specify the padding on h/v size
Type:
- number | Array.<number> | string
Example
null {null}, indicates that the default padding value of [4,4] is applied
0 {number}, indicates no padding
"8,4" {string}, increases the node's width with 2 * 8-pixels and node's height with 2 * 4-pixels
[8,4] {array}, increases the node's width with 2 * 8-pixels and node's height with 2 * 4-pixels
Pad
ReadOnly :boolean
Type:
- boolean
- Since:
- 1.8
Example
false {boolean}, the control's drop down is available and the user can select new items
true {boolean}, the control's drop down is available but the user can't select items
ReadOnly
(readonly) Root :Node
Type:
Example
oOrgChart.Root.Nodes = "Root(1,2,3[g])" or Root.SetNodes("Root(1,2,3[g])"), adds two child-nodes 1, 2 and 3 as a group-node of the root
oOrgChart.Root.AddChild({ caption: "Anita", image: "ana"}), adds a child of the root node, with the caption "Anita" which display the image with the key "ana"
Root
ScrollBars :exontrol.ScrollBarsEnum
The ScrollBars property uses the exontrol.ScrollBarsEnum enumeration as explained:
- exNoScroll (0), specifies that no scroll bars are shown (scroll is not allowed)
- exHorizontal (1), specifies that only the horizontal scroll bar is shown
- exVertical (2), specifies that only the vertical scroll bar is shown
- exBoth (3), specifies that both horizontal and vertical scroll bars are shown if the content is larger than the control's client area
- exDisableNoHorizontal (5), specifies that the horizontal scroll bar is always shown; it is disabled if it is unnecessary
- exDisableNoVertical (10), specifies that the vertical scroll bar is always shown; it is disabled if it is unnecessary
- exDisableBoth (15), specifies that both horizontal and vertical scroll bars are always shown; they are disabled if they are unnecessary
- exHScrollOnThumbRelease (0x100), specifies that the control's content is horizontally scrolled as soon as the user releases the thumb of the horizontal scroll bar
- exVScrollOnThumbRelease (0x200), specifies that the control's content is vertically scrolled as soon as the user releases the thumb of the vertical scroll bar
- exScrollOnThumbRelease (0x300), specifies that the control's content is scrolled as soon as the user releases the thumb of the scroll bar
- exHScrollEmptySpace (0x400), allows empty space when the control's content is horizontally scrolled to the end
- exVScrollEmptySpace (0x800), allows empty space when the control's content is vertically scrolled to the end
- exScrollEmptySpace (0xC00), allows empty space when the control's content is scrolled to the end
- exExtendSBS (0x3000), specifies that the control's scroll bars are visible only when the cursor hovers the window; the control's client area is extended over the scroll bar portion
- exMinSBS (0xC000), specifies that the control's scroll bars are shown as minimized
- exHideSBS (0x10000), specifies that no scroll bars are shown (scroll is allowed)
Type:
- exontrol.ScrollBarsEnum
Example
exontrol.ScrollBarsEnum.exBoth or 3 {number}, specifies that both horizontal and vertical scroll bars are shown if the content is larger than the control's client area
exontrol.ScrollBarsEnum.exNoScroll or 0 {number}, specifies that no scroll bars are shown (scroll is not allowed)
ScrollBars
ScrollBarsRoot :string
Type:
- string
Example
null {null}, hides the position of the root on the control's scroll bar
"black" {string}, shows the position of the root on the control's scroll bar in black
ScrollBarsRoot
Selection :any
The setter of the Selection property accepts the following values:
- value {null}, null specifies that the entire selection is removed/cleared
- value {string}, specifies the key/identifier or plain-caption of the node
- value {Node}, specifies an object of Node type
- value {array}, specifies an array of [Node], [string], [string | Node] type
The getter of the Selection property returns null, a Node type or an array of [Node] type that specifies the list of nodes being selected within the control
Type:
- any
Example
null {null}, removes the control's selection
"key" {string}, select the node with the specified key
oOrgChart.Root {exontrol.OrgChart.Node}, selects the root node
Selection
Shapes :string
The format of the property is:
"shape(part),shape(part),..."where:
- "shape", defines the shape to apply on the UI part as one of the following:
◦ any of 140 color names any browser supports (such as red, blue, green, ...)
◦ hexadecimal colors, is specified with: #RRGGBB, where the RR (red), GG (green) and BB (blue) hexadecimal integers specify the components of the color. All values must be between 00 and FF (such as #0000ff which defines a blue background)
◦ hexadecimal colors with transparency, is specified with: #RRGGBBAA, where AA (alpha) value must be between 00 and FF (such as #0000ff80 which defines a semi-transparent blue background)
◦ RGB colors, is specified with the RGB(red, green, blue) function. Each parameter (red, green, and blue) defines the intensity of the color and can be an integer between 0 and 255( such as rgb(0,0,255) that defines a blue background)
◦ RGBA colors, are an extension of RGB color values with an alpha channel as RGBA(red, green, blue, alpha) function, where the alpha parameter is a number between 0.0 (fully transparent) and 1.0 (fully opaque) ( such as rgba(0,0,255,0.5) which defines a semi-transparent blue background)
◦ HSL colors, is specified with the HSL(hue, saturation, lightness) function, where hue is a degree on the color wheel (from 0 to 360) - 0 (or 360) is red, 120 is green, 240 is blue. saturation is a percentage value; 0% means a shade of gray and 100% is the full color. lightness is also a percentage; 0% is black, 100% is white. HSL stands for hue, saturation, and lightness - and represents a cylindrical-coordinate representation of colors (such as hsl(240, 100%, 50%) that defines a blue background)
◦ HSLA colors, are an extension of HSL color values with an alpha channel - which specifies the opacity of the object as HSLA(hue, saturation, lightness, alpha) function, where alpha parameter is a number between 0.0 (fully transparent) and 1.0 (fully opaque) (such as hsla(240, 100%, 50%,0.5) that defines a semi-transparent blue background)
◦ a JSON representation of the shape object to apply (while it starts with { character, such as '{"normal": {"primitive": "RoundRect","fillColor":"black","tfi": {"fgColor": "white"}}}')
◦ specifies the name of the field within the exontrol.Shapes.OrgChart object (while it starts with a lowercase letter, such as dfnode which refers to exontrol.Shapes.OrgChart.dfnode shape)
◦ specifies the name of the field within the exontrol.Shapes object (while it starts with an uppercase letter, such as Button which refers to exontrol.Shapes.Button shape)
- "part", defines the name of the part the shape is applied on (as defined bellow)
Part Description "expand" specifies the visual appearance for expand/collapse glyphs "frameDrag" specifies the visual appearance to display a frame while dragging the nodes "frameFit" defines the visual-appearance to display the frame while fitting nodes into the control's client area by drag "frameSel" defines the visual appearance to display a frame while selecting nodes by drag "multiSel" specifies the visual appearance to show the count of multiple-selected items "node" (node) defines the visual appearance for any node "nodea" (assistant-node) defines the visual appearance for assistant-nodes "nodeg" (group-node) defines the visual appearance for group-nodes "select" (selection) defines the visual appearance for selected nodes
Type:
- string
Example
null {null}, specifies the default visual appearance
"" {string}, no shape (no visual appearance is applied to any part of the control)
"red(node)", "#FF0000(node)", "rgb(255,0,0)(node)", "rgba(255,0,0,1)(node)" {string}, shows all-nodes in red
'{"hover":{"frameColor":"black","pad":-0.5}}(node)' {string}, draws a black-frame arround the node being hovered
"xxx(d),yyy(d,m),zzz(y)" {string}, specifies that the exontrol.Shapes.OrgChart.xxx combined with exontrol.Shapes.OrgChart.yyy object defines the visual appearance of "d" part of the control, exontrol.Shapes.OrgChart.yyy object defines the visual appearance of "m" part of the control and exontrol.Shapes.OrgChart.zzz object defines the visual appearance of "y" part of the control
Shapes
Shortcuts :exontrol.Sts
Type:
- exontrol.Sts
Example
The following sample removes the selection (calls the RemoveSelection() method) once the user presses the Delete key:
oOrgChart.Shortcuts.Add( "Delete", oOrgChart.RemoveSelection, oOrgChart );
where oOrgChart is an object of OrgChart type
Shortcuts
Show :NodeTypeEnum
The NodeTypeEnum defines the following flags (type of nodes):
- exNodeChild (1), specifies a node of child-type
- exNodeAssistant (2), specifies a node of assistant-type
- exNodeGroup (4), specifies a node of group-type
Type:
Example
null {null}, no filter by type is applied
0 {number}, displays the control's root only with no child, assistant or group nodes
1 or exontrol.OrgChart.NodeTypeEnum.exNodeChild {number}, displays the child nodes only (no assistant or group nodes)
Show
ShowExpandGlyphs :NodeTypeEnum
The NodeTypeEnum defines the following flags (type of nodes):
- exNodeChild (1), specifies a node of child-type
- exNodeAssistant (2), specifies a node of assistant-type
- exNodeGroup (4), specifies a node of group-type
Type:
Example
null {null}, the expand/collapse glyphs are displayed for any type of nodes: child, assistant or group
0 {number}, no expand/collapse glyphs are displayed for any type of nodes: child, assistant or group
1 or exontrol.OrgChart.NodeTypeEnum.exNodeChild {number}, shows the expand/collapse glyphs nodes of child type only
ShowExpandGlyphs
ShowLinks :exontrol.ShowLinksEnum
The exontrol.ShowLinksEnum type supports the following flags:
- exHide (0), specifies that no links are visible
- exExtended (0x01) specifies that links are shown as extended. This means the control automatically arranges both the start and end points of the links so they do not overlap. For example, if multiple links start from or end at the same element, the control ensures that each link uses a different start or end point instead of all sharing the same position. This helps keep the connections visually separated and easier to distinguish.
- exShow (0x02), specifies that links are visible (the links are always shown while not exHide)
- exFront (0x10), specifies that links are shown in front (by default, the control are shown on the background)
- exCrossRect (0x20) specifies that links are shown with rectangular cross-links. When two links intersect, the control displays the crossing using a rectangular bridge so one link appears to pass over the other without merging. This makes intersections easier to read and helps visually distinguish overlapping links.
- exCrossTriangle (0x20) specifies that links are shown with triangular cross-links. When two links intersect, the control displays the crossing using a triangular marker so one link appears to pass over the other without merging. This helps clearly indicate link intersections and improves the readability of overlapping connections.
- exCrossMixt (0x60) specifies that links are shown using mixed cross-links. When two links intersect, the control displays the crossing using a combination of cross-link styles (such as rectangular or triangular bridges) so one link appears to pass over the other without merging. This mixed representation helps visually distinguish intersections and improves the readability of overlapping links.
Type:
- exontrol.ShowLinksEnum
Example
0 or exontrol.ShowLinksEnum.exHide {number}, hides the links
1 or exontrol.ShowLinksEnum.exShow {number}, shows the links (on the background)
33 or exontrol.ShowLinksEnum.exExtended | exontrol.ShowLinksEnum.exCrossRect {number}, shows "extended" and "cross" links
ShowLinks
SingleExpandGlyphs :boolean
Type:
- boolean
Example
false {boolean}, the node displays expand/collapse glyphs for each type of node the current node has (child, assistant or group)
true {boolean}, the node displays a single expand/collapse glyphs for any type of node the current node has (child, assistant or group)
SingleExpandGlyphs
SingleSel :OrgChart.SingleSelEnum
The OrgChart.SingleSelEnum type defines the following flags:
- exDisableSel(0), specifies that the control's selection is disabled (can not be combined with any other flags)
- exEnableSel(1), specifies that the control's selection is enabled (multiple-selection, unless the exSingleSel is set )
- exSingleSel(2), specifies that the user can select a node only
- exToggleSel(4), specifies that the node's selection state is toggled once the user clicks a node.
- exDisableCtrlSel(8), disables toggling the node's selection state when user clicks a node, while CTRL modifier key is pressed.
- exDisableShiftSel(16), disables selecting nodes using the SHIFT key.
- exDisableDrag(32), disables selecting nodes by drag.
Type:
Example
0 or OrgChart.SingleSelEnum.exDisableSel {number}, disables selecting any node
3 or OrgChart.SingleSelEnum.exSingleSel | OrgChart.SingleSelEnum.exEnableSel {number}, enables control's single selection, so only a single node can be selected
6 or OrgChart.SingleSelEnum.exToggleSel | OrgChart.SingleSelEnum.exSingleSel {number}, enables control's single and toggle selection, which means that once a node is selected it gets unselected once it is clicked, or reverse, and only a single-node can be selected at once.
SingleSel
Size :any
The value of the Size property can be defined as follows:
- {null}, Indicates that no limit for the node's caption
- {number}, Specifies that the node's caption is displayed into a square of giving size (same width and height ). If 0 the node displays no caption
- {number[]}, Specifies an array of [min-width,min-height,max-width,max-height] type that defines the limits for width or/and height of the measured caption. The min-width,min-height,max-width,max-height can be null which indicates that the limit is ignored, or a positive number that specifies the limit (min or max)
Type:
- any
Example
null {null}, the node's caption is displayed with no limits
0 {number}, the node's caption is hidden
64 {number}, the node's caption is always displayed into a 64x64 square
[null, null, 128, null] {array}, limits the node's width up to 128 pixels
[128, null, 128, null] {array}, indicates that node's width is always 128 pixels
[128, null, null, null] {array}, indicates that node's minimum width is 128 pixels
[32, 18, 128, 64] {array}, indicates that node's width varies between 32 and 128 pixels, while the node's height varies between 18 and 64 pixels
Size
Smooth :number
Type:
- number
Example
0 {number}, no smooth changes once the control goes from a layout to another
125 {number}, specifies that a smooth-transition is performed from a layout to another for 125 ms.
Smooth
Statistics :string
The property returns a string like the following:
Size: 588x412
Zoom: 100%
Node: 37/99
Link: 78
Sel: 1
Type:
- string
Example
The following statements are equivalents:
oOrgChart.GetStatistics(), gets the control's statistics
oOrgChart.Statistics, gets the control's statistics
where oOrgChart is an object of OrgChart type
Statistics
Tfi :string|object
The value as {string} supports any of the following keywords (each keyword can be specified using first letters only such as "b" for "bold) separated by space characters:
- bold, displays the text in bold (equivalent of <b> tag)
- italic, displays the text in italics (equivalent of <i> tag)
- underline, underlines the text (equivalent of <u> tag)
- strikeout, specifies whether the text is strike-through (equivalent of <s> tag)
- <fontName name>, specifies the font's family (equivalent of <font name> tag)
- <fontSize size>, specifies the size of the font (equivalent of <font ;size> tag)
- <fgColor CSSColor>, specifies the text's foreground color (equivalent of <fgcolor> tag)
- <bgColor CSSColor>, specifies the text's background color (equivalent of <bgcolor> tag)
- <shaColor CSSColor;width;offset>, defines the text's shadow (equivalent of <sha color;width;offset> tag)
- <outColor CSSColor>, shows the text with outlined characters (CSScolor) (equivalent of <out color> tag)
- <graColor CSSColor;mode;blend>, defines a gradient text (equivalent of <gra color;mode;blend> tag)
Any other word within the string value that's not recognized as a keyword is interpreted as:
- name of the font (not a number), specifies the font's family (equivalent of <font name> tag)
- size of the font (number), specifies the size of the font (equivalent of <font ;size> tag)
The value as {object} supports any of the following fields:
- bold {boolean}, displays the text in bold (equivalent of <b> tag)
- italic {boolean}, displays the text in italics (equivalent of <i> tag)
- underline {boolean}, underlines the text (equivalent of <u> tag)
- strikeout {boolean}, specifies whether the text is strike-through (equivalent of <s> tag)
- fontName {string}, specifies the font's family (equivalent of <font name> tag)
- fontSize {number}, specifies the size of the font (equivalent of <font ;size> tag)
- fgColor {string}, specifies the text's foreground color (CSScolor) (equivalent of <fgcolor> tag)
- bgColor {string}, specifies the text's background color (CSScolor) (equivalent of <bgcolor> tag)
- shaColor {object}, specifies an object of {color, width, offset} type that defines the text's shadow (equivalent of <sha color;width;offset> tag), where:
- outColor {string}, shows the text with outlined characters (CSScolor) (equivalent of <out color> tag)
- graColor {object}, specifies an object of {color, mode, blend} type that defines a gradient text (equivalent of <gra color;mode;blend> tag), where:
- color {string}, defines the gradient-color (CSScolor)
- mode {number}, defines the gradient direction as 0 (left-right), 1 (default, top-bottom), 2 (left-center-right), and 3 (top-center-bottom)
- blend {number}, defines the gradient blend as a value between 0 and 1
CSSColor or CSS legal color values can be specified by the following methods:
- Hexadecimal colors, is specified with: #RRGGBB, where the RR (red), GG (green) and BB (blue) hexadecimal integers specify the components of the color. All values must be between 00 and FF. For example, #0000ff value is rendered as blue, because the blue component is set to its highest value (ff) and the others are set to 00.
- Hexadecimal colors with transparency, is specified with: #RRGGBBAA, where AA (alpha) value must be between 00 and FF. For example, #0000ff80 defines a semi-transparent blue.
- RGB colors, is specified with the RGB(red, green, blue) function. Each parameter (red, green, and blue) defines the intensity of the color and can be an integer between 0 and 255. For example, rgb(0,0,255) defines the blue color.
- RGBA colors, are an extension of RGB color values with an alpha channel as RGBA(red, green, blue, alpha) function, where the alpha parameter is a number between 0.0 (fully transparent) and 1.0 (fully opaque). For example, rgba(0,0,255,0.5) defines a semi-transparent blue.
- HSL colors, is specified with the HSL(hue, saturation, lightness) function, where hue is a degree on the color wheel (from 0 to 360) - 0 (or 360) is red, 120 is green, 240 is blue. saturation is a percentage value; 0% means a shade of gray and 100% is the full color. lightness is also a percentage; 0% is black, 100% is white. HSL stands for hue, saturation, and lightness - and represents a cylindrical-coordinate representation of colors. For example, hsl(240, 100%, 50%) defines the blue color.
- HSLA colors, are an extension of HSL color values with an alpha channel - which specifies the opacity of the object as HSLA(hue, saturation, lightness, alpha) function, where alpha parameter is a number between 0.0 (fully transparent) and 1.0 (fully opaque). For example, hsla(240, 100%, 50%,0.5) defines a semi-transparent blue.
- Predefined/Cross-browser color names, 140 color names are predefined in the HTML and CSS color specification. For example, blue defines the blue color.
Type:
- string | object
Example
null {null}, the tfi field is ignored
"bold monospace 16 <fg blue>" {string}, defines Monospace font of 16px height, bold and blue
{bold: true, fontName: "monospace", fontSize: 16, fgColor: "blue"} {object}, defines Monospace font of 16px height, bold and blue
Tfi
WheelChange :number
- Setting wheelChange to 0 disables mouse wheel actions, preventing the control from changing when the wheel is scrolled
- Setting wheelChange to a positive number, such as 5, increases the control's value by that amount each time the wheel is rotated, enabling faster adjustments
By modifying this value, you can fine-tune the control's responsiveness, making it easier for users to perform precise changes or larger adjustments as needed.
Type:
- number
Example
0 {number}, locks any action the mouse's wheel performs
18 {number}, scrolls the control by 18-pixels when mouse's wheel is rotated (CTRL + wheel scrolls horizontally)
WheelChange
Zoom :number
Type:
- number
Example
null {null}, Specifies normal-view (100%)
150 {number}, Indicates that the control's label is magnfied to 150%
Zoom
ZoomLevels :string
Type:
- string
Example
null {null}, Specifies that the control's zoom factor is always 100%
150 {number}, Specifies that the control's zoom factor is always 150%
"50,100,200,350" {string}, Indicates that the zoom-factor can be any of selected values, and the margins of zoom-factor is 50% to 350%
ZoomLevels
oCV :CV
Type:
Example
The following statements are equivalent:
oOrgChart.oCV.SetNodes("Root(C1,C2,C3)")
oOrgChart.SetNodes("Root(C1,C2,C3)")
where oOrgChart is an instance of OrgChart type
oCV
Methods
BeginUpdate()
Example
oOrgChart.BeginUpdate();
// performs multiple changes to the control
oOrgChart.EndUpdate();
BeginUpdate
EndUpdate()
Example
oOrgChart.BeginUpdate();
// performs multiple changes to the control
oOrgChart.EndUpdate();
EndUpdate
EnsureVisibleClient(clientA, ensureOptsopt)
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
clientA |
object | The client parameter could be any of the following:
|
|
ensureOpts |
object |
<optional> |
Specifies different options to run the current method as explained:
|
Example
oOrgChart.EnsureVisibleClient( oOrgChart.Node("ley") ), ensures that the node with key "ley" fits the control's client area
EnsureVisibleClient
EnsureVisibleNode(key)
Parameters:
| Name | Type | Description |
|---|---|---|
key |
any | The key parameter can be any of the following:
|
Example
oOrgChart.EnsureVisibleNode( "ley" ), ensures that the node with key "ley" fits the control's client area
EnsureVisibleNode
EnsureVisibleSelection()
Example
oOrgChart.EnsureVisibleSelection(), scrolls the control's content to ensure that the control's selection fits the control's client area
EnsureVisibleSelection
FitToClient(rtLayout)
Parameters:
| Name | Type | Description |
|---|---|---|
rtLayout |
Array.<number> | Indicates null for entire layout or an array of [x,y,width,height] type that defines the absolute-coordinate to fit to client. |
Example
oOrgChart.FitToClient(), fits the entire layout into the control's client area
FitToClient
GetCanvas() → {HTMLCanvasElement}
Returns:
- Type
- HTMLCanvasElement
Example
oOrgChart.GetCanvas(), gets the control's canvas element
GetCanvas
Home()
Example
oOrgChart.Home(), zooms to 100% and scrolls the control to origin (0,0)
Home
Node(key, oNodeopt) → {Node}
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
key |
any | The key parameter can be any of the following: key {string}, Specifies the node's key or caption key {object}, Indicates an object of Node that specifies the node itself. | |
oNode |
Node |
<optional> |
Indicates an object of Node type to start searching from. If missing the control's root node is used instead. The Root property returns the root node of the chart. |
Returns:
- Type
- Node
Example
The following statements are equivalent:
oOrgChart.Root.Item("key") {Node}, returns a node with specified key searching from the root node
oOrgChart.Node("key", oOrgChart.Root) {Node}, returns a node with specified key searching from the root node
oOrgChart.Node("key") {Node}, returns a node with specified key searching from the root node
where oOrgChart is an instance of OrgChart control
Node
Refresh()
For example, call Refresh() when:
- The control's container has been resized and the layout must be recalculated.
- External CSS or styling changes affect the control's appearance.
- The control becomes visible after being hidden.
- You need to ensure the UI is visually synchronized with its current internal state.
The method does not alter the control's data, options, or configuration - it only updates the rendered output.
Example
oOrgChart.Refresh(), refreshes the control
Refresh
RemoveSelection()
Example
oOrgChart.RemoveSelection(), deletes selected-nodes (including all descendants)
RemoveSelection
SelectAll()
Example
oOrgChart.SelectAll(), selects all nodes within the control
SelectAll
Shuffle(ratio)
Parameters:
| Name | Type | Description |
|---|---|---|
ratio |
number | specifies how far each element is randomized relative to the current size of the layout. For instance, 0 indicates that the element is not moved/shuffled, while 1, indicates that the element can randomize its position up to one width/height. |
Example
The following samples show how to shuffle/unshuffle the control's nodes when the mouse enters/leaves the control's area:
oOrgChart.GetCanvas().addEventListener("mouseleave", function()
{
oOrgChart.oCV.Shuffle();
})
oOrgChart.GetCanvas().addEventListener("mouseenter", function()
{
oOrgChart.oCV.Unshuffle();
})
Shuffle
Smooth(callback, thisArg, callbackLayoutopt)
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
callback |
callback | Indicates a callback function that generates the new layout for the control, such as expanding/collapsing a node, removing or adding new nodes to the control. The callback is provided with no arguments. | |
thisArg |
any | Specifies the value of this keyword for callback and callbackLayout functions. | |
callbackLayout |
callback |
<optional> |
Specifies a callback function, that allows you to update the visible-objects before/after the smooth-transition (not required). The callbackLayout function provides the following parameters:
rtClient {array}, indicates the control's client area as an array of [x,y,width,height] type |
Example
The following sample shows how to use the Smooth() method:
oOrgChart.Smooth(function()
{
...
});
where oOrgChart is an object of OrgChart type
Smooth
Soom(zoomTo, oPointAbs, rgrOriginopt)
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
zoomTo |
number | Indicates a numeric value that defines the target-zoom factor as a value between 10 and 1000 (no zoom if null or undefined). | |
oPointAbs |
object | Specifies an object of {x,y} or array as [x,y] type that specifies the absolute-coordinates of the point to scroll into the client at rgrOrigin relative-position. | |
rgrOrigin |
Array.<number> |
<optional> |
Specifies a two-elements array of [x,y] type that specifies the ratio on x and y axis to determine the position of the oPointA relative to the view page. The x and y values should be value between 0 and 1. |
Example
oOrgChart.Soom(100, [0,0]), zooms to 100% and brings the origin (0,0) at its original position
oOrgChart.Soom(150, [0,0], [0,0]), zooms to 150% and brings the origin (0,0) at top-left corner
Soom
ToggleExpandNode(key, nExpandTypeopt)
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
key |
any | The key parameter can be any of the following:
|
|
nExpandType |
NodeTypeEnum |
<optional> |
Specifies 0 (no effect), null/missing/undefined (indicates all node's descendants), or a combination of one or more valuef of NodeTypeEnum type that determines the type of descendant-nodes. |
Example
oOrgChart.oCV.ToggleExpandNode(oOrgChart.Root), toggles the expand/collapse state of the root node and all its descendant nodes
ToggleExpandNode
UnselectAll()
Example
oOrgChart.UnselectAll(), clears the control's selection
UnselectAll
Unshuffle()
Example
The following samples show how to shuffle/unshuffle the control's nodes when the mouse enters/leaves the control's area:
oOrgChart.GetCanvas().addEventListener("mouseleave", function()
{
oOrgChart.oCV.Shuffle();
})
oOrgChart.GetCanvas().addEventListener("mouseenter", function()
{
oOrgChart.oCV.Unshuffle();
})
Unshuffle
Update(callback, thisArgopt)
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
callback |
callback | Indicates a callback to perform changes within the control. | |
thisArg |
any |
<optional> |
Specifies the value of "this" keyword during the callback. If missing/empty/undefined the thisArg points to the control itself, as an object of OrgChart type. |
Example
oOrgChart.Update(function()
{
// performs multiple changes to the control
});
Update
feN(callback, thisArgopt)
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
callback |
callback | Indicates a callback to perform for each node within the control. The callback receives the current node as a parameter during each iteration. | |
thisArg |
any |
<optional> |
Specifies the value of "this" keyword during the callback. If missing/empty/undefined the thisArg points to the control itself, as an object of OrgChart type. |
- Since:
- 5.3
Example
The following sample logs the caption of each node within the control:
oOrgChart.feN(function(oNode, position)
{
console.log(oNode.Caption);
});
where oOrgChart is an object of OrgChart type
feN
feNU(callback, thisArgopt)
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
callback |
callback | Indicates a callback to perform for each node within the control until the callback returns a truthy value. The callback receives the current node as a parameter during each iteration. | |
thisArg |
any |
<optional> |
Specifies the value of "this" keyword during the callback. If missing/empty/undefined the thisArg points to the control itself, as an object of OrgChart type. |
- Since:
- 5.3
Example
The following sample logs the first disabled node's details within the control:
console.log(oOrgChart.feNU(function(oNode, position)
{
return !oNode.Enabled && oNode;
}));
where oOrgChart is an object of OrgChart type
feNU
off(event, listener, methodopt)
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
event |
string | Indicates the event to unbind, which can either be:
|
|
listener |
object | callback | Defines the listener to remove, which can either be:
|
|
method |
string |
<optional> |
Defines an optional case-sensitive string specifying the method on the listener to remove. If not provided, the listener[type]() function is used. This parameter is ignored when the listener is a JavaScript callback function. |
- Since:
- 4.4
Example
The following example removes the click event handler from the control:
oCV.off("click");
where oCV is an object of CV type.
This sample is equivalent to:
oCV.Listeners.Remove("onclick");
The following example removes all event handlers from the control:
oCV.off();
where oCV is an object of CV type.
This sample is equivalent to:
oCV.Listeners.Clear();
or
oCV.Listeners.Remove();
off
on(event, listener, methodopt) → {object}
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
event |
string | Specifies the event to listen for or a keyboard shortcut, in one of the following forms:
|
|
listener |
object | callback | Defines the listener, which can either be: listener {object}, an object that implements a notification method (e.g., listener[method](oEvent) or listener[type](oEvent)) to handle the event when it occurs listener {callback}, a JavaScript callback function to handle the event directly (the method parameter has not effect). | |
method |
string |
<optional> |
Defines an optional case-sensitive string specifying the method on the listener to handle the event. If not provided, the listener[type]() function is used. This parameter is ignored when the listener is a JavaScript callback function. |
- Since:
- 4.4
Returns:
- type {string}, specifies a case-sensitive string that specifies the type of event to listen for
- do(event) {callback}, indicates a function that can be invoked to trigger the specified event for all listeners registered for that event type
- callback {callback}, defines the listener's callback function
- thisArg {any}, defines the value of this during the listener's callback execution
- lock {number}, locks or unlocks the invocation of the listener's callback
- name {string}, defines the name of the callback, mostly used for debugging purposes
- equal(oCompareListenerCallback) {callback}, indicates a function of callback(oCompareListenerCallback) {boolean} type compares the current object with the provided object. It returns true if the objects contain the same data
- Type
- object
Example
The following example logs event details when the control is clicked:
oCV.on("click", function(oEvent)
{
console.log(oEvent);
});
where oCV is an object of CV type.
This sample is quivalent of
oCV.Listeners.Add("onclick", function (oEvent)
{
console.log(oEvent);
});
on