lowdefy/packages/docs/tutorial/tutorial-actions-operators-config.yaml
2021-02-25 11:24:58 +02:00

143 lines
5.3 KiB
YAML

# Copyright 2020-2021 Lowdefy, Inc
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
_ref:
path: templates/general.yaml.njk
vars:
pageId: tutorial-actions-operators-config
pageTitle: Interactive pages config
section: Tutorial
filePath: tutorial/tutorial-actions-operators-config.yaml
content:
- id: body_config
type: MarkdownWithCode
properties:
content: |
##### `lowdefy.yaml`
```yaml
name: lowdefy-project-template
version: CURRENT_LOWDEFY_VERSION
menus:
- id: default
links:
- id: new-ticket
type: MenuLink
properties:
icon: AlertOutlined
title: New ticket
pageId: new-ticket
- id: welcome
type: MenuLink
properties:
icon: HomeOutlined
title: Home
pageId: welcome
pages:
- _ref: new-ticket.yaml
- id: welcome
type: PageHeaderMenu
#...
```
##### `new-ticket.yaml`
```yaml
id: new-ticket
type: PageHeaderMenu
properties:
title: New ticket # The title in the browser tab.
layout:
contentJustify: center # Center the contents of the page.
blocks:
- id: content_card
type: Card
layout:
size: 800 # Set the size of the card so it does not fill the full screen.
contentGutter: 16 # Make a 16px gap between all blocks in this card.
blocks:
- id: page_heading
type: Title
required: true
properties:
content: Log a ticket # Change the title on the page.
level: 3 # Make the title a little smaller (an html `<h3>`).
- id: ticket_title
type: TextInput
required: true
properties:
title: Title
- id: ticket_type
type: ButtonSelector
required: true
properties:
title: Ticket type
options: # Set the allowed options
- Feature request
- Bug report
- Question
- id: ticket_description
type: TextArea
properties:
title: Description
- id: confirm_restart
type: ButtonSelector
visible: # Test if block should be visible to the user
_eq: # Equals operator
- _state: ticket_type # Get the ticket_type value from state.
- Bug report
validate:
# Show a warning that shows before validate is called
# and does not block Validate action.
- status: warning
message: If you did not restart your device, we will ask you to restart it.
pass:
_eq:
- _state: confirm_restart
- Yes
properties:
title: Did you restart your device?
label:
colon: false # Hide the label colon
options:
- Yes
- No
- id: reset_button
type: Button
layout:
span: 12 # Set the size of the button (span 12 of 24 columns)
properties:
title: Reset
block: true # Make the button fill all the space available to it
type: default # Make the button a plain button
icon: ClearOutlined
events:
onClick:
- id: reset
type: Reset
- id: submit_button
type: Button
layout:
span: 12
properties:
title: Submit
block: true
type: primary # Make the button a primary button with color
icon: SaveOutlined
events:
onClick:
- id: validate
type: Validate
```