FieldCalcConcatenate

From TempusServa wiki
Jump to navigation Jump to search

Calc: Concatenate

Making a text based on values from other fields.

Properties

  • Type: Complex
  • Groupable: No
  • Show in lists: Yes
  • Searchable: Yes

The field supports a basic version of Complex formulas as of version 6144, the last and innermost formula i calculated first. The separators ? and : has to have a space on both sides!

Supported comparisons and mathematics:

  • One level of math, eg. [FIELDX] + [FIELDY] == [FIELDZ] + [FIELDQ]
  • Supported mathematics are: plus, minus, divide, multiply and modulus
  • Supported number comparators are: equal (= or ==), unequal (!=), less than (<), greater than (>), less than or equal (<=) and greater than or equal (>=)
  • Supported text comparators are: equal (= or ==) and unequal (!=)

Samples of basic formulas:

Expression Result
( [FIELDX] > [FIELDY] ? X ([FIELDX]) is greater : Y ([FIELDY]) is greater ) Given that the value of both fields are numbers (int or float), and FIELDX has a greater value.

The result would be: X ([FIELDX]) is greater, where [FIELDX] would be replaced with the value of the field

( [RADIO] = Yes ? User accepted : User didn't accept ) Given that [RADIO] is a FieldNumberBoolean and the TRUE value has been set to "Yes", if the user selects it.

The result would be: User accepted

(
    [PROVIDER] = IMDB
    ? <a href="https://www.imdb.com/title/[ID]/">Link to IMDB<a/>
    : (
        [PROVIDER] = TheMovieDB
        ? <a href="https://www.themoviedb.org/movie/[ID]">Link to TheMovieDB<a/>
        : Unknown provider
    )
)
This is an example of two nested formulas, enabling comparison of an element against multiple values.

Given that [PROVIDER] is a string value (text, dropdown, etc), [ID] could be anything.

If provider equals "IMDB" a link to IMDB would show up, and the ID would be input.

If provider equals "TheMovieDB" a link to TheMovieDB would show up, and the ID would be input.

( [ACCEPT] != YES ? <a href=\"https://acme.com?( [X] > [Y] ? test1 : test2 )\">Link</a> : <a href=\"https://acme.net?( [X] < [Y] ? test1 : test2 )\">Link</a> ) This is just an example of nesting.

User interface

Field in show mode:

FieldCalcConcatenate show.png

Due to its nature this field has no special editing mode.

Configuration

This field requires configuration before deployment.

FieldCalcConcatenate BE.png

Required:

  • An expression

Developer info

  • FeltTypeID: 82
  • SQL datatype: text
  • Class name: FieldCalcConcatenate
  • Field is allowed in inline tables