Property Types

This version of the Property Types page is meant for developers who use components / services in their Servoy solutions. For an advanced version, that details how these types can be used when creating custom components / services, see this page instead.

Provided property value types


Boolean value, either true or false


CSS border string representation


This property must be used in Titanium if the value of the property represents a javacript function that must be run client side. In NG1 this was mostly just a (tag)string property type, but for Titanium we must know that it is meant to be a client side javascript function.

For NG1 it works the same as a tagstring property type. But for Titanium it is handled differently so the component can get a function directly from the model instead of getting a string and do an eval(string) on it to generate the function. This is because in Titanium it is not allowed to do eval in the browser by default, Content Security Policy doesn't allow that for security reasons.

From 2023.09 on it is also supported in the designer to have clientfunctions in pure map or json propery types, but then for a know possible key this must be given in the spec as a "value_types" tags property see map for an example

If this is not set in the spec correctly for that key, then this configuration can be added for that key, but you then can can set it through code and create a client side BrowserFunction see generatebrowserfunction


String color value




Reference to a dataprovider, either a record or scope/form variable.

Changing a dataprovider will trigger onDataChange event.


JSDataSet type equivalent. Currently can be used only for runtime api or model (to send a dataset to client).


Date value


Dimension representation


    width: 100, 
    height: 20


A floating point number


This property is for handling the find mode for a component (if the component needs to react specific to findmode, like no formatting, allowing any kind of input)


CSS font string


URL string pointing to a form (like tab in tabpanel)


Format string.

Format property access from solution scripting will give the string value of the parsed format** . Assignment** to a 'format' typed property allows you to set a new format string.


Represents a foundset. Used to interact with a server-side foundset from the browser (component properties can have this type). Accessible (if the component allows it) in server-side solution scripting and in properties view - when designing forms as well.


A reference to a server side foundset. Can be used in handlers (or for internal implementation details by custom component creators).


Callback function / function information that can be called on server from client.


Padding insets representation


    paddingTop: 10px, 
    paddingLeft: 20px,
    paddingBottom : 10px,
    paddingRight: 10px


An integer number


Type used in handlers that offers context information for the event.


Type for labelfor property of the label.


A map of key/value pairs. It's main purpose is converting string values, like "true"/"false" to boolean types, numbers as strings to number types (useful when using developer's properties view to assign values), and supporting i18n tags as values. It mostly supports primitive values, it does support nested structures since Servoy 2023.09 in the designer but only if those specific keys are marked like that through the "tags" spec attribute adding there an "value_types" entry, this is also needed to mark certain keys as clientfunction, for more full support of pure json with fully nested structurs look at the json property type

currently value_types can only have "map" or "json" as nested structures and "clientfunction" as the special value type that needs to be process specially.


This is like a map property type it has the same runtime behavior but it is more relaxed in what you can type in the designer, because that is a free textfield for a complete json definition. The json property type also has basic support for typing through arrays then the value_types is mapping on the objects inside the array


Reference to a Media entry. Media can be given in different ways on server (media name, media uuid, media url - for example "media:///servoy.jpg" -, media id).


Generic JSON type. When using this type, you should pass primitive values or objects/array of primitive values and objects/arrays - because it will generally not be able to handle correctly other types of values (for example you cannot give a foundset or a border and expect them to work). You should use more specific types from this list whenever possible instead of this generic type. The 'object' type relies on standard JSON to transfer it's contents to the browser; it tries to use some default conversions to make the value be a JSON-valid value (but the safest way is for you to give only what JSON allows as value).


Point representation


    x: 10, 
    y: 20


Boolean security property, can be used to protect the entire component or specific properties or handlers in the component.


Reference to a Record, can be used to send a record between client and server.


Reference to a Relation (this is a string, so if used as a api parameter, this would just mean the relation name)


**DEPRECATED Record type should be used instead.


The type of component (so that components can be passed as parameters)


An integer value which represents scrollbar definition. This type is used for designer to display special editor.


Plain string property. I18n keys will be resolved by default.


String with space separated CSS classnames.Possible values supported by the component can be specified as hint for the developer


Tab sequence integer value.


String property that can optionally contain %%tags%%, html with links to media files or it can be an i18n key. It can also be a just a simple static string. It will be pre-processed before being provided to the web component, depending on the configuration options.


String property similar to tagstring, but with support to use as default value the title string form a table column. It has a setting key: "for", that contains the dataprovider property from where the table column would be determined.


Reference to a ValueList.


Can be used to configure valuelist behavior (where applicable). Was added in 2023.06.


Boolean security property, when set to false the component is protected from client data changes and function calls, data changes from the server are not sent to the client.

Last updated