UNPKG

datocms-plugin-json-table

Version:

A plugin for DatoCMS that makes it possible to add/insert a key and value and output a simple JSON table

65 lines (42 loc) 2.62 kB
# DatoCMS plugin: JSON Table **This DatoCMS plugin makes it possible to add/insert a key and value to output a simple JSON table. The plugin is build as a custom field editor for DatoCMS JSON fields.** ![](https://github.com/voorhoede/datocms-plugin-json-table/raw/main/docs/preview.gif) When you input a key and value the output will be: ```json { "key 1": "value 1", "key 2": "value 3", "key 3": "value 3" } ``` ## Features * Add keys and values * Output a simple JSON object * Make individual entries mandatory * Allow editors to add entries in the JSON table * Copy and paste the raw json in the json field editor For each entry in the JSON we show a key and value. ![](https://github.com/voorhoede/datocms-plugin-json-table/raw/main/docs/json-table-added.jpg) ## Configuration First add this plugin via DatoCMS Settings > Plugins > Add (`/admin/plugins/new`). ### Plugin settings #### Settings There are three settings for configuration of the JSON table. If the `Editor may add item` (Default: `true`), the button with `+ ADD ITEM` will be shown. If this button is set to `false`, the editor will not be able to add any items. To copy and paste raw json the option `Show button "Show JSON editor"` (Default: `false`) can be activated. This will show a DatoCMS like JSON editor instead of the json table. This can be usefull to see the JSON structure or for copy and pasting large json objects. `Required/Optional fields` is a comma seperated list of keys that should be required or optional and non-editable. By default every entry becomes a required key. Add a question mark (?) at the end of the key to make it optional. Example: `key1, key2?, key3`. Where `key1`, `key2` and `key3` are non editable and only `key2` is optional. When a key is added to this list it will show automatically as an entry in the JSON table. ![](https://github.com/voorhoede/datocms-plugin-json-table/raw/main/docs/json-table-required-fields.jpg) #### Default values To give keys a default value you can use the `Default value` tab of the JSON field. Inserting: ```json { "key 1": "value 1", "key 2": "value 3", "key 3": "value 3" } ``` will result in having the same keys and values as default. ![](https://github.com/voorhoede/datocms-plugin-json-table/raw/main/docs/json-table-default-values.jpg) Adding the same keys to the `Required fields` will result in having default values for required fields where the editor is only allowed to edit values and not allowed to edit keys. ## Contributing See [contributing.md](https://github.com/voorhoede/datocms-plugin-json-table/blob/main/contributing.md).