Piotr Labudda před 8 roky
rodič
revize
3822cf4ff7
2 změnil soubory, kde provedl 53 přidání a 44 odebrání
  1. 12 7
      SE/se-lib/Route/UrlAction/Calendar.php
  2. 41 37
      SE/static/calendar.js

+ 12 - 7
SE/se-lib/Route/UrlAction/Calendar.php

@@ -31,19 +31,24 @@ class Route_UrlAction_Calendar extends RouteBase {// TODO: UrlActionBase @see Ro
 	}
 
 	public function showCalendar($userLogin) {
-		echo "<div class=container-fluid>";
-		echo "<div class=row>";
-		echo "<div class=col-md-12 >";
-		echo "<div id=calendar style=margin-top:15px;></div>";
+		echo '<div class="container-fluid">';
+		echo '<div class="row">';
+		echo '<div class="col-md-12">';
+		echo '<div id="calendar" style="margin-top:15px"></div>';
 		echo "</div>";
 		echo "</div>";
-		echo "<script>var BASE_URL = '".Request::getPathUri()."';var USER='".$userLogin."';var TableId=".ProcesHelper::getZasobTableID('GRAFIK_PRACY').";</script>";
-		//echo "<script>var BASE_URL = '".Request::getPathUri()."';var TASK = ".$userLogin.";var USER = '".User::getLogin()."';var TYPE='".$type."'; var ProblemsTableId=".ProcesHelper::getZasobTableID('PROBLEMS').";var ProjectsTableId=".ProcesHelper::getZasobTableID('IN7_MK_BAZA_DYSTRYBUCJI')."</script>";
+		// echo "<script>var BASE_URL = '".Request::getPathUri()."';var USER='".$userLogin."';var TableId=".ProcesHelper::getZasobTableID('GRAFIK_PRACY').";</script>";
 		echo '<script src="static/sweetalert2.min.js"></script>';
 		echo '<link rel="stylesheet" type="text/css" href="static/sweetalert2.min.css">';
 		echo '<script src="static/fullcalendar.min.js"></script>';
 		echo '<link rel="stylesheet" href="static/fullcalendar.min.css" type="text/css" />';
-		echo '<script src="static/calendar.js?11"></script>';
+		// echo '<script src="static/calendar.js?11.1"></script>';
+		UI::inlineJS(APP_PATH_WWW . '/static/calendar.js', [
+			'BASE_URL' => Request::getPathUri(),
+			'USER' => $userLogin,
+			'TableId' => ProcesHelper::getZasobTableID('GRAFIK_PRACY'),
+			'DBG' => (V::get('DBG', '', $_GET)) ? 1 : 0
+		]);
 		$this->showCss();
 		//echo '<link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.9.0/fullcalendar.print.css">';
 	}

+ 41 - 37
SE/static/calendar.js

@@ -1,58 +1,62 @@
 $(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'
-				}
-			],*/
-		});
+	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){
+	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);
 
 			$.get(link, function(data){
-				$.each($(data).find("featureMember"), function(){
-					if($(this).find("ID").text() == "0"){
+				$.each($(data).find("featureMember"), function() {
+					var item = {
+						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 (DBG) console.log('DBG featureMember item', item);
+					if (item.id == "0") {
 						return;
 					}
 					var source = {};
-					if(moment($(this).find("START_WORK_HOUR").text(), "HH:mm:ss").format("HH:mm") != "00:00"){
-						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");
+					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 {
+					} else {
 						source["title"] = "Uzupełnij";
 						source["className"] = 'empty';
 					}
-					source["start"] = $(this).find("DATE").text();
-
-					source["url"] = BASE_URL + 'index.php?MENU_INIT=VIEWTABLE_AJAX&ZASOB_ID='+TableId+'#EDIT/'+$(this).find("ID").text();
-
-					$('#calendar').fullCalendar( 'renderEvent', source, true );
+					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);
 				});
-
 			});
 		}
     }
 
-	});
+});