Map marker click functionality
This commit is contained in:
parent
65abab97b2
commit
48f6a54c6c
|
@ -188,9 +188,11 @@
|
||||||
|
|
||||||
public async void OnMarkerClick(MapMarkerClickEventArgs args)
|
public async void OnMarkerClick(MapMarkerClickEventArgs args)
|
||||||
{
|
{
|
||||||
|
|
||||||
var dataItem = args.DataItem as MarkerModel;
|
var dataItem = args.DataItem as MarkerModel;
|
||||||
UpdateDrawer();
|
CurrentSelection = dataItem.Title;
|
||||||
await ToggleDrawer();
|
CurrentBlurb = dataItem.Blurb;
|
||||||
|
await ToggleModal();
|
||||||
Console.WriteLine(dataItem.Title);
|
Console.WriteLine(dataItem.Title);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -204,15 +206,15 @@
|
||||||
|
|
||||||
private void InitializeMapMarkers(double[] coords)
|
private void InitializeMapMarkers(double[] coords)
|
||||||
{
|
{
|
||||||
// Server call to load map markers into a list of tuples
|
// Server call to load map markers into a list of tuples
|
||||||
List<(double[], string)> localMarkers = MapDriver.InitializeMarkers(coords);
|
List<(double[], string)> localMarkers = MapDriver.InitializeMarkers(coords);
|
||||||
foreach (var current in localMarkers)
|
foreach (var current in localMarkers)
|
||||||
{
|
{
|
||||||
MapMarkers.Add(new MarkerModel()
|
MapMarkers.Add(new MarkerModel() {
|
||||||
{
|
|
||||||
LatLng = current.Item1,
|
LatLng = current.Item1,
|
||||||
Title = current.Item2
|
Title = current.Item2,
|
||||||
});
|
Blurb = string.Format("This is {0}'s blurb. This will be replaced when a lookup is created.", current.Item2)
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -220,7 +222,9 @@
|
||||||
{
|
{
|
||||||
public double[] LatLng { get; set; } = [42.4649, -83.3684];
|
public double[] LatLng { get; set; } = [42.4649, -83.3684];
|
||||||
public string Title { get; set; } = "";
|
public string Title { get; set; } = "";
|
||||||
|
public string Blurb { get; set; } = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
private class LocationDetails
|
private class LocationDetails
|
||||||
{
|
{
|
||||||
public string ip { get; set; } = "";
|
public string ip { get; set; } = "";
|
||||||
|
@ -280,33 +284,56 @@
|
||||||
</div> <!-- Shop info pane-->
|
</div> <!-- Shop info pane-->
|
||||||
|
|
||||||
<div style="width: 1500px">
|
<div style="width: 1500px">
|
||||||
<TelerikDrawer @ref="@Drawer" Data="Data" MiniMode="false" Mode="@Mode" Position="@Position" Width="600px">
|
<TelerikWindow Modal="true"
|
||||||
<DrawerContent>
|
@bind-Visible="@isVisible"
|
||||||
</DrawerContent>
|
CloseOnOverlayClick="true"
|
||||||
</TelerikDrawer>
|
Width="600px"
|
||||||
|
Height="300px">
|
||||||
|
<WindowTitle>
|
||||||
|
@CurrentSelection
|
||||||
|
</WindowTitle>
|
||||||
|
<WindowContent>
|
||||||
|
@CurrentBlurb
|
||||||
|
<br /><br /><br />
|
||||||
|
<TelerikButton OnClick="@VisitClickHandler" Class="visit-button">
|
||||||
|
Visit Page
|
||||||
|
<style>
|
||||||
|
.visit-button {
|
||||||
|
position: absolute;
|
||||||
|
top: 75%;
|
||||||
|
left: 50%;
|
||||||
|
-ms-transform: translate(-50%, -50%);
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</TelerikButton>
|
||||||
|
</WindowContent>
|
||||||
|
<WindowActions>
|
||||||
|
<WindowAction Name="Close" />
|
||||||
|
</WindowActions>
|
||||||
|
</TelerikWindow>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div> <!-- Shop info drawer C# -->
|
<div> <!-- Shop info drawer C# -->
|
||||||
@code{
|
@code{
|
||||||
public TelerikDrawer<DrawerItem>? Drawer { get; set; }
|
public TelerikPopover? Popover { get; set; }
|
||||||
public DrawerMode Mode { get; set; }
|
public string CurrentSelection { get; set; } = "123412341234onetwothreefour";
|
||||||
public IEnumerable<DrawerItem> Data { get; set; } = new List<DrawerItem>();
|
public string CurrentBlurb { get; set; } = "This is a blurb for a shop. I believe it is rather dastardly.";
|
||||||
public DrawerPosition Position = DrawerPosition.End;
|
public bool isVisible = false;
|
||||||
public class DrawerItem {
|
|
||||||
public string? Text { get; set; }
|
public async Task ToggleModal()
|
||||||
public ISvgIcon? Icon { get; set; }
|
{
|
||||||
public bool Separator { get; set; }
|
if (isVisible)
|
||||||
|
isVisible = false;
|
||||||
|
else
|
||||||
|
isVisible = true;
|
||||||
|
await Task.Delay(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void UpdateDrawer()
|
public void VisitClickHandler() {
|
||||||
{
|
Console.WriteLine("Visiting page" + CurrentSelection);
|
||||||
Data = new List<DrawerItem>
|
|
||||||
{
|
|
||||||
new DrawerItem { Text = "HelloWorld"},
|
|
||||||
new DrawerItem { Text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."},
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
public async Task ToggleDrawer() => await Drawer.ToggleAsync();
|
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue