UNPKG

appblocks

Version:

A lightweight javascript library for building micro apps for the front-end.

76 lines (67 loc) 2.67 kB
<!DOCTYPE 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>