• Stars
    star
    101
  • Rank 336,482 (Top 7 %)
  • Language
    JavaScript
  • Created about 8 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

SlickGrid fork rewrites for ES6 for use under npm and Babel / Rollup builds

SlickGrid ES6

npm version npm downloads gzip size

This is a clone of the two biggest forks of SlickGrid - 6pac fork and X-SlickGrid, both of which have been converted to align with this project's goals and build strategy, both ready to be used out of the box[1]

NEW See it running in a create-react-app here: https://dimitarchristoff.github.io/slickgrid-example/

image

The main goals are:

  • Make it easy to consume in a modern ES2016 codebase
  • Transpile down to ES5
  • Keep the existing SlickGrid API for both grids
  • Make dependency consumption implicit and not reliant on globals
  • Remove reliance on Slick. object namespace, everything just exports and needs to be imported, no more Slick.Editors etc.
  • Remove jquery-ui from deps list - replaced with Interact.js

[1] Yes, there are some compatibility issues, such as drag and reorder of columns with X-SlickGrid's frozenRows from frozen to none.

NB: Going forward, the 6pac version may be dropped.

Default Example Styles

Custom Styles

Installing and use

$ npm i slickgrid-es6 --save

In code:

import { Grid, Data, Formatters } from 'slickgrid-es6';
import { options, columns } from './grid-config';

const gridColumns = [{
  id: "%", 
  name: "% Complete", 
  field: "percentComplete", 
  formatter: Formatters.PercentCompleteBar
}, ...columns]; // some column def

const dataView = new Data.DataView();
dataView.setItems([ ... ]); // some data

const grid = new Grid('someid', dataView, columns, options);

Full list of exports you can de-structure:

  • Slick - returns the original namespace (Slick.core - events etc)
  • Grid - returns 6pac's SlickGrid
  • FrozenGrid - returns X-SlickGrid (frozen rows/columns)
  • Data - returns the Slick.Data model
  • Plugins - returns the default plugins converted/tweaked
  • Editors - returns the original pre-defined default editors
  • Formatters - returns the original pre-defined default cell formatters

To import stylesheets in SCSS:

// some vars like $grid-border-color: red;, see slick.grid.variables.scss

@import "~slickgrid-es6/dist/slick.grid.scss";
@import "~slickgrid-es6/dist/slick-default-theme.scss";
...

Examples and development

Currently, the examples are being ported. You can start a webpack-dev-server with hot reload like this:

$ npm start

Then point your browser to http://localhost:8888/.

To create a new build for dist, run:

$ npm run build

Contributing

Any pull requests and help with this are appreciated - both from conversion stand point and from SlickGrid bug fixes or feature additions.

Changelog

3.0.3

3.0.2

  • SCSS tweaks

3.0.0

  • Moved to SCSS

2.0.4

  • Fixed critical bug with Data and setFilter

2.0.3

  • Fixed query-ui legacy exception on grid.destroy()

2.0.2

  • Fixed critical break in Interact.js with PointerEvent and new Chrome 51+

2.0.1

  • Fixed .npmrc to still ship images for custom builds

2.0.0

  • Skipped 1.0.0 due to previously published tag
  • Changed webpack build
  • BREAKING: deprecated UMD exports
  • BREAKING: deprecated reliance on globals (eg. Slick.Formatters)
  • Fixed some formatters and plugins
  • Slight tweaks to LESS files

0.4.1

  • Enabled grouped headers code, including resize and reorder

0.3.0

  • Added X-SlickGrid to exports, available via Slick.FrozenGrid or import { FrozenGrid as Grid } from 'slickgrid-es6'
  • Added validator support for some editors
  • Fixed plugins yet to be converted

0.2.3

  • moved to using slick.frozen.grid.js from X-SlickGrid for FrozenRows/Columns feature, converted to ES6 and with deprecated jquery-ui
  • Styling fixes, moved to box-sizing: border-box for .slick-cell
  • Updated examples to use React but grid has no dependency on React

Changes completed as per 0.1.1:

The goal is to keep the grid API of the 6pac repository unchanged. Howe

  • converted to ES6
  • dropped IE8 support
  • jquery 3.1.0
  • dropped jquery-ui (replaced with interact.js)
  • dropped event.drag (replaced with interact.js)
  • move to LESS (SCSS soon)

Original mleibman README follows:

Find documentation and examples in the wiki.

Welcome to SlickGrid

SlickGrid is an advanced JavaScript grid/spreadsheet component

Some highlights:

  • Adaptive virtual scrolling (handle hundreds of thousands of rows with extreme responsiveness)
  • Extremely fast rendering speed
  • Supports jQuery UI Themes
  • Background post-rendering for richer cells
  • Configurable & customizable
  • Full keyboard navigation
  • Column resize/reorder/show/hide
  • Column autosizing & force-fit
  • Pluggable cell formatters & editors
  • Support for editing and creating new rows.
  • Grouping, filtering, custom aggregators, and more!
  • Advanced detached & multi-field editors with undo/redo support.
  • “GlobalEditorLock” to manage concurrent edits in cases where multiple Views on a page can edit the same data.
  • Support for millions of rows

More Repositories

1

pre-loader

pre-load images from arrays or DOM lazy-loading.
JavaScript
81
star
2

primish

Tiny OOP JavaScript Class constructor sugar in the style of MooTools
JavaScript
19
star
3

loadr

Random loading messages for the browser or node
CSS
15
star
4

doctor

Doctor, .MD to living HTML docs convertor for node.js
CSS
13
star
5

mooTagify

Tag input class for MooTools - lets you edit and auto-complete tag lists in an input.
JavaScript
11
star
6

jest-static-stubs

Stubbing imported image assets
JavaScript
10
star
7

mootstrap-scrollspy

bootstrap scrollspy port to mootools
JavaScript
9
star
8

StrongPass

Password Strength Checker for mootools
JavaScript
9
star
9

mooSelecta

mootools select element replacement as a styling enhancement
JavaScript
8
star
10

mooGrowl

Growl style notifications
JavaScript
7
star
11

slickgrid-example

A full implementation of slickgrid-es6 with many options in a create-react-app example
JavaScript
7
star
12

data-mootools

An element data- attribute API for Mootools
JavaScript
5
star
13

epik

epitome 2 for primish and lodash, no depenency on mootools
JavaScript
4
star
14

config

bash and git config files
Shell
4
star
15

Modal

Modal Window and Bootstrap for mootools
JavaScript
4
star
16

euler.js

A fun project solving Project Euler.net problems in minimal JavaScript, optimised for size and obfuscation :)
JavaScript
4
star
17

drip

some canvas experiment
JavaScript
3
star
18

spritzy

spritz clone for funz.
JavaScript
3
star
19

react-outerclick

HOC wrapper for React Components (class) to handle outside clicks with a frugal document event strategy.
JavaScript
3
star
20

cp

currency pair demo via epik
JavaScript
2
star
21

mooPlaceholder

placeholder functionality for older browsers
JavaScript
2
star
22

slickgrid-bare

A modern take on slickgrid that focuses only on core of the grid without plugins and editors
JavaScript
1
star
23

irspy

watch based less compiling strategy
JavaScript
1
star
24

Epitome-todo

Implementation of todo app in Epitome for MooTools
JavaScript
1
star
25

quakelive

my quakelive configs
JavaScript
1
star
26

timeplunk

tiny timeline picker for d3
JavaScript
1
star
27

clintish

cloned clint with primish
JavaScript
1
star
28

tippable

mootools tippable class
JavaScript
1
star
29

grunt-doctor-md

An extension of templates for doctor-md that allows editable and runable javascript examples
JavaScript
1
star
30

formage

Forms in MooTools made easy.
JavaScript
1
star
31

baseBox

mootools modal box class with CSS3 transitions(2d scale)
JavaScript
1
star
32

Storage

Storage api class as a standalone or mixin (mootools)
JavaScript
1
star
33

slickgrid-extras

Plugins, Editors and Formatters for slickgrid-es6
JavaScript
1
star
34

mootstrap-button

Like Twitter's Bootstrap Button.js but for Mootools.
JavaScript
1
star