Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v2.5.3 #302

Merged
merged 38 commits into from
Feb 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
ef08d3f
update build and testing for automation
TimPurdum Nov 22, 2023
df084af
silence verbose copy messages
TimPurdum Nov 22, 2023
3ff21b0
fix assetCopy, set release mode
TimPurdum Nov 26, 2023
30b3d95
update package.json versions to help with build issue
TimPurdum Nov 26, 2023
e07d21e
Add console lines for test runner
TimPurdum Nov 26, 2023
320037f
Merge branch 'develop' into pro/78-automated-build
TimPurdum Dec 10, 2023
78849ea
Merge branch 'develop' into pro/78-automated-build
TimPurdum Dec 19, 2023
ab35468
Implemented and tested ApplyEdits changes via protobuf serialization
TimPurdum Dec 27, 2023
4fcf022
Merge pull request #282 from dymaptic/feature/281-apply-edits-protobuf
TimPurdum Dec 28, 2023
0948e24
Graphics Legend Widget
TimPurdum Dec 29, 2023
7db2c14
Merge branch 'develop' into pro/78-automated-build
TimPurdum Dec 30, 2023
7ff2101
add missing xml
TimPurdum Dec 30, 2023
80108ea
try assetCopy without asterisk for GH action
TimPurdum Dec 30, 2023
66992b6
add missing Documentation folder, fix pull/push in build
TimPurdum Dec 30, 2023
abe50a1
Update core targets
TimPurdum Dec 30, 2023
d92dc36
Add Core workflows
TimPurdum Dec 30, 2023
b02e43f
Save changes to template versions
TimPurdum Dec 30, 2023
95ddae2
Docs and Templates Generated by GH Action
TimPurdum Dec 30, 2023
de975c3
Routes, new two-way protobuf implementations.
TimPurdum Jan 1, 2024
7ff9d1e
Merge pull request #284 from dymaptic/pro/78-automated-build
TimPurdum Jan 2, 2024
75f400e
Merge pull request #285 from dymaptic/pro/93-routes
TimPurdum Jan 2, 2024
95767ec
Merge pull request #283 from dymaptic/pro/91-graphics-legend
TimPurdum Jan 5, 2024
5665b0a
invert authentication manager order of checks for AppId first.
TimPurdum Jan 5, 2024
5989634
Add missing xml comments, test gh action
TimPurdum Jan 6, 2024
27d691d
Merge pull request #286 from dymaptic/test/gh-actions-build
TimPurdum Jan 6, 2024
58c7c2e
add missing xml
TimPurdum Jan 6, 2024
38a10db
update copyright year, add doc generation into build pipeline to enfo…
TimPurdum Jan 6, 2024
7659fda
build fixes
TimPurdum Jan 15, 2024
ba61383
Simplify registration, don't require callback to server
TimPurdum Jan 15, 2024
5bf70c8
clean up usings
TimPurdum Jan 15, 2024
8da07a1
Merge pull request #293 from dymaptic/feature/simplify-registration
TimPurdum Jan 21, 2024
edd7ec4
Clean up unneeded settings
TimPurdum Jan 22, 2024
50de5e2
prevent returning all graphics for layer on hitTest.
TimPurdum Jan 31, 2024
622da3a
protobuf serialization fixes
TimPurdum Feb 2, 2024
05a532a
Merge pull request #296 from dymaptic/bug/294-hit-test-returns-all-gr…
TimPurdum Feb 3, 2024
ed71cf4
Merge pull request #298 from dymaptic/bug/295-protobuf-enum-serializa…
TimPurdum Feb 3, 2024
e5fccaf
remove unneeded registration tests
TimPurdum Feb 3, 2024
6b889ee
release testing bug fixes, documentation
TimPurdum Feb 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions .github/workflows/dev-pr-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# This workflow will build a .NET project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net

name: Develop Branch PR Build

on:
pull_request:
branches: [ "develop" ]

jobs:
build:
runs-on: ubuntu-latest
steps:
# Checkout the repository to the GitHub Actions runner
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
repository: ${{ github.event.pull_request.head.repo.full_name }}
ref: ${{ github.event.pull_request.head.ref }}
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 8.0.x
- name: Restore dependencies
run: dotnet restore ./src/dymaptic.GeoBlazor.Core/dymaptic.GeoBlazor.Core.csproj
- name: Build Core
run: dotnet build ./src/dymaptic.GeoBlazor.Core/dymaptic.GeoBlazor.Core.csproj --no-restore /p:OptOutFromCoreEsBuild=false /p:GenerateDocs=true /p:UpdateTemplates=true -c Release

- name: Add & Commit
# Saves updated template versions
# You may pin to the exact commit or the version.
# uses: EndBug/add-and-commit@1bad3abcf0d6ec49a5857d124b0bfb52dc7bb081
uses: EndBug/add-and-commit@v9.1.3
with:
# The message for the commit
message: Docs and Templates Generated by GH Action
pull: ''
51 changes: 51 additions & 0 deletions .github/workflows/main-release-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# This workflow will build a .NET project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net

name: Main Branch Release Build

on:
push:
branches: [ "main" ]

jobs:
build:
runs-on: ubuntu-latest
steps:
# Checkout the repository to the GitHub Actions runner
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 8.0.x
- name: Restore dependencies
run: dotnet restore ./src/dymaptic.GeoBlazor.Core/dymaptic.GeoBlazor.Core.csproj
- name: Build Core
run: dotnet build ./src/dymaptic.GeoBlazor.Core/dymaptic.GeoBlazor.Core.csproj --no-restore /p:OptOutFromCoreEsBuild=false /p:GenerateDocs=false /p:UpdateTemplates=false -c Release
- name: Build Templates
run: dotnet build ./templates/dymaptic.GeoBlazor.Templates.csproj -c Release
- name: Publish Core to Nuget
run: dotnet nuget push ./src/dymaptic.GeoBlazor.Core/bin/Release/dymaptic.GeoBlazor.Core.*.nupkg --api-key ${{secrets.NUGET_API_KEY}} --source https://api.nuget.org/v3/index.json --skip-duplicate
- name: Publish Templates to Nuget
run: dotnet nuget push ./templates/bin/Release/dymaptic.GeoBlazor.Templates.*.nupkg --api-key ${{secrets.NUGET_API_KEY}} --source https://api.nuget.org/v3/index.json --skip-duplicate
- name: Copy Build Versions
run: |
CORE_VERSION=$(xmllint --xpath "//PropertyGroup/CoreVersion/text()" ./Directory.Build.props)
echo "CORE_VERSION=$CORE_VERSION" >> $GITHUB_ENV
- name: Copy PR Release Notes
run: |
PR_DESCRIPTION=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/${{ github.repository }}/pulls?state=closed&sort=updated&direction=desc" | \
jq -r '.[0].body')
echo "PR_DESCRIPTION=$PR_DESCRIPTION" >> $GITHUB_ENV
- name: Create Release
uses: softprops/action-gh-release@v1
with:
body: ${{env.PR_DESCRIPTION}}
tag_name: "v${{env.PRO_VERSION}}"
generate_release_notes: true
prerelease: true
files: |
./src/dymaptic.GeoBlazor.Core/bin/Release/dymaptic.GeoBlazor.Core.*.nupkg
2 changes: 1 addition & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
<PropertyGroup>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<CoreVersion>2.5.2</CoreVersion>
<CoreVersion>2.5.3</CoreVersion>
</PropertyGroup>
</Project>
165 changes: 101 additions & 64 deletions samples/dymaptic.GeoBlazor.Core.Sample.Shared/Pages/Drawing.razor
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,10 @@
<span class="oi @(_showPointSection ? "oi-chevron-top" : "oi-chevron-bottom")"></span>
</label>
<div class="@(_showPointSection ? "" : "collapse")">
<label>Longitude:<input type="number" step="0.01" @bind="_pointLong" /></label>
<label>Latitude:<input type="number" step="0.01" @bind="_pointLat" /></label>
<label>Longitude:<input type="number" step="0.01" value="@_pointLong"
@onchange="SetPointLong" /></label>
<label>Latitude:<input type="number" step="0.01" value="@_pointLat"
@onchange="SetPointLat" /></label>
<button class="btn btn-primary" @onclick="DrawPoint">@(_showPoint ? "Remove" : "Draw")</button>
</div>
</div>
Expand All @@ -42,16 +44,19 @@
</tr>
</thead>
<tbody>
@for (var i = 0; i < _mapPath.Count; i++)
@for (var i = 0; i < mapPath.Count; i++)
{
MapPoint path = _mapPath[i];
int index = i;
MapPoint path = mapPath[i];
<tr>
<td>@(i + 1)</td>
<td>
<input type="number" step="0.01" @bind="@path[0]" />
<input type="number" step="0.01" value="@path[0]"
@onchange="c => SetLinePath(c, index, 0)" />
</td>
<td>
<input type="number" step="0.01" @bind="@path[1]" />
<input type="number" step="0.01" value="@path[1]"
@onchange="c => SetLinePath(c, index, 1)" />
</td>
</tr>
}
Expand All @@ -77,16 +82,19 @@
</tr>
</thead>
<tbody>
@for (var i = 0; i < _mapRings.Count; i++)
@for (var i = 0; i < mapRings.Count; i++)
{
MapPoint path = _mapRings[i];
int index = i;
MapPoint path = mapRings[i];
<tr>
<td>@(i + 1)</td>
<td>
<input type="number" step="0.01" @bind="@path[0]" />
<input type="number" step="0.01" value="@path[0]"
@onchange="c => SetRingPath(c, index, 0)" />
</td>
<td>
<input type="number" step="0.01" @bind="@path[1]" />
<input type="number" step="0.01" value="@path[1]"
@onchange="c => SetRingPath(c, index, 1)" />
</td>
</tr>
}
Expand All @@ -105,34 +113,7 @@
<Basemap>
<PortalItem Id="716b600dbbac433faa4bec9220c76b3a" />
</Basemap>
<GraphicsLayer>
@if (_showPoint)
{
<Graphic @ref="_pointGraphic">
<Point Longitude="_pointLong" Latitude="_pointLat" />
<SimpleMarkerSymbol Color="@(new MapColor(81, 46, 132))">
<Outline Color="@(new MapColor(255, 255, 255))" Width="1" />
</SimpleMarkerSymbol>
</Graphic>
}
@if (_showLine)
{
<Graphic @ref="_polylineGraphic">
<PolyLine Paths="@(new[] { _mapPath })" />
<SimpleLineSymbol Color="@(new MapColor("white"))" Width="2" />
</Graphic>
}
@if (_showPolygon)
{
<Graphic @ref="_polygonGraphic" Attributes="_graphicAttributes">
<Polygon Rings="@(new[] { _mapRings })" />
<SimpleFillSymbol Color="@(new MapColor(81, 46, 132, 0.8))">
<Outline Color="@(new MapColor(255, 255, 255))" Width="1" />
</SimpleFillSymbol>
<PopupTemplate Title="{Name}" StringContent="{Description}" />
</Graphic>
}
</GraphicsLayer>
<GraphicsLayer @ref="_graphicsLayer" />
</Map>
</MapView>

Expand All @@ -145,57 +126,66 @@

@code
{
private readonly double _latitude = 34.027;
private readonly double _longitude = -118.805;
private double _pointLat = 34.027;
private double _pointLong = -118.805;
private bool _showPoint;
private bool _showLine;
private bool _showPolygon;

private readonly MapPath _mapPath = new(new MapPoint(-118.821527826096, 34.0139576938577),
new MapPoint(-118.814893761649, 34.0080602407843),
new MapPoint(-118.808878330345, 34.0016642996246));

private readonly MapPath _mapRings = new(new MapPoint(-118.818984489994, 34.0137559967283),
new MapPoint(-118.806796597377, 34.0215816298725),
new MapPoint(-118.791432890735, 34.0163883241613),
new MapPoint(-118.79596686535, 34.008564864635),
new MapPoint(-118.808558110679, 34.0035027131376));

private void DrawPoint()
private async Task DrawPoint()
{
_showPoint = !_showPoint;

if (_showPoint)
{
await _graphicsLayer!.Add(_pointGraphic);
}
else
{
await _graphicsLayer!.Remove(_pointGraphic);
}
}

private void DrawLine()
{
_showLine = !_showLine;

if (_showLine)
{
_graphicsLayer!.Add(_polylineGraphic);
}
else
{
_graphicsLayer!.Remove(_polylineGraphic);
}
}

private void AddPoint()
{
_mapPath.Add(new MapPoint(_mapPath[0][0] + 0.01, _mapPath[0][1] + 0.01));
mapPath.Add(new MapPoint(mapPath[0][0] + 0.01, mapPath[0][1] + 0.01));
}

private void RemovePoint()
{
_mapPath.RemoveAt(_mapPath.Count - 1);
mapPath.RemoveAt(mapPath.Count - 1);
}

private void DrawPolygon()
{
_showPolygon = !_showPolygon;

if (_showPolygon)
{
_graphicsLayer!.Add(_polygonGraphic);
}
else
{
_graphicsLayer!.Remove(_polygonGraphic);
}
}

private void AddPolygonPoint()
{
_mapRings.Add(new MapPoint(_mapRings[0][0] + 0.01, _mapRings[0][1] + 0.01));
mapRings.Add(new MapPoint(mapRings[0][0] + 0.01, mapRings[0][1] + 0.01));
}

private void RemovePolygonPoint()
{
_mapRings.RemoveAt(_mapRings.Count - 1);
mapRings.RemoveAt(mapRings.Count - 1);
}

private async Task GetPoint()
Expand All @@ -222,13 +212,60 @@
_geometry = JsonSerializer.Serialize(geometry);
}

private async Task SetPointLong(ChangeEventArgs args)
{
_pointLong = Convert.ToDouble(args.Value);
await _pointGraphic.SetGeometry(new Point(_pointLong, _pointLat));
}

private async Task SetPointLat(ChangeEventArgs args)
{
_pointLat = Convert.ToDouble(args.Value);
await _pointGraphic.SetGeometry(new Point(_pointLong, _pointLat));
}

private async Task SetLinePath(ChangeEventArgs args, int i, int j)
{
mapPath[i][j] = Convert.ToDouble(args.Value);
await _polylineGraphic.SetGeometry(new PolyLine([mapPath]));
}

private async Task SetRingPath(ChangeEventArgs args, int i, int j)
{
mapRings[i][j] = Convert.ToDouble(args.Value);
await _polygonGraphic.SetGeometry(new Polygon([mapRings]));
}

private bool _showPointSection;
private bool _showLineSection;
private bool _showPolygonSection;
private Graphic? _polygonGraphic;
private Graphic? _pointGraphic;
private Graphic? _polylineGraphic;
private Graphic _polygonGraphic = new(new Polygon([ mapRings ]),
new SimpleFillSymbol(new Outline(new MapColor(255, 255, 255), 1),
new MapColor(81, 46, 132, 0.8)));
private Graphic _pointGraphic = new(new Point(_pointLong, _pointLat),
new SimpleMarkerSymbol(new Outline(new MapColor(255, 255, 255), 1),
new MapColor(81, 46, 132)));
private Graphic _polylineGraphic = new(new PolyLine([mapPath]),
new SimpleLineSymbol(new MapColor("white"), 2));
private GraphicsLayer? _graphicsLayer;
private string? _geometry;
private readonly double _latitude = 34.027;
private readonly double _longitude = -118.805;
private static double _pointLat = 34.027;
private static double _pointLong = -118.805;
private bool _showPoint;
private bool _showLine;
private bool _showPolygon;

private static readonly MapPath mapPath = new(new MapPoint(-118.821527826096, 34.0139576938577),
new MapPoint(-118.814893761649, 34.0080602407843),
new MapPoint(-118.808878330345, 34.0016642996246));

private static readonly MapPath mapRings = new(new MapPoint(-118.818984489994, 34.0137559967283),
new MapPoint(-118.806796597377, 34.0215816298725),
new MapPoint(-118.791432890735, 34.0163883241613),
new MapPoint(-118.79596686535, 34.008564864635),
new MapPoint(-118.808558110679, 34.0035027131376));
private readonly AttributesDictionary _graphicAttributes = new(new Dictionary<string, object>
{
{ "Name", "Sample Polygon" },
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
@page "/many-graphics"

<PageTitle>Many Graphics</PageTitle>
<h1>Many Points</h1>
<h1>Many Graphics</h1>
<div class="links-div">
<a class="btn btn-secondary" target="_blank" href="https://developers.arcgis.com/javascript/latest/api-reference/esri-Graphic.html">ArcGIS API for JavaScript</a>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,6 @@
new("query-related-features", "Query Related Features", "oi-people"),
new("query-top-features", "Query Top Features", "oi-arrow-thick-top"),
new("place-selector", "Place Selector", "oi-arrow-bottom"),
new("routing", "Routing", "oi-transfer"),
new("service-areas", "Service Areas", "oi-comment-square"),
new("calculate-geometries", "Calculate Geometries", "oi-clipboard"),
new("projection", "Display Projection", "oi-sun"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,18 @@
<PackageReference Include="Microsoft.Extensions.FileProviders.Abstractions" Version="8.0.0"/>
</ItemGroup>

<ItemGroup Condition="$(Configuration) == 'DEBUG' OR '$(UsePackageReferences)' != 'true'">
<ProjectReference Include="..\..\src\dymaptic.GeoBlazor.Core\dymaptic.GeoBlazor.Core.csproj"/>
</ItemGroup>
<ItemGroup Condition="$(Configuration) == 'RELEASE' AND '$(UsePackageReferences)' == 'true'">
<PackageReference Include="dymaptic.GeoBlazor.Core" Version="$(CoreVersion)" />
</ItemGroup>
<Choose>
<When Condition="$(Configuration) == 'RELEASE' AND '$(UsePackageReferences)' == 'true'">
<ItemGroup Condition="$(Configuration) == 'RELEASE'">
<PackageReference Include="dymaptic.GeoBlazor.Core" Version="$(CoreVersion)" />
</ItemGroup>
</When>
<Otherwise>
<ItemGroup Condition="$(Configuration) == 'DEBUG' OR '$(UsePackageReferences)' != 'true'">
<ProjectReference Include="..\..\src\dymaptic.GeoBlazor.Core\dymaptic.GeoBlazor.Core.csproj"/>
</ItemGroup>
</Otherwise>
</Choose>

<ItemGroup>
<Content Update="wwwroot\images\dymaptic_logo.png">
Expand Down
Loading