From 2d310d357b2ecf247f0a290b45842508354279f2 Mon Sep 17 00:00:00 2001 From: Adam Zofware Date: Sat, 27 Aug 2022 11:08:07 -0700 Subject: [PATCH 01/13] Fix copy/paste bug in EditingService.cs that corrupted DataGrid state when inline editing row items that send PropertyChanged notifications. --- .../Grid/Grid.UWP/View/Services/Editing/EditingService.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs b/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs index 1c939feb..4812e760 100644 --- a/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs +++ b/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -85,7 +85,7 @@ public bool BeginEdit(ItemInfo rowInfo) this.Owner.EditRowLayer.ScheduleFirstEditorForFocus(); } - this.Owner.Model.CurrentDataProvider.CommitEditOperation(this.EditItem); + this.Owner.Model.CurrentDataProvider.BeginEditOperation(this.EditItem); // hide the CurrentItem decoration this.Owner.visualStateService.UpdateCurrentDecoration(-1); @@ -189,7 +189,7 @@ public bool CancelEdit(ActionTrigger trigger) this.Owner.EditRowLayer.EditorLayoutSlots.Clear(); } - this.Owner.Model.CurrentDataProvider.CommitEditOperation(this.EditItem); + this.Owner.Model.CurrentDataProvider.CancelEditOperation(this.EditItem); }) { Flags = UpdateFlags.AffectsContent From 773ddf8fc1987ca48667938546ef0bcb7513e285 Mon Sep 17 00:00:00 2001 From: Adam Zofware Date: Sat, 27 Aug 2022 11:09:34 -0700 Subject: [PATCH 02/13] Redraw the row after canceling inline editing to avoid showing stale content. --- .../Grid.UWP/View/Services/Editing/EditingService.cs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs b/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs index 4812e760..118228ae 100644 --- a/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs +++ b/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -181,27 +181,30 @@ public bool CancelEdit(ActionTrigger trigger) if (trigger != ActionTrigger.ExternalEditor) { this.Owner.ExternalEditor.CancelEdit(); + this.Owner.CurrencyService.RefreshCurrentItem(true); } } else { this.Owner.Model.CancelEdit(); this.Owner.EditRowLayer.EditorLayoutSlots.Clear(); + this.Owner.CurrencyService.RefreshCurrentItem(true); } this.Owner.Model.CurrentDataProvider.CancelEditOperation(this.EditItem); }) { - Flags = UpdateFlags.AffectsContent + Flags = UpdateFlags.AffectsData }; - this.Owner.updateService.RegisterUpdate(update); - foreach (var pair in this.operation.OriginalValues) { pair.Key.SetValueForInstance(this.operation.EditItemInfo.Item, pair.Value); } + this.Owner.updateService.RegisterUpdate(update); + + if (this.operation.EditMode == DataGridUserEditMode.Inline) { this.Owner.EditRowLayer.EditorLayoutSlots.Clear(); From e379b6b8282c2cfd8608616261bcbe34857e6ae8 Mon Sep 17 00:00:00 2001 From: Adam Zofware Date: Sat, 27 Aug 2022 11:21:25 -0700 Subject: [PATCH 03/13] Remove blank line --- Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs b/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs index 118228ae..1e1dc137 100644 --- a/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs +++ b/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs @@ -204,7 +204,6 @@ public bool CancelEdit(ActionTrigger trigger) this.Owner.updateService.RegisterUpdate(update); - if (this.operation.EditMode == DataGridUserEditMode.Inline) { this.Owner.EditRowLayer.EditorLayoutSlots.Clear(); From af793efa5eb3937f2f3e1a06b6474bf9577a84e4 Mon Sep 17 00:00:00 2001 From: Adam Zofware Date: Sat, 27 Aug 2022 16:21:43 -0700 Subject: [PATCH 04/13] Ensure row refreshes and redraws after committing a change from inline edit mode. --- .../Grid/Grid.UWP/View/Services/Editing/EditingService.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs b/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs index 1e1dc137..152ba4b1 100644 --- a/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs +++ b/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs @@ -118,18 +118,20 @@ public bool CommitEdit(ActionTrigger trigger) if (trigger != ActionTrigger.ExternalEditor) { this.Owner.ExternalEditor.CommitEdit(); + this.Owner.CurrencyService.RefreshCurrentItem(true); } } else { this.Owner.Model.CommitEdit(); this.Owner.EditRowLayer.EditorLayoutSlots.Clear(); + this.Owner.CurrencyService.RefreshCurrentItem(true); } this.Owner.Model.CurrentDataProvider.CommitEditOperation(this.EditItem); }) { - Flags = UpdateFlags.AffectsContent, + Flags = UpdateFlags.AffectsData, Priority = CoreDispatcherPriority.Low }; @@ -138,7 +140,7 @@ public bool CommitEdit(ActionTrigger trigger) this.Owner.updateService.RegisterUpdate(update); - update = new DelegateUpdate(() => + update = new DelegateUpdate(() => { if (this.Owner.UserEditMode == DataGridUserEditMode.External) { From 7710738887cafb7e7c4fa51a0256351f7e478f17 Mon Sep 17 00:00:00 2001 From: Adam Zofware Date: Sat, 27 Aug 2022 16:21:43 -0700 Subject: [PATCH 05/13] Revert "Ensure row refreshes and redraws after committing a change from inline edit mode." This reverts commit af793efa5eb3937f2f3e1a06b6474bf9577a84e4. --- .../Grid/Grid.UWP/View/Services/Editing/EditingService.cs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs b/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs index 152ba4b1..1e1dc137 100644 --- a/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs +++ b/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs @@ -118,20 +118,18 @@ public bool CommitEdit(ActionTrigger trigger) if (trigger != ActionTrigger.ExternalEditor) { this.Owner.ExternalEditor.CommitEdit(); - this.Owner.CurrencyService.RefreshCurrentItem(true); } } else { this.Owner.Model.CommitEdit(); this.Owner.EditRowLayer.EditorLayoutSlots.Clear(); - this.Owner.CurrencyService.RefreshCurrentItem(true); } this.Owner.Model.CurrentDataProvider.CommitEditOperation(this.EditItem); }) { - Flags = UpdateFlags.AffectsData, + Flags = UpdateFlags.AffectsContent, Priority = CoreDispatcherPriority.Low }; @@ -140,7 +138,7 @@ public bool CommitEdit(ActionTrigger trigger) this.Owner.updateService.RegisterUpdate(update); - update = new DelegateUpdate(() => + update = new DelegateUpdate(() => { if (this.Owner.UserEditMode == DataGridUserEditMode.External) { From cd2473fa7c8bc21e4188b151601c5bec3a0e39e6 Mon Sep 17 00:00:00 2001 From: Adam Zofware Date: Sat, 27 Aug 2022 11:21:25 -0700 Subject: [PATCH 06/13] Revert "Remove blank line" This reverts commit e379b6b8282c2cfd8608616261bcbe34857e6ae8. --- Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs b/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs index 1e1dc137..118228ae 100644 --- a/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs +++ b/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs @@ -204,6 +204,7 @@ public bool CancelEdit(ActionTrigger trigger) this.Owner.updateService.RegisterUpdate(update); + if (this.operation.EditMode == DataGridUserEditMode.Inline) { this.Owner.EditRowLayer.EditorLayoutSlots.Clear(); From 4eb795ce34db9f6a2c2698f58e73ae6d5f46ef29 Mon Sep 17 00:00:00 2001 From: Adam Zofware Date: Fri, 11 Nov 2022 08:35:56 -0800 Subject: [PATCH 07/13] Revert most of "Redraw the row after canceling inline editing to avoid showing stale content." Keep only the part that moves the call to RegisterUpdate() in CancelEdit(). --- .../Grid/Grid.UWP/View/Services/Editing/EditingService.cs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs b/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs index 118228ae..4851972a 100644 --- a/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs +++ b/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -181,20 +181,18 @@ public bool CancelEdit(ActionTrigger trigger) if (trigger != ActionTrigger.ExternalEditor) { this.Owner.ExternalEditor.CancelEdit(); - this.Owner.CurrencyService.RefreshCurrentItem(true); } } else { this.Owner.Model.CancelEdit(); this.Owner.EditRowLayer.EditorLayoutSlots.Clear(); - this.Owner.CurrencyService.RefreshCurrentItem(true); } this.Owner.Model.CurrentDataProvider.CancelEditOperation(this.EditItem); }) { - Flags = UpdateFlags.AffectsData + Flags = UpdateFlags.AffectsContent }; foreach (var pair in this.operation.OriginalValues) From a766dbbccbf9f2688ed121e8affa04a9b279bbc9 Mon Sep 17 00:00:00 2001 From: Vesselin Georgiev Date: Fri, 25 Nov 2022 13:14:52 +0200 Subject: [PATCH 08/13] Fix build error The code must not contain multiple blank lines in a row. --- Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs b/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs index 4851972a..f20f8151 100644 --- a/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs +++ b/Controls/Grid/Grid.UWP/View/Services/Editing/EditingService.cs @@ -202,7 +202,6 @@ public bool CancelEdit(ActionTrigger trigger) this.Owner.updateService.RegisterUpdate(update); - if (this.operation.EditMode == DataGridUserEditMode.Inline) { this.Owner.EditRowLayer.EditorLayoutSlots.Clear(); From b9805b36e69b51672cab9680e2f132b884a97ff8 Mon Sep 17 00:00:00 2001 From: Vesselin Georgiev Date: Thu, 19 Jan 2023 13:54:04 +0200 Subject: [PATCH 09/13] Updated NuGet version --- BuildTools/BuildNuGet.bat | 2 +- BuildTools/BuildNuget.UWP.proj | 2 +- BuildTools/Nuspecs.UWP/Package.UniversalWindowsPlatform.nuspec | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/BuildTools/BuildNuGet.bat b/BuildTools/BuildNuGet.bat index ed2f9f50..832432c3 100644 --- a/BuildTools/BuildNuGet.bat +++ b/BuildTools/BuildNuGet.bat @@ -1,2 +1,2 @@ SET MSBUILD=%WINDIR%\microsoft.net\framework\v4.0.30319\MSBuild.exe -%MSBUILD% BuildNuget.UWP.proj /property:Version=1.0.2.9 \ No newline at end of file +%MSBUILD% BuildNuget.UWP.proj /property:Version=1.0.2.10 \ No newline at end of file diff --git a/BuildTools/BuildNuget.UWP.proj b/BuildTools/BuildNuget.UWP.proj index 8f2b4312..78bcca11 100644 --- a/BuildTools/BuildNuget.UWP.proj +++ b/BuildTools/BuildNuget.UWP.proj @@ -15,7 +15,7 @@ - 1.0.2.9 + 1.0.2.10 $([System.IO.Path]::GetFullPath('$(DeployDirectory)')) $(BinariesTargetDirectory) diff --git a/BuildTools/Nuspecs.UWP/Package.UniversalWindowsPlatform.nuspec b/BuildTools/Nuspecs.UWP/Package.UniversalWindowsPlatform.nuspec index 41a45c8e..9ebce47a 100644 --- a/BuildTools/Nuspecs.UWP/Package.UniversalWindowsPlatform.nuspec +++ b/BuildTools/Nuspecs.UWP/Package.UniversalWindowsPlatform.nuspec @@ -12,7 +12,7 @@ images\uwp.png true UI for Universal Windows Platform is a toolset for building Universal Windows Platform apps for the Windows Store and the enterprise. The library is designed to offer the same user experience, functionality and behavior on Windows devices of all form factors. - For full release notes see https://github.com/telerik/UI-For-UWP/releases/tag/1.0.2.9 + For full release notes see https://github.com/telerik/UI-For-UWP/releases/tag/1.0.2.10 UWP Windows Telerik Controls XAML C# en-US From 97a104ee6107b6bd3559ac7e7d81fc32ab07331a Mon Sep 17 00:00:00 2001 From: Vesselin Georgiev Date: Thu, 19 Jan 2023 14:01:55 +0200 Subject: [PATCH 10/13] SideDrawer: When TapOustideToClose is false. main content should not be disabled. --- .../Primitives/Primitives.UWP/SideDrawer/RadSideDrawer.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Controls/Primitives/Primitives.UWP/SideDrawer/RadSideDrawer.cs b/Controls/Primitives/Primitives.UWP/SideDrawer/RadSideDrawer.cs index d33fedb2..66747df8 100644 --- a/Controls/Primitives/Primitives.UWP/SideDrawer/RadSideDrawer.cs +++ b/Controls/Primitives/Primitives.UWP/SideDrawer/RadSideDrawer.cs @@ -705,8 +705,8 @@ private static void OnDrawerStateChanged(DependencyObject d, DependencyPropertyC var sideDrawer = d as RadSideDrawer; var mainContent = sideDrawer.MainContent as FrameworkElement; - if (mainContent != null) - { + if (mainContent != null && sideDrawer.TapOutsideToClose) + { mainContent.IsHitTestVisible = (DrawerState)e.NewValue == DrawerState.Closed; } @@ -742,7 +742,7 @@ private static void OnDrawerTransitionFadeOpacityChanged(DependencyObject d, Dep if (sideDrawer.IsTemplateApplied) { - sideDrawer.InvalidateMeasure(); + sideDrawer.ResetDrawer(); } } private static void OnIsOpenChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) From 46169b4790db50bfb33c193680ae8f3c358f49c2 Mon Sep 17 00:00:00 2001 From: Vesselin Georgiev Date: Thu, 19 Jan 2023 14:05:47 +0200 Subject: [PATCH 11/13] Update Copyright year. --- LICENSE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE.md b/LICENSE.md index 36b780ab..6c60dbe4 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,4 +1,4 @@ -Copyright © 2015-2019 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. +Copyright © 2015-2023 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. From 2dc4383937c0e798f897ab68e1e866ece7735b91 Mon Sep 17 00:00:00 2001 From: Vesselin Georgiev Date: Thu, 19 Jan 2023 14:10:27 +0200 Subject: [PATCH 12/13] Update copyright year --- notice.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/notice.txt b/notice.txt index 69c907b2..c88c5da5 100644 --- a/notice.txt +++ b/notice.txt @@ -4,6 +4,6 @@ == in this case for Telerik UI for UWP by Progress == ========================================================================= Telerik UI for UWP by Progress -Copyright (C) 2015 - 2019 Progress Software Corporation +Copyright (C) 2015 - 2023 Progress Software Corporation For license information see the LICENSE.md file which accompanies this NOTICE.txt file. Any open source software that may be delivered by Progress Software Corporation embedded in or in association with Telerik UI for UWP by Progress is provided pursuant to the open source license applicable to such software and subject to the disclaimers and limitations on liability set forth in such license. From dd32b705d8d50426190e054f4a4a142622a61d26 Mon Sep 17 00:00:00 2001 From: Vesselin Georgiev Date: Thu, 19 Jan 2023 14:29:55 +0200 Subject: [PATCH 13/13] Fix indentation --- Controls/Primitives/Primitives.UWP/SideDrawer/RadSideDrawer.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Controls/Primitives/Primitives.UWP/SideDrawer/RadSideDrawer.cs b/Controls/Primitives/Primitives.UWP/SideDrawer/RadSideDrawer.cs index 66747df8..8217d45f 100644 --- a/Controls/Primitives/Primitives.UWP/SideDrawer/RadSideDrawer.cs +++ b/Controls/Primitives/Primitives.UWP/SideDrawer/RadSideDrawer.cs @@ -706,7 +706,7 @@ private static void OnDrawerStateChanged(DependencyObject d, DependencyPropertyC var mainContent = sideDrawer.MainContent as FrameworkElement; if (mainContent != null && sideDrawer.TapOutsideToClose) - { + { mainContent.IsHitTestVisible = (DrawerState)e.NewValue == DrawerState.Closed; }