Zooflow: Improve Search UI

This commit is contained in:
Jonathan Jenne
2022-04-11 16:07:04 +02:00
parent 7b9f679664
commit 435c32d5cb
4 changed files with 66 additions and 295 deletions

View File

@@ -10,22 +10,6 @@ Public Class frmFlowSearch1
Private Logger As Logger
Private SearchRunner As SearchRunner
'Private Property AttributeSearch As String = "ADDED_WHEN"
'Private Property DateConstraint As String = ""
'Private LIMITATION_DATE As Boolean = False
'Private SEARCH_FACT_DATE As String = "MONTH(OBJ.ADDED_WHEN) <> 13"
'Private Const SEARCH_FACT_DATE_DEFAULT As String = "ADDED_WHEN"
'Private Const CREATED_TOMORROW As String = "TOMORROW"
'Private Const CREATED_TODAY As String = "ECM_CREATED_TODAY"
'Private Const CREATED_YESTERDAY As String = "ECM_CREATED_YESTERDAY"
'Private Const CREATED_LAST_7_DAYS As String = "ECM_CREATED_LAST7DAYS"
'Private Const CREATED_YEAR_CURRENT As String = "ECM_CREATED_YEAR_CURRENT"
'Private Const CREATED_YEAR_LAST As String = "ECM_CREATED_YEAR_LAST"
'Private Const CREATED_MONTH_CURR As String = "ECM_CREATED_MONTH_CURRENT"
'Private Const CREATED_MONTH_LAST As String = "ECM_CREATED_MONTH_LAST"
'Private Property ExplizitDate As Boolean = False
Private Property BaseSearchSQL As String
Private Property TogglesDate As List(Of ToggleSwitch)
Private Property TogglesDateChanging As Boolean = False
@@ -46,14 +30,6 @@ Public Class frmFlowSearch1
oToggle.IsOn = False
Next
'ToggleSwitchToday.IsOn = False
'ToggleSwitchYesterday.IsOn = False
'ToggleSwitchTomorrow.IsOn = False
'ToggleSwitchLastWeek.IsOn = False
'ToggleSwitchYear_Last.IsOn = False
'ToggleSwitchYear.IsOn = False
'ToggleSwitchMonth.IsOn = False
'ToggleSwitchMonth_Last.IsOn = False
TogglesDateChanging = False
End Sub
@@ -75,136 +51,46 @@ Public Class frmFlowSearch1
If oToggle.IsOn Then
TogglesDateChanging = True
'Dim oWHENDATE As String
Select Case oToggle.Name
Case "ToggleSwitchTomorrow"
'ToggleSwitchToday.IsOn = False
'ToggleSwitchYesterday.IsOn = False
'ToggleSwitchTomorrow.IsOn = False
'ToggleSwitchLastWeek.IsOn = False
'ToggleSwitchYear_Last.IsOn = False
'ToggleSwitchYear.IsOn = False
'ToggleSwitchMonth.IsOn = False
'ToggleSwitchMonth_Last.IsOn = False
'oWHENDATE = GET_DATE_LIMITATION("YEAR(@ATTRIBUTE) = YEAR(GETDATE())", CREATED_TOMORROW)
'DateConstraint = CREATED_TOMORROW
ResetTogglesDate(ToggleSwitchTomorrow)
SearchRunner.SetDateConstraint(SearchRunner.DateConstraint.Tomorrow)
Case "ToggleSwitchYear"
'ToggleSwitchToday.IsOn = False
'ToggleSwitchYesterday.IsOn = False
'ToggleSwitchTomorrow.IsOn = False
'ToggleSwitchLastWeek.IsOn = False
'ToggleSwitchYear_Last.IsOn = False
'ToggleSwitchMonth.IsOn = False
'ToggleSwitchMonth_Last.IsOn = False
'oWHENDATE = GET_DATE_LIMITATION("YEAR(@ATTRIBUTE) = YEAR(GETDATE())", CREATED_YEAR_CURRENT)
'DateConstraint = CREATED_YEAR_CURRENT
ResetTogglesDate(ToggleSwitchYear)
SearchRunner.SetDateConstraint(SearchRunner.DateConstraint.CurrentYear)
Case "ToggleSwitchYear_Last"
'ToggleSwitchToday.IsOn = False
'ToggleSwitchYesterday.IsOn = False
'ToggleSwitchTomorrow.IsOn = False
'ToggleSwitchLastWeek.IsOn = False
'ToggleSwitchYear.IsOn = False
'ToggleSwitchMonth.IsOn = False
'ToggleSwitchMonth_Last.IsOn = False
'oWHENDATE = GET_DATE_LIMITATION("YEAR(@ATTRIBUTE) = YEAR(GETDATE())", CREATED_YEAR_LAST)
'DateConstraint = CREATED_TODAY
ResetTogglesDate(ToggleSwitchYear_Last)
SearchRunner.SetDateConstraint(SearchRunner.DateConstraint.Today)
Case "ToggleSwitchMonth"
'ToggleSwitchToday.IsOn = False
'ToggleSwitchYesterday.IsOn = False
'ToggleSwitchTomorrow.IsOn = False
'ToggleSwitchLastWeek.IsOn = False
'ToggleSwitchYear.IsOn = False
'ToggleSwitchYear_Last.IsOn = False
'ToggleSwitchMonth_Last.IsOn = False
'oWHENDATE = GET_DATE_LIMITATION("MONTH(@ATTRIBUTE) = MONTH(GETDATE())", CREATED_MONTH_CURR)
'DateConstraint = CREATED_MONTH_CURR
ResetTogglesDate(ToggleSwitchMonth)
SearchRunner.SetDateConstraint(SearchRunner.DateConstraint.CurrentMonth)
Case "ToggleSwitchMonth_Last"
'ToggleSwitchToday.IsOn = False
'ToggleSwitchYesterday.IsOn = False
'ToggleSwitchTomorrow.IsOn = False
'ToggleSwitchLastWeek.IsOn = False
'ToggleSwitchYear.IsOn = False
'ToggleSwitchYear_Last.IsOn = False
'ToggleSwitchMonth.IsOn = False
'Dim currentDate As DateTime = DateTime.Now
'If currentDate.Month = 1 Then
' oWHENDATE = GET_DATE_LIMITATION($"MONTH(@ATTRIBUTE) = 12 {vbNewLine}AND YEAR(@ATTRIBUTE) = (YEAR(GETDATE()) -1)", CREATED_MONTH_LAST)
'Else
' oWHENDATE = GET_DATE_LIMITATION("MONTH(@ATTRIBUTE) = (MONTH(GETDATE()) -1)", CREATED_MONTH_LAST)
'End If
'DateConstraint = CREATED_MONTH_LAST
ResetTogglesDate(ToggleSwitchMonth_Last)
SearchRunner.SetDateConstraint(SearchRunner.DateConstraint.LastMonth)
Case "ToggleSwitchToday"
'ToggleSwitchYesterday.IsOn = False
'ToggleSwitchTomorrow.IsOn = False
'ToggleSwitchLastWeek.IsOn = False
'ToggleSwitchYear.IsOn = False
'ToggleSwitchYear_Last.IsOn = False
'ToggleSwitchMonth.IsOn = False
'ToggleSwitchMonth_Last.IsOn = False
'oWHENDATE = GET_DATE_LIMITATION("convert(DATE,@ATTRIBUTE) = convert(DATE,GETDATE())", CREATED_TODAY)
'DateConstraint = CREATED_TODAY
ResetTogglesDate(ToggleSwitchToday)
SearchRunner.SetDateConstraint(SearchRunner.DateConstraint.Today)
Case "ToggleSwitchYesterday"
'ToggleSwitchToday.IsOn = False
'ToggleSwitchTomorrow.IsOn = False
'ToggleSwitchLastWeek.IsOn = False
'ToggleSwitchYear.IsOn = False
'ToggleSwitchYear_Last.IsOn = False
'ToggleSwitchMonth.IsOn = False
'ToggleSwitchMonth_Last.IsOn = False
'oWHENDATE = GET_DATE_LIMITATION("convert(DATE,@ATTRIBUTE) = convert(DATE,GETDATE()-1)", CREATED_YESTERDAY)
'DateConstraint = CREATED_YESTERDAY
ResetTogglesDate(ToggleSwitchYesterday)
SearchRunner.SetDateConstraint(SearchRunner.DateConstraint.Yesterday)
Case "ToggleSwitchLastWeek"
'ToggleSwitchToday.IsOn = False
'ToggleSwitchTomorrow.IsOn = False
'ToggleSwitchYesterday.IsOn = False
'ToggleSwitchYear.IsOn = False
'ToggleSwitchYear_Last.IsOn = False
'ToggleSwitchMonth.IsOn = False
'ToggleSwitchMonth_Last.IsOn = False
'oWHENDATE = GET_DATE_LIMITATION("convert(DATE,@ATTRIBUTE) = convert(DATE,GETDATE()-1)", CREATED_LAST_7_DAYS)
'DateConstraint = CREATED_LAST_7_DAYS
ResetTogglesDate(ToggleSwitchLastWeek)
SearchRunner.SetDateConstraint(SearchRunner.DateConstraint.Last7Days)
End Select
'SEARCH_FACT_DATE = oWHENDATE
TogglesDateChanging = False
'LIMITATION_DATE = True
Else
If ToggleSwitchToday.IsOn = False And ToggleSwitchYesterday.IsOn = False And ToggleSwitchYear.IsOn = False And ToggleSwitchYear_Last.IsOn = False And
ToggleSwitchMonth_Last.IsOn = False And ToggleSwitchMonth.IsOn = False And ToggleSwitchLastWeek.IsOn = False And ToggleSwitchTomorrow.IsOn = False Then
'LIMITATION_DATE = False
'DateConstraint = ""
SearchRunner.SetDateConstraint()
End If
End If
@@ -219,14 +105,10 @@ Public Class frmFlowSearch1
Dim oEditValue As String = cmbLimitationDateAttr.SelectedItem.ToString
If oEditValue = IDB_ADDED_WHEN_String_German Or oEditValue = IDB_ADDED_WHEN_String_Englisch Then
'AttributeSearch = SEARCH_FACT_DATE_DEFAULT
SearchRunner.SetDateAttribute()
Else
'AttributeSearch = oEditValue
SearchRunner.SetDateAttribute(oEditValue)
'SEARCH_FACT_DATE = $"MONTH(GRPDATE.[{SEARCH_FACT_DATE_ATTRIBUTE}]) <> 13"
End If
'SearchContent()
Catch ex As Exception
Logger.Error(ex)
End Try
@@ -281,7 +163,6 @@ Public Class frmFlowSearch1
collection.Add(orow.Item("TERM"))
Next
txtSearchInput.MaskBox.AutoCompleteSource = AutoCompleteSource.CustomSource
txtSearchInput.MaskBox.AutoCompleteMode = AutoCompleteMode.SuggestAppend
txtSearchInput.MaskBox.AutoCompleteCustomSource = collection
@@ -309,8 +190,6 @@ Public Class frmFlowSearch1
Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
Try
'Await ExecuteSearch()
Dim oResult = Await SearchRunner.Run(txtSearchInput.Text, DateEditFrom.EditValue, DateEditTill.EditValue)
If oResult.OK = False Then
bsiStatus.Caption = oResult.ErrorMessage
@@ -336,7 +215,6 @@ Public Class frmFlowSearch1
Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
Try
'Await ExecuteSearch()
Dim oResult = Await SearchRunner.Run(txtSearchInput.Text, DateEditFrom.EditValue, DateEditTill.EditValue)
If oResult.OK = False Then
bsiStatus.Caption = oResult.ErrorMessage
@@ -353,7 +231,6 @@ Public Class frmFlowSearch1
txtSearchInput.Text = ""
ResetTogglesDate()
ToggleSwitchDateto.IsOn = False
'ExplizitDate = False
SearchRunner.ExplicitDate = False
End Sub
@@ -373,131 +250,22 @@ Public Class frmFlowSearch1
Dim oDateFrom = DateEditFrom.EditValue
If Not IsNothing(oDateFrom) Then
ResetTogglesDate()
'ExplizitDate = True
SearchRunner.ExplicitDate = True
End If
End Sub
'Private Function GetResultWindowString(SearchContent As String) As String
' If SearchContent <> String.Empty Then
' If My.Application.User.Language = State.UserState.LANG_DE_DE Then
Private Async Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles SimpleButton1.Click
Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
' Return $"Suche Nach '{txtSearchInput.Text}'"
' Else
' Return $"Search For '{txtSearchInput.Text}'"
' End If
' Else
' If My.Application.User.Language = State.UserState.LANG_DE_DE Then
' Return $"Suche Datumsbegrenzt"
' Else
' Return $"Search via date"
' End If
' End If
'End Function
'Private Async Function ExecuteSearch() As Threading.Tasks.Task
' Dim oSearchTerm = txtSearchInput.Text
' Dim oParams = New DocumentResultList.Params() With {
' .WindowGuid = "FlowSearch",
' .WindowTitle = GetResultWindowString(oSearchTerm),
' .OperationModeOverride = Modules.ZooFlow.Constants.OperationMode.ZooFlow,
' .ProfileGuid = 354522,
' .ColumnNames = New DocumentResultList.ColumnNames With {
' .ObjectIdColumn = "DocID"
' }
' }
' Dim oP3 = $"{AttributeSearch}~{DateConstraint}"
' If ExplizitDate Then
' Dim oDate2 As Date
' If Not IsNothing(DateEditTill.EditValue) Then
' oDate2 = CDate(DateEditTill.EditValue)
' Else
' oDate2 = CDate(DateEditFrom.EditValue)
' End If
' Dim oProc = $"EXEC PRIDB_SEARCH_ADD_USR_DATE {My.Application.User.UserId},'{CDate(DateEditFrom.EditValue)}','{oDate2}'"
' If Await My.Database.ExecuteNonQueryIDBAsync(oProc) = True Then
' oP3 = $"{AttributeSearch}~DATEPART"
' End If
' End If
' Dim oSQL = $"EXEC PRIDB_SEARCH_TEXT_GET_RESULTS {My.Application.User.UserId},'{oSearchTerm}','{oP3}'"
' If Await My.Database.ExecuteNonQueryIDBAsync(oSQL) = True Then
' Dim oDTDocResult = Await My.Database.GetDatatableIDBAsync(BaseSearchSQL)
' If oDTDocResult.Rows.Count > 0 Then
' oParams.Results.Add(New DocumentResultList.DocumentResult() With {
' .Title = "FlowSearchXYZ",
' .Datatable = oDTDocResult
' })
' Dim oForm As New frmDocumentResultList(My.LogConfig, _Environment, oParams)
' AddHandler oForm.NeedsRefresh, AddressOf Form_NeedsRefresh
' oForm.Show()
' Else
' bsiStatus.Caption = "No Results"
' End If
' Else
' bsiStatus.Caption = "Error in FlowSearch - Check Your log"
' End If
'End Function
'Private Function GetDateConstraint(pDateConstraint As DateConstraint) As String
' Select Case pDateConstraint
' Case DateConstraint.Today
' Return GET_DATE_LIMITATION("convert(DATE,@ATTRIBUTE) = convert(DATE,GETDATE())", CREATED_TODAY)
' Case DateConstraint.Yesterday
' Return GET_DATE_LIMITATION("convert(DATE,@ATTRIBUTE) = convert(DATE,GETDATE()-1)", CREATED_YESTERDAY)
' Case DateConstraint.Last7Days
' Return GET_DATE_LIMITATION("convert(DATE,@ATTRIBUTE) = convert(DATE,GETDATE()-1)", CREATED_LAST_7_DAYS)
' Case DateConstraint.CurrentMonth
' Return GET_DATE_LIMITATION("MONTH(@ATTRIBUTE) = MONTH(GETDATE())", CREATED_MONTH_CURR)
' Case DateConstraint.LastMonth
' If Now.Month = 1 Then
' Return GET_DATE_LIMITATION($"MONTH(@ATTRIBUTE) = 12 {vbNewLine}AND YEAR(@ATTRIBUTE) = (YEAR(GETDATE()) -1)", CREATED_MONTH_LAST)
' Else
' Return GET_DATE_LIMITATION("MONTH(@ATTRIBUTE) = (MONTH(GETDATE()) -1)", CREATED_MONTH_LAST)
' End If
' Case DateConstraint.CurrentYear
' Return GET_DATE_LIMITATION("YEAR(@ATTRIBUTE) = YEAR(GETDATE())", CREATED_YEAR_CURRENT)
' Case DateConstraint.LastYear
' Return GET_DATE_LIMITATION("YEAR(@ATTRIBUTE) = YEAR(GETDATE())", CREATED_YEAR_LAST)
' Case Else
' Return ""
' End Select
'End Function
'Private Function GET_DATE_LIMITATION(pInput As String, pVariant As String) As String
' Try
' If SEARCH_FACT_DATE_ATTRIBUTE = SEARCH_FACT_DATE_DEFAULT Then
' SEARCH_PARAM3 = pVariant
' Return pInput.Replace("@ATTRIBUTE", "OBJ.ADDED_WHEN")
' Else
' Dim oSTR = $"GRPDATE.[{SEARCH_FACT_DATE_ATTRIBUTE}]"
' Return pInput.Replace("@ATTRIBUTE", oSTR)
' End If
' Catch ex As Exception
' Return pInput
' Logger.Error(ex)
' End Try
'End Function
'Private Enum DateConstraintEnum
' Today
' Yesterday
' Last7Days
' CurrentYear
' LastYear
' CurrentMonth
' LastMonth
'End Enum
Try
Dim oResult = Await SearchRunner.Run(txtSearchInput.Text, DateEditFrom.EditValue, DateEditTill.EditValue)
If oResult.OK = False Then
bsiStatus.Caption = oResult.ErrorMessage
End If
Catch ex As Exception
Logger.Error(ex)
Finally
SplashScreenManager.CloseOverlayForm(oHandle)
End Try
End Sub
End Class