0.2.0 • Published 7 years ago

pdb-web-components v0.2.0

Weekly downloads
1
License
Apache-2.0
Repository
github
Last release
7 years ago

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

namedefault valueaccepted valuesinformationDOM attributewritable
pdbidnullvalid PDB ID4 character string corresponding to an existing PDB IDyesyes

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

namedefault valueaccepted valuesinformationDOM attributewritable
datanullobjectobject used to access information about the PDB entrynoyes
orientation'horizontal'any of horizontal or verticalorientation of the logosyesyes
size36any of 36, 48, 64, or 128size of the logosyesyes
include['PrimaryCitation', 'Taxonomy', 'Expressed', 'Experimental', 'Protein', 'NucleicAcid', 'Ligands']any one or multiple value part of the default set of valueslist of rendered logosyesyes
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

namedefault valueaccepted valuesinformation
--theme-color#81C16Eany valid CSS value for colorcolor applied to the background of the logos