JavaScript functions v1.0

From TempusServa wiki
Revision as of 00:06, 7 January 2021 by old>Admin (→‎hideTableRowsForElements)
Jump to navigation Jump to search

Builtin functions

Handling form values

Display values are handled using standard getter and setters

  • getValue(fieldName)
  • setValue(fieldName,value)

Example

  var a = getValue("NUMBER1");
  var b = getValue("NUMBER2");
  setValue( "RESULT", (a-b) );

For explicitly getting a value (or ID) use

  • getDecimal(fieldName)

Example

 var recordId = getDecimal("SELECTRECORD");

Toggling fields (version 5478+)

Note: Hide functions are NOT intended for denying access to data -it will only be hidden in the frontend, but is still accessible to savvy users.

Fields can be shown or hidden calling the fieldname

  • hideField(fieldName)
  • showField(fieldName)

Examples

  hideField("USER");
  hideField("StatusID");

Dependent toggling

Hiding and showing fields can be made dependent on classes in the TempusServaPage

  • hideFieldForPageClass(fieldName,className)
  • showFieldForPageClass(fieldName,className)

Hiding and showing fields can be made dependent on items current status.

  • hideFieldForStatusId(fieldName,statusId)
  • showFieldForStatusId(fieldName,statusId)

Hiding and showing fields can be made dependent on classes in the TempusServaPage AND items current status.

  • hideFieldForPageClassAndStatusId(fieldName,className,statusId)
  • showFieldForPageClassAndStatusId(fieldName,className,statusId)

In case of advanced setup consider "hide for all first and show for some later". In this example NAME should only be displayed for a few status

  hideField("NAME");   
  showFieldForStatusId("NAME",1234);
  showFieldForStatusId("NAME",1235);

Disclaimer

The functions are the equivilant of JQuery

  $("#VB_DATA_"+fieldName).parent().parent().hide();
  $("#VB_DATA_"+fieldName).parent().parent().hide();

This means that fields are expected to be wrapped in TWO layers of html tags for the functions to work

Control variables

TS uses a number of special variables to control the behavior of the frontend. These variables can be changed anywhere.

hideTableRowsForElements

hideTableRowsForElements is by default true.

Set to false if template structure is only in a single level.

  • true: Hide two parent nodes when hiding fields
  • false: Hide single parent node when hiding fields

Example of 2 level template (default)

        <input ..

Example of 1 level template (special cases)

  <div>
        <input ..

Other sources