Getting Started with the KendoReact Sortable
This guide provides essential information about using the KendoReact Sortable package—you will learn how to install the Sortable package, add a Sortable component to your project, style the component, and activate your license.
After completing this guide, you will be able to reproduce the following example.
Setting Up Your React Project
Before you install the KendoReact Sortable, make sure that you have a running React project. The easiest way to set up a React project is to use the Create React App approach that is described in the Get Started with KendoReact article.
Installing the Sortable Package
All KendoReact packages are distributed through npm and offer a similar installation experience. To use the Sortable component, start with the installation of the Sortable npm package and its dependencies. Use Node.js v5.0.0 or later.
npm install --save @progress/kendo-react-sortable @progress/kendo-licensing
Importing the Component
After installing the package, import the Sortable component in the React App.
In the src/App.js
file of your React project, import the Sortable
component from the Sortable package.
// ES2015 module syntax
import { Sortable } from "@progress/kendo-react-sortable";
// CommonJS format
const { Sortable } = require('@progress/kendo-react-sortable');
Using the Component
-
Create a state variable for the sortable items.
const [data, setData] = React.useState([ { id: 1, text: 'item1' }, { id: 2, text: 'item2' }, { id: 3, text: 'item3' } ]);
-
Create a component that you will use for each of the items in the Sortable.
const SortableItemUI = (props) => { const { attributes, dataItem, forwardRef, isActive, style } = props; return ( <div ref={forwardRef} {...attributes} style={{ ...getBaseItemStyle(isActive), ...style }} > {dataItem.text} </div> ); }
-
Add styles for the item based on its
isActive
status.const getBaseItemStyle = (isActive) => ({ height: 70, lineHeight: '68px', fontSize: '16px', textAlign: 'center', outline: 'none', border: '1px solid', cursor: 'move', display: 'block', width: 200, background: isActive ? '#27aceb' : '#bfe7f9', color: isActive ? '#fff' : '#1494d0', borderColor: isActive ? '#27aceb' : '#fff' });
-
Handle the onDragOver) event of the Sortable. Use that event to get the new order of the item after sorting.
const onDragOver = (event) => { setData(event.newState); };
-
To style the Sortable, install and import the Default theme, which is one of the three beautiful themes for KendoReact.
5.1. Install the Default theme package.
npm install --save @progress/kendo-theme-default
5.2. Import the CSS file from the package in
src/App.js
. Add this import before your existingApp.css
import.import '@progress/kendo-theme-default/dist/all.css';
-
Build and run the application by typing the following command in the root folder of your project:
npm start
-
Navigate to http://localhost:3000 to see the KendoReact Sortable component on the page.
Activating Your License Key
Using any of the UI components in the KendoReact library requires either a commercial license key or an active trial license key.
Follow the instructions on the KendoReact My License page to activate your trial or commercial license. You can skip this step if your application already contains a KendoReact license file.
Dependencies
The Sortable package requires you to install the following peer dependencies in your application:
Package Name | Description |
---|---|
react 16.8.2* | Contains the functionality necessary to define React components. |
react-dom | Contains the React renderer for the web. |
@progress/kendo-licensing | Contains the internal infrastructure related to licensing. |