4 $.fn.animexxCalendar = function (option) {
5 //(wdcal_view, std_theme, data_feed_url, readonly, height_diff) {
8 $(this).find(".calselect input[type=checkbox]").each(function() {
9 if ($(this).prop("checked")) url_cal_add += "cal[]=" + $(this).val() + "&";
17 onWeekOrMonthToDay:wtd,
18 onBeforeRequestData:cal_beforerequest,
19 onAfterRequestData:cal_afterrequest,
20 onRequestDataError:cal_onerror,
23 url:option.data_feed_url + url_cal_add + "method=list",
24 quickAddUrl:option.data_feed_url + url_cal_add + "method=add",
25 quickUpdateUrl:option.data_feed_url + url_cal_add + "method=update",
26 quickDeleteUrl:option.data_feed_url + url_cal_add + "method=remove"
29 option = $.extend(def, option);
31 var $animexxcal = $(this),
32 $gridcontainer = $animexxcal.find(".gridcontainer"),
33 $dv = $animexxcal.find(".calhead"),
34 $caltoolbar = $animexxcal.find(".ctoolbar"),
35 $txtdatetimeshow = $animexxcal.find(".txtdatetimeshow"),
36 $loadingpanel = $animexxcal.find(".loadingpanel"),
37 $loaderrpanel = $animexxcal.find(".loaderror");
39 var _MH = document.documentElement.clientHeight;
40 var dvH = $dv.height() + 2;
42 option.height = _MH - dvH - option.height_diff;
43 if (option.height < 300) option.height = 300;
44 option.eventItems = [];
46 $animexxcal.find(".hdtxtshow").datepicker({
49 onSelect: function(dateText, inst) {
50 var r = new Date(inst.selectedYear, inst.selectedMonth, inst.selectedDay);
51 var p = $gridcontainer.gotoDate(r).BcalGetOp();
52 if (p && p.datestrshow) {
53 $animexxcal.find(".txtdatetimeshow").text(p.datestrshow);
57 $animexxcal.find(".txtdatetimeshow").css("cursor", "pointer").bind("click", function() {
58 $animexxcal.find(".hdtxtshow").datepicker("show");
61 var p = $gridcontainer.bcalendar(option).BcalGetOp();
62 if (p && p.datestrshow) {
63 $txtdatetimeshow.text(p.datestrshow);
66 $caltoolbar.noSelect();
68 function cal_beforerequest(type) {
69 var t = "Lade Daten...";
77 t = "Wird bearbeitete ...";
81 $loadingpanel.html(t).show();
84 function cal_afterrequest(type) {
85 var p = $gridcontainer.BcalGetOp();
86 if (p && p.datestrshow) {
87 $txtdatetimeshow.text(p.datestrshow);
97 $loadingpanel.html("Erfolg!");
98 $gridcontainer.reload();
99 window.setTimeout(function () {
100 $loadingpanel.hide();
107 function cal_onerror(type, data) {
108 $loaderrpanel.show();
112 if (p && p.datestrshow) {
113 $txtdatetimeshow.text(p.datestrshow);
115 $caltoolbar.find("div.fcurrent").removeClass("fcurrent");
116 $animexxcal.find(".showdaybtn").addClass("fcurrent");
120 $animexxcal.find(".showdaybtn").on("click", function (e) {
121 //document.location.href="#day";
122 $caltoolbar.find("div.fcurrent").removeClass("fcurrent");
123 $(this).addClass("fcurrent");
124 var p = $gridcontainer.switchView("day").BcalGetOp();
125 if (p && p.datestrshow) {
126 $txtdatetimeshow.text(p.datestrshow);
131 $animexxcal.find(".showweekbtn").on("click", function (e) {
132 //document.location.href="#week";
133 $caltoolbar.find("div.fcurrent").removeClass("fcurrent");
134 $(this).addClass("fcurrent");
135 var p = $gridcontainer.switchView("week").BcalGetOp();
136 if (p && p.datestrshow) {
137 $txtdatetimeshow.text(p.datestrshow);
142 $animexxcal.find(".showmonthbtn").on("click", function (e) {
143 //document.location.href="#month";
144 $caltoolbar.find("div.fcurrent").removeClass("fcurrent");
145 $(this).addClass("fcurrent");
146 var p = $gridcontainer.switchView("month").BcalGetOp();
147 if (p && p.datestrshow) {
148 $txtdatetimeshow.text(p.datestrshow);
153 $animexxcal.find(".showreflashbtn").on("click", function (e) {
154 $gridcontainer.reload();
159 $animexxcal.find(".showtodaybtn").on("click", function (e) {
160 var p = $gridcontainer.gotoDate().BcalGetOp();
161 if (p && p.datestrshow) {
162 $txtdatetimeshow.text(p.datestrshow);
167 //previous date range
168 $animexxcal.find(".sfprevbtn").on("click", function (e) {
169 var p = $gridcontainer.previousRange().BcalGetOp();
170 if (p && p.datestrshow) {
171 $txtdatetimeshow.text(p.datestrshow);
176 $animexxcal.find(".sfnextbtn").on("click", function (e) {
177 var p = $gridcontainer.nextRange().BcalGetOp();
178 if (p && p.datestrshow) {
179 $txtdatetimeshow.text(p.datestrshow);
184 $animexxcal.find(".calselect input[type=checkbox]").on("click change", function() {
185 var url_cal_add = option.data_feed_url + "?";
186 $animexxcal.find(".calselect input[type=checkbox]").each(function() {
187 if ($(this).prop("checked")) url_cal_add += "cal[]=" + $(this).val() + "&";
190 url:option.data_feed_url + url_cal_add + "method=list",
191 quickAddUrl:option.data_feed_url + url_cal_add + "method=add",
192 quickUpdateUrl:option.data_feed_url + url_cal_add + "method=update",
193 quickDeleteUrl:option.data_feed_url + url_cal_add + "method=remove"
196 var url = url_cal_add + "method=list";
197 var p = $gridcontainer.BcalGetOp();
199 $gridcontainer.BcalSetOp({
200 "url": url_cal_add + "method=list",
201 "quickAddUrl": url_cal_add + "method=add",
202 "quickUpdateUrl": url_cal_add + "method=update",
203 "quickDeleteUrl": url_cal_add + "method=remove"
205 $gridcontainer.reload();