appblocks
Version:
A lightweight javascript library for building micro apps for the front-end.
76 lines (67 loc) • 2.67 kB
HTML
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Render and Filters test</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
</head>
<body>
<style>
.red {
color: red;
}
</style>
<div class="container">
<div class="row">
<div class="col-md-4"></div>
<div id="app" class="col-md-4">
</div>
<div class="col-md-4"></div>
</div>
</div>
<template id="appTemplate">
<h1>Text</h1>
<p>{data.testText}</p>
<h1>HTML</h1>
<p>{data.testHTML|asHTML}</p>
<h1>This should be in lower case</h1>
<p>{data.testText|toLowerCase}</p>
<h1>HTML*2</h1>
<p>{data.testHTML|asHTML}</p>
<p>{data.testHTML|asHTML}</p>
<h1>Let's also try this |asHTML}</h1>
<p>{data.testText|toUpperCase}</p>
<h1 c-for="color in data.colorClasses" class="{color|assignClass}">This should be {color|assignClass}.</h1>
</template>
<script src="https://cdn.jsdelivr.net/npm/axios@1.6.7/dist/axios.min.js"></script>
<script src="../dist/appblocks.umd.js"></script>
<script>
var app = new AppBlock({
name: "RenderApp",
el: document.getElementById('app'),
template: document.getElementById('appTemplate'),
renderEngine: 'plain',
data: {
testText: "This is some text",
testHTML: "<span>This is some HTML</span>",
colorClasses: [true, false]
},
filters: {
toUpperCase(app, value) { return value.toUpperCase(); },
toLowerCase(app, value) { return value.toLowerCase(); },
assignClass(app, value) {
console.log(value);
if (value === true) {
return "green";
} else {
return "red";
}
}
}
});
</script>
</body>
</html>