From d13ae9f7922908293bda5d87fce421c0e3b1f71b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96mer=20Faruk=20Korkmaz?= Date: Thu, 5 Dec 2024 14:26:31 +0300 Subject: [PATCH 1/3] IX: Implement optional filter logic --- SiemensIXBlazor.sln | 14 +++++------ .../CategoryFilter/CategoryFilter.razor.cs | 24 +++++++++++++++++-- .../LogicalFilterEnumExtension.cs | 21 ++++++++++++++++ .../CategoryFilter/LogicalFiterOperator.cs | 14 +++++++++++ SiemensIXBlazor/SiemensIXBlazor.csproj | 1 - .../interops/categoryFilterInterop.js | 12 ++++++++++ 6 files changed, 75 insertions(+), 11 deletions(-) create mode 100644 SiemensIXBlazor/Enums/CategoryFilter/LogicalFilterEnumExtension.cs create mode 100644 SiemensIXBlazor/Enums/CategoryFilter/LogicalFiterOperator.cs diff --git a/SiemensIXBlazor.sln b/SiemensIXBlazor.sln index 1d52acf..9d6e190 100644 --- a/SiemensIXBlazor.sln +++ b/SiemensIXBlazor.sln @@ -11,6 +11,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{9AA3C4E1 EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SiemensIXBlazor.Tests", "SiemensIXBlazor.Tests\SiemensIXBlazor.Tests.csproj", "{0E18AA5B-2E9A-48BA-A07F-621B5DCBBDC9}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestBlazorApp", "..\SiemensIXBlazor\TestBlazorApp\TestBlazorApp.csproj", "{C7ADCCA6-68DF-4CE5-B6D4-89A979513648}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -25,14 +27,10 @@ Global {0E18AA5B-2E9A-48BA-A07F-621B5DCBBDC9}.Debug|Any CPU.Build.0 = Debug|Any CPU {0E18AA5B-2E9A-48BA-A07F-621B5DCBBDC9}.Release|Any CPU.ActiveCfg = Release|Any CPU {0E18AA5B-2E9A-48BA-A07F-621B5DCBBDC9}.Release|Any CPU.Build.0 = Release|Any CPU - {682ADEDC-AE1F-46C9-9F0D-7DE297BAC82D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {682ADEDC-AE1F-46C9-9F0D-7DE297BAC82D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {682ADEDC-AE1F-46C9-9F0D-7DE297BAC82D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {682ADEDC-AE1F-46C9-9F0D-7DE297BAC82D}.Release|Any CPU.Build.0 = Release|Any CPU - {20CB53D6-C6B3-4FCD-9DF3-A0511DB1FBA1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {20CB53D6-C6B3-4FCD-9DF3-A0511DB1FBA1}.Debug|Any CPU.Build.0 = Debug|Any CPU - {20CB53D6-C6B3-4FCD-9DF3-A0511DB1FBA1}.Release|Any CPU.ActiveCfg = Release|Any CPU - {20CB53D6-C6B3-4FCD-9DF3-A0511DB1FBA1}.Release|Any CPU.Build.0 = Release|Any CPU + {C7ADCCA6-68DF-4CE5-B6D4-89A979513648}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C7ADCCA6-68DF-4CE5-B6D4-89A979513648}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C7ADCCA6-68DF-4CE5-B6D4-89A979513648}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C7ADCCA6-68DF-4CE5-B6D4-89A979513648}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/SiemensIXBlazor/Components/CategoryFilter/CategoryFilter.razor.cs b/SiemensIXBlazor/Components/CategoryFilter/CategoryFilter.razor.cs index 1da4a1d..a748945 100644 --- a/SiemensIXBlazor/Components/CategoryFilter/CategoryFilter.razor.cs +++ b/SiemensIXBlazor/Components/CategoryFilter/CategoryFilter.razor.cs @@ -10,6 +10,7 @@ using Microsoft.AspNetCore.Components; using Microsoft.JSInterop; using Newtonsoft.Json; +using SiemensIXBlazor.Enums.CategoryFilter; using SiemensIXBlazor.Interops; using SiemensIXBlazor.Objects; using System.Text.Json; @@ -24,6 +25,7 @@ public partial class CategoryFilter private string[] _suggestions = []; private Lazy>? moduleTask; private BaseInterop? _interop; + private LogicalFilterOperator _logicalFilterOperator = LogicalFilterOperator.Equal; [Parameter, EditorRequired] public string Id { get; set; } = string.Empty; @@ -41,8 +43,12 @@ public FilterState? FilterState get => _filterState; set { - _filterState = value; - InitialParameter("setFilterState", _filterState); + if(value is not null) + { + _filterState = value; + InitialParameter("setFilterState", _filterState); + } + } } [Parameter] @@ -76,6 +82,15 @@ public string[]? Suggestions InitialParameter("setSuggestions", new Dictionary { { "suggestions", _suggestions } }); } } + + [Parameter] + public LogicalFilterOperator StaticOperator { + get=>_logicalFilterOperator; + set { + + _logicalFilterOperator = value; + InitialParameter("setStaticOperator", _logicalFilterOperator.ToEnumString()); + } } [Parameter] public EventCallback FilterChangedEvent { get; set; } [Parameter] @@ -126,5 +141,10 @@ private void InitialParameter(string functionName, object param) } }); } + + private void SetStaticOperator(LogicalFilterOperator logicalFilterOperator) + { + + } } } diff --git a/SiemensIXBlazor/Enums/CategoryFilter/LogicalFilterEnumExtension.cs b/SiemensIXBlazor/Enums/CategoryFilter/LogicalFilterEnumExtension.cs new file mode 100644 index 0000000..5656729 --- /dev/null +++ b/SiemensIXBlazor/Enums/CategoryFilter/LogicalFilterEnumExtension.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SiemensIXBlazor.Enums.CategoryFilter +{ + public static class LogicalFilterEnumExtension + { + public static string ToEnumString(this LogicalFilterOperator filter) + { + return filter switch + { + LogicalFilterOperator.Equal => "Equal", + LogicalFilterOperator.NotEqual => "Not equal", + _ => throw new ArgumentOutOfRangeException(nameof(filter), filter, null) + }; + } + } +} diff --git a/SiemensIXBlazor/Enums/CategoryFilter/LogicalFiterOperator.cs b/SiemensIXBlazor/Enums/CategoryFilter/LogicalFiterOperator.cs new file mode 100644 index 0000000..31a36fa --- /dev/null +++ b/SiemensIXBlazor/Enums/CategoryFilter/LogicalFiterOperator.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SiemensIXBlazor.Enums.CategoryFilter +{ + public enum LogicalFilterOperator + { + Equal, + NotEqual + } +} diff --git a/SiemensIXBlazor/SiemensIXBlazor.csproj b/SiemensIXBlazor/SiemensIXBlazor.csproj index a2a667d..ffd990a 100644 --- a/SiemensIXBlazor/SiemensIXBlazor.csproj +++ b/SiemensIXBlazor/SiemensIXBlazor.csproj @@ -66,7 +66,6 @@ - diff --git a/SiemensIXBlazor/wwwroot/js/siemens-ix/interops/categoryFilterInterop.js b/SiemensIXBlazor/wwwroot/js/siemens-ix/interops/categoryFilterInterop.js index e8f519c..f7fe765 100644 --- a/SiemensIXBlazor/wwwroot/js/siemens-ix/interops/categoryFilterInterop.js +++ b/SiemensIXBlazor/wwwroot/js/siemens-ix/interops/categoryFilterInterop.js @@ -54,3 +54,15 @@ export function setSuggestions(id, suggestionsObject) { console.error("Failed to set suggestions:", error); } } + +export function setStaticOperator(id, logicalFilter) { + try { + const element = document.getElementById(id); + if (!element) { + throw new Error(`Element with ID ${id} not found`); + } + element.staticOperator = JSON.parse(logicalFilter); + } catch (err) { + console.error("Failed on setting staticOperator", err); + } +} From f2940a9504788f0d4af97682a09d96f7c17bff15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emin=20Can=20=C3=96ZGE?= Date: Thu, 5 Dec 2024 14:47:59 +0300 Subject: [PATCH 2/3] Revert sln file --- SiemensIXBlazor.sln | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/SiemensIXBlazor.sln b/SiemensIXBlazor.sln index 9d6e190..ba13dae 100644 --- a/SiemensIXBlazor.sln +++ b/SiemensIXBlazor.sln @@ -1,4 +1,4 @@ - + Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.4.33205.214 @@ -11,8 +11,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{9AA3C4E1 EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SiemensIXBlazor.Tests", "SiemensIXBlazor.Tests\SiemensIXBlazor.Tests.csproj", "{0E18AA5B-2E9A-48BA-A07F-621B5DCBBDC9}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestBlazorApp", "..\SiemensIXBlazor\TestBlazorApp\TestBlazorApp.csproj", "{C7ADCCA6-68DF-4CE5-B6D4-89A979513648}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -27,10 +25,14 @@ Global {0E18AA5B-2E9A-48BA-A07F-621B5DCBBDC9}.Debug|Any CPU.Build.0 = Debug|Any CPU {0E18AA5B-2E9A-48BA-A07F-621B5DCBBDC9}.Release|Any CPU.ActiveCfg = Release|Any CPU {0E18AA5B-2E9A-48BA-A07F-621B5DCBBDC9}.Release|Any CPU.Build.0 = Release|Any CPU - {C7ADCCA6-68DF-4CE5-B6D4-89A979513648}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C7ADCCA6-68DF-4CE5-B6D4-89A979513648}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C7ADCCA6-68DF-4CE5-B6D4-89A979513648}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C7ADCCA6-68DF-4CE5-B6D4-89A979513648}.Release|Any CPU.Build.0 = Release|Any CPU + {682ADEDC-AE1F-46C9-9F0D-7DE297BAC82D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {682ADEDC-AE1F-46C9-9F0D-7DE297BAC82D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {682ADEDC-AE1F-46C9-9F0D-7DE297BAC82D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {682ADEDC-AE1F-46C9-9F0D-7DE297BAC82D}.Release|Any CPU.Build.0 = Release|Any CPU + {20CB53D6-C6B3-4FCD-9DF3-A0511DB1FBA1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {20CB53D6-C6B3-4FCD-9DF3-A0511DB1FBA1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {20CB53D6-C6B3-4FCD-9DF3-A0511DB1FBA1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {20CB53D6-C6B3-4FCD-9DF3-A0511DB1FBA1}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From aff53076a852f03b8fae58142d6f1841dd27965c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96mer=20Faruk=20Korkmaz?= Date: Thu, 5 Dec 2024 14:55:12 +0300 Subject: [PATCH 3/3] Update: .sln added to gitignore Fix: Removed empty method --- .gitignore | 3 +++ .../Components/CategoryFilter/CategoryFilter.razor.cs | 4 ---- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 05bfcc3..878aae1 100644 --- a/.gitignore +++ b/.gitignore @@ -229,6 +229,9 @@ _pkginfo.txt # but keep track of directories ending in .cache !?*.[Cc]ache/ +##sln +*.sln + # Others ClientBin/ ~$* diff --git a/SiemensIXBlazor/Components/CategoryFilter/CategoryFilter.razor.cs b/SiemensIXBlazor/Components/CategoryFilter/CategoryFilter.razor.cs index a748945..f63aea7 100644 --- a/SiemensIXBlazor/Components/CategoryFilter/CategoryFilter.razor.cs +++ b/SiemensIXBlazor/Components/CategoryFilter/CategoryFilter.razor.cs @@ -142,9 +142,5 @@ private void InitialParameter(string functionName, object param) }); } - private void SetStaticOperator(LogicalFilterOperator logicalFilterOperator) - { - - } } }