From 375201fd335d87dbf452e81121ce32e6a48a2720 Mon Sep 17 00:00:00 2001 From: GunnarJulJensen <132446178+GunnarJulJensen@users.noreply.github.com> Date: Thu, 27 Feb 2025 08:05:10 +0100 Subject: [PATCH] adding showNoValueInInfo config showNoValueInInfo config for displaying all attributes in feature-info. Default attributes with missing values is not in the dialog --- CHANGELOG.md | 2 +- browser/modules/init.js | 1 + browser/modules/sqlQuery.js | 14 ++++++++++-- docs/_media/infobox-novalue.png | Bin 0 -> 25635 bytes docs/pages/standard/91_run_configuration.rst | 22 +++++++++++++++++++ 5 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 docs/_media/infobox-novalue.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 9ba9ff2d9..2679b6436 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [CalVer](https://calver.org/). ## [UNRELEASED] - 2025-724-2 - +- showNoValueInInfo config for displaying all attributes in feature-info. Default attributes with missing values is not in the dialog. ### Added - The default coordinate system can now be set in Coordinates module: diff --git a/browser/modules/init.js b/browser/modules/init.js index 470f3351f..4a0924029 100644 --- a/browser/modules/init.js +++ b/browser/modules/init.js @@ -96,6 +96,7 @@ module.exports = { emptyInfoCallback: null, infoCallback: null, dateFormats: {}, + showNoValueInInfo: false, }; // Set session from URL if (typeof urlVars.session === "string") { diff --git a/browser/modules/sqlQuery.js b/browser/modules/sqlQuery.js index ebe276b40..430ccfa30 100644 --- a/browser/modules/sqlQuery.js +++ b/browser/modules/sqlQuery.js @@ -84,6 +84,15 @@ let defaultTemplate = {{/_vidi_content.fields}} `; +let defaultTemplateWithNoValue = + `
+ + {{#_vidi_content.fields}} +

{{title}}

+

{{{value}}}

+ {{/_vidi_content.fields}} +
`; + const defaultTemplateForCrossMultiSelect = `
{{#_vidi_content.fields}} @@ -262,10 +271,11 @@ module.exports = { // Back arrow to template if featureInfoTableOnMap is true if ((featureInfoTableOnMap || forceOffCanvasInfo) && !backArrowIsAdded) { + const useTemplate = window.vidiConfig.showNoValueInInfo ? defaultTemplateWithNoValue : defaultTemplate; defaultTemplateWithBackBtn = ` ` + defaultTemplate; + ` + useTemplate; $(document).arrive('.show-when-multiple-hits', function (e, data) { $(this).on('click', function (e) { $("#modal-info-body").show(); @@ -936,7 +946,7 @@ module.exports = { const map = cloud.get().map const draggable = new L.Draggable(popup._container, popup._wrapper); // change cursor class - $(".leaflet-popup-content-wrapper").css('cursor', 'move'); + $(".leaflet-popup-content-wrapper").css('cursor', 'move'); draggable.on('dragstart', function (e) { //on first drag, remove the pop-up tip $(".leaflet-popup-tip-container").hide(); diff --git a/docs/_media/infobox-novalue.png b/docs/_media/infobox-novalue.png new file mode 100644 index 0000000000000000000000000000000000000000..6f81bec409355abb54e58d418dc7e89bdb2a54ab GIT binary patch literal 25635 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 jHzq0