Class: PropertyGrid

otris.gadget.gui. PropertyGrid

Constructs a PropertyGrid

Constructors

Name Type Description
options object

The options for the grid.

viewId string optional

The viewId of the gadget object (The viewId specifies the destination in the DOM. This destination must exist otherwise the gadget is not rendered.)

  • Since:
    • Documents 5.0d

Extends

Methods

inherited addClientFunction(clientFunction)

Adds a JavaScript Function to this Transferable Object. When the Object is transfered to the client the functions added to this Object will be available on the client side.

Name Type Description
clientFunction function

The function to be added to the clientFunctions of this Object. (Can be a JavaScript Function or an Object returned by otris.gadget.util.FunctionUtils.getFunctionObject)

inherited addContainerButton(buttonConfig){object}

Adds a container button.
If the gadget is displayed in a dialog the container buttons are rendered as dialog buttons (bottom right corner of the dialog).
Otherwise the container buttons are ignored

Name Type Description
buttonConfig object

button config object

Name Type Default Description
id string

button id

label string

button label

clickFunction string

name of the client function to execute on click

disabled boolean false optional
  • Since:
    • Documents 5.0e
Returns:
Type Description
object buttonConfig
Example
// Alternative gadget action button
gadgetForm.addContainerButton({ id: "myCustomSaveButton", label: "Speichern", clickFunction: "saveGadgetData" });
gadgetForm.addClientFunction(function saveGadgetData(event) {
  var gForm = documentsContext.getGadgetContext().getClientObject();
  gForm.submitForm({ gadgetAction: "processForm" }, { showBusyPanel: true });
});

inherited addPdfButton(config)

Adds a button to download the displayed gadget as pdf. The button will show on hover in the left top corner of the gadget.

Name Type Description
config object optional

config object

Name Type Default Description
filename string content.pdf optional

filename of the pdf for download

buttonStyle string left: 200px; optional

style for the pdf button to be applied to

  • Since:
    • Documents 5.0d
Example
myGadget.addPdfButton({filename: "myCustomFilename.pdf", buttonStyle: "left: 200px; });

addProperty(name, jsonType, editorType, label, options)

Adds a property definition

Name Type Description
name string | object

name of the property

jsonType string

json type string, number or boolean and the array version of this types string[], number[] or boolean[]

editorType string

editor type

label string optional

property label

options object optional

additional options

Name Type Description
description string optional

description for the property (used for a tooltip for example)

height number optional

set a custom height (in pixel) for the grid row

selectOptions Array.<string> | Array.<object> optional

used as options if the editorType is SELECT. Simple array with values or array of objects (key, label, description)

Name Type Description
key string

key of the select option

label string optional

optional label

description string optional

optional description

default string | number | boolean optional

default value

inherited addSettings(option)

Adds a setting (an option that can be defined by the user) to the gadget.

Name Type Description
option GadgetSetting | Array.<GadgetSetting>

the setting(s) to add to the gadget.

  • Since:
    • Documents 5.0a

inherited onGadgetLoad(onloadHandler)

Sets an onLoad handler for the Gadget. The handler is executed when the gadget is displayed at the client.

Name Type Description
onloadHandler function | string

the handler to be executed (must be either a javascript function or a string representing a function)

setAutoHeight(autoHeight)

Configure the auto height mechanism

Name Type Description
autoHeight boolean | object

auto height configuration or boolean as an enable/disable shortcut

Name Type Default Description
enabled boolean true optional

enable/disable auto height mechanism

enabled boolean 300 optional

maxHeight for auto height mechanism

Example
// Disable auto heigt
propertyGrid.setAutoHeight(false);
// Configure auto height
propertyGrid.setAutoHeight({enabled: true, maxHeight: 400 });

setColumnOptions(options)

Adjust the columns

Name Type Description
options object

column options

Name Type Default Description
keyLabel string optional

label for the key column

valueLabel string optional

label for the value column

keyWidth number 200 optional

width of the key column in pixel

valueWidth number 300 optional

width of the value column in pixel

keySelectionType string text optional

selection type for the property keys (possible values: text or select)

keyAutoComplete object optional

autocomplete configuration (only works with keySelectionType text)

Name Type Description
gadgetAction object

gadget action which returns the suggested values

minQueryChars number optional

Number of characters that must be entered for the autocompletion script to run.*

queryDelay number optional

Delay script execution in milliseconds after user input

maxResults number optional

Maximum number of suggestions displayed.

autoFocusResult boolean optional

Automatically select the first hit

keyReadonly boolean false optional

if set to true the key column is readonly

checkboxColumn boolean true optional

Show or hide the checkbox column

inherited setContainerButtons(containerButtonConfigs)

Set the container buttons.
Please note that existing default buttons are removed by this operation.

Name Type Description
containerButtonConfigs Array.<object>

array of button config objects

Name Type Default Description
id string

button id

label string

button label

clickFunction string

name of the client function to execute on click

disabled boolean false optional

inherited setContextData(contextData)

Set additional data which is serialized with JSON.stringify() and then transferred to the client
On the client side the the context data is accessible with the GadgetContext

Name Type Description
contextData any

the context data

  • Since:
    • Documents 5.0c
Example
var htmlGadget = new otris.gadget.gui.HTML("<h1>Only a simple example</h1>");
var myGadgetData = {
    mySpecialId: 44137,
    myIndexArray: [1,7,6,3,2],
    myTitle: "A special GadgetTitle"
};
htmlGadget.setContextData(myGadgetData);

inherited setDefinitionName(name)

Sets the definitionName for the gentable definition. This name is used to cache the
definition. It is NOT used for the gentable registry. The registry only uses the name
defined in the XML definition (<table_def name="nameUsedForRegistry">...).

Name Type Description
name string

definition name used as a cache key

inherited setEditable(editable)

Enable/disable the edit mode of the grid

Name Type Description
editable boolean

set the grid editable or readonly

setGridButtons(buttons)

Configure grid buttons

Name Type Description
buttons Array.<object> optional

buttons (by default all buttons are enabled)

Name Type Description
id string optional

button id (available add, remove, up, down)

Example
// Show add and remove button
propertyGrid.setGridButtons([{id: 'add'}, {id: 'remove'}]);

inherited setNavibarEntry(gadgetConfig, label)

Add a navibar entry. Define a gadgetConfig that reloads the gadget.
Only works if the gadget ist displayed in main list view area.

Name Type Description
gadgetConfig object

gadgetConfig

label string optional

label for the navibar entry (defaults to the gadget title)

  • Since:
    • Documents 5.0e

inherited setStore(store)

Define which store type the grid should use.

Name Type Description
store object

store configuration

Name Type Description
type string

sort type field or script

fieldName string optional

field name for the store type field

scriptName string optional

script name for the store type script (Script parameter gentableData contains the grid data)

scriptParams object optional

optional script parameter

Example
// Using a file field to store the grid data
gadgetGrid.setStore({
    type : "field",
    fieldName: gadgetContext.fieldName + "Data"
});

// Using a script to store the grid data
gadgetGrid.setStore({
    type : "script",
    scriptName: "propertyGridSaveScript",
    scriptParams: {
        myCustomParam : "myParamValue"
    } 	
});
// The script is called with a parameter `gentableData` which contains the grid data

inherited setStyle(name, value)

Sets a style attribute of the html container

Name Type Description
name string

the name of the style parameter (i.e. "height")

value string

the value of the style parameter (i.e. "100px")

inherited setTitle(title)

Sets the Title of the Form

Name Type Description
title string

the title of the form (will be displayed as the window header on dashboards)

inherited store(key, value)

Stores data that can later be accessed on client side.
ATTENTION: The store used in this method is global.
Use setContextData to store data for this gadget instance.

Name Type Description
key string

the key to store the data

value any

the value, or object that should be stored

inherited transfer()

Creates the Transfer object to send to the client