Skip to content

Instantly share code, notes, and snippets.

Interpolation

<div class={@class}>
  {@value}
</div>

Dynamic props/attrs

@msaraiva
msaraiva / syntax_proposal.md
Last active May 19, 2021 19:31
Proposal for syntax changes in Surface v0.5

Proposal

Templates

Shorthand notation for assigning slots.

Usage

<parents>
<parent>
<id>1</id>
<name>Parent 1</name>
<children>
<child>
<id>1</id>
<name>Child 1</name>
</child>
<child>
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="report1" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="a5921604-8860-49b3-a881-cb9a53430761">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<subDataset name="dataset1" uuid="199196fa-2855-4590-81bd-59a0831c61a4">
<queryString language="xPath">
<![CDATA[/parents/parent/children/child]]>
</queryString>
<field name="name" class="java.lang.String">
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="report1" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="a5921604-8860-49b3-a881-cb9a53430761">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<subDataset name="dataset1" uuid="199196fa-2855-4590-81bd-59a0831c61a4">
<field name="name" class="java.lang.String">
<fieldDescription><![CDATA[name]]></fieldDescription>
</field>
<field name="id" class="java.lang.String">