Calendar plugin for AppGini

Calendar plugin for AppGini

Calendar plugin for AppGini
License: Commercial, per-user
Compatible with any PC/server that can run PHP

The Calendar plugin for AppGini makes it easy to visualize and manage your date-driven records, such as tasks, projects, orders, or events, in a dynamic calendar view. You can add new records directly within the calendar to ensure accurate scheduling and avoid conflicts, and now you can also edit event start times and durations effortlessly by dragging or resizing events for a smoother, more interactive experience.

Switch Between 4 Views: Month, Week, Day, and Agenda

The Calendar plugin lets users seamlessly switch between four distinct views to display events from your database:

  • Month view: A full calendar month at a glance.
  • Week view: A 7-day layout with a detailed time grid.
  • Day view: A focused view of a single day with a time grid.
  • Agenda view: A concise list of events for the entire week.

Switching between views is instant and effortless with just a button click, ensuring a smooth and responsive experience.

Flexible, Color-Coded Event Types

The Calendar plugin allows you to create multiple calendars and configure events to either display together in a single calendar or show each event type in its own calendar. You can assign a unique color to each event type, making it easy for users to quickly distinguish between different events at a glance.

Easily View and Edit Event Details

With a simple click on an event, users can open a modal window displaying the detail view of the corresponding record. From there, users can view or edit event details (with the appropriate permissions), and any changes are instantly reflected in the calendar upon closing the modal. Additionally, events can be quickly updated by dragging them to a new start date/time or resizing them to adjust their duration, making event management seamless and intuitive.

Quickly Add New Events Directly in the Calendar

Users with insert permissions can easily create new events by clicking anywhere on the calendar, just like in Google Calendar. The new event's date and time fields are automatically set based on where the user clicked, saving time and streamlining the process.

Fully Customize Calendars to Fit Your Needs

The Calendar plugin offers extensive customization options to adapt to all your use cases:

  • Custom WHERE Clauses: When creating events, you can define custom SQL WHERE conditions to filter records. For example, you could distinguish non-shipped orders (displayed in red) from shipped ones (displayed in green) by creating two separate event types for orders, each with its own WHERE clause.

  • JavaScript Handlers: Add JavaScript handlers to new events to dynamically set default values for specific fields based on the event type, streamlining the event creation process.

  • Custom Calendar Options: Starting with Calendar plugin version 2.0, you can pass custom options to modify the calendar's behavior. For instance, you can hide weekends, limit the displayed time range to working hours, or implement other configurations to suit your requirements.

The plugin is built on the powerful open-source FullCalendar, which features comprehensive and well-organized documentation, making it easy to further tailor the calendar's behavior to your specific needs.

Frequently asked questions

Which version of AppGini is required for running Calendar plugin?
The latest version of AppGini is generally recommended when running AppGini plugins, but AppGini 5.98 or above is required.
If a new version of AppGini is released, do I need to update this plugin as well?
Usually not. However, if an update is needed we'll issue it free-of-charge.
I already have another plugin installed. Is it safe to install this plugin to the same app into the same plugins folder?
Yes. AppGini plugins share a common set of files that ship with all plugins and are safe to overwrite. Plugin-specific files are installed into a separate subfolder under the plugins folder. So, it's safe to extract this plugin to the plugins folder, overwriting existing files. Both plugins will continue to work fine.
If you make a new version of this plugin, do I have to pay to upgrade?
No. All AppGini plugins come with free life-time updates.
I have several AppGini applications. Do I have to buy a separate license of this plugin for each?
No. When you buy any AppGini plugin, you can install it to all of your AppGini applications. However, just like AppGini, if you are a team of users who use AppGini as part of your development toolset, each user should have a separate license.
Does the Calendar plugin add any code to hook files?
Yes, Calendar plugin will insert links to created calendars into the hooks/links-home.php and hooks/links-navmenu.php files. The inserted code is wrapped inside easily recognizable comments, and will not overwrite any code you already have in these files.

The plugin also modifies the files hooks/tablename-dv.js for every table that contains events.

We highly recommend that you use Git to manage customized code in your applications.
I have a question not addressed here ... how can I contact you?

What's new?

Latest version: 2.0, released on Jan 6, 2025
  • Calendar 2.0, Jan 6, 2025

    What's New

    1. Intuitive Event Editing

      • Drag-and-Drop Events: Easily modify event dates by dragging them directly on the calendar.

      • Event Duration Editing: Adjust event durations seamlessly within the calendar interface.

      • Undo Changes: Made a mistake? Quickly undo event updates with the new Undo button.

      • The video below shows dragging an event to another day, undoing that, resizing the event duration, then moving it to a different day.

    2. Multiple Calendar Management

      • Manage and toggle between separate calendars with synchronized titles and navigation tools.

      • Ideal for organizing events across different categories or contexts.

      • The video below demonstrates enabling the option to use a separate calendar for each event type:

    3. Custom Calendar Options

      • Added support for passing custom fullCalendar options, allowing greater flexibility in calendar behavior.

      • Examples include:

        • Hiding weekends.
        • Specifying custom time ranges.
        • Adjusting other calendar settings to fit your needs.
      • In the following video, we added custom options to hide weekends (Saturday and Sunday), and limit time range to the interval 8:00 AM to 8:00 PM (20:00):

        The code used in the custom fullCalendar options box in the above video is:

        hiddenDays: [0, 6],
        minTime: '8:00',
        maxTime: '20:00' 
    4. Enhanced Toolbar

      • A more mobile-friendly toolbar design.
      • Improved UI controls for better usability in separate calendars mode.

    Bug Fixes

    • Resolved issues with:
      • Calendar event refetching.
      • Scroll time handling.
      • Deprecated date format errors.
    • Improved compatibility with file uploads and RTL (Right-to-Left) languages.
    • Fixed various UI inconsistencies and functional glitches.

    UI Enhancements

    • Improved Responsiveness: Optimized for better usability across all devices, with refined grid layouts and padding.
    • Enhanced Multiple Calendar Views: Added clear headings and better visual separation between calendars.
    • Code Refinements: Refactored logic for improved performance, maintainability, and cleaner styling.
  • Calendar 1.7, Dec 13, 2023
    • Fix PHP 8.x warnings.
  • Calendar 1.6, May 4, 2022
    • Drop support for IE 8, 9.
    • Compatibility with AppGini 22.13.
    • Fix error when creating plugins/projects folder in some scenarios.
  • Calendar 1.5, Oct 31, 2021
    • Fixed stored xss vulnerability in calendar event title.
    • Fix compatibility issues with PHP 8, 8.1
  • Calendar 1.4, Jan 19, 2021
    • Compatibility with apps created by AppGini 5.93.
  • Calendar 1.3, Dec 2, 2020
    • Add plugin version checker/notifier.
  • Calendar 1.2, Oct 28, 2020
    • Improved handling of non-Latin and accented characters.
    • Fix bug with date calculations.
    • Add option to configure event text and background colors separately (to avoid display issues with some dark themes).
  • Calendar 1.1, Apr 19, 2020
    • Fixed a bug where projects with tables that contain a single field failed to load.
  • Calendar 1.0, Mar 29, 2020
    • First release.