API Reference
Query Parameters
List of query parameters, that can be added to the src attribute of the <iframe> as described in the Quick Start guide. All parameters are optional, except otherwise noted.
| Name | Value | Description |
|---|---|---|
clientID | string | Required |
sessionID | string | ... |
persistence | one of "none", "local", "cloud" | ... |
JS Integration Script
WARNING
The JS integration is still in an early phase of development and the API might change in many ways.
Installation
<script defer src="https://unpkg.com/@twigbit/co2-calculator@0.5.0"></script>
There is also a modern version which can be loaded to save some bandwith in modern browsers supporting ES modules:
<script type="module">
import CO2Calculator from "https://cdn.skypack.dev/@twigbit/co2-calculator@0.5.0";
</script>
When using this approach, make sure you don't load the UMD bundle by adding the nomodule attribute to the first <script> tag.
new CO2Calculator()
Signature:
constructor(opts: InitOptions);
interface InitOptions {
client_id: string;
origin?: string;
}
Example:
const co2calc = new CO2Calculator({
client_id: "123456",
origin: "https://demo.co2-calculator.twigbit.dev"
})
connect
Connects this instance to a specific <iframe> element. This is necessary, before you can call any of the other functions or receive events.
Signature:
connect(el: HTMLIFrameElement): void;
Example:
co2calc.connect(document.getElementById("co2-calculator"));
addEventListener
Registers an event listener for the provided event type.
Signature:
addEventListener(type: string, listener: EventListener): void;
interface EventListener {
(this: Window, event: E): void;
}
Example:
co2calc.addEventListener("save", (ev) => {
// do something with the data: ev.data
console.log(ev.data);
});
Event types:
| Type | Data | Description |
|---|---|---|
"connect" | none | Triggered after calling connect(), when the calculator finished loading and checked the client id and origin. |
"save" | ev.data | Triggered, when the user completed the footprint calculation and pressed "save". |
removeEventListener
Removes a previously registered event listener for the provided event type.
Signature:
removeEventListener(type: string, listener: EventListener): void;