Skip to content

Commit b8164d7

Browse files
committed
Update README.md
State of play as of initial commit.
1 parent 41d51d6 commit b8164d7

File tree

1 file changed

+32
-1
lines changed

1 file changed

+32
-1
lines changed

README.md

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,40 @@
11
# Resource Calendar
2-
## Objective
32

3+
## Status
4+
Working framework in place, currently ~75% feature-complete for the first calendar view (view one week for each
5+
resource associated with a calendar, time slots arranged vertically). At this point you can:
6+
* Drag one of the predefined meeting types onto any of the resource calendars
7+
* Drag meetings within and between resources
8+
* Click on meetings to open an event-editing box
9+
* drag the bottom edge of a meeting to change its overall duration
10+
11+
## Objective
412
To create an alternative to the FullCalendar jquery plugin. Improvements over FullCalendar include:
513
* Tableless layout
614
* Overridable rendering functions
715
* Events become independent objects that can be transferred between Calendars
816
* A new Resource container class, giving a hierarchy of Calendar -> one or more Resources -> zero or more Events
917
* Extensible Policies - locked events, nudge later events on insert, inter-event gaps
18+
19+
## Implementation Notes
20+
Some existing code will be refactored to group customizable functionality in easy to find locations. To a large extent
21+
in the code that has been implemented so far, anything that is application-specific has been abstracted out, but
22+
this is a work in progress.
23+
24+
There is a dependency on "moment.js", a javascript Date extension. Since this project is heavily dependent on date
25+
manipulation it has been included at this point in order to simplify these operations; if it turns out to be under-utilized,
26+
it shall be eliminated.
27+
28+
Examples of customizability include:
29+
* Rendering of calendars and events is carried out by doT javascript template functions. These can be found
30+
in the templates directory; the raw doT template code is shown in comments. These are compiled into js functions using the
31+
cut and paste compiler on http://olado.github.io/doT/.
32+
* The functions used to render the calendars and events are defined in the rc_calendar default settings at the
33+
top of rc_calendar.js, but can be overridden by options passed into the rc_calendar constructor
34+
* The resources associated with the calendar are defined in <resource> tags in the html code (see test.html). I'm not
35+
sure this is good practice, so may replace it with an alternative method
36+
* The resource definitions include a reference to a js validation function, and a set of parameters that is passed to the
37+
validator when an event is dropped onto the resource. The example function in test.html shows how the data parameters can
38+
be used to perform bounds checking on event attributes, without writing additional code
39+
* The test system uses Pine Notifications to provide system notifications and for editing the event attributes.
40+
This is abstracted through functions in rc_utitlies.js, allowing another notification system to be used if prefered

0 commit comments

Comments
 (0)