2017 © Pedro Peláez
 

silverstripe-vendormodule iconsetfield

SilverWare IconSetField Module.

image

silverware/iconsetfield

SilverWare IconSetField Module.

  • Tuesday, June 12, 2018
  • by PraxisNetAu
  • Repository
  • 1 Watchers
  • 3 Stars
  • 15 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 3 Versions
  • 15 % Grown

The README.md

SilverWare IconSetField Module

Latest Stable Version Latest Unstable Version License, (*1)

A responsive form field for SilverStripe v4, similar to CheckboxSetField... but with Font Awesome icons!, (*2)

IconSetField, (*3)

Contents

Requirements

Installation

Installation is via Composer:, (*4)

$ composer require silverware/iconsetfield

Note: forms on the website will automatically load the field requirements if the app is using SilverWare. If you are using a vanilla SilverStripe project, you'll need to load the module script and styles in your app bundle (jQuery is required):, (*5)

  • silverware/iconsetfield: client/dist/js/bundle.js
  • silverware/iconsetfield: client/dist/styles/bundle.css

Configuration

As with all SilverStripe modules, configuration is via YAML. Extensions to LeftAndMain and ContentController are applied via config.yml., (*6)

Theme

The module supports a theme for both the CMS and forms on the website. To define the theme, use the following YAML configuration:, (*7)

# Custom theme for CMS:

SilverStripe\Admin\LeftAndMain:
  iconsetfield_theme:
    hover-background: '<color>'
    hover-foreground: '<color>'
    checked-background: '<color>'
    checked-foreground: '<color>'
    checked-border: '<color>'

# Custom theme for website forms:

SilverStripe\CMS\Controllers\ContentController:
  iconsetfield_theme:
    hover-background: '<color>'
    hover-foreground: '<color>'
    checked-background: '<color>'
    checked-foreground: '<color>'
    checked-border: '<color>'

Replace each <color> with your desired color hex or rgba code., (*8)

Columns

By default, the field uses Bootstrap column classes. You can change the column classes by adding them to your YAML:, (*9)

SilverWare\IconSetField\Forms\IconSetField:
  column_class_small: 'col-sm-%d'
  column_class_large: 'col-lg-%d'

Usage

Create the field either as part of a Form, or within your getCMSFields() method:, (*10)

use SilverWare\IconSetField\Forms\IconSetField;

$field = IconSetField::create(
    'RelationName',
    'Title of field',
    [
        1 => [
            'icon' => 'envelope',
            'text' => 'Mail'
        ],
        2 => [
            'icon' => 'facebook',
            'text' => 'Facebook'
        ],
        3 => [
            'icon' => 'twitter',
            'text' => 'Twitter'
        ]
    ]
);

The first parameter is the name of the field or many-many relation to save to, and the second is the field title. The third parameter defines the source for the field, and is a nested array consisting of ID values mapped to arrays containing the icon code (i.e. fa-<code>) and the text for the option., (*11)

Maximum Height

You can define a maximum height (in pixels) for your field by using the setMaxHeight() method:, (*12)

$field->setMaxHeight(200);

This will fix the maximum height of your field to 200 pixels, and add a scrollbar to view the remaining options., (*13)

Column Widths

The field supports custom column widths for small and large devices. By default, the field uses a value of 6 for small devices, and 4 for large devices. Based on the Bootstrap grid of 12, this means you'll see two options per row on small devices, and three options per row on large devices., (*14)

You can change these values by using:, (*15)

$field->setSmallWidth(4);  // 3 options per row on small devices
$field->setLargeWidth(3);  // 4 options per row on large devices

Options will always be one per row on the smallest screens (i.e. mobile)., (*16)

Issues

Please use the GitHub issue tracker for bug reports and feature requests., (*17)

Contribution

Your contributions are gladly welcomed to help make this project better. Please see contributing for more information., (*18)

Attribution

Maintainers

Colin Tucker Praxis Interactive
Colin Tucker Praxis Interactive

License

BSD-3-Clause © Praxis Interactive, (*19)

The Versions

12/06 2018

dev-master

9999999-dev https://github.com/praxisnetau/silverware-iconsetfield

SilverWare IconSetField Module.

  Sources   Download

BSD-3-Clause

The Requires

 

silverstripe silverware iconsetfield

12/06 2018

1.1.0

1.1.0.0 https://github.com/praxisnetau/silverware-iconsetfield

SilverWare IconSetField Module.

  Sources   Download

BSD-3-Clause

The Requires

 

silverstripe silverware iconsetfield

21/11 2017

1.0.0

1.0.0.0 https://github.com/praxisnetau/silverware-iconsetfield

SilverWare IconSetField Module.

  Sources   Download

BSD-3-Clause

The Requires

 

silverstripe silverware iconsetfield