npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

aurelia-bodylight-plugin

v2.3.4

Published

Bodylight plugin for Aurelia framework

Downloads

322

Readme

Aurelia plugin with Bodylight web components

Build Status stability-beta Version Maintainability

Web components of the Bodylight library is a suite of custom elements enhancing HTML. It is distributed either as

  • 1. Aurelia web components - follow this instruction further, framework dependent distribution. Follow instructions further
  • 2. Standard web components - framework agnostic distibution with 1 independent JS file. Follow Bodylight.js-Components to create web simulator using HTML or Markdown or mor complex application using different framework.

Web components contains:

  • FMU component able to be execute in browser. Modelica model is exported to FMU using FMI standard and Bodylight FMU Compiler can convert FMU with source codes and solver into WebAssembly script.
  • Adobe-Animate and Gif-Animate component able to control animation exported from Adobe-Animate or animated GIF and bind them to variables of model simulation.
  • ChartJS, DygraphJS, PlotlyJS components to visualise model variables in different chart types and libraries.
  • Following Web components standard to be broadly compatible with any web application.

Usage

This plugin is part of broader tools to enable in-browser simulation using modern web technologies: Web Assembly, HTML, Javascript (ECMAScript6). In order to build web simulator:

  1. You need to export Modelica model into FMU with source codes including source codes for solver (Dymola exports CVODE, OpenModelica 1.14.x exports Euler and 1.16.x is declared to support CVODE export too).
  2. Then you need to convert the FMU into WebAssembly - using Bodylight FMU Compiler
  3. the exported ZIP contains JS file - to be reffered from bdl-fmi component, and modelDescription.xml - standard FMU description with variable references.
  4. optional - export Adobe Animate animation into CreateJS library usable by bdl-adobe component.
  5. use the Bodylight components, This plugin is distributed in 2 different way: 1) as standard web components or 2) as aurelia components.
    • 1. Aurelia web components - we recommend this distribution in order to build more complex interactive application with Aurelia framework.
    • 2. Standard web components - we recommend this distribution in order to build web simulator with text, graphics and visualisation in enhanced HTML or Markdown, without need to touch Javscript or other APIs. Follow Bodylight.js-Components

2. Aurelia web components

We recommend to use aurelia framework to build web application with Bodylight Web components. Follow Aurelia doc's how to prepare your project and install aurelia-bodylight-plugin by npm command-line:

npm i aurelia-bodylight-plugin

In your main.js file enable the plugin by aurelia.use.plugin(PLATFORM.moduleName('aurelia-bodylight-plugin')), so it may look like:

//main.js
import {PLATFORM} from 'aurelia-pal';

export function configure(aurelia) {
  aurelia.use
    .standardConfiguration()
    .plugin(PLATFORM.moduleName('aurelia-bodylight-plugin'))

  aurelia.start().then(() => {
    aurelia.setRoot(PLATFORM.moduleName('app'));
  });
}

Bodylight web components are available in any template, use them without bdl- prefix:

<template>
  <range id="id1" min="40" max="180" default="60" title="Heart rate"></range>
  <fmi ...></fmi>
  <chartjs ...></chartjs>
...
</template>

Reference manual

For further doc refer docs/

Developer's guide

To Build and test

  • au build-plugin - builds plugin - outpu to dist
  • au build - builds dev-app with documentation - output to /script
  • au test - execute unit tests

To publish NPM package version NPM aurelia-bodylight-plugin

  • npm login - logs into NPM - need to be contributor for
  • np - UI for release the new version (will ask for patch,minor or major version)

Add new component

To add a new web component:

  • create a component definition in src/components, either only HTML or HTML and JS
  • register the component as a web component in src/webcomponents.js adding a row
export function configure(aurelia) {
  aurelia.use
  ...
  //use this routine to register HTML only component as web component
  .globalResources(PLATFORM.moduleName('components/mycomponent.html'))
  //use this routine to register component (JS and HTML) as web component
  .globalResources(PLATFORM.moduleName('components/mycomponent'))
  ...
  • create documentation in docs
  • create unit test in test
  • build plugin au build-plugin and build dev-app with docs using au build and see docs/index.html

Release history

release notes since 2.0.0

  • follow https://github.com/creative-connections/aurelia-bodylight-plugin/releases
  • follow https://github.com/creative-connections/Bodylight.js-Components/releases
  • compiled JS distributed as NPM packages aurelia plugin: npm i aurelia-bodylight-plugin standard web components: npm i bodylight-components

release notes 1.0.2

  • consolidated docs and tests

release notes 0.3

  • removed unused packages
  • created npm package aurelia-bodylight-plugin - can be installed using
npm -i aurelia-bodylight-plugin

release notes 0.2

  • aurelia templating left as is
  • all elements renamed, do not have bdl- prefix or Bdl* in name,
  • aurelia-web-components patched with 'forcePrefix' option to have consistent prefix for all web components

release notes 0.1

  • aurelia-templating throws 'behaviorInstruction' is undefined - need to patch from \patch directory
  • bdl-markdown-book index and summary attributes are not reflected