locomotivemtl/charcoal-contrib-property-filter

Charcoal service provider for a collection filtering widget that uses model properties as filters.

0.1.2.1 2020-01-21 20:08 UTC

This package is auto-updated.

Last update: 2024-04-22 23:46:47 UTC


README

License Latest Stable Version Code Quality Coverage Status Build Status

A Charcoal service provider my cool feature.

Table of Contents

Installation

The preferred (and only supported) method is with Composer:

$ composer require locomotivemtl/charcoal-contrib-property-filter

Dependencies

Required

Configuration

Include the property-filter module in the projects's config file. This will provide everything needed for charcoal-contrib-property-filter to work properly. No need for metadata/views/action/routes path etc.

{
    "modules": {
       "charcoal/property-filter/property-filter": {}
    }
}

Usage

charcoal-contrib-property-filter can be used as a dashboard widget to filter all the filterable widgets included in the template. Define a structure like this one 👇 in a dashboard widget to create filters.

{
    "filters": {
        "type": "charcoal/property-filter/widget/property-filter",
        "property_filters": [
            "taxonomy_1",
            "taxonomy_2",
            "taxonomy_3"
        ],
        "properties_options": {
            "taxonomy_1": {
                "required": false,
                "multiple": true,
                "input_type": "charcoal/admin/property/input/select"
            },
            "taxonomy_2": {
                "required": false,
                "input_type": "charcoal/admin/property/input/radio"
            },
            "taxonomy_3": {
                "required": false,
                "input_type": "charcoal/admin/property/input/checkbox"
            }
        },
        "layout": {
            "structure": [
                {"columns": [1, 1, 1]}
            ]
        }
    }
}

Options

Key Values Default Description
properties Array n/a Defines which of the model's properties to use as filters.
properties_options Array n/a Defines property customizations for the filter inputs
layout Array n/a Arrange the filters in a layout using structures

Development

To install the development environment:

$ composer install

To run the scripts (phplint, phpcs, and phpunit):

$ composer test

Assets

To install assets build environment:

$ yarn insall

To run the build scripts:

$ grunt watch

or

$ grunt

API Documentation

Development Dependencies

  • [php-coveralls/php-coveralls][phpcov]
  • [phpunit/phpunit][phpunit]
  • [squizlabs/php_codesniffer][phpcs]

Coding Style

The charcoal-contrib-property-filter module follows the Charcoal coding-style:

Coding style validation / enforcement can be performed with composer phpcs. An auto-fixer is also available with composer phpcbf.

Credits

License

Charcoal is licensed under the MIT license. See LICENSE for details.