1.0.3 • Published 3 years ago

@pixelguild/tardis v1.0.3

Weekly downloads
-
License
ISC
Repository
github
Last release
3 years ago

tardis - event calendar object

An event calendar object used to hydrate a calendar view allowing events with arbitrary parameters.

Install

npm i @pixelguild/tardis

Basic Usage

const tardis = require('@pixelguild/tardis');

// offset = used to navigate to different time windows. 
//          defaults to 0 which is current date
// range  = the amount of days to return (i.e. day, week, month)
// state  = starting date used as a reference point 
// events = Array of objects

const offset = 0;
const range = 'month';
const _date = new Date();

// Events - example data. 
// Requires and empty array or an array of objects
// A minimum of _date (YYYY-MM-DD) and
// group (used for grouping events by type in compact display) 
// Any other arbitrary values can be passed for use in display

const _events = [
    {
        _date: '2021-03-18',
        group: 'workorders', 
        label: 'Event 1', 
        description: 'Lorem ipsum delor'
    },
    {
        _date: '2021-03-06',
        group: 'checklists', 
        label: 'Event 2', 
        description: 'Lorem ipsum delor'
    }
];

// Create calendar object
// Date can be formated as new Date(), '2021-03-04' or 
// 'Thu Mar 04 2021 00:00:00 GMT-0500'
const calendarObj = tardis.create(offset,range,_date,_events); 

// Entire calendar object with all data returned 
// including current offset, range, toolbarDate (for display)
console.log(calendarObj);

// Day array to build calendar grid
console.table(calendarObj.days);

View Range

Day

tardis.create(0,'day',state,events);

Week

tardis.create(0,'week',state,events);

Month

tardis.create(0,'month',state,events);

Navigation

Next Month / Week / Day

const offset = 1 // Go forward in time 1 range unit
const state = new Date();
const _events = []; // Array of objects
tardis.create(1,'month',state,events); // or use 'day', 'week'

Previous Month / Week / Day

const offset = -1 // Go back in time 1 range unit
const state = new Date();
const _events = []; // Array of objects
tardis.create(,'month',state,events); // or use 'day', 'week'

Today

const state = new Date();
const _events = []; // Array of objects
tardis.create(0,'day',state,events); // or use 'week', 'month'