@hpcc-js/dgrid-shim
TypeScript icon, indicating that this package has built-in type declarations

3.1.1 • Public • Published

@hpcc-js/dgrid-shim

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.

Details

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]);

Consuming with WebPack

Should "just work"

Consuming with iife

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>

Consuming with Rollup.js

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:

Exclude dgrid-shim from your bundle

  1. Mark dgri-shim as external in your rollup.config.js file:
    external: [
        "@hpcc-js/dgrid-shim"
    ],
  1. Add the official exported global ID to your rollup.config.js:
    output: {
        ...
        globals: {
            "@hpcc-js/dgrid-shim": "@hpcc-js/dgrid-shim"
        }
    },
  1. 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>

Include dgrid-shim in your bundle

  1. Disable "use strict" injection into your bundle:
    output: {
        ...
        strict: false
    }
  1. Add named exports for the dgrid-shim "commonjs" module:
    plugins: [
        ...,
        commonjs({ }),
        ...
    ]

/@hpcc-js/dgrid-shim/

    Package Sidebar

    Install

    npm i @hpcc-js/dgrid-shim

    Weekly Downloads

    586

    Version

    3.1.1

    License

    Apache-2.0

    Unpacked Size

    4.22 MB

    Total Files

    14

    Last publish

    Collaborators

    • hpcc-js