From 3080dd330fcf301b38ee78776795fdcf7f7cc3cf Mon Sep 17 00:00:00 2001 From: Siim Kibus Date: Tue, 30 Sep 2025 14:02:47 +0300 Subject: [PATCH] Add JSON modals and JSON panels samples --- json-samples/app-panel-developer-hub.json | 32 +++++ json-samples/app-panel-multiple-object.json | 48 ++++++++ json-samples/app-panel-single-object.json | 45 +++++++ json-samples/json-modal.json | 125 ++++++++++++++++++++ 4 files changed, 250 insertions(+) create mode 100644 json-samples/app-panel-developer-hub.json create mode 100644 json-samples/app-panel-multiple-object.json create mode 100644 json-samples/app-panel-single-object.json create mode 100644 json-samples/json-modal.json diff --git a/json-samples/app-panel-developer-hub.json b/json-samples/app-panel-developer-hub.json new file mode 100644 index 0000000..9a4bcb0 --- /dev/null +++ b/json-samples/app-panel-developer-hub.json @@ -0,0 +1,32 @@ +{ + "type": "array", + "items": { + "type": "object", + "properties": { + "visitTime": { + "label": "Visit time", + "$ref": "#/definitions/date-time" + }, + "company": { + "$ref": "#/definitions/text" + }, + "source": { + "$ref": "#/definitions/text" + }, + "landingPage": { + "label": "Landing page", + "$ref": "#/definitions/text" + }, + "pageViews": { + "label": "Page views", + "$ref": "#/definitions/numerical" + }, + "duration": { + "$ref": "#/definitions/text" + }, + "header": { + "$ref": "#/definitions/header" + } + } + } +} \ No newline at end of file diff --git a/json-samples/app-panel-multiple-object.json b/json-samples/app-panel-multiple-object.json new file mode 100644 index 0000000..134ad29 --- /dev/null +++ b/json-samples/app-panel-multiple-object.json @@ -0,0 +1,48 @@ +{ + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "header" + ], + "properties": { + "id": { + "$ref": "#/definitions/numerical" + }, + "header": { + "$ref": "#/definitions/header" + }, + "project": { + "$ref": "#/definitions/text" + }, + "manufacturer": { + "$ref": "#/definitions/text" + }, + "delivery_date": { + "$ref": "#/definitions/date-time", + "label": "Delivery date" + }, + "status": { + "$ref": "#/definitions/label" + }, + "delivery_company": { + "$ref": "#/definitions/text", + "label": "Delivery company" + }, + "tracking": { + "$ref": "#/definitions/text" + }, + "note": { + "$ref": "#/definitions/text" + }, + "extras": { + "$ref": "#/definitions/tags" + }, + "delivery_cost": { + "$ref": "#/definitions/currency", + "label": "Delivery cost" + } + } + } +} \ No newline at end of file diff --git a/json-samples/app-panel-single-object.json b/json-samples/app-panel-single-object.json new file mode 100644 index 0000000..8e76ccc --- /dev/null +++ b/json-samples/app-panel-single-object.json @@ -0,0 +1,45 @@ +{ + "type": "object", + "required": [ + "id", + "header" + ], + "properties": { + "id": { + "$ref": "#/definitions/numerical" + }, + "header": { + "$ref": "#/definitions/header" + }, + "project": { + "$ref": "#/definitions/text" + }, + "manufacturer": { + "$ref": "#/definitions/text" + }, + "delivery_date": { + "$ref": "#/definitions/date-time", + "label": "Delivery date" + }, + "status": { + "$ref": "#/definitions/label" + }, + "delivery_company": { + "$ref": "#/definitions/text", + "label": "Delivery company" + }, + "tracking": { + "$ref": "#/definitions/text" + }, + "note": { + "$ref": "#/definitions/text" + }, + "extras": { + "$ref": "#/definitions/tags" + }, + "delivery_cost": { + "$ref": "#/definitions/currency", + "label": "Delivery cost" + } + } +} \ No newline at end of file diff --git a/json-samples/json-modal.json b/json-samples/json-modal.json new file mode 100644 index 0000000..4f3fead --- /dev/null +++ b/json-samples/json-modal.json @@ -0,0 +1,125 @@ +{ + "type": "object", + "properties": { + "blocks": { + "type": "object", + "properties": { + "block_key_cake_size": { + "$ref": "#/definitions/element-input", + "options": { + "label": "Cake size", + "placeholder": "Insert size", + "message": "Cake size will be either S, M or L" + } + }, + "block_key_textarea": { + "$ref": "#/definitions/element-textarea", + "options": { + "label": "Additional instructions", + "placeholder": "Write \"Happy Birthday!\" on the cake!", + "message": "What would you like to have on your cake?", + "resize": true + } + }, + "block_key_separator": { + "$ref": "#/definitions/element-separator" + }, + "block_key_flavors": { + "$ref": "#/definitions/element-checkbox-group", + "options": { + "label": "Flavor", + "value": [ + "cranberry" + ], + "items": [ + { + "value": "vanilla", + "label": "Vanilla" + }, + { + "value": "chocolate", + "label": "Chocolate", + "isDisabled": true + }, + { + "value": "cranberry", + "label": "Cranberry" + } + ] + } + }, + "block_key_delivery_date": { + "$ref": "#/definitions/element-datepicker", + "options": { + "label": "Delivery date", + "value": "2020-02-27", + "message": "Cakes will be ready by 12:00 on selected date", + "placeholder": "Date", + "allowClear": true, + "isRequired": true + } + }, + "block_key_delivery_method": { + "$ref": "#/definitions/element-select", + "options": { + "label": "Delivery method", + "placeholder": "Select method", + "message": "Please, specify how the delivery will be done", + "isRequired": true, + "items": [ + { + "label": "Standard", + "value": 1 + }, + { + "label": "Accelerated", + "value": 2 + } + ] + } + }, + "block_key_is_gift": { + "$ref": "#/definitions/element-radio-group", + "options": { + "label": "Wrap as gift?", + "items": [ + { + "value": "yes", + "label": "Yes" + }, + { + "value": "no", + "label": "No" + } + ] + } + }, + "block_key_info": { + "$ref": "#/definitions/element-text", + "options": { + "value": "Thank you for using the cake ordering app!" + } + } + } + }, + "actions": { + "type": "object", + "properties": { + "cancel_action": { + "$ref": "#/definitions/action-secondary", + "options": { + "label": "Cancel", + "handler": "cancel" + } + }, + "submit_action": { + "$ref": "#/definitions/action-primary", + "options": { + "label": "Save", + "handler": "request" + } + } + } + } + } +} \ No newline at end of file