Commit graph

468 commits

Author SHA1 Message Date
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