Tag: Difference between revisions

From Tygron Support wiki
Jump to navigation Jump to search
 
(13 intermediate revisions by the same user not shown)
Line 4: Line 4:
<code>$SELECT_GLOBAL_WHERE_NAME_IS_FOO</code>
<code>$SELECT_GLOBAL_WHERE_NAME_IS_FOO</code>


==$TQL Tags==
==TQL Tags==
Select queries can also be added to a text panel to obtain Project Session data. These select queries must always be preceded by a dollar sign ($) and are allowed to end with a dollar sign ($) as well. Adding or adjusting select queries require a [[Calculation Cloud|Calculation]] to be updated.  
[[Select (TQL)|Select queries]] can also be added to a text panel to obtain Project Session data. These select queries must always be preceded by a dollar sign ($) and are allowed to end with a dollar sign ($) as well. Adding or adjusting select queries require a [[Calculation Cloud|recalculation]].  
Once the results of the defined select queries are calculated, the queries are replaced with the calculated values.
Once the results of the defined select queries are calculated, the queries are replaced with the calculated values.


For example, the $TQL tags for obtaining the name of a Neighborhood with Item ID 4, that will be replaced successfully are <code>$SELECT_NAME_WHERE_NEIGHBORHOOD_IS_0</code> and <code>$SELECT_NAME_WHERE_NEIGHBORHOOD_IS_0$</code>
For example, the TQL tags for obtaining the name of a Neighborhood with Item ID 4, that will be replaced successfully are <code>$SELECT_NAME_WHERE_NEIGHBORHOOD_IS_0</code> and <code>$SELECT_NAME_WHERE_NEIGHBORHOOD_IS_0$</code>


===TQL Tags with X and Y Queries===
===TQL Tags with X and Y Queries===
A TQL Tag with a [[X (TQL)|X]], [[XA (TQL)|XA]], [[XK (TQL)|XK]] or [[XC (TQL)|XC]] clause is evaluated to an array of values, '''without''' the outer brackets.  
A TQL Tag with a [[X (TQL)|X]], [[XA (TQL)|XA]], [[XK (TQL)|XK]] or [[XC (TQL)|XC]] clause is evaluated to an array of values, '''without''' the outer brackets. This may lead to issues when used inside [[JavaScript]] (&lt;script&gt;) parts of a panel.


For Example, a panel with the following content for a project with three neighborhoods names "North City", "East City" and "West City"
For Example, a panel with the following content for a project with three neighborhoods names "North City", "East City" and "West City"
Line 22: Line 22:


When assigning this to a variable, the TQL Tag with an X query should therefore be put between brackets:
When assigning this to a variable, the TQL Tag with an X query should therefore be put between brackets:
<code>let names = [$SELECT_NAME_WHERE_NEIGHBORHOOD_IS_X]</code>
 
<code>let names = [$SELECT_NAME_WHERE_NEIGHBORHOOD_IS_X];</code>


is evaluated and replaced with:
is evaluated and replaced with:


<code>let names = ["North City", "East City", "West City"]</code>
<code>let names = ["North City", "East City", "West City"];</code>
 
In the case of a numerical query:
 
<code>let landsizes = [$SELECT_LANDSIZE_WHERE_NEIGHBORHOOD_IS_X];</code>
 
is evaluated and replaced with their calculated land sizes, for example:
 
<code>let landsizes = [100.0 , 240.25, 146.8];</code>


Similarly, a TQL Tag with  [[Y (TQL)|Y]], [[YA (TQL)|YA]], [[YK (TQL)|YK]] or [[YC (TQL)|YC]] clause is evaluated to an array of arrays of values:
Similarly, a TQL Tag with  [[Y (TQL)|Y]], [[YA (TQL)|YA]], [[YK (TQL)|YK]] or [[YC (TQL)|YC]] clause is evaluated to an array of arrays of values:


<code>let namesMatrix = [$SELECT_NAME_WHERE_NEIGHBORHOOD_IS_Y]</code>
<code>let namesMatrix = [$SELECT_NAME_WHERE_NEIGHBORHOOD_IS_Y];</code>


is evaluated and replaced with:
is evaluated and replaced with:


<code>let namesMatrix = [["North City"], "East City"], ["West City"]]</code>
<code>let namesMatrix = [["North City"], "East City"], ["West City"]];</code>


==HTML, CSS and Javascript==
==HTML, CSS and Javascript==
Line 136: Line 145:
{{article end
{{article end
| notes=
| notes=
* Tags can also be used in the output of [[Panel]]s based on an [[Excel]], and in [[Indicator]]s.
* Tags can also be used in the output of [[Panel]]s based on an [[Excel]], and in [[Indicator]]s, with the exception of TQL Tags, which are not evaluated. These should be put in the Excel itself instead using [[Excel#Naming cells|names]].
|seealso=
|seealso=
* [[Panel]]
* [[Panel]]

Latest revision as of 13:42, 4 November 2026

When requesting the text content of a panel through any of the web endpoints, the content returned is formatted and tags are replaced. These tags can be general tags, values of attributes and globals, as well as TQL Select statements.

Tags should always be preceded by a dollar sign ($), for example: $SELECT_GLOBAL_WHERE_NAME_IS_FOO

TQL Tags

Select queries can also be added to a text panel to obtain Project Session data. These select queries must always be preceded by a dollar sign ($) and are allowed to end with a dollar sign ($) as well. Adding or adjusting select queries require a recalculation. Once the results of the defined select queries are calculated, the queries are replaced with the calculated values.

For example, the TQL tags for obtaining the name of a Neighborhood with Item ID 4, that will be replaced successfully are $SELECT_NAME_WHERE_NEIGHBORHOOD_IS_0 and $SELECT_NAME_WHERE_NEIGHBORHOOD_IS_0$

TQL Tags with X and Y Queries

A TQL Tag with a X, XA, XK or XC clause is evaluated to an array of values, without the outer brackets. This may lead to issues when used inside JavaScript (<script>) parts of a panel.

For Example, a panel with the following content for a project with three neighborhoods names "North City", "East City" and "West City"

$SELECT_NAME_WHERE_NEIGHBORHOOD_IS_X

is evaluated and replaced with:

"North City" , "East City", "West City"

When assigning this to a variable, the TQL Tag with an X query should therefore be put between brackets:

let names = [$SELECT_NAME_WHERE_NEIGHBORHOOD_IS_X];

is evaluated and replaced with:

let names = ["North City", "East City", "West City"];

In the case of a numerical query:

let landsizes = [$SELECT_LANDSIZE_WHERE_NEIGHBORHOOD_IS_X];

is evaluated and replaced with their calculated land sizes, for example:

let landsizes = [100.0 , 240.25, 146.8];

Similarly, a TQL Tag with Y, YA, YK or YC clause is evaluated to an array of arrays of values:

let namesMatrix = [$SELECT_NAME_WHERE_NEIGHBORHOOD_IS_Y];

is evaluated and replaced with:

let namesMatrix = [["North City"], "East City"], ["West City"]];

HTML, CSS and Javascript

Text panel content is always returned as HTML; if it isn't already, <html> and <body> tags are automatically added. Javascript can defined and used inside <script> tags.

General Tags

Name Description
$PROJECT_NAME Formatted project name
$PLATFORM_DESCRIPTION Client description of the Tygron Platform
$LIB_CUSTOM Lower-case underscored project name
$TITLE Title of the panel
$CSS Replaced with relative stylesheet link: <link rel=\"stylesheet\" type=\"text/css\" href=\"tygron.css?token=$TOKEN\">
$LIB_PLOTLY Replaced with header script entry for Plotly; <script src=\"plotly.js?token=$TOKEN\" type=\"text/javascript\"></script>
$TOKEN Web token or Api token, depending on the context.
$STAKEHOLDER_ID id of the stakeholder; Stakeholder is obtained from the accessing web stakeholder or from a specified stakeholder id in the end point.
$STAKEHOLDER_SHORT short name of the stakeholder; Stakeholder is obtained from the accessing web stakeholder or from a specified stakeholder id in the end point.
$STAKEHOLDER name of the stakeholder; Stakeholder is obtained from the accessing web stakeholder or from a specified stakeholder id in the end point.

Legacy Tags

The following tags are deprecated and not to be used anymore, but kept for backwards compatibility.

Name Description
$SESSION Replaced with empty string
$SLOT Replaced with empty string
$ID Replaced with the id of the linked item.
$NAME Replaced with the name of the linked item.
$ATTRIBUTE_ Replaced with the value for the attribute specified after $ATTRIBUTE_, obtained from the linked item.
$GLOBAL_ Obtains the value of the Global specified after $GLOBAL_ from the linked item.

Limitations

Tags, Globals, attributes, and TQL Select statements are only replaced in the text content and cannot be generated dynamically via JavaScript. Generally only capital letters, numbers, underscores are supported for tags. Characters such as , ( ) [ ] { } < and &gt cannot be used inside tags.

In the following example, the Select statements are not properly replaced and will therefore not work.

const tableData = [];
for (const nh of neighborhoods) {
  const nameQuery = `$SELECT_NAME_WHERE_NEIGHBORHOOD_IS_${nh.id}`;
  const valueQuery = `$SELECT_ATTRIBUTE_WHERE_NEIGHBORHOOD_IS_${nh.id}_AND_NAME_IS_INHABITANTS`;
  tableData.push({
    name: nh.name,
    inhabitants: valueResult[0] // TQL returns an array of results
  });
}

Instead, the select statement should be written as follows:

const neighborhoodNames = [$SELECT_NAME_WHERE_NEIGHBORHOOD_IS_X];
const neighborhoodInhabitants = [$SELECT_ATTRIBUTE_WHERE_NEIGHBORHOOD_IS_X_AND_NAME_IS_INHABITANTS];

const tableData = [];
for(let n = 0; n < neighborhoodNames.length && n < neighborhoodInhabitants.length; n++){
  tableData.push({
    name: neighborhoodNames[n];
    inhabitants: neighborhoodInhabitants[n];
  });
}

For further specification details, see Global, Attribute and Select (TQL) respectively.

Notes

  • Tags can also be used in the output of Panels based on an Excel, and in Indicators, with the exception of TQL Tags, which are not evaluated. These should be put in the Excel itself instead using names.

See also

API Endpoints