Download the PHP package saade/filament-fullcalendar without Composer

On this page you can find all versions of the php package saade/filament-fullcalendar. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package filament-fullcalendar

Filament FullCalendar

Latest Version on Packagist Total Downloads

Filament FullCalendar

Features


Table of contents


Installation

You can install the package via composer:


Usage

  1. First, create a Filament Widget:

This will create a new widget class in your project.


  1. Your newly created widget should extends the Saade\FilamentFullCalendar\Widgets\FullCalendarWidget class of this package

Warning

Don't forget to remove protected static string $view from the generated class!

Your widget should look like this:

Returning events

The fetchEvents method should return an array of event-like objects. See: FullCalendar Docs


The EventData class

If you want a fluent way to return events, you can use the Saade\FilamentFullCalendar\Data\EventData class.


Configuration

Before you can configure the calendar, you'll need to add FilamentFullcalendarPlugin to your panel's plugins array.

Available methods

schedulerLicenseKey(string | null $licenseKey)

Your FullCalendar Premium License Key. (Only required if you're using premium plugins)

licenceKey (Default: null)

selectable(bool $selectable)

Allows a user to highlight multiple days or timeslots by clicking and dragging. See: selectable

selectable (Default: false)

editable(bool $editable)

This determines if the events can be dragged and resized. See: editable

editable (Default: false)

timezone(string | null $timezone)

The timezone to use when displaying dates. See: timezone

timezone (Default: config('app.timezone'))

locale(string | null $locale)

The locale to use when displaying texts and dates. See: locale

locale (Default: config('app.locale'))

plugins(array $plugins, bool $merge)

The plugins to enable. You can add more plugins if you wish, or replace the default ones by passing false as the second param for the method. Avaliable: interaction, dayGrid, timeGrid, list, multiMonth, scrollGrid, timeline, adaptive, resource, resourceDayGrid, resourceTimeline, resourceTimeGrid, rrule, moment, momentTimezone See: plugins

plugins Default: ['dayGrid', 'timeGrid'] merge Default: true

config(array $config)

The configuration of the calendar. Not all configurations have a dedicated fluent method to interact with it, therefore you can pass pretty much any configuration listed in the FullCalendar's TOC. See: FullCalendar Docs

config (Default: [])


Interacting with actions

This packages leverages the power of Filament Actions to allow you to view, create, edit and delete events.

To get started, you'll need to tell the widget which model it should use to perform the actions, and define a form schema for the view, create and edit actions.

Note Please note that the form schema does not need to contain the same fields as the FullCalendar event object. You can add as many fields as your model has.

That's it! Now you can view, create, edit and delete events.

Customizing actions

If you want to customize the actions, you can override the default actions that comes with this package. Actions behaves like any other Filament Action, therefore you can customize them as you wish the same way you would customize any other Filament Action.

Authorizing actions

Action authorization behaves like any other Filament Action, therefore you can customize them as you wish the same way you would customize any other Filament Action.


Intercepting events

If you want to intercept events, you can override the default methods that comes with this package.

Warning If you override any of the methods below, you'll need to call the parent method to keep the calendar working as expected.

See the InteractsWithEvents for all the available event listeners.


Render Hooks

If you want to customize the calendar's event rendering, you can use Fullcalendar's built in Render Hooks for that. All the hooks are supported.

Here's an example of how you can use the eventDidMount hook to add a custom implementation:

For another example, see the Event tooltip on hover trick.


Tricks

Editing event after drag and drop

You can fill the form with the event's new data by using the mountUsing method on the EditAction.

Creating events on day selection

You can fill the form with the selected day's date by using the mountUsing method on the CreateAction.

Creating events with additional data

You can add additional data to the event by using the mutateFormDataUsing method on the CreateAction.

Event tooltip on hover

You can add a tooltip to fully show the event title when the user hovers over the event via JavaScript on the eventDidMount method:

The JavaScript code returned by eventDidMount() will be added to the FullCalendar's eventDidMount event render hook.

Adding the widget to a Blade view

Follow the Filament Docs to know how to add the widget to a Blade view.

Share your tricks

If you have any tricks that you want to share, please open a PR and add it to this section.


Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.

Sponsor Saade


All versions of filament-fullcalendar with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
filament/filament Version ^3.0
illuminate/contracts Version ^10.0|^11.0
spatie/laravel-package-tools Version ^1.13.5
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package saade/filament-fullcalendar contains the following files

Loading the files please wait ....