All Projects → ManukMinasyan → Vue Functional Calendar

ManukMinasyan / Vue Functional Calendar

Licence: mit
Vue.js Functional Calendar | Component/Package

Projects that are alternatives of or similar to Vue Functional Calendar

Primedatepicker
PrimeDatePicker is a tool that provides picking a single day, multiple days, and a range of days.
Stars: ✭ 292 (-7.01%)
Mutual labels:  calendar, datepicker, calendar-component
react-native-daterange-picker
A React Native component for picking date ranges or single dates.
Stars: ✭ 86 (-72.61%)
Mutual labels:  calendar, datepicker, daterange
Ion2 Calendar
📅 A date picker components for ionic2 /ionic3 / ionic4
Stars: ✭ 537 (+71.02%)
Mutual labels:  calendar, datepicker, daterange
Calendarview
A highly customizable calendar library for Android, powered by RecyclerView.
Stars: ✭ 2,862 (+811.46%)
Mutual labels:  calendar, datepicker, daterange
Calendarview
An Easy to Use Calendar for iOS (Swift 5.0)
Stars: ✭ 429 (+36.62%)
Mutual labels:  calendar, datepicker, calendar-component
Vue Calendar
🏆 基于 vue 2.0 开发的轻量,高性能日历组件
Stars: ✭ 828 (+163.69%)
Mutual labels:  calendar, datepicker, calendar-component
React Native Dates
React Native date / daterange picker and calendar
Stars: ✭ 145 (-53.82%)
Mutual labels:  calendar, datepicker, daterange
Svelte Calendar
A lightweight datepicker with neat animations and a unique UX.
Stars: ✭ 279 (-11.15%)
Mutual labels:  datepicker, calendar-component
react-calendar
A no dependencies, lightweight and feature-rich ⚡ calendar component for react.
Stars: ✭ 68 (-78.34%)
Mutual labels:  datepicker, calendar-component
Blazor.PersianDatePicker
A free JavaScript Jalali (Persian) and Gregorian (Miladi) dual datepicker library for Blazor applications
Stars: ✭ 40 (-87.26%)
Mutual labels:  datepicker, calendar-component
rn-date-range
date picker component for react native
Stars: ✭ 16 (-94.9%)
Mutual labels:  datepicker, daterange
GCCalendar
A customizable calendar view for iOS 9+ written in Swift.
Stars: ✭ 53 (-83.12%)
Mutual labels:  calendar, calendar-component
UltraWeekCalendar
UltraWeekCalendar - Clean UI to select day through weeks
Stars: ✭ 29 (-90.76%)
Mutual labels:  calendar, calendar-component
praecox-datepicker
A date picker built with Svelte.Simple and flexible, supporting functions such as single selection, multiple selection, disabling, and marking.
Stars: ✭ 66 (-78.98%)
Mutual labels:  datepicker, calendar-component
Vue Datepicker Ui
Datepicker Component For Vue
Stars: ✭ 252 (-19.75%)
Mutual labels:  calendar, datepicker
Customizablecalendar
CustomizableCalendar is a library that allows you to create your calendar, customizing UI and behaviour
Stars: ✭ 214 (-31.85%)
Mutual labels:  calendar, calendar-component
vuejs3-datepicker
vue 3 datepicker. supports disabling, highlighting of dates and programmatic access of date.
Stars: ✭ 23 (-92.68%)
Mutual labels:  calendar, datepicker
nepali date picker
Material Style Date Picker with Bikram Sambat(Nepali) Calendar Support. Supports both Android and ios.
Stars: ✭ 30 (-90.45%)
Mutual labels:  calendar, datepicker
react-native-infinite-calendar
WIP: React native port of react-infinite-calendar
Stars: ✭ 43 (-86.31%)
Mutual labels:  calendar, datepicker
Calendar
A calendar picker component, based on jQuery.
Stars: ✭ 49 (-84.39%)
Mutual labels:  calendar, datepicker

Vue Functional Calendar

Modern calendar and datepicker module for Vue.js

Buy us a tree Tweet

Build Status Version Software License Downloads


Demo

Demo: https://y3jnxov469.codesandbox.io/

Edit VueJS Functional Calendar Component


  • Lightweight, high-performance calendar component based on Vue.js
  • Small memory usage, good performance, good style, and high scalability
  • Native js development, no third-party library introduced
  • Date Picker, Date Range, Multiple Calendars, Modal Calendar

Browser Support

Chrome Firefox Safari Opera Edge IE
39+ ✔ 28+ ✔ 10.1+ ✔ 27+ ✔ 15+ ✔ Latest ✔

Install

npm i vue-functional-calendar --save

Usage

Vue.use()

// Introduced in vue file
import FunctionalCalendar from 'vue-functional-calendar';
Vue.use(FunctionalCalendar, {
    dayNames: ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su']
});

Import Component

// Introduced in vue file
import { FunctionalCalendar } from 'vue-functional-calendar';

Component Settings

export default {
    components: {
        FunctionalCalendar
    },
    data() {
        return {
            calendarData: {}
        }
    }
}

Template Usage

<FunctionalCalendar
      // v-model="calendarData"
      
      // v-on:changedMonth="changedMonth"
      // v-on:changedYear="changedYear"
      
      // :sundayStart="true"
      // :date-format="'dd/mm/yyyy'"
      // :is-date-range="true"
      // :is-date-picker="true"      
       :...:
></FunctionalCalendar>

Usage With Configs

Component Settings

export default {
    components: {
        FunctionalCalendar
    },
    data() {
        return {
            calendarData: {},
            calendarConfigs: {
                sundayStart: false,
                dateFormat: 'dd/mm/yyyy',
                isDatePicker: false,
                isDateRange: false
            }
        }
    },
}

Template Usage

<FunctionalCalendar
      // v-model="calendarData"
      // :configs="calendarConfigs"
></FunctionalCalendar>

A note on markDates

The markedDates property must be in JavaScript Date format, e.g, no leading zeroes on month and days.

✅ Correct: 1/12/2019 ❎ Incorrect: 01/12/2019


Available props

Prop Type Default Example Description
sundayStart Boolean false true Week start sunday
newCurrentDate Date new Date() new Date(2019,10,11) Calendar Current Date
limits [Object, Boolean] false {min: '31/10/2019', max: '31/12/2019'} Set calendar show, and marked dates limits.
minSelDays [Number, Boolean] false 3 Set minimum selected days count.
maxSelDays [Number, Boolean] false 10 Set maximum selected days count.
placeholder [String, Boolean] false 'yyyy/mm/dd' Date input placeholder
dateFormat String 'dd/mm/yyyy' 'yyyy/mm/dd' Date formatting string
isDatePicker Boolean false true Enable or disable date picker
isMultipleDatePicker Boolean false true Enable or disable multiple date picker
isMultipleDateRange Boolean false true Enable or disable multiple date range
isDateRange Boolean false true Enable or disable date range
withTimePicker Boolean false true Enable or disable time picker
isMultiple Boolean false true Enable multiple calendar function
calendarsCount Number 1 3 Count of calendars, working only is prop isMultiple
isSeparately Boolean false true Enable separately calendars
isModal Boolean false true Enable modal calendar function
isAutoCloseable Boolean false true Hide picker(calendar) if date has been selected
isTypeable Boolean false true Enable manually date typing function, working only with prop isModal
changeMonthFunction Boolean false true Enable changed month with list, function
changeYearFunction Boolean false true Enable changed year with list, function
changeYearStep Number 12 6 Change year list step count
markedDates Array [] ['10/12/2020', '12/12/2020'] OR [{date: '10/1/2020', class: 'marked-class'},{date: '12/1/2020', class: 'marked-class-2'}] Marked dates array
markedDateRange Object {start: false, end: false} {start: '12/12/2020', end: '20/12/2020'} OR [{start: '12/12/2020', end: '20/12/2020'}, {start: '24/12/2020', end: '28/12/2020'}] Marked date ranges
disabledDayNames Array [] ['Su','We'] Disabled Days Of Week
disabledDates Array [] ['24/12/2020','27/12/2020'] OR ['beforeToday', 'afterToday', '24/12/2020','27/12/2020'] Disabled Dates
enabledDates Array [] ['24/12/2020','27/12/2020'] Reversal of Disabled Dates
dayNames Array ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'] ['Monday', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Sunday'] Week Day Names
monthNames Array ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] ["Jan.", "Feb.", "Mar", "Apr.", "May", "Jun.", "Jul.", "Aug.", "Sept.", "Oct.", "Nov.", "Dec."] Month names
shortMonthNames Array ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] ["Jan.", "Feb.", "Mar", "Apr.", "May", "Jun.", "Jul.", "Aug.", "Sept.", "Oct.", "Nov.", "Dec."] Short month names
showWeekNumbers Boolean false true Display week numbers.
transition Boolean true false Calendar animations
hiddenElements Array [] ['dayNames', 'navigationArrows', 'leftAndRightDays', 'month'] Hide calendar elements
titlePosition String center left, right, center Set title position
arrowsPosition String space-between left, right, space-between Set arrows position
isDark Boolean false true Dark theme
isLayoutExpandable Boolean false true Enable expanding the calendar layout
alwaysUseDefaultClasses Boolean false true Always add default classes to Day element, even when overriding with a slot

Slots

Name Description Props
Default Default slot responsible for the day component {week: Object, day: Object}
datePickerInput This slot responsible for the modal date picker input {selectedDate: String, isTypeable: Boolean}
dateRangeInputs This slot responsible for the modal date range inputs {startDate: String, endDate: String, isTypeable: Boolean}
footer This slot responsible for the calendar footer {}

Events

Event Output Description
dayClicked Object Get clicked day object
choseDay Object Get the object of the selected day
changedMonth Date Month page has been changed
changedYear Date Year page has been changed
selectedDaysCount Number Get number of days between date range dates
dayMouseOver Date Mouse over day
opened The picker is opened
closed The picker is closed
Add the ref attribute to the calendar component and use these methods to do more.
For example: <FunctionalCalendar ref="Calendar"></FunctionalCalendar>

     this.$refs.Calendar.PreMonth();  //Call method implementation to go to previous month
     this.$refs.Calendar.NextMonth(); //Call method implementation to go to next month
     this.$refs.Calendar.PreYear(); //Call method implementation to go to previous year
     this.$refs.Calendar.NextYear(); //Call method implementation to go to next year
     this.$refs.Calendar.ChooseDate('today'); //Call method implementation to go to today
     this.$refs.Calendar.ChooseDate('25/09/2020'); //Call method implementation to go to a date

Treeware

You're free to use this package, but if it makes it to your production environment you are required to buy the world a tree.

It’s now common knowledge that one of the best tools to tackle the climate crisis and keep our temperatures from rising above 1.5C is to plant trees. If you support this package and contribute to the Treeware forest you’ll be creating employment for local families and restoring wildlife habitats.

You can buy trees here offset.earth/treeware

Read more about Treeware at treeware.earth

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].