1.0.6 • Published 3 years ago

handsontable-6.2.2-celltype-key-value v1.0.6

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

handsontable-6.2.2-celltype-key-value

npm.io

Handsontable(version 6.2.2) plugin allowing to have a key-value pair as a data type. It's built upon the builtin autocomplete feature with some small tweaks to make it work with such use-case.

Demo

Installation

npm i handsontable-6.2.2-celltype-key-value

Usage

Use it as a column type and provide the required settings:

import 'handsontable-6.2.2-celltype-key-value' // Import the module to register the extensions

const settings = {
  columns: [
    {
      type: 'key-value',
      data: 'status', // The field containing the key value in your data
      // List of source items
      source: [
        {
          id: 1,
          name: 'Ready',
        },
        {
          id: 2,
          name: 'Cancelled',
        },
        {
          id: 3,
          name: 'Done',
        },
      ],
      keyProperty: 'id', // The field containing the key value in your items
      valueProperty: 'name', // The field containing the display value in your items
    },
  ],
};

The source parameter also accepts a function for loading items asynchronously:

const settings = {
  columns: [
    {
      type: 'key-value',
      data: 'status',
      source: function(_query, process) {
        const r = [
          {
            id: 1,
            name: 'Ready',
          },
          {
            id: 2,
            name: 'Cancelled',
          },
          {
            id: 3,
            name: 'Done',
          },
        ];
        setTimeout(() => process(r), 1000); // Call the `process` callback with your items.
      },
      keyProperty: 'id',
      valueProperty: 'name',
    },
  ],
};

Limitations

  • The sort is done on the underlying value, not the displayed one (unless you provide a custom compare function).

Reference

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago