Prototipo AppML
In questo capitolo creeremo un prototipo per un'applicazione web.
Crea un prototipo HTML
Per prima cosa, crea un prototipo HTML decente , usando il tuo CSS preferito.
Abbiamo usato W3.CSS in questo esempio:
Esempio
<!DOCTYPE html>
<html lang="en-US">
<title>Customers</title>
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<body>
<div class="w3-container">
<h1>Customers</h1>
<table class="w3-table-all">
<tr>
<th>Customer</th>
<th>City</th>
<th>Country</th>
</tr>
<tr>
<td>{{CustomerName}}</td>
<td>{{City}}</td>
<td>{{Country}}</td>
</tr>
</table>
</div>
</body>
</html>
{{ ... }} Sono segnaposto per i dati futuri.
Aggiungi AppML
Dopo aver creato un prototipo HTML, puoi aggiungere AppML:
Esempio
<!DOCTYPE html>
<html lang="en-US">
<title>Customers</title>
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<script src="https://www.w3schools.com/appml/2.0.3/appml.js"></script>
<script src="https://www.w3schools.com/appml/2.0.3/appml_sql.js"></script>
<body>
<div class="w3-container" appml-data="customers.js">
<h1>Customers</h1>
<table class="w3-table-all">
<tr>
<th>Customer</th>
<th>City</th>
<th>Country</th>
</tr>
<tr appml-repeat="records">
<td>{{CustomerName}}</td>
<td>{{City}}</td>
<td>{{Country}}</td>
</tr>
</table>
</div>
</body>
</html>
Aggiungi AppML:
<script src="https://www.w3schools.com/appml/2.0.3/appml.js">
Aggiungi un database WebSQL locale:
<script src="https://www.w3schools.com/appml/2.0.3/appml_sql.js">
Definire un'origine dati:
appml-data="customers.js"
Definisci l'elemento HTML da ripetere per ogni record nei record:
appml_repeat="record"
Per semplificare, inizia con dati locali come prima di connetterti a un database.
Crea un modello AppML
Per poter utilizzare un database, avrai bisogno di un modello di database AppML:
proto_clienti.js
{
"rowsperpage" : 10,
"database" : {
"connection"
: "localmysql",
"sql" : "Select * from Customers",
"orderby"
: "CustomerName",
}
Se non si dispone di un database locale, è possibile utilizzare il modello AppML per creare un database Web SQL.
Per creare una tabella con un singolo record, usa un modello come questo: .
La creazione di un database locale non funziona in IE o Firefox. Usa Chrome o Safari.
Usa il modello nella tua applicazione. Cambia l'origine dati in local?model=proto_customers_single :
Esempio
<div class="w3-container" appml-data="local?model=proto_customers_single">
<h1>Customers</h1>
<table class="w3-table-all">
<tr>
<th>Customer</th>
<th>City</th>
<th>Country</th>
</tr>
<tr appml-repeat="records">
<td>{{CustomerName}}</td>
<td>{{City}}</td>
<td>{{Country}}</td>
</tr>
</table>
</div>
Crea un database locale con più record
Per creare una tabella con più record, utilizza un modello come questo: .
Modificare l'origine dati in local?model=proto_customers_all
Esempio
<div class="w3-container" appml-data="local?model=proto_customers_all">
<h1>Customers</h1>
<table class="w3-table-all">
<tr>
<th>Customer</th>
<th>City</th>
<th>Country</th>
</tr>
<tr appml-repeat="records">
<td>{{CustomerName}}</td>
<td>{{City}}</td>
<td>{{Country}}</td>
</tr>
</table>
</div>
Aggiungi un modello di navigazione
Supponiamo di volere che tutte le tue applicazioni abbiano una barra degli strumenti di navigazione comune:
Crea un modello HTML per esso:
inc_listcommands.htm
<div class="w3-bar w3-border w3-section">
<button class="w3-button" id='appmlbtn_first'>❮❮</button>
<button class="w3-button" id='appmlbtn_previous'>❮</button>
<button class="w3-button w3-hover-none" id='appmlbtn_text'></button>
<button class="w3-button" id='appmlbtn_next'>❯</button>
<button class="w3-button" id='appmlbtn_last'>❯❯</button>
<button class="w3-btn ws-green" id='appmlbtn_query'>Filter</button>
</div>
<div id="appmlmessage"></div>
Salva il modello in un file con un nome proprio come "inc_listcommands.htm".
Includi il modello nel tuo prototipo con l'attributo appml-include-html :
Esempio
<div class="w3-container" appml-data="local?model=proto_customers_all">
<h1>Customers</h1>
<div appml-include-html="inc_listcommands.htm"></div>
<table class="w3-table-all">
<tr>
<th>Customer</th>
<th>City</th>
<th>Country</th>
</tr>
<tr appml-repeat="records">
<td>{{CustomerName}}</td>
<td>{{City}}</td>
<td>{{Country}}</td>
</tr>
</table>
</div>