Giter Club home page Giter Club logo

collisions.js's Introduction

calendar/event collision detection for JS

If I were good at maths, I'm certain there would be an easier way to determine of two events are overlapping. In lieu of that, I decided to properly test (perhaps a bit enthusiastically) some code I was using to do ad-hoc checking for calendar collisions.

quickstart:

Given two objects with a start and end date:

a = {
	start: new Date(),
	end: new Date()
};

b = {
	start: new Date(),
	end: new Date()
};

Determine if there is any kind of collision by:

collision.intersect(a.start.valueOf(), a.end.valueOf(), b.start.valueOf(), b.end.valueOf());
//returns true if there is an overlap

Methods

.intersect(a.start, a.end, b.start, b.end);

Expects a and b as integers. Returns true if it finds an intersection of events.

.before(aStart, aEnd, bStart, bEnd)
.after(aStart, aEnd, bStart, bEnd)

Before and after determine whether a is wholly before or after b.

.within(aStart, aEnd, bStart, bEnd);

Returns true if b is within a

.during(aStart, aEnd, bStart, bEnd);

Returns true if a is within b

collisions.js's People

Contributors

davidporter-id-au avatar

Watchers

Yannick Albert avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.