Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
10f4b2d
added function for: analysis result send to the importer and save ana…
duaakb Sep 15, 2025
e68ec44
enabled pipeline run again
duaakb Sep 15, 2025
ea1b987
replaced system.out with logger.info
duaakb Sep 15, 2025
9f1d81c
Added input field for corpusId
duaakb Sep 18, 2025
38f76b0
derive importer URL from request host; remove hardcoded localhost
duaakb Sep 22, 2025
f47df35
Restored importer_cache_branch changes after stash
duaakb Oct 2, 2025
9026fb2
Merge remote-tracking branch 'origin/develop' into importer_cache_branch
duaakb Oct 2, 2025
e46ae61
Changed corpus ID input to dropdown
duaakb Oct 2, 2025
6337f47
Added a modal from where a user can import a corpus via the corpus im…
Jan 16, 2026
4b01d7c
Funktionalitaet des corpus import from path nun konfigurierbar.
Jan 24, 2026
62877ff
New Import where Users can select which files to upload to either a n…
Jan 26, 2026
2f6ae4e
Add importer for sentence-level topic annotations
Ph1l1ppGitHub Jan 28, 2026
511ad94
Create unifiedtopic rows if missing for sentences that have sentencet…
Ph1l1ppGitHub Feb 9, 2026
24d3eb5
Add extra changes to PR 134
MaestroVaqueiro Feb 10, 2026
6c90914
created a models table, connected emotions table with models table vi…
Mar 2, 2026
78b6a75
added sentenceemotion table and implemented method for creating the rows
MaestroVaqueiro Mar 3, 2026
6c924ef
Update topic tables, docker config and importer logic
Ph1l1ppGitHub Mar 3, 2026
ab58275
modelle werden nun in sentencetopics auch beim spaeterem importieren …
Mar 3, 2026
9800654
Add model_id support and update topic model handling
Ph1l1ppGitHub Mar 5, 2026
2b1c2f2
Fix model_id parameter handling and update DocumentApi
Ph1l1ppGitHub Mar 5, 2026
1c43688
in der emotions tabelle und sentenceemotions tabelle werden nun mehre…
Mar 5, 2026
05ec310
merging
Mar 5, 2026
8efa8c3
Visual update regarding buttons, deleted model coloumn in table emotion.
MaestroVaqueiro Mar 5, 2026
53f8932
models.json fuer mich gefixt
MakuIan Mar 5, 2026
f8e90c6
Implement emotion model selection and ECharts radar rendering in docu…
MaestroVaqueiro Mar 5, 2026
1a882f2
it's possible to now import a corpusConfig.json File, change annotati…
MakuIan Mar 6, 2026
03ee47c
Implement emotion visualization toggle with model-based radar, timeli…
MaestroVaqueiro Mar 8, 2026
c7ebd4d
Add SentenceTopic persistence and topic postprocessing integration wi…
Ph1l1ppGitHub Mar 9, 2026
5610e82
Implement Topic Visualization toggle with model-based Chrod diagram, …
MaestroVaqueiro Mar 10, 2026
fd0f8ca
Merge remote-tracking branch 'fork/fallback/last-working-state' into …
MaestroVaqueiro Mar 10, 2026
cb87296
Button annotation TOPIC in UI
Ph1l1ppGitHub Mar 10, 2026
eef3487
lighter blue for already checked flags
MakuIan Mar 10, 2026
dfca1ad
feat: add 'Others' category to visualization navigation bar
MaestroVaqueiro Mar 10, 2026
9ea9bd9
Merge remote-tracking branch 'fork/fallback/last-working-state' into …
MaestroVaqueiro Mar 10, 2026
388aa9f
fix: align Topic header layout to match Emotion panel style and make …
MaestroVaqueiro Mar 10, 2026
46cb4d7
users can now delete a corpus and documents of a corpus, Added a miss…
MakuIan Mar 10, 2026
a293390
merging
MakuIan Mar 10, 2026
5d2ac8c
bug fix: reset checkbox states for a new corpus upload after opening …
MakuIan Mar 10, 2026
17507ab
Topic vorausgewählt machen
Ph1l1ppGitHub Mar 11, 2026
d293ed5
importer topic bug fix
MakuIan Mar 11, 2026
081f3b9
fix: add error handling to renderTemporalExplorer requests to prevent…
MaestroVaqueiro Mar 11, 2026
4d9b55e
Merge remote-tracking branch 'fork/fallback/last-working-state' into …
MaestroVaqueiro Mar 11, 2026
e9fb0d1
fix: remove auto-render of Topic Entity on tab init to prevent render…
MaestroVaqueiro Mar 11, 2026
37950e8
fix: remove auto-render of Semantic Density on tab init to prevent re…
MaestroVaqueiro Mar 11, 2026
dfaed6c
importer loading bar, not fully completed yet.
MakuIan Mar 12, 2026
39c10eb
importer now also works for documents with same id's. loading box now…
MakuIan Mar 12, 2026
4623f60
custom importID fix
MakuIan Mar 12, 2026
081c89e
added comments
MakuIan Mar 13, 2026
00c5aa9
removed old import from path option, since its useless
MakuIan Mar 13, 2026
87b0909
blocked the creation of corporas with the same name, since it creates…
MakuIan Mar 13, 2026
c5a896d
comments and cleanup
Ph1l1ppGitHub Mar 21, 2026
d05e7e1
removed some unnecessary comments
MakuIan Mar 21, 2026
e9f5862
merging comments and cleanup with removing unnecessary comments commit
MakuIan Mar 21, 2026
021e26c
Added Comments
MaestroVaqueiro Mar 22, 2026
cef24fa
Merge remote-tracking branch 'fork/fallback/last-working-state' into …
MaestroVaqueiro Mar 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion database/10_topicTables.sql
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ CREATE TABLE IF NOT EXISTS sentencetopics (
sentence_id BIGINT,
topicinstance_id BIGINT, -- refers to topicvaluebase.id
topiclabel VARCHAR(255), -- refers to topicvaluebase.value
thetast DOUBLE PRECISION
thetast DOUBLE PRECISION,
model_id BIGINT
);
CREATE TABLE IF NOT EXISTS documenttopicsraw (
document_id BIGINT,
Expand Down
1 change: 1 addition & 0 deletions docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ services:
- app_net
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
start_period: 5s
interval: 5s
timeout: 5s
start_interval: 1s
Expand Down
46 changes: 45 additions & 1 deletion uce.portal/resources/templates/corpus/components/documents.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,50 @@
<div class="document-card">
<#assign searchId = "">
<#include '*/search/components/documentCardContent.ftl' >

<div class="d-flex justify-content-end p-2 mt-2 border-top">
<button class="btn btn-sm btn-outline-danger"
onclick="deleteDocument(${document.getId()})"
title="Delete this Document">
<i class="fas fa-trash-alt mr-1"></i>
</button>
</div>

</div>
</div>
</#list>
</#list>

<script>
/**
* Deletes a document based on its ID
*/
function deleteDocument(documentId){
if (!confirm("Are you sure you want to delete this document?")){
return;
}
const btn = event.currentTarget;
const ogHtml = btn.innerHTML;
btn.innerHTML = '<i class="fas fa-spinner fa-spin"></i>';
btn.disabled = true;

fetch('/api/document/delete?id=' + documentId, {
method: 'DELETE'
})
.then(async response => {
if (response.ok){
$(btn).closest('.flexed').fadeOut(300,function (){$(this).remove();})
}else{
const msg = await response.text();
alert("Error when trying to delete document: " + msg);
btn.innerHTML = ogHtml;
btn.disabled = false;
}
})
.catch(e => {
console.error(e);
alert("Unexpected Error " + err.message);
btn.innerHTML = ogHtml;
btn.disabled = false;
})
}
</script>
21 changes: 21 additions & 0 deletions uce.portal/resources/templates/corpus/corpusInspector.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,27 @@
<a class="w-rounded-btn open-wiki-page" data-wid="${corpus.getWikiId()}" data-wcovered="${corpus.getName()}">
<i class="fab fa-wikipedia-w m-0 color-prime large-font"></i>
</a>
<div class="text-center pb-3">
<button class="btn btn-sm btn-outline-primary"
data-name="${(corpus.getName()!"-")?html}"
data-author="${(corpus.getAuthor()!"-")?html}"
data-lang="${(corpus.getLanguage()!"-")?html}"
data-desc="${(corpusConfig.getDescription()!"")?html}"
data-config="${(corpus.getCorpusJsonConfig()!"{}")?html}"
onclick="openUploadForExistingCorpora(
this.getAttribute('data-name'),
this.getAttribute('data-author'),
this.getAttribute('data-lang'),
this.getAttribute('data-desc'),
this.getAttribute('data-config')
)">
<i class="fas fa-plus mr-1"></i> Upload documents
</button>

<button class="btn btn-sm btn-outline-danger ml-1" onclick="deleteCorpus(${corpus.getId()})" title="Delete this Corpus">
<i class="fas fa-trash-alt"></i> Delete this corpus
</button>
</div>
</div>

<div class="ccontent">
Expand Down
9 changes: 9 additions & 0 deletions uce.portal/resources/templates/css/corpus-inspector.css
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,13 @@
width: 100%;
border-bottom: lightgray 1px solid;
padding:16px;
}
.corpus-inspector .annotation-entry:not(:has(input[type="checkbox"]:checked)) > div {
background: #e3e3e3;
border: 1px solid #cfcfcf !important;
border-radius: 6px;
}

.corpus-inspector .annotation-entry:not(:has(input[type="checkbox"]:checked)) > div label {
color: #666;
}
112 changes: 100 additions & 12 deletions uce.portal/resources/templates/css/document-reader.css
Original file line number Diff line number Diff line change
Expand Up @@ -655,7 +655,9 @@ body {
}

.tab-content .tab-pane.active {
display: block;
display: flex;
flex-direction: column;
height: calc(100vh - 50px);
}
.side-bar.visualization-expanded {
width: 150vw !important;
Expand All @@ -665,7 +667,7 @@ body {
.tab-pane .visualization-wrapper {
display: flex;
flex-direction: column;
height: 100%;
flex: 1;
position: relative;
}
.visualization-wrapper .visualization-content {
Expand Down Expand Up @@ -710,15 +712,16 @@ body {

/* Bottom Navigation */
.tab-pane .viz-bottom-nav {
position: fixed;
right: 0%;
bottom: 30px;
transform: translateX(-50%);
width: auto;
min-width: 320px;
max-width: 200vw;
position: absolute;
bottom: 80px;
left: 16px;
width: max-content;
max-width: calc(100% - 32px);
align-self: flex-end;
display: flex;
justify-content: space-around;
justify-content: center;
gap: 10px;
overflow: visible;
border-radius: 24px;
box-shadow: 0 4px 24px rgba(0,0,0,0.12);
background: #fff;
Expand Down Expand Up @@ -776,16 +779,28 @@ body {
outline: none;
}

#vp-3, #vp-4, #vp-5, #vp-2, #vp-1 {
#vp-4, #vp-5, #vp-2, #vp-1, #vp-6 {
display: flex;
align-items: center;
justify-content: center;
height: 800px;
overflow: hidden;
position: relative;
}
#vp-3 {
display: flex;
flex-direction: column;
height: 100%;
}

#vp-3 > div[id$="-body"] {
flex: 1;
}

#vp-3 > .d-flex {
width: 100%;
padding: 0;
}
.key-topic-settings-panel {
position: absolute;
top: 160px;
Expand Down Expand Up @@ -951,6 +966,7 @@ body {
border-radius: 4px;
cursor: pointer;
padding: 0;
}

.paragraph .paragraph-header {
border-radius: 16px;
Expand All @@ -964,5 +980,77 @@ body {
background-color: white;
color: var(--prime);
border: 1px solid var(--prime);
}

/* --- Dropdown Navigation Erweiterung (Hover) --- */
.tab-pane .viz-bottom-nav.viz-dropdown-nav{
justify-content: flex-start;
overflow: visible;
gap: 10px;
overflow: visible; /* wichtig, damit Menüs nicht abgeschnitten werden */
}

.tab-pane .viz-nav-group{
position: relative;
}

/* Parent-Buttons bleiben optisch wie .viz-nav-btn */
.tab-pane .viz-nav-parent{
width: auto; /* nicht auf 100% ziehen, sonst werden Gruppen riesig */
padding: 8px 14px;
display: inline-flex;
align-items: center;
gap: 8px;
}

/* Dropdown-Menü */
.tab-pane .viz-nav-menu{
display: none;
position: absolute;
left: 0;
bottom: calc(100% + 10px); /* klappt nach oben auf */
min-width: 240px;
background: #fff;
border: 1px solid #e0e0e0;
border-radius: 14px;
box-shadow: 0 10px 25px rgba(0,0,0,0.12);
padding: 6px;
z-index: 9999;
}

/* Öffnen per Hover */
.tab-pane .viz-nav-group:hover .viz-nav-menu{
display: block;
}

/* Menü-Items */
.tab-pane .viz-nav-item{
display: block;
padding: 8px 10px;
border-radius: 10px;
text-decoration: none;
color: #555;
font-weight: 600;
cursor: pointer;
white-space: nowrap;
}

.tab-pane .viz-nav-item:hover{
background: rgba(0,0,0,0.06);
}

/* Optional: Disabled */
.tab-pane .viz-nav-item.viz-disabled{
opacity: 0.6;
cursor: not-allowed;
}

}
/* Optional: kleiner “Puffer”, damit Menü nicht sofort schließt */
.tab-pane .viz-nav-menu::before{
content: "";
position: absolute;
left: 0;
right: 0;
bottom: -10px;
height: 10px;
}
31 changes: 31 additions & 0 deletions uce.portal/resources/templates/css/site.css
Original file line number Diff line number Diff line change
Expand Up @@ -1147,6 +1147,13 @@ nav .selected-nav-btn.text::before {
border-color: var(--prime) !important;
}

/* lighter blue for already checked checkboxes/flags (Import Modal) */
.custom-control-input:checked:disabled ~ .custom-control-label::before {
background-color: #6da2bc !important;
border-color: #6da2bc !important;
opacity: 1 !important;
}

/*Custom button switches */

/* UCE Map styles */
Expand Down Expand Up @@ -1240,3 +1247,27 @@ nav .selected-nav-btn.text::before {
}

/* UCE Map styles end */

/* Import Loading Bar Styles */
#importProgressWrapper{
display: none;
position: fixed;
bottom: 20px;
right: 20px;
width: 300px;
z-index: 1050;
}

#importProgressWrapper:hover #allImportsList{
display: block !important;
}

#allImportsList{
display: none;
position: absolute;
bottom: 100%;
right: 0;
width: 300px;
max-height: 400px;
overflow-y: auto;
}
Loading