mirror of
https://github.com/RaidMax/IW4M-Admin.git
synced 2025-06-10 15:20:48 -05:00
make the version name match the actual name for FTP deployment
fix rare issue with summing session scores copy font to expected wwwroot dir in debug mode so we get pretty icons when developing upgrade some packages pretty much reworked the entire server web config to support better validation and stuff.. not really a small fix finish web configuration changes (I think) finish up configuration changes and update shared library nuget
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
@using SharedLibraryCore.Configuration.Attributes
|
||||
@using SharedLibraryCore.Configuration;
|
||||
@model SharedLibraryCore.Configuration.ApplicationConfiguration
|
||||
|
||||
@{
|
||||
@ -39,7 +40,7 @@
|
||||
<div class="col-12 text-white-50 ">
|
||||
<h3 class="text-white">@ViewData["Title"]</h3>
|
||||
<h5 class="mb-4">@noticeText</h5>
|
||||
<form method="post">
|
||||
<form id="configurationForm" asp-controller="Configuration" asp-action="Save" method="post">
|
||||
@foreach (var property in properties)
|
||||
{
|
||||
if (shouldIgnore(property))
|
||||
@ -49,22 +50,36 @@
|
||||
|
||||
string[] linkedPropertyNames = getLinkedPropertyName(property);
|
||||
|
||||
if (property.PropertyType.Name == typeof(System.Boolean).Name)
|
||||
// bool type
|
||||
if (property.PropertyType == typeof(bool))
|
||||
{
|
||||
<div class="form-group form-check bg-primary mb-0 pl-3 pr-3 p-2">
|
||||
@Html.Editor(property.Name, linkedPropertyNames.Length > 0 ? new { htmlAttributes = new { @class= "has-related-content mb-0", data_related_content = string.Join(',', linkedPropertyNames.Select(_id => $"#{_id}_content")) } } : null)
|
||||
@Html.Editor(property.Name, linkedPropertyNames.Length > 0 ? new { htmlAttributes = new { @class = "has-related-content mb-0", data_related_content = string.Join(',', linkedPropertyNames.Select(_id => $"#{_id}_content")) } } : null)
|
||||
@Html.Label(property.Name, null, new { @class = "form-check-label ml-1" })
|
||||
</div>
|
||||
}
|
||||
|
||||
else if (property.PropertyType.Name.Contains("List"))
|
||||
// array type
|
||||
else if (property.PropertyType.IsArray)
|
||||
{
|
||||
if (hasLinkedParent(property))
|
||||
// special type for server config, I don't like this but for now it's ok
|
||||
@if (property.PropertyType.GetElementType() == typeof(ServerConfiguration))
|
||||
{
|
||||
<div id="@($"{property.Name}_content")" class="pl-3 pr-3 pt-2 pb-3 bg-dark">
|
||||
@for (int i = 0; i < Model.Servers.Length; i++)
|
||||
{
|
||||
@Html.EditorFor(model => model.Servers[i]);
|
||||
}
|
||||
<a asp-controller="Configuration" asp-action="GetNewListItem" asp-route-propertyName="@property.Name" class="btn btn-primary configuration-server-add-new">@addServerText</a>
|
||||
</div>
|
||||
}
|
||||
|
||||
else if (hasLinkedParent(property))
|
||||
{
|
||||
<div id="@($"{property.Name}_content")" class="@(linkedPropertyNames.Length == 0 ? "hide" : "hide") bg-dark pl-3 pr-3 pb-2">
|
||||
@if (linkedPropertyNames.Length == 0)
|
||||
{
|
||||
@Html.Label(property.Name, null, new { @class = "mt-2" })
|
||||
@Html.Label(property.Name, null, new { @class = "mt-2 d-block" })
|
||||
}
|
||||
@Html.Editor(property.Name, new { htmlAttributes = new { @class = $"form-group form-control bg-dark text-white-50 {(linkedPropertyNames.Length == 0 ? "mb-3" : "mb-0")}" } })
|
||||
<a asp-controller="Configuration" asp-action="GetNewListItem" asp-route-propertyName="@property.Name" class="btn btn-primary configuration-add-new">@addText</a>
|
||||
@ -76,14 +91,7 @@
|
||||
@Html.Label(property.Name, null, new { @class = "bg-primary pl-3 pr-3 p-2 mb-0 w-100" })
|
||||
<div id="@($"{property.Name}_content")" class="pl-3 pr-3 pt-2 pb-3 bg-dark">
|
||||
@Html.Editor(property.Name, new { htmlAttributes = new { @class = "form-control bg-dark text-white-50 mt-3 mb-3", placeholder = isOptional(property) ? optionalText : "" } })
|
||||
@if (property.PropertyType.GenericTypeArguments[0].Name == "ServerConfiguration")
|
||||
{
|
||||
<button asp-action="Edit" asp-route-addNewServer="true" class="btn btn-primary">@addServerText</button>
|
||||
}
|
||||
else
|
||||
{
|
||||
<a asp-controller="Configuration" asp-action="GetNewListItem" asp-route-propertyName="@property.Name" class="btn btn-primary configuration-add-new">@addText</a>
|
||||
}
|
||||
<a asp-controller="Configuration" asp-action="GetNewListItem" asp-route-propertyName="@property.Name" class="btn btn-primary configuration-add-new">@addText</a>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
@ -107,7 +115,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
<button asp-controller="Configuration" asp-action="Edit" asp-route-shouldSave="true" class="btn btn-primary btn-block">@saveText</button>
|
||||
<button class="btn btn-primary btn-block">@saveText</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,3 +1,13 @@
|
||||
@model WebfrontCore.ViewModels.ConfigurationInfo
|
||||
@model WebfrontCore.ViewModels.BindingHelper
|
||||
|
||||
<input class="form-control bg-dark text-white-50 mb-2 text-box single-line" id="@($"{Model.PropertyName.Replace('[', '_').Replace(']', '_').Replace('.', '_')}_{Model.NewItemCount - 1}_")" name="@($"{Model.PropertyName}[{Model.NewItemCount- 1}]")" type="text" />
|
||||
@if (Model.Properties.Length == 1)
|
||||
{
|
||||
<!-- we're working off that top level model -->
|
||||
@Html.Editor($"{Model.Properties.Last()}[{Model.ItemIndex}]", new { htmlAttributes = new { @class = "form-control bg-dark text-white-50 mb-2 text-box single-line" } })
|
||||
}
|
||||
|
||||
@if (Model.Properties.Length > 1)
|
||||
{
|
||||
<!-- we're working off child model -->
|
||||
@Html.Editor($"{Model.Properties.First()}[{Model.ParentItemIndex}].{Model.Properties.Last()}[{Model.ItemIndex}]", new { htmlAttributes = new { @class = "form-control bg-dark text-white-50 mb-2 text-box single-line" } })
|
||||
}
|
||||
|
10
WebfrontCore/Views/Configuration/_ServerItem.cshtml
Normal file
10
WebfrontCore/Views/Configuration/_ServerItem.cshtml
Normal file
@ -0,0 +1,10 @@
|
||||
@model SharedLibraryCore.Configuration.ApplicationConfiguration
|
||||
@{
|
||||
int start = Model.Servers.Length - 1;
|
||||
int end = start + 1;
|
||||
}
|
||||
<!-- this is an ugly hack that allows us to create new server layout with correct array indices -->
|
||||
@for (int i = start; i < end; i++)
|
||||
{
|
||||
@Html.EditorFor(model => model.Servers[i]);
|
||||
}
|
Reference in New Issue
Block a user