IW4M-Admin/WebfrontCore/Views/Action/_ActionForm.cshtml

81 lines
3.2 KiB
Plaintext
Raw Normal View History

2022-04-19 19:43:58 -04:00
@using Humanizer
@model WebfrontCore.ViewModels.ActionInfo
@{
Layout = null;
}
2022-04-19 19:43:58 -04:00
<h5 class="modal-title mb-10">@Model.Name.Titleize()</h5>
@if (Model.Inputs.Any(input => input.Type != "hidden"))
2022-04-19 19:43:58 -04:00
{
<hr class="mb-10"/>
}
2019-08-04 18:06:07 -04:00
<form class="action-form @(Model.ShouldRefresh ? "refreshable" : "")" action="/Action/@Model.Action">
@foreach (var input in Model.Inputs)
{
2022-04-19 19:43:58 -04:00
var inputType = input.Type ?? "text";
var value = input.Value ?? "";
if (input.Type != "hidden")
{
2022-04-19 19:43:58 -04:00
<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 (key, item) in input.Values)
{
if (key.StartsWith("!selected!"))
{
<option value="@key.Replace("!selected!", "")" selected>
<color-code value="@item"></color-code>
</option>
}
else
{
<option value="@key">
<color-code value="@item"></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>
}
2022-07-20 11:32:26 -04:00
else if (inputType == "textarea")
{
<textarea name="@input.Name" class="form-control @(input.Required ? "required" : "")" placeholder="@input.Placeholder" aria-label="@input.Name" aria-describedby="basic-addon-@input.Name">@value</textarea>
}
else
{
2022-04-19 19:43:58 -04:00
<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(input => input.Type != "hidden"))
2022-04-19 19:43:58 -04:00
{
<hr class="mb-10"/>
}
<div class="ml-auto">
<button type="submit" class="btn btn-primary">@Model.ActionButtonLabel</button>
2022-07-05 13:02:43 -04:00
<a href="#" class="btn mr-5 ml-5" role="button" onclick="halfmoon.toggleModal('actionModal');">@ViewBag.Localization["WEBFRONT_ACTION_MODAL_BUTTON_CLOSE"]</a>
2022-04-19 19:43:58 -04:00
</div>
</form>