Giter Club home page Giter Club logo

nova-radio-field's Introduction

Laravel Nova Radio Button Group Field Type

This is a simple nova field type to introduce a radio button with the ability to toggle other field visibility.

Form View

index view

Index View

form view

Toggle Mode

toggle mode

Installation

composer require owenmelbz/nova-radio-field

Usage

use OwenMelbz\RadioField\RadioButton;

public function fields(Request $request)
{
    return [
        RadioButton::make('Can view skip adverts?')
            ->options([
                0 => 'No',
                1 => ['Yes' => 'This means that users will not have to watch adverts.'],
            ])
            ->default(0) // optional
            ->stack() // optional (required to show hints)
            ->marginBetween() // optional
            ->skipTransformation() // optional
            ->toggle([  // optional
                1 => ['max_skips', 'skip_sponsored'] // will hide max_skips and skip_sponsored when the value is 1
            ])
    ];
}

Configuration

options()

This accepts basic string/integer key-pair values. The key of the array will be saved in the database, and the value will be displayed.

If you assign an array to the value, it will act as a key-pair for a label and a hint when using stack()

hint view

toggle()

This accepts an array, the key of the array represents the value of the field. The value of the item must always be an array of the fields you wish to hide, when this value is picked.

e.g. if this array was passed in, when the value is 1 the email field will be hidden, any other value will show everything.

toggle([
    1 => ['email']
])

default()

This lets you set the default radio button, otherwise none will be selected - You just pass in the value of the key, e.g 0

stack()

By default the radios will sit next to each other, if you want them underneath in a longer list call the stack() method

marginBetween()

If you happen to have lots of options that fold onto 2 lines, you might want to give them some spacing.

skipTransformation()

By default on the index and detail page we display the labelled value to the user, if you want to show the raw value instead, then call skipTransformation()

License

Go crazy, do what you like :)

nova-radio-field's People

Contributors

crynobone avatar dependabot[bot] avatar diddyy avatar donkfather avatar joshmoreno avatar lifeblood avatar owenmelbz avatar ronmelkhior avatar vesper8 avatar

Watchers

 avatar

Forkers

onemoreahmad

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.