From 0750b080f639d723758b4a94763feeef14c88a1d Mon Sep 17 00:00:00 2001 From: "DESKTOP-GENO133\\IvanPlex" Date: Thu, 29 Feb 2024 10:34:24 -0700 Subject: [PATCH] added setting to hide extra field columns --- Helper/ConfigHelper.cs | 1 + Models/UserConfig.cs | 1 + Views/Home/_Settings.cshtml | 5 +++ Views/Vehicle/_ServiceRecords.cshtml | 48 ++++++++-------------------- appsettings.json | 1 + wwwroot/js/vehicle.js | 20 ++++++++++++ 6 files changed, 42 insertions(+), 34 deletions(-) diff --git a/Helper/ConfigHelper.cs b/Helper/ConfigHelper.cs index 89bdd0e..437684f 100644 --- a/Helper/ConfigHelper.cs +++ b/Helper/ConfigHelper.cs @@ -140,6 +140,7 @@ namespace CarCareTracker.Helper PreferredGasUnit = _config[nameof(UserConfig.PreferredGasUnit)], UserLanguage = _config[nameof(UserConfig.UserLanguage)], EnableShopSupplies = bool.Parse(_config[nameof(UserConfig.EnableShopSupplies)]), + EnableExtraFieldColumns = bool.Parse(_config[nameof(UserConfig.EnableExtraFieldColumns)]), VisibleTabs = _config.GetSection("VisibleTabs").Get>(), DefaultTab = (ImportMode)int.Parse(_config[nameof(UserConfig.DefaultTab)]) }; diff --git a/Models/UserConfig.cs b/Models/UserConfig.cs index 5805f87..fb1d503 100644 --- a/Models/UserConfig.cs +++ b/Models/UserConfig.cs @@ -14,6 +14,7 @@ public bool EnableAutoReminderRefresh { get; set; } public bool EnableAutoOdometerInsert { get; set; } public bool EnableShopSupplies { get; set; } + public bool EnableExtraFieldColumns { get; set; } public string PreferredGasUnit { get; set; } = string.Empty; public string PreferredGasMileageUnit { get; set; } = string.Empty; public string UserNameHash { get; set; } diff --git a/Views/Home/_Settings.cshtml b/Views/Home/_Settings.cshtml index a730a66..d74d0a1 100644 --- a/Views/Home/_Settings.cshtml +++ b/Views/Home/_Settings.cshtml @@ -53,6 +53,10 @@ +
+ + +
@@ -287,6 +291,7 @@ enableAutoReminderRefresh: $("#enableAutoReminderRefresh").is(":checked"), enableAutoOdometerInsert: $("#enableAutoOdometerInsert").is(":checked"), enableShopSupplies: $("#enableShopSupplies").is(":checked"), + enableExtraFieldColumns: $("#enableExtraFieldColumns").is(":checked"), preferredGasUnit: $("#preferredGasUnit").val(), preferredGasMileageUnit: $("#preferredFuelMileageUnit").val(), userLanguage: $("#defaultLanguage").val(), diff --git a/Views/Vehicle/_ServiceRecords.cshtml b/Views/Vehicle/_ServiceRecords.cshtml index 72f18b4..3057eca 100644 --- a/Views/Vehicle/_ServiceRecords.cshtml +++ b/Views/Vehicle/_ServiceRecords.cshtml @@ -7,15 +7,19 @@ var hideZero = userConfig.HideZero; var userLanguage = userConfig.UserLanguage; var recordTags = Model.SelectMany(x => x.Tags).Distinct(); - var extraFields = Model.SelectMany(x => x.ExtraFields).Select(y => y.Name).Distinct(); + var extraFields = new List(); + if (userConfig.EnableExtraFieldColumns) + { + extraFields = Model.SelectMany(x => x.ExtraFields).Select(y => y.Name).Distinct().ToList(); + } } @model List
- @($"{translator.Translate(userLanguage,"# of Service Records")}: {Model.Count()}") - @($"{translator.Translate(userLanguage,"Total")}: {Model.Sum(x => x.Cost).ToString("C")}") - @foreach(string recordTag in recordTags) + @($"{translator.Translate(userLanguage, "# of Service Records")}: {Model.Count()}") + @($"{translator.Translate(userLanguage, "Total")}: {Model.Sum(x => x.Cost).ToString("C")}") + @foreach (string recordTag in recordTags) { @recordTag } @@ -30,15 +34,15 @@ @if (enableCsvImports) {
- +
@@ -106,7 +110,7 @@ @translator.Translate(userLanguage, "Description") @translator.Translate(userLanguage, "Cost") @translator.Translate(userLanguage, "Notes") - @foreach(string extraFieldColumn in extraFields) + @foreach (string extraFieldColumn in extraFields) { @extraFieldColumn } @@ -136,7 +140,6 @@ @@ -153,26 +156,3 @@
  • @translator.Translate(userLanguage, "Duplicate")
  • @translator.Translate(userLanguage, "Delete")
  • - - \ No newline at end of file diff --git a/appsettings.json b/appsettings.json index bbe7c1b..d8112be 100644 --- a/appsettings.json +++ b/appsettings.json @@ -15,6 +15,7 @@ "EnableAutoReminderRefresh": false, "EnableAutoOdometerInsert": false, "EnableShopSupplies": false, + "EnableExtraFieldColumns": false, "UseUKMPG": false, "UseThreeDecimalGasCost": true, "UseMarkDownOnSavedNotes": false, diff --git a/wwwroot/js/vehicle.js b/wwwroot/js/vehicle.js index 7a79a39..97e3819 100644 --- a/wwwroot/js/vehicle.js +++ b/wwwroot/js/vehicle.js @@ -438,4 +438,24 @@ function getAndValidateGenericRecordValues() { tags: genericTags } } +} +function showTableColumns(e, isExtraField) { + //logic for extra field since we dont hardcode the data-column type + if (isExtraField) { + var showColumn = $(e).is(':checked'); + var columnName = $(e).parent().find('.form-check-label').text(); + if (showColumn) { + $(`[data-column='${columnName}']`).show(); + } else { + $(`[data-column='${columnName}']`).hide(); + } + } else { + var showColumn = $(e).is(':checked'); + var columnName = $(e).attr('data-column-toggle'); + if (showColumn) { + $(`[data-column='${columnName}']`).show(); + } else { + $(`[data-column='${columnName}']`).hide(); + } + } } \ No newline at end of file