From 2e9821402fdf43874c2c921b4a93d9733febacd0 Mon Sep 17 00:00:00 2001 From: "DESKTOP-GENO133\\IvanPlex" Date: Wed, 20 Mar 2024 13:54:51 -0600 Subject: [PATCH] Add URL parser to extra fields. --- Views/Vehicle/_CollisionRecords.cshtml | 14 +++++++++++++- Views/Vehicle/_Gas.cshtml | 14 +++++++++++++- Views/Vehicle/_OdometerRecords.cshtml | 14 +++++++++++++- Views/Vehicle/_ServiceRecords.cshtml | 12 +++++++++++- Views/Vehicle/_SupplyRecords.cshtml | 14 +++++++++++++- Views/Vehicle/_TaxRecords.cshtml | 14 +++++++++++++- Views/Vehicle/_UpgradeRecords.cshtml | 14 +++++++++++++- wwwroot/js/shared.js | 3 +++ 8 files changed, 92 insertions(+), 7 deletions(-) diff --git a/Views/Vehicle/_CollisionRecords.cshtml b/Views/Vehicle/_CollisionRecords.cshtml index 2b5dfaf..1a02ea3 100644 --- a/Views/Vehicle/_CollisionRecords.cshtml +++ b/Views/Vehicle/_CollisionRecords.cshtml @@ -129,7 +129,19 @@ @CarCareTracker.Helper.StaticHelper.TruncateStrings(collisionRecord.Notes) @foreach (string extraFieldColumn in extraFields) { - @(collisionRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? "") + + @{ + var extraFieldValue = collisionRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? ""; + if (!string.IsNullOrWhiteSpace(extraFieldValue) && Uri.IsWellFormedUriString(extraFieldValue, UriKind.Absolute)) + { + @CarCareTracker.Helper.StaticHelper.TruncateStrings(extraFieldValue) + } + else + { + @extraFieldValue + } + } + } } diff --git a/Views/Vehicle/_Gas.cshtml b/Views/Vehicle/_Gas.cshtml index 6b8a59d..2f0040c 100644 --- a/Views/Vehicle/_Gas.cshtml +++ b/Views/Vehicle/_Gas.cshtml @@ -199,7 +199,19 @@ @StaticHelper.TruncateStrings(gasRecord.Notes) @foreach (string extraFieldColumn in extraFields) { - @(gasRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? "") + + @{ + var extraFieldValue = gasRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? ""; + if (!string.IsNullOrWhiteSpace(extraFieldValue) && Uri.IsWellFormedUriString(extraFieldValue, UriKind.Absolute)) + { + @CarCareTracker.Helper.StaticHelper.TruncateStrings(extraFieldValue) + } + else + { + @extraFieldValue + } + } + } } diff --git a/Views/Vehicle/_OdometerRecords.cshtml b/Views/Vehicle/_OdometerRecords.cshtml index f0e4c62..b933e05 100644 --- a/Views/Vehicle/_OdometerRecords.cshtml +++ b/Views/Vehicle/_OdometerRecords.cshtml @@ -129,7 +129,19 @@ @CarCareTracker.Helper.StaticHelper.TruncateStrings(odometerRecord.Notes, 75) @foreach (string extraFieldColumn in extraFields) { - @(odometerRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? "") + + @{ + var extraFieldValue = odometerRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? ""; + if (!string.IsNullOrWhiteSpace(extraFieldValue) && Uri.IsWellFormedUriString(extraFieldValue, UriKind.Absolute)) + { + @CarCareTracker.Helper.StaticHelper.TruncateStrings(extraFieldValue) + } + else + { + @extraFieldValue + } + } + } } diff --git a/Views/Vehicle/_ServiceRecords.cshtml b/Views/Vehicle/_ServiceRecords.cshtml index 74ea53c..4e3bdc7 100644 --- a/Views/Vehicle/_ServiceRecords.cshtml +++ b/Views/Vehicle/_ServiceRecords.cshtml @@ -129,7 +129,17 @@ @CarCareTracker.Helper.StaticHelper.TruncateStrings(serviceRecord.Notes) @foreach (string extraFieldColumn in extraFields) { - @(serviceRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? "") + + @{ + var extraFieldValue = serviceRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? ""; + if (!string.IsNullOrWhiteSpace(extraFieldValue) && Uri.IsWellFormedUriString(extraFieldValue, UriKind.Absolute)){ + @CarCareTracker.Helper.StaticHelper.TruncateStrings(extraFieldValue) + } else + { + @extraFieldValue + } + } + } } diff --git a/Views/Vehicle/_SupplyRecords.cshtml b/Views/Vehicle/_SupplyRecords.cshtml index caf82d9..716d725 100644 --- a/Views/Vehicle/_SupplyRecords.cshtml +++ b/Views/Vehicle/_SupplyRecords.cshtml @@ -145,7 +145,19 @@ @CarCareTracker.Helper.StaticHelper.TruncateStrings(supplyRecord.Notes) @foreach (string extraFieldColumn in extraFields) { - @(supplyRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? "") + + @{ + var extraFieldValue = supplyRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? ""; + if (!string.IsNullOrWhiteSpace(extraFieldValue) && Uri.IsWellFormedUriString(extraFieldValue, UriKind.Absolute)) + { + @CarCareTracker.Helper.StaticHelper.TruncateStrings(extraFieldValue) + } + else + { + @extraFieldValue + } + } + } } diff --git a/Views/Vehicle/_TaxRecords.cshtml b/Views/Vehicle/_TaxRecords.cshtml index afa632c..101400d 100644 --- a/Views/Vehicle/_TaxRecords.cshtml +++ b/Views/Vehicle/_TaxRecords.cshtml @@ -121,7 +121,19 @@ @CarCareTracker.Helper.StaticHelper.TruncateStrings(taxRecord.Notes) @foreach (string extraFieldColumn in extraFields) { - @(taxRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? "") + + @{ + var extraFieldValue = taxRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? ""; + if (!string.IsNullOrWhiteSpace(extraFieldValue) && Uri.IsWellFormedUriString(extraFieldValue, UriKind.Absolute)) + { + @CarCareTracker.Helper.StaticHelper.TruncateStrings(extraFieldValue) + } + else + { + @extraFieldValue + } + } + } } diff --git a/Views/Vehicle/_UpgradeRecords.cshtml b/Views/Vehicle/_UpgradeRecords.cshtml index 432434c..f9a8d21 100644 --- a/Views/Vehicle/_UpgradeRecords.cshtml +++ b/Views/Vehicle/_UpgradeRecords.cshtml @@ -129,7 +129,19 @@ @CarCareTracker.Helper.StaticHelper.TruncateStrings(upgradeRecord.Notes) @foreach (string extraFieldColumn in extraFields) { - @(upgradeRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? "") + + @{ + var extraFieldValue = upgradeRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? ""; + if (!string.IsNullOrWhiteSpace(extraFieldValue) && Uri.IsWellFormedUriString(extraFieldValue, UriKind.Absolute)) + { + @CarCareTracker.Helper.StaticHelper.TruncateStrings(extraFieldValue) + } + else + { + @extraFieldValue + } + } + } } diff --git a/wwwroot/js/shared.js b/wwwroot/js/shared.js index 332edf6..6703cc9 100644 --- a/wwwroot/js/shared.js +++ b/wwwroot/js/shared.js @@ -1010,4 +1010,7 @@ function copyToClipboard(e) { var textToCopy = e.textContent.trim(); navigator.clipboard.writeText(textToCopy); successToast("Copied to Clipboard"); +} +function noPropagation() { + event.stopPropagation(); } \ No newline at end of file