@wmfs/tymly-cardscript-plugin
Version:
Plugin which handles interactions to do with Cardscript
392 lines (391 loc) • 10.5 kB
JSON
{
"templateMeta": {
"name": "pizza-form",
"title": "Pizza Place",
"category": "pizza"
},
"type": "AdaptiveCard",
"body": [
{
"type": "Jumbotron",
"backgroundImage": "pizza/pizza.jpg",
"title": "Pizza Place",
"subtitle": "This is an example view where you can order some delicious Tymly pizza.",
"wash": "black"
},
{
"id": "yourDetails",
"title": "Your Details",
"tocIcon": "account_box",
"type": "Container",
"spacing": "small",
"items": [
{
"type": "TextBlock",
"spacing": "large",
"size": "large",
"weight": "bolder",
"text": "Your Details"
},
{
"type": "Input.Name",
"title": "Your name",
"id": "firstName",
"validation": {
"maxLength": 50,
"required": true
}
},
{
"type": "Input.TelephoneNumber",
"id": "phoneNumber"
},
{
"type": "Input.ChoiceSet",
"id": "dietaryReq",
"title": "Dietary Requirements",
"icon": "fastfood",
"choices": [
{
"title": "Peanut Allergy",
"value": "PEANUT"
},
{
"title": "Gluten Free",
"value": "GLUTEN_FREE"
},
{
"title": "Dairy Free",
"value": "DAIRY_FREE"
},
{
"title": "Other",
"value": "OTHER"
}
],
"isMultiSelect": true
}
]
},
{
"type": "Container",
"showWhen": "data.dietaryReq.includes('OTHER')",
"items": [
{
"type": "TextBlock",
"size": "medium",
"text": "Please enter your other dietary requirements..."
},
{
"type": "Input.Text",
"id": "dietaryReqOther",
"isMultiline": true,
"validation": {
"requiredIf": "data.dietaryReq.includes('OTHER')"
}
}
]
},
{
"id": "thePizza",
"title": "The Pizza",
"tocIcon": "local_pizza",
"type": "Container",
"spacing": "small",
"items": [
{
"type": "TextBlock",
"size": "large",
"weight": "bolder",
"text": "The Pizza"
},
{
"type": "Input.ChoiceSet",
"id": "size",
"title": "What size pizza?",
"icon": "local_pizza",
"value": "M",
"choices": [
{
"title": "Small",
"value": "S"
},
{
"title": "Medium",
"value": "M"
},
{
"title": "Large",
"value": "L"
},
{
"title": "Extra Large",
"value": "XL"
},
{
"title": "Extra Extra Large",
"value": "XXL"
}
],
"style": "expanded"
},
{
"type": "Input.ChoiceSet",
"id": "savouryOrSweet",
"title": "Would you like it savoury or sweet?",
"choices": [
{
"title": "Savoury",
"value": "SAVOURY"
},
{
"title": "Sweet",
"value": "SWEET"
}
],
"style": "expanded",
"validation": {
"required": true
}
},
{
"type": "Container",
"id": "savourySet",
"showWhen": "data.savouryOrSweet === 'SAVOURY'",
"spacing": "small",
"items": [
{
"type": "Input.ChoiceSet",
"id": "base",
"title": "What base would you like?",
"value": "TOMATO",
"choices": [
{
"title": "Tomato Sauce",
"value": "TOMATO"
},
{
"title": "BBQ",
"value": "BBQ"
},
{
"title": "Sweet and Sour",
"value": "SWEETSOUR"
}
],
"validation": {
"requiredIf": "data.savouryOrSweet === 'SAVOURY'"
}
},
{
"type": "Input.Toggle",
"id": "hot",
"spacing": "large",
"title": "Do you like it hot?",
"value": "false"
},
{
"type": "Input.ChoiceSet",
"id": "howHot",
"title": "How hot do you like it?",
"icon": "whatshot",
"showWhen": "data.hot",
"choices": [
{
"title": "1 Chilli",
"value": 1
},
{
"title": "2 Chillies",
"value": 2
},
{
"title": "3 Chillies",
"value": 3
},
{
"title": "4 Chillies",
"value": 4
},
{
"title": "5 Chillies",
"value": 5
},
{
"title": "6 Chillies",
"value": 6
}
],
"style": "expanded",
"validation": {
"requiredIf": "data.hot === true"
}
},
{
"type": "TextBlock",
"size": "small",
"color": "attention",
"text": "We will not be held responsible if you can't handle the heat!",
"showWhen": "data.hot"
},
{
"type": "Input.ChoiceSet",
"id": "toppings",
"title": "Select what toppings you would like (up to 3)",
"icon": "local_pizza",
"choices": [
{
"title": "Pepperoni",
"value": "PEPPERONI"
},
{
"title": "Olives",
"value": "OLIVES"
},
{
"title": "Peppers",
"value": "PEPPERS"
},
{
"title": "Pineapple",
"value": "PINEAPPLE"
},
{
"title": "Ham",
"value": "HAM"
},
{
"title": "Chicken",
"value": "CHICKEN"
},
{
"title": "Spicy Beef",
"value": "SPICY_BEEF"
},
{
"title": "Jalapenos",
"value": "JALAPENOS"
}
],
"style": "expanded",
"isMultiSelect": true,
"validation": {
"maxLength": 3
}
}
]
},
{
"type": "Container",
"id": "sweetSet",
"showWhen": "data.savouryOrSweet === 'SWEET'",
"spacing": "small",
"items": [
{
"type": "Input.ChoiceSet",
"title": "What primary flavour would you like?",
"id": "primaryFlavour",
"choices": [
{
"title": "Milk Chocolate",
"value": "MILK_CHOC"
},
{
"title": "White Chocolate",
"value": "WHITE_CHOC"
},
{
"title": "Dark Chocolate",
"value": "DARK_CHOC"
},
{
"title": "Toffee",
"value": "TOFFEE"
}
],
"validation": {
"requiredIf": "data.savouryOrSweet === 'SWEET'"
}
},
{
"type": "TextBlock",
"size": "medium",
"spacing": "large",
"text": "What secondary flavour would you like?",
"showWhen": "data.primaryFlavour"
},
{
"type": "Input.ChoiceSet",
"id": "secondaryFlavour",
"showWhen": "data.primaryFlavour",
"choices": [
{
"title": "Milk Chocolate",
"value": "MILK_CHOC"
},
{
"title": "White Chocolate",
"value": "WHITE_CHOC"
},
{
"title": "Dark Chocolate",
"value": "DARK_CHOC"
},
{
"title": "Toffee",
"value": "TOFFEE"
}
],
"validation": {
"requiredIf": "data.savouryOrSweet === 'SWEET'"
}
},
{
"id": "sprinkles",
"showWhen": "data.secondaryFlavour",
"type": "Input.Toggle",
"title": "Would you like hundreds and thousands sprinkles on your pizza?",
"value": false,
"spacing": "large"
}
]
}
]
},
{
"type": "Container",
"items": [
{
"type": "Input.ChoiceSet",
"id": "deliveryOrCollection",
"title": "Would you like to collect your pizza or have it delivered?",
"icon": "local_taxi",
"value": "COLLECT",
"choices": [
{
"title": "Collect",
"value": "COLLECT"
},
{
"title": "Deliver",
"value": "DELIVER"
}
],
"style": "expanded"
}
]
}
],
"actions": [
{
"type": "Action.Cancel",
"title": "Cancel"
},
{
"type": "Action.Submit",
"title": "Submit"
}
],
"$schema": "https://raw.githubusercontent.com/wmfs/cardscript-schema/master/lib/schema.json",
"version": "1.0"
}