Protótipo AppML
Neste capítulo, construiremos um protótipo para uma aplicação web.
Criar um protótipo HTML
Primeiro, crie um protótipo HTML decente , usando seu CSS favorito.
Usamos W3.CSS neste exemplo:
Exemplo
<!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>
{{ ... }} São espaços reservados para dados futuros.
Adicionar AppML
Depois de criar um protótipo HTML, você pode adicionar AppML:
Exemplo
<!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>
Adicionar AppML:
<script src="https://www.w3schools.com/appml/2.0.3/appml.js">
Adicione um banco de dados WebSQL local:
<script src="https://www.w3schools.com/appml/2.0.3/appml_sql.js">
Defina uma fonte de dados:
appml-data="clientes.js"
Defina o elemento HTML a ser repetido para cada registro em registros:
appml_repeat="registros"
Para simplificar, comece com dados locais, como antes de se conectar a um banco de dados.
Criar um modelo AppML
Para poder usar um banco de dados, você precisará de um modelo de banco de dados AppML:
proto_customers.js
{
"rowsperpage" : 10,
"database" : {
"connection"
: "localmysql",
"sql" : "Select * from Customers",
"orderby"
: "CustomerName",
}
Se você não tiver um banco de dados local, poderá usar o modelo AppML para criar um banco de dados Web SQL.
Para criar uma tabela com um único registro, use um modelo como este: .
Criar um banco de dados local não funciona no IE ou Firefox. Use o Chrome ou o Safari.
Use o modelo em seu aplicativo. Altere a fonte de dados para local?model=proto_customers_single :
Exemplo
<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>
Criar um banco de dados local com vários registros
Para criar uma tabela com vários registros, use um modelo como este: .
Altere a fonte de dados para local?model=proto_customers_all
Exemplo
<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>
Adicionar um modelo de navegação
Suponha que você queira que todos os seus aplicativos tenham uma barra de ferramentas de navegação comum:
Crie um modelo HTML para ele:
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>
Salve o modelo em um arquivo com um nome próprio como "inc_listcommands.htm".
Inclua o modelo em seu protótipo com o atributo appml-include-html :
Exemplo
<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>