calendar.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. $(document).ready(function() {
  2. var cached = {};
  3. $('#calendar').fullCalendar({
  4. header: {
  5. left: 'prev,next today',
  6. center: 'title',
  7. right: ''
  8. },
  9. editable: false,
  10. lang: "pl",
  11. titleFormat: "MMMM YYYY [("+USER+")]",
  12. editable: false,
  13. viewRender: function (view, element) {
  14. getWorkingHours(moment(view.intervalStart).format("YYYY-MM"));
  15. },
  16. eventLimit: true, // allow "more" link when too many events
  17. /*events: [
  18. {
  19. title: '10:00 - 16:00',
  20. start: '2016-08-01',
  21. className: 'workingHours'
  22. }
  23. ],*/
  24. });
  25. function getWorkingHours(date){
  26. if(cached[date] != true){
  27. cached[date] = true;
  28. 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>';
  29. //console.log(link);
  30. $.get(link, function(data){
  31. $.each($(data).find("featureMember"), function(){
  32. if($(this).find("ID").text() == "0"){
  33. return;
  34. }
  35. var source = {};
  36. if(moment($(this).find("START_WORK_HOUR").text(), "HH:mm:ss").format("HH:mm") != "00:00"){
  37. source["title"] = moment($(this).find("START_WORK_HOUR").text(), "HH:mm:ss").format("HH:mm")+" - "+moment($(this).find("END_WORK_HOUR").text(), "HH:mm:ss").format("HH:mm");
  38. source["className"] = 'workingHours';
  39. }else {
  40. source["title"] = "Uzupełnij";
  41. source["className"] = 'empty';
  42. }
  43. source["start"] = $(this).find("DATE").text();
  44. source["url"] = BASE_URL + 'index.php?MENU_INIT=VIEWTABLE_AJAX&ZASOB_ID='+TableId+'#EDIT/'+$(this).find("ID").text();
  45. $('#calendar').fullCalendar( 'renderEvent', source, true );
  46. });
  47. });
  48. }
  49. }
  50. });