A full interactive Calendar UI built for Vanilla JS or use in other frontend frameworks.

#javascript #js #vanillajs #ui #frontend #webdev #website #html #css #jquery

Adam Shaw 39dd3f08f4 misc comments 12 سال پیش
build fb0202e6a5 update bower shim readme 12 سال پیش
demos 0c6f0ff13c adjust demos to work with PHP 5.2 or higher 12 سال پیش
lang 564ee6a9a9 [2.0] FullCalendar language files 12 سال پیش
src 39dd3f08f4 misc comments 12 سال پیش
tasks 05ab0a7cf8 [2.0] build system updates, esp for language file generation 12 سال پیش
tests c8219f6238 parse ISO8601 date strings without date-of-month as first-of-month 12 سال پیش
.bowerrc 9181e8be2e bower components go in lib/, all demos and tests reference them directly 12 سال پیش
.gitignore 9181e8be2e bower components go in lib/, all demos and tests reference them directly 12 سال پیش
Gruntfile.js 3746117815 fix lint problems in misc js files 12 سال پیش
bower.json 316e94412d upgrade to moment 2.5.1 and resolve cloning issue 12 سال پیش
changelog.md 1b12c3a35b update changelog with temporary link to 2.0 Upgrade article 12 سال پیش
fullcalendar.jquery.json 18f41c3550 [2.0] meta file updates 12 سال پیش
jscs.conf.js 3746117815 fix lint problems in misc js files 12 سال پیش
jshint.conf.js 39dd3f08f4 misc comments 12 سال پیش
karma.conf.js 80fe8c1c96 new tests for ambiguous moments, moment construtors, moment range querying 12 سال پیش
license.txt b7e644bf4e change to single MIT license. update banners in source files 13 سال پیش
lumbar.json 1f5b6490a3 break apart date_utils.js 12 سال پیش
package.json b23937a015 setup for code linting and style checking (jshint/jscs) 12 سال پیش
readme.md aecd5a49ed improve readme to include info about style guide 12 سال پیش

readme.md

FullCalendar - Full-sized drag & drop event calendar

This document describes how to modify or contribute to the FullCalendar project. If you are looking for end-developer documentation, please visit the project homepage.

Getting Set Up

You will need Git, Node, and NPM installed. For clarification, please view the jQuery readme, which requires a similar setup.

Also, you will need the grunt-cli and bower packages installed globally (-g) on your system:

npm install -g grunt-cli bower

Then, clone FullCalendar's git repo:

git clone git://github.com/arshaw/fullcalendar.git

Enter the directory and install FullCalendar's development dependencies:

cd fullcalendar && npm install

Development Workflow

After you make code changes, you'll want to compile the JS/CSS so that it can be previewed from the tests and demos. You can either manually rebuild each time you make a change:

grunt dev

Or, you can run a script that automatically rebuilds whenever you save a source file:

./build/watch

You can optionally add the --sourceMap flag to output source maps for debugging.

When you are finished, run the following command to write the distributable files into the ./build/out/ and ./build/dist/ directories:

grunt

If you want to clean up the generated files, run:

grunt clean

Automated Testing

To run automated tests, you must first install karma globally:

npm install -g karma

Then, assuming all your source files have been built (via grunt dev or watch), you can run the tests from a browser:

karma start --single-run

This will output a URL that you can visit in a browser. Alternatively, you can run the tests headlessly:

karma start --single-run --browsers PhantomJS

Style Guide

Please follow the Google JavaScript Style Guide as closely as possible. With the following exceptions:

if (true) {
}
else { // please put else, else if, and catch on a separate line
}

// please write one-line array literals with a one-space padding inside
var a = [ 1, 2, 3 ];

// please write one-line object literals with a one-space padding inside
var o = { a: 1, b: 2, c: 3 };

Other exceptions:

  • please ignore anything about Google Closure Compiler or the goog library
  • please do not write JSDoc comments

Notes about whitespace:

  • use tabs instead of spaces
  • separate functions with 2 blank lines
  • separate logical blocks within functions with 1 blank line

Before Contributing

If you have edited code (including tests and translations) and would like to submit a pull request, please make sure you have successfully ran the automated tests (instructions above) as well as checked your code for any quality/styling errors. To do this, run:

grunt check