ソースを参照

updated Theme, added Theme Bocian

Piotr Labudda 7 年 前
コミット
704df158e9

+ 11 - 5
SE/se-lib/Route/UrlAction/BiAuditRaport.php

@@ -8,7 +8,9 @@ Lib::loadClass('Response');
 class Route_UrlAction_BiAuditRaport extends RouteBase {
 
 	public function defaultAction() {
-		UI::topSection();
+		UI::gora();
+		Theme::top();
+		echo '<div id="smad-wrapper">';
 
 		echo '<div class="container-bi_audit_raport"></div>';
 		/*try {
@@ -51,9 +53,12 @@ class Route_UrlAction_BiAuditRaport extends RouteBase {
 			'URL_FETCH_PRACOWNICY' => $this->getLink('fetchPracownicyAjax'),
 			'URL_FETCH_KONTRAHENCI' => $this->getLink('fetchKontrahenciAjax'),
 			'DBG' => V::get('DBG', 0, $_GET),
+			'VIEW_KONTRAHENCI' => $this->htmlViewFormBiAudit([], 'KONTRAHENCI'),
+			'VIEW_PRACOWNICY' => $this->htmlViewFormBiAudit([], 'PRACOWNICY'),
 		]);
 
-		UI::footerSection();
+		echo '</div>'; // #smad-wrapper
+		UI::dol();
 	}
 /*
 	public function fetchEnergaRumKontrahenciPowiazaniaAjaxAction() {
@@ -326,6 +331,7 @@ public function showListKontrahenci($items) {
  * Pracownicy
  */
 	public function fetchPracownicyAjaxAction() {
+		// sleep(2);
 		Response::sendTryCatchJson(array($this, 'fetchPracownicyAjax'));
 	}
 
@@ -498,7 +504,7 @@ switch($type) {
 																		<div class="progress"><div class="progress-bar"></div></div>
 																		<a href="#" class="smad-wizard-dot"></a>
 																		<div class="smad-wizard-info  text-center">
-																				<div class="step ">Krok 2</div>
+																				<div class="step-item">Krok 2</div>
 																				<div class="step-title ">KONTRAHENCI</div>
 																		</div>
 																</div>
@@ -508,7 +514,7 @@ switch($type) {
 																		<div class="progress"><div class="progress-bar"></div></div>
 																		<a href="#" class="smad-wizard-dot"></a>
 																		<div class="smad-wizard-info text-center">
-																				<div class="step ">Krok 3</div>
+																				<div class="step-item>Krok 3</div>
 																				<div class="step-title ">SZUKANIE POWIĄZAŃ</div>
 																		</div>
 																</div>
@@ -605,7 +611,7 @@ switch($type) {
 								<a href="#" title="PRZENIEŚ DO GRUPY" class="btn btn-grey-border">PRZENIEŚ DO GRUPY</a>
 						</div>
 						<div class="col-lg-6 text-right">
-								<a href="index.php?_route=UrlAction_BiAuditRaport#KONTRAHENCI" title="DODAJ DO ANALIZY" class="btn btn-default">DODAJ DO ANALIZY</a>
+								<a href="index.php?_route=UrlAction_BiAuditRaport#KONTRAHENCI" onClick="reload" title="DODAJ DO ANALIZY" class="btn btn-default">DODAJ DO ANALIZY</a>
 						</div>
 				</div>
 		</div>

+ 31 - 19
SE/se-lib/Route/UrlAction/BiAuditRaport.php.view.js

@@ -47,12 +47,27 @@ console.log('hash url', valueUrl);
 console.log('URL_FETCH_KONTRAHENCI', URL_FETCH_KONTRAHENCI);
 switch (valueUrl) {
 	case '#KONTRAHENCI':
-		console.log('fetching...')
+	console.log('kontrahent');
+		$( ".container-bi_audit_raport" ).append( VIEW_KONTRAHENCI );
+		urlFetchKontrahenci();
+		break;
+	case '#PRACOWNICY':
+		$( ".container-bi_audit_raport" ).append( VIEW_PRACOWNICY );
+		urlFetchPracownicy();
+	break;
+
+	default:
+		$( ".container-bi_audit_raport" ).append( VIEW_PRACOWNICY );
+		urlFetchPracownicy();
+	break;
+}
+
+function urlFetchKontrahenci() {
 		fetch(URL_FETCH_KONTRAHENCI, {
 			credentials: 'same-origin'
 		})
 		.then(function parseJSON(response) {
-		  return response.json()
+			return response.json()
 		})
 		.then(function(data) {
 			$( ".container-bi_audit_raport" ).append( data.body.view );
@@ -60,25 +75,22 @@ switch (valueUrl) {
 		}).catch(function(e) {
 			console.log('request failed', e)
 		})
+}
 
-	break;
-
-	case '#PRACOWNICY':
-
-		fetch(URL_FETCH_PRACOWNICY, {
-			credentials: 'same-origin'
-		})
-		.then(function parseJSON(response) {
-		  return response.json()
-		})
-		.then(function(data) {
-			$( ".container-bi_audit_raport" ).append( data.body.view );
-			console.log('request succeeded with JSON response', data)
-		}).catch(function(error) {
-			console.log('request failed', error)
-		})
+function urlFetchPracownicy() {
 
-	break;
+			fetch(URL_FETCH_PRACOWNICY, {
+				credentials: 'same-origin'
+			})
+			.then(function parseJSON(response) {
+			  return response.json()
+			})
+			.then(function(data) {
+				$( ".container-bi_audit_raport" ).append( data.body.view );
+				console.log('request succeeded with JSON response', data)
+			}).catch(function(error) {
+				console.log('request failed', error)
+			})
 }
 
 

+ 44 - 0
SE/se-lib/Theme.php

@@ -0,0 +1,44 @@
+<?php
+
+Lib::loadClass('ThemeDefault');
+
+class Theme {
+
+	public static function getInstance() {
+		static $_theme = null;
+		DBG::log($_theme, 'array', "Theme::getInstance()...");
+		if (null !== $_theme) return $_theme;
+		try {
+			$themeName = ''; // TODO: read from config - theme
+			// $themeName = 'Bocian'; // TODO: DBG
+			DBG::log("Theme::getInstance({$themeName})");
+			$clsName = ($themeName) ? "Theme_{$themeName}" : "ThemeDefault";
+			Lib::loadClass($clsName);
+			$_theme = new $clsName();
+		} catch (Exception $e) {
+			DBG::log($e);
+			$_theme = new ThemeDefault();
+		}
+		return $_theme;
+	}
+
+	public static function head() {
+		return self::getInstance()->head(); // <link rel="stylesheet" href="stuff/bootstrap/css/bootstrap-theme.min.css" type="text/css" />';
+	}
+	public static function top() { // old menu
+		return self::getInstance()->top();
+	}
+	public static function footer() {
+		return self::getInstance()->footer();
+	}
+	public static function login($data) {
+		return self::getInstance()->login($data);
+	}
+	public static function logout($data) {
+		return self::getInstance()->logout($data);
+	}
+	public static function home($data) {
+		return self::getInstance()->home($data);
+	}
+
+}

+ 33 - 0
SE/se-lib/Theme/Bocian.php

@@ -0,0 +1,33 @@
+<?php
+
+
+class Theme_Bocian extends ThemeDefault {
+
+	function __construct() {
+		DBG::log("Theme_Bocian()...");
+	}
+
+	function head() {
+		// echo ''; // TODO: dodać bootsrap-theme-bocian
+		echo '<meta name="robots" content="noindex, nofollow">';
+		UI::inlineCSS(APP_PATH_WWW . '/static/theme_bocian/assets/css/styles.css');
+	}
+	function top() {
+		include dirname(__FILE__) . '/Bocian/top.php';
+	}
+	function footer() {
+		include dirname(__FILE__) . '/Bocian/footer.php';
+		//todo: ujednolicic wczytanie themy widoków i css w jednym katalogu(obecnie css w katalogu static a widoki w katalogu tmp )
+		UI::inlineRawJS(APP_PATH_WWW . '/static/theme_bocian/assets/js/scripts.js');
+	}
+	// function login($data) {
+	// 	echo '';
+	// }
+	// function logout($data) {
+	// 	echo '';
+	// }
+	function home($data) {
+		include dirname(__FILE__) . '/Bocian/home.php';
+	}
+
+}

+ 16 - 0
SE/se-lib/Theme/Bocian/footer.php

@@ -0,0 +1,16 @@
+<footer>
+ <div id="smad-footer-section" class="container-fluid padding-0">
+	 <div class="container">
+		 <div class="row">
+			  <div class="col-lg-12">
+					<ul class="menu-bottom">
+						<li><a href="#" title="O Bocianie">O Bocianie</a></li>
+						<li><a href="#" title="">Funkcje</a></li>
+						<li><a href="#" title="Bezpieczeństwo">Bezpieczeństwo</a></li>
+						<li><a href="#" title="">Kontakt</a></li>
+					</ul>
+				</div>
+			</div>
+		</div>
+	</div>
+</footer>

+ 77 - 0
SE/se-lib/Theme/Bocian/home.php

@@ -0,0 +1,77 @@
+<div class="container-fluid">
+    <div class="row">
+        <div class="container">
+            <div id="smad-menu-section">
+                <div class="col-md-6 padding-lr-0">
+                    <div class="menu-items">
+                        <div class="smad-heder-title menu-item"><span class="smad-line-red">|</span> RAPORTY</div>
+                        <div class="menu-item">
+                            <ul>
+                                <li><a href="#" title="zobacz raporty" class="btn btn-primary">zobacz raporty</a></li>
+                            </ul>
+                        </div>
+                    </div>
+                </div>
+                <div class="col-md-6 padding-lr-0">
+                    <div class="menu-items">
+                        <div class="menu-item smad-heder-title"><span class="smad-line-red">|</span> BAZY DANYCH</div>
+                        <div class="menu-item">
+                            <ul>
+                                <li><a href="#" title="KRS" class="btn btn-primary">KRS</a></li>
+                                <li><a href="#" title="CIDG" class="btn btn-primary">CIDG</a></li>
+                                <li><a href="#" title="RUM" class="btn btn-primary">RUM</a></li>
+                                <li><a href="#" title="KSIĘGOWOŚĆ" class="btn btn-primary">KSIĘGOWOŚĆ</a></li>
+                            </ul>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+
+<div class="container-fluid">
+    <div class="row">
+        <div class="container ">
+            <div id="smad-menu-form-section" class="border-top-grey">
+                <div class="col-md-6 padding-lr-0 smad-border-col">
+                    <div class="menu-items text-center">
+                        <div class="menu-item">
+                            <a href="index.php?_route=UrlAction_BiAuditRaport#PRACOWNICY" title="Pracownicy">
+                                <div>PRACOWNICY</div>
+                                <img src="static/theme_bocian/assets/images/button-red.png" alt="Pracownicy" />
+                            </a>
+                        </div>
+                    </div>
+                </div>
+                <div class="col-md-6 padding-lr-0">
+                    <div class="menu-items text-center">
+                        <div class="menu-item">
+                            <a href="index.php?_route=UrlAction_BiAuditRaport#KONTRAHENCI" title="Kontrahenci">
+                                <div>KONTRAHENCI</div>
+                                <img src="static/theme_bocian/assets/images/button-red.png" alt="Kontrahenci" />
+                            </a>
+                        </div>
+                    </div>
+                </div>
+                <div class="col-md-12 border-top-grey border-bottom-grey">
+                    <div class="menu-form-input text-center">
+                        <div class="menu-item smad-heder-title">głębokość powiązań:</div>
+                        <div class="menu-item">
+                            <input type="depth" class="form-control" placeholder="1-16" />
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+
+
+<div id="smad-generate-link" class="container-fluid">
+    <div class="row">
+        <div class="container text-center">
+            <a href="#" title="GENERUJ RAPORT POWIĄZAŃ" class="btn btn-default font-weight-700">GENERUJ RAPORT POWIĄZAŃ</a>
+        </div>
+    </div>
+</div>

+ 22 - 0
SE/se-lib/Theme/Bocian/top.php

@@ -0,0 +1,22 @@
+<div id="smad-header-section" class="container-fluid">
+	<div class="row">
+		<div class="col-xs-12 col-sm-2 col-md-2 col-lg-1 brand-logo">
+			<a href="/" title=""><img src="static/theme_bocian/assets/images/logo-bocian.png" alt="Bocian" /></a>
+		</div>
+		<div class="col-xs-12 col-sm-10 col-md-10 col-lg-11">
+			<div class="smad-top-first">
+				<ul>
+					<li><div class="smad-header-title">zalogowany jako:</div></li>
+					<li><div class="smad-desc">Jan Kowalski </div></li>
+					<li> <span class="smad-line-grey">|</span>	<a href="index.php?LOGIN=LOGOUT" title="Wyloguj" class="smad-logout"><img src="static/theme_bocian/assets/images/logout.png" alt="Wyloguj" /> Wyloguj</a></li>
+				</ul>
+			</div>
+			<div class="smad-top-second">
+				 <ul>
+					 <li><div class="smad-header-title">koniec sesji za:</div></li>
+					 <li><div class="smad-desc"><code id="session-timer" style="padding:2px 5px;font-weight:normal;color:#000;" title="Czas sesji">52:40</code></div></li>
+				 </ul>
+			</div>
+		</div>
+	</div>
+</div>

+ 39 - 0
SE/se-lib/ThemeDefault.php

@@ -0,0 +1,39 @@
+<?php
+
+class ThemeDefault {
+
+	function __construct() {
+		DBG::log("ThemeDefault()...");
+	}
+
+	function head() { // inside UI::gora()
+		// echo '<link rel="stylesheet" href="stuff/bootstrap/css/bootstrap-theme.min.css" type="text/css" />'; // TODO: dodać bootsrap-theme?
+	}
+	function top() {
+		// echo ''; // TODO: UI::menu + breacrumbs
+		Lib::loadClass('ProcesMenu');
+		$procesMenu = ProcesMenu::getInstance();
+		$procesMenu->show();
+		// if (!V::get('MENU_INIT', '', $_GET)) {
+		// 	Lib::loadClass('UserActivity');
+		// 	//echo UserActivity::showListInContainer();
+		// }
+	}
+	function footer() { // inside UI::dol()
+		$version = (file_exists(APP_PATH_ROOT . '/VERSION'))? file_get_contents(APP_PATH_ROOT . '/VERSION') : null;
+		if ($version) {
+			echo '<div style="' . UI::fixFooterPosition('footer_style') . 'border-top:1px solid #ddd; margin-top:10px; padding:0 30px; font-size:xx-small; color:#888">version: '.$version.'</div>';
+		}
+		echo UI::fixFooterPosition('footer_js_tag');
+	}
+	// function login($data) {
+	// 	echo '';
+	// }
+	// function logout($data) {
+	// 	echo '';
+	// }
+	function home($data) {
+		include APP_PATH_WWW . '/se-lib/tmpl/defaultPage.php';
+	}
+
+}

+ 12 - 37
SE/se-lib/UI.php

@@ -1,5 +1,6 @@
 <?php
 
+Lib::loadClass('Theme');
 
 class UI {
 
@@ -16,27 +17,6 @@ class UI {
 		return $title;
 	}
 
-public static function topSection() {
-	Lib::loadClass('S'); // todo: co to jest za klasa i czy jest wymagane dodanie klasy "S"
-	UI::loadTemplate('_layout_top_section');
-}
-
-
-public static function footerSection() {
-
-//todo: jeśli chciałbym przekazać parametr do widoku to musze go jakoś przekazać w klasie UI? Np. chciałbym przekazać wersje systemu
-/*		$version = (file_exists(APP_PATH_ROOT . '/VERSION'))? file_get_contents(APP_PATH_ROOT . '/VERSION') : null;
-		if ($version) {
-			echo '<div style="' . UI::fixFooterPosition('footer_style') . 'border-top:1px solid #ddd; margin-top:10px; padding:0 30px; font-size:xx-small; color:#888">version: '.$version.'</div>';
-		}
-*/
-
-UI::loadTemplate('_layout_footer_section');
-}
-
-
-
-
 	public static function gora() {
 		UI::startHtml();
 	}
@@ -61,11 +41,9 @@ UI::loadTemplate('_layout_footer_section');
 	}
 
 	public static function endHtml() {
-		$version = (file_exists(APP_PATH_ROOT . '/VERSION'))? file_get_contents(APP_PATH_ROOT . '/VERSION') : null;
-		if ($version) {
-			echo '<div style="' . UI::fixFooterPosition('footer_style') . 'border-top:1px solid #ddd; margin-top:10px; padding:0 30px; font-size:xx-small; color:#888">version: '.$version.'</div>';
-		}
-		echo UI::fixFooterPosition('footer_js_tag');
+		DBG::log('UI::dol...');
+		Theme::footer();
+		DBG::log('UI::dol .');
 		echo "\n</body></html>";
 	}
 
@@ -73,14 +51,7 @@ UI::loadTemplate('_layout_footer_section');
 		if (!User::logged()) return;
 
 		if (User::hasAccess('menu')) {
-			Lib::loadClass('ProcesMenu');
-			$procesMenu = ProcesMenu::getInstance();
-			$procesMenu->show();
-
-			// if (!V::get('MENU_INIT', '', $_GET)) {
-			// 	Lib::loadClass('UserActivity');
-			// 	//echo UserActivity::showListInContainer();
-			// }
+			Theme::top();
 		}
 		else {
 			UI::loadTemplate('menuLevel6');
@@ -88,6 +59,10 @@ UI::loadTemplate('_layout_footer_section');
 	}
 
 	public static function loadTemplate($tmplName, $data = array()) {
+		if ('defaultPage' === $tmplName) { // TODO: replace UI::loadTemplate('defaultPage') => Theme::home($data)
+			Theme::home($data);
+			return;
+		}
 		if (is_array($data) && !empty($data)) {
 			extract($data);
 		}
@@ -790,8 +765,8 @@ UI::loadTemplate('_layout_footer_section');
 		$params['showMenu'] = V::get('showMenu', true, $params, 'bool');
 		$params['showContainer'] = V::get('showContainer', true, $params, 'bool');
 		$params['containerClass'] = V::get('containerClass', '', $params);
-		UI::gora();
-		if ($params['showMenu']) UI::menu();
+		UI::gora(); // Theme::head();
+		if ($params['showMenu']) UI::menu(); // TODO: Theme::top()
 		if ($params['showContainer']) UI::startContainer( $params['containerClass'] ? [ 'class' => $params['containerClass'] ] : [] );
 		try {
 			call_user_func($callback);
@@ -800,7 +775,7 @@ UI::loadTemplate('_layout_footer_section');
 			UI::alert('danger', $e->getMessage());
 		}
 		if ($params['showContainer']) UI::endContainer();
-		UI::dol();
+		UI::dol(); // UI::dol must include Theme::footer();
 	}
 
 }

+ 0 - 28
SE/se-lib/tmpl/_layout_footer_section.php

@@ -1,28 +0,0 @@
-</div>
-<!-- end:sm-wrapper -->
-
-<!-- start:footer -->
-<footer>
-   <div id="smad-footer-section" class="container-fluid padding-0">
-		 <div class="container">
-			 <div class="row">
-				  <div class="col-lg-12">
-						<ul class="menu-bottom">
-							<li><a href="#" title="O Bocianie">O Bocianie</a></li>
-							<li><a href="#" title="">Funkcje</a></li>
-							<li><a href="#" title="Bezpieczeństwo">Bezpieczeństwo</a></li>
-							<li><a href="#" title="">Kontakt</a></li>
-						</ul>
-					</div>
-				</div>
-			</div>
-		</div>
-	</footer>
-	<!-- end:footer -->
-	<!-- js -->
-	<?php
-		//todo: ujednolicic wczytanie themy widoków i css w jednym katalogu(obecnie css w katalogu static a widoki w katalogu tmp )
-		UI::inlineRawJS(APP_PATH_WWW . '/static/theme_bocian/assets/js/scripts.js');
-	 ?>
-</body>
-</html>

+ 1 - 3
SE/se-lib/tmpl/_layout_gora.php

@@ -6,9 +6,6 @@
 	<link rel="shortcut icon" type="image/x-icon" href="./favicon.png?v=0.1">
 	<meta name="author" content="Piotr Labudda <piotrl86@gmail.com>" />
 	<link rel="stylesheet" href="stuff/bootstrap/css/bootstrap.min.css" type="text/css" />
-<!--
-	<link rel="stylesheet" href="stuff/bootstrap/css/bootstrap-theme.min.css" type="text/css" />
--->
 	<link rel="stylesheet" href="stuff/jquery.selectize/css/selectize.bootstrap3.css" type="text/css" />
 	<link rel="stylesheet" href="stuff/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css" type="text/css" />
 	<link rel="stylesheet" href="stuff/jquery-ui-smoothness/jquery-ui-1.10.4.custom.min.css" type="text/css">
@@ -56,4 +53,5 @@
 	]);
 	UI::hButtonAjaxJsFunction();
 ?>
+	<?php Theme::head(); ?>
 </head><body>