github dvarilek/filament-table-select v2.0.0

latest releases: v2.0.7, v2.0.6, v2.0.5...
3 months ago

The v2.0.0 introduces several changes to make the package more consistent and clean. Most notably, the removal of the dependency on the Select component. New features were also introduced. The plugin still only supports Filament v3.

Breaking Changes

Namespace Changes

  • The namespace for TableSelect has been changed from Dvarilek\FilamentTableSelect\Components\View\TableSelect to Dvarilek\FilamentTableSelect\Components\Form\TableSelect

TableSelect Component Changes

  • The TableSelect component has been redesigned and no longer requires a suffix action to select related records using a table.
  • It's no longer possible to select records from a dropdown, as that option has been removed.
  • The TableSelect component no longer extends the Select component—it only borrows some of its functionality. As a result, several methods are no longer available, mainly those related to options and searching. See List of Unavailable Methods below.
  • Several methods have been renamed in favor of better consistency within the plugin. See List of Altered Methods below.
  • Limiting the number of options that can be selected is done with maxItems() instead of optionsLimit().
  • The create option action can only be displayed in selection modal.

New Features

Severing the Select dependency created space for implementing a custom view with more customization options.

Customizable Badges & Different Look

You can customize the color and icon of selected options. This can be done for all options or specific options with a callback.
This feature is only available when multi selection is enabled.

The suffix action got replaced by a link action located below the component. The position can be configured. Alternatively, it is possible to open the selection modal right away when clicking on the form input.

customizable-options

Upgrading

List of Altered Methods

  • modifySelectionAction() method has been renamed to selectionAction()
  • modifySelectionTable() method has been renamed to selectionTable()
  • modifySelectionConfirmationAction() method has been renamed to selectionConfirmationAction()
  • shouldCloseOnSelection() method has been renamed to shouldCloseAfterSelection() (the optional argument in selectionConfirmationAction() has also been renamed)*
  • selectionModalCreateOptionActionPosition() method has been renamed to createOptionActionPosition() (and now
    additionally accepts a callback)*

List of New Methods

Selection Action

  • selectionActionAlignment()
  • triggerSelectionActionOnInputClick()

Option Configuration

  • optionColor()
  • optionIcon()
  • optionSize()
  • optionIconSize()
  • getOptionColorFromRecordUsing()
  • getOptionIconFromRecordUsing()
  • optionExtraAttributes()

List of Unavailable Methods

Native to Plugin.

  • modifySelectionModalCreateOptionAction() method has been removed (use createOptionAction() now instead`)*
  • hasCreateOptionActionInSelectionModal() method has been removed
  • createOptionActionOnlyVisibleInSelectionModal() method has been removed

Methods removed because of removing Select dependency

  • boolean() method has been removed
  • manageOptionActions() method has been removed
  • manageOptionForm() method has been removed
  • editOptionModalHeading() method has been removed
  • editOptionAction() method has been removed
  • getEditOptionActionForm() method has been removed
  • hasEditOptionActionFormSchema() method has been removed
  • editOptionForm() method has been removed
  • updateOptionUsing() method has been removed
  • getUpdateOptionUsing() method has been removed
  • getEditOptionActionName() method has been removed
  • getEditOptionAction() method has been removed
  • getEditOptionActionFormData() method has been removed
  • fillEditOptionActionFormUsing() method has been removed
  • getCreateOptionActionName() method has been removed
  • getEditOptionModalHeading() method has been removed
  • getSearchResultsUsing() method has been removed
  • transformOptionsForJsUsing() method has been removed
  • searchable() method has been removed
  • position() method has been removed
  • maxItemsMessage() method has been removed
  • optionsLimit() method has been removed
  • getPosition() method has been removed
  • getSearchColumns() method has been removed
  • getSearchResults() method has been removed
  • getSearchResultsForJs() method has been removed
  • getOptionsForJs() method has been removed
  • getOptionLabelsForJs() method has been removed
  • isSearchable() method has been removed
  • hasDynamicOptions() method has been removed
  • hasDynamicSearchResults() method has been removed
  • getOptionsLimit() method has been removed
  • getMaxItemsMessage() method has been removed
  • forceSearchCaseInsensitive() method has been removed
  • isSearchForcedCaseInsensitive() method has been removed
  • refreshSelectedOptionLabel() method has been removed
  • allowHtml() method has been removed
  • isHtmlAllowed() method has been removed
  • native() method has been removed
  • isNative() method has been removed
  • preload() method has been removed
  • isPreloaded() method has been removed
  • noSearchResultsMessage() method has been removed
  • searchDebounce() method has been removed
  • searchingMessage() method has been removed
  • searchPrompt() method has been removed
  • searchLabels() method has been removed
  • searchValues() method has been removed
  • getNoSearchResultsMessage() method has been removed
  • getSearchPrompt() method has been removed
  • shouldSearchLabels() method has been removed
  • shouldSearchValues() method has been removed
  • getSearchableOptionFields() method has been removed
  • getSearchDebounce() method has been removed
  • getSearchingMessage() method has been removed
  • disableOptionWhen() method has been removed
  • getEnabledOptions() method has been removed
  • isOptionDisabled() method has been removed
  • hasDynamicDisabledOptions() method has been removed
  • disableOptionsWhenSelectedInSiblingRepeaterItems() method has been removed
  • fixIndistinctState() method has been removed
  • selectablePlaceholder() method has been removed
  • disablePlaceholderSelection() method has been removed
  • canSelectPlaceholder() method has been removed
  • extraInputAttributes() method has been removed
  • getExtraInputAttributes() method has been removed
  • getExtraInputAttributeBag() method has been removed
  • loadingMessage() method has been removed
  • getLoadingMessage() method has been removed
  • nestedRecursiveRules() method has been removed
  • getNestedRecursiveValidationRules() method has been removed
  • options() method has been removed
  • getOptions() method has been removed
  • extraAlpineAttributes() method has been removed
  • getExtraAlpineAttributes() method has been removed
  • getExtraAlpineAttributeBag() method has been removed

Documentation

Documentation has been updated to be up to date and to include all new features.

Don't miss a new filament-table-select release

NewReleases is sending notifications on new releases.