All Projects → hubgit → vege-table

hubgit / vege-table

Licence: MIT license
A data table that grows, with leaves

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to vege-table

Hot Table
Handsontable - Best Data Grid Web Component with Spreadsheet Look and Feel.
Stars: ✭ 114 (+293.1%)
Mutual labels:  polymer, data-table
react-smart-data-table
A smart data table component for React meant to be configuration free
Stars: ✭ 80 (+175.86%)
Mutual labels:  data-table
Vaadin Date Picker
The Web Component providing a date selection field with scrollable month calendar. Part of the Vaadin components.
Stars: ✭ 158 (+444.83%)
Mutual labels:  polymer
Polymer Webpack Loader
WebPack Loader for Polymer Web Components
Stars: ✭ 192 (+562.07%)
Mutual labels:  polymer
Polymer Analyzer
Moved to Polymer/tools monorepo
Stars: ✭ 162 (+458.62%)
Mutual labels:  polymer
Storybook
📓 The UI component explorer. Develop, document, & test React, Vue, Angular, Web Components, Ember, Svelte & more!
Stars: ✭ 67,445 (+232468.97%)
Mutual labels:  polymer
Gwt Polymer Elements
Polymer Web Components for GWT. A collection of Material Design widgets for desktop and mobile.
Stars: ✭ 153 (+427.59%)
Mutual labels:  polymer
mc-viewer
🌐🏠 A Web Component for visualizing Minecraft schematics
Stars: ✭ 25 (-13.79%)
Mutual labels:  polymer
ConsoleTools
A set of tools and "controls" for the .net Console.
Stars: ✭ 67 (+131.03%)
Mutual labels:  data-table
Nyaovim
Web-enhanced Extensible Neovim Frontend
Stars: ✭ 2,166 (+7368.97%)
Mutual labels:  polymer
Polymer Skeleton
💀 Skeleton for Polymer 3 app with Webpack, PostCSS and Service Workers ready.
Stars: ✭ 185 (+537.93%)
Mutual labels:  polymer
Lrnwebcomponents
@lrnwebcomponents Monorepo for NPM based element definitions
Stars: ✭ 166 (+472.41%)
Mutual labels:  polymer
webapp-nordic-thingy
Thingy:52 reference web app
Stars: ✭ 54 (+86.21%)
Mutual labels:  polymer
Dspp Keras
Protein order and disorder data for Keras, Tensor Flow and Edward frameworks with automated update cycle made for continuous learning applications.
Stars: ✭ 160 (+451.72%)
Mutual labels:  polymer
obvi
A Polymer 3+ webcomponent / button for doing speech recognition
Stars: ✭ 54 (+86.21%)
Mutual labels:  polymer
Origami
Angular + Polymer
Stars: ✭ 158 (+444.83%)
Mutual labels:  polymer
Scroll Js
Light cross-browser scroller that uses native javascript
Stars: ✭ 179 (+517.24%)
Mutual labels:  polymer
Polyserve
Moved to Polymer/tools monorepo
Stars: ✭ 194 (+568.97%)
Mutual labels:  polymer
jekyll-polymer
A material theme for Jekyll built with Polymer
Stars: ✭ 68 (+134.48%)
Mutual labels:  polymer
iron-swipeable-pages
[Polymer 1.x] Element that enables switching between different pages by swiping gesture.
Stars: ✭ 51 (+75.86%)
Mutual labels:  polymer

vege-table

Description

vege-table is a custom element, built with Polymer, that provides a web interface for building a table of data.

It does this by adding items (seeds) to a collection, then adding properties (leaves) to those items.

Each leaf is simply a JavaScript function, wrapped in a promise. This allows the properties of items to be fetched asynchronously, and for leaves with dependencies to be chained together.

Once the table of data has been built, the data and table description can be exported and easily published online, viewed in the same interface but without the ability to update the data.

Status

Pre-alpha. To create vege-tables you need to be able to write functions in JavaScript, set up some helper tools, and deal with things going unexpectedly wrong.

Getting started

The easiest way to get started is to use the vege-table web interface to create projects.

Alternatively - or if you'd like to help with development - follow the full instructions below.

Usage

  1. Make sure you have Bower installed.
  2. Create a new project folder, and run bower init.
  3. Install vege-table and its dependencies: bower install vege-table --save
  4. Create an index.html file.
  5. Include the Polymer platform: <script src="bower_components/platform/platform.js"></script>
  6. Use an HTML import to import the vege-table element: <link rel="import" href="bower_components/vege-table/vege-table.html">
  7. Add the vege-table element to the page: <vege-table db="your-database-name"></vege-table>. Note that the “db” value should be a unique database identifier for each project.
  8. Start a web server in the project folder: python -m SimpleHTTPServer 9000 and open http://localhost:9000/ in a web browser (ideally the very latest version of Chrome or Firefox).

Now you can add some seeds and some leaves to create your table.

Important notes

There are several important things to bear in mind:

  • There are bugs (both known and unknown) - this is still a very early release, and it uses some technologies that are not yet fully stable.
  • To get maximum performance, switch on Object.observe: in Chrome 34, this is done by enabling “experimental JavaScript” in chrome://extensions - without Object.observe, polling objects for changes can get slow when there are a lot of items.
  • Only some services add the CORS Access-Control-Allow-Origin header to their resources, so often resources cannot be fetched directly. To work around this (and providing benefits in other ways, such as caching), pass all request through cache-proxy. View source on an example table to see how to use Request.prototype.prepare to manipulate the URL before the request is sent.
  • By default, IndexedDB (where the data is stored) is allowed to use up to 10% of the free disk space. After that, properties may start silently going missing and things may stop saving. TODO: a browser extension will help with this.
  • There’s very little error reporting yet, so keep the JavaScript console open to watch for progress and errors. ES6 Promises like to swallow exceptions, so sometimes nothing will be reported.

Colophon

Inspirations

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].