/* @license Copyright (C) Exontrol. All rights reserved. */ /////////////////////////////////////////////////////////// (exontrol.Pivot) // // The exontrol.Pivot class provides the following fields (public): // // Listeners {object}, holds a reference to exontrol.Lts which defines the events of the control. // Shortcuts {object}, holds a reference to exontrol.Sts which defines the shortcuts of the control. // Aggregates {object}, defines the aggregate-callbacks/functions the control supports (sum, count, ... ) // // The exontrol.Pivot class provides the following methods (public): // // AddTreeView(name,attributes), creates a new view to display the columns/items // ApplyFilter(), applies the control's filter (if any) // BeginUpdate(), suspends the control's render until the EndUpdate() method is called. It maintains performance, while multiple changes occurs within the control. // Cell(item,column) {exontrol.Tree.Cell}, returns the cell based on the item and column. // ChooseFile(error), clears the control's data and adds an input-file element to let user choose a local file (CSV format) to import data from // Clear(), clears the control's data (columns, items and filter) // ClearFilter(), clears the control's filter (if any) // CollapseAll(), collapses all items // Column(id) {exontrol.Tree.Column}, returns the column based on its index or identifier. // Columns/GetColumns() {exontrol.Tree.Columns}, returns the control's columns // ConditionalFormat(id) {exontrol.Tree.ConditionalFormat}, returns a conditional format based on its key // ConditionalFormats/GetConditionalFormats() {exontrol.Tree.ConditionalFormats}, returns the control's conditional formats // EndUpdate(), resumes the control's render, after it is suspended by the BeginUpdate() method // EnsureVisibleClient(clientA[, ensureOpts]), ensures that the giving client fits the control's client area. // EnsureVisibleSelection(), scrolls the control's content to ensure that the control's selection fits the control's client area // ExpandAll(), expands all items // FitToClient(rtLayout), ensures that the entire (null/undefined) or giving layout fits the control's client area // Home(), zooms to 100% and scrolls the control to origin (0,0) // Import(source, importOpts), imports data from CSV, XML format // Item(item) {exontrol.Tree.Item}, returns the item based on its index or identifier. // Items/GetItems() {exontrol.Tree.Items}, returns the control's items. // Layout/GetLayout()/SetLayout(value) {string}, saves or loads the control's UI layout, such as positions of the columns, scroll position, filtering values // LoadXML(source), loads an XML document (previously saved by an exontrol component) // Refresh(), refreshes the control // RemoveSelection(), deletes the selected-items. // RemoveTreeView(name), removes the view already created by the AddTreeView() method // Scroll(key), scrolls the view based on the giving key // SelectAll, selects all items within the control. // Selection/GetSelection()/SetSelection(value), gets or sets the control's selected-items. // Smooth(callback, thisArg), performs a smooth-transition from a layout to another. The smooth-transition goes from the current layout to the new layout generated by the callback. // Soom(zoomTo, oPointAbs), zooms or/and scrolls the control's content. // Statistics/GetStatistics() {string}, gives statistics data of objects being hold by the control // UnselectAll, clears the selection. // Update(callback, thisArg), locks the control's update during the callback, and invalidates the control once the method ends. // // FormatAppearances/GetFormatAppearances() {exontrol.Pivot.FormatAppearances}, returns the control's format-appearances that defines the visual-appearance to apply on pivot-columns // FormatConditionalAppearances/GetFormatConditionalAppearances() {exontrol.Pivot.FormatConditionalAppearances}, returns the control's format conditional-appearances that defines the visual-appearance to apply on pivot-columns, based on conditions // FormatContents/GetFormatContents() {exontrol.Pivot.FormatContents}, returns the control's format-contents that specifies how a column or row can be displayed, formatted or converted // // AllowActions/GetAllowActions()/SetAllowActions(value), customizes the actions the user can perform once the control is clicked or touched. // AllowDrop/GetAllowDrop()/SetAllowDrop(value), indicates whether the user can drag and drop local files into the control. // ColumnAutoResize/GetColumnAutoResize()/SetColumnAutoResize(value), indicates whether the control will automatically size its visible columns to fit on the control's client width // ColumnsFloatBarCaption/GetColumnsFloatBarCaption()/SetColumnsFloatBarCaption(value), specifies caption to show within the columns float bar // ColumnsFloatBarSortOrder/GetColumnsFloatBarSortOrder()/SetColumnsFloatBarSortOrder(value), specifies the sort order to show the columns within the control's columns floating panel // ColumnsFloatBarVisible/GetColumnsFloatBarVisible()/SetColumnsFloatBarVisible(value), shows or hides the Columns float-bar, which shows hidden or groupable columns // CountLockedColumns/GetCountLockedColumns()/SetCountLockedColumns(value), specifies the number of locked columns (a locked column is not scrollable, and it is fixed to the left side of the control) // Cursors/GetCursors()/SetCursors(value) {string}, defines the mouse cursor to display when pointing over different parts of the control. // DefaultItemHeight/GetDefaultItemHeight()/SetDefaultItemHeight(value), defines the item's default-height // DrawGridLines/GetDrawGridLines()/SetDrawGridLines(value), shows or hides the control's grid-lines // EnsureOnSort/GetEnsureOnSort()/SetEnsureOnSort(value), ensures that the selection fits the view's client-area once the user sorts or groups a column // ExpandOnDblClick/GetExpandOnDblClick()/SetExpandOnDblClick(value), specifies whether the item is expanded or collapsed once the user double-clicks the item // FilterBarCaption/GetFilterBarCaption()/SetFilterBarCaption(value), customizes the caption to display within the control's filter-bar // FilterBarHeight/GetFilterBarHeight()/SetFilterBarHeight(value), specifies the height of the control's filter-bar // FilterBarPrompt/GetFilterBarPrompt()/SetFilterBarPrompt(value), specifies the caption to show while the pattern of the filter-prompt is empty // FilterBarPromptColumns/GetFilterBarPromptColumns()/SetFilterBarPromptColumns(value), indicates the list of columns the pattern of filter-prompt is applying to. // FilterBarPromptPattern/GetFilterBarPromptPattern()/SetFilterBarPromptPattern(value), specifies the pattern of the control's filter-prompt. // FilterBarPromptType/GetFilterBarPromptType()/SetFilterBarPromptType(value), specifies the type of the control's filter-prompt. // FilterBarVisible/GetFilterBarVisible()/SetFilterBarVisible(value), shows or hides the control's filter-bar // FilterInclude/GetFilterInclude()/SetFilterInclude(value), specifies the items to include once the control's filter is applied. // FormatText/GetFormatText()/SetFormatText(value) {exontrol.DrawTextFormatEnum}, defines the global format to display the item's caption. // GetLockedItem(alignment,index), gets a locked item giving its index or identifier/key // GetLockedItemsCount(alignment)/SetLockedItemsCount(alignment, value), specifies the number of items fixed on the top or bottom side of the control // GetSmooth()/SetSmooth(value), defines the time in ms the control goes from one layout to another. // GridLines/GetGridLines()/SetGridLines(value), customizes the color, width and style of the control's grid-lines. // HeaderHeight/GetHeaderHeight()/SetHeaderHeight(value), specifies the height of the control's header // HeaderVisible/GetHeaderVisible()/SetHeaderVisible(value), shows or hides the control's header // ImageAlign/GetImageAlign()/SetImageAlign(value) {number}, defines the global-alignment of the item's image relative to its caption. // ImageSize/GetImageSize()/SetImageSize(value) {any}, defines the global size of the item's image. The image can be added using the exontrol.HTMLPicture.Add method // ItemAllowSizing/GetItemAllowSizing()/SetItemAllowSizing(value), indicates whether all or none of the items are resizable or fixed // Locked/GetLocked()/SetLocked(value) {boolean}, specifies whether the control is locked(protected) or unlocked // Margins/GetMargins()/SetMargins(value), specifies the control's margins // OnErrorChooseFile/GetOnErrorChooseFile()/SetOnErrorChooseFile(value), specifies whether the control displays an input-file to let user choose a local filte to import, as soon as an error occurs // Options/GetOptions()/SetOptions(value) {object}, specifies the options of the exontrol.Pivot control // Pad/GetPad()/SetPad(value) {(number|string|array)}, specifies the space between item's content and its borders. // ReadOnly/GetReadOnly()/SetReadOnly(value) {boolean}, specifies whether the control is read-only // ScrollPos/GetScrollPos()/SetScrollPos(value) {object}, scrolls horizontally and/or vertically the control's default view // Selection/GetSelection()/SetSelection(value), gets or sets the control's selected-items. // Shapes/GetShapes()/SetShapes(value) {string}, defines the shapes each part of the control can display. The shapes field customizes the control's visual appearance. // ShowLockedItems/GetShowLockedItems()/SetShowLockedItems(value), indicates whether the locked/fixed items are visible or hidden // SingleSel/GetSingleSel()/SetSingleSel(value), specifies whether the control supports single, multiple, toggle selection. // SingleSort/GetSingleSort()/SetSingleSort(value), indicates whether the control supports single or multiple-columns sort // SortBarCaption/GetSortBarCaption()/SetSortBarCaption(value), specifies the caption to be shown on the control's sortbar when it is empty. // SortBarVisible/GetSortBarVisible()/SetSortBarVisible(value), shows or hides the control's sortbar // SortOnClick/GetSortOnClick()/SetSortOnClick(value), specifies whether the column gets sorted once the user clicks its header. // Statistics/GetStatistics() {string}, gives statistics data of objects being hold by the control // Tfi/Tfi/GetTfi()/SetTfi(value) {exontrol.TFI}, defines an object of {bold,italic,...} type that defines font attributes to display the captions within the control. // ToolTipDelay/GetToolTipDelay()/SetToolTipDelay(value) {number}, specifies how long the mouse pointer must point to an object before the tool tip appears // ToolTipPopDelay/GetToolTipPopDelay()/SetToolTipPopDelay(value) {number}, specifies the period in ms of time the tool top remains visible if the mouse pointer is stationary within a control // ToolTipWidth/GetToolTipWidth()/SetToolTipWidth(value) {number}, specifies the width of the control's tooltip // TreeColumnIndex/GetTreeColumnIndex()/SetTreeColumnIndex(value), specifies the index or identifier/key/caption of the column that displays the hierarchy // WheelChange/GetWheelChange()/SetWheelChange(value) {number}, defines the amount the control scrolls when the user rolls the mouse wheel. // Zoom/GetZoom()/SetZoom(value), defines the zoom factor of the control's content. // ZoomLevels/GetZoomLevels()/SetZoomLevels(value), defines the zoom-levels the user can magnify the control's content // // The exontrol.Pivot class provides the following additional methods (public): // // CustomView/GetCustomView()/SetCustomView(value) {CustomViewOptions}, defines the control's custom-view options (@since 4.4) // DisplayPivotFields/GetDisplayPivotFields()/SetDisplayPivotFields(value) {number}, specifies the maximum number of columns to be displayed on the control's generated-list. // DisplayPivotRows/GetDisplayPivotRows()/SetDisplayPivotRows(value) {number}, specifies the maximum number of rows to be displayed on the control's generated-list. // FormatPivotHeader/GetFormatPivotHeader()/SetFormatPivotHeader(value) {string}, specifies the format to display the columns within the pivot bar // Misc/GetMisc()/SetMisc(value) {MiscellaneousOptions}, indicates the control's miscellaneous options (@since 4.2) // PivotBarVisible/GetPivotBarVisible()/SetPivotBarVisible(value) {exontrol.Pivot.PivotBarVisibleEnum}, shows or hides the control's pivot bar (it displays the layout of the pivot-table) // PivotColumns/GetPivotColumns()/SetPivotColumns(value) {string}, specifies the list of columns to be displayed in the pivot-table // PivotColumnsFloatBarVisible/GetPivotColumnsFloatBarVisible()/SetPivotColumnsFloatBarVisible(value) {exontrol.Tree.ColumnsFloatBarVisibleEnum}, shows or hides the pivot-columns window (it displays the columns that can used to build the pivot-table) // PivotRows/GetPivotRows()/SetPivotRows(value) {string}, specifies the list of group-by columns that determines the rows in the pivot-table // PivotTotals/GetPivotTotals()/SetPivotTotals(value) {string}, indicates the list of totals/subtotals to be shown in the pivot-table // ShowBranchRows/GetShowBranchRows()/SetShowBranchRows(value) {exontrol.Pivot.ShowBranchRowsEnum}, specifies how the branch rows display information (@since 4.1) // ShowDataOnDblClick/GetShowDataOnDblClick()/SetShowDataOnDblClick(value) {boolean}, shows the original data that generated the result when the user double clicks the item // ShowIdem/GetShowIdem()/SetShowIdem(value) {string}, defines the symbol used to indicate repeated captions, providing a clear visual cue for identical entries (has effect only for exBranchColumns mode) (@since 4.2) // // The exontrol.Pivot class provides the following events (through Listeners): // // "onselchange", notifies your application that the control's selection has been changed. The onselchange's parameter could be any of the following: // // oEvent {null}, indicates that the control has no selected items // oEvent {object}, indicates an object of exontrol.Tree.Item type that defines the control's single-item selected. // oEvent {array}, specifies an array of [exontrol.Tree.Item] type that holds all selected items within the control // // "onclick", occurs once the user clicks or double-clicks an item. The onclick's parameter is: // // oEvent {object}, specifies an object of {dblClick,button,modifiers,..} type, that holds information about the object being clicked // // oEvent.cell {object}, specifies undefined or an object of exontrol.Tree.Cell type that indicates the cell being clicked // oEvent.column {object}, specifies undefined or an object of exontrol.Tree.Column type that specifies the column being clicked // oEvent.view {object}, indicates an object of exontrol.Tree.TV, exontrol.Tree.TV.Header, ... type that specifies the view/window where the click occurred // oEvent.dblClick {boolean}, indicates whether the user clicks or double-clicks the item // oEvent.button {number}, indicates which button is pressed while clicking the item as 1 (left), 2 (right) or 4 (middle) // oEvent.modifiers {number}, specifies a combination of 1, 2, 4 and 16 according with modifier keys (ALT, CTRL, META and SHIFT), or 0 if no modifier keys // // "onchange", notifies your application that a cell, item, column, or more has been changed (expanded, checked, ...). The onchange's parameter is: // // oEvent {object}, specifies an object of {object,action} type, that holds information about the control's object being changed. // // oEvent.object {object}, specifies an object of the control being changed. The type of the object depends on the action it occured // oEvent.action {string}, Specifies the name of action such as follow: // // "expand-item" {string}, notifies that an item has been expanded or collapsed (the object refers to an exontrol.Tree.Item type) // "resize-item" {string}, notifies that the item's height has been changed (the object refers to an exontrol.Tree.Item type) // "drag-item" {string}, notifies the user drags the item to a new position (the object refers to an exontrol.Tree.Item type) // "check-cell" {string}, notifies that a cell has been checked or unchecked (the object refers to exontrol.Tree.Cell type) // "change-cell" {string}, occurs once the cell's value has changed (while UI edit) (the object refers to exontrol.Tree.Cell type) // "expand-column" {string}, notifies that a column has been expanded or collapsed (the object refers to an exontrol.Tree.Column type) // "resize-column" {string}, notifies that a column has been resized (the object refers to an exontrol.Tree.Column type) // "show-column" {string}, notifies that a column has shows or hidden (the object refers to an exontrol.Tree.Column type) // "drag-column" {string}, notifies that a column has been moved to a new position (the object refers to an exontrol.Tree.Column type) // "sort-column" {string}, notifies that a column has been sorted (the object refers to an exontrol.Tree.Column type) // // "onscroll", notifies your application once the control's view is scrolled. The onscroll's parameter is: // // oEvent {object}, specifies an object of {view,type,value} type, that holds information about the view's scroll that has been changed as explained: // // oEvent.view {object}, specifies the view, where the scroll occurs // oEvent.type {exontrol.SB.ModeEnum}, specifies the view's scroll that has changed as 0(vertical), 1(horizontal) // oEvent.value {number}, specifies the scroll's value // // "onsort", notifies your application once a column gets sorted or grouped by. The onsort's parameter is: // // oEvent {number}, defines the sort-operation it occured as a combination of one or more flags: // // 1 {number}, indicates sort operation // 2 {number}, indicates a group-by operation // // "onfilter", notifies your application once the control's filter has been changed. The onfilter has no parameters. // "onload", notifies your application once the control loads/imports data. The onload event has no parameters. // "onerror", notifies your application once the control encountered an error. The onerror's parameter is: // // oEvent {object}, specifies an object of DOMException (or any other) type that holds information about the error // // "ondolayout", notifies your application once once the pivot's layout is ready (the control's content has been re-generated/formatted, after pivotRows, pivotColumns or pivotTotals property has been changed). The ondolayout has no parameters) // "onviewchange", notifies your application once control's view is changed, such as when data is updated, summarized, sorted, or filtered (@since 4.3) // /////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////// (exontrol.Pivot.Options) // // The exontrol.Pivot.Options namespace provides definitions for different objects, primitives, objects of exontrol.Pivot object // // The exontrol.Pivot.Options namespace provides the following fields: // // allowActions {string}, customizes the actions the user can perform once the user clicks or touches the control. // allowDrop {boolean}, specifies whether the user can drag and drop local files into the control // allowGroupBy {boolean}, indicates whether the control supports Group-By view // columnAutoResize {boolean}, specifies whether the control will automatically size its visible columns to fit on the control's client width // columnsFloatBarCaption {string}, indicates the caption the columns floatbar displays // columnsFloatBarSortOrder {number}, specifies the sort order to show the columns within the control's columns floating panel // columnsFloatBarVisible {exontrol.Tree.ColumnsFloatBarVisibleEnum}, shows or hides the columns float-bar, which displays hidden or groupable columns // countLockedColumns {number}, specifies the number of locked columns (a locked column is not scrollable, and it is fixed to the left side of the control) // crSize {number}, specifies the size to show the check-box/radio-button // cursors {string}, specifies the mouse cursor to be displayed when pointing over a part of the control. // data {any}, imports (CSV, XML) or exports(Array) the control's data // defaultItemHeight {number}, defines the item's default-height // displayPivotFields {number}, specifies the maximum number of columns to be displayed on the control's generated-list. // displayPivotRows {number}, specifies the maximum number of rows to be displayed on the control's generated-list. // drawGridLines {exontrol.Tree.GridLinesEnum}, shows or hides the control's grid-lines // ensureOnSort {boolean}, ensures that the selection fits the view's client-area once the user sorts or groups a column // expandGlyphSize {number}, specifies the size to show the item's expand/collapse glyphs // expandOnDblClick {boolean}, specifies whether the item is expanded or collapsed once the user double-clicks the item // filterBarCaption {string}, customizes the caption to be shown within the control's filter-bar // filterBarHeight {number}, specifies the height to display the control's filter-bar // filterBarPrompt {string}, specifies the caption to show while the pattern of the filter-prompt is empty // filterBarPromptColumns {any}, indicates the list of columns the pattern of filter-prompt is applying to. // filterBarPromptPattern {string}, indicates the pattern of the filter-prompt // filterBarPromptType {exontrol.Tree.FilterPromptEnum}, specifies the type of filter-prompt. // filterBarVisible {exontrol.Tree.FilterBarVisibleEnum}, shows or hides the control's filter-bar // filterInclude {exontrol.Tree.FilterIncludeEnum}, specifies the items to include once the control's filter is applied. // formatPivotHeader {string}, specifies the format to display the columns within the pivot bar // formatText {exontrol.DrawTextFormatEnum}, specifies the format to display the item's caption. // gridLines {object}, defines the color, width and style of the control's grid-lines // groupByFormatCell {string}, indicates the format of the cell to be displayed when the column gets grouped by // headerHeight {number}, specifies the height to display the control's header // headerVisible {boolean}, shows or hides the control's header // imageAlign {number}, defines the alignment of the image within the item. // imageSize {(null|number|array)}, defines the size of the item's image. // itemAllowSizing {boolean}, specifies whether all or none of the items are resizable or fixed // locked {boolean}, indicates whether the control is locked(protected) or unlocked // margins {object}, specifies control's margins. // onErrorChooseFile {boolean}, specifies whether the control displays an input-file to let user choose a local filte to import, as soon as an error occurs // pad {(number|string|array)}, defines the item's padding (space between the item's content and its border) // pivotBarVisible {exontrol.Pivot.PivotBarVisibleEnum}, shows or hides the control's pivot bar (it displays the layout of the pivot-table) // pivotColumns {string}, specifies the list of columns to be displayed in the pivot-table // pivotColumnsFloatBarVisible {exontrol.Tree.ColumnsFloatBarVisibleEnum}, shows or hides the pivot-columns floatbar (it displays the columns that can used to build the pivot-table) // pivotRows {string}, specifies the list of group-by columns that determines the rows in the pivot-table // pivotTotals {string}, indicates the list of totals/subtotals to be shown in the pivot-table. // scrollBars {exontrol.ScrollBarsEnum}, determines whether the control has horizontal and/or vertical scroll bars // scrollPos {object}, defines the horizontal and vertical scroll-position of the control's default view, as an object of {x,y} type // shapes {string}, defines the shapes each part of the control can display. The shapes field customizes the control's visual appearance. // showBranchRows {exontrol.Pivot.ShowBranchRowsEnum}, specifies how the branch rows display information (@since 4.1) // showDataOnDblClick {boolean}, shows the original data that generated the result when the user double clicks the item // showIdem {string}, defines the symbol used to indicate repeated captions, providing a clear visual cue for identical entries (has effect only for exBranchColumns mode) (@since 4.2) // showLockedItems {boolean}, indicates whether the locked/fixed items are visible or hidden // singleSel {exontrol.Tree.SingleSelEnum}, specifies whether the control supports single, multiple, toggle selection. // singleSort {boolean}, specifies whether the control supports single or multiple columns-sort // smooth {number}, defines the time in ms the control goes from one layout to another. // sortBarCaption {string}, defines the caption to be shown on the control's sortbar when it is empty. // sortBarVisible {boolean}, shows or hides the control's sortbar // sortOnClick {exontrol.Tree.SortOnClickEnum}, indicates whether the column gets sorted once its header is clicked. // tfi {(string|object)}, holds the font attributes for captions within the control. The tfi field can be defined using a string representation such as "b monospace 16" or as an object such as {bold: true, fontName: "monospace", fontSize: 16}. // toolTipDelay {number}, specifies how long the mouse pointer must point to an object before the tool tip appears // toolTipPopDelay {number}, specifies the period in ms of time the tool top remains visible if the mouse pointer is stationary within a control // toolTipWidth {number}, indicates the width of the control's tooltip // treeColumnIndex {any}, specifies the index or identifier/key/caption of the column that displays the hierarchy // wheelChange {number}, specifies the amount the control scrolls when the user rolls the mouse wheel. // zoom {number}, defines the zoom factor of the control's content. The zoomLevels field defines the margins of the zoom-factor the control is allowed to magnify. // zoomLevels {string}, defines the zoom-levels the user can magnify the control's content // /////////////////////////////////////////////////////////// /** * @description The exontrol.Pivot.Options namespace provides definitions for different objects, primitives, objects of exontrol.Pivot object */ exontrol.Pivot.Options = { /** * @description The scrollBars field determines whether the control has horizontal and/or vertical scroll bars. A combination of one or more exontrol.ScrollBarsEnum flags that determines whether the control has horizontal and/or vertical scroll bars. * * The exontrol.ScrollBarsEnum type defines the following flags: * * exNoScroll (0), specifies that no scroll bars are shown (scroll is not allowed) * exHorizontal (1), specifies that only horizontal scroll bars is shown * exVertical (2), specifies that only vertical scroll bars is shown * exBoth (3), specifies that both horizontal and vertical scroll bars are shown * 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, 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 (use this option to specify that the user scrolls the control's content when the thumb of the scroll box is released) * exVScrollOnThumbRelease (0x200), specifies that the control's content is vertically scrolled as soon as the user releases the thumb of the vertical scroll bar (use this option to specify that the user scrolls the control's content when the thumb of the scroll box is released) * exScrollOnThumbRelease (0x300), specifies that the control's content is scrolled as soon as the user releases the thumb of the horizontal scroll bar (use this option to specify that the user scrolls the control's content when the thumb of the scroll box is released) * 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 cursor hovers the window. Also, the control's client area is extended on the scroll bars 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 * * 0 or exontrol.ScrollBarsEnum.exNoScroll {number}, removes the control's scroll bars, so scroll is not allowed * 15 or exontrol.ScrollBarsEnum.exDisableBoth {number}, the control always displays the scroll bars, and they are active only if scroll is possible * 12291 or exontrol.ScrollBarsEnum.exBoth | exontrol.ScrollBarsEnum.exExtendSBS {number}, the control shows the scroll bars only if the cursor hovers the control, and the control scroll bars are hidden as soon as the cursor leaves the control */ scrollBars: exontrol.ScrollBarsEnum.exBoth, /** * @description The tfi field applies font attributes to captions within the control. The tfi field can be defined using a string representation such as "b monospace 16" or as an object such as {bold: true, fontName: "monospace", fontSize: 16}. * * The tfi field 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 tag) * italic, displays the text in italics (equivalent of tag) * underline, underlines the text (equivalent of tag) * strikeout, specifies whether the text is strike-through (equivalent of tag) * , specifies the font's family (equivalent of tag) * , specifies the size of the font (equivalent of tag) * , specifies the text's foreground color (equivalent of tag) * , specifies the text's background color (equivalent of tag) * , defines the text's shadow (equivalent of tag) * , shows the text with outlined characters (CSScolor) (equivalent of tag) * , defines a gradient text (equivalent of tag) * * Any other word within the tfi field that's not recognized as a keyword is interpreted as: * * name of the font (not a number), specifies the font's family (equivalent of tag) * size of the font (number), specifies the size of the font (equivalent of tag) * * The tfi field as object supports any of the following fields: * * bold {boolean}, displays the text in bold (equivalent of tag) * italic {boolean}, displays the text in italics (equivalent of tag) * underline {boolean}, underlines the text (equivalent of tag) * strikeout {boolean}, specifies whether the text is strike-through (equivalent of tag) * fontName {string}, specifies the font's family (equivalent of tag) * fontSize {number}, specifies the size of the font (equivalent of tag) * fgColor {string}, specifies the text's foreground color (CSScolor) (equivalent of tag) * bgColor {string}, specifies the text's background color (CSScolor) (equivalent of tag) * shaColor {object}, specifies an object of {color, width, offset} type that defines the text's shadow (equivalent of tag), where: * color {string}, defines the color of the text's shadow (CSScolor) * width {number}, defines the size of the text's shadow * offset {number}, defines the offset to show the text's shadow relative to the text * outColor {string}, shows the text with outlined characters (CSScolor) (equivalent of tag) * graColor {object}, specifies an object of {color, mode, blend} type that defines a gradient text (equivalent of 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" {string}, defines Monospace font of 16px height, bold * {bold: true, fontName: "monospace", fontSize: 16} {object}, defines Monospace font of 16px height, bold */ tfi: null, /** * @description The locked field indicates whether the control is locked(protected) or unlocked * @type {boolean} * @example * * false {boolean}, unlocks the control (can select any item) * true {boolean}, locks the control (can't select any item) */ locked: false, /** * @description The readOnly field indicates whether the control is read-only * @type {boolean} * @example * * false {boolean}, the user can edit or drag any item * true {boolean}, the user can not edit or drag the items */ readOnly: false, /** * @description The wheelChange field specifies the amount the control scrolls when the user rolls the mouse wheel. * @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: 18, /** * @description The smooth field defines the time in ms the control goes from one layout to another. * @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: 125, /** * @description The margins field specifies control's margins. * @type {object} */ margins: { /** * @description The indent field defines the distance between a child item and its parent, while the items are arranged as a tree. * @type {number} * @example * * 0 {number}, defines no indention * 16 {number}, defines 16-pixels indention */ indent: 16 }, /** * @description The shapes field defines the shapes each part of the control can display. The shapes field customizes the control's visual appearance. A string expression that defines the shapes each part of the control can display. * * The format of shapes 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.Pivot object (while it starts with a lowercase letter, such as shitem which refers to exontrol.Shapes.Pivot.shitem 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 below) * * The shapes property supports any of the following parts: * * "itemTot", defines the visual-appearance for item of total type * "itemSub", defines the visual-appearance for item of sub-total type * "pivotBar-addNew", defines the visual-appearance of the "add-new" buttons within the control's pivotbar * "pivotBar-aggregate", defines the visual-appearance of an aggregate-glyph within the control's pivotbar * "pivotBar-idem", defines the visual-appearance of idem-columns within the control's pivotbar * "pivotBar-refresh", defines the visual-appearance of the "Refresh" button within the control's pivotbar * "pivotBar-total", defines the visual-appearance of a total-field within the control's pivotbar * * "cell", defines the visual-appearance for all cells within the control * "check", defines the visual-appearance of the check-box * "column", defines the visual-appearance of column's header * "column-filter", defines the visual-appearance of column's filter-button * "expand", defines the visual-appearance of expand/collapse glyphs * "filterBar", defines the visual-appearance of the control's filter-bar * "filterBar-close", defines the visual-appearance of the filter-bar's close button * "frameFit", specifies the visual appearance of the frame that is displayed while fitting objects into the control's client area during a drag operation * "frameSel", defines the visual appearance to display a frame while selecting objects by drag * "item", defines the visual-appearance for all items within the control * "itemAlt", defines the visual-appearance for alternate-items (every second item) * "itemDiv", defines the visual-appearance for divider-items (a divider-item displays only a single-cell) * "lock", defines the visual-appearance for locked-part of the tree-view (left and right-side panel of the tree-view, determined by the countLockedColumns field, displays un-scrollable columns) * "lock-header", defines the visual-appearance for locked-part of the header (left and right-side panels of the header, determined by the countLockedColumns field, displays un-scrollable columns). The "lock-header" and "lock-header-right" are background shapes and may be overridden by columns, so set exontrol.Shapes.Pivot.shcolumn.normal.fillColor = "rgba(0,0,0,0.25)" for a partially transparent background. * "lock-header-right", defines independent styling of right-locked-part of the header (right-side panel of the header, determined by the countLockedColumns field, displays un-scrollable columns). The "lock-header" and "lock-header-right" are background shapes and may be overridden by columns, so set exontrol.Shapes.Pivot.shcolumn.normal.fillColor = "rgba(0,0,0,0.25)" for a partially transparent background. (@since 4.6) * "lock-items", defines the visual appearance of top or bottom-locked items in the tree view (these locked items, displayed in the top and bottom panels of the tree view (as determined by the SetLockedItemsCount method), remain fixed and do not scroll) (@since 4.6) * "lock-items-bottom", defines independent styling of the bottom-locked items in the tree view (these items appear in the bottom panel (as determined by the SetLockedItemsCount method) and remain fixed without scrolling) (@since 4.6) * "lock-right", defines independent styling of the right-locked columns (items section only, not including the header) (right-side panel of the tree-view, determined by the countLockedColumns field, displays un-scrollable columns) (@since 4.6) * "multiSel", specifies the visual appearance to show the count of multiple-selected items (for instance, when you drag and drop multiple items at once) * "radio", defines the visual-appearance of the radio-button * "select", defines the visual-appearance of selected-item * "sortBar-caption", defines the visual-appearance of control's sortbar when it displays no columns * "unlock", defines the visual-appearance for unlocked-part of the tree-view (ride-side panel of the tree-view, determined by the countLockedColumns field, displays scrollable columns) * "unlock-header", defines the visual-appearance for unlocked-part of the header (ride-side panel of the header, determined by the countLockedColumns field, displays scrollable columns) * * @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(itemAlt)", "#FF0000(itemAlt)", "rgb(255,0,0)(itemAlt)", "rgba(255,0,0,1)(itemAlt)" {string}, shows alternate-items in red * '{"hover":{"fillColor":"black","tfi":{"fgColor":"white"}}}(item)' {string}, shows the item in white on a black-background, while the cursor hovers it * "xxx(d),yyy(d,m),zzz(y)" {string}, specifies that the exontrol.Shapes.Pivot.xxx combined with exontrol.Shapes.Pivot.yyy object defines the visual appearance of "d" part of the control, exontrol.Shapes.Pivot.yyy object defines the visual appearance of "m" part of the control and exontrol.Shapes.Pivot.zzz object defines the visual appearance of "y" part of the control */ shapes: "shitem(item),shcell(cell),shtotal(pivotBar-total),shaddNew(pivotBar-addNew),shcolumn(column,sortBar-caption),shfilterBar(filterBar),Expand(expand),FrameFit(frameFit),FrameSel(frameSel,select),shcheck(check),shradio(radio),Button(filterBar-close,pivotBar-refresh),Border(pivotBar-aggregate,itemTot,itemSub),shmulti(multiSel)", /** * @description The cursors field specifies the mouse cursor to be displayed when pointing over a part of the control. Specifies the mouse cursor to be displayed when pointing over a part of the control. * * The format of cursors 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 below) * * The "cursor" can be any of the following: * * "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 * "pointer", the pointer cursor (a hand with a pointing finger) * * The "part" can be any of the following: * * "pivotBar-addNew", defines the mouse-cursor to show when the mouse pointer hovers the "add-new" buttons within the control's pivotbar * "pivotBar-aggregate", defines the mouse-cursor to show when the mouse pointer hovers an aggregate-glyph within the control's pivotbar * "pivotBar-total", defines the mouse-cursor to show when the mouse pointer hovers a total-field within the control's pivotbar * "pivotBar-refresh", defines the mouse-cursor to show when the mouse pointer hovers the "Refresh" button within the control's pivotbar * * "anchor" (hyperlink), defines the mouse-cursor when the mouse pointer hovers the anchor (the ex-HTML part marks an anchor or hyperlink element) (@since 2.2) * "cell", defines the mouse-cursor when the mouse pointer hovers any cell * "check", defines the mouse-cursor to be shown when the mouse pointer hovers the check-box/radio-button * "column", defines the mouse-cursor to show when the mouse pointer hovers the column's header * "column-drag", defines the mouse-cursor while the column is dragging * "column-filter", defines the mouse-cursor to show when the mouse pointer hovers the column's filter-button * "drag-drop", defines the cursor while the item is being dragged using the "drag-drop" action * "expand", defines the mouse-cursor to be shown when the mouse pointer hovers the expand/collapse glyphs * "filterBar-caption", defines the mouse-cursor to show when the mouse pointer hovers the filter-bar's caption field * "filterBar-caption-column", defines the mouse-cursor to show when the mouse pointer hovers a column of the filter-bar's caption field * "filterBar-close", defines the mouse-cursor to show when the mouse pointer hovers the filter-bar's close button * "filterBar-prompt", defines the mouse-cursor to show when the mouse pointer hovers the filter-bar's prompt label * "item", defines the mouse-cursor when the mouse pointer hovers any item * "item-drag", defines the cursor while the item is being dragged using the "item-drag" action * "long", specifies the mouse-cursor to be shown as soon as a "long" click or touch action begins (see allowActions field) * "no", defines the mouse-cursor to be shown when no operation is allowed (for instance, dropping the item is not allowed in this area) * * @type {string} * @example * * "pointer(xxx,yy)" {string}, indicates that the "pointer" mouse cursor is shown while cursor hovers any "xxx" or "yyy" part of the control */ cursors: "not-allowed(no),grab(long),pointer(expand,check,radio,filterBar-close,filterBar-caption-column,column-filter,column-drag,item-drag,drag-drop,anchor,pivotBar-total,pivotBar-refresh,pivotBar-addNew,pivotBar-aggregate),text(filterBar-prompt)", /** * @description The singleSel field specifies whether the control supports single, multiple, toggle selection. Indicates whether the control supports single or multiple selection. * * The exontrol.Tree.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 item only * exToggleSel(4), specifies that the item's selection state is toggled once the user clicks a item. * exDisableCtrlSel(8), disables toggling the item's selection state when user clicks a item, while CTRL modifier key is pressed. * exDisableShiftSel(16), disables selecting items using the SHIFT key. * exDisableDrag(32), disables selecting items by drag. * * @type {exontrol.Tree.SingleSelEnum} * @example * * 0 or exontrol.Tree.SingleSelEnum.exDisableSel {number}, disables selecting any item * 3 or exontrol.Tree.SingleSelEnum.exSingleSel | exontrol.Tree.SingleSelEnum.exEnableSel {number}, enables control's single selection, so only a single item can be selected * 6 or exontrol.Tree.SingleSelEnum.exToggleSel | exontrol.Tree.SingleSelEnum.exSingleSel {number}, enables control's single and toggle selection, which means that once a item is selected it gets unselected once it is clicked, or reverse, and only a single-item can be selected at once. */ singleSel: exontrol.Tree.SingleSelEnum.exEnableSel, /** * @description The zoom field defines the zoom factor of the control's content. The zoomLevels field defines the margins of the zoom-factor the control is allowed to magnify. Indicates the content's zoom factor in percent. The zoom field can be any value between 10 (10%) and 1000 (1000%) * @type {number} * @example * * null {null}, Specifies normal-view (100%) * 150 {number}, Indicates that the control's content is magnfied to 150% */ zoom: 100, /** * @description The zoomLevels field defines the zoom-levels the user can magnify the control's content. Specifies a list of numbers separated by comma that indicates the zoom-levels/zoom-margins the control's content is allowed to zoom * @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: "50,65,75,80,90,100,110,125,150,175,200,250,300,400,500", /** * @description The formatText field specifies the format to display the item's caption. A combination of one or more exontrol.DrawTextFormatEnum flags that defines the format to show the item's caption. * * The exontrol.DrawTextFormatEnum type supports 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: exontrol.DrawTextFormatEnum.exTextAlignLeft | exontrol.DrawTextFormatEnum.exTextAlignVCenter | exontrol.DrawTextFormatEnum.exTextSingleLine | exontrol.DrawTextFormatEnum.exTextWordEllipsis, /** * @description The pad field defines the item's padding (space between the item's content and its border). A value that could be a numeric value, to pad horizontal and vertical size with the same value, or a "x,y" or [x,y] type to specify the padding on h/v size * @type {(number|string|array)} * @example * * null {null}, indicates that the default padding value of [4,4] is applied * 0 {number}, indicates no padding * "8,4" {string}, increases the item's width with 2 * 8-pixels and item's height with 2 * 4-pixels * [8,4] {array}, increases the item's width with 2 * 8-pixels and item's height with 2 * 4-pixels */ pad: [4,4], /** * @description The imageSize field defines the size of the item's image. * @type {(null|number|array)} * * The imageSize could be of one of the following types: * * {null}, Indicates that the item's image is displayed as it is (full-sized). * {number}, Specifies that the item's image is displayed into a square of giving size (same width and height). If 0 the item displays no image, if negative the item's image is stretched to giving square, else the item's picture is scaled to fit the giving rectangle. * {array}, 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 item's picture to scale or stretch to. * * @example * * null {null}, Indicates that the item'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: 18, /** * @description The imageAlign field defines the alignment of the image within the item. Indicates the alignment of the image within the item. as 0 (left, default), 1(right), 2(top) or 3(bottom). * * The imageAlign propery can be any of the following: * * 0, the image is on the left of the item's caption * 1, the image is on the right of the item's caption * 2, the image is on the top of the item's caption * 3, the image is on the bottom of the item's caption * * @type {number} * @example * * null {null}, the image is aligned left to the caption (default) * 1 {number}, the image is displayed to the right of the item's caption */ imageAlign: 0, /** * The allowActions field defines a list of actions separated by comma that the user can perform by drag or click on the control's content. The order of the actions is very important, as the control checks each action from left to right until it finds a matching action for the performed mouse/touch event. * * The format of allowActions field is: * * "action(shortcut,shortcut,...),action(shortcut,shortcut,...)..." * * where * * "action", indicates the name of the action. The "action" can have any of the following values: * * "column-drag", drags the column to a new position (not available if the control is read-only) * "column-resize", resizes columns by drag (available only if the control's readOnly property is false, and the column's allowSizing field is true). The "column-resize" action allows flags such as: * [view], column-resize operation possible in the view * [header], column-resize operation possible in the header of the view * "edit", edits the cell being clicked (not available if the control is read-only) * "fit", fits the drag-area into the control's client area * "format", formats content, appearance, conditional of the column from the cursor * "item-drag", moves items by drag (not available if the control is read-only). The "item-drag" action allows flags such as: * [position], item can be dragged from a position to another, but not outside of its group * [keepIndent], item can be dragged while keeping its indentation * [any], item can be dragged to any position or parent without restriction (default) * "item-resize", resize items by drag (available only if the control's readOnly property is false, and Item.AllowSizing property is true). The "item-resize" action allows flags such as: * [all], once an item gets resized, all resizable-items get resized; if missing, only the item (or all selected items) gets resized * "scroll", scrolls the control's content by drag. The "scroll" action allows flags such as: * [view], scroll possible when user clicks the view * [header], scroll possible when user clicks the header of the view * "select", selects items 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 or touch before it begins * "Double", specifies that the action requires a "double" click before it begins (this flag is available for non-dragable actions only such as "edit") * "+", 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. * "column-resize[view](LButton)" {string}, allows resizing the columns (inside the view), while pressing the mouse's left-button only * "column-drag(Shift+LButton),item-drag,scroll" {string}, indicates that dragging a column is possible only if the user presses the mouse's left-button while SHIFT key is pressed, and "item-drag" or "scroll" is possible no matter of the event's button or modifier-keys in this order (if one operation is not possible, the next one is performed). * */ allowActions: "edit,fit(Shift+MButton,Ctrl+MButton,Alt+MButton),zoom(MButton),select(Shift,Ctrl),column-resize[header],column-drag,scroll,format(RButton)", /** * @description The expandGlyphSize field specifies the size to show the item's expand/collapse glyphs * @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: 16, /** * @description The crSize field specifies the size to show the check-box/radio-button * @type {number} * @example * * 0 {number}, displays no check-box/radio-button * 24 {number}, specifies a size of 24x24 to display the check-box/radio-button */ crSize: 16, /** * @description The headerHeight field specifies the height to display the control's header (specifies the height the header's level, where columns header is being shown). The header displays the header of each visible-columns. * @type {number} * @example * * 0 {number}, hides the control's header * 24 {number}, indicates that the height of the control's header is 24 */ headerHeight: 24, /** * @description The headerVisible field specifies whether the control's header is visible or hidden. The header displays the header of each visible-columns. Indicates whether the control's header is visible or hidden * * The exontrol.Tree.HeaderVisibleEnum type defines the following values: * * exHeaderHidden(0), the control's header is hidden * exHeaderVisible(-1), the control's header is visible * exHeaderVisibleExtendLevels(1), the control's header is visible, and each column's header is extended to cover all levels of the header * * @type {exontrol.Tree.HeaderVisibleEnum} * @example * * false {boolean} or 0 {number}, hides the control's header * -1 {number} or exontrol.Tree.HeaderVisibleEnum.exHeaderVisible {number}, shows the control's header * true {boolean} or 1 {number}, shows the control's header (each column's header is extended to cover all levels of the header) */ headerVisible: exontrol.Tree.HeaderVisibleEnum.exHeaderVisible, /** * @description The headerEnabled field enables or disables the control's header (includes the control's sortbar or floatbar). While disabled the user can't move, resize, sort or drag and drop the columns by drag and drop. * @type {boolean} * @example * * false {boolean} or 0 {number}, disables the headers of the control * true {boolean}, enables the headers of the control * * @since 2.4 */ headerEnabled: true, /** * @description The countLockedColumns field specifies the number of locked columns (a locked column is not scrollable, and it is fixed to the left side of the control). Specifies the number of locked columns. The countLockedColumns field splits the view into lock and unlock parts. The lock-part hosts the columns that are fixed, and can not be scrolled. * @type {number} * @example * * 0 {number}, indicates that the control displays no locked-columns * 2 {number}, specifies that the first two-visible columns are locked (not scrollable and fixed to the left side of the control) */ countLockedColumns: 0, /** * @description The columnAutoResize field specifies whether the control will automatically size its visible columns to fit on the control's client width * @type {boolean} * @example * * false {boolean}, no effect * true {number}, all visible columns are proportionally resized to fit the control's width */ columnAutoResize: false, /** * @description The sortBarVisible field specifies whether the control's sortbar is visible or hidden. The sortbar displays the header of each sorted/grouped-columns. * @type {boolean} * @example * * false {boolean}, hides the control's sortbar * true {boolean}, shows the control's sortbar */ sortBarVisible: false, /** * @description The sortBarCaption field specifies the caption to be shown on the control's sortbar when it is empty. * @type {string} * @example * * null {null}, the control's sortbar shows the default-caption * "Drag a column header here to drag by that column." {string}, changes the caption to be displayed on the control's sortbar while it is empty. */ sortBarCaption: "Drag a column header here to sort by that column.", /** * @description The singleSort field specifies whether the control supports single or multiple-columns sort * @type {boolean} * @example * * false {boolean}, specifies that the control supports one ore more sorted-columns * true {boolean}, the control supports single-column sorts only */ singleSort: false, /** * @description The sortOnClick field indicates whether the column gets sorted once the user clicks its header. Specifies a numeric value that defines the action once the user clicks the column's header * * The exontrol.Tree.SortOnClickEnum type defines the following values: * * exNoSort(0), the column is not sorted when user clicks the column's header. * exDefaultSort(-1), The column gets sorted when user the clicks the column's header. * exUserSort(-1), The control displays the sort icons, but it doesn't sort the column (not supported) * * @type {exontrol.Tree.SortOnClickEnum} * @example * * null {null}, specifies the control's default sort on click, equivalent of exDefaultSort * 0 {number}, no column gets sorted once the user clicks any column's header */ sortOnClick: exontrol.Tree.SortOnClickEnum.exDefaultSort, /** * @description The allowGroupBy field specifies whether the control supports group-by view * @type {boolean} * @example * * false {boolean}, no group-view is generated once the user drags a column to the control's group-by/sort bar * true {boolean}, the control supports group-by view */ allowGroupBy: false, /** * @description The groupByFormatCell field indicates the format of the cell to be displayed when the column gets grouped by. Specifies the format of the cell to be displayed when the column gets grouped by * * The format-expression supports the following keywords: * * value, indicates the value of the current cell ( "value/2 format ``", displays half of the value using current regional format ) * %0, %1, %2, ... specifies the value of the cell in the column with the index 0, 1 2, ... ( "currency(%0 + %1)", adds the value of first and second cell and displays it as a currency ) * %C0, %C1, %C2, ... specifies the caption of the cell, or the string the cell displays in the column with the index 0, 1 2, ... ( "%C0 + %C1", concatenates the caption of first and second cell ) * %CD0, %CD1, %CD2, ... specifies the cell's user-date in the column with the index 0, 1 2, ... ( "%CD0 ? value : ``", displays the cell's value only if the cell's data is not empty ) * %CS0, %CS1, %CS2, ... specifies the cell's state in the column with the index 0, 1 2, ... ( "(%CS0 ? `` : ``) + value", displays the cell's value in bold only if the first cell is checked ) * * The format-expression supports the following unary-operators: * * exp(``), checks whether the item is expanded or collapsed ( "(exp(``) ? `` : ``) + value", shows expanded-items in bold ) * get(`aggregate(list,direction,formula)`), summarizes the cell based on "aggregate(list,direction,formula)" syntax, where: * * aggregate, must be one of the following: * * sum, performs addition of values * min, retrieves the minimum value * max, retrieves the maximum value * count, counts the number of items * avg, calculates the average of values * std, gets standard-deviation of numbers * unique, counts how many distinct values are in the set (@since 4.3) * * list, must be one of the following: * * a number expression that specifies the index of the item being referred * all, indicates all items, so the formula is being applied to all items. The direction has no effect * current, refers the current item * parent, refers to the parent item * root, refers to the root item (the root item has no parent items) * * direction, must be one of the following: * * dir, collects only direct descendents (child-items) * rec, collects recursivelly the leaf descendents ( leaf items ). A leaf item is an item with no child items * all, collects all descendents * * Currently, the following items are excluded by aggregate functions: * * not-sortable items. The SortableItem property specifies whether the item can be sorted ( a sortable item can change its position after sorting, while a not-sortable item keeps its position after sorting. * not-selectable items. The SelectableItem property specifies whether the user can selects/focus the specified item. * divider items. The ItemDivider property specifies whether the item displays a single cell, instead displaying whole cells. * * In conclusion, aggregate functions counts ONLY items that are sortable, selectable and not a divider-item. * * For instance: * * "get(`count(current,dir,1)`)", gets the count of child-items * "get(`count(current,all,1)`)", gets the count of all child-items (implies recursively child items) * "get(`count(current,rec,1)`)", counts the number of leaf items ( a leaf item is an item with no child items ). * "get(`sum(current,dir,%1 ? 1 : 0)`)", counts the number of child-items that have not-empty cells within the second-column * "get(`sum(current,dir,value)`)", gets the total of values of child-items (direct descendent) within the same column * "get(`sum(all,rec,value)`)", gets the total of values of leaf-items within the same column * "get(`sum(parent,dir,dbl(%1) + dbl(%2))`)", gets the addition of all cells in the second (%1) and third (%2) column that are directly descendent of the parent item (sibling). * * The format-expression supports the following binary-operators: * * 0 index `format`, gets the index of the item (0-based). The first added item has the index 0, the second added item has the index 1, and so on. The index of the item remains the same even if the order of the items is changed by sorting or grouping ( "1 index ``", gets the index of the item starting from 1 ) * 0 rindex `delimiter|format|format|...`, returns the recursive-index of the item ("1 rindex `.|A-Z`", returns values as A, A.1, A.2, B, ...) * 0 pos `format`, returns the relative position of the item (the position within the parent's children collection) ( "1 pos ``", returns the position of the item (1-based) within the parent's child items collection ) * 0 rpos `delimiter|format|format|...`, returns the recursive relative-position of the item (the position within the parent's children collection) ( "1 rpos `.|A-Z`", returns values as A, A.1, A.2, B, ... ) * 0 opos `format`, returns the relative old position of the item (the position within the parent's children collection) ( "1 opos ``", returns the position of the item (1-based) within the parent's child items collection ) * 0 ropos `delimiter|format|format|...`, returns the recursive relative-old-position of the item (the position within the parent's children collection) ( "1 ropos `.|A-Z`", returns values as A, A.1, A.2, B, ... ) * 0 apos `format`, returns the absolute position of the item (the position from the first visible item) ( "1 apos ``", gets absolute position of the item ) * 0 rapos `delimiter|format|format|...`, returns the recursive absolute-position of the item (the position from the first visible item) ( "1 rapos `.|A-Z`", returns values as A, A.1, A.2, B, ... ) * * where: * * `delimiter`, is a character to separated recursive-operators such as "rindex", "rpos", "ropos" and "rapos" * `format`, is a set of characters to be used for specifying the index * * Additionally, it supports parent and root unary operators to access the values of parent or root items as explained: * * parent (unary operator), refers to the parent item of the current item. This expression allows access to values or properties associated with the immediate parent in the hierarchy or structure ( "parent(1 index ``)", gets the index of the parent-item (1-based) ) (@since 4.3) * root (unary operator), refers to the root item of the current item's hierarchy. This expression allows access to values or properties of the highest-level item in the entire structure, regardless of how deeply nested the current item is ("root(%C0)", retrieves the caption of the first column for the root item) (@since 4.3) * * @type {string} * @example * * "" {string}, the default group-by value gets displayed once the column gets grouped by * "upper(value)" {string}, the default group-by value (in upper case) gets displayed once the column gets grouped by * "value + ` ` + get(`count(current,rec,1)`)" {string}, the default group-by value plus the count of items within the group gets displayed once the column gets grouped by */ groupByFormatCell: "(exp(``) ? `` : ``) + value + (0:=get(`count(current,rec,1)`) ? (` (` + =:0 + `)`) : ``)", /** * @description The columnsFloatBarVisible field indicates whether the columns float bar is visible or hidden. Specifies the type of columns the control's float bar displays when it is visible. * * The exontrol.Tree.ColumnsFloatBarVisibleEnum type supports the following values: * * exColumnsFloatBarHidden(0), the Columns float bar is hidden * exColumnsFloatBarVisibleIncludeGroupByColumns(1), the Columns float bar is visible, and it displays dragable (AllowDragging property) and groupable (AllowGroupBy property) columns of the control. * exColumnsFloatBarVisibleIncludeCheckColumns(2), the Columns float bar is visible, and it displays dragable (AllowDragging property), and a check-box for each Column to update its Visible property (shor or hide the column). * exColumnsFloatBarVisibleIncludeHiddenColumns(4), the Columns float bar is visible, and it displays dragable (AllowDragging property) and hidden (Visible property) columns of the control. * exColumnsFloatBarFloat(0x100), the columns floatbar is shows as floated. This flag can be combined with exColumnsFloatBarVisibleIncludeHiddenColumns, exColumnsFloatBarVisibleIncludeCheckColumns or exColumnsFloatBarVisibleIncludeGroupByColumns type. * * @type {exontrol.Tree.ColumnsFloatBarVisibleEnum} * @example * * false {boolean} or 0 {number}, hides the columns float bar * true {boolean}, 1 or exontrol.Tree.ColumnsFloatBarVisibleEnum.exColumnsFloatBarVisibleIncludeGroupByColumns {number}, the columns float bar is visible and displays groupable columns */ columnsFloatBarVisible: exontrol.Tree.ColumnsFloatBarVisibleEnum.exColumnsFloatBarHidden, /** * @description The columnsFloatBarSortOrder field specifies the sort order to show the columns within the control's columns float panel. Specifies the columns sort-order as listed: * * 0 {number}, shows columns unsorted * 1 {number}, shows columns in ascending order (by name) * 2 {number}, shows columns in descending order (by name) * * @type {number} * @example * * 0 {number}, shows columns unsorted * 1 {number}, shows columns in ascending order (by name) */ columnsFloatBarSortOrder: 0, /** * @description The columnsFloatBarCaption field defines the caption to display on the columns float bar. * @type {string} * @example * * "" {string}, hides the caption of the columns float bar * "Columns" {string}, displays in bold the caption of the columns float bar */ columnsFloatBarCaption: "Columns", /** * @description The filterInclude field specifies the items to include once the control's filter is applied. Specifies the items to include once the control's filter is applied. * * The exontrol.Tree.FilterIncludeEnum type supports the following flags: * * exItemsWithoutChilds(0), items (and parent-items) that match the filter are shown (no child-items are included) * exItemsWithChilds(1), items (parent and child-items) that match the filter are shown * exRootsWithoutChilds(2), only root-items (excludes child-items) that match the filter are displayed * exRootsWithChilds(3), root-items (and child-items) that match the filter are displayed * exMatchingItemsOnly(4), shows only the items that matches the filter (no parent or child-items are included) * exMatchIncludeParent(0xF0), specifies that the item matches the filter if any of its parent-item matches the filter. The exMatchIncludeParent flag can be combined with any other value * * @type {exontrol.Tree.FilterIncludeEnum} * @example * * null {null}, specifies the control's default FilterInclude property (exontrol.Tree.FilterIncludeEnum.exItemsWithoutChilds), so items (and parent-items) that match the filter are shown (no child-items are included) * 4 or exontrol.Tree.FilterIncludeEnum.exMatchingItemsOnly {number}, shows only the items that matches the filter (no parent or child-items are included) * 0xF4 or exontrol.Tree.FilterIncludeEnum.exMatchingItemsOnly | exontrol.Tree.FilterIncludeEnum.exMatchIncludeParent {number}, shows the items (including the child-items) that match the filter */ filterInclude: exontrol.Tree.FilterIncludeEnum.exItemsWithoutChilds, /** * @description The filterBarHeight field specifies the height to display the control's filter-bar * @type {number} * @example * * 0 {number}, hides the control's filter-bar * 24 {number}, indicates that the height of the control's filter-bar is 24 */ filterBarHeight: 24, /** * @description The filterBarVisible field indicates whether the control's filter-bar is visible or hidden. Specifies whether the control's filter-bar is visible or hidden * * The exontrol.Tree.FilterBarVisibleEnum type supports the following flags: * * exFilterBarHidden(0), indicates that the control's filter-bar is visible only if the control has a filter applied (use the filterBarHeight on 0 to effectively hides the control's filter-bar) * exFilterBarPromptVisible(1), specifies that the control's filter-bar displays the filter prompt * exFilterBarVisible(2), forces the control's filter-bar to be shown, no matter if any filter is applied * exFilterBarCaptionVisible(4), forces the control's filter-bar to display the FilterBarCaption property. * exFilterBarSingleLine(16), specifies that the caption on the control's filter bar is displayed on a single line. The exFilterBarSingleLine flag , specifies that the filter bar's caption is shown on a single line, so
HTML tag or \r\n are not handled. By default, the control's filter description applies word wrapping. Can be combined to exFilterBarCompact to display a single-line filter bar. If missing, the caption on the control's filter bar is displayed on multiple lines. You can change the height of the control's filter bar using the FilterBarHeight property. * exFilterBarToggle(256), specifies that the user can close the control's filter bar ( removes the control's filter ) by clicking the close button of the filter bar or by pressing the CTRL + F, while the control's filter bar is visible. If no filter bar is displayed, the user can display the control's filter bar by pressing the CTRL + F key. While the control's filter bar is visible the user can navigate though the list or control's filter bar using the ALT + Up/Down keys. If missing, the control's filter bar is always shown if any of the following flags is present exFilterBarPromptVisible, exFilterBarVisible, exFilterBarCaptionVisible. * exFilterBarShowCloseIfRequired(512), indicates that the close button of the control's filter bar is displayed only if the control has any currently filter applied. * exFilterBarShowCloseOnRight(1024), specifies that the close button of the control's filter bar should be displayed on the right side. * exFilterBarCompact(2048), compacts the control's filter bar, so the filter-prompt will be displayed to the left, while the control's filter bar caption will be displayed to the right. This flag has effect only if combined with the exFilterBarPromptVisible. This flag can be combined with the exFilterBarSingleLine flag, so all filter bar will be displayed compact and on a single line. * exFilterBarShort(4096), specifies that the control's filter bar is displayed only on the default-view (has effect if the control displays multiple views). * * @type {exontrol.Tree.FilterBarVisibleEnum} * @example * * 0 or exontrol.Tree.FilterBarVisibleEnum.exFilterBarHidden {number}, (default) the control's filter-bar is visible only if there is a filter applied. * 1 or exontrol.Tree.FilterBarVisibleEnum.exFilterBarPromptVisible {number}, the control's filter-bar is visible and shows the control's filter-prompt */ filterBarVisible: exontrol.Tree.FilterBarVisibleEnum.exFilterBarHidden, /** * @description The filterBarCaption field customizes the caption shown within the control's filter-bar. Defines the caption (supports expressions and ex-HTML) to show within the control's filter-bar. * * The filterBarCaption expresasion supports the following keywords, constants, operators and functions: * * "value" or "current", returns the current filter as a string. At runtime the value may return a string such as "[EmployeeID] = '4| 5| 6' and [ShipVia] = 1", so the control automatically applies HTML format, which you can change it. For instance, "upper(value)" displays the caption in uppercase or "value replace `` with `` replace `` with `
`" displays the column's name with a different foreground color. * "itemcount", returns the total number of items as indicated by ItemCount property. At runtime the itemcount is a positive integer that indicates the count of all items. For instance, "value + `Total: ` + itemcount" includes in the filter bar the number of items aligned to the right. * "visibleitemcount", returns the number of visible items as indicated by VisibleItemCount property. At runtime, the visibleitemcount is a positive integer if no filter is applied, and negative if a filter is applied. If positive, it indicates the number of visible items. The visible items does not include child items of a collapsed item. If negative, a filter is applied, and the absolute value minus one, indicates the number of visible items after filter is applied. 0 indicates no visible items, while -1 indicates that a filter is applied, but no item matches the filter criteria. For instance, "value + `` + ( visibleitemcount < 0 ? ( `Result: ` + ( abs(visibleitemcount) - 1 ) ) : ( `Visible: ` + visibleitemcount ) )" includes "Visible: " plus number of visible items, if no filter is applied or "Result: " plus number of visible items, if filter is applied, aligned to the right * "matchitemcount", returns the number of items that match the filter as indicated by MatchItemCount property. At runtime, the matchitemcount is a positive integer if no filter is applied, and negative if a filter is applied. If positive, it indicates the number of items within the control (ItemCount property). If negative, a filter is applied, and the absolute value minus one, indicates the number of matching items after filter is applied. A matching item includes its parent items, if the control's FilterInclude property allows including child items. 0 indicates no visible items, while -1 indicates that a filter is applied, but no item matches the filter criteria. For instance, "value + `` + ( matchitemcount < 0 ? ( `Result: ` + ( abs(matchitemcount) - 1 ) ) : ( `Visible: ` + matchitemcount ) )" includes "Visible: " plus number of visible items, if no filter is applied or "Result: " plus number of matching items, if filter is applied, aligned to the right * "leafitemcount", returns the number of leaf-items. A leaf item is an item with no child items. At runtime, the leafitemcount is a positive number that computes the number of leaf-items ( expanded or collapsed ). For instance, the "value + `` + leafitemcount" displays the number of leaf-items aligned to the right with a different font and foreground color. * "promptpattern", returns the pattern in the filter bar's prompt, as a string. The FilterBarPromptPattern specifies the pattern for the filter prompt. The control's filter bar prompt is visible, if the exFilterBarPromptVisible flag is included in the FilterBarPromptVisible property. * "available", returns the list of columns that are not currently part of the control's filter, but are available to be filtered. A column is available to be filtered, if the DisplayFilterButton property of the Column object, is True. At runtime, the available keyword may return a string such as "[OrderDate] [RequiredDate] [ShippedDate] [ShipCountry] [Select]
", so the control automatically applies HTML format, which you can change it. For instance, "value + ` ` + available", displays the current filter, including all available columns to be filtered. For instance, the "value + `` + available replace `C0C0C0` with `FF0000`" displays the available columns aligned to the right with a different foreground color. * "allui", returns the list of columns that are part of the current filter and available columns to be filtered. A column is available to be filtered, if the DisplayFilterButton property of the Column object, is True. At runtime, the allui keyword may return a string such as "[EmployeeID] = '4| 5| 6' [OrderDate]
[RequiredDate]
[ShippedDate]
[ShipVia] = 1 [ShipCountry] [Select]", so the control automatically applies HTML format, which you can change it. For instance, "allui", displays the current filter, including all available columns to be filtered. For instance, the "((allui + `` + ( matchitemcount < 0 ? ( ( len(allui) ? `` : `` ) + `` + abs(matchitemcount + 1) + ` result(s)` ) : (``+ itemcount + ` item(s)`) )) replace `[` with ` ` replace `]` with ` ` replace `[` with ` ` replace `]` with ` ` )" displays all available columns to be filtered with different background/foreground colors including the number of items/results * "all", returns the list of all columns ( visible or hidden ) no matter if the DisplayFilterButton property is True or False. At runtime, the all keyword may return a string such as "[OrderID] [EmployeeID] = '4| 5| 6' [OrderDate] [RequiredDate]", so the control automatically applies HTML format, which you can change it. For instance, "all", displays the current filter, including all other columns. For instance, the "((all + `` + ( matchitemcount < 0 ? ( ( len(allui) ? `` : `` ) + `` + abs(matchitemcount + 1) + ` result(s)` ) : (``+ itemcount + ` item(s)`) )) replace `[` with ` ` replace `]` with ` ` replace `[` with ` ` replace `]` with ` ` )" displays all columns with different background/foreground colors including the number of items/results * * @type {string} * @example * * "" {string}, displays no filter bar while no filter is applied, else it displays the filter as default * "no filter" {string}, shows no filter caption all the time * "allui" {string}, displays all available columns (column's DisplayFilterButton property is true) * "value replace ` and ` with ` and ` replace `|` with ` or ` replace ` ` with ` `" {string}, replaces the AND and | values * "value replace `[` with ` ` replace `]` with ` `" {string}, highlights the columns being filtered with a different background/foreground colors. * */ //filterBarCaption: "(( ( current replace `[` with ` ` replace `]` with ` ` ) + ` ` + ( available replace `[` with ` ` replace `]` with ` ` replace `` with `` replace `` with `` ) + `` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `` + abs(matchitemcount + 1) + ` result(s)` ) : (``+ itemcount + ` item(s)`) )))", filterBarCaption: "(( ( current replace `[` with ` ` replace `]` with ` ` ) + `` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `` + abs(matchitemcount + 1) + ` result(s)` ) : (``+ itemcount + ` item(s)`) )))", /** * @description The filterBarPrompt field specifies the caption to show while the pattern of the filter-prompt is empty * @type {string} * @example * * "" {string}, displays no caption (while the pattern of the filter-prompt is empty) * "filter..." {string}, displays the message "filter..." in italics */ filterBarPrompt: "Start Filter...", /** * @description The filterBarPromptPattern field defines the filter-pattern for the control's filter-prompt. Defines the pattern for the control's filter-prompt. * * Based on the filterBarPromptType field the filterBarPromptPattern field defines how the pattern filters for items as explained below: * * filters for items that includes all of the sequences within the filter-pattern (exFilterPromptContainsAll) * filters for items that includes any of the sequences within the filter-pattern (exFilterPromptContainsAny) * filters for items that starts with any of the sequences within the filter-pattern (exFilterPromptStartWith) * filters for items that ends with any of the sequences within the filter-pattern (exFilterPromptEndWith) * filters for items that that matches the filter-pattern, which may includes wild-characters such as ?, * or # (exFilterPromptPattern) * * @type {string} * @example * * "" {string}, clears the pattern of the filter-prompt * "A" {string}, filters for items includes "A" (exFilterPromptContainsAll) * "A* *B" {string}, filters for items start starts with "A" or ends with "B" (exFilterPromptPattern) */ filterBarPromptPattern: "", /** * @description The filterBarPromptType field defines the type of control's filter-prompt (filterBarPromptPattern field). Defines the type of control's filter-prompt. * * The exontrol.Tree.FilterPromptEnum type supports the following flags: * * exFilterPromptContainsAll(1), the list includes the items that contains all specified sequences in the filter. Can be combined with exFilterPromptCaseSensitive, exFilterPromptStartWords, exFilterPromptEndWords or exFilterPromptWords * exFilterPromptContainsAny(2), the list includes the items that contains any of specified sequences in the filter. Can be combined with exFilterPromptCaseSensitive, exFilterPromptStartWords, exFilterPromptEndWords or exFilterPromptWords * exFilterPromptStartWith(3), the list includes the items that starts with any specified sequences in the filter. Can be combined with exFilterPromptCaseSensitive, exFilterPromptStartWords, exFilterPromptEndWords or exFilterPromptWords * exFilterPromptEndWith(4), the list includes the items that ends with any specified sequences in the filter. Can be combined with exFilterPromptCaseSensitive, exFilterPromptStartWords, exFilterPromptEndWords or exFilterPromptWords * exFilterPromptPattern(16), the filter indicates a pattern that may include wild characters to be used to filter the items in the list. Can be combined with exFilterPromptCaseSensitive. The filterBarPromptPattern field may include wild characters as follows: * * '?' for any single character * '*' for zero or more occurrences of any character * '#' for any digit character * ' ' space delimits the patterns inside the filter * * exFilterPromptCaseSensitive(0x0100), filtering the list is case sensitive. Can be combined with exFilterPromptContainsAll, exFilterPromptContainsAny, exFilterPromptStartWith, exFilterPromptEndWith or exFilterPromptPattern. * exFilterPromptStartWords(0x1200), the list includes the items that starts with specified words, in any position. Can be combined with exFilterPromptContainsAll, exFilterPromptContainsAny, exFilterPromptStartWith or exFilterPromptEndWith. * exFilterPromptEndWords(0x2200), the list includes the items that ends with specified words, in any position. Can be combined with exFilterPromptContainsAll, exFilterPromptContainsAny, exFilterPromptStartWith or exFilterPromptEndWith. * exFilterPromptWords(0x3200), the filter indicates a list of words. Can be combined with exFilterPromptContainsAll, exFilterPromptContainsAny, exFilterPromptStartWith or exFilterPromptEndWith. * * @type {exontrol.Tree.FilterPromptEnum} * @example * * 2 or exontrol.Tree.FilterPromptEnum.exFilterPromptContainsAny {number}, filters for items that contains any sequences in the filter * 0x3202 or exontrol.Tree.FilterPromptEnum.exFilterPromptContainsAny | exontrol.Tree.FilterPromptEnum.exFilterPromptWords {number}, filters for items that contains any words in the filter * 0x3203 or exontrol.Tree.FilterPromptEnum.exFilterPromptStartWith | exontrol.Tree.FilterPromptEnum.exFilterPromptWords {number}, filters for items that starts with any word within the filter */ filterBarPromptType: exontrol.Tree.FilterPromptEnum.exFilterPromptContainsAll, /** * @description The filterBarPromptColumns field defines the list of columns the pattern of filter-prompt is applying to. Specifies the list of columns the pattern of filter-prompt is applying to (as explained below): * * null {null} or -1 {number}, all columns (visible or hidden) * {number}, specifies the index of the column * {string}, specifies a list of index/identifier/key/caption/plain-caption, separated by comma character * {exontrol.Tree.Column}, specifies the column reference * * @type {any} * @example * * null {null}, the pattern of filter-prompt is applying to all columns (visible or hidden) * 1 {number}, the pattern of filter-prompt is applying to a single-column only (the column wiht the index 1) * "ID,Name" {string}, the pattern of filter-prompt is applying to columns "ID" and "Name" only */ filterBarPromptColumns: -1, /** * @description The drawGridLines field specifies whether the control's grid-lines are shown or hidden. Shows or hides the control's grid-lines. The gridLines field defines the color, width and style of the control's grid-lines. * * The exontrol.Tree.GridLinesEnum type supports the following flags: * * exNoLines(0), no grid lines * exAllLines(-1), shows all vertical and horizontal grid lines * exRowLines(-2), shows grid lines for existing rows only * exHLines(1), shows only the horizontal grid lines * exVLines(2), shows only the vertical grid lines * * @type {exontrol.Tree.GridLinesEnum} * @example * * 0 or exontrol.Tree.GridLinesEnum.exNoLines {number}, hides the grid-lines (default) * -1 or exontrol.Tree.GridLinesEnum.exAllLines {number}, shows all vertical and horizontal grid lines */ drawGridLines: exontrol.Tree.GridLinesEnum.exNoLines, /** * @description The gridLines field defines the color, width and style of the control's grid-lines. Defines the color, width and style of the control's grid-lines. * * The gridLines object includes any of the following: * * width {number}, specifies the line's width or size (1 by default) * color {string}, indicates the line's color (partial-black by default) * style {array}, specifies the dash pattern to show the lines (dotted by default) * * @type {object} */ gridLines: { /** * @description The width field defines the size/width of the line. * @type {number} * @example * * null {null}, indicates line of 1-pixel wide * 2 {number}, indicates line of 2-pixels wide */ width: undefined, /** * @description The color field specifies the color to show the line * @type {string} * @example * * null {null}, indicates a black line * "transparent" {string}, specifies a transparent line * "red" {string}, specifies a red line * "#00FF00" {string}, specifies a green line * "rgba(255,0,0,0.5)" {string}, indicates 50% red line */ color: "rgb(196,196,196)", /** * @description The style field defines the style of the line. An Array of numbers which specify distances to alternately draw a line and a gap. If the number of elements in the array is odd, the elements of the array get copied and concatenated. * @type {array} * @example * * null {null} or [] {array}, defines solid grid-lines * 2 {number}, becomes [2, 2, ...] * [5, 15, 25] {array}, becomes [5, 15, 25, 5, 15, 25, ...] */ style: 1 }, /** * @description The defaultItemHeight field defines the item's default height * @type {number} * @example * * null {null}, specifies that the item's height is 24 (by default) * 18 {number}, changes the item's default height to 18 */ defaultItemHeight: 24, /** * @description The treeColumnIndex field specifies the index or identifier/key/caption of the column that displays the hierarchy. * @type {number} * @example * * null {null}, no column displays the hierarchy. * 0 {number}, the column with the index 0, displays the hierarchy (displays the expand/collapse glyphs) * "xxx" {string}, the column with the key or plain-caption on "xxx" displays the hierarchy. */ treeColumnIndex: 0, /** * @description The expandOnDblClick field specifies whether the item is expanded or collapsed once the user double-clicks the item * @type {boolean} * @example * * false {boolean}, the item is not expanded or collapsed once the user double-clicks it * true {boolean}, the item is expanded or collapsed once the user double-clicks it */ expandOnDblClick: true, /** * @description The itemAllowSizing field specifies whether all or none of the items are resizable or fixed * @type {boolean} * @example * * false {boolean}, none of the items are resizable (unless the Item.AllowSizing property is true) * true {boolean}, all of the items are resizable (unless the Item.AllowSizing property is false) */ itemAllowSizing: false, /** * @description The ensureOnSort field ensures that the selection (including the parent-items) fits the view's client-area once the user sorts or groups a column * @type {boolean} * @example * * false {boolean}, no effect * true {boolean}, scrolls the view, so the selection (including the parent-items) fits the view's client area */ ensureOnSort: true, /** * @description The showLockedItems field indicates whether the locked/fixed items are visible or hidden * @type {boolean} * @example * * false {boolean}, the control's locked/fixed items are not shown * true {boolean}, the control's locked/fixed items are visible */ showLockedItems: true, /** * @description The allowDrop field specifies whether the user can drag and drop local files into the control. * @type {boolean} * @example * * false {boolean}, no file can be drop into the control (default) * true {boolean}, the user can drag and drop files into the control */ allowDrop: false, /** * @description The onErrorChooseFile field specifies whether the control displays an input-file to let user choose a local filte to import, as soon as an error occurs * @type {boolean} * @example * * false {boolean}, no input-file is displayed as soon an error occurs * true {boolean}, the control displays an input-file to let user choose a local filte to import, as soon as an error occurs */ onErrorChooseFile: true, /** * @description The scrollPos field defines the horizontal and vertical scroll-position of the control's default view. Specifies an object of {x,y} type that defines the control's horizontal and vertical scroll-position as explained: * * x {number}, indicates the horizontal scroll-position * y {number}, indicates the vertical scroll-position * * @type {object} * @example * * {x: 100} {object}, scrolls horizontally to position 100 * {x: 100, y: 50} {object}, scrolls horizontally to position 100, and vertically to 50 */ scrollPos: { /** * @description The x field defines the horizontal scroll-position of the control's default view. * @type {number} * * @example * * 100 {number}, scrolls horizontally to position 100 * */ x: undefined, /** * @description The y field defines the vertical scroll-position of the control's default view. * @type {number} * * @example * * 50 {number}, scrolls vertical to position 50 * */ y: undefined }, /** * @description The toolTipDelay field specifies how long the mouse pointer must point to an object before the tool tip appears * @type {number} * @example * * 0 {number}, the tooltip is shown "immediately" * 128 {number}, the tooltip is displayed in 128 ms. */ toolTipDelay: 500, /** * @description The toolTipPopDelay field specifies the period in ms of time the tool top remains visible if the mouse pointer is stationary within a control * @type {number} * @example * * 0 {number}, no tooltip is shown for any object (disabled) * -1 {number}, the tooltip stays indefinitely (negative) * 1000 {number}, the tooltip is visible for 1 second */ toolTipPopDelay: 5000, /** * @description The toolTipWidth field indicates the max-width of the control's tooltip (in pixels) * @type {number} * @example * * 0 {number}, no tooltip is shown for any object (disabled) * -1 {number}, the tooltip's content is displayed on a single line (without limit the width of it) * 300 {number}, the tooltip's max-width is 300 pixels */ toolTipWidth: -1, /** * @description The data field defines the source the control imports data from, as one of the following: * * A String expression that specifies the URL to a CSV or XML file (contains no eof, eor or str). For example, "datasource.xml" imports the content of the 'datasource.xml' file * A String expression in CSV or XML format. For example, "Item 1.1,SubItem 1.2\r\nItem 1.2,SubItem 2.2" creates two columns and two rows * An array of [value] or [[value]] type that defines the data to load. For instance, [["Item 1.1","Item 1.2"],["Item 2.1","Item 2.2"]] creates two columns and two rows * An object of {columns, items} type, where 'columns' is an array of [(string|ColumnOpts)] type and 'items' is an array of [(string|ItemsOpts)] type; the ItemOptions type supports a recursive 'items' property to specify child items. For instance, {columns: "Def", items: {value: "Root", expanded: false, items:["Child 1", "Child 2", "Child 3"]}} defines a single-column control with a collapsed root item labeled 'Root' and three child items named 'Child 1', 'Child 2', and 'Child 3', or {columns: [{caption: "C1", displayFilterButton: true}, "C2"], items: [{value: ["R1.1", "R1.2"], items: [["C1.1", "C1.2"], ["C2.1", "C2.2"], ["C3.1", "C3.2"]]}, ["R2.1", "R2.2"]]} defines a dataset with two columns labeled as C1 (with a filter button for user value filtering) and C2. It includes two root items and three child items under the first root, each specifying values for their respective cells in the table (@since 3.2) * An object that includes the "files" member of FileList type (representing a local file dropped into the control) * * @type {any} * @example * * "xml/datasource.xml" {string}, imports data from datasource.xml file * "Item 1.1,SubItem 1.2\r\nItem 1.2,SubItem 2.2" {string}, creates two columns and two rows * [["Item 1.1","Item 1.2"],["Item 2.1","Item 2.2"]] {array}, creates two columns and two rows * {columns: [{caption: "C1", displayFilterButton: true}, "C2"], items: [{value: ["R1.1", "R1.2"], items: [["C1.1", "C1.2"], ["C2.1", "C2.2"], ["C3.1", "C3.2"]]}, ["R2.1", "R2.2"]]} {object} defines a dataset with two columns labeled as C1 (with a filter button for user value filtering) and C2. It includes two root items and three child items under the first root, each specifying values for their respective cells in the table (@since 3.2) */ data: null, /** * @description The hasLines field defines the color, width and style of the control's hierarchy-lines. * * The hasLines object includes any of the following: * * width {number}, specifies the line's width or size (1 by default) * color {string}, indicates the line's color (partial-black by default) * style {array}, specifies the dash pattern to show the lines (dotted by default) * cap {("butt"|"round"|"square")}, determines the shape used to draw the end points of lines ("butt", the ends of lines are squared off at the endpoints by default) * join {("bevel"|"round"|"miter")}, determines the shape used to join two line segments where they meet ("miter", connected segments are joined by extending their outside edges to connect at a single point, with the effect of filling an additional lozenge-shaped area. by default) * * @type {object} */ hasLines: { /** * @description The width field defines the size/width of the line. * @type {number} * @example * * null {null}, indicates line of 1-pixel wide * 2 {number}, indicates line of 2-pixels wide */ width: undefined, /** * @description The color field specifies the color to show the line * @type {string} * @example * * null {null}, indicates a black line * "transparent" {string}, specifies a transparent line * "red" {string}, specifies a red line * "#00FF00" {string}, specifies a green line * "rgba(255,0,0,0.5)" {string}, indicates 50% red line */ color: "rgb(128,128,128)", /** * @description The style field defines the style of the line. An Array of numbers which specify distances to alternately draw a line and a gap. If the number of elements in the array is odd, the elements of the array get copied and concatenated. * @type {array} * @example * * null {null} or [] {array}, defines solid grid-lines * 2 {number}, becomes [2, 2, ...] * [5, 15, 25] {array}, becomes [5, 15, 25, 5, 15, 25, ...] */ style: null, /** * @description The cap field determines the shape used to draw the end points of lines. The cap field supports the following values: * * "butt" {string}, the ends of lines are squared off at the endpoints * "round" {string}, the ends of lines are rounded * "square" {string}, the ends of lines are squared off by adding a box with an equal width and half the height of the line's thickness * * @type {("butt"|"round"|"square")} * @example * * null {null}, "butt", the ends of lines are squared off at the endpoints by default * "round" {string}, The ends of lines are rounded */ cap: undefined, /** * @description The join field determines the shape used to join two line segments where they meet. * * "bevel" {string}, fills an additional triangular area between the common endpoint of connected segments, and the separate outside rectangular corners of each segment * "round" {string}, rounds off the corners of a shape by filling an additional sector of disc centered at the common endpoint of connected segments. The radius for these rounded corners is equal to the line width * "miter" {string}, connected segments are joined by extending their outside edges to connect at a single point, with the effect of filling an additional lozenge-shaped area * * @type {("bevel"|"round"|"miter")} * @example * * null {null}, ("miter", connected segments are joined by extending their outside edges to connect at a single point, with the effect of filling an additional lozenge-shaped area, by default * "round" {string}, rounds off the corners of a shape by filling an additional sector of disc centered at the common endpoint of connected segments. The radius for these rounded corners is equal to the line width */ join: undefined, }, /** * @description The hasButtons field shows or hides the expand/collapse glyphs (+/- buttons to expand-collapse the item) * @type {boolean} * @example * * null {null} or true {boolean}, shows the expand/collapse glyphs * false {boolean}, hides the expand/collapse glyphs * */ hasButtons: true, /** * @description The linesAtRoot field specifies how the control links the root items. * * The exontrol.Tree.LinesAtRootEnum type defines the following values: * * exNoLinesAtRoot(0), no lines at root items * exLinesAtRoot(-1), the control links the root items * exGroupLinesAtRoot(1), the control shows no links between roots, and divides them as being in the same group * exGroupLines(2), the lines between root items are no shown, and the links show the items being included in the group * exGroupLinesInside(3), the lines between root items are no shown, and the links are shown between child only * exGroupLinesInsideLeaf(4), the lines between root items are no shown, and the links are shown for first and last visible child item * exGroupLinesOutside(5), the lines between root items are no shown, and the links are shown for first and last visible child item. A parent item that contains flat child items only, does not indent the child part. By a flat child we mean an item that does not contain any child item * * @type {exontrol.Tree.LinesAtRootEnum} * @example * * 0 or exontrol.Tree.LinesAtRootEnum.exNoLinesAtRoot {number}, no lines at root items * -1 or exontrol.Tree.LinesAtRootEnum.exLinesAtRoot {number}, the control links the root items */ linesAtRoot: exontrol.Tree.LinesAtRootEnum.exNoLinesAtRoot, /** * @description The selection field defines the control's selection, as one of the following: * * value {null}, clears the entire selection (unselect all) * value {number}, selects an item giving index within the items collection * value {string}, selects an item giving its identifier/key * value {Item}, selects an item giving its reference * value {Items}, selects all items within the control * value {array}, specifies an array of [type] type, where type could be any number, string or Item type. * * @type {any} * @example * * null {null}, clears the entire selection * 0 {number}, selects the first-item * [0,"id"] {number}, selects the first-item and the item with the identifier/key "id" * * @since 1.8 */ selection: null, /** * @description The background object defines display options to show different parts of the control. * @type {BackgroundOptions} * @since 2.3 */ background: null, /** * @description The conditional object simultaneously defines all of the control's conditional formats. The conditional formatting feature enables you to apply formats to a cell or range of cells that dynamically change based on the cell's value or the result of a formula * @type {(ConditionalFormatOptions|ConditionalFormatOptions[])} * @example * { * expression: "value > 100", * shape: * { * frameColor: "black" * }, * applyTo: "Total" * } {ConditionalFormatOptions}, highlights the cells in the 'Total' column with values greater than 100 * * @since 3.3 */ conditional: null, /** * @description The hoistItem field defines the hoisted item, promoting it and all its visible children to the top level without altering their content or properties. By default, * * hoisting an item also displays all of its parent rows up to the root. To restrict the view so that only the hoisted item and its visible children are shown, set the FilterInclude property to exMatchingItemsOnly * when an item is hoisted, all of its child rows are automatically expanded. To preserve their original expand/collapse state, use the Layout property to save the current layout before changing the hoist, and restore it immediately afterward. * * For reference, the Selection property specifies the currently selected row, while the Item property retrieves the row by its index. * @type {any} * @example * * 0 {number}, hoists the first item (index 0) * "id" {string}, hoists the item with the identifier/key "id" * item {Item}, hoists the item referenced by the Item object * * @since 4.8 */ hoistItem: null, /** * @description The pivotBarVisible field shows or hides the control's pivot bar (it displays the layout of the pivot-table). Specifies whether the control's pivot bar is visible or hidden * * The exontrol.Pivot.PivotBarVisibleEnum type supports the following values: * * exPivotBarHidden(0), the pivot bar is hidden. * exPivotBarVisible(1), the pivot bar is visible. include or exclude this flag to show or hide the pivot bar. * exPivotBarSizable(2), the pivot bar is sizable. Include or exclude this flag to allow or prevent resizing the pivot bar at runtime. If this flag is present, the user can resize the pivot bar by dragging the bottom side of the control. The resize cursor is shown when the pivot bar is resizable and cursor hovers the bottom side of the pivot bar. * exPivotBarFloat(4), the pivot bar is shown into a floating window. Include this flag, to display the pivot bar to a separate window (a floating panel) * exPivotBarAutoFit(8), the pivot bar's size is updated automatically so all elements fits the client area (When this flag is present, the height of the pivot's bar is automatically adjusted so the entire content fits the header). * exPivotBarShowTotals(16), the pivot bar shows the Total/SubTotal fields. Include or exclude this flag to show or hide the Total field in the pivot bar. * exPivotBarAutoHide(32), shows the pivotbar as soon as the cursor hovers it, and hides it as soon as the cursor leaves it * exPivotBarAllowValues(64), specifies if the user can drop values of the columns to the pivot bar. * exPivotBarAllowFormatAppearance(128), specifies if the user can select a different appearance for columns or total/subtotal fields. * exPivotBarAllowFormatConditionalAppearance(0x1000000), specifies if the user can select conditional appearance for columns. * exPivotBarAllowFormatContent(256), specifies if the user can select the way the column's data is displayed. * exPivotBarAutoUpdate(512), indicates whether the control' list (pivot-table) is automatically updated once the user drops objects in the pivot bar. Exclude this flag from the pivotBarVisible property, and so the Refresh button is shown in the bottom side of the control, and the changes will be applied to the control's list once the user clicks the Refresh button. Once the data is updated, the buttons shows as disabled until next change occurs. * exPivotBarAllowUndoRedo(1024), indicates if the pivot bar allows Undo/Redo operations, if the user presses the CTRL+Z/Y. The control restores the previously layout once the user presses the CTRL + Z keys combination. The control restores the next layout once the user presses the CTRL + Y keys combination. Exclude this flag, and the Undo/Redo feature is disabled. * exPivotBarAllowResizeColumns(2048), indicates if the user can resize the columns in the pivot bar. This flag affects the columns to be displayed din the pivot bar, not the columns to be displayed in the control's list. * exPivotBarHideAddNew(4096), prevents showing the add new buttons in the pivot bar. Clicking the Add New button displays a list of columns or aggregate functions that can be added in the current context. * exPivotBarContextSortAscending(0x10000), shows the columns alphabetically in ascending order. This flag can be combined with exPivotBarContextSortReverse and so, the columns will be alphabetically displayed in descending order. * exPivotBarContextSortReverse(0x100000), shows the columns in reverse order. This flag can be combined with exPivotBarContextSortAscending and so, the columns will be alphabetically displayed in descending order. * exPivotBarReadOnly(0x10000000), makes the pivot bar read only, so no changes are allowed * exPivotBarSingleAggregate(0x20000000), restructures the pivot-bar into three sections: a pivot-rows section docked to the left, a pivot-columns section docked to the top-right, and a top-left corner section for defining the column and aggregate function for the pivot table (@since 4.2) * * @type {exontrol.Pivot.PivotBarVisibleEnum} * @example * * false {boolean} or 0 {number}, the control's pivotbar is hidden * 0x10000000 or exontrol.Pivot.PivotBarVisibleEnum.exPivotBarReadOnly {number}, shows a read-only pivot bar (no changes are allowed) */ pivotBarVisible: exontrol.Pivot.PivotBarVisibleEnum.exPivotBarVisible | exontrol.Pivot.PivotBarVisibleEnum.exPivotBarSizable | exontrol.Pivot.PivotBarVisibleEnum.exPivotBarAutoFit | exontrol.Pivot.PivotBarVisibleEnum.exPivotBarShowTotals | exontrol.Pivot.PivotBarVisibleEnum.exPivotBarAllowValues | exontrol.Pivot.PivotBarVisibleEnum.exPivotBarAllowFormatAppearance | exontrol.Pivot.PivotBarVisibleEnum.exPivotBarAllowFormatConditionalAppearance | exontrol.Pivot.PivotBarVisibleEnum.exPivotBarAllowFormatContent | exontrol.Pivot.PivotBarVisibleEnum.exPivotBarAutoUpdate | exontrol.Pivot.PivotBarVisibleEnum.exPivotBarAllowUndoRedo | exontrol.Pivot.PivotBarVisibleEnum.exPivotBarAllowResizeColumns, /** * @description The pivotColumnsFloatBarVisible field specifies whether the window that displays the pivot-columns is visible or hidden (it displays the columns that can used to build the pivot-table). Specifies whether the window that displays the pivot-columns is visible or hidden * * The exontrol.Tree.ColumnsFloatBarVisibleEnum type supports the following values: * * exColumnsFloatBarHidden(0), the pivot-columns floatbar is hidden * exColumnsFloatBarVisible(1), the pivot-columns floatbar is visible. This flag can be combined with exColumnsFloatBarFloat flag, to show the pivot-columns floatbar as floated * exColumnsFloatBarFloat(0x100), the pivot-columns floatbar is shows as floated. This flag can be combined with exColumnsFloatBarVisible type. * * @type {exontrol.Tree.ColumnsFloatBarVisibleEnum} * @example * * false {boolean} or 0 {number}, the control shows no pivot-columns floatbar * true {boolean} or 1 {number}, the control shows the pivot-columns floatbar * 0x101 or exontrol.Tree.ColumnsFloatBarVisibleEnum.exColumnsFloatBarVisible | exontrol.Tree.ColumnsFloatBarVisibleEnum.exColumnsFloatBarFloat {number}, the control's pivot-columns floatbar is visible and floated */ pivotColumnsFloatBarVisible: exontrol.Tree.ColumnsFloatBarVisibleEnum.exColumnsFloatBarVisible, /** * @description The pivotRows field specifies the list of group-by columns that determines the rows in the pivot-table. Specifies the list of group-by columns that determines the rows in the pivot-table * * The pivotRows in BNF notation is: * * pivotRows ::= "[,]" * Column ::= [:][] * Index ::= [] * Digit ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 * Order ::= A | D * Options ::= \[