Browse Source

FIX: fixed slimscroll on datatables
FIX: datatables responsive
CHG: initial changes to build.js, compress all file in subfolder

Giancarlo Voci 7 years ago
parent
commit
e63eadcbad

+ 0 - 1
cfg/config.bin

@@ -1 +0,0 @@
-eJx9kV1v2jAUhu8t+T9YXG2aGpwGaDdkaSEYSBtilA/EVlVRCC5ETWLmOPQD8d/nQKvdzZLl4yMfv895z8O2EOu0qB8hWNIgdJlPTKNvYAjsOGIes8ekU8us24HAsZ0ZRQRFQUwhiF3S5F0IxnQUT8k1BNR32Nj1p6QTR5OrW10wc6czT++IPGkFDsGdHRj8dZ9LTo5HlZf8y9dvltm3Bhjj00n/FfqkU77Vf4ofO1ErUogsLdpouBdSEcvCg+FmXaUlJ6Is8upZi2zWTc0lkUKo9rJP65qIPa/KvNpAMLdXychz/fskcuc0CalDLIwv+YBGwa9kwoJkYsdeREzcdrMkSjaaFYIhWqRqB8HIDmkceKR70YQgdCPq23NK2PzKO2c8NmWJE4cRm9NA9/bzo+Z06mqT8jLd8rpbiK0w9tUWAtdhftLWxNH/Hjfq8rxFCXnBM4Vednm2Q1lTK1FyibJCt4t4la4LjfwJcGb7hIXgwWEBNZ7Wj+eWpNg0mcpFBcHZY/P7tWEObg0TG2ZPO3B2uo97PesiKw9aJ6JhBMEzfyMO/rdMs3fTw9cW7t/outb433L7/ny4k+y+8kOnWlTTd6s52gM+C/3V8lC3OBpo4vrjEVuFNFi6DtVcoUfpop2QVsYX3UxUmxopgV7SXKEnIVHN9amnuhavOpaHPOOoEgqlhzQvLg5MA9uhyYIGLht/DBuCv3u+284=

+ 2 - 2
package.json

@@ -10,10 +10,10 @@
   },
   "author": "Open Mind",
   "dependencies": {
-    "bootstrap": "^4.2.1",
+    "bootstrap": "^4.3.1",
     "jquery": "^3.3.1",
     "node-minify": "^3.6.0",
     "node-sass": "^4.11.0",
-    "popper.js": "^1.14.6"
+    "popper.js": "^1.15.0"
   }
 }

+ 39 - 15
src/OpenMind/Admin/build.js

@@ -1,29 +1,53 @@
 const MODULES_PATH = '../../../node_modules';
 const compressor = require(`${MODULES_PATH}/node-minify`);
 const sass = require(`${MODULES_PATH}/node-sass`);
-const {writeFileSync} = require('fs');
+const fs = require('fs');
+var path = require('path');
 
-// The Libraries to join in minified files
-const libList = [
-	`${MODULES_PATH}/jquery/dist/jquery.min.js`,
-	`${MODULES_PATH}/bootstrap/dist/js/bootstrap.bundle.min.js`
-];
+/**
+ * Functions
+ */
 
-// The css files to minify
-const cssList = [
-	`${MODULES_PATH}/bootstrap/dist/css/bootstrap.min.css`,
-	"ui/css/admin.css"
-];
+/* List all files in a directory recursively in a synchronous fashion.
+*
+* @param {String} dir
+* @returns {IterableIterator<String>}
+*/
+function* walkSync(dir) {
+	const files = fs.readdirSync(dir);
 
-// The javascript files to minify
-const jsList = [
-	"ui/js/admin.js"
-];
+	for (const file of files) {
+		const pathToFile = path.join(dir, file);
+		const isDirectory = fs.statSync(pathToFile).isDirectory();
+		if (isDirectory) {
+			yield* walkSync(pathToFile);
+		} else {
+			yield pathToFile;
+		}
+	}
+}
 
 /**
  * MAIN
  */
 
+let jsList = [];
+
+for (let val of walkSync('ui/assets/js')) {
+	if (val.indexOf('.min.') == -1) {
+		console.log(val);
+		jsList.push(val);
+	}
+}
+compressor.minify({
+		compressor: 'uglify-es',
+		input: jsList,
+		output: 'ui/js/admin.min.js'
+	}
+);
+
+return;
+
 let buffer = sass.renderSync({file: 'ui/css/admin.scss'});
 
 writeFileSync('ui/css/admin.css', buffer.css);

+ 0 - 31
src/OpenMind/Admin/ui/errors.tpl

@@ -1,31 +0,0 @@
-<!DOCTYPE html>
-<html lang="it">
-<head>
-	<meta charset="UTF-8">
-	<meta content="width=device-width, initial-scale=1" name="viewport">
-	<title>{{@SITENAME}} error page</title>
-	<link href="{{@BASEURL}}/bundle.css" rel="stylesheet" type="text/css"/>
-</head>
-<body class="bg-light error_body">
-
-<div class="container-fluid">
-	<div class="row">
-		<div class="col-md-6 mx-auto">
-			<div class="card bg-white m-1 p-2">
-				<h1 class="text-center text-info">{{@ERROR.code}} {{@ERROR.status}}</h1>
-				<br/>
-				<h3 class="text-success">Dettaglio errore:</h3>
-				<p style="color: black">{{@ERROR.text | raw}}</p>
-				<h3 class="text-success">Debug Trace:</h3>
-				<pre style="font-size: 0.8rem">{{@ERROR.trace | raw}}</pre>
-				<br/>
-				<a class="text-uppercase" href="{{@BASEURL}}">Torna alla pagina principale.</a>
-			</div>
-		</div>
-	</div>
-</div>
-
-<script src="{{@BASEURL}}/bundle.js"></script>
-
-</body>
-</html>

+ 0 - 11
src/OpenMind/Admin/ui/footer.tpl

@@ -1,11 +0,0 @@
-<nav class="navbar fixed-bottom navbar-expand navbar-dark">
-	<check if="{{ isset(@PREVPAGE) }}">
-		<a href="{{@PREVPAGE}}"><img class="navbar-brand" height="50px" src="{{@BASEURL}}/ui/images/arrow-left.svg"/></a>
-	</check>
-	<div class="collapse navbar-collapse"></div>
-	<div class="navbar-brand">
-		<a href="{{@BASEURL}}">
-			<img height="40" src="{{@BASEURL}}/ui/images/om-link-logo.png"/>
-		</a>
-	</div>
-</nav>

+ 0 - 29
src/OpenMind/Admin/ui/header.tpl

@@ -1,29 +0,0 @@
-<nav class="navbar navbar-expand-sm navbar-dark bg-dark om-shadow">
-	<a href="{{@BASEURL}}/"><img class="img-fluid om-shadow navbar-brand customerlogo" src="{{@LOGO_CUSTOMER}}"/></a>
-	<button aria-controls="headerMenu" aria-expanded="false" aria-label="Toggle navigation" class="navbar-toggler" data-target="#headerMenu" data-toggle="collapse" type="button">
-		<span class="navbar-toggler-icon"></span>
-	</button>
-
-	<div class="collapse navbar-collapse" id="headerMenu">
-		<ul class="navbar-nav">
-			<repeat group="{{@GLOBALMENU}}" key="{{ @ikey }}" value="{{@menuitem}}">
-				<check if="{{ !empty(@menuitem.url) }}">
-					<li class="nav-item">
-						<a class="nav-link btn btn-secondary" href="{{@BASEURL . '/' . @menuitem.url}}" role="button">{{@ikey}}</a>
-					</li>
-				</check>
-			</repeat>
-		</ul>
-	</div>
-
-	<div class="ml-auto dropdown dropleft navbar-brand">
-		<a aria-expanded="false" aria-haspopup="true" class="disabled" class="mr-3" data-toggle="dropdown" href="javascript:void(0)" id="notification_area_button" style="position: relative">
-			<img src="{{@BASEURL}}/ui/images/bell.png"/>
-			<span class="blink badge badge-light" id="sysmsgnum"></span>
-		</a>
-		<div aria-labelledby="dropdownMenuButton" class="dropdown-menu" id="notification_area"></div>
-	</div>
-	<div>
-		<a href="{{@BASEURL}}/logout"><img class="img-fluid om-shadow" src="{{@ICON_LOGOUT}}"/></a>
-	</div>
-</nav>

+ 15 - 2
src/OpenMind/Admin/ui/js/admin.js

@@ -1,3 +1,16 @@
 $(function () {
-	$('#datatable').DataTable();
-});
+	$("#datatable").DataTable({
+		paging: false,
+		scrollY: true,
+		responsive: true,
+		fnInitComplete: function () {
+			$(".dataTables_scrollBody").slimscroll({
+				color: "#DDDDDD",
+				railVisible: true,
+				railColor: "black",
+				railOpacity: .3,
+				height: "50vh"
+			})
+		}
+	})
+});

+ 1 - 1
src/OpenMind/Admin/ui/labelstatus.tpl

@@ -19,7 +19,7 @@
 		<h4 class="header-title mt-0 m-b-30">ESL Status</h4>
 
 		<div class="table-responsive">
-			<table id="datatable" class="table table-bordered mb-0">
+			<table id="datatable" class="table dt-responsive responsive table-bordered mb-0">
 				<thead>
 				<tr>
 					<th>Label ID</th>

+ 4 - 0
src/OpenMind/Admin/ui/masterpage.tpl

@@ -90,6 +90,10 @@
             </a>
             <div class="dropdown-menu dropdown-menu-right profile-dropdown ">
 
+              <a href="javascript:void(0);" class="dropdown-item notify-item">
+                <i class="ti-user m-r-5"></i> {{@USER.username}}
+              </a>
+
               <!-- item-->
               <a href="{{@BASEURL}}/logout" class="dropdown-item notify-item">
                 <i class="ti-power-off m-r-5"></i> Logout

+ 1 - 1
ui/header.tpl

@@ -7,7 +7,7 @@
 	<div class="collapse navbar-collapse" id="headerMenu">
 		<ul class="navbar-nav">
 			<repeat group="{{@GLOBALMENU}}" key="{{ @ikey }}" value="{{@menuitem}}">
-				<check if="{{ !empty(@menuitem.url) }}">
+				<check if="{{ !empty(@menuitem.url) && !isset(@menuitem.mainMenu)}}">
 					<li class="nav-item">
 						<a class="nav-link btn btn-secondary" href="{{@BASEURL . '/' . @menuitem.url}}" role="button">{{@ikey}}</a>
 					</li>