bwu_datagrid 0.1.0-dev.1

Polmyer Element

Welcome to BWU Datagrid #

Star this Repo Pub Package Build Status Coverage Status

BWU Datagrid is an advanced Polymer.dart grid/spreadsheet component #

BWU Datagrid is a Dart port from SlickGrid

Find examples in the wiki.
The source code for the examples was moved to https://github.com/bwu-dart/bwu_datagrid_examples

UPDATE: Nov 25th, 2015

Status #

Polymer compatibility: #

  • Polymer >= 1.0.0: BWU Datagrid versions >= 0.1.0
  • Polymer <= 0.16.4 BWU Datagrid versions <= 0.0.30

Most things are already working: #

  • Basic rendering
  • Scrolling and manual column resize
  • Editing, Custom Editors, Custom Validators
  • The examples work also when built to JavaScript
  • Full keyboard navigation
  • Column resize/reorder/show/hide
  • Column autosizing & force-fit
  • Pluggable cell formatters & editors
  • Support for editing and creating new rows.
  • Advanced detached & multi-field editors with undo/redo support.
  • Background post-rendering for richer cells
  • Configurable & customizable
  • Grouping, filtering, custom aggregators, and more!
  • “GlobalEditorLock” to manage concurrent edits in cases where multiple Views on a page can edit the same data.

Works best in Chrome Better support for other browsers is work-in-progress.

Some highlights (when it's ready): #

(This description is copied from SlickGrid. The Dart port is not there yet)

  • Adaptive virtual scrolling (handle hundreds of thousands of rows with extreme responsiveness)
  • Extremely fast rendering speed
  • Supports jQuery UI Themes (not sure yet)
  • Support for millions of rows

Screenshots #

Composite Editor #

composite_editor_item_details

Custom Editors #

e03_editing_01

Inline Filter, Paging, ... #

e04_model

Tree functionality #

e05_collapsing

Alternative Display #

e08_alternative_display

Async Post Render #

e10_async_post_render

Header row #

header_row

Checkbox row select #

checkbox_row_select

Sort by column ascending/descending #

sort_ascending       sort_descending

0.1.0-dev.1 #

  • upgrade dependency on reflectable to 0.5.2 (currently only 0.5.2 because there is an issue with 0.5.3)
  • fix strong mode hints and warnings.
  • added generic type annotations to a lot of celarations.
  • fixes #132
  • fixes #133
  • fixes #134
  • fixes #135
  • fixes #136
  • fixes #137
  • fixes #138
  • partial fix for #88
  • fixes 141
  • fixex 87 Finally column resize and reorder also works in Firefox

0.1.0-dev.0 #

  • Ported to Polymer 1.0.0-rc.6
  • Styling using Polymer 1.0 DOM modules
  • theming
  • a few smaller bugs fixed found while porting, and probably a few more introduced
  • added type annotations to satisfy strong-mode checks

0.0.22 #

  • fix for breaking change in Dart 1.10.0 in classes.add

0.0.21 #

  • widen dependency constraint on quiver

0.0.20 #

  • use dartformat
  • extend dependency constraint to allow Polymer 0.16.0

0.0.19 (not published) #

  • exclude example/asset/example.css and lib/asset/smoothness/jquery-ui-1.8.16.custom.css from being inlined by the Polymer transformer.
  • Move sparkline to dev_dependency
  • Remove script tags for platform.js and dart_support.js from entry pages because pub build/pub serve adds them automatically (platform.js was also renamed to web_components.js anyway).

0.0.18 #

  • Widen dependency constraints on Polymer
  • !! Polymer 0.15.0 or some Dart update broke drag-n-drop for range selection and row reordering. Drag-n-drop for column reordering still works (doesn't use HTML5 drag-n-drop) I'll have yet to investigate to find the cause.

0.0.17 #

  • Update to Polymer 0.14.0
  • Change DataView row id from String to dynamic

0.0.16 #

  • Add BwuAttached event to simplify remove an re-attach. See also #97

0.0.15 #

  • Possible fix of #97

0.0.14 #

  • Upgrade to Polymer 0.13.0

0.0.13 #

  • Remove the blue background added for debugging purposes only.

0.0.12 #

  • Looks much better in Firefox (haven't changed anything - maybe the new Firefox (31) has better custom element/shadow DOM support or the Polymer polyfills work better on Firefox now (or both) There are still a few issues with Firefox though.
  • Updated to Polymer 0.12.1
  • Add example 11 auto-height
  • Add example 12 fill-browser
  • Add example 13 getItem-sorting
  • Add example header-row
  • Add example checkbox row select
  • Add example spreadsheet
  • Add example grouping

0.0.11 #

  • Add example 10 async post render
  • Uses BWU Sparkline for inline charts
  • Uses Polymer 0.11.0-dev.6

0.0.10 #

  • Nothing (inadvertently skipped)

0.0.9 #

  • Add example 09 row reordering
  • Add drag and drop
  • Add cell selection/range selection
  • Add example 08 alternative display

0.0.8 #

  • #51 add tree functionality (expand/collapse) to the grid

0.0.7 #

  • Fix #48 click header to sort the column leads to drag

0.0.6 #

  • Add example 04_model
  • Add columnpicker
  • Add reorder columns
  • Add filter
  • Add sort by click on the column header
  • Add paging
  • Add top-panel
  • Add force fit columns
  • Add synchronous resize

0.0.5 #

  • add example composite_editor_item_details added
  • add example totals_via_data_provider added
  • upgrade to Polymer 0.10.0-pre.13

0.0.4 #

  • add example 03a_compound_editors added
  • add example 03b_editing_with_undo added
  • add example 07_events
  • add example 14_highlighting

0.0.3 #

  • add basic editing support
  • add example 03_editing
  • fix examples to run when built to JavaScript and are available on GitHub Pages

0.0.2 #

  • fix formatters
  • add example 02_formatters

0.0.1 #

  • can display data
  • can scroll
  • can resize columns
  • add plugin bwu_auto_tooltips
  • add example-autotooltips

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  bwu_datagrid: ^0.1.0-dev.1

2. Install it

You can install packages from the command line:

with pub:


$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:bwu_datagrid/bwu_datagrid.dart';
  
Awaiting analysis to complete.

Admin