Download the PHP package codicastudio/multi-select without Composer
On this page you can find all versions of the php package codicastudio/multi-select. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download codicastudio/multi-select
More information about codicastudio/multi-select
Files in codicastudio/multi-select
Package multi-select
Short Description A random Codica Studio package.
License MIT
Homepage https://github.com/codicastudio/adminmultiselect
Informations about the package multi-select
Nova Multiselect
This Laravel Nova package adds a multiselect to Nova's arsenal of fields.'
Requirements
- Laravel Nova ^2.0.11
For Nova version earlier than 2.0.11 please use nova-multiselect-field
version 1.1.6
or earlier.
This restriction is due to Nova::translatable()
method being added in 2.0.11, which allows this package to be localized.
Features
- Multiselect with search
- Single select with search
- Reordering functionality with drag & drop
- Dependency on other Multiselect instances
Screenshots
Installation
Install the package in a Laravel Nova project via Composer:
Usage
The field is used similarly to Nova's native Select field. The field type in the database should be text-based (ie string
, text
or varchar
), selected values are stored as a stringified JSON array.
Option groups
Option groups are supported. Their syntax is the same as Laravel's option group syntax.
In this example (from Nova docs), all values are grouped by the group
key:
Dependencies
You can make a Multiselect depend on another by using dependsOn
. This also requires specifying ->dependsOnOptions()
. The value from the dependsOn
Multiselect has to be the key to the options and the value must be a key-value dictionary of options as usual.
Usage:
Options
Possible options you can pass to the field using the option name as a function, ie ->placeholder('Choose peanuts')
.
Option | type | default | description |
---|---|---|---|
options |
Array|callable | [] | Options in an array as key-value pairs (['id' => 'value'] ). |
placeholder |
String | Field name | The placeholder string for the input. |
max |
Number | Infinite | The maximum number of options a user can select. |
groupSelect |
Boolean | false | For use with option groups - allows the user to select whole groups at once |
singleSelect |
Boolean | false | Makes the field act as a single select which also means the saved value will not be an array. |
saveAsJSON |
Boolean | false | When you have a SQL JSON column, you can force the field to save the values as JSON. By default, values are saved as a stringified array. |
optionsLimit |
Number | 1000 | The maximum number of options displayed at once. Other options are still accessible through searching. |
nullable |
Boolean | false | If the field is nullable an empty select will result in null else an empty array ([] ) is stored. |
reorderable |
Boolean | false | Enables (or disables) the reordering functionality of the multiselect field. |
dependsOn |
String | null | Determines which Multiselect this field depends on. |
dependsOnOptions |
Array | null | Determines the options for dependsOn . See example above on how to format it correctly. |
resolveForPageResponseUsing |
Callable | null | Only for use in conjunction with Page Manager. Allows you to format the value before it is returned through the API. |
Localization
The translations file can be published by using the following publish command:
You can then edit the strings to your liking.
Overwriting the detail field
You can overwrite the detail view value component to customize it as you see fit.
Create a new component for NovaMultiselectDetailFieldValue
and register it in your app.js
. The component receives two props: field
and values
. The values
prop is an array of selected labels.
Credits
License
This project is open-sourced software licensed under the MIT license.