diff --git a/GUIs.ZooFlow/My Project/Resources.Designer.vb b/GUIs.ZooFlow/My Project/Resources.Designer.vb
index 9ff22962..c4078a92 100644
--- a/GUIs.ZooFlow/My Project/Resources.Designer.vb
+++ b/GUIs.ZooFlow/My Project/Resources.Designer.vb
@@ -340,6 +340,26 @@ Namespace My.Resources
End Get
End Property
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property actions_calendar() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("actions_calendar", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property actions_calendar1() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("actions_calendar1", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
'''
''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
'''
@@ -650,6 +670,26 @@ Namespace My.Resources
End Get
End Property
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property bo_category() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("bo_category", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property bo_category1() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("bo_category1", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
'''
''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
'''
@@ -1140,6 +1180,46 @@ Namespace My.Resources
End Get
End Property
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property link() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("link", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property link1() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("link1", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property link2() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("link2", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property link3() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("link3", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
'''
''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
'''
@@ -1230,6 +1310,16 @@ Namespace My.Resources
End Get
End Property
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property new4() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("new4", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
'''
''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
'''
@@ -1510,6 +1600,26 @@ Namespace My.Resources
End Get
End Property
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property unlink() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("unlink", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property unlink1() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("unlink1", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
'''
''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
'''
@@ -1520,6 +1630,26 @@ Namespace My.Resources
End Get
End Property
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property viewmergeddata() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("viewmergeddata", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property viewmergeddata1() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("viewmergeddata1", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
'''
''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
'''
diff --git a/GUIs.ZooFlow/My Project/Resources.resx b/GUIs.ZooFlow/My Project/Resources.resx
index 8539267f..b4d6774e 100644
--- a/GUIs.ZooFlow/My Project/Resources.resx
+++ b/GUIs.ZooFlow/My Project/Resources.resx
@@ -181,6 +181,9 @@
..\Resources\ZooFlow_CW_DevExpress.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ ..\Resources\link2.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
..\Resources\editnames.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -214,6 +217,9 @@
..\Resources\text.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ ..\Resources\viewmergeddata.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
..\Resources\actions_check6.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -241,9 +247,15 @@
..\Resources\del4.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ ..\Resources\viewmergeddata1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
..\Resources\actions_deletecircled1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ ..\Resources\link1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
..\Resources\ZooflowTitle.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -259,8 +271,8 @@
..\Resources\actions_add.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- ..\Resources\actions_deletecircled3.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ ..\Resources\gear_32xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
..\Resources\deletetable.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -268,6 +280,9 @@
..\Resources\3_PERSON_AKTIV_ZOO.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\link3.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
..\Resources\FLOW_Sidebar_Search_aktiv1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -325,11 +340,8 @@
..\Resources\actions_addcircled1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- ..\Resources\documentproperties.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- ..\Resources\FLOW_Sidebar_Task_inaktiv1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ ..\Resources\ZooFlow_G_DevExpress.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
..\Resources\1_LOGO_ZOO_FLOW.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -349,8 +361,8 @@
..\Resources\markcomplete.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- ..\Resources\ZooFlow_G_DevExpress.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ ..\Resources\new4.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
..\Resources\save6.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -370,15 +382,15 @@
..\Resources\bell_delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\ZooFlow_drop.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
..\Resources\GLOBIX_short.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
..\Resources\Hamburger_icon.svg.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\link.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
..\Resources\actions_database.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -397,6 +409,9 @@
..\Resources\managedatasource1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ ..\Resources\Checked-outforEdit_Color_13297.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
..\Resources\ZOOFLOW_DRAG_NORMAL.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -421,8 +436,8 @@
..\Resources\definednameuseinformula1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- ..\Resources\properties.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ ..\Resources\unlink.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
..\Resources\2_LUPE_INAKTIV_ZOO.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -442,9 +457,6 @@
..\Resources\del5.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- ..\Resources\actions_edit1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
..\Resources\new1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -481,12 +493,15 @@
..\Resources\doublenext2.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- ..\Resources\Compare_RefreshScriptPreview.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\properties.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
..\Resources\new3.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ ..\Resources\actions_deletecircled3.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
..\Resources\actions_check.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -496,6 +511,12 @@
..\Resources\StatusAnnotations_Stop_16xLG_color.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\actions_calendar1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ ..\Resources\switchrowcolumns.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
..\Resources\actions_deletecircled5.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -505,6 +526,15 @@
..\Resources\ZOOFLOW_DRAG_PROGRESSIVE.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\documentproperties.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ ..\Resources\StatusAnnotations_Information_16xLG_color.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\Compare_RefreshScriptPreview.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
..\Resources\actions_addcircled4.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -514,6 +544,9 @@
..\Resources\save2.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ ..\Resources\save8.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
..\Resources\save9.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -529,6 +562,9 @@
..\Resources\ZooFlow_Sidebar_individuelle_suche.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ ..\Resources\actions_calendar.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
..\Resources\bo_appointment.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -538,20 +574,20 @@
..\Resources\new2.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- ..\Resources\1_LOGO_ZOO_FLOW1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\FLOW_Sidebar_Task_inaktiv1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
..\Resources\ZooFlow_PM_DevExpress.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- ..\Resources\StatusAnnotations_Information_16xLG_color.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\actions_edit1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
..\Resources\del.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- ..\Resources\gear_32xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\unlink1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
..\Resources\managedatasource3.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -562,8 +598,8 @@
..\Resources\doublenext1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- ..\Resources\Checked-outforEdit_Color_13297.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\ZooFlow_drop.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
..\Resources\about4.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -574,8 +610,8 @@
..\Resources\bo_document.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- ..\Resources\save8.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ ..\Resources\bo_category.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
..\Resources\servermode.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -592,6 +628,9 @@
..\Resources\actions_addcircled3.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ ..\Resources\1_LOGO_ZOO_FLOW1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
..\Resources\actions_window.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -601,7 +640,7 @@
..\Resources\del3.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- ..\Resources\switchrowcolumns.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ ..\Resources\bo_category1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
\ No newline at end of file
diff --git a/GUIs.ZooFlow/Resources/actions_calendar.svg b/GUIs.ZooFlow/Resources/actions_calendar.svg
new file mode 100644
index 00000000..dc313d67
--- /dev/null
+++ b/GUIs.ZooFlow/Resources/actions_calendar.svg
@@ -0,0 +1,26 @@
+
+
\ No newline at end of file
diff --git a/GUIs.ZooFlow/Resources/actions_calendar1.svg b/GUIs.ZooFlow/Resources/actions_calendar1.svg
new file mode 100644
index 00000000..dc313d67
--- /dev/null
+++ b/GUIs.ZooFlow/Resources/actions_calendar1.svg
@@ -0,0 +1,26 @@
+
+
\ No newline at end of file
diff --git a/GUIs.ZooFlow/Resources/bo_category.svg b/GUIs.ZooFlow/Resources/bo_category.svg
new file mode 100644
index 00000000..9dc9c0d9
--- /dev/null
+++ b/GUIs.ZooFlow/Resources/bo_category.svg
@@ -0,0 +1,30 @@
+
+
\ No newline at end of file
diff --git a/GUIs.ZooFlow/Resources/bo_category1.svg b/GUIs.ZooFlow/Resources/bo_category1.svg
new file mode 100644
index 00000000..9dc9c0d9
--- /dev/null
+++ b/GUIs.ZooFlow/Resources/bo_category1.svg
@@ -0,0 +1,30 @@
+
+
\ No newline at end of file
diff --git a/GUIs.ZooFlow/Resources/link.svg b/GUIs.ZooFlow/Resources/link.svg
new file mode 100644
index 00000000..c26123df
--- /dev/null
+++ b/GUIs.ZooFlow/Resources/link.svg
@@ -0,0 +1,7 @@
+
+
\ No newline at end of file
diff --git a/GUIs.ZooFlow/Resources/link1.svg b/GUIs.ZooFlow/Resources/link1.svg
new file mode 100644
index 00000000..c26123df
--- /dev/null
+++ b/GUIs.ZooFlow/Resources/link1.svg
@@ -0,0 +1,7 @@
+
+
\ No newline at end of file
diff --git a/GUIs.ZooFlow/Resources/link2.svg b/GUIs.ZooFlow/Resources/link2.svg
new file mode 100644
index 00000000..c26123df
--- /dev/null
+++ b/GUIs.ZooFlow/Resources/link2.svg
@@ -0,0 +1,7 @@
+
+
\ No newline at end of file
diff --git a/GUIs.ZooFlow/Resources/link3.svg b/GUIs.ZooFlow/Resources/link3.svg
new file mode 100644
index 00000000..c26123df
--- /dev/null
+++ b/GUIs.ZooFlow/Resources/link3.svg
@@ -0,0 +1,7 @@
+
+
\ No newline at end of file
diff --git a/GUIs.ZooFlow/Resources/new4.svg b/GUIs.ZooFlow/Resources/new4.svg
new file mode 100644
index 00000000..4a85a96a
--- /dev/null
+++ b/GUIs.ZooFlow/Resources/new4.svg
@@ -0,0 +1,7 @@
+
+
\ No newline at end of file
diff --git a/GUIs.ZooFlow/Resources/unlink.svg b/GUIs.ZooFlow/Resources/unlink.svg
new file mode 100644
index 00000000..448a01b8
--- /dev/null
+++ b/GUIs.ZooFlow/Resources/unlink.svg
@@ -0,0 +1,7 @@
+
+
\ No newline at end of file
diff --git a/GUIs.ZooFlow/Resources/unlink1.svg b/GUIs.ZooFlow/Resources/unlink1.svg
new file mode 100644
index 00000000..448a01b8
--- /dev/null
+++ b/GUIs.ZooFlow/Resources/unlink1.svg
@@ -0,0 +1,7 @@
+
+
\ No newline at end of file
diff --git a/GUIs.ZooFlow/Resources/viewmergeddata.svg b/GUIs.ZooFlow/Resources/viewmergeddata.svg
new file mode 100644
index 00000000..fb703d38
--- /dev/null
+++ b/GUIs.ZooFlow/Resources/viewmergeddata.svg
@@ -0,0 +1,11 @@
+
+
\ No newline at end of file
diff --git a/GUIs.ZooFlow/Resources/viewmergeddata1.svg b/GUIs.ZooFlow/Resources/viewmergeddata1.svg
new file mode 100644
index 00000000..fb703d38
--- /dev/null
+++ b/GUIs.ZooFlow/Resources/viewmergeddata1.svg
@@ -0,0 +1,11 @@
+
+
\ No newline at end of file
diff --git a/GUIs.ZooFlow/Search/SearchRunner.vb b/GUIs.ZooFlow/Search/SearchRunner.vb
index 45a8d919..dd8572df 100644
--- a/GUIs.ZooFlow/Search/SearchRunner.vb
+++ b/GUIs.ZooFlow/Search/SearchRunner.vb
@@ -30,6 +30,11 @@ Public Class SearchRunner
Undefined
End Enum
+ Public Enum TokenOperator
+ [And]
+ [Or]
+ End Enum
+
Public Event NeedsRefresh As EventHandler(Of Integer)
Public Event Closed As EventHandler(Of Integer)
@@ -41,6 +46,8 @@ Public Class SearchRunner
End Property
Private _ActiveDateAttribute As String = SEARCH_FACT_DATE_DEFAULT
+ Private _ActiveTokenOperator As TokenOperator = TokenOperator.And
+
Public ReadOnly Property ActiveDateAttribute As String
Get
Return _ActiveDateAttribute
@@ -52,11 +59,13 @@ Public Class SearchRunner
Private ReadOnly Environment As Environment
Private ReadOnly SearchTitle As String
+ Public ReadOnly Property UserId As Integer
Public Sub New(pLogConfig As LogConfig, pEnvironment As Environment, pSearchTitle As String)
MyBase.New(pLogConfig)
Environment = pEnvironment
SearchTitle = pSearchTitle
+ UserId = My.Application.User.UserId
End Sub
Public Function RunWithDataTable(pDatatable As DataTable) As SearchResult
@@ -98,44 +107,13 @@ Public Class SearchRunner
End Function
Public Async Function RunWithSearchTerm(pSearchTerm As String, pDateFrom As Date, pDateTo As Date, pSearchTokens As IEnumerable(Of Search.SearchToken.AttributeValueToken), pSearchTitle As String) As Task(Of SearchResult)
- If pDateFrom.Equals(Date.MinValue) = False Then
- ExplicitDate = True
- End If
-
- Dim oSearchTerm = pSearchTerm
Dim oWindowTitle = GetResultWindowString(pSearchTerm, pSearchTitle)
Dim oParams = GetParams(oWindowTitle)
- Dim oDateConstraint = $"{_ActiveDateAttribute}~{_ActiveDateConstraint}"
- Dim oUserId = My.Application.User.UserId
+ Dim oDateConstraint = GetDateConstraint(pDateFrom, pDateTo)
- If ExplicitDate Then
- Dim oDate2 As Date
- If pDateTo.Equals(Date.MinValue) Then
- oDate2 = pDateTo
- Else
- oDate2 = pDateFrom
- End If
- Dim oProc = $"EXEC PRIDB_SEARCH_ADD_USR_DATE {oUserId},'{pDateFrom}','{oDate2}'"
- If Await My.Database.ExecuteNonQueryIDBAsync(oProc) = True Then
- oDateConstraint = $"{_ActiveDateAttribute}~DATEPART"
- End If
- End If
+ Await InsertSearchTokens(pSearchTokens)
- Await My.Database.ExecuteNonQueryIDBAsync($"DELETE FROM TBIDB_SEARCH_INPUT_USER WHERE USR_ID = {oUserId}")
-
- If pSearchTokens IsNot Nothing AndAlso pSearchTokens.Count > 0 Then
-
- For Each oToken In pSearchTokens
- Dim oSQLInsert As String = $"
- INSERT INTO [dbo].[TBIDB_SEARCH_INPUT_USER] ([USR_ID], [ATTR_ID], [ATTR_TITLE], [TERM_ID], [OPERATOR])
- VALUES ({oUserId}, {oToken.AttributeId}, '{oToken.AttributeTitle}', {oToken.TermId}, 'AND')"
-
- Dim oResult = Await My.Database.ExecuteNonQueryIDBAsync(oSQLInsert)
- Next
-
- End If
-
- Dim oSQL = $"EXEC PRIDB_SEARCH_TEXT_GET_RESULTS {oUserId},'{oSearchTerm}','{oDateConstraint}'"
+ Dim oSQL = $"EXEC PRIDB_SEARCH_TEXT_GET_RESULTS {UserId},'{pSearchTerm}','{oDateConstraint}'"
If Await My.Database.ExecuteNonQueryIDBAsync(oSQL) = True Then
Dim oDTDocResult = Await My.Database.GetDatatableIDBAsync(BaseSearchSQL)
@@ -169,6 +147,73 @@ Public Class SearchRunner
End If
End Function
+ Private Async Function GetDateConstraint(pDateFrom As Date, pDateTo As Date) As Task(Of String)
+ Dim oSimpleDateConstraint = $"{_ActiveDateAttribute}~{_ActiveDateConstraint}"
+ Dim oExplicitConstraint = Await MaybeSetExplicitDateConstraint(pDateFrom, pDateTo)
+
+ If IsNothing(oExplicitConstraint) Then
+ Return oSimpleDateConstraint
+ Else
+ Return oExplicitConstraint
+ End If
+ End Function
+
+ Private Async Function InsertSearchTokens(pTokens As IEnumerable(Of Search.SearchToken.Token)) As Task
+ Logger.Debug("Deleting previous user tokens..")
+ Await My.Database.ExecuteNonQueryIDBAsync($"DELETE FROM TBIDB_SEARCH_INPUT_USER WHERE USR_ID = {UserId}")
+
+ If pTokens Is Nothing Then
+ Logger.Warn("Token Object was nothing!")
+ Exit Function
+ End If
+
+ If pTokens.Count = 0 Then
+ Logger.Warn("Token Object was empty!")
+ Exit Function
+ End If
+
+ Dim oOperatorString
+
+ Select Case _ActiveTokenOperator
+ Case TokenOperator.Or
+ oOperatorString = "OR"
+ Case Else
+ oOperatorString = "AND"
+ End Select
+
+
+ For Each oToken In pTokens
+ Dim oSQLInsert As String = $"
+ INSERT INTO [dbo].[TBIDB_SEARCH_INPUT_USER] ([USR_ID], [ATTR_ID], [ATTR_TITLE], [TERM_ID], [OPERATOR])
+ VALUES ({UserId}, {oToken.AttributeId}, '{oToken.AttributeTitle}', {oToken.TermId}, '{oOperatorString}')"
+
+ Dim oResult = Await My.Database.ExecuteNonQueryIDBAsync(oSQLInsert)
+ Logger.Warn("Inserting Tokens failed!")
+ Next
+ End Function
+
+
+ Private Async Function MaybeSetExplicitDateConstraint(pDateFrom As Date, pDateTo As Date) As Task(Of String)
+ If pDateFrom.Equals(Date.MinValue) = False Then
+ ExplicitDate = True
+
+ Dim oDateTo As Date
+ If pDateTo.Equals(Date.MinValue) Then
+ oDateTo = pDateTo
+ Else
+ oDateTo = pDateFrom
+ End If
+ Dim oProc = $"EXEC PRIDB_SEARCH_ADD_USR_DATE {UserId},'{pDateFrom}','{oDateTo}'"
+ If Await My.Database.ExecuteNonQueryIDBAsync(oProc) = True Then
+ Return $"{_ActiveDateAttribute}~DATEPART"
+ Else
+ Return Nothing
+ End If
+ End If
+
+ Return Nothing
+ End Function
+
Private Sub Form_Closed(sender As Object, e As EventArgs)
RaiseEvent Closed(sender, 0)
End Sub
@@ -220,6 +265,10 @@ Public Class SearchRunner
_ActiveDateConstraint = DateConstraintToConstant(pConstraint)
End Sub
+ Public Sub SetTokenOperator(pOperator As TokenOperator)
+ _ActiveTokenOperator = pOperator
+ End Sub
+
Public Function DateConstraintToConstant(pConstraint As DateConstraint) As String
Select Case pConstraint
Case DateConstraint.Today
diff --git a/GUIs.ZooFlow/Search/Test/SearchToken.vb b/GUIs.ZooFlow/Search/SearchToken.vb
similarity index 56%
rename from GUIs.ZooFlow/Search/Test/SearchToken.vb
rename to GUIs.ZooFlow/Search/SearchToken.vb
index c3b3cc58..702f9423 100644
--- a/GUIs.ZooFlow/Search/Test/SearchToken.vb
+++ b/GUIs.ZooFlow/Search/SearchToken.vb
@@ -1,11 +1,31 @@
Namespace Search
Public Class SearchToken
- Public Class AttributeValueToken
+ Public Class Token
Public AttributeTitle As String
Public AttributeId As Integer
Public TermValue As String
Public TermId As Integer
+ End Class
+
+ Public Class ValueOnlyToken
+ Inherits Token
+
+ Public Overrides Function GetHashCode() As Integer
+ Return TermId.GetHashCode
+ End Function
+
+ Public Overrides Function Equals(obj As Object) As Boolean
+ Return GetHashCode() = DirectCast(obj, ValueOnlyToken).GetHashCode()
+ End Function
+
+ Public Overrides Function ToString() As String
+ Return TermValue
+ End Function
+ End Class
+
+ Public Class AttributeValueToken
+ Inherits Token
Public Overrides Function GetHashCode() As Integer
Return (TermId.GetHashCode & AttributeId.GetHashCode).GetHashCode()
diff --git a/GUIs.ZooFlow/Search/Test/SearchFilter.vb b/GUIs.ZooFlow/Search/Test/SearchFilter.vb
index de768ada..1848518f 100644
--- a/GUIs.ZooFlow/Search/Test/SearchFilter.vb
+++ b/GUIs.ZooFlow/Search/Test/SearchFilter.vb
@@ -2,25 +2,25 @@
Public Class SearchFilter
Public Shared Property DefaultFilters As New List(Of FilterTimeframe) From {
- New FilterTimeframe() With {.Name = "Kein", .DisableFilter = True, .[To] = Nothing},
- New FilterTimeframe() With {.Name = "Eigener", .CustomFilter = True, .[To] = Date.Now, .From = Date.Now},
- New FilterTimeframe() With {
- .Name = "letzte 7 Tage",
- .From = Date.Now.Subtract(TimeSpan.FromDays(7))
- },
- New FilterTimeframe() With {
- .Name = "letzte 14 Tage",
- .From = Date.Now.Subtract(TimeSpan.FromDays(14))
- },
- New FilterTimeframe() With {
- .Name = "letzte 30 Tage",
- .From = Date.Now.Subtract(TimeSpan.FromDays(30))
- },
- New FilterTimeframe() With {
- .Name = "aktueller Monat",
- .From = New Date(Now.Year, Now.Month, 1)
+ New FilterTimeframe() With {.Name = "Kein", .DisableFilter = True, .[To] = Nothing},
+ New FilterTimeframe() With {.Name = "Eigener", .CustomFilter = True, .[To] = Date.Now, .From = Date.Now},
+ New FilterTimeframe() With {
+ .Name = "letzte 7 Tage",
+ .From = Date.Now.Subtract(TimeSpan.FromDays(7))
+ },
+ New FilterTimeframe() With {
+ .Name = "letzte 14 Tage",
+ .From = Date.Now.Subtract(TimeSpan.FromDays(14))
+ },
+ New FilterTimeframe() With {
+ .Name = "letzte 30 Tage",
+ .From = Date.Now.Subtract(TimeSpan.FromDays(30))
+ },
+ New FilterTimeframe() With {
+ .Name = "aktueller Monat",
+ .From = New Date(Now.Year, Now.Month, 1)
+ }
}
- }
Public Class FilterTimeframe
Public Property Name As String
diff --git a/GUIs.ZooFlow/Search/frmFlowSearch2.Designer.vb b/GUIs.ZooFlow/Search/frmFlowSearch2.Designer.vb
index 423423f7..74ee67f2 100644
--- a/GUIs.ZooFlow/Search/frmFlowSearch2.Designer.vb
+++ b/GUIs.ZooFlow/Search/frmFlowSearch2.Designer.vb
@@ -39,12 +39,15 @@ Partial Class frmFlowSearch2
Me.colDescription = New DevExpress.XtraGrid.Columns.TileViewColumn()
Me.colImage = New DevExpress.XtraGrid.Columns.TileViewColumn()
Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl()
- Me.chkFulltext = New DevExpress.XtraBars.BarToggleSwitchItem()
Me.lblResults = New DevExpress.XtraBars.BarStaticItem()
- Me.chkDateFilter = New DevExpress.XtraBars.BarToggleSwitchItem()
+ Me.chkOperatorAnd = New DevExpress.XtraBars.BarCheckItem()
+ Me.chkOperatorOr = New DevExpress.XtraBars.BarCheckItem()
+ Me.chkDatefilter2 = New DevExpress.XtraBars.BarCheckItem()
+ Me.BarCheckItem4 = New DevExpress.XtraBars.BarCheckItem()
+ Me.chkSearchEverywhere = New DevExpress.XtraBars.BarCheckItem()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
- Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
+ Me.RibbonPageGroup5 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RepositoryItemMarqueeProgressBar1 = New DevExpress.XtraEditors.Repository.RepositoryItemMarqueeProgressBar()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
@@ -53,14 +56,15 @@ Partial Class frmFlowSearch2
Me.LayoutControl1 = New DevExpress.XtraLayout.LayoutControl()
Me.TokenEditEx1 = New DigitalData.GUIs.ZooFlow.TokenEditEx()
Me.TextEdit1 = New DevExpress.XtraEditors.ButtonEdit()
- Me.GridControl1 = New DevExpress.XtraGrid.GridControl()
+ Me.GridPredefinedSearches = New DevExpress.XtraGrid.GridControl()
Me.TileView1 = New DevExpress.XtraGrid.Views.Tile.TileView()
Me.colCount = New DevExpress.XtraGrid.Columns.TileViewColumn()
Me.GridView1 = New DevExpress.XtraGrid.Views.Grid.GridView()
- Me.RadioGroup1 = New DevExpress.XtraEditors.RadioGroup()
+ Me.RadioGroupDateConstraints = New DevExpress.XtraEditors.RadioGroup()
Me.DateEditFrom = New DevExpress.XtraEditors.DateEdit()
Me.DateEditTo = New DevExpress.XtraEditors.DateEdit()
Me.CheckEdit1 = New DevExpress.XtraEditors.ToggleSwitch()
+ Me.ComboBoxDateAttributes = New DevExpress.XtraEditors.ComboBoxEdit()
Me.Root = New DevExpress.XtraLayout.LayoutControlGroup()
Me.LayoutControlGroupDate1 = New DevExpress.XtraLayout.LayoutControlGroup()
Me.LayoutControlItem1 = New DevExpress.XtraLayout.LayoutControlItem()
@@ -69,6 +73,7 @@ Partial Class frmFlowSearch2
Me.LayoutControlItem4 = New DevExpress.XtraLayout.LayoutControlItem()
Me.EmptySpaceItem1 = New DevExpress.XtraLayout.EmptySpaceItem()
Me.LayoutControlItem6 = New DevExpress.XtraLayout.LayoutControlItem()
+ Me.LayoutControlItem8 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlGroup3 = New DevExpress.XtraLayout.LayoutControlGroup()
Me.LayoutControlItem3 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem5 = New DevExpress.XtraLayout.LayoutControlItem()
@@ -84,15 +89,16 @@ Partial Class frmFlowSearch2
Me.LayoutControl1.SuspendLayout()
CType(Me.TokenEditEx1.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TextEdit1.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
- CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.GridPredefinedSearches, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TileView1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridView1, System.ComponentModel.ISupportInitialize).BeginInit()
- CType(Me.RadioGroup1.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.RadioGroupDateConstraints.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.DateEditFrom.Properties.CalendarTimeProperties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.DateEditFrom.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.DateEditTo.Properties.CalendarTimeProperties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.DateEditTo.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.CheckEdit1.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.ComboBoxDateAttributes.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.Root, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlGroupDate1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem1, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -101,6 +107,7 @@ Partial Class frmFlowSearch2
CType(Me.LayoutControlItem4, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.EmptySpaceItem1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem6, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.LayoutControlItem8, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlGroup3, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem3, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem5, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -135,27 +142,21 @@ Partial Class frmFlowSearch2
'RibbonControl1
'
Me.RibbonControl1.ColorScheme = DevExpress.XtraBars.Ribbon.RibbonControlColorScheme.Green
- Me.RibbonControl1.CommandLayout = DevExpress.XtraBars.Ribbon.CommandLayout.Simplified
Me.RibbonControl1.ExpandCollapseItem.Id = 0
- Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.chkFulltext, Me.lblResults, Me.chkDateFilter})
+ Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.lblResults, Me.chkOperatorAnd, Me.chkOperatorOr, Me.chkDatefilter2, Me.BarCheckItem4, Me.chkSearchEverywhere})
Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
- Me.RibbonControl1.MaxItemId = 5
+ Me.RibbonControl1.MaxItemId = 21
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
Me.RibbonControl1.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemMarqueeProgressBar1})
Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
+ Me.RibbonControl1.ShowDisplayOptionsMenuButton = DevExpress.Utils.DefaultBoolean.[False]
+ Me.RibbonControl1.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.Show
Me.RibbonControl1.ShowToolbarCustomizeItem = False
- Me.RibbonControl1.Size = New System.Drawing.Size(954, 89)
+ Me.RibbonControl1.Size = New System.Drawing.Size(954, 158)
Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1
Me.RibbonControl1.Toolbar.ShowCustomizeItem = False
'
- 'chkFulltext
- '
- Me.chkFulltext.Caption = "Volltext durchsuchen"
- Me.chkFulltext.Enabled = False
- Me.chkFulltext.Id = 1
- Me.chkFulltext.Name = "chkFulltext"
- '
'lblResults
'
Me.lblResults.Caption = "Noch keine Ergebnisse"
@@ -164,29 +165,66 @@ Partial Class frmFlowSearch2
Me.lblResults.ItemAppearance.Normal.Options.UseFont = True
Me.lblResults.Name = "lblResults"
'
- 'chkDateFilter
+ 'chkOperatorAnd
'
- Me.chkDateFilter.Caption = "Datumfilter anzeigen"
- Me.chkDateFilter.Id = 3
- Me.chkDateFilter.Name = "chkDateFilter"
+ Me.chkOperatorAnd.BindableChecked = True
+ Me.chkOperatorAnd.Caption = "UND Verknüpfung"
+ Me.chkOperatorAnd.Checked = True
+ Me.chkOperatorAnd.GroupIndex = 1
+ Me.chkOperatorAnd.Id = 16
+ Me.chkOperatorAnd.ImageOptions.SvgImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.link3
+ Me.chkOperatorAnd.Name = "chkOperatorAnd"
+ '
+ 'chkOperatorOr
+ '
+ Me.chkOperatorOr.Caption = "ODER Verknüpfung"
+ Me.chkOperatorOr.GroupIndex = 1
+ Me.chkOperatorOr.Id = 17
+ Me.chkOperatorOr.ImageOptions.SvgImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.unlink1
+ Me.chkOperatorOr.Name = "chkOperatorOr"
+ '
+ 'chkDatefilter2
+ '
+ Me.chkDatefilter2.Caption = "Datumsfilter anzeigen"
+ Me.chkDatefilter2.Id = 18
+ Me.chkDatefilter2.ImageOptions.SvgImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.actions_calendar1
+ Me.chkDatefilter2.Name = "chkDatefilter2"
+ '
+ 'BarCheckItem4
+ '
+ Me.BarCheckItem4.Caption = "Volltext durchsuchen"
+ Me.BarCheckItem4.Enabled = False
+ Me.BarCheckItem4.Id = 19
+ Me.BarCheckItem4.ImageOptions.SvgImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.viewmergeddata1
+ Me.BarCheckItem4.Name = "BarCheckItem4"
+ '
+ 'chkSearchEverywhere
+ '
+ Me.chkSearchEverywhere.Caption = "Prozessübergreifend suchen"
+ Me.chkSearchEverywhere.Id = 20
+ Me.chkSearchEverywhere.ImageOptions.SvgImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.bo_category1
+ Me.chkSearchEverywhere.Name = "chkSearchEverywhere"
'
'RibbonPage1
'
- Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup2, Me.RibbonPageGroup1})
+ Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup2, Me.RibbonPageGroup5})
Me.RibbonPage1.Name = "RibbonPage1"
- Me.RibbonPage1.Text = "Start"
+ Me.RibbonPage1.Text = "Suche"
'
'RibbonPageGroup2
'
- Me.RibbonPageGroup2.ItemLinks.Add(Me.chkFulltext)
+ Me.RibbonPageGroup2.ItemLinks.Add(Me.BarCheckItem4)
+ Me.RibbonPageGroup2.ItemLinks.Add(Me.chkSearchEverywhere)
+ Me.RibbonPageGroup2.ItemLinks.Add(Me.chkDatefilter2)
Me.RibbonPageGroup2.Name = "RibbonPageGroup2"
- Me.RibbonPageGroup2.Text = "RibbonPageGroup2"
+ Me.RibbonPageGroup2.Text = "Sucheinstellungen"
'
- 'RibbonPageGroup1
+ 'RibbonPageGroup5
'
- Me.RibbonPageGroup1.ItemLinks.Add(Me.chkDateFilter)
- Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
- Me.RibbonPageGroup1.Text = "RibbonPageGroup1"
+ Me.RibbonPageGroup5.ItemLinks.Add(Me.chkOperatorAnd)
+ Me.RibbonPageGroup5.ItemLinks.Add(Me.chkOperatorOr)
+ Me.RibbonPageGroup5.Name = "RibbonPageGroup5"
+ Me.RibbonPageGroup5.Text = "Begriffsverknüpfung"
'
'RepositoryItemMarqueeProgressBar1
'
@@ -210,10 +248,10 @@ Partial Class frmFlowSearch2
'
Me.PanelControl1.Controls.Add(Me.PanelControl2)
Me.PanelControl1.Dock = System.Windows.Forms.DockStyle.Fill
- Me.PanelControl1.Location = New System.Drawing.Point(0, 89)
+ Me.PanelControl1.Location = New System.Drawing.Point(0, 158)
Me.PanelControl1.Name = "PanelControl1"
Me.PanelControl1.Padding = New System.Windows.Forms.Padding(30)
- Me.PanelControl1.Size = New System.Drawing.Size(954, 550)
+ Me.PanelControl1.Size = New System.Drawing.Size(954, 481)
Me.PanelControl1.TabIndex = 3
'
'PanelControl2
@@ -223,7 +261,7 @@ Partial Class frmFlowSearch2
Me.PanelControl2.Location = New System.Drawing.Point(32, 32)
Me.PanelControl2.Margin = New System.Windows.Forms.Padding(0)
Me.PanelControl2.Name = "PanelControl2"
- Me.PanelControl2.Size = New System.Drawing.Size(890, 486)
+ Me.PanelControl2.Size = New System.Drawing.Size(890, 417)
Me.PanelControl2.TabIndex = 3
'
'LayoutControl1
@@ -231,18 +269,19 @@ Partial Class frmFlowSearch2
Me.LayoutControl1.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(240, Byte), Integer), CType(CType(240, Byte), Integer))
Me.LayoutControl1.Controls.Add(Me.TokenEditEx1)
Me.LayoutControl1.Controls.Add(Me.TextEdit1)
- Me.LayoutControl1.Controls.Add(Me.GridControl1)
- Me.LayoutControl1.Controls.Add(Me.RadioGroup1)
+ Me.LayoutControl1.Controls.Add(Me.GridPredefinedSearches)
+ Me.LayoutControl1.Controls.Add(Me.RadioGroupDateConstraints)
Me.LayoutControl1.Controls.Add(Me.DateEditFrom)
Me.LayoutControl1.Controls.Add(Me.DateEditTo)
Me.LayoutControl1.Controls.Add(Me.CheckEdit1)
+ Me.LayoutControl1.Controls.Add(Me.ComboBoxDateAttributes)
Me.LayoutControl1.Dock = System.Windows.Forms.DockStyle.Fill
Me.LayoutControl1.Location = New System.Drawing.Point(2, 2)
Me.LayoutControl1.Name = "LayoutControl1"
Me.LayoutControl1.OptionsView.GroupStyle = DevExpress.Utils.GroupStyle.Title
Me.LayoutControl1.OptionsView.ItemBorderColor = System.Drawing.Color.Transparent
Me.LayoutControl1.Root = Me.Root
- Me.LayoutControl1.Size = New System.Drawing.Size(886, 482)
+ Me.LayoutControl1.Size = New System.Drawing.Size(886, 413)
Me.LayoutControl1.TabIndex = 0
Me.LayoutControl1.Text = "LayoutControl1"
'
@@ -263,7 +302,7 @@ Partial Class frmFlowSearch2
'
'TextEdit1
'
- Me.TextEdit1.Location = New System.Drawing.Point(0, 284)
+ Me.TextEdit1.Location = New System.Drawing.Point(0, 202)
Me.TextEdit1.MenuManager = Me.RibbonControl1
Me.TextEdit1.Name = "TextEdit1"
Me.TextEdit1.Properties.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
@@ -277,20 +316,20 @@ Partial Class frmFlowSearch2
Me.TextEdit1.StyleController = Me.LayoutControl1
Me.TextEdit1.TabIndex = 2
'
- 'GridControl1
+ 'GridPredefinedSearches
'
- Me.GridControl1.Location = New System.Drawing.Point(14, 110)
- Me.GridControl1.MainView = Me.TileView1
- Me.GridControl1.MenuManager = Me.RibbonControl1
- Me.GridControl1.Name = "GridControl1"
- Me.GridControl1.Size = New System.Drawing.Size(858, 160)
- Me.GridControl1.TabIndex = 1
- Me.GridControl1.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.TileView1, Me.GridView1})
+ Me.GridPredefinedSearches.Location = New System.Drawing.Point(14, 92)
+ Me.GridPredefinedSearches.MainView = Me.TileView1
+ Me.GridPredefinedSearches.MenuManager = Me.RibbonControl1
+ Me.GridPredefinedSearches.Name = "GridPredefinedSearches"
+ Me.GridPredefinedSearches.Size = New System.Drawing.Size(858, 96)
+ Me.GridPredefinedSearches.TabIndex = 1
+ Me.GridPredefinedSearches.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.TileView1, Me.GridView1})
'
'TileView1
'
Me.TileView1.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.colName, Me.colDescription, Me.colCount, Me.colImage})
- Me.TileView1.GridControl = Me.GridControl1
+ Me.TileView1.GridControl = Me.GridPredefinedSearches
Me.TileView1.Name = "TileView1"
Me.TileView1.OptionsTiles.AllowItemHover = True
Me.TileView1.OptionsTiles.ItemSize = New System.Drawing.Size(190, 80)
@@ -341,50 +380,50 @@ Partial Class frmFlowSearch2
'
'GridView1
'
- Me.GridView1.GridControl = Me.GridControl1
+ Me.GridView1.GridControl = Me.GridPredefinedSearches
Me.GridView1.Name = "GridView1"
'
- 'RadioGroup1
+ 'RadioGroupDateConstraints
'
- Me.RadioGroup1.Location = New System.Drawing.Point(4, 372)
- Me.RadioGroup1.MenuManager = Me.RibbonControl1
- Me.RadioGroup1.Name = "RadioGroup1"
- Me.RadioGroup1.Properties.Appearance.BackColor = System.Drawing.SystemColors.Control
- Me.RadioGroup1.Properties.Appearance.Options.UseBackColor = True
- Me.RadioGroup1.Properties.Columns = 2
- Me.RadioGroup1.Properties.ItemHorzAlignment = DevExpress.XtraEditors.RadioItemHorzAlignment.Near
- Me.RadioGroup1.Properties.ItemsLayout = DevExpress.XtraEditors.RadioGroupItemsLayout.Flow
- Me.RadioGroup1.Size = New System.Drawing.Size(615, 106)
- Me.RadioGroup1.StyleController = Me.LayoutControl1
- Me.RadioGroup1.TabIndex = 4
+ Me.RadioGroupDateConstraints.Location = New System.Drawing.Point(4, 290)
+ Me.RadioGroupDateConstraints.MenuManager = Me.RibbonControl1
+ Me.RadioGroupDateConstraints.Name = "RadioGroupDateConstraints"
+ Me.RadioGroupDateConstraints.Properties.Appearance.BackColor = System.Drawing.SystemColors.Control
+ Me.RadioGroupDateConstraints.Properties.Appearance.Options.UseBackColor = True
+ Me.RadioGroupDateConstraints.Properties.Columns = 2
+ Me.RadioGroupDateConstraints.Properties.ItemHorzAlignment = DevExpress.XtraEditors.RadioItemHorzAlignment.Near
+ Me.RadioGroupDateConstraints.Properties.ItemsLayout = DevExpress.XtraEditors.RadioGroupItemsLayout.Flow
+ Me.RadioGroupDateConstraints.Size = New System.Drawing.Size(615, 119)
+ Me.RadioGroupDateConstraints.StyleController = Me.LayoutControl1
+ Me.RadioGroupDateConstraints.TabIndex = 4
'
'DateEditFrom
'
Me.DateEditFrom.EditValue = Nothing
- Me.DateEditFrom.Location = New System.Drawing.Point(700, 375)
+ Me.DateEditFrom.Location = New System.Drawing.Point(724, 293)
Me.DateEditFrom.MenuManager = Me.RibbonControl1
Me.DateEditFrom.Name = "DateEditFrom"
Me.DateEditFrom.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.DateEditFrom.Properties.CalendarTimeProperties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
- Me.DateEditFrom.Size = New System.Drawing.Size(179, 20)
+ Me.DateEditFrom.Size = New System.Drawing.Size(155, 20)
Me.DateEditFrom.StyleController = Me.LayoutControl1
Me.DateEditFrom.TabIndex = 5
'
'DateEditTo
'
Me.DateEditTo.EditValue = Nothing
- Me.DateEditTo.Location = New System.Drawing.Point(700, 428)
+ Me.DateEditTo.Location = New System.Drawing.Point(724, 346)
Me.DateEditTo.MenuManager = Me.RibbonControl1
Me.DateEditTo.Name = "DateEditTo"
Me.DateEditTo.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.DateEditTo.Properties.CalendarTimeProperties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
- Me.DateEditTo.Size = New System.Drawing.Size(179, 20)
+ Me.DateEditTo.Size = New System.Drawing.Size(155, 20)
Me.DateEditTo.StyleController = Me.LayoutControl1
Me.DateEditTo.TabIndex = 7
'
'CheckEdit1
'
- Me.CheckEdit1.Location = New System.Drawing.Point(627, 402)
+ Me.CheckEdit1.Location = New System.Drawing.Point(627, 320)
Me.CheckEdit1.MenuManager = Me.RibbonControl1
Me.CheckEdit1.Name = "CheckEdit1"
Me.CheckEdit1.Properties.OffText = "Datum bis deaktiviert"
@@ -393,6 +432,16 @@ Partial Class frmFlowSearch2
Me.CheckEdit1.StyleController = Me.LayoutControl1
Me.CheckEdit1.TabIndex = 8
'
+ 'ComboBoxDateAttributes
+ '
+ Me.ComboBoxDateAttributes.Location = New System.Drawing.Point(724, 376)
+ Me.ComboBoxDateAttributes.MenuManager = Me.RibbonControl1
+ Me.ComboBoxDateAttributes.Name = "ComboBoxDateAttributes"
+ Me.ComboBoxDateAttributes.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
+ Me.ComboBoxDateAttributes.Size = New System.Drawing.Size(155, 20)
+ Me.ComboBoxDateAttributes.StyleController = Me.LayoutControl1
+ Me.ComboBoxDateAttributes.TabIndex = 9
+ '
'Root
'
Me.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[True]
@@ -400,7 +449,7 @@ Partial Class frmFlowSearch2
Me.Root.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlGroupDate1, Me.LayoutControlGroupDate2, Me.LayoutControlGroup3, Me.LayoutControlItem5, Me.LayoutControlItem7})
Me.Root.Name = "Root"
Me.Root.Padding = New DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0)
- Me.Root.Size = New System.Drawing.Size(886, 482)
+ Me.Root.Size = New System.Drawing.Size(886, 413)
Me.Root.TextVisible = False
'
'LayoutControlGroupDate1
@@ -413,20 +462,20 @@ Partial Class frmFlowSearch2
Me.LayoutControlGroupDate1.BestFitWeight = 0
Me.LayoutControlGroupDate1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[False]
Me.LayoutControlGroupDate1.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem1})
- Me.LayoutControlGroupDate1.Location = New System.Drawing.Point(0, 328)
+ Me.LayoutControlGroupDate1.Location = New System.Drawing.Point(0, 246)
Me.LayoutControlGroupDate1.Name = "LayoutControlGroupDate1"
Me.LayoutControlGroupDate1.Padding = New DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0)
- Me.LayoutControlGroupDate1.Size = New System.Drawing.Size(623, 154)
+ Me.LayoutControlGroupDate1.Size = New System.Drawing.Size(623, 167)
Me.LayoutControlGroupDate1.Spacing = New DevExpress.XtraLayout.Utils.Padding(2, 2, 20, 2)
Me.LayoutControlGroupDate1.Text = "Datums Einschränkung"
Me.LayoutControlGroupDate1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never
'
'LayoutControlItem1
'
- Me.LayoutControlItem1.Control = Me.RadioGroup1
+ Me.LayoutControlItem1.Control = Me.RadioGroupDateConstraints
Me.LayoutControlItem1.Location = New System.Drawing.Point(0, 0)
Me.LayoutControlItem1.Name = "LayoutControlItem1"
- Me.LayoutControlItem1.Size = New System.Drawing.Size(619, 110)
+ Me.LayoutControlItem1.Size = New System.Drawing.Size(619, 123)
Me.LayoutControlItem1.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem1.TextVisible = False
'
@@ -437,11 +486,11 @@ Partial Class frmFlowSearch2
Me.LayoutControlGroupDate2.AppearanceGroup.Options.UseBackColor = True
Me.LayoutControlGroupDate2.AppearanceGroup.Options.UseBorderColor = True
Me.LayoutControlGroupDate2.BestFitWeight = 0
- Me.LayoutControlGroupDate2.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem2, Me.LayoutControlItem4, Me.EmptySpaceItem1, Me.LayoutControlItem6})
- Me.LayoutControlGroupDate2.Location = New System.Drawing.Point(623, 328)
+ Me.LayoutControlGroupDate2.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem2, Me.LayoutControlItem4, Me.EmptySpaceItem1, Me.LayoutControlItem6, Me.LayoutControlItem8})
+ Me.LayoutControlGroupDate2.Location = New System.Drawing.Point(623, 246)
Me.LayoutControlGroupDate2.Name = "LayoutControlGroupDate2"
Me.LayoutControlGroupDate2.Padding = New DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0)
- Me.LayoutControlGroupDate2.Size = New System.Drawing.Size(263, 154)
+ Me.LayoutControlGroupDate2.Size = New System.Drawing.Size(263, 167)
Me.LayoutControlGroupDate2.Spacing = New DevExpress.XtraLayout.Utils.Padding(2, 2, 20, 2)
Me.LayoutControlGroupDate2.Text = "Eigenes Datum"
Me.LayoutControlGroupDate2.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never
@@ -454,7 +503,7 @@ Partial Class frmFlowSearch2
Me.LayoutControlItem2.Padding = New DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5)
Me.LayoutControlItem2.Size = New System.Drawing.Size(259, 30)
Me.LayoutControlItem2.Text = "Datum Von"
- Me.LayoutControlItem2.TextSize = New System.Drawing.Size(58, 13)
+ Me.LayoutControlItem2.TextSize = New System.Drawing.Size(82, 13)
'
'LayoutControlItem4
'
@@ -465,14 +514,14 @@ Partial Class frmFlowSearch2
Me.LayoutControlItem4.Padding = New DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5)
Me.LayoutControlItem4.Size = New System.Drawing.Size(259, 30)
Me.LayoutControlItem4.Text = "Datum Bis"
- Me.LayoutControlItem4.TextSize = New System.Drawing.Size(58, 13)
+ Me.LayoutControlItem4.TextSize = New System.Drawing.Size(82, 13)
'
'EmptySpaceItem1
'
Me.EmptySpaceItem1.AllowHotTrack = False
- Me.EmptySpaceItem1.Location = New System.Drawing.Point(0, 83)
+ Me.EmptySpaceItem1.Location = New System.Drawing.Point(0, 113)
Me.EmptySpaceItem1.Name = "EmptySpaceItem1"
- Me.EmptySpaceItem1.Size = New System.Drawing.Size(259, 27)
+ Me.EmptySpaceItem1.Size = New System.Drawing.Size(259, 10)
Me.EmptySpaceItem1.TextSize = New System.Drawing.Size(0, 0)
'
'LayoutControlItem6
@@ -484,6 +533,16 @@ Partial Class frmFlowSearch2
Me.LayoutControlItem6.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem6.TextVisible = False
'
+ 'LayoutControlItem8
+ '
+ Me.LayoutControlItem8.Control = Me.ComboBoxDateAttributes
+ Me.LayoutControlItem8.Location = New System.Drawing.Point(0, 83)
+ Me.LayoutControlItem8.Name = "LayoutControlItem8"
+ Me.LayoutControlItem8.Padding = New DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5)
+ Me.LayoutControlItem8.Size = New System.Drawing.Size(259, 30)
+ Me.LayoutControlItem8.Text = "Datums Attribut"
+ Me.LayoutControlItem8.TextSize = New System.Drawing.Size(82, 13)
+ '
'LayoutControlGroup3
'
Me.LayoutControlGroup3.AppearanceGroup.BorderColor = System.Drawing.Color.FromArgb(CType(CType(165, Byte), Integer), CType(CType(36, Byte), Integer), CType(CType(19, Byte), Integer))
@@ -491,16 +550,15 @@ Partial Class frmFlowSearch2
Me.LayoutControlGroup3.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem3})
Me.LayoutControlGroup3.Location = New System.Drawing.Point(0, 56)
Me.LayoutControlGroup3.Name = "LayoutControlGroup3"
- Me.LayoutControlGroup3.Size = New System.Drawing.Size(886, 228)
- Me.LayoutControlGroup3.Spacing = New DevExpress.XtraLayout.Utils.Padding(2, 2, 20, 2)
+ Me.LayoutControlGroup3.Size = New System.Drawing.Size(886, 146)
Me.LayoutControlGroup3.Text = "Meine Suchen"
'
'LayoutControlItem3
'
- Me.LayoutControlItem3.Control = Me.GridControl1
+ Me.LayoutControlItem3.Control = Me.GridPredefinedSearches
Me.LayoutControlItem3.Location = New System.Drawing.Point(0, 0)
Me.LayoutControlItem3.Name = "LayoutControlItem3"
- Me.LayoutControlItem3.Size = New System.Drawing.Size(862, 164)
+ Me.LayoutControlItem3.Size = New System.Drawing.Size(862, 100)
Me.LayoutControlItem3.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem3.TextVisible = False
'
@@ -508,7 +566,7 @@ Partial Class frmFlowSearch2
'
Me.LayoutControlItem5.BestFitWeight = 0
Me.LayoutControlItem5.Control = Me.TextEdit1
- Me.LayoutControlItem5.Location = New System.Drawing.Point(0, 284)
+ Me.LayoutControlItem5.Location = New System.Drawing.Point(0, 202)
Me.LayoutControlItem5.Name = "LayoutControlItem5"
Me.LayoutControlItem5.Padding = New DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0)
Me.LayoutControlItem5.Size = New System.Drawing.Size(886, 44)
@@ -528,9 +586,11 @@ Partial Class frmFlowSearch2
'
'SvgImageCollection1
'
- Me.SvgImageCollection1.Add("day", "image://svgimages/scheduling/dayview.svg")
+ Me.SvgImageCollection1.Add("yesterday", "image://svgimages/scheduling/dayview.svg")
Me.SvgImageCollection1.Add("month", "image://svgimages/scheduling/monthview.svg")
Me.SvgImageCollection1.Add("week", "image://svgimages/scheduling/next7days.svg")
+ Me.SvgImageCollection1.Add("year", "image://svgimages/scheduling/groupbynone.svg")
+ Me.SvgImageCollection1.Add("today", "image://svgimages/scheduling/today.svg")
'
'frmFlowSearch2
'
@@ -555,15 +615,16 @@ Partial Class frmFlowSearch2
Me.LayoutControl1.ResumeLayout(False)
CType(Me.TokenEditEx1.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TextEdit1.Properties, System.ComponentModel.ISupportInitialize).EndInit()
- CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.GridPredefinedSearches, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TileView1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridView1, System.ComponentModel.ISupportInitialize).EndInit()
- CType(Me.RadioGroup1.Properties, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.RadioGroupDateConstraints.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.DateEditFrom.Properties.CalendarTimeProperties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.DateEditFrom.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.DateEditTo.Properties.CalendarTimeProperties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.DateEditTo.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.CheckEdit1.Properties, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.ComboBoxDateAttributes.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.Root, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlGroupDate1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem1, System.ComponentModel.ISupportInitialize).EndInit()
@@ -572,6 +633,7 @@ Partial Class frmFlowSearch2
CType(Me.LayoutControlItem4, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.EmptySpaceItem1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem6, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.LayoutControlItem8, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlGroup3, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem3, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem5, System.ComponentModel.ISupportInitialize).EndInit()
@@ -590,10 +652,10 @@ Partial Class frmFlowSearch2
Friend WithEvents PanelControl2 As DevExpress.XtraEditors.PanelControl
Friend WithEvents LayoutControl1 As DevExpress.XtraLayout.LayoutControl
Friend WithEvents Root As DevExpress.XtraLayout.LayoutControlGroup
- Friend WithEvents RadioGroup1 As DevExpress.XtraEditors.RadioGroup
+ Friend WithEvents RadioGroupDateConstraints As DevExpress.XtraEditors.RadioGroup
Friend WithEvents LayoutControlItem1 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents TextEdit1 As DevExpress.XtraEditors.ButtonEdit
- Friend WithEvents GridControl1 As DevExpress.XtraGrid.GridControl
+ Friend WithEvents GridPredefinedSearches As DevExpress.XtraGrid.GridControl
Friend WithEvents TileView1 As DevExpress.XtraGrid.Views.Tile.TileView
Friend WithEvents colName As DevExpress.XtraGrid.Columns.TileViewColumn
Friend WithEvents colDescription As DevExpress.XtraGrid.Columns.TileViewColumn
@@ -611,14 +673,19 @@ Partial Class frmFlowSearch2
Friend WithEvents LayoutControlItem5 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents CheckEdit1 As DevExpress.XtraEditors.ToggleSwitch
Friend WithEvents LayoutControlItem6 As DevExpress.XtraLayout.LayoutControlItem
- Friend WithEvents chkFulltext As DevExpress.XtraBars.BarToggleSwitchItem
- Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents lblResults As DevExpress.XtraBars.BarStaticItem
- Friend WithEvents chkDateFilter As DevExpress.XtraBars.BarToggleSwitchItem
- Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents RepositoryItemMarqueeProgressBar1 As DevExpress.XtraEditors.Repository.RepositoryItemMarqueeProgressBar
Friend WithEvents SvgImageCollection1 As DevExpress.Utils.SvgImageCollection
Friend WithEvents colImage As DevExpress.XtraGrid.Columns.TileViewColumn
Friend WithEvents TokenEditEx1 As TokenEditEx
Friend WithEvents LayoutControlItem7 As DevExpress.XtraLayout.LayoutControlItem
+ Friend WithEvents ComboBoxDateAttributes As DevExpress.XtraEditors.ComboBoxEdit
+ Friend WithEvents LayoutControlItem8 As DevExpress.XtraLayout.LayoutControlItem
+ Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
+ Friend WithEvents chkOperatorAnd As DevExpress.XtraBars.BarCheckItem
+ Friend WithEvents chkOperatorOr As DevExpress.XtraBars.BarCheckItem
+ Friend WithEvents chkDatefilter2 As DevExpress.XtraBars.BarCheckItem
+ Friend WithEvents BarCheckItem4 As DevExpress.XtraBars.BarCheckItem
+ Friend WithEvents chkSearchEverywhere As DevExpress.XtraBars.BarCheckItem
+ Friend WithEvents RibbonPageGroup5 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
End Class
diff --git a/GUIs.ZooFlow/Search/frmFlowSearch2.vb b/GUIs.ZooFlow/Search/frmFlowSearch2.vb
index fb5cc49e..18069798 100644
--- a/GUIs.ZooFlow/Search/frmFlowSearch2.vb
+++ b/GUIs.ZooFlow/Search/frmFlowSearch2.vb
@@ -16,49 +16,46 @@ Public Class frmFlowSearch2
Private ReadOnly Logger = My.LogConfig.GetLogger()
Private SearchRunner As SearchRunner
+ Private TokenTable As DataTable = Nothing
+ Private FormLoading As Boolean = True
+
Private TokenListDefault As New Dictionary(Of String, Object)
Private TokenListOperands As New Dictionary(Of String, Object)
Private TokenListAttrValues As New Dictionary(Of String, Object)
Private Sub frmFlowSearch2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
+
SearchRunner = New SearchRunner(My.LogConfig, My.Application.GetEnvironment, "FlowSearch") With {
- .BaseSearchSQL = LoadBaseSQL()
+ .BaseSearchSQL = SQL_FLOW_SEARCH_BASE
}
+ TokenTable = GetTokenTable()
+ RadioGroupDateConstraints.Properties.Items.AddRange(LoadDateConstraints().ToArray)
+ ComboBoxDateAttributes.Properties.Items.AddRange(LoadDateAttributes())
+ GridPredefinedSearches.DataSource = LoadPredefinedSearches()
- RadioGroup1.Properties.Items.AddRange(LoadDateConstraints.ToArray)
-
- GridControl1.DataSource = LoadPredefinedSearches()
-
- Dim oTokens = GetValueTokensForAttribute()
+ Dim oTokens = GetTokensFromTable(Of AttributeValueToken)(TokenTable)
AddTokens(TokenEditEx1, oTokens)
+
+ FormLoading = False
End Sub
- Private Function LoadBaseSQL() As String
- Dim oSQL = ""
- For Each oRow As DataRow In My.Tables.DTIDB_COMMON_SQL.Rows
- If oRow.Item("TITLE") = SQLCMD_FLOW_SEARCH_BASE Then
- oSQL = oRow.Item("SQL_COMMAND")
- oSQL = oSQL.Replace("@USER_ID", My.Application.User.UserId)
- oSQL = oSQL.Replace("@LANG_CODE", My.Application.User.Language)
- End If
- Next
-
- Return oSQL
- End Function
-
- Public Function GetValueTokensForAttribute() As List(Of AttributeValueToken)
+ Public Function GetTokenTable() As DataTable
Dim oSQL = $"EXEC PRIDB_SEARCH_AUTOSUGGEST '{My.Application.User.Language}', {My.Application.User.UserId}"
Dim oTable = My.Database.GetDatatableIDB(oSQL)
- Dim oTokens As New List(Of AttributeValueToken)
+ Return oTable
+ End Function
- For Each oRow As DataRow In oTable.Rows
+ Public Function GetTokensFromTable(Of T As {New, Token})(pTable As DataTable) As List(Of T)
+ Dim oTokens As New List(Of T)
+
+ For Each oRow As DataRow In pTable.Rows
Dim oTermValue = oRow.Item("TERM")
Dim oTermId = oRow.ItemEx("TERM_ID", 0)
Dim oAttributeTitle = oRow.Item("ATTR_TITLE")
Dim oAttributeId = oRow.ItemEx("ATTR_ID", 0)
- oTokens.Add(New AttributeValueToken() With {
+ oTokens.Add(New T() With {
.AttributeId = oAttributeId,
.AttributeTitle = oAttributeTitle,
.TermId = oTermId,
@@ -82,19 +79,30 @@ Public Class frmFlowSearch2
}
End Function
+ Private Function LoadDateAttributes() As List(Of String)
+ Return My.Tables.DTIDB_ATTRIBUTE.
+ AsEnumerable().
+ Where(Function(row) CBool(row.Item("SYS_ATTRIBUTE")) = False).
+ Where(Function(row) row.Item("TYP_ID") = 5 Or row.Item("TYP_ID") = 6).
+ Select(Function(row) row.Item("ATTR_TITLE")).
+ Cast(Of String).
+ ToList()
+ End Function
+
+
Private Function LoadPredefinedSearches() As List(Of PredefinedSearch)
Return New List(Of PredefinedSearch) From {
New PredefinedDateSearch() With {
.Name = "Heute",
.Description = "Dokumente, die heute abgelegt wurden",
.DateConstraint = SearchRunner.DateConstraint.Today,
- .Image = SvgImageCollection1.Item("day")
+ .Image = SvgImageCollection1.Item("today")
},
New PredefinedDateSearch() With {
.Name = "Gestern",
.Description = "Dokumente, die gestern abgelegt wurden",
.DateConstraint = SearchRunner.DateConstraint.Yesterday,
- .Image = SvgImageCollection1.Item("day")
+ .Image = SvgImageCollection1.Item("yesterday")
},
New PredefinedDateSearch() With {
.Name = "Letzte Woche",
@@ -113,13 +121,25 @@ Public Class frmFlowSearch2
.Description = "Dokumente, die im letzten Monat abgelegt wurden",
.DateConstraint = SearchRunner.DateConstraint.LastMonth,
.Image = SvgImageCollection1.Item("month")
+ },
+ New PredefinedDateSearch() With {
+ .Name = "Dieses Jahr",
+ .Description = "Dokumente, die in diesem Jahr abgelegt wurden",
+ .DateConstraint = SearchRunner.DateConstraint.CurrentYear,
+ .Image = SvgImageCollection1.Item("year")
+ },
+ New PredefinedDateSearch() With {
+ .Name = "Letztes Jahr",
+ .Description = "Dokumente, die im letzten Jahr abgelegt wurden",
+ .DateConstraint = SearchRunner.DateConstraint.LastYear,
+ .Image = SvgImageCollection1.Item("year")
}
}
End Function
Private Function GetTokens() As IEnumerable(Of AttributeValueToken)
Dim oTokens = TokenEditEx1.GetTokenList()
- Return oTokens.Select(Of AttributeValueToken)(Function(token) token.Value)
+ Return oTokens.Select(Of AttributeValueToken)(Function(token) token.Value).ToList()
End Function
Private Async Sub TextEdit1_KeyUp(sender As Object, e As KeyEventArgs) Handles TextEdit1.KeyUp
@@ -143,7 +163,7 @@ Public Class frmFlowSearch2
End If
End Sub
- Private Async Function RunSearch(pTokens As IEnumerable(Of AttributeValueToken)) As Threading.Tasks.Task
+ Private Async Function RunSearch(pTokens As IEnumerable(Of Token)) As Threading.Tasks.Task
Dim oHandle = StartUpdateUI()
If pTokens.Count = 0 Then
@@ -226,12 +246,11 @@ Public Class frmFlowSearch2
' Force update of LookAndFeel
LookAndFeelHelper.ForceDefaultLookAndFeelChanged()
-
End Sub
- Private Sub RadioGroup1_EditValueChanged(sender As Object, e As EventArgs) Handles RadioGroup1.EditValueChanged
- Dim oIndex = RadioGroup1.SelectedIndex
- Dim oItem As RadioGroupItem = RadioGroup1.Properties.Items.Item(oIndex)
+ Private Sub RadioGroup1_EditValueChanged(sender As Object, e As EventArgs) Handles RadioGroupDateConstraints.EditValueChanged
+ Dim oIndex = RadioGroupDateConstraints.SelectedIndex
+ Dim oItem As RadioGroupItem = RadioGroupDateConstraints.Properties.Items.Item(oIndex)
Dim oSearchConstraintString As String = oItem.Value
Dim oDateConstraint = SearchRunner.ConstantToDateConstraint(oSearchConstraintString)
@@ -268,22 +287,12 @@ Public Class frmFlowSearch2
DateEditTo.Enabled = CheckEdit1.IsOn
End Sub
- Private Sub chkDateFilter_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles chkDateFilter.CheckedChanged
- If chkDateFilter.Checked Then
- LayoutControlGroupDate1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always
- LayoutControlGroupDate2.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always
- Else
- LayoutControlGroupDate1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never
- LayoutControlGroupDate2.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never
- End If
- End Sub
-
- Private Sub SetTokens(Editor As TokenEdit, Tokens As Dictionary(Of String, Object))
+ Private Sub SetTokens(Editor As TokenEdit, Tokens As IEnumerable(Of Token))
Editor.Properties.Tokens.Clear()
AddTokens(Editor, Tokens)
End Sub
- Private Sub AddTokens(Editor As TokenEdit, Tokens As IEnumerable(Of AttributeValueToken))
+ Private Sub AddTokens(Editor As TokenEdit, Tokens As IEnumerable(Of Token))
For Each oToken In Tokens
Dim oTokenEditToken = New TokenEditToken With {
.Description = oToken.ToString,
@@ -305,4 +314,58 @@ Public Class frmFlowSearch2
' This fixes: https://supportcenter.devexpress.com/ticket/details/t215578/tokenedit-glyph-is-not-visible-when-customdrawtokentext-is-used
e.DefaultDraw()
End Sub
+
+ Private Sub ComboBoxDateAttributes_EditValueChanged(sender As Object, e As EventArgs) Handles ComboBoxDateAttributes.EditValueChanged
+ SearchRunner.SetDateAttribute(ComboBoxDateAttributes.EditValue)
+ End Sub
+
+ Private Sub TokenEditEx1_Properties_TokenAdding(sender As Object, e As TokenEditTokenAddingEventArgs) Handles TokenEditEx1.Properties.TokenAdding
+ ' Prevent adding more than two tokens for now
+ If TokenEditEx1.GetTokenList.Count >= 2 Then
+ e.Cancel = True
+ End If
+ End Sub
+
+ Private Sub BarToggleSwitchItem2_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs)
+
+ End Sub
+
+ Private Sub BarCheckItem3_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles chkDatefilter2.CheckedChanged
+ If chkDatefilter2.Checked Then
+ LayoutControlGroupDate1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always
+ LayoutControlGroupDate2.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always
+ Else
+ LayoutControlGroupDate1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never
+ LayoutControlGroupDate2.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never
+ End If
+ End Sub
+
+ Private Sub chkSearchEverywhere_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles chkSearchEverywhere.CheckedChanged
+ Dim oTokens As IEnumerable(Of Token)
+
+ If chkSearchEverywhere.Checked = True Then
+ ' Create a list of tokens that only contains every term once,
+ ' without caring about attribute names.
+ oTokens = GetTokensFromTable(Of ValueOnlyToken)(TokenTable)
+
+ Else
+ ' Create a list of tokens where every term - attribute value is present once.
+ oTokens = GetTokensFromTable(Of AttributeValueToken)(TokenTable)
+
+ End If
+
+ SetTokens(TokenEditEx1, oTokens)
+ End Sub
+
+ Private Sub chkOperatorAnd_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles chkOperatorAnd.CheckedChanged
+ If chkOperatorAnd.Checked And FormLoading = False Then
+ SearchRunner.SetTokenOperator(SearchRunner.TokenOperator.And)
+ End If
+ End Sub
+
+ Private Sub chkOperatorOr_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles chkOperatorOr.CheckedChanged
+ If chkOperatorOr.Checked And FormLoading = False Then
+ SearchRunner.SetTokenOperator(SearchRunner.TokenOperator.Or)
+ End If
+ End Sub
End Class
\ No newline at end of file
diff --git a/GUIs.ZooFlow/ZooFlow.vbproj b/GUIs.ZooFlow/ZooFlow.vbproj
index 1b54dba1..6f656e73 100644
--- a/GUIs.ZooFlow/ZooFlow.vbproj
+++ b/GUIs.ZooFlow/ZooFlow.vbproj
@@ -461,7 +461,7 @@
-
+
frmAdmin_ClipboardWatcher.vb
@@ -1118,6 +1118,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+