Pierre de La Morinerie
6596ea0bab
js: support payload-less requests
2022-05-25 21:50:49 +02:00
Paul Chavard
88eb14c623
feat(autosave): submit on input events
2022-05-24 15:05:14 +02:00
Paul Chavard
df914d273f
feat(turbo): add turbo-poll controller
2022-05-17 16:08:47 +02:00
Paul Chavard
e8c875a461
fix(fetch): prevent double parsing of fetch error messages
2022-05-17 10:38:19 +02:00
Paul Chavard
6d0b3d93ed
fix(autosave): prevent autosave if current champ is detached from the form
2022-05-16 14:07:02 +02:00
Paul Chavard
2e8bc7e1d0
fix(js): polyfill Node.isConnected for IE
2022-05-11 16:23:42 +02:00
Paul Chavard
b076ecaf96
feat(a11y): implement accessible menu button
2022-05-11 16:23:42 +02:00
Paul Chavard
10f6378cf0
fix(upload): silence common client errors in sentry
2022-05-11 13:44:50 +02:00
Paul Chavard
531464fab1
fix(js): bring back js request for now
2022-05-11 09:34:19 +02:00
Paul Chavard
c9b8d43acd
feat(autosave): use new autosave controller
2022-05-10 18:10:20 +02:00
Paul Chavard
3fea34732e
feat(autosave): add stimulus autosave-status controller
2022-05-10 18:10:20 +02:00
Paul Chavard
adb19a941f
feat(autosave): add stimulus autosave controller
2022-05-10 18:10:20 +02:00
Paul Chavard
525eebf600
feat(js): implement auto upload class
2022-05-10 18:10:20 +02:00
Paul Chavard
b29116817b
refactor(js): improuve uploader
2022-05-10 18:10:20 +02:00
Paul Chavard
ce58ab98c1
refactor(js): move around stimulus initializers
2022-05-10 18:10:20 +02:00
Paul Chavard
39761f45a0
cleanup(js): remove old autosave/autoupload code
2022-05-10 18:10:20 +02:00
Paul Chavard
3d8980f686
feat(httpRequest): add error body parsing
2022-05-10 18:10:20 +02:00
Paul Chavard
12884e0242
cleanup(js): remove unused utils
2022-05-10 18:10:20 +02:00
Paul Chavard
59c6fd1763
refactor(ts): improuve utils types
2022-05-10 18:10:20 +02:00
Paul Chavard
9b01b2cff9
feat(stimulus): add onGlobal helper
2022-05-10 18:10:20 +02:00
Paul Chavard
83afe1ad8c
fix(multiselect): allow to have options with the same label
2022-05-10 13:30:40 +02:00
simon lehericey
5040b877d1
remove unused franceconnect.js
2022-05-06 11:50:32 +02:00
Paul Chavard
9e0b3b642f
cleanup(sendinblue): remove sendinblue tracking
2022-05-06 11:14:44 +02:00
Paul Chavard
4307445999
fix(js): prevent old Edge from crashing
2022-05-05 09:35:53 +02:00
Paul Chavard
1a9f2f0eef
refactor(champ): improuve repetition champ
2022-05-04 17:18:52 +02:00
Paul Chavard
2db892d876
refactor(turbo): champ siret and dossier_link use turbo
2022-05-04 14:11:43 +02:00
Paul Chavard
1c2bd5543f
refactor(turbo): champ carte use turbo
2022-05-04 14:11:43 +02:00
Paul Chavard
1500a1cf28
feat(turbo): add enable and disable mutations
2022-05-04 14:11:43 +02:00
Paul Chavard
cfb83bbdda
feat(turbo): add on
method to stimulus application controller
2022-05-04 14:11:43 +02:00
Paul Chavard
af363b721b
refactor(js): use httpRequest instead of getJSON and ajax
2022-05-03 15:09:30 +02:00
Paul Chavard
229eb1a775
feat(js): add httpRequest
2022-05-03 15:09:30 +02:00
Paul Chavard
3f4004b188
fix(js): add DocumentFragment.children polyfill for IE
2022-05-03 12:38:17 +02:00
Paul Chavard
a16d07ef7c
fix(js): fix IE 11 fucked template element support
2022-04-29 18:24:53 +02:00
Paul Chavard
1890c05974
fix(js): more polyfills for IE
2022-04-29 14:11:00 +02:00
Paul Chavard
67ba8acff7
fix(react): too soon for strict mode
2022-04-28 14:45:35 +02:00
Paul Chavard
5c77bc139a
refactor(carto): remove preview special case
2022-04-28 12:20:41 +02:00
Paul Chavard
20a78f08c9
fix(js): add turbo and stimulus polyfills
2022-04-28 11:14:26 +02:00
Paul Chavard
86df16ebda
feat(view_components): add view_components
2022-04-26 14:54:58 +02:00
Paul Chavard
02f977fd8d
refactor(champs): refactor champs components to use typescript
2022-04-26 13:56:26 +02:00
Kara Diaby
b1ab0c6ed2
Ajoute un avertissement sur les champs de type Titre Identité
2022-04-26 08:33:30 +02:00
Paul Chavard
bca97268a8
fix(upload): errorFromDirectUploadMessage should take Error or string
2022-04-24 11:47:17 +02:00
Paul Chavard
62dca1c7b0
refactor(js): remove ds:page:update event
2022-04-22 10:24:39 +02:00
Paul Chavard
b585808924
refactor(js): add geo-area stimulus controller
2022-04-22 09:40:52 +02:00
Paul Chavard
22aefbaa4a
refactor(js): remove geo-area event handlers
2022-04-22 09:40:17 +02:00
Paul Chavard
0dac59bffc
refactor(js): use DOMContentLoaded instead of ds:page:update
2022-04-22 09:40:17 +02:00
Paul Chavard
0bd71ad51a
feat(turbo): add turbo event helpers
2022-04-21 19:41:27 +02:00
Paul Chavard
55d6b787c8
feat(js): add turbo
2022-04-21 19:41:27 +02:00
Paul Chavard
64c599e208
refactor(stimulus): initiate react components via stimulus
2022-04-20 14:08:47 +02:00
Paul Chavard
c96adbf2d2
chore(chartkick): upgrade to 4.1 and use built-in lazy loading
2022-04-15 12:12:18 +02:00
Paul Chavard
2ce9c842a1
refactor(type_de_champs): use typescript in type de champs editor
2022-04-08 14:34:27 +02:00
Paul Chavard
cd4d7b5d36
refactor(react): useDeferredValue
2022-03-31 12:39:17 +02:00
Paul Chavard
4a7324951b
refactor(react): useId
2022-03-31 12:39:17 +02:00
Paul Chavard
44c64669e9
Revert "Merge pull request #6787 from tchak/use-vite"
...
This reverts commit 5d572727b5
, reversing
changes made to 43be4482ee
.
2022-03-31 12:07:52 +02:00
Paul Chavard
187e84a010
feat(assets): use vitejs to build javascript
2022-03-29 16:27:08 +02:00
Paul Chavard
af166f5520
fix(carto): render GeoJSON layers after map style changes
2022-03-22 09:26:11 +01:00
Paul Chavard
d2e9cb5253
fix(map): remove IGN token
2022-03-17 11:55:20 +01:00
Paul Chavard
31da6178cc
refactor(maplibre): improuve type imports
2022-03-17 11:55:20 +01:00
Paul Chavard
b8a22ae8b2
fix(multi-select): fix labels on multi select component
2022-03-02 09:48:54 +00:00
Paul Chavard
2a42690388
fix(carto): show map UI before loading map styles
2022-03-01 11:08:07 +00:00
Paul Chavard
7c8e97f084
chore(eslint): ignore type of global react-query queryFn
2022-02-23 15:28:51 +01:00
Paul Chavard
cd2273ba54
chore(eslint): ignore any types in maplibre styles
2022-02-23 15:28:51 +01:00
Paul Chavard
67bfeb261a
chore(eslint): fix gon types
2022-02-23 15:28:51 +01:00
Paul Chavard
12ddaa0533
chore(eslint): disable types because we use mapbox plugin with maplibre
2022-02-23 15:28:51 +01:00
Paul Chavard
96e9024694
chore(eslint): disable types on complicated event handlers
2022-02-23 15:28:51 +01:00
Paul Chavard
4e218ba562
chore(eslint): fix react-query cancelable promise type
2022-02-23 15:28:51 +01:00
Paul Chavard
a914950982
chore(eslint): fix getJSON reponse type
2022-02-23 15:28:51 +01:00
Paul Chavard
beafa21796
chore(eslint): fix isNumeric types
2022-02-23 15:28:51 +01:00
Paul Chavard
95b9e47993
chore(eslint): fix flash message root element query
2022-02-23 15:28:51 +01:00
Paul Chavard
68e89af775
chore(eslint): make react-hooks/exhaustive-deps rule as an error
2022-02-23 15:28:51 +01:00
Pierre de La Morinerie
50cafc033f
js: fix OperationQueue error handling
...
When an exception is raised, `response.json()` may have been called
already. In that case, when accessing `response.text()` in the error
handler, a "Response.text: Body has already been
consumed." error will be raised.
2022-02-15 12:23:18 +01:00
François Vantomme
cc6cb2ea30
feat(matomo): use env variables to set the domain
2022-02-15 09:25:23 +01:00
Paul Chavard
1f661325a5
refactor(carto): use maplibre instead of mapbox
2022-02-09 10:29:00 +01:00
Paul Chavard
ea6aec8b1a
chore(webpack): enable typescript
2022-02-09 10:29:00 +01:00
Pierre de La Morinerie
d4fada9f6c
config: add MATOMO_HOST environment variable
2022-01-19 15:43:44 +01:00
Paul Chavard
902f7f6cb3
fix(select): improuve multi select onBlure
2022-01-13 17:49:16 +01:00
Paul Chavard
7e81b257b1
test(system): simplify select menu selector
2022-01-13 17:49:16 +01:00
Paul Chavard
4a718eae92
fix(select): always show menu on click in the input
...
fix #6655
2022-01-11 12:11:45 +01:00
Paul Chavard
967699c305
fix(select): improuve no results found message
2022-01-11 12:10:20 +01:00
Paul Chavard
d6b6bb0f2a
a11y(combobox): add support for describedby and labelledby and improuve external fields handling
2022-01-05 12:33:40 +01:00
Paul Chavard
6776a5e05a
fix(react): remove register component cache
2022-01-03 19:41:23 +01:00
Pierre de La Morinerie
07230870d3
js: don't track external links
...
This fixes an issue where, by default, links to private attachments are
reported to Matomo.
This is benign: attachments URLs can be filtered out server-side, and
expire after one hour anyway. But we don't want to ship an insecure
configuration by default.
2021-12-23 09:50:21 +01:00
Paul Chavard
f8d245d2f8
refactor(js): use dynamic import
2021-12-21 17:09:49 +00:00
Paul Chavard
ed2cbdc966
fix(champ): save departement name without code prefix
2021-12-06 20:58:08 +01:00
Pierre de La Morinerie
115ca5e24a
js: don't create invalid menus by default
...
When a new "Menu" type de champ is added, it comes pre-filled with a
menu title – and nothing else. Which is confusing, and invalid.
Instead pre-fill the type de champ with actual values (no titles).
2021-12-02 09:00:37 +01:00
Paul Chavard
7d189575af
fix(commune): do not display foreign departement when selecting commune
2021-11-25 13:49:57 +03:00
mfo
91c3a8be19
fix(eslint): max columns
2021-11-25 13:43:28 +03:00
Martin
0d486981a6
fix(ComboCOmmunesSearch.typo): fix combo communes search typo
2021-11-25 13:43:28 +03:00
Paul Chavard
ae09b37e72
fix(champs): save departement info on champ commune
2021-11-17 14:52:47 +03:00
Paul Chavard
ba0211ba52
feat(champ): ask for departement before asking for commune
2021-11-04 11:55:25 +01:00
Paul Chavard
7ebc439630
refactor(drop_down_list_champ): other option
2021-10-27 12:01:15 +02:00
Paul Chavard
8154daf847
refactor(drop_down_list_champ): other option
2021-10-27 12:00:39 +02:00
kara Diaby
c2fcd3992d
add other option for dropdown select
2021-10-26 16:11:15 +02:00
kara Diaby
0e65916e44
add other option for dropdown radio
2021-10-26 16:11:15 +02:00
kara Diaby
dc35d9521f
add other option to liste deroulante champ
2021-10-26 16:11:15 +02:00
Paul Chavard
d308448f02
feat(type_de_champ): add secondary label and description do linked drop downs
2021-10-26 12:18:01 +02:00
simon lehericey
933d7b8c8d
merge with another preexisting account
2021-10-14 14:47:50 +02:00
simon lehericey
ce40e1127d
merge with another new account
2021-10-14 14:47:50 +02:00
simon lehericey
19f81b594b
merge with an existing account by using the password
2021-10-14 14:47:50 +02:00
Pierre de La Morinerie
b2774ed2f6
js: fix pays API request on older Edge and Safari
...
The /api/pays API requires user authentication. However older versions
of Edge and Safari don't transmit cookies by default during a
`fetch` request.
Use the `credentials: 'same-origin'` option explicitely to fix the
countries list.
2021-09-30 16:21:24 +02:00
Pierre de La Morinerie
4f33a7b72e
js: improve auto-save-controller documentation
2021-09-07 16:45:52 -05:00
Pierre de La Morinerie
ad8dcc7f7d
js: don't report autosave failures that are timeouts
...
This prevents spamming Sentry with "[Autosave] Error: 0" messages.
2021-09-07 16:45:52 -05:00
Pierre de La Morinerie
8dce7d59ed
js: redirect to sign-in when a ujs link_to receives a 401
...
Before, when a 401 was received by a ujs-enabled link (like `link_to …,
method: :delete, data: { remote: true }`, rails-ujs tried to insert the
response text as a Javascript script.
As the script was something like `Please sign-in`, which is not valid
Javascript, the browser would throw an "Unexpected token" error.
The typical use-case is:
1. The user open a form in a tab,
2. The user disconnects in another tab,
3. In the first tab, the user clicks on a remote "Delete" link_to
In that case the browser raised an error in the console (and in Sentry),
but the user would see nothing.
With this commit, all 401 ujs errors are turned into redirects to the
sign-in page.
Fix https://sentry.io/organizations/demarches-simplifiees/issues/2522512693/activity/
2021-09-07 16:45:52 -05:00
Pierre de La Morinerie
255c00c174
js: ignore a new variant of the same warning
2021-09-07 16:45:52 -05:00
Jérôme Desboeufs
7079af2fd4
Update photographies-aeriennes basemap URL
2021-09-01 21:58:12 +02:00
Pierre de La Morinerie
7380d27d78
js: fix null xhr in autosave error handling
...
Sentry reports many cases of the xhr object being missing in the
error handler.
Ensure the error handling code doesn't crash because of the missing xhr.
2021-08-31 14:54:02 -05:00
Paul Chavard
5d63ced246
fix(eslint): fix eslint warnings
2021-08-31 18:14:04 +02:00
Paul Chavard
a3cc072bbd
feat(i18n): translate countries selector
2021-08-31 13:15:26 +02:00
Paul Chavard
b81cfea0e4
fix(combo-search): can input empty value
2021-08-18 15:48:37 +01:00
Paul Chavard
2a84f14521
Make generic
2021-08-18 12:09:20 +02:00
Pierre de La Morinerie
e1909ed29f
brouillon: redirect to sign-in when disconnected
...
There are two cases where the draft auto-save might fail because the
user is no longer authenticated:
- The user signed-out in another tab,
- The brower quit and re-opened, so the Session cookie expired.
In both cases, the auto-save will never succeed until the user
authenticates again, so displaying a "Retry" button is cruel.
Moreover, in plus of all auto-save requests failing with a small error,
the actual hard failure only occurs after filling all the form and
trying to submit it. Then the user is redirected to the sign-in page –
but all their changes are lost.
Instead, we now redirect to the sign-in page on the first 401 error
during the auto-save, let the user sign-in, and then redirect back to
the form.
2021-07-22 11:58:02 +02:00
Pierre de La Morinerie
7808f6dd4f
js: document utils.ajax()
2021-07-22 11:58:02 +02:00
Pierre de La Morinerie
c6fff58f38
js: fix typo in comment
2021-07-22 11:58:01 +02:00
Pierre de La Morinerie
071d9145ca
js: don't attempt to log unexistent statusText
2021-07-22 11:58:01 +02:00
Paul Chavard
c7b0b8495b
Get more results from communes API and use local matcher
2021-07-20 13:34:17 +02:00
Pierre de La Morinerie
63cde95fc9
js: ignore errors generated by a Microsoft crawler
...
Sentry has a lot of Javacript errors stating:
> UnhandledRejection: Non-Error promise rejection captured with value: Object Not Found Matching Id:2
This is apparently caused by a Microsoft crawler (maybe for scanning
targets of email links), and can be safely ignored.
See https://forum.sentry.io/t/unhandledrejection-non-error-promise-rejection-captured-with-value/14062/12
2021-07-20 09:21:59 +02:00
Paul Chavard
38fdaa7404
Trigger onStyleChange when leyers are toggled
2021-07-07 16:23:55 +02:00
Paul Chavard
1e4c943392
Fix map controls checkbox labels
2021-07-07 15:38:21 +02:00
Paul Chavard
65adce1e24
Fix cadastres layer
2021-07-07 15:38:21 +02:00
Paul Chavard
527db7631e
Add a point on map from coordinates input
2021-07-07 13:33:28 +02:00
Paul Chavard
0ce708028d
Prevent crashes in combo boxes
2021-07-06 15:06:38 +02:00
Paul Chavard
87fb98f5ed
Make IGN layers opacity configurable
2021-07-06 10:36:12 +02:00
Paul Chavard
fc966a2761
IGN layers on maps can now be disabled by the user
2021-06-30 20:07:52 +02:00
Paul Chavard
10cdd2c77e
Apply suggestions from code review
...
Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>
2021-06-16 09:38:47 +02:00
Paul Chavard
7f28c49887
expand commune searches with multiple post codes
2021-06-16 09:29:25 +02:00
Paul Chavard
7575f50d25
Fix autocomplete on blur
2021-06-15 10:13:31 +02:00
Paul Chavard
7f4e174871
Declare useCallback dependencies
2021-06-15 10:13:31 +02:00
simon lehericey
6be0bbaa9c
Change bottom champs editor button from enregistrer to continuer
2021-06-15 09:54:32 +02:00
Paul Chavard
1b0cc62fc2
Add cadastres to MapReader
2021-05-24 11:57:00 +02:00
Paul Chavard
2244263b49
Add cadastres to MapEditor
2021-05-24 11:57:00 +02:00
Paul Chavard
19440afebf
Improuve mapbox utilis and shared components
2021-05-24 11:57:00 +02:00
Paul Chavard
bf462380e6
MultiSelect: select values on blur
2021-05-20 17:21:13 +02:00
Paul Chavard
3313ea5885
MultiSelect: do not show empty results on free form inputs
2021-05-20 17:21:13 +02:00
Paul Chavard
e0d8d096f2
MultiSelect: improuve setters
2021-05-20 17:21:13 +02:00
Paul Chavard
868ec214ce
MultiSelect: enable adding multiple emails with , or space
2021-05-20 17:21:13 +02:00
Paul Chavard
bf9f29cc71
Fix messagerie scroll to last message
2021-05-20 11:58:54 +02:00
Paul Chavard
69ab7854c2
replace fontawesome with heroicons
2021-04-29 15:20:05 +02:00
Paul Chavard
6e1b4a2067
Update and pin mapbox-gl
2021-04-28 15:34:53 +02:00
Paul Chavard
85b907807a
Improuve ComboMultipleDropdownList style
2021-04-28 12:54:45 +02:00
Paul Chavard
6836191ca5
Improuve commune autocomplete results
2021-04-22 09:59:21 +01:00
Christophe Robillard
6026793c1d
focus to target after toggle
2021-03-17 11:31:51 +01:00
Christophe Robillard
df3bd3a1d2
handle focus during and after upload
2021-03-17 11:31:51 +01:00
Christophe Robillard
43039d1755
add aria-value min, max and now for progressbar upload
2021-03-17 11:31:51 +01:00
Paul Chavard
6f543d3770
Handle invalid GeoJSON in the editor
2021-03-11 15:51:09 +01:00
Paul Chavard
9f8c55969d
Add proper external data API errors handling
2021-03-04 10:16:06 +01:00
Paul Chavard
2c2b392d6c
Fix multiselect labels
...
only add values to new values if it is a new value
2021-02-19 12:08:54 +01:00
Paul Chavard
24f71ccc1a
Improuve multi select
...
In multi select with acceptNewValues option alway keep the new value as the first item in the list to make it easier to add it
2021-02-19 10:53:16 +01:00
Paul Chavard
6756db1013
Update react-query
2021-02-16 18:14:11 +01:00
Paul Chavard
bb49f6e151
replace react-use with use-debounce
...
this is a much lighter dependencie
2021-02-16 18:14:10 +01:00
Paul Chavard
3dae5b5c04
update react
2021-02-16 18:14:10 +01:00
Paul Chavard
df80f5681d
remove react-scroll-to-component
2021-02-16 18:14:10 +01:00