@geogirafe/lib-geoportal 1.0.2259617981 → 1.0.2263190687

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,7 +16,7 @@ import { getDistance } from '../../../tools/utils/olutils.js';
16
16
  class CrossSectionSettingsComponent extends GirafeHTMLElement {
17
17
  template = () => {
18
18
  return uHtml `<style>
19
- #panel{min-width:25rem;height:100%;overflow:auto}#content{background:var(--bkg-color);margin:0;padding:1.5rem}#content .message{text-align:center;width:100%}#content .message *{margin:.25rem}#content div.option{justify-content:space-between;margin-top:.5rem;display:flex}h3,.text-label{color:var(--text-color)}.scrollable-table-container{width:100%;max-height:200px;display:block;overflow-y:auto}.scrollable-table{border-collapse:collapse;width:100%}.scrollable-table td{color:var(--text-color)}.table-cell{border:none;padding:4px 2px}.sticky-header{z-index:1;background-color:#f1f1f1;border:none;padding:5px 2px;position:sticky;top:0}.cell{flex:100px;min-width:100px;max-width:100%}input{background-color:var(--bkg-color);color:var(--text-color);border:solid 1px var(--text-color);border-radius:3px;outline:0}.btn-group{margin:5px 0}.btn-group-flex{flex-direction:row;gap:.5rem;margin:.5rem auto;display:flex}.btn-group-flex>button,.btn-group-flex>select,.btn-group-flex>input{width:50%}.btn-group-flex input.gg-checkbox{flex-grow:0;width:auto}.btn-group-flex>label{text-align:right;width:50%}.btn-group-flex label:after{content:" :"}.btn-group-inline{gap:5px;margin:10px auto;display:inline}.btn-group-grid{gap:5px;margin:10px auto;display:grid}.reset-btn{background-color:var(--bkg-color);width:22px;color:var(--text-color);border:none;border-radius:50%;justify-content:center;align-items:center;margin:2px;padding:0;display:flex}.reset-btn img{object-fit:contain}.reset-btn:hover{background-color:var(--bkg-color-grad1);cursor:pointer}.action-btn{color:#fff;background-color:none;border-radius:50%;margin:2px;padding:2px}.action-btn:hover{background-color:var(--bkg-color-grad1);cursor:pointer;border-radius:50%}.dataset-row{box-sizing:border-box;border-bottom:1px solid #eee;align-items:center;gap:.5rem;width:100%;padding:.25rem 0;font-size:.875rem;line-height:1.2;display:flex}.dataset-row:last-child{border-bottom:none}.dataset-row>*{flex-shrink:0}.dataset-name{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:6rem;overflow:hidden}.icon-wrapper{justify-content:center;align-items:center;width:1.25rem;height:1.25rem;margin-right:.5rem;display:flex}.loader-progress{flex-direction:column;align-items:flex-start;width:100%}.progress-wrapper{width:100%;position:relative}.gg-progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#eee;width:100%;height:1.95rem}.gg-progress::-webkit-progress-bar{background-color:#eee;border-radius:0}.gg-progress::-webkit-progress-value{background-color:#929292;border-radius:0}.gg-progress::-moz-progress-bar{background-color:#929292;border-radius:0}.progress-label{justify-content:center;align-items:center;font-size:.875rem;display:flex;position:absolute;inset:0}.progress-icon{pointer-events:none;mix-blend-mode:difference;position:absolute;left:.5em}
19
+ #panel{min-width:25rem;height:100%;overflow:auto}#content{background:var(--bkg-color);margin:0;padding:1.5rem}#content .message{text-align:center;width:100%}#content .message *{margin:.25rem}#content div.option{justify-content:space-between;margin-top:.5rem;display:flex}h3,.text-label{color:var(--text-color)}.scrollable-table-container{width:100%;max-height:200px;display:block;overflow-y:auto}.scrollable-table{border-collapse:collapse;width:100%}.scrollable-table td{color:var(--text-color)}.table-cell{border:none;padding:4px 2px}.sticky-header{z-index:1;background-color:#f1f1f1;border:none;padding:5px 2px;position:sticky;top:0}.cell{flex:100px;min-width:100px;max-width:100%}input{background-color:var(--bkg-color);color:var(--text-color);border:solid 1px var(--text-color);border-radius:3px;outline:0}.btn-group{margin:5px 0}.btn-group-flex{flex-direction:row;gap:.5rem;margin:.5rem auto;display:flex}.btn-group-flex>button,.btn-group-flex>select,.btn-group-flex>input{width:50%}.btn-group-flex input.gg-checkbox{flex-grow:0;width:auto}.btn-group-flex>label{text-align:right;width:50%}.btn-group-flex label:after{content:" :"}.btn-group-inline{gap:5px;margin:10px auto;display:inline}.btn-group-grid{gap:5px;margin:10px auto;display:grid}.reset-btn{background-color:var(--bkg-color);width:22px;color:var(--text-color);border:none;border-radius:50%;justify-content:center;align-items:center;margin:2px;padding:0;display:flex}.reset-btn img{object-fit:contain}.reset-btn:hover{background-color:var(--bkg-color-grad1);cursor:pointer}.action-btn{color:#fff;background-color:none;border-radius:50%;margin:2px;padding:2px}.action-btn:hover{background-color:var(--bkg-color-grad1);cursor:pointer;border-radius:50%}.dataset-row{box-sizing:border-box;border-bottom:1px solid #eee;align-items:center;gap:.5rem;width:100%;padding:.25rem 0;font-size:.875rem;line-height:1.2;display:flex}.dataset-row:last-child{border-bottom:none}.dataset-row>*{flex-shrink:0}.dataset-name{white-space:nowrap;text-overflow:ellipsis;min-width:6rem;color:var(--text-color);flex:auto;overflow:hidden}.icon-wrapper{justify-content:center;align-items:center;width:1.25rem;height:1.25rem;margin-right:.5rem;display:flex}.loader-progress{flex-direction:column;align-items:flex-start;width:100%}.progress-wrapper{width:100%;position:relative}.gg-progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#eee;width:100%;height:1.95rem}.gg-progress::-webkit-progress-bar{background-color:#eee;border-radius:0}.gg-progress::-webkit-progress-value{background-color:#929292;border-radius:0}.gg-progress::-moz-progress-bar{background-color:#929292;border-radius:0}.progress-label{justify-content:center;align-items:center;font-size:.875rem;display:flex;position:absolute;inset:0}.progress-icon{pointer-events:none;mix-blend-mode:difference;position:absolute;left:.5em}
20
20
  </style><style>
21
21
  *{font-family:Arial,sans-serif}.hidden{display:none!important}.gg-rotate90{transform:rotate(90deg)}.gg-rotate180{transform:rotate(180deg)}.gg-rotate270{transform:rotate(270deg)}img{filter:var(--svg-filter)}img.legend-image{filter:var(--svg-map-filter);background:var(--svg-legend-bkg)}div{scrollbar-width:thin}a,a:visited{color:var(--link-color)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-wait{0%{transform:rotate(0)}7%{transform:rotate(360deg)}to{transform:rotate(360deg)}}.gg-spin{animation-name:spin;animation-duration:2s;animation-timing-function:linear;animation-iteration-count:infinite}.gg-spin-wait{animation-name:spin-wait;animation-duration:10s;animation-timing-function:linear;animation-iteration-count:infinite}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#999}.gg-button,.gg-select,.gg-input,.gg-textarea{background-color:var(--bkg-color);color:var(--text-color);border:var(--app-standard-border);box-sizing:border-box;cursor:pointer;border-radius:3px;outline:0;margin:0;padding:0 0 0 .5rem;display:inline-block}.gg-label{background-color:var(--bkg-color);color:var(--text-color);border:none;align-items:center;margin:0;padding:0;display:flex}.gg-button,.gg-select,.gg-input,.gg-label{min-height:calc(var(--app-standard-height)/1.5)}.gg-textarea{max-height:initial;resize:vertical;height:6rem;padding:.5rem;line-height:1.3rem}.gg-input{cursor:text}.gg-checkbox{accent-color:var(--text-color);width:1.2rem}.gg-range{accent-color:var(--text-color)}.gg-button{padding:0 .5rem}.gg-button.active{border:solid 1px var(--text-color-grad2);background-color:var(--text-color-grad2);color:var(--bkg-color)}.gg-button:disabled{color:gray;cursor:not-allowed;background-color:#d3d3d3;border:none}.gg-input:disabled,.gg-select:disabled,.gg-textarea:disabled{color:gray;cursor:not-allowed;background-color:#d3d3d3}.gg-button>img{vertical-align:middle}.gg-icon-button{color:var(--text-color);cursor:pointer;background-color:#0000;border:none;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex}.gg-icon{justify-content:center;align-items:center;display:flex}.gg-big,.gg-big-withtext{min-width:var(--app-standard-height);min-height:var(--app-standard-height);max-height:var(--app-standard-height)}.gg-big img,.gg-big-withtext img{width:calc(var(--app-standard-height) - 1.5rem);margin:0}.gg-big-withtext span{font-variant:small-caps;padding:0 1rem;font-size:.9rem}.gg-medium,.gg-medium-withtext{min-width:calc(var(--app-standard-height)/1.2);min-height:calc(var(--app-standard-height)/1.2);max-height:calc(var(--app-standard-height)/1.2);flex-direction:row}.gg-medium img{width:calc(var(--app-standard-height)/2.4);margin:0}.gg-medium-withtext img{width:calc(var(--app-standard-height)/2.4);margin-left:.5rem}.gg-medium-withtext span{padding:0 1rem 0 .5rem;font-size:.9rem}.gg-small,.gg-small-withtext{min-width:calc(var(--app-standard-height)/2);min-height:calc(var(--app-standard-height)/2);max-height:calc(var(--app-standard-height)/2);flex-direction:row}.gg-small img{width:calc(var(--app-standard-height)/3);margin:0}.gg-small-withtext img{width:calc(var(--app-standard-height)/3);margin-left:.5rem}.gg-small-withtext span{padding:0 .5rem 0 .3rem;font-size:.9rem}.gg-button:hover,.gg-select:hover,.gg-input:hover,.gg-textarea:hover,.gg-icon-button:hover{background-color:var(--bkg-color-grad1)}.gg-opacity{opacity:.5}.gg-opacity:hover{opacity:1;background-color:#0000}.gg-tabs{cursor:pointer;grid-auto-flow:column;padding-bottom:1rem;font-size:1rem;display:grid}.gg-tab{border:none;border-bottom:var(--app-standard-border);cursor:pointer;color:var(--text-color);background:0 0;padding:.5rem}.gg-tab.active{border-bottom:solid 1px var(--text-color)}.girafe-button-big,.girafe-button-large,.girafe-button-small,.girafe-button-tiny{color:var(--text-color);background-color:#0000;border:none;flex-direction:column;display:flex}.girafe-button-big:hover,.girafe-button-large:hover,.girafe-button-small:hover,.girafe-button-tiny:hover{background-color:var(--bkg-color-grad1);cursor:pointer}.girafe-button-big.dark,.girafe-button-large.dark,.girafe-button-small.dark,.girafe-button-tiny.dark{background-color:var(--bkg-color);filter:invert()}.girafe-button-big{width:var(--app-standard-height);height:var(--app-standard-height);align-items:center;padding:1rem}.girafe-button-big img{overflow:hidden}.girafe-button-large{flex-direction:row}.girafe-button-large img{height:2rem;margin:.3rem}.girafe-button-large span{height:2rem;margin:.3rem;line-height:2rem}.girafe-button-small{min-width:calc(var(--app-standard-height)/2);height:calc(var(--app-standard-height)/2);align-items:center;padding:.5rem}.girafe-button-small img{overflow:hidden}.girafe-button-small span{text-align:left;text-overflow:ellipsis;width:100%;overflow:hidden}.girafe-button-tiny{align-items:center;width:1rem;height:1rem;padding:0}.girafe-button-tiny img{overflow:hidden}.girafe-onboarding-theme{background-color:var(--bkg-color)!important;color:var(--text-color)!important}.girafe-onboarding-theme button{background-color:var(--bkg-color)!important;color:var(--text-color)!important;text-shadow:none!important}.girafe-onboarding-theme button.driver-popover-close-btn{z-index:10000}
22
22
  </style>
@@ -927,7 +927,7 @@ export default class MapComponent extends GirafeHTMLElement {
927
927
  }
928
928
  const clonedTheme = this.context.themesHelper.getMinimalClonedThemeForLayer(layer);
929
929
  clonedTheme.isExpanded = true;
930
- this.context.themesHelper.mergeThemeInLayerTree(clonedTheme, true);
930
+ this.context.themesHelper.mergeThemeInLayerTree(clonedTheme, true, true);
931
931
  // Now, get the tree item
932
932
  layerInTree = this.context.layerManager.getTreeItemByLayerName(featureSelectionFromUrl.layer);
933
933
  }
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "name": "GeoGirafe PSC",
6
6
  "url": "https://doc.geomapfish.dev"
7
7
  },
8
- "version": "1.0.2259617981",
8
+ "version": "1.0.2263190687",
9
9
  "type": "module",
10
10
  "engines": {
11
11
  "node": ">=20.19.0"
@@ -1 +1 @@
1
- {"version":"1.0.2259617981", "build":"2259617981", "date":"13/01/2026"}
1
+ {"version":"1.0.2263190687", "build":"2263190687", "date":"14/01/2026"}
@@ -32,7 +32,7 @@ export default class ThemesHelper extends GirafeSingleton {
32
32
  * This prevents themes of visibly "jumping" around in the tree after being added due to reordering.
33
33
  */
34
34
  getInitialOrderForNewTheme(): number;
35
- mergeThemeInLayerTree(theme: ThemeLayer, activate?: boolean): BaseLayer[];
35
+ mergeThemeInLayerTree(theme: ThemeLayer, activate?: boolean, forceTop?: boolean): BaseLayer[];
36
36
  /**
37
37
  * This function merges the newLayer at its right place in the LayerTree
38
38
  * @param newLayer The layer to insert somewhere in the hierarchy
@@ -300,8 +300,8 @@ export default class ThemesHelper extends GirafeSingleton {
300
300
  .map((l) => l.order)
301
301
  .reduce((a, b) => Math.max(a, b), 0);
302
302
  }
303
- mergeThemeInLayerTree(theme, activate = false) {
304
- theme.order = this.getInitialOrderForNewTheme();
303
+ mergeThemeInLayerTree(theme, activate = false, forceTop = false) {
304
+ theme.order = forceTop ? -1 : this.getInitialOrderForNewTheme();
305
305
  const insertedLayers = this.mergeLayerWithExistingLayerTree(theme, this.state.layers.layersList);
306
306
  if (activate) {
307
307
  for (const insertedLayer of insertedLayers) {