Premiere - ES5
by Pedro Moreira
HTML
<script src="https://unpkg.com/premiere/dist/premiere.min.js"></script>
<section>
<header>
<h1>Book List</h1>
</header>
<pre id="books"></pre>
<button type="button" onclick="createBook()">New book</button>
<button type="button" onclick="deleteBook()">Delete First Book</button>
</section>
JavaScript
Premiere.Api.base = 'http://rest.learncode.academy/api/premiere-es5/';
var Book = Object.assign({}, Premiere.Model, {
path: 'books',
first: function() {
return new Promise(function(resolve, reject) {
Book.all().then(function(books) {
books.length ? resolve(books[0]) : reject('No books found');
}, reject);
});
}
})
window.createBook = function() {
var name = prompt('Please enter the book name');
if (!name) return;
Book.save({
name: name
}).then(function() {
listBooks();
});
}
window.deleteBook = function() {
Book.first().then(function(book) {
book.destroy().then(function() {
listBooks();
});
});
};
function listBooks() {
$('#books').text('Loading Books');
Book.all().then(function(books) {
var text = books.length ?
JSON.stringify(books, null, '\t') : 'No books found :/'
$('#books').text(text);
}, function() {
$('#books').text('Failed to load books');
});
}
listBooks();