Prototyp AppML
W tym rozdziale zbudujemy prototyp aplikacji internetowej.
Utwórz prototyp HTML
Najpierw utwórz porządny prototyp HTML , używając swojego ulubionego CSS.
W tym przykładzie użyliśmy W3.CSS:
Przykład
<!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ą symbolami zastępczymi dla przyszłych danych.
Dodaj AppML
Po utworzeniu prototypu HTML możesz dodać AppML:
Przykład
<!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>
Dodaj AppML:
<script src="https://www.w3schools.com/appml/2.0.3/appml.js">
Dodaj lokalną bazę danych WebSQL:
<script src="https://www.w3schools.com/appml/2.0.3/appml_sql.js">
Zdefiniuj źródło danych:
appml-data="klienci.js"
Zdefiniuj element HTML, który ma być powtarzany dla każdego rekordu w rekordach:
appml_repeat="rekordy"
Aby to uprościć, zacznij od lokalnych danych, takich jak przed połączeniem z bazą danych.
Utwórz model AppML
Aby móc korzystać z bazy danych, potrzebujesz modelu bazy danych AppML:
proto_customers.js
{
"rowsperpage" : 10,
"database" : {
"connection"
: "localmysql",
"sql" : "Select * from Customers",
"orderby"
: "CustomerName",
}
Jeśli nie masz lokalnej bazy danych, możesz użyć modelu AppML do utworzenia bazy danych Web SQL.
Aby utworzyć tabelę z pojedynczym rekordem, użyj takiego modelu: .
Tworzenie lokalnej bazy danych nie działa w IE ani Firefox. Użyj przeglądarki Chrome lub Safari.
Użyj modelu w swojej aplikacji. Zmień źródło danych na lokalne?model=proto_customers_single :
Przykład
<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>
Utwórz lokalną bazę danych z wieloma rekordami
Aby utworzyć tabelę z wieloma rekordami, użyj takiego modelu: .
Zmień źródło danych na lokalne?model=proto_customers_all
Przykład
<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>
Dodaj szablon nawigacji
Załóżmy, że chcesz, aby wszystkie aplikacje miały wspólny pasek narzędzi nawigacyjnych:
Utwórz dla niego szablon HTML:
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>
Zapisz szablon w pliku o odpowiedniej nazwie, np. „inc_listcommands.htm”.
Dołącz szablon do swojego prototypu z atrybutem appml-include-html :
Przykład
<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>