Coder Social home page Coder Social logo

arturformella / handsontable-key-value Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kpi-intelligence/handsontable-key-value

0.0 0.0 0.0 115 KB

Handstontable plugin to handle key-value pair data type.

License: MIT License

JavaScript 100.00%

handsontable-key-value's Introduction

handsontable-key-value

Handsontable 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.

Installation

npm i handsontable-key-value

Usage

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

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

const settings = {
  columns: [
    {
      type: 'key-value',
      filter: false, // Same parameter as in `autocomplete`
      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',
      filter: false,
      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',
    },
  ],
};

Filters

We also provide a custom implementation of the Filters plugin that works with key-value columns. Enable it in your settings:

const settings = {
  // filters: true <-- Remember to disable the official filters plugin
  filtersKeyValue: true,
}

All the options provided by the official plugin are available.

Limitations

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

handsontable-key-value's People

Contributors

arturformella avatar frankie567 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.