db-viewer-component
v4.4.9
Published
A web component for showing db schemas
Downloads
11
Readme
db-viewer-component
Database schema viewer web component. This web component can be used to view interactive database diagrams. See an example.
Note: This component doesn't work on old browsers that don't support web components.
Usage
In the case of webpack, import the package in your main js file.
import 'db-viewer-component';
in html:
<db-viewer src="/awesome-schema.json"></db-viewer>
The schema for viewer can be specified either with src attribute as shown above or by schema property of db-viwer html object like this:
document.querySelector('db-viewer').schema = awesomeSchema;
The json schema for db-veiwer schema can be found here. An example of schema can be found here.
A simple usage example can be found here. An example usage with the React can be found here. An example usage with the Svelte can be found here.
API
Attributes
Name | Description
--- | ---
src
| Viewer-schema url. It should follow this json schema. An example of schema can be found here.
disable-table-movement
| If this attribute exist. Table movement will be disabled.
viewport
| Viewport positioning strategy on initial load. Can be "noChange", "centerByTablesWeight", "center" or "centerByTables".
Events
Name | Description | event.detail
--- | --- | ---
tableClick
| Clicking on a table. | {tableName, pos: {x, y}, width, height}
tableDblClick
| Double clicking on a table. | {tableName, pos: {x, y}, width, height}
tableContextMenu
| Right clicking on a table. | {tableName, pos: {x, y}, width, height}
tableMove
| Moving table. | {tableName, pos: {x, y}, width, height}
tableMoveEnd
| Moving table ends. | {tableName, pos: {x, y}, width, height}
relationClick
| Clicking on a relation. | {fromTable, toTable, fromColumn, toColumn}
relationDblClick
| Double clicking in a relation. | {fromTable, toTable, fromColumn, toColumn}
relationContextMenu
| Right clikc on a realtion. | {fromTable, toTable, fromColumn, toColumn}
zoomIn
| Zooming in view |
zoomOut
| Zooming out view |
load
| Schema file has been successfully fetched from server. |
ready
| Db viewer component has been loaded. |
viewportClick
| Clicking on the viewport. | {x, y}
Properties
Name | Description
--- | ---
schema
| Get and set schema for viewer. This will override the html src attribute. Note: src attribute accepts the address of viewer-schema and schema property accepts javascript object as viewer-schema. The viwer-schema should follow this json schema. Note the only way that db-viewer can alter the schema is by adding position of tables.
src
| Set viewer-schema url. It should follow this json schema. An example of schema can be found here. It has the same effect as the src attribute.
scrollLeft
| Get and set scrolling position from left.
scrollTop
| Get and set scrolling position from top.
disableTableMovement
| Disables table movement if true.
viewport
| Viewport positioning strategy on initial load. Can be "noChange", "centerByTablesWeight", "center" or "centerByTables".
Methods
Name | Description | Arguments
--- | --- | ---
getTablePos
| Get position of table. | table name
setTablePos
| Set position of table. | table name, x cord, y cord
zoomIn
| Zoom in view. |
zoomOut
| Zoom out view. |
getZoom
| Get amount of zoom |
Styles
Styles can be applied by the following CSS variables.
Name | Description
--- | ---
--table-boarder-color
| Table border color
--viewer-background-color
| Viewer background color
--relation-color
| Relation color |
--relation-color-highlight
| Relation color on mouse hover
--font-family
| Font
--color
| Text color
To run
- yarn
- yarn start
- Navigate to http://localhost:9998