schema
and inspector
.schema
is a JSON Schema definition (http://json-schema.org) of the properties, their types and whether they are required or not. An example looks like this:inspector
tells the Designer UI how the input fields should be rendered. The format of this definition uses the Rappid Inspector definition format. Example:interval
in this case) are nested inside the inputs
object and have the following properties:type
can be any of the built-in types. See below for more details. (Custom inspector fields are also possible for on-prem installations. See the Custom Inspector Fields page for more details.)group
is an identifier of an Inspector group this field belongs to. As you can see in the example above, you can have one or more custom groups (like config
in this case) that you can define in the groups
object. Groups will render in the Inspector UI in an accordion-like fashion. This is handy to organize your fields.label
is a short text that appears above your input field. This is a great place to tell your users what your field is.options
array each item having content
and value
properties. Note that content
can be HTML. You can optionally provide placeholder
that is displayed if no option is selected. Default values can be defined with defaultValue
. If you need one of the items to clear the value of the select input field, use { "clearItem": true, "content": "Clear" }
as one of the objects in the options
array.select
type, multiselect defines options the user can choose from. The difference is that with multiselect, the user can select multiple options, not only one. The value stored in the flow descriptor is an array of values the user selected. Supported options are options
and placeholder.
format
enableTime
enableSeconds
maxDate
minDate
mode
"single"
, "multiple"
, or "range"
.time_24hr
weekNumbers
options
array each item having content
and value
properties, where values
must be a color in any of the CSS color formats (named-color, hex-color, rgb() or hsl()).multi
flag). Buttons are defined in the options
array each item having value
, content
and icon
properties.levels
option, you can define the nesting. Currently, maximum of 2 levels of nesting is supported. The common use case is to use just one level. In that case, set e.g. "levels": ["ADD"]
.exclusiveFields
is an optional property which defines the fields that will use variables in an exclusive way. For example let's say that the component has variableA
and variableB
available for use in its fields. Now if the myText
field is in exclusiveFields
array that means that you can use each variable once across all the fields inside the expression groups. To clarify this further, imagine the following scenario configuring an expression type:ADD
button to create a second groupvariableA
on the myText
field inside the first group using the variables pickermyText
field inside the second group, only variableB
will be available, because variableA
is already been usedappmixer.google.drive.GooglePicker
component to be installed.files
, folder
, all
. As their names indicate, if select files
, only files will be shown, if you select folder
it will show only your folders and if you select all
it will show both. This input type needs appmixer.microsoft.onedrive.OneDrivePicker
component to be installed.when
property in the field we want to be conditional:{ op: { field: comparisonValue }}
. eq
: Equality between the values.equal
: Equality between the values by deep comparison. Used for objects and arrays.ne
: Values are not equal.regex
: Check if the value in given field
matches the regex in the comparisonValue
.text
: Check if the value in the given field
contains the string in the comparisonValue
.lt
: Check if the value in the given field
is less than the comparisonValue
.lte
: Check if the value in the given field
is less or equal than the comparisonValue
.gt
: Check if the value in the given field
is greater than the comparisonValue
.gte
: Check if the value in the given field
is greater or equal than the comparisonValue
.in
: Check if the value in the given field
is included on the given comparisonValue
array.nin
: Check if the value in the given path is not included in the given comparisonValue
.field
: The same form presented in the example. It will search the given fields in current input port fields.properties/someProperty
: Refer to a property inside component properties../field
: It will refer to sibling fields of the current field. Specially useful when working with expression types.source
property in the manifest that calls a component of our choosing in a so called "static" mode. For example:out
.Since this is just a normal component, we need to transform the result into the inspector-like object, i.e.:transform
property which tells Appmixer to look for the transformers.js
file inside the ListColumns/
directory. The transformer must return an object with a function named columnsToInspector
that can look like this:/component/[vendor]/[service]/[module]/[component]
. It should also contain outPort
in the query string that point to the output port in which we're interested to receive data from. Example:properties.source.url
. Keys in the object represent input port names and values are any objects that will be passed to the input port as messages.properties.source.url
. The target component must have these properties defined in its manifest file. The values in the object are references to the properties of the component that calls the target component in the static mode. For example:[module_path]#[function]
, where the transformation module path is relative to the target component directory.