Simple modern-looking event calendar ๐Ÿ“…๐Ÿ’œ

Overview

evo-calendar

Simple Modern-looking Event Calendar

NPM

Known Vulnerabilities FOSSA Status

๐Ÿ‘€ Demo:

https://edlynvillegas.github.io/evo-calendar/

Evo Calendar Preview

๐Ÿ’ก Features:

  • Flexible and fully customizable
  • Responsive Calendar (desktop, tablet and mobile)
  • Add, Remove and View single/multiple calendar events
  • Set event type (event, holiday, birthday)
  • Events and methods that lets you think outside the box!

โš›๏ธ If you are using React, I recommend you to try this RevoCalendar

๐ŸŽจ Usage

CDN

Start working with Evo Calendar using CDN (jsDelivr)

Adding links using jsDelivr:

Just add a link to the css file in your <head>:

<!-- Add the evo-calendar.css for styling -->
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/[email protected]/evo-calendar/css/evo-calendar.min.css"/>

Then, before your closing <body> tag add:

<!-- Add jQuery library (required) -->
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js"></script>

<!-- Add the evo-calendar.js for.. obviously, functionality! -->
<script src="https://cdn.jsdelivr.net/npm/[email protected]/evo-calendar/js/evo-calendar.min.js"></script>

Initialization:

In your html file:

<div id="calendar"></div>

Then in your javascript file:

<script>
  $("#calendar").evoCalendar();
</script>

Package Managers:

# NPM
$ npm install evo-calendar

# YARN
$ yarn add evo-calendar

๐Ÿ› ๏ธ Settings

Settings Type Default Description Options
theme string Default Define calendar's theme Default, Midnight Blue, Orange Coral, Royal Navy
format string 'mm/dd/yyyy' Date format Date string format
titleFormat string 'MM yyyy' Date format for calendar title Date string format
eventHeaderFormat string 'MM d, yyyy' Date format for calendar event's title Date string format
firstDayOfWeek number 0 Displayed first day of the week 0 (Sunday) - 6 (Saturday)
language string 'en' Calendar's language en, es, de, pt, fr, nl
todayHighlight boolean false Highlight today's date in calendar true, false
sidebarDisplayDefault boolean true Set default visibility of sidebar true, false
sidebarToggler boolean true Display the button for toggling the sidebar true, false
eventDisplayDefault boolean true Set default visibility of event lists true, false
eventListToggler boolean true Display the button for toggling the event lists true, false
calendarEvents array null Defined events for calendar to show Array of events

calendarEvent Options Example

  $("#evoCalendar").evoCalendar({
    calendarEvents: [
      {
        id: 'bHay68s', // Event's ID (required)
        name: "New Year", // Event name (required)
        date: "January/1/2020", // Event date (required)
        type: "holiday", // Event type (required)
        everyYear: true // Same event every year (optional)
      },
      {
        name: "Vacation Leave",
        badge: "02/13 - 02/15", // Event badge (optional)
        date: ["February/13/2020", "February/15/2020"], // Date range
        description: "Vacation leave for 3 days.", // Event description (optional)
        type: "event",
        color: "#63d867" // Event custom color (optional)
      }
    ]
  });

Methods

Method Argument Description
setTheme string Set/Change theme
toggleSidebar boolean (optional) Toggle sidebar display
toggleEventList boolean (optional) Toggle event list display
getActiveDate none Get the selected date
getActiveEvents none Get the event(s) of selected date
selectYear number Select year programmatically
selectMonth number (0-11) Select month programmatically
selectDate string Select date programmatically
addCalendarEvent array/object Add Calendar event(s)
removeCalendarEvent array/string Remove event(s) by their id
destroy none Well.. destroy the calendar
addCalendarEvent Method Example
  $("#evoCalendar").evoCalendar('addCalendarEvent', [
    {
      id: '09nk7Ts',
      name: "My Birthday",
      date: "February/15/2020",
      type: "birthday",
      everyYear: true
    }
  ]);

Events

Event Argument Description
selectDate newDate, oldDate Fires after selecting date
selectEvent activeEvent Fires after selecting event
selectMonth activeMonth, monthIndex Fires after selecting month
selectYear activeYear Fires after changing year
destroy calendar Fires after destroying calendar
selectDate Event Example
  $("#evoCalendar").on('selectDate', function() {
    // code here
  });

Need customization? Go here!

Go to demo page for more example! ๐Ÿค— ๐Ÿ’œ

PayPal Me Buy Me A Coffee

๐Ÿ” License

FOSSA Status

MIT License

Copyright (c) 2020 edlynvillegas

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Comments
  • Great Work! But..

    Great Work! But..

    Hi Edlyn Villegas, I like your work very much! Clean UI and user friendly! I understand its beta version.. but I just want to confirm with you, is this work in iPhone? Because I tried it myself and view it with my iPhone, it will have some NaN value for the date and picking all day as today, but its ok and working in web version and android phone, it seems like its not compatible with iOS or safari i not sure.. ๐Ÿ˜…

    Despite on the flaw, overall is very good, Keep it up!

    Cheers! :D

    opened by realjimjim 8
  • Select event 'date' of undefined

    Select event 'date' of undefined

    hey me again. ๐Ÿ‘‹

    Been fighting off this problem for a couple of hours now.

    image

    This is the result i get when clicking an event. the index is -1. i'm using your latest version of the code. 1.1.2

    i'm filling an event ID from the database and this is a whole bunch of numbers (42481830) in an array out of my asp.net controller -> encode to array in js. when i use id= "4hducye" for an event all seems to work fine, and index = 0. But using whole bunch of numbers it fails. :/.

    so when event id is numeric == fails index = -1 and var modified_event = _.options.calendarEvents[index]; is undefined when event id is Alfanumeriek == ok index = 0 and var modified_event = _.options.calendarEvents[index]; is defined

    so not really big issue because i can fix it by just adding a letter to the Id. :)

    opened by joristackaert 5
  • Question: Is there a way to add a link to the event

    Question: Is there a way to add a link to the event

    I have a dedicated pages for events and I would like to link to this page from the calendar or have a button with link. Is this possible or any way I can customise the look of the event to include a link?

    Thanks in advance and thanks for the great plugin

    opened by aldunchev 3
  • Reducing the size of the icons to toggle the side panels

    Reducing the size of the icons to toggle the side panels

    In this PR I'm reducing the size of the buttons that toggle the side panels in about 40%. Here are some screens:

    image image image

    It looks good on those 3 themes, but on Royal Navy it's just terrible and I don't know how to fix it (dammit CSS). image

    I'm still opening this PR in the hope someone could bring some light on how I can fix the Royal Navy theme.

    opened by thamara 3
  • Possibly add this as a npm package?

    Possibly add this as a npm package?

    I like to manage my front-end libs with npm. I think this project would benefit from being published to npm or, at least, being added to a CDN, so it can be used quickly without us having to manually clone/download the source files.

    Thanks for making this open-source, it saved me many hours of work! ๐Ÿ‘

    opened by gjmolter 3
  • [Bug] Responsive

    [Bug] Responsive

    Hi there, i'd really love your user interface. But, recently i found that on screen width around 770 and 900 when i'd open up both of the month and agenda column, the date table is overlayed to the right.

    I hope that you could solved this. Thanks! :) image

    opened by wahyupratama18 2
  • Event : selectEvent  | activeEvent.values not equal the selected event

    Event : selectEvent | activeEvent.values not equal the selected event

    after using

    $('#calendar').on('selectEvent', function (event, activeEvent) { console.log(event.target); console.log(activeEvent.description); console.log(activeEvent.badge); });

    It works fine if u have 1 event but when u have more then 1 event on the same day its values "description..." is always the same value of the first event in the eventlist and not the selected one (the second one). unless this is intentonal.

    image

    I can fix it by selecting the .target childnode childnode childnode description.data but it's a bit of work.

    Regards Best calander ever btw.

    opened by joristackaert 2
  • Localizing strings for not event on this day and on today

    Localizing strings for not event on this day and on today

    Besides the days and months, I'm adding the strings used when there's no event on the days.

    Here's the result on the multiple languages supported:

    image image

    Please note that the German translation was done using Google Translate. It would be nice if someone could verify that.

    opened by thamara 2
  • Would it be possible to add multi-day events?

    Would it be possible to add multi-day events?

    Hey! A possibility to add multi-day events would be great! Maybe it's possible to somehow pass an array as date, or add an end date in addition to start date.

    opened by IngridRegina 2
  • How to get current month?

    How to get current month?

    I need to request events from server by month. How I can get current month AND year? Also, I need to get current month and year in moment, when calendar was rendered. Please, help me

    opened by NikHusachenko 1
  • Title Month with details

    Title Month with details

    Hello Edlyn,

    I correctly retrieve the sum of what has been achieved during the day (console.log), .... How can I display this sum next to the title "month" .. same thing for the days? Thank you for your help

    opened by REDCOREBE 1
  • Pleaaaase Add Solar Calendar (Jalai Hijri) Too

    Pleaaaase Add Solar Calendar (Jalai Hijri) Too

    Hello dear Edlyn... Please add solar hijri (persian date calendar) to your calendar too. I tried that, but it will mess codes and show NaN error on the calendar, if the date pick is more than current day ! I ask this before by Email and another Issue Post about 1 month ago, but I didn't get any response from you... So please help me :-(

    opened by Ponivi 0
  • How can I make it so that the months can be switched by the scroll wheel?

    How can I make it so that the months can be switched by the scroll wheel?

    Hi! Is it possible to make it so that when scrolling up, the next month is displayed, and when scrolling down, the previous one? How can this be implemented? Thanks!

    opened by dhpro100 0
  • change gregorian calendar to solar hijri calendar

    change gregorian calendar to solar hijri calendar

    Hello my friend I first want to thank you for the great and cool calendar that you designed perfectly. I'm using that for my web application and really appericaite that. I have a question, dear Edlyn: I want to use calendar as solar hijri date but the default calendar is "gregorian" . how can I change gregorian calendar to solar hijri calendar ? can you help me please ?

    best regards Hengameh

    opened by Ponivi 0
  • How I can get all events for the month?

    How I can get all events for the month?

    Hi!, How can I get all events in calendar and events for the month? I need to delete all events for the month and add new event to the next month, if user switch month or year

    opened by NikHusachenko 1
Releases(v1.1.3)
๐Ÿณ๏ธโ€๐ŸŒˆ event calendar

alman-akka :rainbow-flag: event calendar Frontend The frontend of this app uses NextJS and Node 16 together with Yarn 1.x as a package manager. Develo

null 3 Mar 10, 2022
io-ts Typed Event Bus for the runtime of your Node.js application. A core for any event-driven architecture based app.

Typed Event Bus Based on io-ts types, this bus provides a handy interface to publish and consume events in the current runtime of the Node.js process.

Konstantin Knyazev 3 May 23, 2022
'event-driven' library aims to simplify building backends in an event driven style

'event-driven' library aims to simplify building backends in an event driven style(event driven architecture). For message broker, light weight Redis Stream is used and for event store, the well known NoSQL database, MongoDB, is used.

Sihoon Kim 11 Jan 4, 2023
Better looking pdf for lovely rustacean <3

The Rust Programming Language (TRPL) PDF Better looking pdf in your finger tips. Please find the latest version of pdf in release tab. Contributing I

Shirshak 76 Dec 29, 2022
This is an app that gives you a mood by looking at the weather.

Weather-to-mood It is a basic application which shows user weather and date and by looking at these information it gives a mood. WeatherMoodApp This p

BรผลŸra Akbulut 4 Jun 30, 2022
A website that lets you create legit-looking GitHub links that rickroll the visitor.

microsoftgithub.com, a.k.a. NotHub A website that lets you create legit-looking GitHub links that rickroll the visitor. Usage Just replace github.com

Ash 12 Dec 23, 2022
A clean-looking, secure, MySQL/MariaDB remote connection terminal made in NodeJS

NodeJS MySQL/MariaDB Terminal NodeJS MySQL/MariaDB Terminal is a remote terminal for MySQL/MariaDB databases, which works in the same way as the offic

TeknoSenpai 5 Jun 24, 2022
Planning a getaway with family or friends and looking for a trip planner app to help you figure out the logistics?

Never-Wavering-Wayfaring-Wanderlust-Adventure-Planner Planning a getaway with family or friends and looking for a trip planner app to help you figure

Michelle Blackwell 3 Jun 15, 2022
Don't waste time looking at what you are typing, spend time thinking about the meaning.

LETA Don't waste time looking at what you are typing, spend time thinking about the meaning. About You will be able to: Practice touch typing Pick bes

Paragoda 13 Dec 15, 2022
A good-looking Zotero add-on.

Chartero ็ฎ€ไป‹ ่ฎฐๅฝ•Zoteroๅ†…็ฝฎ้˜…่ฏปๅ™จ็š„ๆต่งˆๅŽ†ๅฒๅนถ้€š่ฟ‡ๅ„็งๅ›พๅฝขๅ‘ˆ็Žฐๅ‡บๆฅ๏ผŒๆ–นไพฟ่ฏป่€…ๅฏน่ฟ‡ๅŽปไธ€ๆฎตๆ—ถ้—ดๅ†…ๅญฆไน ่ฟ‡็จ‹็š„ๅค็›˜ไธŽๅ›ž้กพใ€‚ ไฝฟ็”จ่ฏดๆ˜Ž ้ฆ–้€‰้กนๅ‚ๆ•ฐ ๆ‰ซๆๅ‘จๆœŸ๏ผš้˜…่ฏปๆ—ถ่ฎฐๅฝ•้กต็ ็š„ๆ—ถ้—ด้—ด้š”๏ผŒๆŽจ่1็ง’ ไฟๅญ˜ๅ‘จๆœŸ๏ผšไฟๅญ˜ๅŽ†ๅฒๆ•ฐๆฎ็š„ๆ—ถ้—ด้—ด้š”๏ผŒ่ฟ‡ๅฐไผšๅฏผ่‡ดๅก้กฟ ไปช่กจ็›˜ ้€‰ๆ‹ฉๆ–‡็Œฎๆก็›ฎๅŽ๏ผŒๅณไพง่พนๆ ๅฐ†ๅ‡บ็Žฐโ€œไปช่กจ็›˜โ€้€‰

PasCal++ 104 Dec 20, 2022
A good looking help command made with discord.js with select menus. Works with prefix and slash commands too!

fancy-help-command A good looking help command made with discord.js with select menus. Works with prefix and slash commands too! Dependencies: Select

LunarCodes 11 Dec 12, 2022
Simple calendar jquery plugin

Simple Calendar A simple and easy plugin to create a calendar and add events to it. Usage Including files You need to include : A recent version of JQ

Benoit Rospars 42 Dec 29, 2022
ES6 - Simple pure JavaScript calendar

rolyart-calendar Simple Pure JS Calendar. Demo Install Add rolyart-calendar.js Add style.css Add calendar container <div id="myCalendar"></div> Init c

Roland Maruntalu 3 Sep 28, 2022
A simple Calendar Heatmap for jQuery

Calendar Heat Map This jQuery plugin allows to conveniently display data like contributions on a day by day basis, indicating the count by colors. Ins

Sebastian 38 Jul 5, 2022
๐Ÿž๐Ÿ“…A JavaScript calendar that has everything you need.

A JavaScript schedule calendar that is full featured. Now your service just got the customizable calendar. ?? Table of Contents Collect statistics on

NHN 10.4k Jan 5, 2023
Quick access to view the current time and date in Ethiopian calendar.

Ethiopian-Current-time-chrome-extension Quick access to view the current time and date in Ethiopian calendar. steps to follow:- Extract the zip folder

null 10 Aug 26, 2022
A block calendar for Logseq.

Logseq Block Calendar A plugin to render a calendar in block, so you can put it onto right side bar. Features Click date to jump to journal page. Swit

Richard Yu 17 Dec 27, 2022
๐Ÿ“… Calendar link generator for popular services

?? Calendar Link Status Build Health Community JavaScript library to generate an event link for Google Calendar, Yahoo! Calendar, Microsoft Outlook, e

Anand Chowdhary 246 Dec 18, 2022
Basic styling to create calendar icons with pure HTML and CSS

Calendar Icon Basic styling to create calendar icons with pure HTML and CSS Usage Embed the CSS, and markup your date: <link type="text/css" rel="styl

null 1 Aug 23, 2022