Skip to content

lucania-software/vision

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vision

A toolbox for developing dynamic web pages fast.

Provides a set of "Reference" classes to manipulate UI based on state changes.

Example of creating a greeting display based on a value a user types into a name input:

Please note that this relies on an input element with the ID "nameInput" and a text element with the ID "greetingDisplay" existing in your page's HTML.

const Vision = /** @type {import("@lucania/vision")} */ (window["Vision"]);

window.addEventListener("load", function () {
    // Retrieve your HTML elements
    const nameInput = document.getElementById("nameInput");
    const greetingDisplay = document.getElementById("greetingDisplay");

    // Create your references
    const name = new Vision.InputValueReference(nameInput);
    const greeting = new Vision.TextContentReference(greetingDisplay);

    // Indicate that our greeting should follow the value of our "name" with the specified transform function.
    greeting.follow(name, function (name) {
        return `Hello ${name}!`;
    });

    // Because our "greeting" is a "TextContentReference", it wraps the "textContent" property of the element the reference was created with (greetingDisplay).

    // Because our "name" is an "InputValueReference", it wraps the "value" property of its element (nameInput). When text is inputted "nameInput", this reference will reflect that.
});

About

A toolbox for developing dynamic web pages fast.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published