This commit is contained in:
Developer01
2025-10-30 18:29:35 +01:00
parent 07a4c00b01
commit 5c0120cca8
26 changed files with 1708 additions and 1465 deletions

View File

@@ -5,6 +5,7 @@ Imports DD_Record_Organizer.ClassDocGrid
Imports DevExpress.Data
Imports DevExpress.Data.Filtering
Imports DevExpress.Utils
Imports DevExpress.XtraBars.Ribbon
Imports DevExpress.XtraEditors
Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Views.Grid
@@ -93,9 +94,7 @@ Public Class frmNodeNavigation
Update
Delete
End Enum
#End Region
Public Sub New(pEntityID As Int16, pConstructID As Int16, pNodeKeyID As Integer)
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
@@ -409,7 +408,7 @@ Public Class frmNodeNavigation
' END NEW NODE
CURRENT_NODEID = oGuid
If oHasRecordId Then
Update_Status_Label(True, $"NodeGUID {oGuid} - RecordID {CURRENT_RECORD_ID}", EditState.None)
Update_Status_Label(True, $"NodeID {oGuid} - RecordID {CURRENT_RECORD_ID}", EditState.None)
Node_AfterSelect = True
@@ -467,7 +466,7 @@ Public Class frmNodeNavigation
Node_AfterSelect = False
Else
Update_Status_Label(True, $"NodeGUID {oGuid}", EditState.None)
Update_Status_Label(True, $"NodeID {oGuid}", EditState.None)
ClassControlValues.ClearControlValues(pnlControls.Controls)
@@ -509,9 +508,9 @@ Public Class frmNodeNavigation
oMessage = "Keine Dateien für '"
If CURRENT_SEARCH_TYPE = "ENTITY" Then
oMessage &= " Entität gefunden"
oMessage &= " Sicht gefunden"
If USER_LANGUAGE <> "de-DE" Then
oMessage = "No files found for entity: "
oMessage = "No files found for view: "
End If
ElseIf CURRENT_SEARCH_TYPE = "RECORD" Then
@@ -543,9 +542,9 @@ Public Class frmNodeNavigation
If CURRENT_SEARCH_TYPE = "ENTITY" Then
oMessage = "Dateien für Entität: "
oMessage = "Dateien für Sicht: "
If USER_LANGUAGE <> "de-DE" Then
oMessage = "files for entity: "
oMessage = "files for view: "
End If
oMessage &= " (" & pDocumentCount.ToString & ")"
@@ -1795,9 +1794,9 @@ Public Class frmNodeNavigation
Dim oSQL = $"SELECT ENTITY_DOC_SEARCH FROM TBPMO_FORM WHERE GUID = {_EntityId}"
CURRENT_DOCSEARCH_SQL = MYDB_ECM.GetScalarValue(oSQL)
If CURRENT_DOCSEARCH_SQL <> String.Empty Then
Dim oText = $"Die Entität-weite Suche wird im Hintergrund ausgeführt und in einem separaten Fenster angezeigt sobald sie fertig ist."
If USER_LANGUAGE <> "de-De" Then
oText = $"The entity-wide search will be started in background. The result will be displayed when ready."
Dim oText = $"Die sichtweite Suche wird im Hintergrund ausgeführt und in einem separaten Fenster angezeigt sobald sie fertig ist."
If USER_LANGUAGE <> "de-DE" Then
oText = $"The view-wide search will be started in background. The result will be displayed when ready."
End If
Update_Notification_Label(True, oText, "Yellow")
@@ -1808,9 +1807,9 @@ Public Class frmNodeNavigation
If USER_LANGUAGE <> "de-DE" Then
CURRENT_DOCSEARCH_CAPTION = "Entity-wide search"
CURRENT_DOCSEARCH_CAPTION = "view-wide search"
Else
CURRENT_DOCSEARCH_CAPTION = "Entitätssuche"
CURRENT_DOCSEARCH_CAPTION = "Sichtweite Suche"
End If
Dim myformThread = New Thread(Sub()
Using frm As New frmDocSearchResult
@@ -2025,9 +2024,14 @@ Public Class frmNodeNavigation
Update_DocID_Label(True, omsg, EditState.Update)
If SELECTED_DOC_ID <> oDocID Then
SELECTED_DOC_ID = oDocID
If SplitContainerDocView.Collapsed Then
SplitContainerDocView.Collapsed = False
If checkShowPreview.Checked = False Then
SplitContainerDocView.Collapsed = True
Else
If SplitContainerDocView.Collapsed Then
SplitContainerDocView.Collapsed = False
End If
End If
DocView_DisplaySelectedDoc(False)
End If
Update_DocID_Label(True, omsg, EditState.Update)
@@ -3272,15 +3276,126 @@ Public Class frmNodeNavigation
Else
NNLogger.Debug("Show_SelectedDoc - oSelectedDocs is nothing")
End If
' If AfterNodeChange Then Exit Sub
'Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
'Try
' Dim oSelectedDoc = ClassDocGrid.GetSingleSelectedDocument(GridViewDoc_Search)
' If oSelectedDoc Is Nothing OrElse oSelectedDoc.Count <> 1 Then
' NNLogger.Debug("Kein oder mehrere Dokumente ausgewählt.")
' Close_Document_Viewer()
' Return
' End If
' If Not checkShowPreview.Checked OrElse Not DocViewInitialized Then
' NNLogger.Info("Vorschau deaktiviert oder Viewer nicht initialisiert.")
' Return
' End If
' Close_Document_Viewer()
' Await Task.Delay(400)
' Dim oDocument As ClassDocGrid.clsWMDoc = oSelectedDoc.First()
' Dim oPath = ClassHelper.FORMAT_WM_PATH(oDocument.DocPath)
' NNLogger.Debug("Starte DocumentViewer.LoadFile...")
' ' Flag für Erfolg
' Dim fileLoadedSuccessfully As Boolean = False
' ' Starte Timeout-Überwachung
' Dim timeoutTask = Task.Delay(TimeSpan.FromSeconds(20))
' ' Starte Laden im UI-Thread
' Dim loadTask = Task.Run(Sub()
' Try
' ' Direkt im UI-Thread ausführen
' Me.Invoke(Sub()
' DocumentViewer.LoadFile(oPath)
' fileLoadedSuccessfully = True
' End Sub)
' Catch ex As Exception
' NNLogger.Error("Fehler beim Laden des Dokuments: " & ex.Message)
' End Try
' End Sub)
' ' Warte auf Timeout oder Ladeende
' Await Task.WhenAny(loadTask, timeoutTask)
' If Not fileLoadedSuccessfully Then
' NNLogger.Warn("Ladevorgang hat Timeout überschritten oder ist fehlgeschlagen.")
' ' Optional: Viewer zurücksetzen oder Meldung anzeigen
' Else
' NNLogger.Info("Dokument erfolgreich geladen.")
' End If
Catch ex As Exception
NNLogger.Error(ex)
Finally
SplashScreenManager.CloseOverlayForm(oHandle)
End Try
End Sub
'Private Async Sub DocView_DisplaySelectedDoc(AfterNodeChange As Boolean)
' If AfterNodeChange Then
' Exit Sub
' End If
' Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
' Try
' Dim oSelectedDoc = ClassDocGrid.GetSingleSelectedDocument(GridViewDoc_Search)
' If Not IsNothing(oSelectedDoc) Then
' If checkShowPreview.Checked Then
' If DocViewInitialized Then
' If oSelectedDoc.Count = 1 Then
' Close_Document_Viewer()
' Await Task.Delay(400)
' Dim oDocument As ClassDocGrid.clsWMDoc = oSelectedDoc.First()
' Dim oPath = ClassHelper.FORMAT_WM_PATH(oDocument.DocPath)
' NNLogger.Debug("Now DocumentViewer.LoadFile...")
' Dim loadTask = Task.Run(Sub()
' DocumentViewer.LoadFile(oPath)
' End Sub)
' Dim timeoutTask = Task.Delay(TimeSpan.FromSeconds(20))
' Dim completedTask = Await Task.WhenAny(loadTask, timeoutTask)
' If completedTask Is timeoutTask Then
' NNLogger.Warn("Document loading timed out.")
' ' Optional: Cancel or reset viewer
' Else
' NNLogger.Info("Document loaded successfully.")
' End If
' Else
' NNLogger.Debug("Show_SelectedDoc - oSelectedDocs.Count not = 1 ")
' Close_Document_Viewer()
' End If
' Else
' NNLogger.Info("DocumentViewer not inited. No Show_SelectedDoc")
' End If
' End If
' Else
' NNLogger.Debug("Show_SelectedDoc - oSelectedDocs is nothing")
' End If
' Catch ex As Exception
' NNLogger.Error(ex)
' Finally
' SplashScreenManager.CloseOverlayForm(oHandle)
' End Try
'End Sub
Private Sub Close_Document_Viewer()
Try
DocumentViewer.CloseDocument()