From 6d3795ef0f16e0525664a46092ebbf40485ae9c6 Mon Sep 17 00:00:00 2001 From: Ciotka Cierpienia Date: Wed, 6 Nov 2024 22:44:44 +0100 Subject: [PATCH] ref #24861 add multiselect and simple list description, fix typos and tables formatting --- docs/API/content-type/creating-ctd.md | 211 +++++++++-------- docs/API/content-type/updating-ctd.md | 317 +++++++++++++++----------- docs/panel/content-objects.md | 19 +- docs/panel/content-types.md | 74 +++--- 4 files changed, 356 insertions(+), 265 deletions(-) diff --git a/docs/API/content-type/creating-ctd.md b/docs/API/content-type/creating-ctd.md index a763509a..949f9a32 100644 --- a/docs/API/content-type/creating-ctd.md +++ b/docs/API/content-type/creating-ctd.md @@ -552,92 +552,98 @@ You can use every type of property multiple times across the Content Type Defini Input types of properties in `metaDefinition`: -| inputType | Possible for schema type | Description | Additional keys in property | Type | Description | Additional keys | Description | -| ---------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------ | --------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | -| text | string | Renders text input in form | unique* | bool | Information if the property's value should be unique in all object of the specified type. | none allowed | | -| | | | isTitlePart | bool | Should this field be displayed when listing objects in relation select | none allowed | | -| | | | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | -| | | | label* | string | People friendly name of the field | none allowed | | -| | | | hidden | bool | Field will be hidden | none allowed | | -| | | | readonly | bool | Field cannot be modified | none allowed | | -| textarea | string | Renders textarea in form | unique* | bool | Information if the property's value should be unique in all object of the specified type. | none allowed | | -| | | | isTitlePart | bool | Should this field be displayed when listing objects in relation select | none allowed | | -| | | | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | -| | | | label* | string | People friendly name of the field | none allowed | | -| | | | hidden | bool | Field will be hidden | none allowed | | -| | | | readonly | bool | Field cannot be modified | none allowed | | -| markdown | string | Renders Markdown in form | unique* | bool | Information if the property's value should be unique in all object of the specified type. | none allowed | | -| | | | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | -| | | | label* | string | People friendly name of the field | none allowed | | -| | | | hidden | bool | Field will be hidden | none allowed | | -| | | | readonly | bool | Field cannot be modified | none allowed | | -| richtext | string | Renders CKEditor in form | unique* | bool | Information if the property's value should be unique in all object of the specified type. | none allowed | | -| | | | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | -| | | | label* | string | People friendly name of the field | none allowed | | -| | | | hidden | bool | Field will be hidden | none allowed | | -| | | | readonly | bool | Field cannot be modified | none allowed | | -| email | string | Renders email input in form | unique* | bool | Information if the property's value should be unique in all object of the specified type. | none allowed | | -| | | | isTitlePart | bool | Should this field be displayed when listing objects in relation select | none allowed | | -| | | | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | -| | | | label* | string | People friendly name of the field | none allowed | | -| | | | hidden | bool | Field will be hidden | none allowed | | -| | | | readonly | bool | Field cannot be modified | none allowed | | -| number | number | Renders number input in the form; min is 0, max is MAX INT | unique* | bool | Information if the property's value should be unique in all object of the specified type. | none allowed | | -| | | | isTitlePart | bool | Should this field be displayed when listing objects in relation select | none allowed | | -| | | | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | -| | | | label* | string | People friendly name of the field | none allowed | | -| | | | hidden | bool | Field will be hidden | none allowed | | -| | | | readonly | bool | Field cannot be modified | none allowed | | -| radio | string | Renders radio input, options are taken from `options` property | unique* | bool | Information if the property's value should be unique in all object of the specified type, Can only be `false` | none allowed | | -| | | | options | array | Array of string options possible for the radio input | none allowed | | -| | | | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | -| | | | label* | string | People friendly name of the field | none allowed | | -| | | | hidden | bool | Field will be hidden | none allowed | | -| | | | readonly | bool | Field cannot be modified | none allowed | | -| checkbox | boolean | Renders single checkbox input returning `true`/`false` value | unique* | bool | Information if the property's value should be unique in all object of the specified type, Can only be `false` | none allowed | | -| | | | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | -| | | | label* | string | People friendly name of the field | none allowed | | -| | | | hidden | bool | Field will be hidden | none allowed | | -| | | | readonly | bool | Field cannot be modified | none allowed | | -| select | string | Renders single item select input, options are taken from `options` or `optionsWithLabels` property | unique* | bool | Information if the property's value should be unique in all object of the specified type. | none allowed | | -| | | | options | array | Array of string options possible for the select input | none allowed | | -| | | | optionsWithLabels | array | Array of object options, that contain `value` and `label` properties, possible for the select input | none allowed | | -| | | | useOptionsWithLabels | bool | Bool value informing if select should use `optionsWithLabels` or `options` property, `false` by default | none allowed | | -| | | |isTitlePart | bool | Should this field be displayed when listing objects in relation select | none allowed | | -| | | | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | -| | | | label* | string | People friendly name of the field | none allowed | | -| | | | hidden | bool | Field will be hidden | none allowed | | -| | | | readonly | bool | Field cannot be modified | none allowed | | -| object | array | Renders one or multiple forms for nested `meta definition` element | items | object | `Meta definition` for single list item | same as in wrapping meta definition (`order` and `propertiesConfig`) | | -| | | | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | -| | | | label* | string | People friendly name of the field | none allowed | | -| | | | hidden | bool | Field will be hidden | none allowed | | -| | | | readonly | bool | Field cannot be modified | none allowed | | -| datasource | array | Renders picker for choosing the objects of specified or any other Content Type, depending on `validation` property | unique* | bool | Information if the property's value should be unique in all object of the specified type. | none allowed | | -| | | | validation | array | Object contains restrictions for datasource | relationContenttype | Name of the Content Type to which relation should be restricted | +| inputType | Possible for schema type | Description | Additional keys in property | Type | Description | Additional keys | Description | +|------------|--------------------------|--------------------------------------------------------------------------------------------------------------------|-----------------------------|--------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------|-------------------------------------------------------------------------------------| +| text | string | Renders text input in form | unique* | bool | Information if the property's value should be unique in all object of the specified type. | none allowed | | +| | | | isTitlePart | bool | Should this field be displayed when listing objects in relation select | none allowed | | +| | | | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | +| | | | label* | string | People friendly name of the field | none allowed | | +| | | | hidden | bool | Field will be hidden | none allowed | | +| | | | readonly | bool | Field cannot be modified | none allowed | | +| textarea | string | Renders textarea in form | unique* | bool | Information if the property's value should be unique in all object of the specified type. | none allowed | | +| | | | isTitlePart | bool | Should this field be displayed when listing objects in relation select | none allowed | | +| | | | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | +| | | | label* | string | People friendly name of the field | none allowed | | +| | | | hidden | bool | Field will be hidden | none allowed | | +| | | | readonly | bool | Field cannot be modified | none allowed | | +| markdown | string | Renders Markdown in form | unique* | bool | Information if the property's value should be unique in all object of the specified type. | none allowed | | +| | | | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | +| | | | label* | string | People friendly name of the field | none allowed | | +| | | | hidden | bool | Field will be hidden | none allowed | | +| | | | readonly | bool | Field cannot be modified | none allowed | | +| richtext | string | Renders CKEditor in form | unique* | bool | Information if the property's value should be unique in all object of the specified type. | none allowed | | +| | | | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | +| | | | label* | string | People friendly name of the field | none allowed | | +| | | | hidden | bool | Field will be hidden | none allowed | | +| | | | readonly | bool | Field cannot be modified | none allowed | | +| email | string | Renders email input in form | unique* | bool | Information if the property's value should be unique in all object of the specified type. | none allowed | | +| | | | isTitlePart | bool | Should this field be displayed when listing objects in relation select | none allowed | | +| | | | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | +| | | | label* | string | People friendly name of the field | none allowed | | +| | | | hidden | bool | Field will be hidden | none allowed | | +| | | | readonly | bool | Field cannot be modified | none allowed | | +| number | number | Renders number input in the form; min is 0, max is MAX INT | unique* | bool | Information if the property's value should be unique in all object of the specified type. | none allowed | | +| | | | isTitlePart | bool | Should this field be displayed when listing objects in relation select | none allowed | | +| | | | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | +| | | | label* | string | People friendly name of the field | none allowed | | +| | | | hidden | bool | Field will be hidden | none allowed | | +| | | | readonly | bool | Field cannot be modified | none allowed | | +| radio | string | Renders radio input, options are taken from `options` property | unique* | bool | Information if the property's value should be unique in all object of the specified type, Can only be `false` | none allowed | | +| | | | options | array | Array of string options possible for the radio input | none allowed | | +| | | | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | +| | | | label* | string | People friendly name of the field | none allowed | | +| | | | hidden | bool | Field will be hidden | none allowed | | +| | | | readonly | bool | Field cannot be modified | none allowed | | +| checkbox | boolean | Renders single checkbox input returning `true`/`false` value | unique* | bool | Information if the property's value should be unique in all object of the specified type, Can only be `false` | none allowed | | +| | | | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | +| | | | label* | string | People friendly name of the field | none allowed | | +| | | | hidden | bool | Field will be hidden | none allowed | | +| | | | readonly | bool | Field cannot be modified | none allowed | | +| select | string / array | Renders single or multiple item select input, options are taken from `options` or `optionsWithLabels` property | unique* | bool | Information if the property's value should be unique in all object of the specified type. | none allowed | | +| | | | options | array | Array of string options possible for the select input | none allowed | | +| | | | optionsWithLabels | array | Array of object options, that contain `value` and `label` properties, possible for the select input | none allowed | | +| | | | useOptionsWithLabels | bool | Bool value informing if select should use `optionsWithLabels` or `options` property, `false` by default | none allowed | | +| | | | isTitlePart | bool | Should this field be displayed when listing objects in relation select | none allowed | | +| | | | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | +| | | | label* | string | People friendly name of the field | none allowed | | +| | | | hidden | bool | Field will be hidden | none allowed | | +| | | | readonly | bool | Field cannot be modified | none allowed | | +| | | | multiple | bool | Does select should be multiselect (type array of strings) or single item select (string) | none allowed | | +| object | array | Renders one or multiple forms for nested `meta definition` element | items | object | `Meta definition` for single list item | same as in wrapping meta definition (`order` and `propertiesConfig`) | | +| | | | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | +| | | | label* | string | People friendly name of the field | none allowed | | +| | | | hidden | bool | Field will be hidden | none allowed | | +| | | | readonly | bool | Field cannot be modified | none allowed | | +| datasource | array | Renders picker for choosing the objects of specified or any other Content Type, depending on `validation` property | unique* | bool | Information if the property's value should be unique in all object of the specified type. | none allowed | | +| | | | validation | array | Object contains restrictions for datasource | relationContenttype | Name of the Content Type to which relation should be restricted | | | | | | | | relationMultiple | Boolean value informing if the array should have only one or can have more elements | -| | | | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | -| | | | label* | string | People friendly name of the field | none allowed | | -| | | | hidden | bool | Field will be hidden | none allowed | | -| | | | readonly | bool | Field cannot be modified | none allowed | | -| geo | object | Renders two fields, one for the latitude, second for the longitude, saves it as an object | unique* | bool | Information if the property's value should be unique in all object of the specified type. | none allowed | | -| | | | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | -| | | | label* | string | People friendly name of the field | none allowed | | -| | | | hidden | bool | Field will be hidden | none allowed | | -| | | | readonly | bool | Field cannot be modified | none allowed | | -| dateTime | string | Render date picker input, and time picker if option showTime is selected. | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | -| | | | isTitlePart | bool | Should this field be displayed when listing objects in relation select | none allowed | | -| | | | label* | string | People friendly name of the field | none allowed | | -| | | | showTime | bool | Whether to display a picker for hours | none allowed | | -| | | | unique* | bool | Information if the property's value should be unique in all object of the specified type. | none allowed | | -| | | | hidden | bool | Field will be hidden | none allowed | | -| | | | readonly | bool | Field cannot be modified | none allowed | | -| block | object | Renders editor.js in form and contains json with description of html blocks instead of the html blocks | unique* | bool | Information if the property's value should be unique in all object of the specified type, Can only be `false` | none allowed | | -| | | | blockEditorTypes | array | Names of plugins used in editor, possible plugins: `header`, `list`, `image`, `youtubeEmbed`, `quote`, `warning`, `delimiter`. `Paragraph` is available always as it is default text block. | none allowed | | -| | | | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | -| | | | label* | string | People friendly name of the field | none allowed | | -| | | | hidden | bool | Field will be hidden | none allowed | | -| | | | readonly | bool | Field cannot be modified | none allowed | | +| | | | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | +| | | | label* | string | People friendly name of the field | none allowed | | +| | | | hidden | bool | Field will be hidden | none allowed | | +| | | | readonly | bool | Field cannot be modified | none allowed | | +| geo | object | Renders two fields, one for the latitude, second for the longitude, saves it as an object | unique* | bool | Information if the property's value should be unique in all object of the specified type. | none allowed | | +| | | | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | +| | | | label* | string | People friendly name of the field | none allowed | | +| | | | hidden | bool | Field will be hidden | none allowed | | +| | | | readonly | bool | Field cannot be modified | none allowed | | +| dateTime | string | Render date picker input, and time picker if option showTime is selected. | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | +| | | | isTitlePart | bool | Should this field be displayed when listing objects in relation select | none allowed | | +| | | | label* | string | People friendly name of the field | none allowed | | +| | | | showTime | bool | Whether to display a picker for hours | none allowed | | +| | | | unique* | bool | Information if the property's value should be unique in all object of the specified type. | none allowed | | +| | | | hidden | bool | Field will be hidden | none allowed | | +| | | | readonly | bool | Field cannot be modified | none allowed | | +| block | object | Renders editor.js in form and contains json with description of html blocks instead of the html blocks | unique* | bool | Information if the property's value should be unique in all object of the specified type, Can only be `false` | none allowed | | +| | | | blockEditorTypes | array | Names of plugins used in editor, possible plugins: `header`, `list`, `image`, `youtubeEmbed`, `quote`, `warning`, `delimiter`. `Paragraph` is available always as it is default text block. | none allowed | | +| | | | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | +| | | | label* | string | People friendly name of the field | none allowed | | +| | | | hidden | bool | Field will be hidden | none allowed | | +| | | | readonly | bool | Field cannot be modified | none allowed | | +| simpleList | array | Renders form with possibility of adding strings to array | items | object | `Meta definition` for single list item | type | Must be 'string' | +| | | | helpText | string | Help text displayed in dashboard Content Object form and as description in Open API Schema | none allowed | | +| | | | label* | string | People friendly name of the field | none allowed | | +| | | | hidden | bool | Field will be hidden | none allowed | | +| | | | readonly | bool | Field cannot be modified | none allowed | | *Required property @@ -783,6 +789,12 @@ Input types of properties in `metaDefinition`: }, "rich_text_in_subobject": { "type": "string" + }, + "simple_list_in_subobject": { + "type": "array", + "items": { + "type": "string" + } } } }, @@ -877,6 +889,12 @@ Input types of properties in `metaDefinition`: "rich_text": { "type": "string", "minLength": 1 + }, + "simple_list": { + "type": "array", + "items": { + "type": "string" + } } } } @@ -895,7 +913,8 @@ Input types of properties in `metaDefinition`: "geo", "media", "date", - "block" + "block", + "simple_list" ], "additionalProperties": false }, @@ -915,7 +934,8 @@ Input types of properties in `metaDefinition`: "geo", "media", "date", - "block" + "block", + "simple_list" ], "propertiesConfig": { "geo": { @@ -948,7 +968,8 @@ Input types of properties in `metaDefinition`: "geo_in_subobject", "media_in_subobject", "date_in_subobject", - "block_in_subobject" + "block_in_subobject", + "simple_list_in_subobject" ], "propertiesConfig": { "geo_in_subobject": { @@ -1062,6 +1083,12 @@ Input types of properties in `metaDefinition`: "unique": false, "helpText": "Rich text in subobject", "inputType": "richtext" + }, + "simple_list_in_subobject" : { + "label": "Simple list in subobject", + "unique": false, + "helpText": "Simple list in subobject", + "inputType": "simpleList" } } }, @@ -1071,7 +1098,7 @@ Input types of properties in `metaDefinition`: "inputType": "object" }, "text": { - "label": "text", + "label": "Text", "unique": true, "helpText": "Text with regex for date, e.g. 01-01-2021", "inputType": "text", @@ -1173,6 +1200,12 @@ Input types of properties in `metaDefinition`: "unique": true, "helpText": "Rich long text", "inputType": "richtext" + }, + "simple_list" : { + "label": "Simple list", + "unique": false, + "helpText": "Simple list", + "inputType": "simpleList" } } } diff --git a/docs/API/content-type/updating-ctd.md b/docs/API/content-type/updating-ctd.md index efa58de2..d28f1ab4 100644 --- a/docs/API/content-type/updating-ctd.md +++ b/docs/API/content-type/updating-ctd.md @@ -474,140 +474,189 @@ When encountering issues during schema conversion, you might receive error messa ### How are fields converted from one type to another? -| Old Type (type/inputType) | New Type (type/inputType) | Conversion | -| ------------------------- | ------------------------- | ------------------------------------------------------------ | -| string/text | string/textarea | Data are preserved | -| string/text | string/markdown | Data are preserved | -| string/text | string/richtext | Data are preserved | -| string/text | string/email | Data are preserved | -| string/text | number/number | All objects gets `0` value | -| string/text | string/radio | Data are preserved | -| string/text | boolean/checkbox | All objects gets `false` value | -| string/text | string/select | Data are preserved | -| string/text | array/object | All object gets empty array | -| string/text | array/datasource | All object gets empty array | -| string/text | object/geo | All object gets object with value: `{lat: 0, lon: 0}` | -| string/textarea | string/text | Data are preserved | -| string/textarea | string/markdown | Data are preserved | -| string/textarea | string/richtext | Data are preserved | -| string/textarea | string/email | Data are preserved | -| string/textarea | number/number | All objects gets `0` value | -| string/textarea | string/radio | Data are preserved | -| string/textarea | boolean/checkbox | All objects gets `false` value | -| string/textarea | string/select | Data are preserved | -| string/textarea | array/object | All object gets empty array | -| string/textarea | array/datasource | All object gets empty array | -| string/textarea | object/geo | All object gets object with value: `{lat: 0, lon: 0}` | -| string/markdown | string/text | Data are preserved | -| string/markdown | string/textarea | Data are preserved | -| string/markdown | string/richtext | Data are preserved | -| string/markdown | string/email | Data are preserved | -| string/markdown | number/number | All objects gets `0` value | -| string/markdown | string/radio | Data are preserved | -| string/markdown | boolean/checkbox | All objects gets `false` value | -| string/markdown | string/select | Data are preserved | -| string/markdown | array/object | All object gets empty array | -| string/markdown | array/datasource | All object gets empty array | -| string/markdown | object/geo | All object gets object with value: `{lat: 0, lon: 0}` | -| string/richtext | string/text | Data are preserved | -| string/richtext | string/textarea | Data are preserved | -| string/richtext | string/markdown | Data are preserved | -| string/richtext | string/email | Data are preserved | -| string/richtext | number/number | All objects gets `0` value | -| string/richtext | string/radio | Data are preserved | -| string/richtext | boolean/checkbox | All objects gets `false` value | -| string/richtext | string/select | Data are preserved | -| string/richtext | array/object | All object gets empty array | -| string/richtext | array/datasource | All object gets empty array | -| string/richtext | object/geo | All object gets object with value: `{lat: 0, lon: 0}` | -| string/email | string/text | Data are preserved | -| string/email | string/textarea | Data are preserved | -| string/email | string/markdown | Data are preserved | -| string/email | string/richtext | Data are preserved | -| string/email | number/number | All objects gets `0` value | -| string/email | string/radio | Data are preserved | -| string/email | boolean/checkbox | All objects gets `false` value | -| string/email | string/select | Data are preserved | -| string/email | array/object | All object gets empty array | -| string/email | array/datasource | All object gets empty array | -| string/email | object/geo | All object gets object with value: `{lat: 0, lon: 0}` | -| number/number | string/text | Numbers are converted to string counterparts | -| number/number | string/textarea | Numbers are converted to string counterparts | -| number/number | string/markdown | Numbers are converted to string counterparts | -| number/number | string/richtext | Numbers are converted to string counterparts | -| number/number | string/email | Numbers are converted to string counterparts | -| number/number | string/radio | Numbers are converted to string counterparts | -| number/number | boolean/checkbox | All objects gets `false` value | -| number/number | string/select | Numbers are converted to string counterparts | -| number/number | array/object | All object gets empty array | -| number/number | array/datasource | All object gets empty array | -| number/number | object/geo | All object gets object with value: `{lat: 0, lon: 0}` | -| string/radio | string/text | Data are preserved | -| string/radio | string/textarea | Data are preserved | -| string/radio | string/markdown | Data are preserved | -| string/radio | string/richtext | Data are preserved | -| string/radio | string/email | Data are preserved | -| string/radio | number/number | All objects gets `0` value | -| string/radio | boolean/checkbox | All objects gets `false` value | -| string/radio | string/select | Data are preserved | -| string/radio | array/object | All object gets empty array | -| string/radio | array/datasource | All object gets empty array | -| string/radio | object/geo | All object gets object with value: `{lat: 0, lon: 0}` | -| boolean/checkbox | string/text | Data are converted to the string counterparts | -| boolean/checkbox | string/textarea | Data are converted to the string counterparts | -| boolean/checkbox | string/markdown | Data are converted to the string counterparts | -| boolean/checkbox | string/richtext | Data are converted to the string counterparts | -| boolean/checkbox | string/email | Data are converted to the string counterparts | -| boolean/checkbox | number/number | All objects gets `0` value | -| boolean/checkbox | string/radio | Data are converted to the string counterparts | -| boolean/checkbox | string/select | Data are converted to the string counterparts | -| boolean/checkbox | array/object | All object gets empty array | -| boolean/checkbox | array/datasource | All object gets empty array | -| boolean/checkbox | object/geo | All object gets object with value: `{lat: 0, lon: 0}` | -| string/select | string/text | Data are preserved | -| string/select | string/textarea | Data are preserved | -| string/select | string/markdown | Data are preserved | -| string/select | string/richtext | Data are preserved | -| string/select | string/email | Data are preserved | -| string/select | number/number | All objects gets `0` value | -| string/select | string/radio | Data are preserved | -| string/select | boolean/checkbox | All objects gets `false` value | -| string/select | array/object | All object gets empty array | -| string/select | array/datasource | All object gets empty array | -| string/select | object/geo | All object gets object with value: `{lat: 0, lon: 0}` | -| array/object | string/text | All objects gets `''` value | -| array/object | string/textarea | All objects gets `''` value | -| array/object | string/markdown | All objects gets `''` value | -| array/object | string/richtext | All objects gets `''` value | -| array/object | string/email | All objects gets `''` value | -| array/object | number/number | All objects gets `0` value | -| array/object | string/radio | All objects gets `''` value | -| array/object | boolean/checkbox | All objects gets `false` value | -| array/object | string/select | All objects gets `''` value | -| array/object | array/datasource | All object gets empty array | -| array/object | object/geo | All object gets object with value: `{lat: 0, lon: 0}` | -| array/datasource | string/text | Data are converted to dataUrls joined with `', '` | -| array/datasource | string/textarea | Data are converted to dataUrls joined with `', '` | -| array/datasource | string/markdown | Data are converted to dataUrls joined with `', '` | -| array/datasource | string/richtext | Data are converted to dataUrls joined with `', '` | -| array/datasource | string/email | Data are converted to dataUrls joined with `', '` | -| array/datasource | number/number | All objects gets `0` value | -| array/datasource | string/radio | Data are converted to dataUrls joined with `', '` | -| array/datasource | boolean/checkbox | All objects gets `false` value | -| array/datasource | string/select | Data are converted to dataUrls joined with `', '` | -| array/datasource | array/object | All object gets empty array | -| array/datasource | object/geo | All object gets object with value: `{lat: 0, lon: 0}` | -| object/geo | string/text | Data are converted to `'lat: {lat value}, lon: {lon value}'` | -| object/geo | string/textarea | Data are converted to `'lat: {lat value}, lon: {lon value}'` | -| object/geo | string/markdown | Data are converted to `'lat: {lat value}, lon: {lon value}'` | -| object/geo | string/richtext | Data are converted to `'lat: {lat value}, lon: {lon value}'` | -| object/geo | string/email | Data are converted to `'lat: {lat value}, lon: {lon value}'` | -| object/geo | number/number | All objects gets `0` value | -| object/geo | string/radio | Data are converted to `'lat: {lat value}, lon: {lon value}'` | -| object/geo | boolean/checkbox | All objects gets `false` value | -| object/geo | string/select | Data are converted to `'lat: {lat value}, lon: {lon value}'` | -| object/geo | array/object | All object gets empty array | -| object/geo | array/datasource | All object gets empty array | +| Old Type (type/inputType) | New Type (type/inputType) | Conversion | +|---------------------------|---------------------------|-------------------------------------------------------------------------------------------------------------------------| +| string/text | string/textarea | Data are preserved | +| string/text | string/markdown | Data are preserved | +| string/text | string/richtext | Data are preserved | +| string/text | string/email | Data are preserved | +| string/text | number/number | All objects gets `0` value | +| string/text | string/radio | Data are preserved | +| string/text | boolean/checkbox | All objects gets `false` value | +| string/text | string/select | Data are preserved | +| string/text | array/object | All objects gets empty array | +| string/text | array/datasource | All objects gets empty array | +| string/text | object/geo | All objects gets object with value: `{lat: 0, lon: 0}` | +| string/text | array/select | String is converted to array of strings if data are among available options | +| string/text | array/simpleList | String is converted to array of strings | +| string/textarea | string/text | Data are preserved | +| string/textarea | string/markdown | Data are preserved | +| string/textarea | string/richtext | Data are preserved | +| string/textarea | string/email | Data are preserved | +| string/textarea | number/number | All objects gets `0` value | +| string/textarea | string/radio | Data are preserved | +| string/textarea | boolean/checkbox | All objects gets `false` value | +| string/textarea | string/select | Data are preserved | +| string/textarea | array/object | All objects gets empty array | +| string/textarea | array/datasource | All objects gets empty array | +| string/textarea | object/geo | All objects gets object with value: `{lat: 0, lon: 0}` | +| string/textarea | array/select | String is converted to array of strings if data are among available options | +| string/textarea | array/simpleList | String is converted to array of strings | +| string/markdown | string/text | Data are preserved | +| string/markdown | string/textarea | Data are preserved | +| string/markdown | string/richtext | Data are preserved | +| string/markdown | string/email | Data are preserved | +| string/markdown | number/number | All objects gets `0` value | +| string/markdown | string/radio | Data are preserved | +| string/markdown | boolean/checkbox | All objects gets `false` value | +| string/markdown | string/select | Data are preserved | +| string/markdown | array/object | All objects gets empty array | +| string/markdown | array/datasource | All objects gets empty array | +| string/markdown | object/geo | All objects gets object with value: `{lat: 0, lon: 0}` | +| string/markdown | array/select | String is converted to array of strings if data are among available options | +| string/markdown | array/simpleList | String is converted to array of strings | +| string/richtext | string/text | Data are preserved | +| string/richtext | string/textarea | Data are preserved | +| string/richtext | string/markdown | Data are preserved | +| string/richtext | string/email | Data are preserved | +| string/richtext | number/number | All objects gets `0` value | +| string/richtext | string/radio | Data are preserved | +| string/richtext | boolean/checkbox | All objects gets `false` value | +| string/richtext | string/select | Data are preserved | +| string/richtext | array/object | All objects gets empty array | +| string/richtext | array/datasource | All objects gets empty array | +| string/richtext | object/geo | All objects gets object with value: `{lat: 0, lon: 0}` | +| string/richtext | array/select | String is converted to array of strings if data are among available options | +| string/richtext | array/simpleList | String is converted to array of strings || string/email | string/text | Data are preserved | +| string/email | string/textarea | Data are preserved | +| string/email | string/markdown | Data are preserved | +| string/email | string/richtext | Data are preserved | +| string/email | number/number | All objects gets `0` value | +| string/email | string/radio | Data are preserved | +| string/email | boolean/checkbox | All objects gets `false` value | +| string/email | string/select | Data are preserved | +| string/email | array/object | All objects gets empty array | +| string/email | array/datasource | All objects gets empty array | +| string/email | object/geo | All objects gets object with value: `{lat: 0, lon: 0}` | +| string/email | array/select | String is converted to array of strings if data are among available options | +| string/email | array/simpleList | String is converted to array of strings | +| number/number | string/text | Numbers are converted to string counterparts | +| number/number | string/textarea | Numbers are converted to string counterparts | +| number/number | string/markdown | Numbers are converted to string counterparts | +| number/number | string/richtext | Numbers are converted to string counterparts | +| number/number | string/email | Numbers are converted to string counterparts | +| number/number | string/radio | Numbers are converted to string counterparts | +| number/number | boolean/checkbox | All objects gets `false` value | +| number/number | string/select | Numbers are converted to string counterparts | +| number/number | array/object | All objects gets empty array | +| number/number | array/datasource | All objects gets empty array | +| number/number | object/geo | All objects gets object with value: `{lat: 0, lon: 0}` | +| number/number | array/select | Numbers are converted to string counterparts and then converted to array of strings if data are among available options | +| number/number | array/simpleList | Numbers are converted to string counterparts and then converted to array of strings | +| string/radio | string/text | Data are preserved | +| string/radio | string/textarea | Data are preserved | +| string/radio | string/markdown | Data are preserved | +| string/radio | string/richtext | Data are preserved | +| string/radio | string/email | Data are preserved | +| string/radio | number/number | All objects gets `0` value | +| string/radio | boolean/checkbox | All objects gets `false` value | +| string/radio | string/select | Data are preserved | +| string/radio | array/object | All objects gets empty array | +| string/radio | array/datasource | All objects gets empty array | +| string/radio | object/geo | All objects gets object with value: `{lat: 0, lon: 0}` | +| string/radio | array/select | String is converted to array of strings if data are among available options | +| string/radio | array/simpleList | String is converted to array of strings | +| boolean/checkbox | string/text | Data are converted to the string counterparts | +| boolean/checkbox | string/textarea | Data are converted to the string counterparts | +| boolean/checkbox | string/markdown | Data are converted to the string counterparts | +| boolean/checkbox | string/richtext | Data are converted to the string counterparts | +| boolean/checkbox | string/email | Data are converted to the string counterparts | +| boolean/checkbox | number/number | All objects gets `0` value | +| boolean/checkbox | string/radio | Data are converted to the string counterparts | +| boolean/checkbox | string/select | Data are converted to the string counterparts | +| boolean/checkbox | array/object | All object gets empty array | +| boolean/checkbox | array/datasource | All object gets empty array | +| boolean/checkbox | object/geo | All object gets object with value: `{lat: 0, lon: 0}` | +| boolean/checkbox | array/select | Data are converted to string counterparts and then converted to array of strings if data are among available options | +| boolean/checkbox | array/simpleList | Data are converted to string counterparts and then converted to array of strings | +| string/select | string/text | Data are preserved | +| string/select | string/textarea | Data are preserved | +| string/select | string/markdown | Data are preserved | +| string/select | string/richtext | Data are preserved | +| string/select | string/email | Data are preserved | +| string/select | number/number | All objects gets `0` value | +| string/select | string/radio | Data are preserved | +| string/select | boolean/checkbox | All objects gets `false` value | +| string/select | array/object | All objects gets empty array | +| string/select | array/datasource | All objects gets empty array | +| string/select | object/geo | All objects gets object with value: `{lat: 0, lon: 0}` | +| string/select | array/select | All objects gets empty array | +| string/select | array/simpleList | All objects gets empty array | +| array/select | string/text | Data are joined to simple string using `, ` as glue | +| array/select | string/textarea | Data are joined to simple string using `, ` as glue | +| array/select | string/markdown | Data are joined to simple string using `, ` as glue | +| array/select | string/richtext | Data are joined to simple string using `, ` as glue | +| array/select | string/email | Data are joined to simple string using `, ` as glue | +| array/select | number/number | All objects gets `0` value | +| array/select | string/radio | First element of data is preserved | +| array/select | boolean/checkbox | All objects gets `false` value | +| array/select | array/object | All objects gets empty array | +| array/select | array/datasource | All objects gets empty array | +| array/select | object/geo | All objects gets object with value: `{lat: 0, lon: 0}` | +| array/select | string/select | First element of data is preserved | +| array/select | array/simpleList | Data are preserved | +| array/object | string/text | All objects gets `''` value | +| array/object | string/textarea | All objects gets `''` value | +| array/object | string/markdown | All objects gets `''` value | +| array/object | string/richtext | All objects gets `''` value | +| array/object | string/email | All objects gets `''` value | +| array/object | number/number | All objects gets `0` value | +| array/object | string/radio | All objects gets `''` value | +| array/object | boolean/checkbox | All objects gets `false` value | +| array/object | string/select | All objects gets `''` value | +| array/object | array/datasource | All objects gets empty array | +| array/object | object/geo | All objects gets object with value: `{lat: 0, lon: 0}` | +| array/object | array/select | String is converted to array of strings | +| array/object | array/simpleList | String is converted to array of strings | +| array/datasource | string/text | Data are converted to dataUrls joined with `', '` | +| array/datasource | string/textarea | Data are converted to dataUrls joined with `', '` | +| array/datasource | string/markdown | Data are converted to dataUrls joined with `', '` | +| array/datasource | string/richtext | Data are converted to dataUrls joined with `', '` | +| array/datasource | string/email | Data are converted to dataUrls joined with `', '` | +| array/datasource | number/number | All objects gets `0` value | +| array/datasource | string/radio | Data are converted to dataUrls joined with `', '` | +| array/datasource | boolean/checkbox | All objects gets `false` value | +| array/datasource | string/select | Data are converted to dataUrls joined with `', '` | +| array/datasource | array/object | All objects gets empty array | +| array/datasource | object/geo | All objects gets object with value: `{lat: 0, lon: 0}` | +| array/datasource | array/select | All objects gets empty array | +| array/datasource | array/simpleList | All objects gets empty array | +| object/geo | string/text | Data are converted to `'lat: {lat value}, lon: {lon value}'` | +| object/geo | string/textarea | Data are converted to `'lat: {lat value}, lon: {lon value}'` | +| object/geo | string/markdown | Data are converted to `'lat: {lat value}, lon: {lon value}'` | +| object/geo | string/richtext | Data are converted to `'lat: {lat value}, lon: {lon value}'` | +| object/geo | string/email | Data are converted to `'lat: {lat value}, lon: {lon value}'` | +| object/geo | number/number | All objects gets `0` value | +| object/geo | string/radio | Data are converted to `'lat: {lat value}, lon: {lon value}'` | +| object/geo | boolean/checkbox | All objects gets `false` value | +| object/geo | string/select | Data are converted to `'lat: {lat value}, lon: {lon value}'` | +| object/geo | array/object | All objects gets empty array | +| object/geo | array/datasource | All objects gets empty array | +| object/geo | array/select | All objects gets empty array | +| object/geo | array/simpleList | All objects gets empty array | +| array/simpleList | string/text | Data are joined to simple string using `, ` as glue | +| array/simpleList | string/textarea | Data are joined to simple string using `, ` as glue | +| array/simpleList | string/markdown | Data are joined to simple string using `, ` as glue | +| array/simpleList | string/richtext | Data are joined to simple string using `, ` as glue | +| array/simpleList | string/email | Data are joined to simple string using `, ` as glue | +| array/simpleList | number/number | All objects gets `0` value | +| array/simpleList | string/radio | First element of data is preserved | +| array/simpleList | boolean/checkbox | All objects gets `false` value | +| array/simpleList | array/object | All objects gets empty array | +| array/simpleList | array/datasource | All objects gets empty array | +| array/simpleList | object/geo | All objects gets object with value: `{lat: 0, lon: 0}` | +| array/simpleList | string/select | First element of data is preserved | +| array/simpleList | array/select | Data are preserved | ## Updating Content Types through the Content modeller diff --git a/docs/panel/content-objects.md b/docs/panel/content-objects.md index cf814a12..20e16686 100644 --- a/docs/panel/content-objects.md +++ b/docs/panel/content-objects.md @@ -30,7 +30,7 @@ From the grid, the users can go to the form that allows them to edit particular ![Flotiq Object Editor](images/EditObject.png){: .center .width75 .border} -There are 15 types of controls in the dashboard, all described in detail below: +There are 16 types of controls in the dashboard, all described in detail below: * [Text](#text) * [Long text](#long-text) @@ -47,6 +47,7 @@ There are 15 types of controls in the dashboard, all described in detail below: * [Geo](#geo) * [Date](#date) * [Block](#block) +* [Simple list](#simple-list) All required fields are marked with a red asterisk - *. You can save Content Object only when you insert values in all required fields. @@ -157,22 +158,22 @@ Second row: * Image - add image by providing image URL * Media library - opens Media Library, where you can add new files or select the ones already added -* Link object - opens modal with existing objects. Once object is selected a new span is embeded into the editor HTML. The span contains following attributes: +* Link object - opens modal with existing objects. Once object is selected a new span is embedded into the editor HTML. The span contains following attributes: * `data-relation-object-id` - object id * `data-relation-object-type` - object type * `data-relation-url` - object data url - Note that the span is empty and its up to you to handle it on your page programatically. + Note that the span is empty and its up to you to handle it on your page programmatically. * Display source - shows editable HTML markup of field contents; please change it with caution. #### Image options -After image is added, you can double click to format it. You can add alternative text, change the dimensions, position and border of the image. You can also add a hyperlink to it by switching to the `Link` tab. +After image is added, you can double-click to format it. You can add alternative text, change the dimensions, position and border of the image. You can also add a hyperlink to it by switching to the `Link` tab. ![](images/co-form/richtext/ImageProperties.png){: .center .border .width50} -You can make the editor bigger by dragging the grey arrow on the bottom right corner of the control. +You can make the editor bigger by dragging the grey arrow in the bottom right corner of the control. ### Email @@ -192,7 +193,7 @@ Standard checkbox control. ### Select -Standard select control. You can choose only one option. +Standard select control. Depending on `multiple` meta property you can choose only one or many options. ### Relation @@ -312,7 +313,7 @@ remove the block (`X` button) and move the block down (`arrow down` button). After you choose this block, the `Media library` button will appear. To choose an image, video or text file, you need to click that button and find the file you need to attach to the block. - You can add a border, stretch or add background to the file in the tunes menu. + You can add a border, stretch or add background to the file in the tunes' menu. ![](images/co-form/block/MediaTunes.png){: .border .width25 .center} @@ -332,6 +333,10 @@ remove the block (`X` button) and move the block down (`arrow down` button). The tunes allow adding information whether the table has header or not. +### Simple list + +Array of standard text inputs wit possibility of choosing the order, in other places referred as Options control. + ## Deleting content You can delete the object either by clicking the `Delete` button on the edit object page (in the top right corner): diff --git a/docs/panel/content-types.md b/docs/panel/content-types.md index 07c4c0d1..a30f5da1 100644 --- a/docs/panel/content-types.md +++ b/docs/panel/content-types.md @@ -54,7 +54,7 @@ It has five properties: 5. headerImage -Click the pencil icon to edit the `title` property. As you can see - `title` is a required property of Text type. Once you create the the CTD - this property will render as a Text Input in Blog Post Content Object form: +Click the pencil icon to edit the `title` property. As you can see - `title` is a required property of Text type. Once you create the CTD - this property will render as a Text Input in Blog Post Content Object form: ![](images/AddContentTypeDefinitionsTitle.png){: .center .width75 .border} @@ -76,7 +76,7 @@ The `content` property is set to generate Rich Text input (we use CKEditor in Fl ![](images/AddContentTypeDefinitionsContent.png){: .center .width75 .border} -The `headerImage` is is defined as a relation to Media CTD - a system type definition that anyone can use but sees only their entries. It can only have one element added. +The `headerImage` is defined as a relation to Media CTD - a system type definition that anyone can use but sees only their entries. It can only have one element added. ![](images/AddContentTypeDefinitionsHeaderImage.png){: .center .width75 .border} @@ -86,7 +86,7 @@ After saving your CTD you will be redirected to the CTDs list, where you can cli ![](images/TypeDefinitions.png){: .center .width75 .border} -Predefined CTD tiles are no longer visible. You can use the dropdown menu on the top right corner to add more of such types. +Predefined CTD tiles are no longer visible. You can use the dropdown menu in the top right corner to add more of such types. ![](images/TypeDefinitionsAddButton.png){: .center .width25 .border} @@ -98,41 +98,45 @@ You can always edit your CTDs. Click the cog icon on the CTD tile to do that, bu Here you can find the explanation of property settings and for what types of properties they apply: -| Setting | Possible for types | Required | Unique | Description | | -| ----------------------- | ---------------------------------------------------------- | ----------------------------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | -| Property key | all | yes | yes | Name of the property have to be unique throughout the definition. | | -| Property type | all | yes | no | Type of the property, its options are described in the table below. | | -| Unique | Text, Textarea, Rich Text, Email, Number, Select, Relation | no | no | Information if the value of the property should be unique across all objects of this type | | -| Required | all | no | no | Information if the value should exist in the object, for strings it has to non-empty string | | -| Part of object title | Text, Textarea, Email, Number, Select | no | no | Information if the value of this property should be used when displaying a list of objects in the relation creation, in the Flotiq Dashboard Object edit form | | -| Regex pattern | Text | no | no | Validation information, the pattern that every string should follow to be the correct value for the property (it follows [ECMA 262](https://www.ecma-international.org/ecma-262/5.1/#sec-7.8.5){:target="_blank"} specification, but [here](https://json-schema.org/understanding-json-schema/reference/regular_expressions.html#example){:target="_blank"} you can find more user-friendly description). E.g.` ^\d{3}-\d{2}-\d{4}$` for ensuring that string is Social Security Number (SSN) in the 123-45-6789 format - Note that the regular expression is enclosed in the ^…$ tokens, where ^ means the beginning of the string, and $ means the end of the string. Without ^…$, the pattern works as a partial match, that is, matches any string that contains the specified regular expression. For example, pattern: pet matches pet, petstore and carpet. The ^…$ token forces an exact match. | | -| Read-only | Text, Textarea, Email, Number, Radio, Checkbox, Select | no | no | Information if the Dashboard user can edit the value. In the edit object view, the input is visible but disabled. In the add object view, the input is not visible unless the input is marked as `required`.
API user can edit value without restrictions. | | -| Hidden | Text, Textarea, Email, Number, Radio, Checkbox, Select | no | no | If checked property can be changed only through API, the form input will not be rendered in object form in Dashboard | | -| Default value | Text, Textarea, Number, Select | no | no | Sets default value in object forms it is not respected when sending incomplete object through API | | -| Help text | all | no | no | Additional description shown under generated input, it is also displayed in API documentation | | -| Options | Radio, Select | no | no | Options to choose from in generated object form | | -| Show option label | Select | no | no | Information if options should consist of objects containing `value` and `label` with string values, or plain string value. | | -| Multiple | Relation | no | no | Information if the list of objects in relation should be bigger than one | | -| Restrict to type | Relation | yes (only when Property type == Relation) | no | Information on which types can be attached as the relation | | -| Show Time | Date time | no | no | Enables the time picker next to the date picker | | -| Restrict to block types | Block | yes (only when Property type == Block) | no | Names of plugins used in editor, possible plugins: `header`, `list`, `image`, `youtubeEmbed`, `quote`, `warning`, `delimiter`. `Paragraph` is available always as it is default text block. | | +| Setting | Possible for types | Required | Unique | Description | +|-------------------------|------------------------------------------------------------|-------------------------------------------|--------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Property key | all | yes | yes | Name of the property have to be unique throughout the definition. | +| Property type | all | yes | no | Type of the property, its options are described in the table below. | +| Unique | Text, Textarea, Rich Text, Email, Number, Select, Relation | no | no | Information if the value of the property should be unique across all objects of this type | +| Required | all | no | no | Information if the value should exist in the object, for strings it has to non-empty string | +| Part of object title | Text, Textarea, Email, Number, Select | no | no | Information if the value of this property should be used when displaying a list of objects in the relation creation, in the Flotiq Dashboard Object edit form | +| Regex pattern | Text | no | no | Validation information, the pattern that every string should follow to be the correct value for the property (it follows [ECMA 262](https://www.ecma-international.org/ecma-262/5.1/#sec-7.8.5){:target="_blank"} specification, but [here](https://json-schema.org/understanding-json-schema/reference/regular_expressions.html#example){:target="_blank"} you can find more user-friendly description). E.g.` ^\d{3}-\d{2}-\d{4}$` for ensuring that string is Social Security Number (SSN) in the 123-45-6789 format - Note that the regular expression is enclosed in the ^…$ tokens, where ^ means the beginning of the string, and $ means the end of the string. Without ^…$, the pattern works as a partial match, that is, matches any string tat contains the specified regular expression. For example, pattern: pet matches pet, petstore and carpet. The ^…$ token forces an exact match. | +| Read-only | Text, Textarea, Email, Number, Radio, Checkbox, Select | no | no | Information if the Dashboard user can edit the value. In the edit object view, the input is visible but disabled. In the add object view, the input is not visible unless the input is marked as `required`.
API user can edit value without restrictions. | +| Hidden | Text, Textarea, Email, Number, Radio, Checkbox, Select | no | no | If checked property can be changed only through API, the form input will not be rendered in object form in Dashboard | +| Default value | Text, Textarea, Number, Select | no | no | Sets default value in object forms it is not respected when sending incomplete object through API | +| Help text | all | no | no | Additional description shown under generated input, it is also displayed in API documentation | +| Options | Radio, Select, Simple List | no | no | Options to choose from in generated object form | +| Show option label | Select | no | no | Information if options should consist of objects containing `value` and `label` with string values, or plain string value. | +| Multiple | Relation, Select | yes (only when Property type == Select) | no | Information if the list of objects in relation should be bigger than one, or select should be multiselect | +| Restrict to type | Relation | yes (only when Property type == Relation) | no | Information on which types can be attached as the relation | +| Show Time | Date time | no | no | Enables the time picker next to the date picker | +| Restrict to block types | Block | yes (only when Property type == Block) | no | Names of plugins used in editor, possible plugins: `header`, `list`, `image`, `youtubeEmbed`, `quote`, `warning`, `delimiter`. `Paragraph` is available always as it is default text block. | Property types: -| Type | Description | -| --------- |--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Text | String type, generating Text Input in object form | -| Textarea | Long string type accepting new line characters, generating Textarea in object form | -| Rich Text | Long string type accepting HTML, generating CKEditor in object form | -| Email | String type, generating Email Input in object form | -| Number | Number type accepting any number, integer, float and doubles, generating Number Input | -| Radio | String type, generating Radio Input in object form | -| Checkbox | Boolean type, generating single Checkbox in object form | -| Select | String type, generating Select Dropdown in object form | -| Relation | Array type accepts only objects specified in `Restrict to type`, items in relation array cannot be duplicated | -| List | Object type generates subforms in object form; the inside object can have all types of properties. If you choose the `list` type property inside the list, then the nested list will be created. | -| Date time | String type, the correct format is: YYYY-MM-DD or YYYY-MM-DDTHH-mm. Example: 2021-06-17T13:10 or 2021-06-17. | -| Block | Object type, generates editor.js in object form | +| Type | Description | +|-------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Text | String type, generating Text Input in object form | +| Textarea | Long string type accepting new line characters, generating Textarea in object form | +| Markdown | Long string type accepting markdown, generating Markdown editor in object form | +| Email | String type, generating Email Input in object form | +| Rich Text | Long string type accepting HTML, generating CKEditor in object form | +| Number | Number type accepting any number, integer, float and doubles, generating Number Input | +| Radio | String type, generating Radio Input in object form | +| Checkbox | Boolean type, generating single Checkbox in object form | +| Select | String type, generating Select Dropdown in object form | +| Relation | Array type accepts only objects specified in `Restrict to type`, items in relation array cannot be duplicated | +| List | Object type generates subforms in object form; the inside object can have all types of properties. If you choose the `list` type property inside the list, then the nested list will be created. | +| Simple List | Array of strings type, generating Options control in object form | +| Geo | Object type for lat/lon location, generating inputs with map search in object form | +| Media | Array type accepts only Media objects, items in array cannot be duplicated | +| Date time | String type, the correct format is: YYYY-MM-DD or YYYY-MM-DDTHH-mm. Example: 2021-06-17T13:10 or 2021-06-17. | +| Block | Object type, generates editor.js in object form | [^1]: Number of available Content Type Definitions depends on the chosen subscription plan. Check pricing and limits on the [Flotiq Pricing page](https://flotiq.com/pricing){:target="_blank"}