# with npm
npm i @retikolo/drag-drop-content-types
# with yarn
yarn add @retikolo/drag-drop-content-types- Add this to your
config/plugins.jsfile (create it, if it doesn't exist yet):
module.exports = {
// ...
'drag-drop-content-types': {
enabled: true
}
}- Run
npm run buildand (re)start the app
Go to Settings -> Drag Drop Content Type -> Configuration:
- Specify how the rank field is called in your content-types. Default value is
rank. - Add the
rankfields to your content type. With the default value this would berank(Number (Number format: integer)). - (Give permissions for the
rankfield to roles such as "Editor" if needed).
- Add "Default sort attribute"
rank, "Default sort order"ASCand remove therankattribute from the view using "Configure the view" button. - You can also set a
titlevalue that is displayed in the menu instead of the default. - If you want a second field to be displayed in the drag and drop menu, you can add s
subtitlein the settings. The subtitle should either be:
- A field containing a string or number or something like that.
- It can be an object (like a relation), but it must have the
titlefield specified in the settings (it won't recognize automatically!).
Assuming you go with the default settings, you can make a request on the following url to get the ordered items:
http://localhost:1337/api/foo?sort=rank:asc
Due to changes in the Strapi core, the plugin causes a full page reload after sorting. This is a known issue, and will be fixed ASAP if possible.
Feel free to fork and make pull requests to this plugin. All input is welcome - thanks for all contributions so far!
I you like this project, please give it a star. Maybe this will help it getting integrated to strapi's core some day 😊.

