Compare commits

..

5 Commits

Author SHA1 Message Date
StephanRichter b7f82018f9 extended demo data
Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
2026-01-28 22:53:49 +01:00
StephanRichter a245f849e5 extended demo data
Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
2026-01-28 21:19:06 +01:00
StephanRichter 4c3312daca Merge branch 'main' into demodata 2026-01-28 20:45:37 +01:00
StephanRichter 6e146c1577 extending demo data
Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
2026-01-28 20:42:56 +01:00
StephanRichter 49cbd328e6 started creating demo data
Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
2026-01-28 20:26:31 +01:00
24 changed files with 70 additions and 710 deletions
+1
View File
@@ -0,0 +1 @@
*.db-journal
Binary file not shown.
Binary file not shown.
+68
View File
@@ -0,0 +1,68 @@
{
"umbrella": {
"base_url": "http://127.0.0.1:5173",
"logging": {
"rootLevel": "INFO"
},
"http": {
"port": 8080
},
"threads": 16,
"modules": {
"notes": {
"database": "demodata/notes.db"
},
"document": {
"database": "demodata/documents.db",
"templates": "demodata/templates"
},
"wiki": {
"database": "demodata/wiki.db"
},
"project": {
"database": "demodata/projects.db"
},
"message": {
"database": "demodata/message.db",
"smtp": {
"pass": "none",
"port": 587,
"host": "none",
"user": "none"
}
},
"tags": {
"database": "demodata/tags.db"
},
"bookmark": {
"database": "demodata/bookmark.db"
},
"task": {
"database": "demodata/tasks.db"
},
"journal": {
"database": "demodata/journal.db"
},
"contact": {
"database": "demodata/contacts.db"
},
"files": {
"database": "demodata/files.db",
"base_dir": "demodata/filestore"
},
"company": {
"database": "demodata/company.db"
},
"time": {
"database": "demodata/times.db"
},
"stock": {
"database": "demodata/stock.db"
},
"items": {},
"user": {
"database": "demodata/users.db"
}
}
}
}
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+1 -1
View File
@@ -222,7 +222,7 @@
</div>
<div>{t('state')}</div>
<div>
<StateSelector selected={project.status} onchange={val => update({status:+val})} {project} />
<StateSelector selected={project.status} onchange={val => update({status:val})} {project} />
</div>
{#if project.company}
<div>{t('company')}</div>
@@ -1,84 +0,0 @@
body{
color: orange;
background-color: black;
}
a{
color: orange;
}
.tasks .pending>a{
color: gray;
}
.completed>a,
.started>a{
color: #5bc500;
}
.canceled>a{
color: gray;
}
tr{
background-color: #52525270;
}
tr:nth-child(2n+1){
background-color: #a7a7a740;
}
fieldset {
border-color: orange;
}
.button,
input,
button {
background-color: orange;
color: #303030;
}
.hover{
background-color: black;
border-color: orange;
}
form.invoice textarea {
background-color: orange;
color: black;
}
.infos span{
background-color: #00ad00;
color: black;
}
.errors span{
background-color: #ff9847;
color: black;
}
.warnings span{
background-color: #ffff00;
color: black;
}
#announce{
background-color: black;
}
#main_menu .button:hover {
color: orange;
background-color: gray;
}
tr:hover td{
background-color: #160202;
}
code {
background-color: black;
color: orange;
}
.description img,
#preview img{
background: lightcyan;
}
@@ -1,584 +0,0 @@
@font-face {
font-family: "awesome";
src: url("../fontawesome-webfont.woff");
}
*{
max-width:100%;
min-width:auto;
}
a{
text-decoration: none;
}
body{
font-family: sans-serif;
}
code {
display: inline-block;
padding: 5px;
margin: 5px 0;
}
textarea {
min-height: 60px;
width: 100%;
font-size: 16px;
}
textarea:hover{
min-height: 400px;
width: 100%;
}
input[type=text],input[type=email]{
width: 100%;
}
td.connectors form input{
width: 200px;
}
img#logo{
position: fixed;
top: 10px;
right: 10px;
z-index: -1;
}
blockquote{
font-style: italic;
}
#main_menu,
#main_menu form{
display: inline;
}
#main_menu .button {
font-size: 12px;
font-weight: normal;
margin-top: 7px;
vertical-align: bottom;
}
.hidden{
display: none !important;
}
.hover:hover .hidden{
display: inherit !important;
}
.emphasized{
font-weight: bold;
}
.add_positions,
.requirements{
max-height: 60px;
max-width: 66%;
overflow: hidden;
}
.add_positions:hover,
.requirements:hover{
max-height: 999999px;
max-width: 999999px;
}
.add_positions > ul > li{
max-height: 20px;
overflow: hidden;
padding-top: 20px;
}
.add_positions > ul > li:hover{
max-height: 999999px;
}
fieldset.add.document:hover {
max-height: unset;
}
fieldset.add.document {
max-height: 5px;
overflow: hidden;
}
fieldset.options label,
.add_positions label span,
.poll_status label,
.requirements label{
display: block;
}
.tasks .canceled a,
.children .inactive,
.requirements .inactive,
.tasks .inactive{
text-decoration: line-through;
}
.tasks .navi a{
display: inline-table;
}
blockquote a,
p a,
.description a{
text-decoration: underline;
}
table {
border-collapse: collapse;
}
tr > *{
padding: 5px 10px;
}
label.street:after,
label.location::after {
content: "\a ";
white-space: pre;
}
.poll.evaluate table tr:nth-child(n+2) th,
.poll.evaluate table td{
text-align: right;
}
.poll .disabled{
text-decoration: line-through;
}
.company div > fieldset,
.company > table{
margin-right: 10px;
float: left;
}
table.time h2{
margin-right: 60px;
}
.file label,
.document .dates label{
display: block
}
.document .header,
.document .tags{
clear: both;
}
fieldset {
border-radius: 10px;
border-width: 1px;
}
.contacts fieldset,
.document .customer,
.document .document_type,
.document .sender,
.document .court,
.document .dates,
.document .template,
fieldset.del_note,
fieldset.login_service_list,
fieldset.userlist,
fieldset.document.list{
float: left;
}
.document .dates label{
text-align: right;
}
.button,
input,
button {
border: 0 none;
font-weight: bold;
margin: 0 2px;
padding: 3px;
display: inline-block;
}
.change_state,
td.connectors button[type="submit"],
.prop_action,
input[type="submit"] {
clear: both;
float: right;
}
.symbol{
font-family: awesome;
font-size: 20px;
font-weight: normal;
}
#main_menu .symbol{
font-size: 14px;
}
.right{
float: right;
margin: 0 0 0 5px;
}
.tasks .project {
font-weight: bold;
}
.right-abs {
position: absolute;
right: 5px;
top: 5px;
}
.right-fix {
position: fixed;
right: 5px;
top: 5px;
}
.hover {
border-width: 1px;
border-style: solid;
border-radius: 5px;
max-height: 35px;
overflow: hidden;
z-index: 10;
}
.hover:hover {
max-height: unset;
}
.hover_h > a:nth-child(n+2){
display: none;
}
.hover_h:hover {
padding: 5px 0 20px;
}
.hover_h:hover > a:nth-child(n+2){
display: inherit;
}
form.document textarea {
font-weight: bold;
min-height: 90px;
width: 100%;
}
.pos_price,
form.document input.price,
form.document input.amount{
max-width: 60px;
text-align: right;
}
form.document .tax{
min-width: 70px;
}
form.document .tax input{
max-width: 40px;
text-align: right;
}
td > h1{
display: inline-block;
margin: 0 10px 0 0;
}
.center,
.infos,
.errors,
.warnings{
text-align: center;
}
.infos span,
.errors span,
.warnings span{
margin: 5px 0 0;
padding: 5px;
border-radius: 10px;
display: inline-block;
}
.tags span{
display: inline-block;
vertical-align: top;
}
.bookmark .share,
.bookmark .tags{
display: inline-block;
}
.bookmark form .share{
height: 20px;
overflow: hidden;
}
.bookmark form .share:hover{
height: initial;
}
fieldset.bookmark > fieldset{
max-height: 14px;
overflow: hidden;
}
fieldset.bookmark > fieldset.tags{
max-height: unset;
}
fieldset.bookmark > fieldset:hover{
max-height: unset;
}
.bookmark>fieldset>a{
word-wrap: break-word;
display: block;
min-width: auto;
}
.bookmark>fieldset>a.button{
display: inline-block;
}
.copytext{
position:fixed;
width: 100px;
left: -1000px;
}
img[src*="pos=right"] {
float:right;
margin: 5px 0 5px 5px;
}
img[src*="pos=left"] {
float:left;
margin: 5px 5px 5px 0;
}
img[src*="width=100"]{
max-width: 100px;
}
img[src*="width=200"]{
max-width: 200px;
}
img[src*="width=300"]{
max-width: 300px;
}
img[src*="width=400"]{
max-width: 400px;
}
img[src*="width=500"]{
max-width: 500px;
}
img[src*="width=600"]{
max-width: 600px;
}
img[src*="width=700"]{
max-width: 700px;
}
img[src*="width=800"]{
max-width: 800px;
}
img[src*="width=900"]{
max-width: 900px;
}
img[src*="width=50%"]{
max-width: 50%;
}
img[src*="width=33%"]{
max-width: 33%;
}
img[src$="width=25%"]{
max-width: 25%;
}
#announce{
position: fixed;
bottom: 0;
right: 0;
padding: 3px 5px 0;
border-top-left-radius: 7px;
}
fieldset.scrolling{
overflow: scroll;
max-height: 80%;
}
svg#gantt{
max-width: unset;
}
svg .row{
fill: none;
pointer-events: all;
}
svg .row:hover{
fill: #333333;
}
svg .duration{
fill:rgba(255,0,255,0.4);
stroke:none;
}
svg .schedule{
fill:none;
stroke-width:1;
stroke: yellow;
}
svg .start{
stroke-dasharray: 10,30,40;
}
svg .stop{
stroke-dasharray: 50,30;
}
svg text{
stroke: none;
fill: red;
}
div.search{
display: inline-block;
max-width: 150px;
}
div.search input,
div.search label{
display: none;
}
div.search:hover input,
div.search:hover label{
display: initial;
}
.note td.code {
width: 50%;
}
.note td.code textarea {
min-height: 200px;
}
.project-index td .users{
max-height: 30px;
overflow: hidden;
}
.project-index tr:hover td .users{
max-height: none;
}
.easylist fieldset a.button {
width: 80%;
padding: 30px;
text-align: center;
}
#preview,
#preview-source{
display: inline-block;
max-width: calc(50% - 20px);
vertical-align: bottom;
}
table #preview,
table #preview-source{
display: inherit;
max-width: unset;
vertical-align: inherit;
}
#preview.loading{
opacity: 0.2;
}
.completed > a::before {
content: " ✓";
}
@media (max-width:1199px) {
*[hide="12"]{
display: none;
}
table.document input{
max-width: 100px;
}
}
@media (max-width: 900px){
*[hide="9"]{
display: none;
}
table.document input{
max-width: 60px;
}
table.document .tax input,
table.document input.amount{
max-width: 25px;
}
}
@media (max-width: 800px){
*[hide="8"]{
display: none;
}
}
@media (max-width: 700px){
*[hide="7"]{
display: none;
}
fieldset.bookmark > fieldset{
max-height: 50px;
}
#preview,
#preview-source{
display: block;
max-width: unset;
}
}
@media (max-width: 600px){
*[hide="6"]{
display: none;
}
.easylist fieldset a.button {
width: 60%;
}
}
@media (max-width: 500px){
*[hide="5"]{
display: none;
}
}
@media (max-width: 400px){
*[hide="4"]{
display: none;
}
}
@media print{
fieldset.note span.right,
#logo, #main_menu {
display: none;
}
fieldset.process, fieldset.database{
page-break-after: always;
}
.export>fieldset{
border: 0 none;
}
}
@@ -1,41 +0,0 @@
.arrow{
stroke: orange;
}
circle, ellipse, rect{
stroke: black;
}
ellipse,
circle.process{
fill: rgba(255,255,255,0.5);
}
rect.terminal{
fill: white;
}
circle.connector{
fill: rgba(0,0,0,0.05);
stroke: none;
}
circle.connector:hover{
fill: rgba(0,0,0,0.6);
}
#backdrop{
fill: transparent;
}
.arrow circle{
stroke: none;
fill: rgba(128,128,128,0.5);
}
.arrow text{
fill: black;
stroke: none;
}
.arrow:hover circle{
fill: rgba(255,0,0,0.3);
}
.process text{
fill: black;
}