diff --git a/Nester.Deploy.sln b/Nester.Deploy.sln
index bb5454b..6663cc3 100644
--- a/Nester.Deploy.sln
+++ b/Nester.Deploy.sln
@@ -11,6 +11,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nester.Deploy.UWP", "Nester
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Nester.Deploy", "Nester.Deploy\Nester.Deploy\Nester.Deploy.csproj", "{E6E24809-F81B-458F-AA59-4E982AA67C6B}"
EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Nester.Library", "..\nester.library\Nester.Library\Nester.Library.csproj", "{4FA15B95-63BC-46C1-92D5-40075E2A9B37}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Ad-Hoc|Any CPU = Ad-Hoc|Any CPU
@@ -251,6 +253,54 @@ Global
{E6E24809-F81B-458F-AA59-4E982AA67C6B}.Release|x64.Build.0 = Release|Any CPU
{E6E24809-F81B-458F-AA59-4E982AA67C6B}.Release|x86.ActiveCfg = Release|Any CPU
{E6E24809-F81B-458F-AA59-4E982AA67C6B}.Release|x86.Build.0 = Release|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Ad-Hoc|x64.ActiveCfg = Release|x64
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Ad-Hoc|x64.Build.0 = Release|x64
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Ad-Hoc|x86.Build.0 = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.AppStore|Any CPU.Build.0 = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.AppStore|ARM.ActiveCfg = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.AppStore|ARM.Build.0 = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.AppStore|iPhone.Build.0 = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.AppStore|x64.ActiveCfg = Release|x64
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.AppStore|x64.Build.0 = Release|x64
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.AppStore|x86.ActiveCfg = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.AppStore|x86.Build.0 = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Debug|ARM.ActiveCfg = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Debug|ARM.Build.0 = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Debug|iPhone.Build.0 = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Debug|x64.ActiveCfg = Debug|x64
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Debug|x64.Build.0 = Debug|x64
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Debug|x86.Build.0 = Debug|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Release|ARM.ActiveCfg = Release|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Release|ARM.Build.0 = Release|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Release|iPhone.ActiveCfg = Release|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Release|iPhone.Build.0 = Release|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Release|x64.ActiveCfg = Release|x64
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Release|x64.Build.0 = Release|x64
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Release|x86.ActiveCfg = Release|Any CPU
+ {4FA15B95-63BC-46C1-92D5-40075E2A9B37}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/Nester.Deploy/Nester.Deploy.Android/Nester.Deploy.Android.csproj b/Nester.Deploy/Nester.Deploy.Android/Nester.Deploy.Android.csproj
index a4f650d..04d64d3 100644
--- a/Nester.Deploy/Nester.Deploy.Android/Nester.Deploy.Android.csproj
+++ b/Nester.Deploy/Nester.Deploy.Android/Nester.Deploy.Android.csproj
@@ -48,9 +48,6 @@
2.1.0
-
- 1.2.0
-
10.0.3
diff --git a/Nester.Deploy/Nester.Deploy.Android/Properties/AndroidManifest.xml b/Nester.Deploy/Nester.Deploy.Android/Properties/AndroidManifest.xml
index 7b73c32..baeb9a2 100644
--- a/Nester.Deploy/Nester.Deploy.Android/Properties/AndroidManifest.xml
+++ b/Nester.Deploy/Nester.Deploy.Android/Properties/AndroidManifest.xml
@@ -1,5 +1,5 @@
-
-
+
+
-
+
\ No newline at end of file
diff --git a/Nester.Deploy/Nester.Deploy.UWP/MainPage.xaml.cs b/Nester.Deploy/Nester.Deploy.UWP/MainPage.xaml.cs
index 67f2dcb..8231adf 100644
--- a/Nester.Deploy/Nester.Deploy.UWP/MainPage.xaml.cs
+++ b/Nester.Deploy/Nester.Deploy.UWP/MainPage.xaml.cs
@@ -20,7 +20,7 @@ public sealed partial class MainPage
public MainPage()
{
this.InitializeComponent();
-
+ Syncfusion.ListView.XForms.UWP.SfListViewRenderer.Init();
LoadApplication(new Nester.Deploy.App());
}
}
diff --git a/Nester.Deploy/Nester.Deploy.UWP/Nester.Deploy.UWP.csproj b/Nester.Deploy/Nester.Deploy.UWP/Nester.Deploy.UWP.csproj
index 2cd82a7..6fa9059 100644
--- a/Nester.Deploy/Nester.Deploy.UWP/Nester.Deploy.UWP.csproj
+++ b/Nester.Deploy/Nester.Deploy.UWP/Nester.Deploy.UWP.csproj
@@ -20,7 +20,7 @@
Nester.Deploy.UWP_StoreKey.pfx
False
Always
- x64|arm
+ x64
43AF1CD213998B143E3BAEB89FB128BE8AD03B98
@@ -117,7 +117,9 @@
+
+
@@ -219,9 +221,6 @@
2.1.1
-
- 1.2.0
-
10.0.3
diff --git a/Nester.Deploy/Nester.Deploy.UWP/Package.appxmanifest b/Nester.Deploy/Nester.Deploy.UWP/Package.appxmanifest
index 1231126..65a0685 100644
--- a/Nester.Deploy/Nester.Deploy.UWP/Package.appxmanifest
+++ b/Nester.Deploy/Nester.Deploy.UWP/Package.appxmanifest
@@ -1,6 +1,6 @@
-
+
Nester Deploy
diff --git a/Nester.Deploy/Nester.Deploy.UWP/Properties/AssemblyInfo.cs b/Nester.Deploy/Nester.Deploy.UWP/Properties/AssemblyInfo.cs
index 6408c33..32e99a0 100644
--- a/Nester.Deploy/Nester.Deploy.UWP/Properties/AssemblyInfo.cs
+++ b/Nester.Deploy/Nester.Deploy.UWP/Properties/AssemblyInfo.cs
@@ -24,6 +24,6 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.6.0.0")]
-[assembly: AssemblyFileVersion("1.6.0.0")]
+[assembly: AssemblyVersion("1.6.2.0")]
+[assembly: AssemblyFileVersion("1.6.2.0")]
[assembly: ComVisible(false)]
\ No newline at end of file
diff --git a/Nester.Deploy/Nester.Deploy.UWP/_pkginfo.txt b/Nester.Deploy/Nester.Deploy.UWP/_pkginfo.txt
index 52712b4..d029cf3 100644
--- a/Nester.Deploy/Nester.Deploy.UWP/_pkginfo.txt
+++ b/Nester.Deploy/Nester.Deploy.UWP/_pkginfo.txt
@@ -1 +1 @@
-C:\Users\rajitha\Documents\inkton\github\nester.deploy\Nester.Deploy\Nester.Deploy.UWP\bin\ARM\Release\Upload\Nester.Deploy.UWP_1.6.0.0\Nester.Deploy.UWP_1.6.0.0_x64_arm.appxbundle
+C:\Users\rajitha\Documents\inkton\github\nester.deploy\Nester.Deploy\Nester.Deploy.UWP\bin\x64\Release\Upload\Nester.Deploy.UWP_1.6.1.0\Nester.Deploy.UWP_1.6.1.0_x64.appxbundle
diff --git a/Nester.Deploy/Nester.Deploy.UWP/apprestore24.png b/Nester.Deploy/Nester.Deploy.UWP/apprestore24.png
new file mode 100644
index 0000000..28c6f5d
Binary files /dev/null and b/Nester.Deploy/Nester.Deploy.UWP/apprestore24.png differ
diff --git a/Nester.Deploy/Nester.Deploy.UWP/appupgrade24.png b/Nester.Deploy/Nester.Deploy.UWP/appupgrade24.png
new file mode 100644
index 0000000..8b82d00
Binary files /dev/null and b/Nester.Deploy/Nester.Deploy.UWP/appupgrade24.png differ
diff --git a/Nester.Deploy/Nester.Deploy.iOS/Nester.Deploy.iOS.csproj b/Nester.Deploy/Nester.Deploy.iOS/Nester.Deploy.iOS.csproj
index 6de5b57..c16836f 100644
--- a/Nester.Deploy/Nester.Deploy.iOS/Nester.Deploy.iOS.csproj
+++ b/Nester.Deploy/Nester.Deploy.iOS/Nester.Deploy.iOS.csproj
@@ -87,6 +87,9 @@
iPhone Distribution
Entitlements.plist
+
+
+
@@ -122,9 +125,6 @@
2.1.0
-
- 1.2.0
-
10.0.3
diff --git a/Nester.Deploy/Nester.Deploy.iOS/Properties/AssemblyInfo.cs b/Nester.Deploy/Nester.Deploy.iOS/Properties/AssemblyInfo.cs
index 4707088..e48feab 100644
--- a/Nester.Deploy/Nester.Deploy.iOS/Properties/AssemblyInfo.cs
+++ b/Nester.Deploy/Nester.Deploy.iOS/Properties/AssemblyInfo.cs
@@ -32,5 +32,5 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyVersion("1.6.1.0")]
+[assembly: AssemblyFileVersion("1.6.1.0")]
diff --git a/Nester.Deploy/Nester.Deploy/Nester.Deploy.csproj b/Nester.Deploy/Nester.Deploy/Nester.Deploy.csproj
index c17d46f..15b05d1 100644
--- a/Nester.Deploy/Nester.Deploy/Nester.Deploy.csproj
+++ b/Nester.Deploy/Nester.Deploy/Nester.Deploy.csproj
@@ -2,9 +2,11 @@
netstandard2.0
- 1.6.0
+ 1.6.2
nest.yt
Inkton
+ Copyright © 2018
+ https://nest.yt/
@@ -19,7 +21,6 @@
-
@@ -28,6 +29,10 @@
+
+
+
+
Code
@@ -46,4 +51,10 @@
+
+
+ MSBuild:UpdateDesignTimeXaml
+
+
+
\ No newline at end of file
diff --git a/Nester.Deploy/Nester.Deploy/Views/EntryView.xaml.cs b/Nester.Deploy/Nester.Deploy/Views/EntryView.xaml.cs
index b8d11dc..3127987 100644
--- a/Nester.Deploy/Nester.Deploy/Views/EntryView.xaml.cs
+++ b/Nester.Deploy/Nester.Deploy/Views/EntryView.xaml.cs
@@ -151,7 +151,6 @@ async private void OnLoginButtonClickedAsync(object sender, EventArgs e)
{
await MainSideView.Detail.Navigation.PopAsync();
NesterControl.Target = _baseModels.AllApps.AppModels.First();
- NesterControl.Target.Reload();
NesterControl.ResetView(NesterControl.Target);
}
}
diff --git a/Nester.Deploy/Nester.Deploy/Views/Homesteads/AppBackupView.xaml b/Nester.Deploy/Nester.Deploy/Views/Homesteads/AppBackupView.xaml
new file mode 100644
index 0000000..9a5baec
--- /dev/null
+++ b/Nester.Deploy/Nester.Deploy/Views/Homesteads/AppBackupView.xaml
@@ -0,0 +1,162 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Nester.Deploy/Nester.Deploy/Views/Homesteads/AppBackupView.xaml.cs b/Nester.Deploy/Nester.Deploy/Views/Homesteads/AppBackupView.xaml.cs
new file mode 100644
index 0000000..4228001
--- /dev/null
+++ b/Nester.Deploy/Nester.Deploy/Views/Homesteads/AppBackupView.xaml.cs
@@ -0,0 +1,187 @@
+/*
+ Copyright (c) 2017 Inkton.
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the "Software"),
+ to deal in the Software without restriction, including without limitation
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ and/or sell copies of the Software, and to permit persons to whom the Software
+ is furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
+ OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+using Xamarin.Forms;
+using Xamarin.Forms.Xaml;
+
+using Inkton.Nester.ViewModels;
+using Inkton.Nester.Models;
+
+namespace Inkton.Nester.Views
+{
+ public partial class AppBackupView : View
+ {
+ public AppBackupView(BaseModels baseModels)
+ {
+ InitializeComponent();
+
+ BaseModels = baseModels;
+
+ SetActivityMonotoring(ServiceActive,
+ new List {
+ ButtonCancel,
+ ButtonRestore,
+ ButtonBackup,
+ ButtonRefresh
+ });
+
+ _activityIndicator = ServiceActive;
+
+ ButtonCancel.Clicked += ButtonCancel_Clicked;
+ ButtonRestore.Clicked += ButtonRestore_ClickedAsync;
+ ButtonBackup.Clicked += ButtonBackup_ClickedAsync;
+ ButtonRefresh.Clicked += ButtonRefresh_ClickedAsync;
+ }
+
+ public override void UpdateBindings()
+ {
+ base.UpdateBindings();
+
+ BindingContext = _baseModels.TargetViewModel.DeploymentModel;
+
+ UpdateDescriptions();
+ }
+
+ private void UpdateDescriptions()
+ {
+ foreach (AppBackup backup in _baseModels.TargetViewModel.DeploymentModel.AppBackups)
+ {
+ switch (backup.Status)
+ {
+ case "initialized":
+ backup.Description = "A Backup pending";
+ break;
+ case "definition-complete":
+ backup.Description = "The App definition";
+ break;
+ case "deployment-progressing":
+ backup.Description = "In progress ..";
+ break;
+ case "deployment-complete":
+ backup.Description = "The App backup complete";
+ break;
+ }
+ }
+ }
+
+
+ private void ButtonCancel_Clicked(object sender, EventArgs e)
+ {
+ IsServiceActive = true;
+ MainSideView.UnstackViewAsync();
+ IsServiceActive = false;
+ }
+
+ private async void ButtonRestore_ClickedAsync(object sender, EventArgs e)
+ {
+ IsServiceActive = true;
+
+ try
+ {
+ if (AppBackups.SelectedItem != null)
+ {
+ bool proceed = await DisplayAlert("Nester",
+ "This will restore from a backup and replace the current App. Proceed?", "Yes", "No");
+
+ if (!proceed)
+ {
+ IsServiceActive = false;
+ return;
+ }
+
+ await _baseModels.TargetViewModel.DeploymentModel.RestoreAppAsync(
+ AppBackups.SelectedItem as Models.AppBackup);
+
+ // Reload everything
+ await _baseModels.TargetViewModel.InitAsync();
+
+ AppView appView = MainSideView.GetAppView(_baseModels.TargetViewModel.EditApp.Id);
+ if (appView != null)
+ {
+ appView.UpdateState();
+ }
+ }
+
+ MainSideView.UnstackViewAsync();
+ }
+ catch (Exception ex)
+ {
+ await DisplayAlert("Nester", ex.Message, "OK");
+ }
+
+ IsServiceActive = false;
+ }
+
+ private async void ButtonBackup_ClickedAsync(object sender, EventArgs e)
+ {
+ IsServiceActive = true;
+
+ try
+ {
+ bool proceed = await DisplayAlert("Nester",
+ "This will create a new backup. Proceed?", "Yes", "No");
+
+ if (!proceed)
+ {
+ IsServiceActive = false;
+ return;
+ }
+
+ await _baseModels.TargetViewModel
+ .DeploymentModel.BackupAppAsync();
+
+ UpdateDescriptions();
+ }
+ catch (Exception ex)
+ {
+ await DisplayAlert("Nester", ex.Message, "OK");
+ }
+
+ IsServiceActive = false;
+ }
+
+ private async void ButtonRefresh_ClickedAsync(object sender, EventArgs e)
+ {
+ IsServiceActive = true;
+
+ try
+ {
+ await _baseModels.TargetViewModel
+ .DeploymentModel.QueryAppBackupsAsync();
+
+ UpdateDescriptions();
+ }
+ catch (Exception ex)
+ {
+ await DisplayAlert("Nester", ex.Message, "OK");
+ }
+
+ IsServiceActive = false;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Nester.Deploy/Nester.Deploy/Views/Homesteads/AppSetup/AppBasicDetailView.xaml b/Nester.Deploy/Nester.Deploy/Views/Homesteads/AppSetup/AppBasicDetailView.xaml
index 1961621..27fb21e 100644
--- a/Nester.Deploy/Nester.Deploy/Views/Homesteads/AppSetup/AppBasicDetailView.xaml
+++ b/Nester.Deploy/Nester.Deploy/Views/Homesteads/AppSetup/AppBasicDetailView.xaml
@@ -26,9 +26,9 @@
-
-
-
+
+
+
+
+