cambios n el horiario del taxibus
arreglado buscador de asti arreglado buscador con la ñ añadido 2 niveles de colores en cuestas añadido 2 niveles de umbrales en la configuracion de alturas
This commit is contained in:
@@ -53,6 +53,8 @@ public partial class PlanificadorRutas : ComponentBase
|
||||
private const double PendienteMaximaEsfuerzoPorcentaje = 80.0;
|
||||
private const double FactorEquilibradoAndarBusPorDefecto = 6.0;
|
||||
private const double UmbralPendienteSubidaRutaPorDefecto = 2.0;
|
||||
private const double UmbralPendienteSubidaMediaRutaPorDefecto = 5.0;
|
||||
private const double UmbralPendienteSubidaFuerteRutaPorDefecto = 10.0;
|
||||
private const double UmbralPendienteBajadaRutaPorDefecto = 5.0;
|
||||
private const double UmbralAlturaAlertaPendienteRutaMetrosPorDefecto = 6.0;
|
||||
private const double MetrosPorPiso = 3.0;
|
||||
@@ -368,6 +370,8 @@ public partial class PlanificadorRutas : ComponentBase
|
||||
private bool _mostrarConfiguracionPendientesRuta = false;
|
||||
private bool _panelRutasMovilContraido = false;
|
||||
private double _umbralPendienteSubidaRuta = UmbralPendienteSubidaRutaPorDefecto;
|
||||
private double _umbralPendienteSubidaMediaRuta = UmbralPendienteSubidaMediaRutaPorDefecto;
|
||||
private double _umbralPendienteSubidaFuerteRuta = UmbralPendienteSubidaFuerteRutaPorDefecto;
|
||||
private double _umbralPendienteBajadaRuta = UmbralPendienteBajadaRutaPorDefecto;
|
||||
private double _umbralAlturaAlertaPendienteRutaMetros = UmbralAlturaAlertaPendienteRutaMetrosPorDefecto;
|
||||
private double _alturaPendientePositivaSignificativaRutaMetros = 0.0;
|
||||
|
||||
@@ -1202,7 +1202,7 @@ public partial class PlanificadorRutas : ComponentBase
|
||||
private bool _elevPopupMinimizado = false;
|
||||
|
||||
|
||||
private const string _versionApp = "(v-20260827b)";
|
||||
private const string _versionApp = "(v-20260828a)";
|
||||
|
||||
|
||||
private double? _paradaElevIdee;
|
||||
|
||||
@@ -49,6 +49,8 @@ public partial class PlanificadorRutas
|
||||
public int? VersionFuenteElevacion { get; set; }
|
||||
public int? VersionPendientes { get; set; }
|
||||
public double? UmbralPendienteSubidaRuta { get; set; }
|
||||
public double? UmbralPendienteSubidaMediaRuta { get; set; }
|
||||
public double? UmbralPendienteSubidaFuerteRuta { get; set; }
|
||||
public double? UmbralPendienteBajadaRuta { get; set; }
|
||||
public double? UmbralAlturaAlertaPendienteRutaMetros { get; set; }
|
||||
// Compatibilidad con configuraciones guardadas cuando el umbral se expresaba en pisos.
|
||||
@@ -167,6 +169,8 @@ public partial class PlanificadorRutas
|
||||
VersionFuenteElevacion = VersionPersistenciaFuenteElevacion,
|
||||
VersionPendientes = VersionPersistenciaPendientes,
|
||||
UmbralPendienteSubidaRuta = _umbralPendienteSubidaRuta,
|
||||
UmbralPendienteSubidaMediaRuta = _umbralPendienteSubidaMediaRuta,
|
||||
UmbralPendienteSubidaFuerteRuta = _umbralPendienteSubidaFuerteRuta,
|
||||
UmbralPendienteBajadaRuta = _umbralPendienteBajadaRuta,
|
||||
UmbralAlturaAlertaPendienteRutaMetros = _umbralAlturaAlertaPendienteRutaMetros,
|
||||
VelocidadPieKmH = _velocidadPieKmH,
|
||||
@@ -262,6 +266,17 @@ public partial class PlanificadorRutas
|
||||
_umbralPendienteSubidaRuta = Math.Abs(umbralSubida - 3.0) < 0.0001
|
||||
? UmbralPendienteSubidaRutaPorDefecto
|
||||
: NormalizarUmbralPendienteRuta(umbralSubida);
|
||||
_umbralPendienteSubidaMediaRuta =
|
||||
config.UmbralPendienteSubidaMediaRuta is { } umbralSubidaMedia &&
|
||||
double.IsFinite(umbralSubidaMedia)
|
||||
? NormalizarUmbralPendienteRuta(umbralSubidaMedia)
|
||||
: UmbralPendienteSubidaMediaRutaPorDefecto;
|
||||
_umbralPendienteSubidaFuerteRuta =
|
||||
config.UmbralPendienteSubidaFuerteRuta is { } umbralSubidaFuerte &&
|
||||
double.IsFinite(umbralSubidaFuerte)
|
||||
? NormalizarUmbralPendienteRuta(umbralSubidaFuerte)
|
||||
: UmbralPendienteSubidaFuerteRutaPorDefecto;
|
||||
NormalizarOrdenUmbralesColorSubidaRuta();
|
||||
if (config.UmbralPendienteBajadaRuta is { } umbralBajada && double.IsFinite(umbralBajada))
|
||||
_umbralPendienteBajadaRuta =
|
||||
Math.Abs(umbralBajada - 3.0) < 0.0001 ||
|
||||
@@ -391,6 +406,8 @@ public partial class PlanificadorRutas
|
||||
_mostrarElevacionesRutaConfiguracion = true;
|
||||
_fuenteElevacionCalculo = FuenteElevacionLocal5;
|
||||
_umbralPendienteSubidaRuta = UmbralPendienteSubidaRutaPorDefecto;
|
||||
_umbralPendienteSubidaMediaRuta = UmbralPendienteSubidaMediaRutaPorDefecto;
|
||||
_umbralPendienteSubidaFuerteRuta = UmbralPendienteSubidaFuerteRutaPorDefecto;
|
||||
_umbralPendienteBajadaRuta = UmbralPendienteBajadaRutaPorDefecto;
|
||||
_umbralAlturaAlertaPendienteRutaMetros = UmbralAlturaAlertaPendienteRutaMetrosPorDefecto;
|
||||
_velocidadPieKmH = 3.6;
|
||||
@@ -444,6 +461,8 @@ public partial class PlanificadorRutas
|
||||
_mostrarElevacionesRutaConfiguracion = true;
|
||||
_fuenteElevacionCalculo = FuenteElevacionLocal5;
|
||||
_umbralPendienteSubidaRuta = UmbralPendienteSubidaRutaPorDefecto;
|
||||
_umbralPendienteSubidaMediaRuta = UmbralPendienteSubidaMediaRutaPorDefecto;
|
||||
_umbralPendienteSubidaFuerteRuta = UmbralPendienteSubidaFuerteRutaPorDefecto;
|
||||
_umbralPendienteBajadaRuta = UmbralPendienteBajadaRutaPorDefecto;
|
||||
_umbralAlturaAlertaPendienteRutaMetros = UmbralAlturaAlertaPendienteRutaMetrosPorDefecto;
|
||||
_velocidadPieKmH = 3.6;
|
||||
|
||||
@@ -106,7 +106,10 @@ public partial class PlanificadorRutas : ComponentBase
|
||||
var nuevo = ParseUmbralPendienteRuta(e.Value, actual);
|
||||
|
||||
if (esSubida)
|
||||
{
|
||||
_umbralPendienteSubidaRuta = nuevo;
|
||||
NormalizarOrdenUmbralesColorSubidaRuta();
|
||||
}
|
||||
else
|
||||
_umbralPendienteBajadaRuta = nuevo;
|
||||
|
||||
@@ -114,6 +117,23 @@ public partial class PlanificadorRutas : ComponentBase
|
||||
StateHasChanged();
|
||||
}
|
||||
|
||||
private async Task CambiarUmbralColorSubidaRutaAsync(ChangeEventArgs e, bool esFuerte)
|
||||
{
|
||||
var actual = esFuerte
|
||||
? _umbralPendienteSubidaFuerteRuta
|
||||
: _umbralPendienteSubidaMediaRuta;
|
||||
var nuevo = ParseUmbralPendienteRuta(e.Value, actual);
|
||||
|
||||
if (esFuerte)
|
||||
_umbralPendienteSubidaFuerteRuta = nuevo;
|
||||
else
|
||||
_umbralPendienteSubidaMediaRuta = nuevo;
|
||||
|
||||
NormalizarOrdenUmbralesColorSubidaRuta();
|
||||
await PersistirConfiguracionAsync();
|
||||
StateHasChanged();
|
||||
}
|
||||
|
||||
private async Task RecalcularRankingTrasCambioEsfuerzoPendienteAsync(bool forzarRepintado = false)
|
||||
{
|
||||
if (_opcionesRuta.Count == 0)
|
||||
@@ -207,6 +227,23 @@ public partial class PlanificadorRutas : ComponentBase
|
||||
? Math.Clamp(Math.Abs(valor), 0.0, 100.0)
|
||||
: UmbralPendienteSubidaRutaPorDefecto;
|
||||
|
||||
private void NormalizarOrdenUmbralesColorSubidaRuta()
|
||||
{
|
||||
var umbralSubida = NormalizarUmbralPendienteRuta(_umbralPendienteSubidaRuta);
|
||||
var umbralMedia = double.IsFinite(_umbralPendienteSubidaMediaRuta)
|
||||
? NormalizarUmbralPendienteRuta(_umbralPendienteSubidaMediaRuta)
|
||||
: UmbralPendienteSubidaMediaRutaPorDefecto;
|
||||
var umbralFuerte = double.IsFinite(_umbralPendienteSubidaFuerteRuta)
|
||||
? NormalizarUmbralPendienteRuta(_umbralPendienteSubidaFuerteRuta)
|
||||
: UmbralPendienteSubidaFuerteRutaPorDefecto;
|
||||
|
||||
_umbralPendienteSubidaMediaRuta = Math.Clamp(umbralMedia, umbralSubida, 100.0);
|
||||
_umbralPendienteSubidaFuerteRuta = Math.Clamp(
|
||||
umbralFuerte,
|
||||
_umbralPendienteSubidaMediaRuta,
|
||||
100.0);
|
||||
}
|
||||
|
||||
private static double ParseUmbralAlturaAlertaPendienteRutaMetros(object? valor, double actual)
|
||||
{
|
||||
var texto = Convert.ToString(valor, CultureInfo.InvariantCulture)?.Replace(',', '.');
|
||||
@@ -426,8 +463,23 @@ public partial class PlanificadorRutas : ComponentBase
|
||||
|
||||
var umbralSubida = NormalizarUmbralPendienteRuta(_umbralPendienteSubidaRuta);
|
||||
var umbralBajada = NormalizarUmbralPendienteRuta(_umbralPendienteBajadaRuta);
|
||||
var umbralSubidaMedia = Math.Clamp(
|
||||
NormalizarUmbralPendienteRuta(_umbralPendienteSubidaMediaRuta),
|
||||
umbralSubida,
|
||||
100.0);
|
||||
var umbralSubidaFuerte = Math.Clamp(
|
||||
NormalizarUmbralPendienteRuta(_umbralPendienteSubidaFuerteRuta),
|
||||
umbralSubidaMedia,
|
||||
100.0);
|
||||
|
||||
if (pendientePorcentaje.Value >= umbralSubidaFuerte)
|
||||
return ("subida-fuerte", "#000000");
|
||||
|
||||
if (pendientePorcentaje.Value >= umbralSubidaMedia)
|
||||
return ("subida-media", "#4c1d95");
|
||||
|
||||
if (pendientePorcentaje.Value >= umbralSubida)
|
||||
return ("subida", "#000000");
|
||||
return ("subida-suave", "#d946ef");
|
||||
|
||||
if (pendientePorcentaje.Value <= -umbralBajada)
|
||||
return ("bajada", "#2563eb");
|
||||
|
||||
@@ -1831,7 +1831,10 @@
|
||||
</label>
|
||||
|
||||
<label class="pendientes-config-modal__field">
|
||||
<span>Umbral Subida (%)</span>
|
||||
<span class="pendientes-config-modal__threshold-label">
|
||||
<span class="pendientes-config-modal__swatch pendientes-config-modal__swatch--suave" aria-hidden="true"></span>
|
||||
Umbral Subida (%)
|
||||
</span>
|
||||
<input type="text"
|
||||
class="config-input"
|
||||
inputmode="decimal"
|
||||
@@ -1840,6 +1843,32 @@
|
||||
@onchange="@(e => CambiarUmbralElevacionRutaAsync(e, true))" />
|
||||
</label>
|
||||
|
||||
<label class="pendientes-config-modal__field">
|
||||
<span class="pendientes-config-modal__threshold-label">
|
||||
<span class="pendientes-config-modal__swatch pendientes-config-modal__swatch--media" aria-hidden="true"></span>
|
||||
Subida Media (%)
|
||||
</span>
|
||||
<input type="text"
|
||||
class="config-input"
|
||||
inputmode="decimal"
|
||||
value="@_umbralPendienteSubidaMediaRuta.ToString("0.#", CultureInfo.InvariantCulture)"
|
||||
disabled="@_pintandoElevacionesRuta"
|
||||
@onchange="@(e => CambiarUmbralColorSubidaRutaAsync(e, false))" />
|
||||
</label>
|
||||
|
||||
<label class="pendientes-config-modal__field">
|
||||
<span class="pendientes-config-modal__threshold-label">
|
||||
<span class="pendientes-config-modal__swatch pendientes-config-modal__swatch--fuerte" aria-hidden="true"></span>
|
||||
Subida Fuerte (%)
|
||||
</span>
|
||||
<input type="text"
|
||||
class="config-input"
|
||||
inputmode="decimal"
|
||||
value="@_umbralPendienteSubidaFuerteRuta.ToString("0.#", CultureInfo.InvariantCulture)"
|
||||
disabled="@_pintandoElevacionesRuta"
|
||||
@onchange="@(e => CambiarUmbralColorSubidaRutaAsync(e, true))" />
|
||||
</label>
|
||||
|
||||
<label class="pendientes-config-modal__field">
|
||||
<span>Umbral Bajada (%)</span>
|
||||
<input type="text"
|
||||
|
||||
Reference in New Issue
Block a user