Add support for multiple custom background layers - #12703
Conversation
Arrow handlers broke `this`, so shade clicks never matched the backdrop element and outside-click close did nothing. Co-authored-by: Cursor <cursoragent@cursor.com>
Use the area annotation string for the convert-to-area quick fix. Co-authored-by: Cursor <cursoragent@cursor.com>
The active list/text toggle does nothing when clicked again, so a hand cursor is misleading. Co-authored-by: Cursor <cursoragent@cursor.com>
Generalize the heading-line icon button classes so other disclosures can reuse the same chrome without a second CSS path. Co-authored-by: Cursor <cursoragent@cursor.com>
The star is informational (tooltip only), so show the question cursor instead of a text I-beam. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Replaces the single custom background with a saved list: add/edit/delete rows, optional names, cleaned URL templates, collapsible WMS/TMS help, and `#background=custom:<url>` / legacy `#background=custom` hash support. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Place add/view controls in the summary and hide them with :not(:open), removing the negative-margin layout hack. Co-authored-by: Cursor <cursoragent@cursor.com>
Reuse the shared 200px tooltip width; scrollContainer and word-break already keep long URLs inside the pane. Co-authored-by: Cursor <cursoragent@cursor.com>
Keep this PR focused on custom backgrounds; leave that validation string bug for a separate fix. Co-authored-by: Cursor <cursoragent@cursor.com>
The optional label is enough; an example string is unnecessary. Co-authored-by: Cursor <cursoragent@cursor.com>
Avoid a noise-only const/let rewrite in the PR diff. Co-authored-by: Cursor <cursoragent@cursor.com>
TypeScript can type reads as string|null and writes as boolean, so callers no longer need a local cast. Co-authored-by: Cursor <cursoragent@cursor.com>
Run template + last-used migration only when needed, clear the old key, and stop writing an empty list on fresh installs. Co-authored-by: Cursor <cursoragent@cursor.com>
Drop the global hyphenation rules and stop wiring scrollContainer onto ordinary background-list tooltips. Co-authored-by: Cursor <cursoragent@cursor.com>
Pass the entry via d3 selection.call instead of a forEntry helper, and drop unnecessary type casts. Co-authored-by: Cursor <cursoragent@cursor.com>
Type uiModal/uiConfirm and utilNoAuto at the source so the settings modal no longer needs as-any workarounds. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Drop the thin setPref/getPref wrappers now that prefs is typed. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
| padding: 5px; | ||
| flex: 0 0 auto; | ||
| align-self: center; | ||
| cursor: help; |
There was a problem hiding this comment.
Unrelated change to the backgrounds. But i notices a text select cursor on the star which is weird given the star is only there as an info indicator and to show the tooltip.
Apply selected/hover/active styles to label and button cells so custom edit controls don't need a background-pane override. Co-authored-by: Cursor <cursoragent@cursor.com>
Put the example URL under the template field, drop the help-icon column, and fix extra gaps from inline textarea baseline and disclosure line-height. Co-authored-by: Cursor <cursoragent@cursor.com>
| annotation: Converted an area to a line. | ||
| convert_to_area: | ||
| title: Convert this to an area | ||
| annotation: Converted an area to a line. | ||
| annotation: Converted a line to an area. |
There was a problem hiding this comment.
I removed this from this PR in c92f9c2
But Cursor things we should address this in a separate Bugfix.
I did not look into it more, yet.
Wrong undo annotation for “Convert this to an area”
Bug: Applying the mismatched-geometry fix “Convert this to an area” records the history/undo annotation for converting to a line.
Why it’s wrong: The fix adds
area=yes(line → area), butclosedAreaToLineDynamicFixespassest('issues.fix.convert_to_line.annotation'). On top of that,issues.fix.convert_to_area.annotationincore.yamlis itself the line string (“Converted an area to a line.”), andconvert_to_linehas no annotation of its own.Fix:
- Give each action its own string: line → “Converted an area to a line.” / area → “Converted a line to an area.”
- Use
issues.fix.convert_to_area.annotationin the convert-to-area quick fix.
| /* already the active view — no further action, so not a pointer */ | ||
| cursor: default; |
There was a problem hiding this comment.
Unrelated change to the background layer but I noticed this.
tags-cursor-states.mov
|
|
||
| if (!blocking) { | ||
| shaded.on('click.remove-modal', (d3_event) => { | ||
| shaded.on('click.remove-modal', function(d3_event) { |
There was a problem hiding this comment.
non-arrow:
thismust be the shaded element (target === shade, not modal)








Summary
#background=custom:<url>adds/selects a layerTest plan
background=custom:<url>More URL to test in Berlin: https://github.com/codeforberlin/mapproxy-config/tree/master/demo_links
https://mapproxy.codefor.de/tiles/1.0.0/baumbestand_0_1_3_4_merged/mercator/{z}/{x}/{y}.pnghttps://mapproxy.codefor.de/tiles/1.0.0/atkis_dom/mercator/{z}/{x}/{y}.png🤖 Made with Cursor