| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- $(document).ready(function() {
- var cached = {};
- $('#calendar').fullCalendar({
- header: {
- left: 'prev,next today',
- center: 'title',
- right: ''
- },
- editable: false,
- lang: "pl",
- titleFormat: "MMMM YYYY [("+USER+")]",
- editable: false,
- viewRender: function (view, element) {
- getWorkingHours(moment(view.intervalStart).format("YYYY-MM"));
- },
- eventLimit: true, // allow "more" link when too many events
- /*events: [
- {
- title: '10:00 - 16:00',
- start: '2016-08-01',
- className: 'workingHours'
- }
- ],*/
- });
- function getWorkingHours(date) {
- if (cached[date] != true) {
- cached[date] = true;
- var link = BASE_URL + 'wfs-data.php/default_db/?SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAME=p5_default_db:GRAFIK_PRACY&SRSNAME=EPSG:3003&Filter=<ogc:Filter><ogc:And><ogc:PropertyIsLike wildCard="*" singleChar="^" escapeChar="!"><ogc:PropertyName>DATE</ogc:PropertyName><ogc:Literal>'+date+'-*</ogc:Literal></ogc:PropertyIsLike><ogc:PropertyIsEqualTo><ogc:PropertyName>L_APPOITMENT_USER</ogc:PropertyName><ogc:Literal>' + USER + '</ogc:Literal></ogc:PropertyIsEqualTo></ogc:And></ogc:Filter>';
- //console.log(link);
- if (DBG) console.log('DBG API fetch', link);
- $.get(link, function(data){
- if (DBG) console.log('DBG jQuery.fn.jquery', jQuery.fn.jquery);
- if (DBG) console.log('DBG fetched data', data);
- if (DBG) console.log('DBG $ data', $(data));
- if (DBG) console.log('DBG $ data.children()', $(data).children());
- if (DBG) console.log('DBG $ data.children().children()', $(data).children().children());
- // if (DBG) console.log('DBG featureMembers $ parsed', $($.parseXML(data)).find("gml:featureMember"));
- if (DBG) console.log('DBG featureMembers $', $(data).find("featureMember"));
- if (DBG) console.log('DBG featuremembers $', $(data).find("featuremember"));
- $.each($($(data).children()[0]).children(), function() {
- var item = { // BUG not working everywhere
- id: $(this).find("ID").text(),
- start_work_hour: $(this).find("START_WORK_HOUR").text(),
- end_work_hour: $(this).find("END_WORK_HOUR").text(),
- date: $(this).find("DATE").text(),
- };
- if (!$(this)[0]) {
- if (DBG) console.warn("Missing $(this)[0]", $(this));
- return false;
- }
- var fmNode = $(this)[0]
- var item = {
- id: fmNode.getElementsByTagName('ID'),
- start_work_hour: fmNode.getElementsByTagName("START_WORK_HOUR"),
- end_work_hour: fmNode.getElementsByTagName("END_WORK_HOUR"),
- date: fmNode.getElementsByTagName("DATE"),
- };
- if (item.id) item.id = $(item.id).text();
- if (item.start_work_hour) item.start_work_hour = $(item.start_work_hour).text();
- if (item.end_work_hour) item.end_work_hour = $(item.end_work_hour).text();
- if (item.date) item.date = $(item.date).text();
- if (DBG) console.log('DBG featureMember item', item);
- if (!item.id) {
- if (DBG) console.warn('Missing featureMember item', item);
- return false;
- }
- var source = {};
- if (moment(item.start_work_hour, "HH:mm:ss").format("HH:mm") != "00:00") {
- source["title"] = moment(item.start_work_hour, "HH:mm:ss").format("HH:mm")+" - "+moment(item.end_work_hour, "HH:mm:ss").format("HH:mm");
- source["className"] = 'workingHours';
- } else {
- source["title"] = "Uzupełnij";
- source["className"] = 'empty';
- }
- source["start"] = item.date;
- source["url"] = BASE_URL + 'index.php?_route=ViewTableAjax&namespace=default_db/GRAFIK_PRACY#EDIT/'+item.id;
- $('#calendar').fullCalendar('renderEvent', source, true);
- });
- });
- }
- }
- });
|