Compare commits

...

8 commits

Author SHA1 Message Date
Yohan Boniface
2c64745c52
fix: honour rules and slideshow when importing a umap file (#2270)
Some checks are pending
Test & Docs / tests (postgresql, 3.10) (push) Waiting to run
Test & Docs / tests (postgresql, 3.12) (push) Waiting to run
Test & Docs / lint (push) Waiting to run
Test & Docs / docs (push) Waiting to run
Side note (for another PR I'd say): this usually occurs on a non saved
map, but in case the map already exist and is in sync mode, should we
sync each property (safer but one call per property) or the whole
properties object (lighter, but may override unwanted things in remote,
and currently there is no method to do so).
2024-11-18 19:41:40 +01:00
Yohan Boniface
d38d8e152c
fix: honour custom labelKey in default popup template (#2271)
The default popup template expects a `name` key, so let's populate it.
2024-11-18 19:38:09 +01:00
David Larlet
25bf7e1466
chore: bump rcssmin from 1.1.3 to 1.2.0 (#2273)
Bumps [rcssmin](https://github.com/ndparker/rcssmin) from 1.1.3 to
1.2.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ndparker/rcssmin/blob/master/CHANGES">rcssmin's
changelog</a>.</em></p>
<blockquote>
<p>Changes with version 1.2.0</p>
<p>*) Add support for nesting selector (&amp;)</p>
<p>*) Update project boilerplate</p>
<p>Changes with version 1.1.3</p>
<p>*) Add support for Python 3.13</p>
<p>*) Update project boilerplate</p>
<p>Changes with version 1.1.2</p>
<p>*) Add support for Python 3.12</p>
<p>*) Add musllinux wheels</p>
<p>*) Update project boilerplate</p>
<p>Changes with version 1.1.1</p>
<p>*) Add support for Python 3.11</p>
<p>*) Update project boilerplate</p>
<p>Changes with version 1.1.0</p>
<p>*) quoted data urls which are not base64 encoded keep their spaces
now (<a
href="https://redirect.github.com/ndparker/rcssmin/issues/8">#8</a>)</p>
<p>*) Add x86_64, i686 and aarch64 wheels</p>
<p>*) Update python support: 2.7, 3.6+</p>
<p>*) Both python 2 and 3 now accept bytes and text as input. All other
types now
raise a TypeError. Before they possibly have been converted to a string,
depending on the python version and the implementation. Python 3 also
accepts bytearray input.</p>
<p>*) Support for PyPy and Jython is no longer tested. Patches are
accepted,
though.</p>
<p>*) The python version will only accept the C implementation if the
versions
match exactly. This should prevent using older installed C versions.
Fixes <a
href="https://redirect.github.com/ndparker/rcssmin/issues/11">#11</a>.
This issue is now more relevant since <a
href="https://redirect.github.com/ndparker/rcssmin/issues/7">#7</a> is
fixed.</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5396f5ec39"><code>5396f5e</code></a>
Bump version to 1.2.0</li>
<li><a
href="81da21987b"><code>81da219</code></a>
Update benchmarks</li>
<li><a
href="1f9ff6d2d8"><code>1f9ff6d</code></a>
Add support for nesting selector (&amp;)</li>
<li><a
href="eac70b68c2"><code>eac70b6</code></a>
Add pyproject.toml, update dependencies</li>
<li><a
href="c1beaf0f1c"><code>c1beaf0</code></a>
update gpg info</li>
<li>See full diff in <a
href="https://github.com/ndparker/rcssmin/compare/1.1.3...1.2.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rcssmin&package-manager=pip&previous-version=1.1.3&new-version=1.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>
2024-11-18 13:09:26 -05:00
David Larlet
9656d04432
chore: bump ruff from 0.7.3 to 0.7.4 (#2276)
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.7.3 to 0.7.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/releases">ruff's
releases</a>.</em></p>
<blockquote>
<h2>0.7.4</h2>
<h2>Release Notes</h2>
<h3>Preview features</h3>
<ul>
<li>[<code>flake8-datetimez</code>] Detect usages of
<code>datetime.max</code>/<code>datetime.min</code>
(<code>DTZ901</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14288">#14288</a>)</li>
<li>[<code>flake8-logging</code>] Implement
<code>root-logger-calls</code> (<code>LOG015</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14302">#14302</a>)</li>
<li>[<code>flake8-no-pep420</code>] Detect empty implicit namespace
packages (<code>INP001</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14236">#14236</a>)</li>
<li>[<code>flake8-pyi</code>] Add &quot;replace with
<code>Self</code>&quot; fix (<code>PYI019</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14238">#14238</a>)</li>
<li>[<code>perflint</code>] Implement quick-fix for
<code>manual-list-comprehension</code> (<code>PERF401</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/13919">#13919</a>)</li>
<li>[<code>pylint</code>] Implement <code>shallow-copy-environ</code>
(<code>W1507</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14241">#14241</a>)</li>
<li>[<code>ruff</code>] Implement <code>none-not-at-end-of-union</code>
(<code>RUF036</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14314">#14314</a>)</li>
<li>[<code>ruff</code>] Implementation <code>unsafe-markup-call</code>
from <code>flake8-markupsafe</code> plugin (<code>RUF035</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14224">#14224</a>)</li>
<li>[<code>ruff</code>] Report problems for <code>attrs</code>
dataclasses (<code>RUF008</code>, <code>RUF009</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14327">#14327</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>[<code>flake8-boolean-trap</code>] Exclude dunder methods that
define operators (<code>FBT001</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14203">#14203</a>)</li>
<li>[<code>flake8-pyi</code>] Add &quot;replace with
<code>Self</code>&quot; fix (<code>PYI034</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14217">#14217</a>)</li>
<li>[<code>flake8-pyi</code>] Always autofix
<code>duplicate-union-members</code> (<code>PYI016</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14270">#14270</a>)</li>
<li>[<code>flake8-pyi</code>] Improve autofix for nested and mixed type
unions for <code>unnecessary-type-union</code> (<code>PYI055</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14272">#14272</a>)</li>
<li>[<code>flake8-pyi</code>] Mark fix as unsafe when type annotation
contains comments for <code>duplicate-literal-member</code>
(<code>PYI062</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14268">#14268</a>)</li>
</ul>
<h3>Server</h3>
<ul>
<li>Use the current working directory to resolve settings from
<code>ruff.configuration</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14352">#14352</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Avoid conflicts between <code>PLC014</code>
(<code>useless-import-alias</code>) and <code>I002</code>
(<code>missing-required-import</code>) by considering
<code>lint.isort.required-imports</code> for <code>PLC014</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14287">#14287</a>)</li>
<li>[<code>flake8-type-checking</code>] Skip quoting annotation if it
becomes invalid syntax (<code>TCH001</code>)</li>
<li>[<code>flake8-pyi</code>] Avoid using <code>typing.Self</code> in
stub files pre-Python 3.11 (<code>PYI034</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14230">#14230</a>)</li>
<li>[<code>flake8-pytest-style</code>] Flag <code>pytest.raises</code>
call with keyword argument <code>expected_exception</code>
(<code>PT011</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14298">#14298</a>)</li>
<li>[<code>flake8-simplify</code>] Infer &quot;unknown&quot; truthiness
for literal iterables whose items are all unpacks (<code>SIM222</code>)
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/14263">#14263</a>)</li>
<li>[<code>flake8-type-checking</code>] Fix false positives for
<code>typing.Annotated</code> (<code>TCH001</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14311">#14311</a>)</li>
<li>[<code>pylint</code>] Allow <code>await</code> at the top-level
scope of a notebook (<code>PLE1142</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14225">#14225</a>)</li>
<li>[<code>pylint</code>] Fix miscellaneous issues in
<code>await-outside-async</code> detection (<code>PLE1142</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14218">#14218</a>)</li>
<li>[<code>pyupgrade</code>] Avoid applying PEP 646 rewrites in invalid
contexts (<code>UP044</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14234">#14234</a>)</li>
<li>[<code>pyupgrade</code>] Detect permutations in redundant open modes
(<code>UP015</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14255">#14255</a>)</li>
<li>[<code>refurb</code>] Avoid triggering
<code>hardcoded-string-charset</code> for reordered sets
(<code>FURB156</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14233">#14233</a>)</li>
<li>[<code>refurb</code>] Further special cases added to
<code>verbose-decimal-constructor</code> (<code>FURB157</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14216">#14216</a>)</li>
<li>[<code>refurb</code>] Use <code>UserString</code> instead of
non-existent <code>UserStr</code> (<code>FURB189</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14209">#14209</a>)</li>
<li>[<code>ruff</code>] Avoid treating lowercase letters as <code>#
noqa</code> codes (<code>RUF100</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14229">#14229</a>)</li>
<li>[<code>ruff</code>] Do not report when <code>Optional</code> has no
type arguments (<code>RUF013</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14181">#14181</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add &quot;Notebook behavior&quot; section for <code>F704</code>,
<code>PLE1142</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14266">#14266</a>)</li>
<li>Document comment policy around fix safety (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14300">#14300</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md">ruff's
changelog</a>.</em></p>
<blockquote>
<h2>0.7.4</h2>
<h3>Preview features</h3>
<ul>
<li>[<code>flake8-datetimez</code>] Detect usages of
<code>datetime.max</code>/<code>datetime.min</code>
(<code>DTZ901</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14288">#14288</a>)</li>
<li>[<code>flake8-logging</code>] Implement
<code>root-logger-calls</code> (<code>LOG015</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14302">#14302</a>)</li>
<li>[<code>flake8-no-pep420</code>] Detect empty implicit namespace
packages (<code>INP001</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14236">#14236</a>)</li>
<li>[<code>flake8-pyi</code>] Add &quot;replace with
<code>Self</code>&quot; fix (<code>PYI019</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14238">#14238</a>)</li>
<li>[<code>perflint</code>] Implement quick-fix for
<code>manual-list-comprehension</code> (<code>PERF401</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/13919">#13919</a>)</li>
<li>[<code>pylint</code>] Implement <code>shallow-copy-environ</code>
(<code>W1507</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14241">#14241</a>)</li>
<li>[<code>ruff</code>] Implement <code>none-not-at-end-of-union</code>
(<code>RUF036</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14314">#14314</a>)</li>
<li>[<code>ruff</code>] Implementation <code>unsafe-markup-call</code>
from <code>flake8-markupsafe</code> plugin (<code>RUF035</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14224">#14224</a>)</li>
<li>[<code>ruff</code>] Report problems for <code>attrs</code>
dataclasses (<code>RUF008</code>, <code>RUF009</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14327">#14327</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>[<code>flake8-boolean-trap</code>] Exclude dunder methods that
define operators (<code>FBT001</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14203">#14203</a>)</li>
<li>[<code>flake8-pyi</code>] Add &quot;replace with
<code>Self</code>&quot; fix (<code>PYI034</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14217">#14217</a>)</li>
<li>[<code>flake8-pyi</code>] Always autofix
<code>duplicate-union-members</code> (<code>PYI016</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14270">#14270</a>)</li>
<li>[<code>flake8-pyi</code>] Improve autofix for nested and mixed type
unions for <code>unnecessary-type-union</code> (<code>PYI055</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14272">#14272</a>)</li>
<li>[<code>flake8-pyi</code>] Mark fix as unsafe when type annotation
contains comments for <code>duplicate-literal-member</code>
(<code>PYI062</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14268">#14268</a>)</li>
</ul>
<h3>Server</h3>
<ul>
<li>Use the current working directory to resolve settings from
<code>ruff.configuration</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14352">#14352</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Avoid conflicts between <code>PLC014</code>
(<code>useless-import-alias</code>) and <code>I002</code>
(<code>missing-required-import</code>) by considering
<code>lint.isort.required-imports</code> for <code>PLC014</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14287">#14287</a>)</li>
<li>[<code>flake8-type-checking</code>] Skip quoting annotation if it
becomes invalid syntax (<code>TCH001</code>)</li>
<li>[<code>flake8-pyi</code>] Avoid using <code>typing.Self</code> in
stub files pre-Python 3.11 (<code>PYI034</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14230">#14230</a>)</li>
<li>[<code>flake8-pytest-style</code>] Flag <code>pytest.raises</code>
call with keyword argument <code>expected_exception</code>
(<code>PT011</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14298">#14298</a>)</li>
<li>[<code>flake8-simplify</code>] Infer &quot;unknown&quot; truthiness
for literal iterables whose items are all unpacks (<code>SIM222</code>)
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/14263">#14263</a>)</li>
<li>[<code>flake8-type-checking</code>] Fix false positives for
<code>typing.Annotated</code> (<code>TCH001</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14311">#14311</a>)</li>
<li>[<code>pylint</code>] Allow <code>await</code> at the top-level
scope of a notebook (<code>PLE1142</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14225">#14225</a>)</li>
<li>[<code>pylint</code>] Fix miscellaneous issues in
<code>await-outside-async</code> detection (<code>PLE1142</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14218">#14218</a>)</li>
<li>[<code>pyupgrade</code>] Avoid applying PEP 646 rewrites in invalid
contexts (<code>UP044</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14234">#14234</a>)</li>
<li>[<code>pyupgrade</code>] Detect permutations in redundant open modes
(<code>UP015</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14255">#14255</a>)</li>
<li>[<code>refurb</code>] Avoid triggering
<code>hardcoded-string-charset</code> for reordered sets
(<code>FURB156</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14233">#14233</a>)</li>
<li>[<code>refurb</code>] Further special cases added to
<code>verbose-decimal-constructor</code> (<code>FURB157</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14216">#14216</a>)</li>
<li>[<code>refurb</code>] Use <code>UserString</code> instead of
non-existent <code>UserStr</code> (<code>FURB189</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14209">#14209</a>)</li>
<li>[<code>ruff</code>] Avoid treating lowercase letters as <code>#
noqa</code> codes (<code>RUF100</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14229">#14229</a>)</li>
<li>[<code>ruff</code>] Do not report when <code>Optional</code> has no
type arguments (<code>RUF013</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14181">#14181</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add &quot;Notebook behavior&quot; section for <code>F704</code>,
<code>PLE1142</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14266">#14266</a>)</li>
<li>Document comment policy around fix safety (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14300">#14300</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ed7b98cf9b"><code>ed7b98c</code></a>
Bump version to 0.7.4 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/14358">#14358</a>)</li>
<li><a
href="6591775cd9"><code>6591775</code></a>
[<code>flake8-type-checking</code>] Skip quoting annotation if it
becomes invalid syntax...</li>
<li><a
href="1f82731856"><code>1f82731</code></a>
Use CWD to resolve settings from <code>ruff.configuration</code> (<a
href="https://redirect.github.com/astral-sh/ruff/issues/14352">#14352</a>)</li>
<li><a
href="874da9c400"><code>874da9c</code></a>
[red-knot] Display raw characters for string literal (<a
href="https://redirect.github.com/astral-sh/ruff/issues/14351">#14351</a>)</li>
<li><a
href="375cead202"><code>375cead</code></a>
Sync vendored typeshed stubs (<a
href="https://redirect.github.com/astral-sh/ruff/issues/14350">#14350</a>)</li>
<li><a
href="9ec690b8f8"><code>9ec690b</code></a>
[red-knot] Add support for string annotations (<a
href="https://redirect.github.com/astral-sh/ruff/issues/14151">#14151</a>)</li>
<li><a
href="a48d779c4e"><code>a48d779</code></a>
[red-knot] function signature representation (<a
href="https://redirect.github.com/astral-sh/ruff/issues/14304">#14304</a>)</li>
<li><a
href="ba6c7f6897"><code>ba6c7f6</code></a>
[<code>pylint</code>] Remove check for dot in alias name in
`useless-import-alias (PLC04...</li>
<li><a
href="8095ff0e55"><code>8095ff0</code></a>
enforce required imports even with useless alias (<a
href="https://redirect.github.com/astral-sh/ruff/issues/14287">#14287</a>)</li>
<li><a
href="24cd592a1d"><code>24cd592</code></a>
Avoid module lookup for known classes when possible (<a
href="https://redirect.github.com/astral-sh/ruff/issues/14343">#14343</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.7.3...0.7.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ruff&package-manager=pip&previous-version=0.7.3&new-version=0.7.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>
2024-11-18 13:08:45 -05:00
dependabot[bot]
3104636cff
chore: bump ruff from 0.7.3 to 0.7.4
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.7.3 to 0.7.4.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.7.3...0.7.4)

---
updated-dependencies:
- dependency-name: ruff
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 18:01:54 +00:00
dependabot[bot]
91f3d55f5b
chore: bump rcssmin from 1.1.3 to 1.2.0
Bumps [rcssmin](https://github.com/ndparker/rcssmin) from 1.1.3 to 1.2.0.
- [Changelog](https://github.com/ndparker/rcssmin/blob/master/CHANGES)
- [Commits](https://github.com/ndparker/rcssmin/compare/1.1.3...1.2.0)

---
updated-dependencies:
- dependency-name: rcssmin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 18:01:30 +00:00
Yohan Boniface
4b170df1c2 fix: honour custom labelKey in default popup template
The default popup template expects a `name` key, so let's populate
it.
2024-11-16 11:20:23 +01:00
Yohan Boniface
123a6ea508 fix: honour rules and slideshow when importing a umap file
Side note (for another PR I'd say): this usually occurs on a non
saved map, but in case the map already exist and is in sync mode,
should we sync each property (safer but one call per property)
or the whole properties object (lighter, but may override unwanted
things in remote, and currently there is no method to do so).
2024-11-16 10:30:15 +01:00
6 changed files with 38 additions and 16 deletions

View file

@ -35,7 +35,7 @@ dependencies = [
"Pillow==11.0.0", "Pillow==11.0.0",
"psycopg==3.2.3", "psycopg==3.2.3",
"requests==2.32.3", "requests==2.32.3",
"rcssmin==1.1.3", "rcssmin==1.2.0",
"rjsmin==1.2.3", "rjsmin==1.2.3",
"social-auth-core==4.5.4", "social-auth-core==4.5.4",
"social-auth-app-django==5.4.2", "social-auth-app-django==5.4.2",
@ -44,7 +44,7 @@ dependencies = [
[project.optional-dependencies] [project.optional-dependencies]
dev = [ dev = [
"hatch==1.13.0", "hatch==1.13.0",
"ruff==0.7.3", "ruff==0.7.4",
"djlint==1.36.1", "djlint==1.36.1",
"mkdocs==1.6.1", "mkdocs==1.6.1",
"mkdocs-material==9.5.44", "mkdocs-material==9.5.44",

View file

@ -35,6 +35,7 @@ class PopupTemplate {
feature.properties.description || '', feature.properties.description || '',
properties properties
) )
properties.name = properties.name ?? feature.getDisplayName()
let content = Utils.greedyTemplate(template, properties) let content = Utils.greedyTemplate(template, properties)
content = Utils.toHTML(content, { target: target }) content = Utils.toHTML(content, { target: target })
return Utils.loadTemplate(`<div class="umap-popup-container text">${content}</div>`) return Utils.loadTemplate(`<div class="umap-popup-container text">${content}</div>`)

View file

@ -196,10 +196,10 @@ export default class Rules {
constructor(umap) { constructor(umap) {
this._umap = umap this._umap = umap
this.rules = [] this.rules = []
this.loadRules() this.load()
} }
loadRules() { load() {
if (!this._umap.properties.rules?.length) return if (!this._umap.properties.rules?.length) return
for (const { condition, options } of this._umap.properties.rules) { for (const { condition, options } of this._umap.properties.rules) {
if (!condition) continue if (!condition) continue

View file

@ -18,7 +18,7 @@ export default class Slideshow extends WithTemplate {
this._umap = umap this._umap = umap
this._id = null this._id = null
this.CLASSNAME = 'umap-slideshow-active' this.CLASSNAME = 'umap-slideshow-active'
this.setProperties(properties) this.load()
this._current = null this._current = null
if (this.properties.autoplay) { if (this.properties.autoplay) {
@ -54,7 +54,11 @@ export default class Slideshow extends WithTemplate {
return this.current.getNext() return this.current.getNext()
} }
setProperties(properties) { load() {
this.setProperties(this._umap.properties.slideshow)
}
setProperties(properties = {}) {
this.properties = Object.assign( this.properties = Object.assign(
{ {
delay: 5000, delay: 5000,

View file

@ -94,7 +94,7 @@ export default class Umap extends ServerStored {
// Needed to render controls // Needed to render controls
this.permissions = new MapPermissions(this) this.permissions = new MapPermissions(this)
this.urls = new URLs(this.properties.urls) this.urls = new URLs(this.properties.urls)
this.slideshow = new Slideshow(this, this._leafletMap, this.properties.slideshow) this.slideshow = new Slideshow(this, this._leafletMap)
this._leafletMap.setup() this._leafletMap.setup()
@ -671,6 +671,17 @@ export default class Umap extends ServerStored {
this.permissions.properties = Object.assign({}, this._backupProperties.permissions) this.permissions.properties = Object.assign({}, this._backupProperties.permissions)
} }
setProperties(newProperties) {
for (const key of Object.keys(SCHEMA)) {
if (newProperties[key] !== undefined) {
this.properties[key] = newProperties[key]
if (key === 'rules') this.rules.load()
if (key === 'slideshow') this.slideshow.load()
// TODO: sync ?
}
}
}
hasData() { hasData() {
for (const datalayer of this.datalayersIndex) { for (const datalayer of this.datalayersIndex) {
if (datalayer.hasData()) return true if (datalayer.hasData()) return true
@ -993,7 +1004,7 @@ export default class Umap extends ServerStored {
], ],
] ]
const slideshowBuilder = new U.FormBuilder(this, slideshowFields, { const slideshowBuilder = new U.FormBuilder(this, slideshowFields, {
callback: () => this.slideshow.setProperties(this.properties.slideshow), callback: () => this.slideshow.load(),
umap: this, umap: this,
}) })
slideshow.appendChild(slideshowBuilder.build()) slideshow.appendChild(slideshowBuilder.build())
@ -1483,15 +1494,9 @@ export default class Umap extends ServerStored {
importRaw(rawData) { importRaw(rawData) {
const importedData = JSON.parse(rawData) const importedData = JSON.parse(rawData)
const mustReindex = 'sortKey' in Object.keys(importedData.properties)
let mustReindex = false this.setProperties(importedData.properties)
for (const option of Object.keys(SCHEMA)) {
if (typeof importedData.properties[option] !== 'undefined') {
this.properties[option] = importedData.properties[option]
if (option === 'sortKey') mustReindex = true
}
}
if (importedData.geometry) { if (importedData.geometry) {
this.properties.center = this._leafletMap.latLng(importedData.geometry) this.properties.center = this._leafletMap.latLng(importedData.geometry)

View file

@ -57,6 +57,18 @@ def test_should_handle_locale_var_in_description(live_server, map, page):
expect(link).to_have_attribute("href", "https://domain.org/?locale=en") expect(link).to_have_attribute("href", "https://domain.org/?locale=en")
def test_should_use_custom_label_key_in_popup_default_template(live_server, map, page):
data = deepcopy(DATALAYER_DATA)
data["features"][0]["properties"] = {
"libellé": "my custom label",
}
data["_umap_options"] = {"labelKey": "libellé"}
DataLayerFactory(map=map, data=data)
page.goto(f"{live_server.url}{map.get_absolute_url()}")
page.locator(".leaflet-marker-icon").click()
expect(page.locator(".umap-popup h4")).to_have_text("my custom label")
def test_should_display_tooltip_with_variable(live_server, map, page, bootstrap): def test_should_display_tooltip_with_variable(live_server, map, page, bootstrap):
map.settings["properties"]["showLabel"] = True map.settings["properties"]["showLabel"] = True
map.settings["properties"]["labelKey"] = "Foo {name}" map.settings["properties"]["labelKey"] = "Foo {name}"