1.1.3 • Published 6 years ago

hbp-react-ui v1.1.3

Weekly downloads
1
License
ISC
Repository
github
Last release
6 years ago

hbp-react-ui

A library of useful user-interface components built with React and MobX.

They are written in ES6 and require Babel to transpile, with the following (order-sensitive) parameters:

    "presets": [
        "es2015",
        "react" // Transpile React components to JavaScript
    ],
    "plugins": [
        "transform-decorators-legacy",
        "transform-class-properties" // This order is important: last-to-first
    ],

Bootstrap is also required for styling and icon fonts.

Install:

npm install -D hbp-react-ui

Logging:

To enable console logging, add the following to the global namespace:

        <script>

        _hbp_debug_ = true; // Enable console logging for all components

        </script> 

Contents:

  • DatePicker
  • DynamicList
  • InputText
  • Select
  • Tree

The components use common styling to ensure visual compatibility e.g. height & width, between Chrome and Firefox.

Please see the detailed descriptions of the individual components below...


DatePicker

A simple wrapper for <input type='date'/>.


DynamicList

Build a list of strings from a text selection or text input, optionally notifying a sink of updates.

Each item in the list has a button to delete itself.

Note: Uses name-value pair objects instead of primitive data types e.g. { name: 'Male', value: 'M' }. This allows for a human-readable display form and an alternative identifier for storage.


InputText

A simple wrapper for <input type='text'/>.


Select

Allows an item to be selected from a list, optionally notifying a sink

Note: Uses name-value pair objects instead of primitive data types e.g. { name: 'Male', value: 'M' }. This allows for a human-readable display form and an alternative identifier for storage.


Tree

Build a hierarchical tree with expandable/collapsible nodes. Each node consists of a name, a value and optional children. Clicking on a node notifies an event sink of the selected value.

import { Tree } from 'hbp-react-ui';

class ShowMe extends React.Component {
    render() {
        return (
            <div>
                <Tree
                    path={'/Category/Item'}
                    onSelect={this.onSelect.bind(this)} 
                    data={this.data}
                />
            </div>
        );
    }

    onSelect(path, node) {
        console.log(`onSelect: ${path} - {name: '${node.name}', value: '${node.value}'}`);
    }
}

The tree is initialised with a JSON data structure, data, of the following form:

    {
        "name": "olfactory nerve",
        "value": "MBA:840",
        "children": [
            {
                "name": "olfactory nerve layer of main olfactory bulb",
                "value": "MBA:1016"
            },
            {
                "name": "lateral olfactory tract, general",
                "value": "MBA:21",
                "children": [
                    {
                        "name": "lateral olfactory tract, body",
                        "value": "MBA:665"
                    }
                ]
            },
            {
                "name": "anterior commissure, olfactory limb",
                "value": "MBA:900"
            }
        ]
    }, etc...

The component recurses down the structure, creating <ul>'s with <li>'s. Each <li> contains an <a> and optionally another child <ul>.


npm.io

1.1.3

6 years ago

1.1.2

6 years ago

1.1.1

7 years ago

1.0.9

7 years ago

1.0.8

7 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago