diff --git a/src/DocxInserter.js b/src/DocxInserter.js
index b2a7d04..a86b0dd 100644
--- a/src/DocxInserter.js
+++ b/src/DocxInserter.js
@@ -15,7 +15,6 @@ import ObjektkatalogApi from './ObjektkatalogApi';
////////////////////
export async function fillTemplate(log, objectData) {
-
let buffer;
// Create docx document.
if (objectData.httpStatus === 200) {
@@ -26,24 +25,23 @@ export async function fillTemplate(log, objectData) {
buffer = await createReport({
template,
data: {
- inventarnummer: objectData.inventarnummer,
- titel: objectData.titel,
- hersteller: objectData.hersteller,
- herstellungsort: objectData.herstellungsort,
- herstellungsdatum: objectData.herstellungsdatum,
- materialTechnik: objectData.materialTechnik,
- masse: objectData.masse
+ inventarnummer: objectData.inventarnummer ? objectData.inventarnummer : 'unbekannt' ,
+ titel: objectData.titel ? objectData.titel : 'unbekannt',
+ hersteller: objectData.hersteller ? objectData.hersteller : 'unbekannt',
+ herstellungsort: objectData.herstellungsort ? objectData.herstellungsort : 'unbekannt',
+ herstellungsdatum: objectData.herstellungsdatum ? objectData.herstellungsdatum : 'unbekannt',
+ materialTechnik: objectData.materialTechnik ? objectData.materialTechnik : 'unbekannt' ,
+ masse: objectData.masse ? objectData.masse : 'unbekannt'
}
});
} catch (err) {
log = {
...log,
status: 'red',
- message: 'Konnte Template nicht öffnen: ' + err,
+ message: 'Konnte Template nicht erstellen: ' + err,
tip: 'Ist das Template vorhanden?',
};
}
-
const folderPath = path.join(config.rootDir, objectData.inventarnummer);
// Create Folder if necessary.
try {
@@ -51,20 +49,23 @@ export async function fillTemplate(log, objectData) {
} catch (err) {
log = {
...log,
- status: 'green',
+ status: 'red',
message: 'Konnte den Pfad nicht erstellen' + err,
tip: 'Bestehen Schreibrechte auf dem Ordner?'
}
}
// Write document to disk.
+
if (buffer) {
- fs.writeFileSync(path.join(folderPath, 'report.docx'), buffer)
+ console.log(objectData)
+ fs.writeFileSync(path.join(folderPath, objectData.titel), buffer)
log = {
...log,
status: 'green',
message: 'Dokument erstellt',
};
}
+
} else {
log = {
status: 'red',
diff --git a/src/assets/css/App.css b/src/assets/css/App.css
deleted file mode 100644
index 9411970..0000000
--- a/src/assets/css/App.css
+++ /dev/null
@@ -1,3 +0,0 @@
-/* Main CSS file */
-
-@import '_example/_example.css';
diff --git a/src/assets/css/_example/_example.css b/src/assets/css/_example/_example.css
deleted file mode 100644
index 472ead8..0000000
--- a/src/assets/css/_example/_example.css
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Example stylesheet */
-@media screen and (prefers-color-scheme: light), screen and (prefers-color-scheme: no-preference) {
- /* Light theme */
- body{
- color: #000;
- background-color: #fff;
- }
-}
-
-@media screen and (prefers-color-scheme: dark) {
- /* Dark theme */
- body {
- color: #fff;
- background-color: #000;
- }
-}
-
-h1 {
- font-family: Helvetica, Arial, sans-serif;
- font-size: 21px;
- font-weight: 200;
-}
diff --git a/src/styles.css b/src/assets/css/styles.css
similarity index 86%
rename from src/styles.css
rename to src/assets/css/styles.css
index efa39dc..820c2de 100644
--- a/src/styles.css
+++ b/src/assets/css/styles.css
@@ -20,6 +20,16 @@ body {
margin: 0 auto;
}
+.checkup {
+ transition: height 1s;
+ height: 0;
+}
+
+.closed{
+ height: 0;
+ position: relative;
+}
+
.column {
flex-direction: column;
}
@@ -82,6 +92,14 @@ input {
border-radius: 3px;
}
+input[type="date"]::-webkit-calendar-picker-indicator {
+ color: #d5d5d5;
+ width: 20px;
+ height: 20px;
+ border-width: thin;
+ filter: invert(1);
+}
+
input:focus {
background-color: #d5d5d5;
color: #00152E;
@@ -97,7 +115,7 @@ input.edit-input:not(:disabled) {
background-color: #00152E ;
color: #d5d5d5;
font-size: medium;
-
+ font-family: roboto, sans-serif;
}
@@ -118,7 +136,14 @@ label {
font-size: 0.75em;
height: 5em;
}
+.no-overflow {
+ overflow: hidden;
+ height: inherit;
+}
+.open {
+ height: 700px;
+}
p {
margin: 0;
}
diff --git a/src/components/App.js b/src/components/App.js
index 1b28051..5b0b2b5 100644
--- a/src/components/App.js
+++ b/src/components/App.js
@@ -1,9 +1,6 @@
// Components
import {DataForm} from "./DataForm";
import {Log} from "./Log"
-
-// Modules
-import {fillTemplate} from "../DocxInserter";
import SettingsIcon from '@mui/icons-material/Settings';
// React
@@ -11,7 +8,7 @@ import { Link } from "react-router-dom";
import React, {useState} from 'react'
// CSS
-import '../styles.css'
+import '../assets/css/styles.css'
import ObjektkatalogApi from "../ObjektkatalogApi";
@@ -19,10 +16,8 @@ import ObjektkatalogApi from "../ObjektkatalogApi";
// Main //
////////////////////
-
-
export const App = () => {
- let log;
+
// States
@@ -42,6 +37,7 @@ export const App = () => {
const [objectData, setObjectData] = useState(
{
+ datum: '',
inventarnummer: '',
titel: '',
hersteller: '',
@@ -65,18 +61,38 @@ export const App = () => {
// Get objectId from user input.
let objectId = document.getElementById('object-id').value
- // Get object data from objektkatalog.gnm.de
- let objektkatalogApi = new ObjektkatalogApi();
- let objectData = await objektkatalogApi.getData(objectId);
+ if (objectId) {
- console.log(objectData)
-
- log = await fillTemplate(log, objectData);
- // Set new state of log div with message and visibility class
+ // Get object data from objektkatalog.gnm.de
+ let objektkatalogApi = new ObjektkatalogApi();
+ let receivedObjectData = await objektkatalogApi.getData(objectId);
+ if (receivedObjectData.httpStatus === 404) {
+ setLogState({
+ log: {
+ status: 'red',
+ message: 'Kein Objekt mit dieser Inventarnummer gefunden!',
+ code: '',
+ tip:'',
+ }, // with message, code, tip
+ logClass: 'active'
+ })
+ } else {
+ console.log(receivedObjectData)
+ // Fill and open check up form
+ setObjectData(receivedObjectData)
+ setCheckUpVisibility(true)
+ }
+ } else {
setLogState({
- log: log,
- logStatus: 'active'
- });
+ log: {
+ status: 'red',
+ message: 'Bitte Inventarnummer eingeben!',
+ code: '',
+ tip:'',
+ }, // with message, code, tip
+ logClass: 'active'
+ })
+ }
}
return (
@@ -108,7 +124,13 @@ export const App = () => {
-
+