This package is part of the mono repository "@hpcc-js" (aka Visualization Framework), for more information including quick start, demos and tutorials, please visit the main page on GitHub: hpcc-systems/Visualization.
The dgrid-shim package "wraps" a subset of the dojo grid functionality in a WebPack bundle to simplify its inclusion in modern JavaScript libraries / Web Applications.
Currently it exposes the following items:
- Deferred
- domConstruct
- Memory
- QueryResults
- Grid = declare([OnDemandGrid, Keyboard, Selection, ColumnResizer, CompoundColumns, GridHelper]);
- PagingGrid = declare([_Grid, Pagination, Keyboard, Selection, ColumnResizer, CompoundColumns, GridHelper]);
Should "just work"
Simply include the package in your html file as normal (it has a global ID of "@hpcc-js/dgrid-shim"):
<head>
...
<script src="node_modules/@hpcc-js/dgrid-shim/dist/index.min.js"></script>
<script>
var dgridShim = window["@hpcc-js/dgrid-shim"];
</script>
</head>
<body>
...
<script>
var myGrid = new dgridShim.PagingGrid();
...
</script>
...
</body>
Since Rollup.js has no native support for non es6 modules (the rollup-plugin-commonjs
simply converts commonjs exports to es6 for example) and part of the es6 specifications dictates that modules should "use strict", which will cause issues with libraries that rely on non strict features.
As dgrid-shim is dependent on DGrid and Dojo which uses non "strict" code, it is ultimately impossible to use Rollup.js to create bundles which include dgrid-shim (without forcing Rollup.JS to not include "use strict"). Here are two suggested workarounds:
- Mark dgri-shim as external in your rollup.config.js file:
external: [
"@hpcc-js/dgrid-shim"
],
- Add the official exported global ID to your rollup.config.js:
output: {
...
globals: {
"@hpcc-js/dgrid-shim": "@hpcc-js/dgrid-shim"
}
},
- Manually include dgrid-shim as an iife source file in your html page:
<head>
...
<script src="node_modules/@hpcc-js/dgrid-shim/dist/index.min.js"></script>
</head>
- Disable "use strict" injection into your bundle:
output: {
...
strict: false
}
- Add named exports for the dgrid-shim "commonjs" module:
plugins: [
...,
commonjs({ }),
...
]