From 520fd2e9a2799cc90f178abe024aed56bfd69ed9 Mon Sep 17 00:00:00 2001 From: jndaniels Date: Thu, 5 Dec 2024 05:25:02 -0600 Subject: [PATCH] Signature working on observation page. WIP: Cosmetic --- .../app/modules/connections/DB.json | 8 +- app/api/insert.json | 43 +++++--- app/api/query.json | 8 +- app/api/querySignature.json | 97 +++++++++++++++++ app/modules/connections/DB.json | 8 +- public/ERTSQlite.db | Bin 73728 -> 98304 bytes public/PDF/pdfLibSignature.js | 2 +- public/dmxAppConnect/config.js | 52 +++++++++- public/js/libProcessScript.js | 2 +- views/index0.ejs | 98 +++++++++++------- views/layouts/main.ejs | 1 - views/observationPage.ejs | 6 +- views/success.ejs | 6 +- 13 files changed, 262 insertions(+), 69 deletions(-) create mode 100644 app/api/querySignature.json diff --git a/.wappler/targets/Development/app/modules/connections/DB.json b/.wappler/targets/Development/app/modules/connections/DB.json index 12359b7..e105d6e 100644 --- a/.wappler/targets/Development/app/modules/connections/DB.json +++ b/.wappler/targets/Development/app/modules/connections/DB.json @@ -6,6 +6,10 @@ "client": "sqlite3", "connection": { "filename": "/public/ERTSQlite.db" - } - } + }, + "meta": {} + }, + "actionFilePath": "file:///Z:/temp/ERTFastFiller/app/modules/connections/DB.json", + "serverType": "node", + "fileName": "db.json" } \ No newline at end of file diff --git a/app/api/insert.json b/app/api/insert.json index 8bb1ab4..be8d5ce 100644 --- a/app/api/insert.json +++ b/app/api/insert.json @@ -18,11 +18,6 @@ { "type": "number", "fieldName": "db_employeeID", - "options": { - "rules": { - "core:number": {} - } - }, "name": "db_employeeID" }, { @@ -39,6 +34,15 @@ "type": "text", "fieldName": "db_trainerID", "name": "db_trainerID" + }, + { + "type": "text", + "fieldName": "db_signatureData", + "ui": { + "label": "Signature", + "help": "Base64 encoded image " + }, + "name": "db_signatureData" } ] }, @@ -81,41 +85,42 @@ "table": "da", "column": "db_fullName", "type": "text", - "value": "{{$_POST.db_fullName}}", - "recid": 1 + "value": "{{$_POST.db_fullName}}" }, { "table": "da", "column": "db_licenseNumber", "type": "text", - "value": "{{$_POST.db_licenseNumber}}", - "recid": 2 + "value": "{{$_POST.db_licenseNumber}}" }, { "table": "da", "column": "db_stateIssue", "type": "text", - "value": "{{$_POST.db_stateIssue}}", - "recid": 3 + "value": "{{$_POST.db_stateIssue}}" }, { "table": "da", "column": "db_employeeID", "type": "number", - "value": "{{$_POST.db_employeeID}}", - "recid": 4 + "value": "{{$_POST.db_employeeID}}" }, { "table": "da", "column": "owner", "type": "text", - "value": "{{$_POST.owner}}", - "recid": 5 + "value": "{{$_POST.owner}}" + }, + { + "table": "da", + "column": "db_SignatureData", + "type": "text", + "value": "{{$_POST.db_signatureData}}" } ], "table": "da", "returning": "ID", - "query": "insert into `da` (`db_employeeID`, `db_fullName`, `db_licenseNumber`, `db_stateIssue`, `owner`) values (?, ?, ?, ?, ?) returning `ID`", + "query": "insert into `da` (`db_SignatureData`, `db_employeeID`, `db_fullName`, `db_licenseNumber`, `db_stateIssue`, `owner`) values (?, ?, ?, ?, ?, ?) returning `ID`", "params": [ { "name": ":P1", @@ -146,6 +151,12 @@ "type": "expression", "value": "{{$_POST.owner}}", "test": "" + }, + { + "name": ":P6", + "type": "expression", + "value": "{{$_POST.db_signatureData}}", + "test": "" } ] } diff --git a/app/api/query.json b/app/api/query.json index aa728d8..842fa5c 100644 --- a/app/api/query.json +++ b/app/api/query.json @@ -27,7 +27,8 @@ }, "primary": "ID", "joins": [], - "query": "select * from `da`" + "query": "select * from `da`", + "orders": [] } }, "output": true, @@ -55,6 +56,11 @@ { "type": "text", "name": "owner" + }, + { + "type": "text", + "sub": [], + "name": "db_SignatureData" } ], "outputType": "array" diff --git a/app/api/querySignature.json b/app/api/querySignature.json new file mode 100644 index 0000000..cbe382d --- /dev/null +++ b/app/api/querySignature.json @@ -0,0 +1,97 @@ +{ + "meta": { + "$_GET": [ + { + "type": "text", + "name": "sort" + }, + { + "type": "text", + "name": "dir" + }, + { + "type": "text", + "name": "id" + } + ] + }, + "exec": { + "steps": { + "name": "query", + "module": "dbconnector", + "action": "single", + "options": { + "connection": "DB", + "sql": { + "type": "select", + "columns": [ + { + "table": "da", + "column": "ID" + }, + { + "table": "da", + "column": "db_SignatureData" + } + ], + "params": [ + { + "operator": "equal", + "type": "expression", + "name": ":P1", + "value": "{{$_GET.id}}", + "test": "95" + } + ], + "table": { + "name": "da" + }, + "primary": "ID", + "joins": [], + "query": "select `ID`, `db_SignatureData` from `da` where `da`.`ID` = ?", + "wheres": { + "condition": "AND", + "rules": [ + { + "id": "da.ID", + "field": "da.ID", + "type": "double", + "operator": "equal", + "value": "{{$_GET.id}}", + "data": { + "table": "da", + "column": "ID", + "type": "number", + "columnObj": { + "type": "increments", + "primary": true, + "unique": false, + "nullable": false, + "name": "ID" + } + }, + "operation": "=" + } + ], + "conditional": null, + "valid": true + } + } + }, + "output": true, + "meta": [ + { + "type": "number", + "name": "ID" + }, + { + "type": "text", + "sub": [], + "name": "db_SignatureData" + } + ], + "outputType": "object", + "type": "dbconnector_single" + } + } +} \ No newline at end of file diff --git a/app/modules/connections/DB.json b/app/modules/connections/DB.json index 12359b7..e105d6e 100644 --- a/app/modules/connections/DB.json +++ b/app/modules/connections/DB.json @@ -6,6 +6,10 @@ "client": "sqlite3", "connection": { "filename": "/public/ERTSQlite.db" - } - } + }, + "meta": {} + }, + "actionFilePath": "file:///Z:/temp/ERTFastFiller/app/modules/connections/DB.json", + "serverType": "node", + "fileName": "db.json" } \ No newline at end of file diff --git a/public/ERTSQlite.db b/public/ERTSQlite.db index affe4250714cdd32a6d16f21df506def4cb09427..fed801a5b48bd388a37bfe89e3e206343707bba7 100644 GIT binary patch literal 98304 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 @Y{Ob9$(=4sRAZNceH!+ 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 gl$_$UtVD>zAZmfG*8&HVd?W|MbS-(tbZnjk0J~ startDrawing(e.touches[0])); +//canvas.addEventListener('touchstart', (e) => startDrawing(e.touches[0]),{passive: true}); //canvas.addEventListener('touchend', endDrawing); //canvas.addEventListener('touchmove', (e) => draw(e.touches[0])); diff --git a/public/dmxAppConnect/config.js b/public/dmxAppConnect/config.js index a78b474..701cb83 100644 --- a/public/dmxAppConnect/config.js +++ b/public/dmxAppConnect/config.js @@ -62,7 +62,41 @@ dmx.config({ "type": "text", "name": "section" } - ] + ], + "data_view1": { + "meta": [ + { + "type": "number", + "name": "ID" + }, + { + "type": "text", + "name": "db_fullName" + }, + { + "type": "text", + "name": "db_licenseNumber" + }, + { + "type": "text", + "name": "db_stateIssue" + }, + { + "type": "number", + "name": "db_employeeID" + }, + { + "type": "text", + "name": "owner" + }, + { + "type": "text", + "sub": [], + "name": "db_SignatureData" + } + ], + "outputType": "array" + } }, "index": { "flowRunPageId": { @@ -118,6 +152,20 @@ dmx.config({ } ], "local": {} - } + }, + "cookies": [ + { + "type": "text", + "name": "userIdentifier" + } + ] + }, + "success": { + "cookies": [ + { + "type": "text", + "name": "userIdentifier" + } + ] } }); diff --git a/public/js/libProcessScript.js b/public/js/libProcessScript.js index 4ac6803..aa574ca 100644 --- a/public/js/libProcessScript.js +++ b/public/js/libProcessScript.js @@ -200,7 +200,7 @@ function saveSignatureAsBase64() { } function getSignatureData() { - dmx.global.set('canvasDataEncoded', saveSignatureAsBase64()) + dmx.global.set('signatureDataEncoded', saveSignatureAsBase64()) dd('SignatureData:', saveSignatureAsBase64()) } diff --git a/views/index0.ejs b/views/index0.ejs index f95d65e..ad730b0 100644 --- a/views/index0.ejs +++ b/views/index0.ejs @@ -1,7 +1,10 @@ - + + + +
diff --git a/views/observationPage.ejs b/views/observationPage.ejs index 6093215..f9c3259 100644 --- a/views/observationPage.ejs +++ b/views/observationPage.ejs @@ -20,7 +20,7 @@ Owner - + @@ -189,7 +189,9 @@

status messages: {{myResult}}

-
+
+ +
diff --git a/views/success.ejs b/views/success.ejs index 3292a8c..9572e42 100644 --- a/views/success.ejs +++ b/views/success.ejs @@ -1,6 +1,10 @@ - + +
+
+

User Identifier No.
{{cookies1.data.userIdentifier}}

+