2017 October Release

Predefined GUI ControlsPermanent link for this heading

COOATTREDIT@1.1:CTRLAclPermanent link for this heading

This control is used to display and edit access control lists.

COOATTREDIT@1.1:CTRLAggrListPermanent link for this heading

This control is used to display an aggregated list of objects.

Argument:

  • HeaderText (string)
    A header text shown above the list of objects.
  • FooterText (string)
    A footer text shown below the list of objects.
  • Symbol (object)
    A symbol object shown on the left side of the control.
  • EmptySymbol (Boolean)
    Preserve an empty space (instead of a symbol) on the left side of the control.
  • Objects (dictionary)
    A dictionary containing an aggregate list of objects. Aggregate members are:
    • objname
      The name of the list entry.
    • objmicon
      COO address of an icon shown in front of the name.
    • errmsg
      Error message text for the entry (optional).
  • ListLabel (string)
    The label for the list.
  • ObjectsLabel (string)
    A second, more generic label shown above the ListLabel.
  • HasMoreText (string)
    If there are more than MaxItems items available, collapse these items and show the HasMoreText instead.
  • MaxItems (integer)
    If there are more items than MaxItems available, do collapse these items and show the HasMoreText.

COOATTREDIT@1.1:CTRLAttrpathPermanent link for this heading

This control is used to display an attribute path and its icon.

COOATTREDIT@1.1:CTRLBasePermanent link for this heading

This control is used for basic data types like integer, float, string and object pointer.

Argument:

  • Change (string)
    Defines the JavaScript function that should be called when the value of the control has been changed.
  • NotNull (Boolean)
    Defines whether the initializing value of the attribute definition should be used for the control, when it is null.
  • UseRadio (Boolean)
    Defines whether a radio button is displayed for a Boolean value. Only supported in XML Dispatcher.
  • UseCombo (Boolean)
    Defines whether a combo box is displayed for a Boolean value.
  • Description (string)
    Defines the label for a Boolean value. By default the name of the property is used as label. With this parameter the label will not be restricted to 254 characters. Not supported when a combo box is used to display the Boolean value.
  • ExtSearch (Boolean)
    Defines whether the search button is enabled in an object pointer property.
  • UseStub (Boolean)
    Defines whether the stub is used for uploading a content in the web client, which uses the AJAX dispatcher. In case of E-Services generally no stub is available.
  • UseInCell (Boolean)
    Defines whether the control should be used when displaying a content property in an aggregate list in the web client, which uses the AJAX dispatcher.
  • NoSort (Boolean)
    Defines whether the entries should be sorted by name or just displayed in the given order. By default it is false, which means that the entries will be sorted.
  • ShowIcon (Boolean)
    Defines whether the icon of the object s in the control should be displayed. By default it is true.
  • ShowReference (Boolean)
    Defines whether the multi lingual name or the reference should be displayed. By default it is false, which means that the multi lingual name will be displayed.
  • Placeholder (string or String object)
    Defines a string that is displayed as a placeholder in the background of the text field as long as there is no value in it. You can use an ordinary string or a String object if you want multilingual support.
    If you specifying a mask pattern along with a placeholder the placeholder will be shown to help the user entering the property value. Therefore, it will not disappear when the user enters data. Note: The placeholder text will also be part of the value if the user do not overwrite it completely.
  • MaskPattern (string)
    Defines a string representing a mask which can be passed to input fields of types string and number. The following characters can be used for the mask:
    • 9represents any number
    • arepresents any letter in capital or in lower case
    • *represents any number or letter
    • ?defines the beginning of an optional part of the mask
  • Any other characters used in the pattern will be interpreted as delimiters and inserted in the input as they are. The mask specifying a date and an optional time string, for example, may be given as 99.99.9999? 99:99.

Example

app.ducx User Interface Language

layout {
  row {
    // the branch with branch ID "next" gets executed on change
    // radio buttons are displayed

   CTRLBase("Change=\"vapp('next')\" UseRadio=true") ctrlsampleboolean {
      colspan = 4;
      labelposition = left;
    }
  }
}

COOATTREDIT@1.1:CTRLBaseListPermanent link for this heading

This control is used to display a list of values.

COOATTREDIT@1.1:CTRLContPermanent link for this heading

This control is used to upload content.

Argument:

  • UseStub (Boolean)
    Defines whether the Fabasoft Folio Client or Fabasoft Cloud Client is used for uploading a content. In case of e-services generally no client is available. If no client is used the whole window will reload on submit.

COOATTREDIT@1.1:CTRLCurrPermanent link for this heading

This control is used to display and edit currency properties.

COOATTREDIT@1.1:CTRLDateTimePermanent link for this heading

This control is used to display datetime properties including a calendar.

Argument:

  • dateonly (Boolean)
    Defines whether the date field is displayed without the time field.
  • omitseconds (Boolean)
    Defines whether seconds are omitted in the time.
  • Change (string)
    Defines the JavaScript function, which should be called when the value of the control has been changed.
  • NoCalendar (Boolean)
    Defines whether the icon for the date picker is displayed. By default, the date picker is displayed.
  • Placeholder (string or String object)
    Defines a string that is displayed as a placeholder in the background of the text field as long as there is no value in it. You can use an ordinary string of a String object if you want multilingual support.

Example

app.ducx User Interface Language

layout {
  row {
    // no arguments
   CTRLDateTime ctrlsampledatetime {
      colspan = 4;
      labelposition = left;
    }
  }
}

layout {
  row {
    // only the date with no calendar symbol is displayed
   CTRLDateTime("dateonly=true NoCalendar=true") ctrlsampledatetime {
      colspan = 4;
      labelposition = left;
    }
  }
}

COOATTREDIT@1.1:CTRLDictSelPermanent link for this heading

This control is used to enable the selection of a value out of a list of key/value pairs. The key/value pairs are derived from a CooDictionary. The available options that have to be stored in the dictionary may be determined for example by a web service (e.g. zip code/city). A Fabasoft Folio Domain can also be used as a web service (e.g. retrieving a dictionary with object_address/object_name entities by a SOAP call).

The selected value is stored in a compound property, which consists of at least two string properties. The key of the selected entry is stored in the first property and the value is stored in the second property of the compound property.

The FSCVAPP@1.1001:DictionarySelection compound type can be used for properties. The FSCVAPP@1.1001:AttrGetDictSelDisp display action can be used to display the property values in a column of an object list.

The Sorting of List property of the compound type determines whether and how (ascending or descending) the dropdown list is sorted.

In read-mode the currently stored value is displayed. In edit-mode the value for the currently stored key is retrieved from the dictionary before it is displayed. If the key could not be found in the dictionary anymore, the old value is displayed.

Argument:

  • Change (string)
    Defines the JavaScript function, which should be called when the value of the control has been changed.
  • Source (string)
    Defines the source of the dictionary, from which the values are determined. The dictionary that stores the available options should have the same name as the property’s reference followed by _hint (e.g. the property is called MYSWC@100.999:city the dictionary containing the options should be stored in a variable called city_hint in the vApp). It is also possible to pass a name for a variable in the vApp that contains the dictionary or a reference of a dictionary property.

COOATTREDIT@1.1:CTRLDisplayStringPermanent link for this heading

This control is used to truncate a string list, object list or content.

Example

app.ducx User Interface Language

layout {
  row {
    // no arguments
   CTRLDisplayString ctrlsamplestringlist {
      colspan = 4;
      labelposition = left;
    }
  }
}

COOATTREDIT@1.1:CTRLInstantiatePermanent link for this heading

This control is used to display the creatable objects and templates in the “Object” > “New” dialog.

COOATTREDIT@1.1:CTRLListPermanent link for this heading

This control is used to display an object list.

Argument:

  • ShowIcon (Boolean)
    Defines whether icons or preview images are displayed in the detail view of an object list.
  • MaxRows (Boolean)
    Defines the maximum amount of rows in a list in the attribute editor.

This control supports the controloptions expression in the layout of a form page.

COOATTREDIT@1.1:CTRLMLNamePermanent link for this heading

This control is used to display and edit a List of Language Strings (COOSYSTEM@1.1:LanguageStringList).

Argument:

  • multlanginp (Boolean)
    Defines whether multiple input fields are available for languages. If this argument is omitted the setting COOSYSTEM@1.1:usrenvmultlanginp in the current user’s user environment defines the behavior.
  • multlanginplangs (string)
    Defines the list of languages that should be displayed as primary languages. All input fields for primary languages are visible in advance whether a value is already present or not. If this argument is omitted the setting FSCCONFIG@1.1001:cfgprimarylanguages in FSCCONFIG@1.1001:AdministrationConfiguration or the current domain configuration defines the available languages.

Example

app.ducx User Interface Language

layout {
  row {
    // multi-langual input is enforced, three languages are displayed
    CTRLMLName("multlanginp=true
      multlanginplangs=LANG_ENGLISH,LANG_GERMAN,LANG_ITALIAN") mlname {
      colspan = 4;
      labelposition = left;
    }
  }
}

COOATTREDIT@1.1:CTRLObjNavPermanent link for this heading

This control is used to display and edit an object pointer including a “Hierarchy” button. It cannot be used for compound properties or compound property lists.

Argument:

  • Root (string)
    Defines the object address of a Fabasoft DUCX Expression, which provides the root of the “ObjNav” control.
  • QueryRoot (string)
    Defines the object address of a Fabasoft DUCX Expression, which provides the root of the “ObjNav” control in a search. If this value is null the value of “Root” is used.
  • Lists (string)
    Defines the object address of a Fabasoft DUCX Expression, which defines the used structure.
  • IgnoreCompoundFlag (Boolean)
    Defines whether only compound objects should be displayed or all objects.

Example:

  • Change="return vappstartapp('','COO.1.1001.1.55137', false);" Root=COO.1.1001.1.55219 Lists=COO.1.1001.1.55218
    In this case a vApp is executed, the root object and the lists object are defined using the object address.

COOATTREDIT@1.1:CTRLPasswordPermanent link for this heading

This control is used for entering passwords.

Argument:

  • Change (string)
    Defines the JavaScript function, which should be called when the value of the control has been changed.
  • cardspace (Boolean)
    Special mode for CardSpace. Form-based login settings are evaluated.
  • usevalue (Boolean)
    Defines whether the value of the property, instead of a dummy string containing “*****”, is transferred to the client. This enables the developer to implement a special error handling or password checks.

Example

app.ducx User Interface Language

layout {
  row {
    // no arguments
   CTRLPassword ctrlsamplestring
      colspan = 4;
      labelposition = left;
    }
  }
}

COOATTREDIT@1.1:CTRLPDFLinkPermanent link for this heading

This control is used to display links within a PDF overview.

Argument:

  • OpenLinkApp (string)
    Defines the application to be called.

COOATTREDIT@1.1:CTRLPhonePermanent link for this heading

This control is used to display and edit telephone numbers.

Argument:

  • Change (string)
    Defines the JavaScript function, which should be called when the value of the control has been changed.

Example

app.ducx User Interface Language

layout {
  row {
    // no arguments
   CTRLPhone ctrlsamplestring
      colspan = 4;
      labelposition = left;
    }
  }
}

COOATTREDIT@1.1:CTRLPickPermanent link for this heading

This control is used to display a list of enumeration entries or a list of objects. The elements to choose from can be specified by a hint. The name of the hint has to be the short reference of the corresponding property followed by _hint (e.g. ctrlsampleobjects_hint). It can be defined in the get expression of a field (see example below) or within the virtual application.

If no hint is specified then

  • for enumeration entries all the entries specified by the type that are not disabled are used (see COOSYSTEM@1.1:typeenumvalues and COOSYSTEM@1.1:typeenumdisabled)
  • for a list of objects the values provided by the action COOSYSTEM@1.1:LocalObjectsGet() are used. The list provided by that action can be influenced by providing a filter expression for the property (see COOSYSTEM@1.1:attrfilterexpr)

Argument:

  • InputType (string)
    Defines whether checkboxes (checkbox) or radio buttons (radio) are displayed.
  • ShowSelectAll (Boolean)
    Defines whether a check box is displayed that allows to select or deselect all entries. Makes only sense when checkboxes are used.
  • ShowReference (Boolean)
    Defines whether references of enumeration entries or objects are displayed.
  • ShowIcon (Boolean)
    Defines whether a small symbol is displayed for each object list entry.
  • ShowInfo (Boolean)
    Defines whether an info box tooltip is displayed for object list entries.
  • ShowThumbnail (string)
    Defines a property path to an image that should be displayed for each object list entry.
  • Enhanced (Boolean)
    Defines whether a thumbnail and a name is displayed for each object list entry.
  • Change (string)
    Defines the JavaScript function, which should be called when the value of the control has been changed.
  • Columns (long)
    Defines the number of the columns, in which the enumeration or object list entries are shown.
  • Width (string)
    Defines the width of every entry in the list. This value can be a fix value, e.g. 40px or “*” which means the list of values is dynamically resized depending on the values.
  • SortMode (long)
    Defines the sort mode for the enumeration entries or object lists. For enumeration entries this argument allows to override the default sort mode specified by the enumeration type (COOSYSTEM@1.1:typelistsorting).
    The sort mode is used in combination with the ShowReference argument to sort either by names or by references.
    SortMode uses the same values as defined in COOSYSTEM@1.1:SortMode:
    • 0 (SORTMODE_NONE)
      no sorting (default)
    • 1 (SORTMODE_UP)
      sort ascending
    • 2 (SORTMODE_DOWN)
      sort descending
  • SingleSelect (Boolean)
    Defines whether several checkboxes or only one checkbox can be selected at maximum.
  • InvertedSelect (Boolean)
    If set to true, the not checked entries are stored in the underlying property. This can be useful to implement an opt-out list.

Example

app.ducx User Interface Language

layout {
  row {
    // the references of the enumeration entries are shown in one column
   CTRLPick("ShowReference=true Columns=1") ctrlsampleenum {
      colspan = 4;
      labelposition = left;
    }
  }
}

dataset {
  field ctrlsampleobjects {
    get = expression {
      // <reference>_hint is used to define the displayed entries
      this.ctrlsampleobjects_hint = [#SymbolAndroid, #SymboliOS, #SymbolLinux,
                                      #SymbolWindows, #SymbolMacOS];
      return null;
   }
  }

}

layout {
  row {
    // only thumbnails should be displayed
    //
110px spacing between the columns
    CTRLPick("ShowThumbnail='COODESK_1_1_symbolimages(3)content(0)
               contcontent(0)' Wi
dth=110px") ctrlsampleobjects {
      rowspan = 2;
      colspan = 4;
      labelposition = left;
    }
  }
}

This control supports the controloptions expression in the layout of a form page.

COOATTREDIT@1.1:CTRLPictPermanent link for this heading

This control is used to display, upload and edit pictures. The control uses as basis FSCIMAGE@1.1001:CTRLEditImage (only for internal use). Cannot be used in aggregates.

Argument:

  • MaxWidth (long)
    Defines the maximum width of the preview picture (not relevant for the picture editing view).
  • MaxHeight (long)
    Defines the maximum height of the preview picture  (not relevant for the picture editing view).
  • UseStub (Boolean)
    Defines whether the Fabasoft Folio Client or Fabasoft Cloud Client is used for uploading a content in the web client, which uses the AJAX dispatcher. In case of e-services generally no client is available. The default value is true.
  • DavUrl (string)
    This WebDAV URL defines the content of the picture. <%object%> can be used as a replacement character for the address of the current object.
  • NoBorder (Boolean)
    Do not use an picture border. The default value is false.
  • FallbackUrl (string)
    A friendly URL identifying a fallback picture.
  • FriendlyUrl (string)
    Display a picture identified by a friendly URL.
  • EnableDelete (Boolean)
    Show a delete branch for picture deletion. The default value is false.
  • EnableSelect (Boolean)
    Show a select branch for picture selection. The default value is true.
  • EnableEdit (Boolean)
    Show an edit branch for picture editing. The default value is false. Additional control arguments influencing this application branch are described in the following paragraph.
  • ShowButtonText (Boolean)
    If true, the button symbol and button text is displayed. Otherwise only the symbol is displayed. The default value is true.
  • StrSelectImageTitle (string)
    COO-Address of String object which defines the selection VAPP title
  • StrSelectImageObject(string)
    COO-Address of String object which defines the selection VAPP object field caption
  • StrSelectImageFile(string)
    COO-Address of String object which defines the selection VAPP content field caption
  • StrSelectDescription (string)
    COO-Address of String object which defines the selection VAPP description field content
  • StrEditImageTitle(string)
    COO-Address of String object which defines the editing VAPP title
  • NoCacheCleanUp(Boolean)
    Cache won’t be deleted when the control is unloaded.
  • DescriptionText(string)
    Defines a string that is displayed on the right side of the image.

  • Additional arguments (regarding picture editing):
  • SelectionX (long)
    On editing the picture, show a selection area starting at horizontal position X.
  • SelectionY (long)
    On editing the picture, show a selection area starting at vertical position Y.
  • SelectionW (long)
    On editing the picture, show a selection area having width W.
  • SelectionH (long)
    On editing the picture, show a selection area having height H.
  • SelectionFixedRatio (Boolean)
    If true, the selection area width and height have a fixed ratio. The default value is false.
  • SelectionAllowResize (Boolean)
    If true, resizing the selection width and height is allowed. The default value is true.

Example:

  • MaxHeight=50 MaxWidth=50
    In this case the maximum height is 50 pixel and the maximum width is 50 pixel.

COOATTREDIT@1.1:CTRLProgressPermanent link for this heading

This control is used to display a progress bar.

Argument:

  • HideCounter (Boolean)
    Counter line is not displayed.
  • HideProgressbar (Boolean)
    Progress bar is not displayed.

COOATTREDIT@1.1:CTRLRatingPermanent link for this heading

This control is used to display a star rating.

COOATTREDIT@1.1:CTRLRawTextPermanent link for this heading

This control is used to transfer the contents of script component objects to the web browser.

COOATTREDIT@1.1:CTRLResearchPermanent link for this heading

This control is used to display the input field for a research term.

COOATTREDIT@1.1:CTRLStaticPermanent link for this heading

This control is used to display static text, a horizontal rule or a picture. This control ignores the parameter COOATTREDIT@1.1:formdisplaypropertiesonce per design.

Argument:

  • Mode (string)
    Defines which static element should be displayed (text, picture, framedpicture, hr)

Possible values:

  • Mode=text
    A text is displayed. In case the control is implemented for a string or string list property the string is displayed. The string can contain simple HTML tags.
    Note: This means that the string has to be HTML escaped if it contains user data like the object name.
    If the control is implemented for an object, it is tried to display the content of following properties in the given order:
    • Multilingual Name (COOSYSTEM@1.1:mlname)
    • String (COOSYSTEM@1.1:string)
    • Name (COOSYSTEM@1.1:objname)
  • Mode=picture
    A picture is displayed. In case the control is implemented for an object, the picture is taken from the Multilingual Content (COOSYSTEM@1.1:mlcontent) property. If this property is not available, the picture is taken from the Content (COOSYSTEM@1.1:content) property.
    If the control is implemented for a string property, this string is used as a URL to the picture. It is also possible to use a WebDAV URL. The picture can be horizontally aligned by adding the viewhint VIEWHINT_CLASSNAME with the value “FscCenter” to your property.
  • Mode=framedpicture
    A picture with frame is displayed. Apart from that it is the same as the mode “picture”.
  • Mode=hr
    A horizontal rule is displayed.

Argument:

  • Value (string/object)
    When displaying text the value to be displayed can be set with this parameter. If the value represents an object either by specifying an object address or a full reference starting with “#”, this value is displayed.

COOATTREDIT@1.1:CTRLStrListPermanent link for this heading

This control is used to enter a string value that may be chosen from a dropdown box. The value may be stored as string (which is the value chosen from the dropdown box) or as integer (which is the position of the string in the dropdown box).

You may also use this control when the user should be supported by an autocomplete list. In that case an edit field is displayed together with a list box. The user can choose a value from the list box or enter his own text. In the list box only values will be displayed that match the data entered by the user. An autocomplete list is only supported for string properties.

Argument:

  • Change (string)
    Defines the JavaScript function, which should be called when the value of the control has been changed.
  • Type (string)
    Defines the type. The possible value is STRING. Otherwise it is interpreted as integer.
  • Values (string)
    Defines the object address of a Fabasoft app.ducx Expression, which provides the values for the combo box.
  • Autocomplete (Boolean)
    Defines whether the user can choose from a list box to complete the entered value. The Fabasoft app.ducx Expression has to provide the values a user can select from. A maximum of 500 entries will be displayed on the client.
  • Placeholder (string or String object)
    Defines a string that is displayed as a placeholder in the background of the text field as long as there is no value in it. You can use an ordinary string of a String object if you want multilingual support. This option can only be used with the Autocomplete option.
  • WildcardSearch (Boolean)
    By default the displayed values in the autocomplete list box must match from the first character on with the text entered by the user. Use this option to display values in the autocomplete list box that just contain the text entered by the user. This option can only be used with the Autocomplete option.
  • Details:

In the Fabasoft app.ducx Expression defined in Values the following input/output values will be provided:

Values expression

app.ducx Object Model Language

instance Expression GetStreetList {
  exprtext =
expression {
    
string ::value; // the value the user has entered, autocomplete only
    
object ::attribute; // the attribute definition this control is used for
    string ::isvalue; // false if the control is used in search mode

    
// set to true means that this expression has provide all possible
    //   entries for ::value, the expression will not be called again
    // set to false means that the values cannot be returned as a complete
    //   list since there are too many entries available. In that case
    //   the expression is subsequently called when the user continuous typing.
    
boolean ::iscomplete = true;

    string @pattern = (::value) ? ::value + "%" : "%";
    
string[] @streets = cooobj.GetStreets();
    
return @streets[this like @pattern];
  }

}

The expression has to return a string array. The input/output values have to be passed in the global scope of the expression. The local scope contains the current object. You may use the temporary scope to define local variables.

The autocomplete list will show a maximum of 500 entries, even if the expression will return more entries.

Example:

  • Change="vapp('help')" Type=STRING Values=COO.5.5555.1.12345
    In this case the branch with branch ID “help” gets executed. The combo box items are defined by the defined Fabasoft app.ducx Expression object.

Define autocomplete in control options of a form

app.ducx User Interface Language

row {
  CTRLStrList street {

    
colspan = 4;
    
controloptions = expression {
      

      
dictionary dict = {
        Autocomplete:
true,
        WildcardSearch:
true,
        Values:
#GetStreetList
      };

      
return dict;
    }

  }

}

COOATTREDIT@1.1:CTRLTextPermanent link for this heading

This control is used to enable a multiline text input.

Argument:

  • Rows (long)
    Defines the number of rows of the text area.
  • Cols (long)
    Defines the number of columns of the text area.
  • HTMLStringDef (Boolean)
    Defines whether the control contains HTML content and evaluates it.
  • ShowResizebar (Boolean)
    Defines whether the control is resizable.

Example

app.ducx User Interface Language

layout {
  row {
    // 5 rows, 40 characters, evaluate HTML tags and no resize possibility
    CTRLText("Rows=5 Cols=40 HTMLStringDef=true ShowResizebar=false") strlist {
      colspan = 4;
      labelposition = left;
    }
  }
}

Read mode:

FSCTIMELINE@1.1001:CTRLTimelinePermanent link for this heading

This control is used to display a timeline of events.

Argument:

  • Events (FSCTIMELINE@1.1001:EventData[])
  • Categories (FSCTIMELINE@1.1001:EventCategory[])
  • MinIntervalUnit (FSCTIMELINE@1.1001:IntervalUnit)
  • MaxIntervalUnit (FSCTIMELINE@1.1001:IntervalUnit)
  • StartDate (date time string)
  • Details:

The list of events must be built up of entries of type FSCTIMELINE@1.1001:EventData.

EventData

app.ducx Obejct Model Language

public struct EventData {
  string id; // event id (e.g. object address)
  string title; // event title
  string icon; // event icon (hyperlink)
  string category; // ID matching with IDs defined in argument categories
  
string start; // datetime string
}

The list of categories must be built up of entries of type FSCTIMELINE@1.1001:EventCategory.

EventCategory

app.ducx Object Model Language

public struct EventCategory {
  
string id; // category id (e.g. category object address)
  
string title; // category title
  string icon; // object address of an appropriate category icon object
}

Supported interval units are defined in FSCTIMELINE@1.1001:IntervalUnit.

IntervalUnit

app.ducx Object Model Language

enum IntervalUnit {
  INTERVALUNIT_MILLISECOND = 0,

  INTERVALUNIT_SECOND = 1,

  INTERVALUNIT_MINUTE = 2,

  INTERVALUNIT_HOUR = 3,

  INTERVALUNIT_DAY = 4,

  INTERVALUNIT_WEEK = 5,

  INTERVALUNIT_MONTH = 6,

  INTERVALUNIT_YEAR = 7,

  INTERVALUNIT_DECADE = 8,

  INTERVALUNIT_CENTURY = 9,

  INTERVALUNIT_MILLENIUM = 10

}

COOATTREDIT@1.1:CTRLTimespanPermanent link for this heading

This control is used to display and edit a time span in days, hours, minutes and seconds.

Argument:

  • omitdays (Boolean)
    Defines whether the days field is omitted in the timespan.
  • omithours (Boolean)
    Defines whether the hours field is omitted in the timespan.
  • omitminutes (Boolean)
    Defines whether the minutes field is omitted in the timespan.
  • omitseconds (Boolean)
    Defines whether the seconds field is omitted in the timespan.
  • Change (string)
    Defines the JavaScript function, which should be called when the value of the control has been changed.

Example

app.ducx User Interface Language

layout {
  row {
    // omit days and seconds
    CTRLTimespan("omitdays=true omitseconds=true") ctrlsampletimespan {
      colspan = 4;
      labelposition = left;
    }
  }
}

Note:

It is not possible to omit all the fields. In that case the argument omitseconds=true is ignored. If the value that should be displayed requires a certain field to be available, the corresponding argument is ignored. This means for example that omitseconds=true is ignored if the value is 1 (meaning 1 second), since it is not possible to display 1 second using the days, hours, or minutes fields. On the other hand omitdays=true is not ignored if the value is 90000 (25*60*60 or 25 hours) since it is not necessary to show the days field for that.

COOATTREDIT@1.1:CTRLTimestampPermanent link for this heading

This control is used to display and edit a time stamp in hours, minutes and seconds.

Argument:

  • Change (string)
    Defines the JavaScript function, which should be called when the value of the control has been changed.

COOATTREDIT@1.1:CTRLTreePermanent link for this heading

This control is used to display the tree.

Argument:

  • Click (string)
    Defines which JavaScript function should be called when clicking on a node.
  • Action (string)
    Reference of an action, which defines the action that should be used to fill the dictionaries of the next node.
  • ShareView (string)
    Defines the reference of a property, which is used to display a filtered tree. Each node is checked whether it is allowed in this view.
  • GenericOpen (Boolean)
    Defines whether the tree nodes should be opened generic.
  • SortMode (string)
    Defines whether the sorting should be used (SORTMODE_DOWN or SORTMODE_UP). Use SORTMODE_NONE to turn the sort off.
  • ApplicationView (string)
    Reference of an application view, which defines the nodes of the “Explore” tree.

Example:

  • Click="return vapptree('<%sys_branchvalue%>','<%sys_objectview%>','<%sys_index%>')" ApplicationView="FSCVENV@1.1001:LocateExploreAppView"
    In this case the JavaScript function for clicking on a node and the application view is defined.

COOATTREDIT@1.1:CTRLURLNavPermanent link for this heading

This control is used to display and edit an URL in a text field including a button, which opens the URL in a new web browser window.

COOATTREDIT@1.1:CTRLViewContPermanent link for this heading

This control is used to display a content in place.

Argument:

  • Width (string)
    Defines the width of the content.
  • Height (string)
    Defines the height of the content.
  • EnablePreview (Boolean)
    Defines if the preview image should be shown instead of the content itself in certain situations (mobile devices, web browsers without PDF plug-in, user settings (preview mode), large contents > 50 megabytes).
  • PreviewUrl (string)
    Defines the URL of the preview image that should be shown for this content e.g. 'image/' + cooobj.GetIdentification() + '/pv/1'. (Only used if EnablePreview is set to true)

Example:

  • Width=30em Height=300
    In this case the width is 30em and the height is 300 pixel.

COOATTREDIT@1.1:CTRLXMLAttrPermanent link for this heading

This control is used to display attributes from a XML document.

COOWF@1.1:CTRLWfParticipantPermanent link for this heading

This control is used to display the workflow participant compound property.

Configuration:

  • grouproot
    Defines an expression object that evaluates the root object for the group hierarchy control.
  • grouplist
    Defines an expression object that evaluates the list properties of the root group object that should be available.
  • userroot
    Defines an expression object that evaluates the root object for the user hierarchy control.
  • userlist
    Defines an expression object that evaluates the list properties of the root user object that should be available.
  • show
    Defines a list of properties of the participant compound type that should be displayed. Available values are: metaparticipant, user, position, group, orgunittype, text, partner, subst, substuser.
  • hide
    Defines a list of properties of the participant compound type that should not be displayed. Available values are: metaparticipant, user, position, group, orgunittype, text, partner, subst, substuser.

Example:

  • grouproot=COO.1.1001.1.48480 grouplist=COO.1.1001.1.48481 userroot=COO.1.1001.1.48536 userlist=COO.1.1001.1.48537 hide=text,partner

FSCTEAMROOM@1.1001:CTRLTeamPermanent link for this heading

This control is used to view and manage team members of rooms.

It displays the members in a sortable object list, with configurable additional information via collapse and expand of each entry.

Argument:

  • ReadOnly (Boolean)
    Defines if the control should be shown read-only by default.

Configuration:

The search appearance could be configured in the domain administration configuration (FSCCONFIG@1.1:cfgquicksearchappearance).

The strings and icons can be configured with the customization point FSCTEAMROOM@1.1001:CPTeamControl.

The expand and collapse mechanism can be configured with the customization point FSCTEAMROOM@1.1001:CPExpandTeamControl.

This control supports the controloptions expression in the layout of a form page.

FSCDOX@1.1001:CTRLHtmlEditorPermanent link for this heading

This control is used for strings, string lists, content, content aggregates to generate HTML code.

A drop-down list for the language selection, in which the content is edited, is displayed in the toolbar, if this control is defined for a compound property of the type COOSYSTEM@1.1:LanguageContentList and multilingual input is enabled.
The languages are calculated with the action FSCDOCX@1.1001:GetLanguages.

The default implementation of this action reads the languages from the Primary Languages for Multilingual Input (FSCCONFIG@1.1001:cfgprimarylanguages) property of the FSCCONFIG@1.1001:Configuration. If this property is empty, all languages are returned.

Argument:

  • NoToolbar (Boolean)
    Defines whether the tool bar is shown.
  • NoTableToolbar (Boolean)
    Defines whether the table tool bar is shown.
  • NoNearbar (Boolean)
    Defines whether the near bar is shown.
  • NoCanvas (Boolean)
    Defines whether the tool bar is displayed including a text area.
  • DisabledButtons (string)
    Defines which buttons should be disabled. Use semicolons to separate the entries. Available values: "bold", "italic", "underline", "cut", "copy", "paste", "pasteplain", "removeformat", "justifyleft", "justifycenter", "justifyright", "insertunorderedlist", "insertorderedlist", "outdent", "indent", "inserthorizontalrule", "insertimage", "createlink", "unlink", "importimage", "insertresource", "createlinkinternal", "createexpr", "unexpr", "togglesource", "tablecreate", "tableproperties", "tabledestroy", "tableinsertrowabove", "tableinsertrowbelow", "tabledeleterow", "tableinsertcolleft", "tableinsertcolright", "tabledeletecol", "cellproperties", "tableinsertcell", "tabledeletecell", "fontname", "fontsize", "forecolor", "backcolor";
  • XHTMLDocumentType (string)
    Reference or address of a XHTML Document Type object which defines allowed XHTML Modules.
    FSCDOX@1.1001 delivers the following XHTML Document Type objects:
    FSCDOX@1.1001:XHTMLAny, FSCDOX@1.1001:XHTMLPlain,
    FSCDOX@1.1001:XHTMLImg, FSCDOX@1.1001:XHTMLImgLink, SCDOX@1.1001:XHTMLLink, FSCDOX@1.1001:XHTMLBasicText, FSCDOX@1.1001:XHTMLCore, FSCDOX@1.1001:XHTMLSelfContained, FSCDOX@1.1001:XHTMLCoreImg
  • Width (string)
    Defines the width of the editor.
  • Height (string)
    Defines the height of the editor.
  • EditMode (string)
    Defines the edit mode, which can be “text” or “html”. The default edit mode is “html”.
  • ExtensionsTool (string)
    Address of an Editor Extension Tool object which defines key value pairs. The user can select a key in a drop-down list and the corresponding value is inserted in the editor content.
  • AbsolutePath (Boolean)
    If true, URLs are converted to absolute URLs in any case.
    Default: false  

Example:

  • No arguments defined.
  • NoTableToolbar=true NoNearbar=true DisabledButtons=bold;underline Width=300 Height=30em
    In this case no table toolbar and no near bar are shown. The editor has a width of 300 pixel and is 30em high.
  • XHTMLDocumentType=FSCDOX@1.1001:XHTMLImg
    In this case only image tags are allowed.

FSCSIMLIST@1.1001:CTRLSimListPermanent link for this heading

This control is used to display a simple object list, comparable to the Microsoft Outlook mail-add field. The edit mode of the control is only available in the property editor. If the control is used in an explore form (e.g. when browsing the desk), the values of the object list cannot be changed.

Argument:

  • Change (string)
    Defines the JavaScript function, which should be called when the value of the control has been changed.
  • ShowIcon (Boolean)
    Defines if the object icons are displayed.
  • ShowUnderline (Boolean)
    Defines if the entries are underlined.
  • Separator (string)
    Defines a string which separates entries.
  • SearchAttrDefs (string)
    Semicolon separated list of COO addresses for property definitions to search in.
  • Placeholder (string)
    COO address of the string object which defines the “type here” info text.
  • CreateSymbol (string)
    COO address of the symbol for “creating a new object“ entry.
  • CreateText (string)
    This string must be defined to enable the “search” feature. COO address of the string object for “creating a new object“ entry.
  • CreateVapp (string)
    This string must be defined to enable the “create” feature. COO address of the vApp for “creating a new object“ entry, has to implement object create for his own.
  • Separator (string)
    Defines the string that should be used between the objects.
  • ListSeparator (string)
    Defines the string that should be used between the objects if the control is used in cells.
  • MaxRows (string)
    Defines the maximum number of rows.

  • Control Styles:
  • CTRLSTYLE_DISABLESEARCH
    Disables the possibility of a global search within the control. Locally cached items can be found.
  • CTRLSTYLE_DISABLECREATE
    Disables the possibility of creating objects within the control.

  • Example:
  • ShowIcon="false" ShowUnderline="true" Separator=";"

This control supports the controloptions expression in the layout of a form page.

  • Configuration:

The displayed entry names could be configured in the domain administration configuration (FSCCONFIG@1.1:cfgdisplaynames).

The search and hover appearance could be configured in the domain administration configuration (FSCCONFIG@1.1:cfgquicksearchappearance).

FSCCODEEDITOR@1.1001:ControlStdCodeEditorPermanent link for this heading

This control is used to display and edit source code, like Fabasoft app.ducx Expressions, Fabasoft app.ducx Queries, JavaScript, HTML or XML.

The following arguments are supported:

  • mode (string)
    Defines the mode, i.e. the language support, for the editor. The following modes are supported:
    • "application/x-fscexpression"
    • "application/x-fscquery"
    • "text/xml"
    • "application/xml"
    • "text/html"
    • "text/css"
    • "text/javascript"
    • "text/ecmascript"
    • "application/javascript"
    • "application/ecmascript"
    • "application/json"
    • "text/typescript"
    • "application/typescript"

The default mode is "application/x-fscexpression"

  • indentUnit (integer)
    Defines the indentation unit for the editor.
    The default value is 2.
  • smartIndent (Boolean)
    Defines whether the editor uses smart indentation i.e. on pressing the <Enter> key.
    The default value is true.
  • tabSize (integer)
    Defines the tab size i.e. the number of characters when pressing the <Tab> key.
    The default value is 2.
  • indentWithTabs (Boolean)
    Defines whether the editor uses tabs for indentation.
    The default value is false.
  • lineWrapping (Boolean)
    Defines whether the editor should wrap lines.
    The default value is false.
  • lineNumbers (Boolean)
    Defines whether the editor should show line numbers.
    The default value is true.
  • firstLineNumber (integer)
    If specified (and together with lineNumbers) this setting defines the number of the first line in the editor.
    If a Fabasoft app.ducx Expression is used with the editor and the code contains a %%LINE directive, this number is used to determine the number of the first line automatically.
    To leverage this automatic determination, the argument firstLineNumber must not be used.
  • showCursorWhenSelecting (Boolean)
    Defines whether the editor shows a cursor when selecting text.
    The default value is false.
  • matchTags (Boolean)
    Defines whether the editor highlights matching tags during editing.
    The default value is true with HTML or XML files.
  • matchBrackets (Boolean)
    Defines whether the editor highlights matching brackets during editing.
    The default value is true.
  • autoCloseTags (Boolean)
    Defines whether the editor automatically closes HTML or XML tags during editing.
    The default value is true with HTML or XML files.
  • autoCloseBrackets (Boolean)
    Defines whether the editor automatically inserts closing brackets during editing.
    The default value is true.
  • scrollbarStyle (string)
    Defines the style for the scroll bars of the editor.
    The default value is "simple".
  • extraKeys (JSON object)
    Defines the keyboard shortcuts of the editor.
    The following default assignments are used:
    • <Strg>+F: Search (Regular Expressions)
    • <Shift><Strg>+F: Search and replace (Regular Expressions)
    • <Shift><Strg>+R: Search and replace all occurrences (Regular Expressions)
    • <Strg>+G: Find next
    • <Shift><Strg>+G: Find previous
    • <Strg>+T: Transpose characters
    • <Strg>+<Space>: Auto Completion
    • <Strg>+Q: Fold or unfold code
    • <Strg>+L: Add comment to selection
    • <Shift>+<Strg>+L: Remove commenting of selection
    • <Strg>+I: Increase indent of selection
    • <Shift>+<Strg>+I: Decrease intent of selection
    • <F11>: Toggle full screen mode

See http://codemirror.net/doc/manual.html for more details on parameters and keyboard assignments.

Example

app.ducx User Interface Language

layout {
  row {
    FSCCODEEDITOR@1.1001:ControlStdCodeEditor(
      "mode: 'text/html', lineNumbers: false") myeditor {
      ...
    }
  }
}

This control supports the controloptions expression in the layout of a form page.