| @inject ReportRepositoryService ReportRepositoryService | @inject ReportRepositoryService ReportRepositoryService | ||||
| @inject IStringLocalizer<Resources> i18n; | @inject IStringLocalizer<Resources> i18n; | ||||
| @inject Toaster Toaster; | @inject Toaster Toaster; | ||||
| @inject IMatDialogService MatDialogService; | |||||
| @inject ScrollLockRemover ScrollLockRemover; | |||||
| <div class="row px-3 h-100"> | |||||
| <div class="row no-gutters align-items-start w-100" style="padding-top: 1rem;"> | |||||
| <div class="mat-layout-grid w-100"> | |||||
| <div> | |||||
| <MatTable RowClass="ReportRepositoryItem" Items="pendingReports" class="mat-elevation-z5" ShowPaging="false" UseSortHeaderRow="true" | |||||
| OnRowDbClick="OnReportDblClicked" AllowSelection="true"> | |||||
| <MatTableHeader> | |||||
| <th>Id</th> | |||||
| <th>@i18n["Type"]</th> | |||||
| <th>@i18n["Date"]</th> | |||||
| <th>@i18n["Address"]</th> | |||||
| <th>@i18n["Picture"]</th> | |||||
| <th>@i18n["Action"]</th> | |||||
| </MatTableHeader> | |||||
| <MatTableRow> | |||||
| <td style="display:inline-flex"> | |||||
| <div> | |||||
| <MatIconButton Icon="play_circle_filled" OnClick="@(_ => SendReport(context))"></MatIconButton> | |||||
| </div> | |||||
| <div style="padding-top: 0.8rem">@context.ID</div> | |||||
| </td> | |||||
| <td style="@getTypeBackgroundStyle(context.ReportType)">@translateType(context.ReportType)</td> | |||||
| <td style="white-space: nowrap">@ReportRepositoryService.GetCurrentDateTimeFromMillis(context.ID)</td> | |||||
| <td style="white-space: nowrap">@getAddress(context)</td> | |||||
| <td>@getPicture(context)</td> | |||||
| <td> | |||||
| <MatIconButton Icon="delete_forever" OnClick="@(_ => DeleteReport(context))"></MatIconButton> | |||||
| </td> | |||||
| </MatTableRow> | |||||
| </MatTable> | |||||
| </div> | |||||
| </div> | |||||
| <div class="row px-3"> | |||||
| <div class="row no-gutters align-items-start justify-content-center w-100" style="padding-top:1em"> | |||||
| <h2>@i18n["Pending"]</h2> | |||||
| </div> | |||||
| <div class="row no-gutters align-items-start w-100"> | |||||
| <MatTable RowClass="ReportRepositoryItem" Items="pendingReports" class="mat-elevation-z5" ShowPaging="false" UseSortHeaderRow="true" | |||||
| OnRowDbClick="OnReportDblClicked" AllowSelection="true"> | |||||
| <MatTableHeader> | |||||
| <th>Id</th> | |||||
| <th>@i18n["Type"]</th> | |||||
| <th>@i18n["Date"]</th> | |||||
| <th>@i18n["Address"]</th> | |||||
| <th>@i18n["Picture"]</th> | |||||
| <th style="width:2400px">@i18n["Action"]</th> | |||||
| </MatTableHeader> | |||||
| <MatTableRow> | |||||
| <td style="display:inline-flex"> | |||||
| <div> | |||||
| <MatIconButton Icon="play_circle_filled" OnClick="@(_ => SendReport(context))"></MatIconButton> | |||||
| </div> | |||||
| <div style="padding-top: 0.8rem">@context.ID</div> | |||||
| </td> | |||||
| <td style="@getTypeBackgroundStyle(context.ReportType)">@translateType(context.ReportType)</td> | |||||
| <td style="white-space: nowrap">@ReportRepositoryService.GetCurrentDateTimeFromMillis(context.ID)</td> | |||||
| <td style="white-space: nowrap">@getAddress(context)</td> | |||||
| <td>@getPicture(context)</td> | |||||
| <td> | |||||
| <MatIconButton Icon="delete_forever" OnClick="@(_ => DeleteReport(context))"></MatIconButton> | |||||
| </td> | |||||
| </MatTableRow> | |||||
| </MatTable> | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| private string getAddress(ReportRepositoryItem item) { | private string getAddress(ReportRepositoryItem item) { | ||||
| return ReportRepositoryItem.Type.FOUND.Equals(item.ReportType) ? ((FoundReportRepositoryItem)item).Report.GeographicInfo.Address : ""; | |||||
| if (ReportRepositoryItem.Type.FOUND.Equals(item.ReportType)) { | |||||
| GeographicInfo geoInfo = ((FoundReportRepositoryItem)item).Report.GeographicInfo; | |||||
| return geoInfo.Address + ", " + geoInfo.Postcode + " " + geoInfo.Town; | |||||
| } | |||||
| return ""; | |||||
| } | } | ||||
| private string getPicture(ReportRepositoryItem item) { | private string getPicture(ReportRepositoryItem item) { | ||||
| } | } | ||||
| private async void DeleteReport(ReportRepositoryItem item) { | private async void DeleteReport(ReportRepositoryItem item) { | ||||
| try { | |||||
| await ReportRepositoryService.DeleteReport(item); | |||||
| pendingReports.Remove(item); | |||||
| StateHasChanged(); | |||||
| Toaster.ShowSuccess(i18n.GetString("Success.DeleteReport.Title"), i18n.GetString("Success.DeleteReport.Msg", item.ID)); | |||||
| } catch (Exception ex) { | |||||
| Toaster.ShowWarning(i18n.GetString("Error.DeleteReport.Title"), i18n.GetString("Error.DeleteReport.Msg", item.ID)); | |||||
| string yes = i18n.GetString("Yes"); | |||||
| string no = i18n.GetString("No"); | |||||
| string result = await MatDialogService.AskAsync(i18n.GetString("Pending." + item.ReportType + ".Delete"), new string[] { yes, no }); | |||||
| await ScrollLockRemover.removeScrollLockAsync(); | |||||
| if (result.Equals(yes)) { | |||||
| try { | |||||
| await ReportRepositoryService.DeleteReport(item); | |||||
| pendingReports.Remove(item); | |||||
| StateHasChanged(); | |||||
| Toaster.ShowSuccess(i18n.GetString("Success.DeleteReport.Title"), i18n.GetString("Success.DeleteReport.Msg", item.ID)); | |||||
| } catch (Exception ex) { | |||||
| Toaster.ShowWarning(i18n.GetString("Error.DeleteReport.Title"), i18n.GetString("Error.DeleteReport.Msg", item.ID)); | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| builder.Services.AddSingleton<PageHistoryManager>(); | builder.Services.AddSingleton<PageHistoryManager>(); | ||||
| builder.Services.AddSingleton<ReportDataProvider>(); | builder.Services.AddSingleton<ReportDataProvider>(); | ||||
| builder.Services.AddSingleton<OnlineStatusProvider>(); | builder.Services.AddSingleton<OnlineStatusProvider>(); | ||||
| builder.Services.AddSingleton<ScrollLockRemover>(); | |||||
| builder.Services.AddScoped<ReportRepositoryService>(); | builder.Services.AddScoped<ReportRepositoryService>(); | ||||
| builder.Services.AddScoped<Toaster>(); | builder.Services.AddScoped<Toaster>(); | ||||
| builder.Services.AddScoped<UserDataProvider>(); | builder.Services.AddScoped<UserDataProvider>(); |
| </div> | </div> | ||||
| </div> | </div> | ||||
| <MatToastContainer /> | <MatToastContainer /> | ||||
| <MatPortalHost /> | |||||
| namespace cwebplusApp.Shared.Models { | |||||
| using System; | |||||
| namespace cwebplusApp.Shared.Models { | |||||
| public class BicycleGeoPosition { | public class BicycleGeoPosition { | ||||
| private string displayCity; | |||||
| public double Latitude { get; set; } | public double Latitude { get; set; } | ||||
| public double Longitude { get; set; } | public double Longitude { get; set; } | ||||
| public string Address { get; set; } | public string Address { get; set; } | ||||
| public string City { get; set; } | public string City { get; set; } | ||||
| public string Zip { get; set; } | public string Zip { get; set; } | ||||
| public string DisplayCity { get; set; } | |||||
| public string DisplayCity { | |||||
| get { return displayCity; } | |||||
| set { | |||||
| displayCity = value; | |||||
| decodeDisplayCity(value); | |||||
| } | |||||
| } | |||||
| public BicycleGeoPosition() { | public BicycleGeoPosition() { | ||||
| Latitude = 0.0; | Latitude = 0.0; | ||||
| City = ""; | City = ""; | ||||
| DisplayCity = ""; | DisplayCity = ""; | ||||
| } | } | ||||
| private void decodeDisplayCity(string displayCity) { | |||||
| if (!String.IsNullOrEmpty(displayCity)) { | |||||
| char[] delimiterChars = { '-', ' ' }; | |||||
| string[] tokens = displayCity.Split(delimiterChars); | |||||
| if (tokens.Length == 3) { | |||||
| Zip = tokens[1]; | |||||
| City = tokens[2]; | |||||
| } else if (tokens.Length == 2) { | |||||
| Zip = tokens[0]; | |||||
| City = tokens[1]; | |||||
| } | |||||
| } | |||||
| } | |||||
| } | } | ||||
| } | } |
| using System; | |||||
| using System.Collections.Generic; | |||||
| using System.Linq; | |||||
| using System.Threading.Tasks; | |||||
| namespace cwebplusApp.Shared.Models { | |||||
| namespace cwebplusApp.Shared.Models { | |||||
| public class SearchService { | public class SearchService { | ||||
| public int Id { get; set; } | public int Id { get; set; } |
| <MatListItemText Style="padding-left:0.5em">@i18n["account"]</MatListItemText> | <MatListItemText Style="padding-left:0.5em">@i18n["account"]</MatListItemText> | ||||
| </MatListItem> | </MatListItem> | ||||
| </MatRipple> | </MatRipple> | ||||
| <MatNavMenu @ref="extrasNavMenu"> | |||||
| <MatNavSubMenu @bind-Expanded="@navSubMenuOpen"> | |||||
| <MatNavSubMenuHeader Title=@i18n["Extras"]> | |||||
| <MatNavItem AllowSelection="false"> | |||||
| <MatIcon Icon="@MatIconNames.View_quilt" /> @i18n["Extras"] | |||||
| </MatNavItem> | |||||
| </MatNavSubMenuHeader> | |||||
| <MatNavSubMenuList> | |||||
| <MatNavSubMenu> | |||||
| <MatNavSubMenuHeader> | |||||
| <MatNavItem AllowSelection="false"> | |||||
| <MatIcon Icon="@MatIconNames.Directions_bike" /> @i18n["fundvelo/lost_found"] | |||||
| </MatNavItem> | |||||
| </MatNavSubMenuHeader> | |||||
| <MatNavSubMenuList> | |||||
| <MatNavItem Href="fundvelo/history_found" AllowSelection="true" Class="@((Index == 3)? "selected": "")" @onclick="@((e) => ButtonClicked(3))"> | |||||
| <MatIcon Icon="@MatIconNames.History" /> @i18n["HistoryFound"] | |||||
| </MatNavItem> | |||||
| <MatNavItem Href="fundvelo/history_missing" AllowSelection="true" Class="@((Index == 4)? "selected": "")" @onclick="@((e) => ButtonClicked(4))"> | |||||
| <MatIcon Icon="@MatIconNames.History" /> @i18n["HistoryMissing"] | |||||
| </MatNavItem> | |||||
| </MatNavSubMenuList> | |||||
| </MatNavSubMenu> | |||||
| </MatNavSubMenuList> | |||||
| </MatNavSubMenu> | |||||
| </MatNavMenu> | |||||
| <MatRipple Class="navmenu-mat-ripple" Color="@MatRippleColor.Default"> | <MatRipple Class="navmenu-mat-ripple" Color="@MatRippleColor.Default"> | ||||
| <MatListItem Class="@((Index == 3) ? "bg-primary-color text-white" : "")" Style="margin-left:0;margin-right:0" | |||||
| Disabled="true" | |||||
| Href="extras" | |||||
| @onclick="@((e) => ButtonClicked(3))"> | |||||
| <MatIcon Icon="@MatIconNames.View_quilt"></MatIcon> | |||||
| <MatListItemText Style="padding-left:0.5em">@i18n["Extras"]</MatListItemText> | |||||
| </MatListItem> | |||||
| </MatRipple> | |||||
| <MatRipple Class="navmenu-mat-ripple" Color="@MatRippleColor.Default"> | |||||
| <MatListItem Class="@((Index == 4) ? "bg-primary-color text-white" : "")" Style="margin-left:0;margin-right:0" | |||||
| <MatListItem Class="@((Index == 5) ? "bg-primary-color text-white" : "")" Style="margin-left:0;margin-right:0" | |||||
| Href="info" | Href="info" | ||||
| @onclick="@((e) => ButtonClicked(4))"> | |||||
| @onclick="@((e) => ButtonClicked(5))"> | |||||
| <MatIcon Icon="@MatIconNames.Error_outline" Style="transform: rotate(180deg)"></MatIcon> | <MatIcon Icon="@MatIconNames.Error_outline" Style="transform: rotate(180deg)"></MatIcon> | ||||
| <MatListItemText Style="padding-left:0.5em">@i18n["info"]</MatListItemText> | <MatListItemText Style="padding-left:0.5em">@i18n["info"]</MatListItemText> | ||||
| </MatListItem> | </MatListItem> | ||||
| @code { | @code { | ||||
| private MatNavMenu extrasNavMenu; | |||||
| private bool navSubMenuOpen = false; | |||||
| private bool Opened = false; | private bool Opened = false; | ||||
| private static int Index = 1; | |||||
| private int Index = 1; | |||||
| private string locUrl; | private string locUrl; | ||||
| private string LocationUrl { | private string LocationUrl { | ||||
| private void ButtonClicked(int _Index) { | private void ButtonClicked(int _Index) { | ||||
| Index = _Index; | Index = _Index; | ||||
| navSubMenuOpen = (Index == 3 || Index == 4); | |||||
| StateHasChanged(); | |||||
| ButtonClicked(); | ButtonClicked(); | ||||
| } | } | ||||
| Index = 1; | Index = 1; | ||||
| } else if (e.Location.Contains("account")) { | } else if (e.Location.Contains("account")) { | ||||
| Index = 2; | Index = 2; | ||||
| } else if (e.Location.Contains("extras")) { | |||||
| } else if (e.Location.Contains("history_found")) { | |||||
| Index = 3; | Index = 3; | ||||
| } else if (e.Location.Contains("info")) { | |||||
| } else if (e.Location.Contains("history_missing")) { | |||||
| Index = 4; | Index = 4; | ||||
| } else if (e.Location.Contains("info")) { | |||||
| Index = 5; | |||||
| } else { | } else { | ||||
| Index = 0; | Index = 0; | ||||
| } | } | ||||
| Index = 1; | Index = 1; | ||||
| } else if (delta.Equals("account")) { | } else if (delta.Equals("account")) { | ||||
| Index = 2; | Index = 2; | ||||
| } else if (delta.Equals("extras")) { | |||||
| } else if (delta.Equals("fundvelo/history_found")) { | |||||
| Index = 3; | Index = 3; | ||||
| } else if (delta.Equals("info")) { | |||||
| } else if (delta.Equals("fundvelo/history_missing")) { | |||||
| Index = 4; | Index = 4; | ||||
| } else if (delta.Equals("info")) { | |||||
| Index = 5; | |||||
| } else { | } else { | ||||
| Index = 0; | Index = 0; | ||||
| } | } |
| <data name="fundvelo/conclusion_missing" xml:space="preserve"> | <data name="fundvelo/conclusion_missing" xml:space="preserve"> | ||||
| <value>Fundvelo > Vermisst > Bestätigung</value> | <value>Fundvelo > Vermisst > Bestätigung</value> | ||||
| </data> | </data> | ||||
| <data name="fundvelo/history_found" xml:space="preserve"> | |||||
| <value>Fundvelo > Historie Fundmeldungen</value> | |||||
| </data> | |||||
| <data name="fundvelo/history_missing" xml:space="preserve"> | |||||
| <value>Fundvelo > Historie Suchaufträge</value> | |||||
| </data> | |||||
| <data name="fundvelo/keydata/Found" xml:space="preserve"> | <data name="fundvelo/keydata/Found" xml:space="preserve"> | ||||
| <value>Fundvelo > Gefunden > Daten</value> | <value>Fundvelo > Gefunden > Daten</value> | ||||
| </data> | </data> | ||||
| <data name="fundvelo/pending_overview" xml:space="preserve"> | <data name="fundvelo/pending_overview" xml:space="preserve"> | ||||
| <value>Fundvelo > Übersicht Pendente</value> | <value>Fundvelo > Übersicht Pendente</value> | ||||
| </data> | </data> | ||||
| <data name="History.DELETE" xml:space="preserve"> | |||||
| <value>Wollen Sie die Historie wirklich löschen?</value> | |||||
| </data> | |||||
| <data name="HistoryFound" xml:space="preserve"> | |||||
| <value>Historie Fundmeldungen</value> | |||||
| </data> | |||||
| <data name="HistoryMissing" xml:space="preserve"> | |||||
| <value>Historie Suchaufträge</value> | |||||
| </data> | |||||
| <data name="info" xml:space="preserve"> | <data name="info" xml:space="preserve"> | ||||
| <value>Info</value> | <value>Info</value> | ||||
| </data> | </data> | ||||
| <data name="Mobile" xml:space="preserve"> | <data name="Mobile" xml:space="preserve"> | ||||
| <value>Mobile</value> | <value>Mobile</value> | ||||
| </data> | </data> | ||||
| <data name="No" xml:space="preserve"> | |||||
| <value>Nein</value> | |||||
| </data> | |||||
| <data name="Password" xml:space="preserve"> | <data name="Password" xml:space="preserve"> | ||||
| <value>Passwort</value> | <value>Passwort</value> | ||||
| </data> | </data> | ||||
| <data name="Pending" xml:space="preserve"> | |||||
| <value>Pendente</value> | |||||
| </data> | |||||
| <data name="Pending.FOUND.Delete" xml:space="preserve"> | |||||
| <value>Wollen Sie die Fundmeldung wirklich löschen?</value> | |||||
| </data> | |||||
| <data name="Pending.MISSING.Delete" xml:space="preserve"> | |||||
| <value>Wollen Sie den Suchauftrag wirklich löschen?</value> | |||||
| </data> | |||||
| <data name="Phone" xml:space="preserve"> | <data name="Phone" xml:space="preserve"> | ||||
| <value>Telefon</value> | <value>Telefon</value> | ||||
| </data> | </data> | ||||
| <data name="Welcome" xml:space="preserve"> | <data name="Welcome" xml:space="preserve"> | ||||
| <value>Willkommen bei Caritas!</value> | <value>Willkommen bei Caritas!</value> | ||||
| </data> | </data> | ||||
| <data name="Yes" xml:space="preserve"> | |||||
| <value>Ja</value> | |||||
| </data> | |||||
| <data name="Zip" xml:space="preserve"> | <data name="Zip" xml:space="preserve"> | ||||
| <value>PLZ</value> | <value>PLZ</value> | ||||
| </data> | </data> |
| <data name="fundvelo/conclusion_missing" xml:space="preserve"> | <data name="fundvelo/conclusion_missing" xml:space="preserve"> | ||||
| <value>Velo >Perdue > Data trouver</value> | <value>Velo >Perdue > Data trouver</value> | ||||
| </data> | </data> | ||||
| <data name="fundvelo/history_found" xml:space="preserve"> | |||||
| <value>Velo > Histoire des Rapport de découverte</value> | |||||
| </data> | |||||
| <data name="fundvelo/history_missing" xml:space="preserve"> | |||||
| <value>Velo > Historie des Rapport de disparition</value> | |||||
| </data> | |||||
| <data name="fundvelo/keydata/Found" xml:space="preserve"> | <data name="fundvelo/keydata/Found" xml:space="preserve"> | ||||
| <value>Velo >Trouvé > Data</value> | <value>Velo >Trouvé > Data</value> | ||||
| </data> | </data> | ||||
| <data name="fundvelo/pending_overview" xml:space="preserve"> | <data name="fundvelo/pending_overview" xml:space="preserve"> | ||||
| <value>Velo > Raportes en attente</value> | <value>Velo > Raportes en attente</value> | ||||
| </data> | </data> | ||||
| <data name="History.DELETE" xml:space="preserve"> | |||||
| <value>Voulez-vous vraiment supprimer l'historique?</value> | |||||
| </data> | |||||
| <data name="HistoryFound" xml:space="preserve"> | |||||
| <value>Histoire des Rapport de découverte</value> | |||||
| </data> | |||||
| <data name="HistoryMissing" xml:space="preserve"> | |||||
| <value>Historie des Rapport de disparition</value> | |||||
| </data> | |||||
| <data name="info" xml:space="preserve"> | <data name="info" xml:space="preserve"> | ||||
| <value>Information</value> | <value>Information</value> | ||||
| </data> | </data> | ||||
| <data name="Mobile" xml:space="preserve"> | <data name="Mobile" xml:space="preserve"> | ||||
| <value>Mobile</value> | <value>Mobile</value> | ||||
| </data> | </data> | ||||
| <data name="No" xml:space="preserve"> | |||||
| <value>Non</value> | |||||
| </data> | |||||
| <data name="Password" xml:space="preserve"> | <data name="Password" xml:space="preserve"> | ||||
| <value>Mot de passe</value> | <value>Mot de passe</value> | ||||
| </data> | </data> | ||||
| <data name="Pending" xml:space="preserve"> | |||||
| <value>Attente</value> | |||||
| </data> | |||||
| <data name="Pending.FOUND.Delete" xml:space="preserve"> | |||||
| <value>Voulez-vous vraiment supprimer le rapport de découverte?</value> | |||||
| </data> | |||||
| <data name="Pending.MISSING.Delete" xml:space="preserve"> | |||||
| <value>Voulez-vous vraiment supprimer le rapport de disparition?</value> | |||||
| </data> | |||||
| <data name="Phone" xml:space="preserve"> | <data name="Phone" xml:space="preserve"> | ||||
| <value>Téléphone</value> | <value>Téléphone</value> | ||||
| </data> | </data> | ||||
| <data name="Welcome" xml:space="preserve"> | <data name="Welcome" xml:space="preserve"> | ||||
| <value>Bienvenue chez Caritas!</value> | <value>Bienvenue chez Caritas!</value> | ||||
| </data> | </data> | ||||
| <data name="Yes" xml:space="preserve"> | |||||
| <value>Oui</value> | |||||
| </data> | |||||
| <data name="Zip" xml:space="preserve"> | <data name="Zip" xml:space="preserve"> | ||||
| <value>Code postal</value> | <value>Code postal</value> | ||||
| </data> | </data> |
| <data name="fundvelo/conclusion_missing" xml:space="preserve"> | <data name="fundvelo/conclusion_missing" xml:space="preserve"> | ||||
| <value>Bicicletta > Perduta > Conferma</value> | <value>Bicicletta > Perduta > Conferma</value> | ||||
| </data> | </data> | ||||
| <data name="fundvelo/history_found" xml:space="preserve"> | |||||
| <value>Bicicletta > Cronologia Raporti Ritrovamento</value> | |||||
| </data> | |||||
| <data name="fundvelo/history_missing" xml:space="preserve"> | |||||
| <value>Bicicletta > Cronologia Raporti perdita</value> | |||||
| </data> | |||||
| <data name="fundvelo/keydata/Found" xml:space="preserve"> | <data name="fundvelo/keydata/Found" xml:space="preserve"> | ||||
| <value>Bicicletta > Trovata > Dati</value> | <value>Bicicletta > Trovata > Dati</value> | ||||
| </data> | </data> | ||||
| <data name="fundvelo/pending_overview" xml:space="preserve"> | <data name="fundvelo/pending_overview" xml:space="preserve"> | ||||
| <value>Bicicletta > Raporti in attesa</value> | <value>Bicicletta > Raporti in attesa</value> | ||||
| </data> | </data> | ||||
| <data name="History.DELETE" xml:space="preserve"> | |||||
| <value>É sicuro di volere cancellare la cronologia?</value> | |||||
| </data> | |||||
| <data name="HistoryFound" xml:space="preserve"> | |||||
| <value>Cronologia Raporti Ritrovamento</value> | |||||
| </data> | |||||
| <data name="HistoryMissing" xml:space="preserve"> | |||||
| <value>Cronologia Raporti perdita</value> | |||||
| </data> | |||||
| <data name="info" xml:space="preserve"> | <data name="info" xml:space="preserve"> | ||||
| <value>Informazione</value> | <value>Informazione</value> | ||||
| </data> | </data> | ||||
| <data name="Mobile" xml:space="preserve"> | <data name="Mobile" xml:space="preserve"> | ||||
| <value>Cellulare</value> | <value>Cellulare</value> | ||||
| </data> | </data> | ||||
| <data name="No" xml:space="preserve"> | |||||
| <value>No</value> | |||||
| </data> | |||||
| <data name="Password" xml:space="preserve"> | <data name="Password" xml:space="preserve"> | ||||
| <value>Password</value> | <value>Password</value> | ||||
| </data> | </data> | ||||
| <data name="Pending" xml:space="preserve"> | |||||
| <value>In Attesa</value> | |||||
| </data> | |||||
| <data name="Pending.FOUND.Delete" xml:space="preserve"> | |||||
| <value>É sicuro di volere cancellare il rapporto di ritrovamento?</value> | |||||
| </data> | |||||
| <data name="Pending.MISSING.Delete" xml:space="preserve"> | |||||
| <value>É sicuro di volere cancellare il rapporto di perdita</value> | |||||
| </data> | |||||
| <data name="Phone" xml:space="preserve"> | <data name="Phone" xml:space="preserve"> | ||||
| <value>Telefono</value> | <value>Telefono</value> | ||||
| </data> | </data> | ||||
| <data name="Welcome" xml:space="preserve"> | <data name="Welcome" xml:space="preserve"> | ||||
| <value>Benvenuti alla Caritas!</value> | <value>Benvenuti alla Caritas!</value> | ||||
| </data> | </data> | ||||
| <data name="Yes" xml:space="preserve"> | |||||
| <value>Si</value> | |||||
| </data> | |||||
| <data name="Zip" xml:space="preserve"> | <data name="Zip" xml:space="preserve"> | ||||
| <value>CAP</value> | <value>CAP</value> | ||||
| </data> | </data> |
| <data name="fundvelo/conclusion_missing" xml:space="preserve"> | <data name="fundvelo/conclusion_missing" xml:space="preserve"> | ||||
| <value>Bicycle > Missing > Confirmation</value> | <value>Bicycle > Missing > Confirmation</value> | ||||
| </data> | </data> | ||||
| <data name="fundvelo/history_found" xml:space="preserve"> | |||||
| <value>Bicycle > History Found Reports</value> | |||||
| </data> | |||||
| <data name="fundvelo/history_missing" xml:space="preserve"> | |||||
| <value>Bicycle > History Missing Reports</value> | |||||
| </data> | |||||
| <data name="fundvelo/keydata/Found" xml:space="preserve"> | <data name="fundvelo/keydata/Found" xml:space="preserve"> | ||||
| <value>Bicycle > Found >Data</value> | <value>Bicycle > Found >Data</value> | ||||
| </data> | </data> | ||||
| <data name="fundvelo/pending_overview" xml:space="preserve"> | <data name="fundvelo/pending_overview" xml:space="preserve"> | ||||
| <value>Bicycle > Overview Pendigs</value> | <value>Bicycle > Overview Pendigs</value> | ||||
| </data> | </data> | ||||
| <data name="History.DELETE" xml:space="preserve"> | |||||
| <value>Do you really want to delete the history?</value> | |||||
| </data> | |||||
| <data name="HistoryFound" xml:space="preserve"> | |||||
| <value>History Found Reports</value> | |||||
| </data> | |||||
| <data name="HistoryMissing" xml:space="preserve"> | |||||
| <value>History Missing Reports</value> | |||||
| </data> | |||||
| <data name="info" xml:space="preserve"> | <data name="info" xml:space="preserve"> | ||||
| <value>Info</value> | <value>Info</value> | ||||
| </data> | </data> | ||||
| <data name="Mobile" xml:space="preserve"> | <data name="Mobile" xml:space="preserve"> | ||||
| <value>Mobile</value> | <value>Mobile</value> | ||||
| </data> | </data> | ||||
| <data name="No" xml:space="preserve"> | |||||
| <value>No</value> | |||||
| </data> | |||||
| <data name="Password" xml:space="preserve"> | <data name="Password" xml:space="preserve"> | ||||
| <value>Password</value> | <value>Password</value> | ||||
| </data> | </data> | ||||
| <data name="Pending" xml:space="preserve"> | |||||
| <value>Pending</value> | |||||
| </data> | |||||
| <data name="Pending.FOUND.Delete" xml:space="preserve"> | |||||
| <value>Do you really want to delete the found report?</value> | |||||
| </data> | |||||
| <data name="Pending.MISSING.Delete" xml:space="preserve"> | |||||
| <value>Do you really want to delete the missing report?</value> | |||||
| </data> | |||||
| <data name="Phone" xml:space="preserve"> | <data name="Phone" xml:space="preserve"> | ||||
| <value>Phone</value> | <value>Phone</value> | ||||
| </data> | </data> | ||||
| <data name="Welcome" xml:space="preserve"> | <data name="Welcome" xml:space="preserve"> | ||||
| <value>Welcome to Caritas!</value> | <value>Welcome to Caritas!</value> | ||||
| </data> | </data> | ||||
| <data name="Yes" xml:space="preserve"> | |||||
| <value>Yes</value> | |||||
| </data> | |||||
| <data name="Zip" xml:space="preserve"> | <data name="Zip" xml:space="preserve"> | ||||
| <value>Zip</value> | <value>Zip</value> | ||||
| </data> | </data> |
| _brands = Defaults.GetBrandDefaults(_i18n).ToArray(); | _brands = Defaults.GetBrandDefaults(_i18n).ToArray(); | ||||
| _colors = Defaults.GetColorDefaults(_i18n).ToArray(); | _colors = Defaults.GetColorDefaults(_i18n).ToArray(); | ||||
| _bicycleTypes = Defaults.GetBicycleTypeDefaults(_i18n).ToArray(); | _bicycleTypes = Defaults.GetBicycleTypeDefaults(_i18n).ToArray(); | ||||
| _searchServices= Defaults.GetSearchServiceDefaults(_i18n).ToArray(); | |||||
| _searchServices = Defaults.GetSearchServiceDefaults(_i18n).ToArray(); | |||||
| } | } | ||||
| public async Task SynchronizeMasterdata() { | public async Task SynchronizeMasterdata() { |
| position: absolute; | position: absolute; | ||||
| z-index: 3; | z-index: 3; | ||||
| transform: translate(-24px, -8px) | transform: translate(-24px, -8px) | ||||
| } | |||||
| .mdc-nav-item.selected { | |||||
| background-color: var(--primary); | |||||
| color: #fff !important; | |||||
| } | } |
| window.addEventListener("online", onlineStatusHandler); | window.addEventListener("online", onlineStatusHandler); | ||||
| window.addEventListener("offline", onlineStatusHandler); | window.addEventListener("offline", onlineStatusHandler); | ||||
| } | } | ||||
| function RemoveScrollLock(dotNetObjRef) { | |||||
| document.querySelector("body.mdc-dialog-scroll-lock")?.classList.remove("mdc-dialog-scroll-lock"); | |||||
| } | |||||
| </script> | </script> | ||||
| <script src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js" | <script src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js" |
| "display": "standalone", | "display": "standalone", | ||||
| "background_color": "#ffffff", | "background_color": "#ffffff", | ||||
| "theme_color": "#ffffff", | "theme_color": "#ffffff", | ||||
| "orientation": "portrait-primary", | |||||
| "orientation": "any", | |||||
| "icons": [ | "icons": [ | ||||
| { | { | ||||
| "src": "icons/icon-48.png", | "src": "icons/icon-48.png", |
| '/keydata/Missing', | '/keydata/Missing', | ||||
| '/conclusion_found', | '/conclusion_found', | ||||
| '/conclusion_missing', | '/conclusion_missing', | ||||
| '/pending_overview', | |||||
| '/history_found', | |||||
| '/history_missing', | |||||
| '/doneimage', | '/doneimage', | ||||
| '/failureimage', | '/failureimage', | ||||
| '/warningimage', | '/warningimage', |