Giancarlo Voci 7 years ago
parent
commit
791d84eaa3
9 changed files with 54 additions and 73 deletions
  1. 2 1
      .gitignore
  2. 18 1
      README.md
  3. 0 38
      cfg/config.ini
  4. 0 17
      cfg/packconfig.php
  5. 8 6
      package.json
  6. 0 5
      ui/dist/styles.css
  7. 9 1
      ui/js/index.js
  8. 0 0
      ui/masterpage_template.tpl
  9. 17 4
      webpack.config.js

+ 2 - 1
.gitignore

@@ -50,13 +50,14 @@ node_modules
 tmp
 src_minified
 import
+/ui/dist
 
 # Custom for current project
 omlink.min.js
 omlink.css
 bundle.js
 bundle.css
-/cfg/*.bin
+/cfg/*.old
 /src/OpenMind/Admin/ui/assets/build
 /fbtpl
 masterpage.tpl

+ 18 - 1
README.md

@@ -1,21 +1,38 @@
 [✔] TODO Sulla tabella dei bind aggiungere i campi che di solito si andrebbero ad inserire nei save delle picking list, questo per evitare di mandare save product anche se le informazioni sono le stesse
+
 [✔] TODO Creare il file di log per i barcode non riconosciuti
+
 [✔] TODO Aggiungere la data nel menu a tendina della picking list
+
 [✔] TODO workaround di letture errate dello scanner: se nella picking list viene passato un labelID invece che un barcode, ricava il barcode dalla labelID
+
 [✔] TODO creare la lista dell'etichetta del carrello tramite XLST+XML, aggiungere la colonna quantità nominale, aggiungere l'intestazione sulla tabella con riga orizzontale di separazione
+
 [✔] TODO aggiungere alla fine della picking list, sulla 7" l'elenco delle quantità prelevate e delle quantità mancanti (Anomalie) e trimmare la descrizione che in alcuni casi è molto lunga
 
 [✘] TODO Implementare GetJobStatus
+
 [✘] TODO aggiungere un timetrack dell'operatore che parte da quando da l'ok sulla etichetta da 7" fino all'ultima etichetta
+
 [✘] TODO Parametrizzare nel file LABEL.INI i parametri del BlinkSpecial
+
 [✘] TODO creare la classe wrapper Configuration, serve per leggere più velocemente i parametri dai file INI e nel caso manchino uno o l'intero file INI, a creare dei defaults
+
 [✘] TODO dashboard OMLink: aggiungere "display_refresh" con tempo in minuti; aggiungere l'import dei template da omlink di template prima esportati da Findbox
+
 [✘] TODO Background service: ogni minuto controllare che ci siano label con "timestamp di start +37 minuti" libere e resettarle, usare la GetJobsStatus (da implementare)
+
 [✘] TODO verificare se è più veloce mandare l'immagine generata da PHP o l'XSLT+XML
-[✘] TODO Subtemplates: da studiare bene che cosa si può fare, lo scopo è far cambiare direttamente all'etichetta il template senza rimandarglielo.
+
+[✘] TODO Subtemplates: da studiare bene che cosa si può fare, lo scopo è far cambiare direttamente all'etichetta il template senza rimandarglielo
+
 [✘] TODO posizionamento: piazzare un etichetta, da API o Findbox impostarne le coordinate XYZ, da questa poi col sistema di triangolazione mappare la posizione delle altre etichette
 
 [✘] TODO Messaggistica JS/HTML: ServiceWorker (libreria SWIVEL)
+
 [✘] TODO ADMIN componenti da utilizzare dal tema AdminTo: bootstrap-inputmask, jquery multiselect, switchery, select2.js, css+js del core del tema
+
 [✘] Stampa WEB: utilizzare NW.JS per un maggior controllo grazie alle API
+
 [✘] Produzione e Dev devono avere classi isolate switchabili così da non impazzire se non è possibile accedere al db remoto del cliente
+

+ 0 - 38
cfg/config.ini

@@ -1,38 +0,0 @@
-[globals]
-VERSION=1.5.0
-AUTOLOAD="src/"
-CACHE = TRUE
-UI=ui/
-DEBUG=2
-ENCODING="UTF-8"
-HIGHLIGHT=false
-JAR.expire={{time()+31536000}}
-DSN="mysql:host=localhost;port=3306;dbname=omlink"
-dbuser=root
-dbpass=openmind
-MAX_BLINK_TIME_SEC=300
-MAX_RETRY_FOR_FAULT=10
-DEV=true
-
-; Path
-BASEURL=/omlink
-SITENAME=OM-Link
-LOGO_CUSTOMER={{@BASEURL}}/ui/images/logo.png
-ICON_LOGOUT={{@BASEURL}}/ui/images/logout.png
-
-; Select which customer class enable
-CUSTOMERNAME=omlink
-
-[CORE.fb]
-; Production
-host=192.168.10.140
-port=50443
-; Server TEST
-key=C0000000000011474023057
-pass=ZrgzkvJrOKnNSCnPnGz3u{A6eHSNXVvs
-
-
-[FINDBOXSERVICE]
-SLEEPTIME=500
-; Seconds to wait for set findbox service not available
-GRACE_PERIOD_SEC=30

+ 0 - 17
cfg/packconfig.php

@@ -1,17 +0,0 @@
-<?php
-/**
- * Compile with:
- * php packconfig.php <ini file>
- * @author Open Mind
- * @date 12/04/2018
- * @time 15:43
- */
-
-if ($argc < 3) {
-  die("\nHelp usage:\n{$argv[0]} <config.ini> <target.bin>\n");
-}
-
-$config = file_get_contents($argv[1]);
-
-$pck = base64_encode(gzcompress($config));
-file_put_contents($argv[2], $pck);

+ 8 - 6
package.json

@@ -3,18 +3,19 @@
 	"version": "1.9.0",
 	"private": true,
 	"description": "OM-Link Engine",
+	"author": "Open Mind",
 	"scripts": {
-		"clean": "shx rm -rf tmp node_modules src_minified Site.log cfg/*.bin ui/dist ui/masterpage.tpl",
-		"build": "webpack --config webpack.config.js --display-error-details",
-		"watch": "webpack --config webpack.config.js --display-error-details --watch",
-		"deploy": "zip -x ui/css/* ui/js/* -9 -r deploy.zip omlink.sql lib cfg/config_prod.bin cfg/labels.ini index.php bundle.* src_minified ui"
+		"Clean": "shx rm -rf tmp node_modules src_minified Site.log cfg/*.bin ui/dist/* ui/masterpage.tpl fbtpl",
+		"Install": "npm install",
+		"Build": "webpack --config webpack.config.js --display-error-details",
+		"Watch": "webpack --config webpack.config.js --display-error-details --watch",
+		"Deploy": "zip -x ui/css/* ui/js/* -9 -r deploy.zip omlink.sql lib cfg/config.bin cfg/labels.ini index.php bundle.* src_minified ui"
 	},
-	"author": "Open Mind",
 	"devDependencies": {
-		"acorn": "^6.1.1",
 		"clean-webpack-plugin": "^2.0.1",
 		"css-loader": "^2.1.1",
 		"html-webpack-plugin": "^3.2.0",
+		"html-webpack-prefix-plugin": "^1.1.0",
 		"mini-css-extract-plugin": "^0.6.0",
 		"node-sass": "^4.12.0",
 		"optimize-css-assets-webpack-plugin": "^5.0.1",
@@ -26,6 +27,7 @@
 	},
 	"dependencies": {
 		"bootstrap": "^4.3.1",
+		"codeflask": "^1.4.0",
 		"jquery": "^3.4.0",
 		"popper.js": "^1.15.0"
 	}

File diff suppressed because it is too large
+ 0 - 5
ui/dist/styles.css


+ 9 - 1
ui/js/index.js

@@ -1,6 +1,8 @@
 import $ from 'jquery';
 import 'bootstrap';
 import 'bootstrap/dist/css/bootstrap.min.css';
+import 'popper.js';
+import CodeFlask from 'codeflask';
 import '../css/omlink.scss';
 
 /**
@@ -124,4 +126,10 @@ document.addEventListener('DOMContentLoaded', function () {
 	setInterval(() => {
 		refreshNotificationArea();
 	}, 3000);
-});
+
+	const flask = new CodeFlask('#my-selector', {
+		language: 'ini',
+	});
+
+	console.log(flask);
+});

+ 0 - 0
ui/masterpage-webpack.tpl → ui/masterpage_template.tpl


+ 17 - 4
webpack.config.js

@@ -1,6 +1,7 @@
 const path = require("path");
 const TerserJSPlugin = require('terser-webpack-plugin');
 const HtmlPlugin = require("html-webpack-plugin");
+const HtmlPrefixPlugin = require("html-webpack-prefix-plugin");
 const MiniCssExtractPlugin = require("mini-css-extract-plugin");
 const CleanWebpackPlugin = require("clean-webpack-plugin");
 const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin');
@@ -8,13 +9,16 @@ const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin');
 module.exports = {
 	plugins: [
 		new CleanWebpackPlugin(),
-		new HtmlPlugin({template: "./ui/masterpage-webpack.tpl", filename: "../masterpage.tpl"}),
-		new MiniCssExtractPlugin({filename: "styles.css"})
+		new HtmlPlugin({template: "./ui/masterpage_template.tpl", prefix: 'ui/', filename: "../masterpage.tpl"}),
+		new HtmlPrefixPlugin(),
+		new MiniCssExtractPlugin({filename: "styles.[contenthash].css"})
 	],
 	module: {
 		rules: [
 			{
+				// For css...
 				test: /\.(css|scss)$/,
+				// ...use this loaders
 				use: [
 					{loader: "style-loader"},
 					MiniCssExtractPlugin.loader,
@@ -25,12 +29,21 @@ module.exports = {
 		]
 	},
 	optimization: {
-		minimizer: [new TerserJSPlugin({}), new OptimizeCSSAssetsPlugin({})],
+		minimizer: [
+			new TerserJSPlugin(
+				// Discard Comments
+				{terserOptions: {output: {comments: false}}, parallel: 4}
+			),
+			new OptimizeCSSAssetsPlugin(
+				// Discard Comments
+				{cssProcessorPluginOptions: {preset: ['default', {discardComments: {removeAll: true}}],}}
+			)
+		],
 	},
 	entry: "./ui/js/index.js",
 	output: {
 		path: path.resolve(__dirname, "ui/dist/"),
-		filename: "bundle.js"
+		filename: "bundle.[contenthash].js"
 	},
 	mode: "production"
 };

Some files were not shown because too many files changed in this diff