pdb-web-components

    0.2.0 • Public • Published

    PDB web components

    in development

    A standard web component (v1) implementation of the PDB components (PDB Component Library)

    Usage

    Examples

    <pdb-prints>
      <pdb-data-loader pdbid="1cbs">
    </pdb-prints>
    <pdb-prints size="64" orientation="vertical" style="--theme-color: transparent;">
     <pdb-data-loader pdbid="2cbs">
    </pdb-prints>

    Use with custom namespace

    Only needed if pdb-prints or pdb-data-loader names clash with an other existing Custom Element.

    import {PdbDataLoader, PdbPrints} from 'pdb-web-components';
     
    // If `data-loader` elements also namespaced, need to pass
    // new name to PdbDataLoader to use it correctly
    PdbDataLoader.dataLoaderElementName = 'namespaced-data-loader';
     
    // Register the Custom Elements
    customElements.define('namespaced-pdb-data-loader', PdbDataLoader);
    customElements.define('namespaced-pdb-prints', PdbPrints);

    And then in the HTML, use like so:

    <namespaced-pdb-prints>
      <namespaced-pdb-data-loader pdbid="1cbs">
    </namespaced-pdb-prints>

    Compatibility

    This element assumes support for at least ES2015. To support older browsers you might need to transpile the code you use down to the version you are planning on supporting.

    You might need to use a polyfill for browsers not supporting Custom Elements v1 (not v0). See webcomponents.js or SkateJS Web Components.

    Check in the test folder for example of simple usage with optional loading of the polyfill.

    List of components included

    They work independently from one another, so you can pick and choose which ones to load and use in your page.

    pdb-data-loader

    Not a visible element. Use to retrieve data from the PDB API.

    Generates a data-loader element with the correct source element to get data from the PDB API for the PDB entry specified.

    pdb-prints

    Visible element. Only displays data.

    Generates the visual representation of the data passed to the data property or coming from a load event bubbling from lower in the DOM tree.

    Visual representation can be modified from the public API of the component (see after)

    API

    pdb-data-loader

    Properties

    name default value accepted values information DOM attribute writable
    pdbid null valid PDB ID 4 character string corresponding to an existing PDB ID yes yes

    Events

    none, but the data-loader component generated as its child will dispatch bubbling events (see data-loader)

    CSS custom properties

    none

    pdb-prints

    Properties

    name default value accepted values information DOM attribute writable
    data null object object used to access information about the PDB entry no yes
    orientation 'horizontal' any of horizontal or vertical orientation of the logos yes yes
    size 36 any of 36, 48, 64, or 128 size of the logos yes yes
    include ['PrimaryCitation', 'Taxonomy', 'Expressed', 'Experimental', 'Protein', 'NucleicAcid', 'Ligands'] any one or multiple value part of the default set of values list of rendered logos yes yes
    exclude [] same than for `include' property used to access information about the PDB entry list of non-rendered logos yes yes

    Note: the list of logos rendered is the include set minus the exclude set.

    Events

    none

    CSS custom properties

    name default value accepted values information
    --theme-color #81C16E any valid CSS value for color color applied to the background of the logos

    Install

    npm i pdb-web-components

    DownloadsWeekly Downloads

    5

    Version

    0.2.0

    License

    Apache-2.0

    Last publish

    Collaborators

    • 4ndr01d3
    • aurel-l