paintMonth (month, method) {
        let _self = this,
            $today = _self.clndr.element.find('[data-day="' + _self.clndr.options.constraints.startDate + '"]');
        
        // Store currently viewed month, used when changing endDate to check if we need to refocus the calendar
        _self.currentCalendarMonth = month;

        // Unpaint the entire month, used to catch any dates resetting to neutral
        _self.styleClearAll();

        // Recurrence pattern to paint for the displayed month
        if (_self.recurPattern != null) {
            _self.paintRepeatPattern(method);
        }

        // Exceptions to paint as to-add
        if (_self.clndr.options.extras.datesToAdd.length) {
            const datesToAdd = _self.clndr.options.extras.datesToAdd
                                .filter(EventCalendar.isInYear.bind(this, month))
                                .filter(EventCalendar.isInMonth.bind(this, month));

            datesToAdd.forEach(_self.styleToAdd.bind(_self));
        }

        // Exceptions to paint as to-delete
        if (_self.clndr.options.extras.datesToDel.length) {
            const datesToDel = _self.clndr.options.extras.datesToDel
                                .filter(EventCalendar.isInYear.bind(this, month))
                                .filter(EventCalendar.isInMonth.bind(this, month));

            datesToDel.forEach(_self.styleToDel.bind(_self));
        }

        // Reset aria-label for 'today'
        if ($today.length) {
            $today.attr('aria-label', _self.ariaStartDate);
        }

        _self.updateReview();
    }
/**
     * Triggered when navigating through or making any changes to the calendar. Takes the dates stored in the 
     * `datesToAdd` and `datesToDel` arrays as well as the currently stored recurrence pattern and paints the dates
     * appropriately. Also triggers the updating of the review panel when finished.
     * 
     * @param {moment} month A moment object representing the currently viewed month
     * @param {string} method `repeat-on` will paint the dates, `clear` will unpaint them
     */
Triggered when navigating through or making any changes to the calendar. Takes the dates stored in the
`datesToAdd` and `datesToDel` arrays as well as the currently stored recurrence pattern and paints the dates
appropriately. Also triggers the updating of the review panel when finished.

@param {moment} month A moment object representing the currently viewed month
@param {string} method `repeat-on` will paint the dates, `clear` will unpaint them
Triggered when navigating through or making any changes to the calendar . Takes the dates stored in the ` datesToAdd ` and ` datesToDel ` arrays as well as the currently stored recurrence pattern and paints the dates appropriately . Also triggers the updating of the review panel when finished . @param { moment } month A moment object representing the currently viewed month @param { string } method ` repeat - on ` will paint the dates ` clear ` will unpaint them
paintMonth (month, method) {
        let _self = this,
            $today = _self.clndr.element.find('[data-day="' + _self.clndr.options.constraints.startDate + '"]');
        _self.currentCalendarMonth = month;
        _self.styleClearAll();
        if (_self.recurPattern != null) {
            _self.paintRepeatPattern(method);
        }
        if (_self.clndr.options.extras.datesToAdd.length) {
            const datesToAdd = _self.clndr.options.extras.datesToAdd
                                .filter(EventCalendar.isInYear.bind(this, month))
                                .filter(EventCalendar.isInMonth.bind(this, month));
            datesToAdd.forEach(_self.styleToAdd.bind(_self));
        }
        if (_self.clndr.options.extras.datesToDel.length) {
            const datesToDel = _self.clndr.options.extras.datesToDel
                                .filter(EventCalendar.isInYear.bind(this, month))
                                .filter(EventCalendar.isInMonth.bind(this, month));
            datesToDel.forEach(_self.styleToDel.bind(_self));
        }
        if ($today.length) {
            $today.attr('aria-label', _self.ariaStartDate);
        }
        _self.updateReview();
    }
paintMonth ( month , method ) { let _self = this , $today = _self . clndr . element . find ( '[data-day="' + _self . clndr . options . constraints . startDate + '"]' ) ; _self . currentCalendarMonth = month ; _self . styleClearAll ( ) ; if ( _self . recurPattern != null ) { _self . paintRepeatPattern ( method ) ; } if ( _self . clndr . options . extras . datesToAdd . length ) { const datesToAdd = _self . clndr . options . extras . datesToAdd . filter ( EventCalendar . isInYear . bind ( this , month ) ) . filter ( EventCalendar . isInMonth . bind ( this , month ) ) ; datesToAdd . forEach ( _self . styleToAdd . bind ( _self ) ) ; } if ( _self . clndr . options . extras . datesToDel . length ) { const datesToDel = _self . clndr . options . extras . datesToDel . filter ( EventCalendar . isInYear . bind ( this , month ) ) . filter ( EventCalendar . isInMonth . bind ( this , month ) ) ; datesToDel . forEach ( _self . styleToDel . bind ( _self ) ) ; } if ( $today . length ) { $today . attr ( 'aria-label' , _self . ariaStartDate ) ; } _self . updateReview ( ) ; }
Triggered when navigating through or making any changes to the calendar.
Triggered when navigating through or making any changes to the calendar .
// Store currently viewed month, used when changing endDate to check if we need to refocus the calendar // Unpaint the entire month, used to catch any dates resetting to neutral // Recurrence pattern to paint for the displayed month // Exceptions to paint as to-add // Exceptions to paint as to-delete // Reset aria-label for 'today'