event_cal 1.2 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/lib/event_cal/version.rb
CHANGED
@@ -3,9 +3,31 @@ class CalendarApplication
|
|
3
3
|
'ul.dates': CalendarDatesController
|
4
4
|
'ul.event_details': CalendarEventsController
|
5
5
|
|
6
|
-
@initialize = () ->
|
6
|
+
@initialize = (options = {}) ->
|
7
7
|
for element, controller of calendarElements
|
8
8
|
for el in $(element)
|
9
9
|
new controller($(el))
|
10
10
|
|
11
|
+
if options.history
|
12
|
+
@initializeHistory(options.basePath)
|
13
|
+
|
14
|
+
@initializeHistory = (basePath) ->
|
15
|
+
CalendarDate.all().map(
|
16
|
+
(date) ->
|
17
|
+
date.element.bind('click', (event) ->
|
18
|
+
window?.history?.pushState(
|
19
|
+
{ dateObjectId: date.id },
|
20
|
+
null,
|
21
|
+
"#{basePath}/#{date.toPath()}"
|
22
|
+
)
|
23
|
+
)
|
24
|
+
)
|
25
|
+
|
26
|
+
window?.onpopstate = (event) ->
|
27
|
+
if event.state?.dateObjectId?
|
28
|
+
date = CalendarDate.find(event.state.dateObjectId)
|
29
|
+
date.trigger('activate')
|
30
|
+
CalendarDate.deactivateAllDates()
|
31
|
+
date.updateAttributes(active: true)
|
32
|
+
|
11
33
|
window.CalendarApplication = CalendarApplication
|
@@ -1,10 +1,10 @@
|
|
1
|
-
// Generated by CoffeeScript 1.3.
|
1
|
+
// Generated by CoffeeScript 1.3.3
|
2
2
|
(function() {
|
3
3
|
var $, CalendarApplication, CalendarDate, CalendarDatesController, CalendarEvent, CalendarEventsController, Controller, Events, Log, Model, Module, Spine, createObject, isArray, isBlank, makeArray, moduleKeywords,
|
4
4
|
__slice = [].slice,
|
5
5
|
__indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },
|
6
6
|
__hasProp = {}.hasOwnProperty,
|
7
|
-
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor; child.__super__ = parent.prototype; return child; },
|
7
|
+
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
|
8
8
|
__bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };
|
9
9
|
|
10
10
|
Events = {
|
@@ -94,8 +94,6 @@
|
|
94
94
|
|
95
95
|
Module = (function() {
|
96
96
|
|
97
|
-
Module.name = 'Module';
|
98
|
-
|
99
97
|
Module.include = function(obj) {
|
100
98
|
var key, value, _ref;
|
101
99
|
if (!obj) {
|
@@ -158,8 +156,6 @@
|
|
158
156
|
|
159
157
|
__extends(Model, _super);
|
160
158
|
|
161
|
-
Model.name = 'Model';
|
162
|
-
|
163
159
|
Model.extend(Events);
|
164
160
|
|
165
161
|
Model.records = {};
|
@@ -647,8 +643,6 @@
|
|
647
643
|
|
648
644
|
__extends(Controller, _super);
|
649
645
|
|
650
|
-
Controller.name = 'Controller';
|
651
|
-
|
652
646
|
Controller.include(Events);
|
653
647
|
|
654
648
|
Controller.include(Log);
|
@@ -875,8 +869,6 @@
|
|
875
869
|
|
876
870
|
__extends(Result, _super);
|
877
871
|
|
878
|
-
Result.name = 'Result';
|
879
|
-
|
880
872
|
function Result() {
|
881
873
|
return Result.__super__.constructor.apply(this, arguments);
|
882
874
|
}
|
@@ -905,8 +897,6 @@
|
|
905
897
|
|
906
898
|
__extends(Instance, _super);
|
907
899
|
|
908
|
-
Instance.name = 'Instance';
|
909
|
-
|
910
900
|
function Instance() {
|
911
901
|
return Instance.__super__.constructor.apply(this, arguments);
|
912
902
|
}
|
@@ -924,8 +914,6 @@
|
|
924
914
|
|
925
915
|
__extends(CalendarDate, _super);
|
926
916
|
|
927
|
-
CalendarDate.name = 'CalendarDate';
|
928
|
-
|
929
917
|
function CalendarDate() {
|
930
918
|
return CalendarDate.__super__.constructor.apply(this, arguments);
|
931
919
|
}
|
@@ -954,8 +942,6 @@
|
|
954
942
|
|
955
943
|
__extends(CalendarEvent, _super);
|
956
944
|
|
957
|
-
CalendarEvent.name = 'CalendarEvent';
|
958
|
-
|
959
945
|
function CalendarEvent() {
|
960
946
|
return CalendarEvent.__super__.constructor.apply(this, arguments);
|
961
947
|
}
|
@@ -993,8 +979,6 @@
|
|
993
979
|
|
994
980
|
__extends(CalendarDatesController, _super);
|
995
981
|
|
996
|
-
CalendarDatesController.name = 'CalendarDatesController';
|
997
|
-
|
998
982
|
function CalendarDatesController(element) {
|
999
983
|
this.element = element;
|
1000
984
|
this.initializeDates();
|
@@ -1048,8 +1032,6 @@
|
|
1048
1032
|
|
1049
1033
|
__extends(CalendarEventsController, _super);
|
1050
1034
|
|
1051
|
-
CalendarEventsController.name = 'CalendarEventsController';
|
1052
|
-
|
1053
1035
|
function CalendarEventsController(element) {
|
1054
1036
|
var el, event, _i, _len, _ref;
|
1055
1037
|
_ref = element.find('.event_detail');
|
@@ -1084,8 +1066,6 @@
|
|
1084
1066
|
CalendarApplication = (function() {
|
1085
1067
|
var calendarElements;
|
1086
1068
|
|
1087
|
-
CalendarApplication.name = 'CalendarApplication';
|
1088
|
-
|
1089
1069
|
function CalendarApplication() {}
|
1090
1070
|
|
1091
1071
|
calendarElements = {
|
@@ -1093,23 +1073,44 @@
|
|
1093
1073
|
'ul.event_details': CalendarEventsController
|
1094
1074
|
};
|
1095
1075
|
|
1096
|
-
CalendarApplication.initialize = function() {
|
1097
|
-
var controller, el, element,
|
1098
|
-
|
1076
|
+
CalendarApplication.initialize = function(options) {
|
1077
|
+
var controller, el, element, _i, _len, _ref;
|
1078
|
+
if (options == null) {
|
1079
|
+
options = {};
|
1080
|
+
}
|
1099
1081
|
for (element in calendarElements) {
|
1100
1082
|
controller = calendarElements[element];
|
1101
|
-
|
1102
|
-
|
1103
|
-
|
1104
|
-
|
1105
|
-
|
1106
|
-
el = _ref[_i];
|
1107
|
-
_results1.push(new controller($(el)));
|
1108
|
-
}
|
1109
|
-
return _results1;
|
1110
|
-
})());
|
1083
|
+
_ref = $(element);
|
1084
|
+
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
1085
|
+
el = _ref[_i];
|
1086
|
+
new controller($(el));
|
1087
|
+
}
|
1111
1088
|
}
|
1112
|
-
|
1089
|
+
if (options.history) {
|
1090
|
+
return this.initializeHistory(options.basePath);
|
1091
|
+
}
|
1092
|
+
};
|
1093
|
+
|
1094
|
+
CalendarApplication.initializeHistory = function(basePath) {
|
1095
|
+
CalendarDate.all().map(function(date) {
|
1096
|
+
return date.element.bind('click', function(event) {
|
1097
|
+
var _ref;
|
1098
|
+
return typeof window !== "undefined" && window !== null ? (_ref = window.history) != null ? _ref.pushState({
|
1099
|
+
dateObjectId: date.id
|
1100
|
+
}, null, "" + basePath + "/" + (date.toPath())) : void 0 : void 0;
|
1101
|
+
});
|
1102
|
+
});
|
1103
|
+
return typeof window !== "undefined" && window !== null ? window.onpopstate = function(event) {
|
1104
|
+
var date, _ref;
|
1105
|
+
if (((_ref = event.state) != null ? _ref.dateObjectId : void 0) != null) {
|
1106
|
+
date = CalendarDate.find(event.state.dateObjectId);
|
1107
|
+
date.trigger('activate');
|
1108
|
+
CalendarDate.deactivateAllDates();
|
1109
|
+
return date.updateAttributes({
|
1110
|
+
active: true
|
1111
|
+
});
|
1112
|
+
}
|
1113
|
+
} : void 0;
|
1113
1114
|
};
|
1114
1115
|
|
1115
1116
|
return CalendarApplication;
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: event_cal
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.2.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-01-
|
12
|
+
date: 2013-01-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -256,7 +256,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
256
256
|
version: '0'
|
257
257
|
segments:
|
258
258
|
- 0
|
259
|
-
hash: -
|
259
|
+
hash: -4110643961258391012
|
260
260
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
261
261
|
none: false
|
262
262
|
requirements:
|
@@ -265,7 +265,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
265
265
|
version: '0'
|
266
266
|
segments:
|
267
267
|
- 0
|
268
|
-
hash: -
|
268
|
+
hash: -4110643961258391012
|
269
269
|
requirements: []
|
270
270
|
rubyforge_project:
|
271
271
|
rubygems_version: 1.8.24
|