esh/esh.core.web/Pages/Config.cshtml
2019-09-05 11:33:39 +02:00

90 lines
4.3 KiB
Plaintext

@page
@model esh.core.web.Pages.Config
@{
ViewData["Title"] = "Config";
}
@if (Request.Query.ContainsKey("sensor") && Web.Core.Sensors.Any(p => p.Mac == Request.Query["sensor"]))
{
<form action="/Config" method="get">
<input type="hidden" id="action" name="action" value="modify"/>
<input type="hidden" id="sensor" name="sensor" value="@Request.Query["sensor"]"/>
<div class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control" id="name" name="name" placeholder="@Web.Core.Sensors.First(p => p.Mac == Request.Query["sensor"]).SensorType">
<small id="nameHelp" class="form-text text-muted">Enter a friendly name for your sensor.</small>
</div>
<div class="form-group">
<label for="description">Description</label>
<input type="text" class="form-control" id="description" name="description" placeholder="Living Room">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
}
else if (Request.Query.ContainsKey("actor") && Web.Core.Actors.Any(p => p.Mac == Request.Query["actor"]))
{
<form action="/Config" method="get">
<input type="hidden" id="action" name="action" value="modify"/>
<input type="hidden" id="actor" name="actor" value="@Request.Query["actor"]"/>
<div class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control" id="name" name="name" placeholder="@Web.Core.Actors.First(p => p.Mac == Request.Query["actor"]).ActorType">
<small id="nameHelp" class="form-text text-muted">Enter a friendly name for your actor.</small>
</div>
<div class="form-group">
<label for="description">Description</label>
<input type="text" class="form-control" id="description" name="description" placeholder="Living Room">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
}
else if (Request.Query.ContainsKey("trigger"))
{
if (Web.Core.Triggers.Any(p => p.id == Request.Query["trigger"]))
{
//TODO: dependencies
}
else if (Request.Query["trigger"] == "new")
{
<form action="/Config" method="get">
<input type="hidden" id="action" name="action" value="newtrigger"/>
<div class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control" id="name" name="name" placeholder="My shiny new trigger">
<small id="nameHelp" class="form-text text-muted">Enter a friendly name for your new trigger.</small>
</div>
<div class="form-group">
<label for="conditionType">Condition Type</label>
<select class="custom-select" id="conditionType" name="conditionType">
<option value="ValueExact">Exact Value</option>
<option value="ThresholdRisingEdge">Threshold - Rising Edge</option>
<option value="ThresholdFallingEdge">Threshold - Falling Edge</option>
<option value="Time">Time-based [WIP]</option>
</select>
</div>
<div id="ValueDiv">
<div class="form-group">
<label for="source">Source</label>
<select class="custom-select" id="source" name="source">
@foreach (var sensor in Web.Core.Sensors)
{
<option value="@sensor.Mac">@((sensor.CustomName ?? sensor.SensorType) + $" ({sensor.Mac})")</option>
}
</select>
</div>
<div class="form-group">
<label for="conditionValue">Condition Value</label>
<input class="form-control" type="number" id="conditionValue" name="conditionValue"/>
</div>
</div>
<div class="form-group" id="TimeDiv" hidden>
<label for="conditionValue">Time</label>
<input class="form-control" type="number" id="conditionValue" name="conditionValue"/>
</div>
<div class="form-group">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
}
}