67 lines
2.3 KiB
Plaintext
67 lines
2.3 KiB
Plaintext
@using Humanizer
|
|
@model WebfrontCore.ViewModels.ActionInfo
|
|
@{
|
|
Layout = null;
|
|
}
|
|
<h5 class="modal-title mb-10">@Model.Name.Titleize()</h5>
|
|
@if (Model.Inputs.Any())
|
|
{
|
|
<hr class="mb-10"/>
|
|
}
|
|
<form class="action-form @(Model.ShouldRefresh ? "refreshable" : "")" action="/Action/@Model.Action">
|
|
@foreach (var input in Model.Inputs)
|
|
{
|
|
var inputType = input.Type ?? "text";
|
|
var value = input.Value ?? "";
|
|
|
|
if (input.Type != "hidden")
|
|
{
|
|
<div class="input-group mb-10">
|
|
|
|
<div class="input-group-prepend">
|
|
<span class="input-group-text" id="basic-addon-@input.Name">@input.Label</span>
|
|
</div>
|
|
|
|
@if (inputType == "select")
|
|
{
|
|
<select name="@input.Name" class="form-control" aria-label="@input.Name" aria-describedby="basic-addon-@input.Name">
|
|
@foreach (var item in input.Values)
|
|
{
|
|
<option value="@item.Key">
|
|
<color-code value="@item.Value"></color-code>
|
|
</option>
|
|
}
|
|
</select>
|
|
}
|
|
|
|
else if (inputType == "checkbox")
|
|
{
|
|
<div class="btn-group-toggle" data-toggle="buttons">
|
|
<label class="btn btn-primary active">
|
|
<input type="checkbox" name="@input.Name" @(input.Checked ? "checked" : "") autocomplete="off">@input.Label
|
|
</label>
|
|
</div>
|
|
}
|
|
|
|
else
|
|
{
|
|
<input type="@inputType" name="@input.Name" value="@value" class="form-control @(input.Required ? "required" : "")" placeholder="@input.Placeholder" aria-label="@input.Name" aria-describedby="basic-addon-@input.Name">
|
|
}
|
|
|
|
</div>
|
|
}
|
|
else
|
|
{
|
|
<input type="@inputType" name="@input.Name" value="@value" hidden="hidden">
|
|
}
|
|
}
|
|
@if (Model.Inputs.Any())
|
|
{
|
|
<hr class="mb-10"/>
|
|
}
|
|
<div class="ml-auto">
|
|
<button type="submit" class="btn btn-primary">@Model.ActionButtonLabel</button>
|
|
<a href="#" class="btn mr-5" role="button">Close</a>
|
|
</div>
|
|
</form>
|