Git Product home page Git Product logo

lazy-object-view's Introduction

lazy-object-view

lazy-object-view is a simple JS object tree visualizer/explorer that adheres to "what you see is what's in the DOM". lazy-object-view is written in Typescript.

Why

lazy-object-view is intended to be a performant alternative to existing JSON visualization packages.

Status

Build Status Coverage Status

Browser Compatability

Browser Result
Chrome 71 on Mac 1.1.0 Tested Working
Firefox 64 on Mac 1.1.0 Tested Working
Safari 12 on Mac 1.1.0 Tested Working

Feel free to let me know of any compatability issues or issue pull requests to fix.

Usage

lazy-object-view is available as an npm package. Install this in npm with npm i lazy-object-view.

lazy-object-view has a react wrapper @ react-lazy-object-view

To use in a Typescript project simply import and construct a new LazyObjectView object.

import LazyObjectView from 'lazy-object-view'

const lazyObjectView = new LazyObjectView();
const targetElement = document.getElementById("root");
if (targetElement !== null) {
    lazyObjectView.render(targetElement, { "test": { "nested_key": "nested_value" }});
}

lazy-object-view is exported using webpack's umd (universal module definition).

Options

When calling render you can pass an options object as an optional third parameter with the following fields. All suboptions of the options object are optional.

Option Type Description
useRootElement boolean Setting this to true will collapse the entire object into a single root node.
rootName string If useRootElement is set to true, this will optionally set the name of the root node element. If nothing is specified then this will default to root.
showLoadingIndicator boolean When set, when expanding nodes this will attempt to show a loading indicator. Note that this will add an artificial 10ms delay to rendering.
collapseStringsOver number Will collapse strings over this length and show an ellipses (...) with the amount of remaining text. These ellipses can be expanded by clicking.

Screenshots

screenshot

lazy-object-view's People

Contributors

ameerkat avatar

Watchers

 avatar  avatar

lazy-object-view's Issues

Cross browser testing

Consider cross browser testing to ensure this works in the dreaded IE and on mobile browsers, etc.

Add an examples folder with usage examples

Add an examples folder with some concrete examples that the user can play around with. Will be more compelling than a screenshot. We could also use this to show the comparative performance benefits by using large generated objects.

Migrate the spinner test to use fake timers

E.g. in lolex, spent some time trying this to no avail. Ended up using a sleep function. The main issue is that there is a risk that the check for the spinner will happen too late and the rendering will have happened therefore the spinner check will fail.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.