micschk/silverstripe-groupable-gridfield

This module allows drag & drop grouping of items in a GridField

Installs: 12 602

Dependents: 3

Suggesters: 0

Security: 0

Stars: 7

Watchers: 4

Forks: 9

Open Issues: 1

Type:silverstripe-vendormodule

1.0.1 2024-11-07 13:06 UTC

This package is auto-updated.

Last update: 2024-11-07 14:13:05 UTC


README

Build Status codecov.io

This module allows drag & drop grouping of items in a GridField. It bolts on top of- and depends on GridFieldOrderableRows for the drag & drop sorting functionality

Screenshot

image

Example application (Block Enhancements module): assign content blocks to block-areas by drag & drop

Installation

Composer

composer require micschk/silverstripe-groupable-gridfield

Requirements (all pulled in by composer)

  • SilverStripe Framework ~4.0
  • SilverStripe GridFieldExtensions

Usage:

$grid = new GridField(
    'ExampleGrid',
    'Example Grid',
    $this->Items(),
    $gfConfig = GridFieldConfig::create()
        ->addComponent(new GridFieldToolbarHeader())
        ->addComponent(new GridFieldTitleHeader())
        ->addComponent(new GridFieldEditableColumns())
        ->addComponent(new GridFieldOrderableRows())
        ->addComponent(new GridFieldFooter())
);
// add Groupable (example from BlockEnhancements module)
$gfConfig->addComponent(new GridFieldGroupable(
        'BlockArea',    // The fieldname to set the Group
        'Area',   // A description of the function of the group
        'none',         // A title/header for items without a group/unassigned
        array(          // List of available values for the Group field
            'BeforeContent' => 'Before Content',
            'AfterContent' => 'Before Content',
        )
    ));

Thank you

TITLE WEB SOLUTIONS for sponsoring the isolation of this module out of Blocks Enhancements