Class ScriptColumn

column combiner which uses a custom JavaScript function to combined the values The script itself can be any valid JavaScript code. It will be embedded in a function. Therefore the last statement has to return a value.

In case of a single line statement the code piece statement return will be automatically prefixed.

The function signature is:
any, index: number, children: Column[], values: any[], raws: (number|null)[]) => number

param: ```
the row in the dataset to compute the value for
param: ``
the index of the row
param: code></dt> <dd>the list of LineUp columns that are part of this ScriptColumn</dd> <dt>param: values</dt> <dd>the computed value of each column (see children) for the current row</dd> <dt>param: raws</dt> <dd>similar to values`. Numeric columns return by default the normalized value, this array gives access to the original "raw" values before mapping is applied
returns:
the computed number in the range [0, 1] or NaN

In addition to the standard JavaScript functions and objects (Math, ...) a couple of utility functions are available:

`max(arr: number[]) => number`
computes the maximum of the given array of numbers
`min(arr: number[]) => number`
computes the minimum of the given array of numbers
`extent(arr: number[]) => [number, number]`
computes both minimum and maximum and returning an array with the first element the minimum and the second the maximum
`clamp(v: number, min: number, max: number) => number`
ensures that the given value is within the given min/max value
`normalize(v: number, min: number, max: number) => number`
normalizes the given value `(v - min) / (max - min)`
`denormalize(v: number, min: number, max: number) => number`
inverts a normalized value `v * (max - min) + min`
`linear(v: number, input: [number, number], output: [number, number]) => number`
performs a linear mapping from input domain to output domain both given as an array of [min, max] values. `denormalize(normalize(v, input[0], input[1]), output[0], output[1])`

Hierarchy (view full)

Implements

Constructors

Properties

Accessors

Methods

Constructors

Properties

_children: Column[] = []
desc: Readonly<IColumnDesc>
parent: Readonly<IColumnParent> = null

parent column of this column, set when added to a ranking or combined column

DEFAULT_SCRIPT: "let s = 0;\ncol.forEach((c) => s += c.v);\nreturn s / col.length" = DEFAULT_SCRIPT
EVENT_ADD_COLUMN: "addColumn" = 'addColumn'
EVENT_COLOR_MAPPING_CHANGED: "colorMappingChanged" = NumberColumn.EVENT_COLOR_MAPPING_CHANGED
EVENT_DIRTY: "dirty" = 'dirty'
EVENT_DIRTY_CACHES: "dirtyCaches" = 'dirtyCaches'
EVENT_DIRTY_HEADER: "dirtyHeader" = 'dirtyHeader'
EVENT_DIRTY_VALUES: "dirtyValues" = 'dirtyValues'
EVENT_FILTER_CHANGED: "filterChanged" = 'filterChanged'
EVENT_GROUP_RENDERER_TYPE_CHANGED: "groupRendererChanged" = 'groupRendererChanged'
EVENT_LABEL_CHANGED: "labelChanged" = 'labelChanged'
EVENT_MAPPING_CHANGED: "mappingChanged" = NumberColumn.EVENT_MAPPING_CHANGED
EVENT_METADATA_CHANGED: "metaDataChanged" = 'metaDataChanged'
EVENT_MOVE_COLUMN: "moveColumn" = 'moveColumn'
EVENT_REMOVE_COLUMN: "removeColumn" = 'removeColumn'
EVENT_RENDERER_TYPE_CHANGED: "rendererTypeChanged" = 'rendererTypeChanged'
EVENT_SCRIPT_CHANGED: "scriptChanged" = 'scriptChanged'
EVENT_SUMMARY_RENDERER_TYPE_CHANGED: "summaryRendererChanged" = 'summaryRendererChanged'
EVENT_VISIBILITY_CHANGED: "visibilityChanged" = 'visibilityChanged'
EVENT_WIDTH_CHANGED: "widthChanged" = 'widthChanged'
FLAT_ALL_COLUMNS: -1 = -1

magic variable for showing all columns

Accessors

  • get canJustAddNumbers(): boolean
  • Returns boolean

  • get description(): string
  • Returns string

  • get fixed(): boolean
  • Returns boolean

  • get fqid(): string
  • returns the fully qualified id i.e. path the parent

    Returns string

  • get fqpath(): string
  • Returns string

  • get frozen(): boolean
  • Returns boolean

  • get id(): string
  • Returns string

  • get label(): string
  • Returns string

Methods

  • Parameters

    • type: "colorMappingChanged"
    • listener: ((previous, current) => void)

    Returns this

  • Parameters

    • type: "mappingChanged"
    • listener: ((previous, current) => void)
        • (previous, current): void
        • emitted when the mapping property changes

          Parameters

          Returns void

          As Member Of

          ScriptColumn

          Group

          Events

    Returns this

  • Parameters

    • type: "filterChanged"
    • listener: ((previous, current) => void)
        • (previous, current): void
        • emitted when the filter property changes

          Parameters

          Returns void

          As Member Of

          ScriptColumn

          Group

          Events

    Returns this

  • Parameters

    • type: "scriptChanged"
    • listener: ((previous, current) => void)
        • (previous, current): void
        • emitted when the script property changes

          Parameters

          • previous: string
          • current: string

          Returns void

          As Member Of

          ScriptColumn

          Group

          Events

    Returns this

  • Parameters

    • type: "filterChanged"
    • listener: ((previous, current) => void)
        • (previous, current): void
        • emitted when the filter property changes

          Parameters

          Returns void

          As Member Of

          ScriptColumn

          Group

          Events

    Returns this

  • Parameters

    • type: "addColumn"
    • listener: ((col, index) => void)
        • (col, index): void
        • emitted when a column has been added

          Parameters

          Returns void

          As Member Of

          CompositeColumn

          Group

          Events

    Returns this

  • Parameters

    • type: "moveColumn"
    • listener: ((col, index, oldIndex) => void)
        • (col, index, oldIndex): void
        • emitted when a column has been moved within this composite columm

          Parameters

          • col: Column
          • index: number
          • oldIndex: number

          Returns void

          As Member Of

          CompositeColumn

          Group

          Events

    Returns this

  • Parameters

    • type: "removeColumn"
    • listener: ((col, index) => void)
        • (col, index): void
        • emitted when a column has been removed

          Parameters

          Returns void

          As Member Of

          CompositeColumn

          Group

          Events

    Returns this

  • Parameters

    • type: "widthChanged"
    • listener: ((previous, current) => void)
        • (previous, current): void
        • emitted when the width property changes

          Parameters

          • previous: number
          • current: number

          Returns void

          As Member Of

          Column

          Group

          Events

    Returns this

  • Parameters

    • type: "labelChanged"
    • listener: ((previous, current) => void)
        • (previous, current): void
        • emitted when the label property changes

          Parameters

          • previous: string
          • current: string

          Returns void

          As Member Of

          Column

          Group

          Events

    Returns this

  • Parameters

    • type: "metaDataChanged"
    • listener: ((previous, current) => void)
        • (previous, current): void
        • emitted when the meta data property changes

          Parameters

          Returns void

          As Member Of

          Column

          Group

          Events

    Returns this

  • Parameters

    • type: "dirty"
    • listener: (() => void)
        • (): void
        • emitted when state of the column is dirty

          Returns void

          As Member Of

          Column

          Group

          Events

    Returns this

  • Parameters

    • type: "dirtyHeader"
    • listener: (() => void)
        • (): void
        • emitted when state of the column related to its header is dirty

          Returns void

          As Member Of

          Column

          Group

          Events

    Returns this

  • Parameters

    • type: "dirtyValues"
    • listener: (() => void)
        • (): void
        • emitted when state of the column related to its values is dirty

          Returns void

          As Member Of

          Column

          Group

          Events

    Returns this

  • Parameters

    • type: "dirtyCaches"
    • listener: (() => void)
        • (): void
        • emitted when state of the column related to cached values (hist, compare, ...) is dirty

          Returns void

          As Member Of

          Column

          Group

          Events

    Returns this

  • Parameters

    • type: "rendererTypeChanged"
    • listener: ((previous, current) => void)
        • (previous, current): void
        • emitted when the renderer type property changes

          Parameters

          • previous: string
          • current: string

          Returns void

          As Member Of

          Column

          Group

          Events

    Returns this

  • Parameters

    • type: "groupRendererChanged"
    • listener: ((previous, current) => void)
        • (previous, current): void
        • emitted when the group renderer property changes

          Parameters

          • previous: string
          • current: string

          Returns void

          As Member Of

          Column

          Group

          Events

    Returns this

  • Parameters

    • type: "summaryRendererChanged"
    • listener: ((previous, current) => void)
        • (previous, current): void
        • emitted when the pattern property changes

          Parameters

          • previous: string
          • current: string

          Returns void

          As Member Of

          Column

          Group

          Events

    Returns this

  • Parameters

    • type: "visibilityChanged"
    • listener: ((previous, current) => void)
        • (previous, current): void
        • emitted when the visibility of this column changes

          Parameters

          • previous: boolean
          • current: boolean

          Returns void

          As Member Of

          Column

          Group

          Events

    Returns this

  • Parameters

    Returns this