Pierre de La Morinerie
55788990da
javascript: add a helpful message on connectivity error
2020-04-16 11:20:45 +02:00
Pierre de La Morinerie
432967bd76
javascript: make Uploader always throw the same kind of errors
...
A DirectUpload may fail for several reasons, and return many types of
errors (string, xhr response, Error objects, etc).
For convenience, wrap all these errors in a FileUploadError object.
- It makes easier for clients of the Uploader class to handle errors;
- It allows to propagate the error code and failure responsability.
2020-04-16 11:20:45 +02:00
Pierre de La Morinerie
d8f3b86b0e
javascript: move auto-upload attachment to the Uploader class
...
Rationale:
- It makes more sense to handle the progress bar updates in a single class;
- This will allow us to unify the error handling.
2020-04-16 11:20:45 +02:00
Paul Chavard
442a6a3cdd
Remove deprecated map reader
2020-04-15 18:07:09 +02:00
Paul Chavard
22604013d0
Expose multiple user selections on champ carte
2020-04-15 18:07:09 +02:00
Paul Chavard
52d2ace823
Remove quartiers prioritaires
2020-04-14 10:29:59 +02:00
Pierre de La Morinerie
61660b1b3b
javascript: remove unused jQuery.active bookkeeping
2020-04-09 17:52:47 +02:00
Pierre de La Morinerie
c633cd0888
javascript: improve Sentry grouping of direct upload errors
...
DirectUpload returns errors as strings, including an HTTP status and a
file name (and without a stack trace).
But Sentry groups issues according to the stack trace, and maybe the
error message in last resort.
So we have an issue: as all DirectUpload errors logged by Sentry are
generated on the same line, with random-looking messages, Sentry groups
them either too or too little aggressively.
Instead of creating all the errors on the same line:
- add some `if`s statements to create them on different lines (and so
with different stack traces),
- strip the file name from the error message.
This allows Sentry to group the errors properly, with meaningful error
messages.
2020-04-09 17:38:44 +02:00
Pierre de La Morinerie
bc1c15b81d
javascript: make DirectUpload errors return true error objects
...
DirectUpload errors are string (instead of error objects). But Sentry
works better if we have true errors, which include the stacktrace.
2020-04-09 12:50:47 +02:00
kara Diaby
d18bc1c421
Improve the mapbox-gl support detection for older browsers
2020-04-09 11:01:20 +02:00
kara Diaby
56e9834389
Revert "Revert "Revert "Revert "feat/4893 - migrate the mapReader to mapbox-gl with react""""
...
This reverts commit 473ed00b6c
.
2020-04-09 11:01:20 +02:00
Pierre de La Morinerie
444732b117
javascript: don't allow to retry on direct upload 422
...
When the authenticity token is invalid, the creation of the blob before
the direct upload returns a 422.
In that case, the token will never become valid again, and it is useless
to try again. Don’t show the "Retry" button in this case.
NB: of course the real fix is to understand why the authenticity token
is so often invalid – but this will be for later.
2020-04-08 15:48:23 +02:00
Pierre de La Morinerie
38b0bd645c
javascript: fix clicking on the icon of the auto-upload Retry button
...
When clicking on the icon, `event target` would be the icon, not
the button.
However delegates configures `this` to be the requested event target.
2020-04-08 15:48:23 +02:00
kara Diaby
473ed00b6c
Revert "Revert "Revert "feat/4893 - migrate the mapReader to mapbox-gl with react"""
...
This reverts commit fe0b3c2215
.
2020-04-07 18:14:07 +02:00
kara Diaby
fe0b3c2215
Revert "Revert "feat/4893 - migrate the mapReader to mapbox-gl with react""
...
This reverts commit 3e21b78142
.
2020-04-07 18:11:11 +02:00
Pierre de La Morinerie
3e21b78142
Revert "feat/4893 - migrate the mapReader to mapbox-gl with react"
2020-04-07 15:32:14 +02:00
Pierre de La Morinerie
38c0cdc360
javascript: ignore errors of attachments pooler
...
Pooling for attachment status is a background operation. Errors should
not be reported to the user, who didn't even ask for this operation to
take place.
This is why we ignore all errors, whether Javascript exceptions or
network errors.
2020-04-07 12:35:54 +02:00
Pierre de La Morinerie
c506402dcb
dossier: remove the now unused champId
in auto-upload
2020-04-06 11:50:31 +02:00
Pierre de La Morinerie
91260e2867
dossier: fix upload route of piece_justificative in repetitions
...
In repetitions, `form.index` doesn't make much sense. Turns out we
don't really need the index of the champ: we can just use the champ id.
2020-04-06 11:50:31 +02:00
kara Diaby
aa56cfd7a0
migrate map to mapbox-gl with a react component
2020-04-02 15:39:47 +02:00
Pierre de La Morinerie
6417c0d2c0
dossiers: allow auto upload of attachments
2020-03-31 13:09:44 +02:00
Pierre de La Morinerie
a1083ca253
javascript: add some comments to the upload systems
2020-03-31 13:09:17 +02:00
Pierre de La Morinerie
7a27e78452
specs: remove unused wait-for-ajax helper
...
This helper is:
- no longer used;
- buggy (not all requests increment it);
- discouraged (we should instead match an UI change that signals the end
of an ajax request).
Good riddance.
2020-03-31 12:54:49 +02:00
Pierre de La Morinerie
e908b42b43
javascript: move the autosave files to a sub-directory
2020-03-23 14:02:29 +01:00
Pierre de La Morinerie
ec2199f7b1
javascript: make utils.ajax() return a promise
...
This allow to use `await ajax(…)`, and still have Rails manage the
request, insert the proper headers and tokens, etc.
2020-03-19 18:28:24 +01:00
Paul Chavard
d8eb3ebb94
Load chartkick and highcharts only on stat pages
2020-02-25 09:07:07 +01:00
Paul Chavard
0b06864f7a
Upgrade core-js
2020-02-24 19:43:07 +01:00
Paul Chavard
5afe158c89
Tweak a bit timeout values for export polling
2020-02-03 15:56:10 +01:00
Paul Chavard
068471003d
Add a timeout to select2 queries
2020-02-03 15:34:08 +01:00
Paul Chavard
a86129c3a1
Revert "Revert "Update javascript dependencies and add webpack-bundle-analyzer""
...
This reverts commit eddd59e554
.
2020-02-03 14:54:25 +01:00
Paul Chavard
08400cdd4c
Poll for export readiness updates
2020-01-29 22:52:03 +01:00
Keirua
eddd59e554
Revert "Update javascript dependencies and add webpack-bundle-analyzer"
2020-01-29 14:51:55 +01:00
Paul Chavard
4982039086
Fix fontawesome not tree shaking properly
2020-01-28 16:37:44 +01:00
Paul Chavard
7ebebf2e80
Refactor leaflet code for better loading
2020-01-28 16:37:44 +01:00
Keirua
455f164d02
Detail the reason why we include the search term in the results
...
Co-Authored-By: Pierre de La Morinerie <pierre.de_la_morinerie@beta.gouv.fr>
2020-01-27 16:47:32 +01:00
clemkeirua
9e858ae5ad
possibilite de selectionner un resultat quand il n'y a rien dans le champ adresse
2020-01-27 12:51:06 +01:00
Paul Chavard
f03cca4386
Search departements by code
2020-01-23 14:12:19 +00:00
Paul Chavard
14295db9ad
Revert "Revert "Merge pull request #4552 from tchak/champ-communes""
...
This reverts commit 4373cb22cb
.
2020-01-14 18:46:07 +01:00
clemkeirua
4373cb22cb
Revert "Merge pull request #4552 from tchak/champ-communes"
...
This reverts commit 4cec26f73a
, reversing
changes made to 0ef25ef36c
.
2020-01-13 16:26:27 +01:00
Paul Chavard
e61e39d345
Remove unused code and tests
2020-01-07 11:52:51 +01:00
Paul Chavard
22aa2d4ee0
Make all location champs autocomplete
2020-01-07 11:52:51 +01:00
Pierre de La Morinerie
a5f2c84cbf
sign_up: fix suggestions error when navigating away
...
When navigating away from the page, the field receives the 'focusout'
event – but stops to be present in the DOM.
Thus we need to check that the DOM element is actually present.
2019-12-19 17:45:14 +01:00
clemkeirua
c2c3f05262
p'tit fix d'utilisabilité
2019-12-16 09:49:23 +01:00
Paul Chavard
3a142fea40
Isolate react components from react loaders
2019-12-04 16:26:59 +01:00
Paul Chavard
03326169c5
Always load IntersectionObserver to fix old browsers
...
fix #4614
2019-12-04 16:26:59 +01:00
Pierre de La Morinerie
f351ade434
javascript: expose Turbolinks globally
...
When calling `redirect_to` in a Rails controller that emits Javascript,
Rails will emit `Turbolinks.replace(…)` commands. And for this,
Turbolinks needs to be globally available.
2019-12-03 16:28:47 +01:00
clemkeirua
841b00bafe
focus sur le mot de passe lorsqu'on traite les suggestions
2019-12-03 14:06:12 +01:00
clemkeirua
8cab6ae19f
retours divers
2019-12-03 14:06:12 +01:00
Pierre de La Morinerie
fb3f82074d
Hide the suggestions when the user corrects the address
2019-12-03 14:06:11 +01:00
Pierre de La Morinerie
1d1260060e
Fix the tests by using event delegation
2019-12-03 14:06:11 +01:00
clemkeirua
80b68afab5
implement email suggestion
2019-12-03 14:06:11 +01:00
clemkeirua
0bfdb2d5da
fermeture et acceptation de la suggestion d'email
2019-12-03 14:06:11 +01:00
Paul Chavard
2cf415dc41
Simplify React components loader
2019-11-28 14:45:40 +01:00
Pierre de La Morinerie
b9fd844633
dossiers: fix autosave not ignoring file inputs
...
The dossier autosave is supposed to ignore file inputs (which are
handled differently by ActiveStorage).
Fix a typo in the CSS selector.
2019-11-27 13:57:39 +00:00
Pierre de La Morinerie
52051914aa
editor: disable the "Add champ" button until the champ is saved
...
Otherwise some champs are created before the previous one has been
saved, and React complains that several champs have the same
`champ-undefined` key.
(Plus it made the tests flaky and unreliable.)
2019-11-27 11:58:46 +01:00
Pierre de La Morinerie
7ed649dfca
editor: don't create a champ by default
...
Before the editor attempted to create a default champ as soon as the
list became empty.
This created many race conditions, which made the tests flaky.
Remove this behavior, and add an empty label instead.
2019-11-27 11:58:45 +01:00
Pierre de La Morinerie
30b822b135
dossiers: don't trigger an autosave when an attachment is modified
...
The draft autosave should not be triggered when attaching a file
(as file inputs are handled separately).
2019-11-27 10:37:33 +00:00
Pierre de La Morinerie
c6eab70679
dossiers: autosave shouldn't send files being uploaded
...
When a file is being uploaded asynchronosely, hidden input fields
are created by DirectUpload to contain the result of the upload.
However, before the upload finishes, the value of these inputs is not
meaningful. Moreover, it makes the ActiveRecord signature invalid – thus
preventing drafts from being saved.
Exclude these fields from the auto-save.
2019-11-27 10:37:33 +00:00
Pierre de La Morinerie
64d96646a3
javascript: autosave with explicit cookies settings
...
Older browsers implemented a different default value for `window.fetch`
credentials: it was omitted unless explicitely set.
So we force the value for these older browsers:
- Firefox 39-60
- Chrome 42-67
- Safari 10.1-11.1.2
See https://github.com/github/fetch#sending-cookies
2019-11-27 10:37:33 +00:00
Pierre de La Morinerie
2309017727
javascript: add a window.fetch polyfill
...
This allows the autosave to work on browsers that don't support fetch:
- IE 11
- Edge < 14
- Safari < 11
2019-11-27 10:37:33 +00:00
Pierre de La Morinerie
6de5c0c9d1
autosave: make requests time out
...
This avoids recent requests being stuck because an older request never
finished.
2019-11-21 14:00:06 +01:00
Pierre de La Morinerie
68f5aae99d
autosave: add feature test
2019-11-21 14:00:06 +01:00
Pierre de La Morinerie
bff7892ba8
dossiers: autosave drafts
2019-11-21 14:00:06 +01:00
Pierre de La Morinerie
74a9db6580
javascript: make utils resilient to missing elements
2019-11-20 17:36:09 +01:00
simon lehericey
9ca026a630
Use a select2 box for looking to instructeurs
2019-11-18 17:08:51 +01:00
Pierre de La Morinerie
8a7f4ec769
editor: reduce scroll duration when inserting a new champ
...
The previous default was 1s, which felt slooooow.
2019-11-07 15:49:15 +01:00
Pierre de La Morinerie
fc8a0d46ff
editor: insert new champs after the last fully visible champ
...
Before, when the "Add new champ" button was clicked, the new champ
was inserted after the **first** fully visible champ.
That was most of the time unexpected. The correct behavior would be to
insert the new champ after the **last** fully visible champ.
That's what this commit does. Now the "Add new champ" behavior feels
much less confusing.
2019-11-07 15:19:11 +01:00
Pierre de La Morinerie
5be83bd01e
procedure: make the layout more similar to the mockup
2019-10-31 10:27:19 +01:00
Pierre de La Morinerie
02384b078c
procedure: remove UI to edit the european flag
...
This is an option we want to deprecate, and remove entirely in the
future.
Admins can still add the EU flag manually to their uploaded logo.
2019-10-31 10:27:19 +01:00
Nicolas Bouilleaud
72b7ff221c
move procedure to new design
2019-10-31 10:27:19 +01:00
Pierre de La Morinerie
bb024d1850
javascript: display a localized message on upload errors
2019-10-24 16:12:56 +02:00
Pierre de La Morinerie
a3057afc22
javascript: report upload errors to Sentry
2019-10-24 16:12:56 +02:00
Paul Chavard
a192924ee5
Fix infinit rerendering of TypeDeChamp component
...
fix #4428
2019-10-24 13:31:54 +02:00
Nicolas Bouilleaud
c26a701a17
Refactor and redesign publish modal
...
* remove the autocomplete menu
* use ujs to pre-validate the procedure
* tweak the UI
2019-09-17 16:30:48 +02:00
clemkeirua
c2916e9d05
remove possibility to create carte with parcelle agricole
2019-08-29 16:01:35 +02:00
Paul Chavard
6215ccb3d7
Fix carte initialize
2019-08-21 10:48:49 +02:00
Paul Chavard
86b9ed2079
Run load scripts after ujs responces
2019-08-13 17:03:55 +01:00
clemkeirua
caa90613fd
ajout d'un confirm à la suppression d'un champ
2019-07-25 10:46:40 +02:00
Chaïb Martinez
d968e7e6bd
Add some admin usage info for contextual help with crisp
...
Fix #4052
Signed-off-by: Chaïb Martinez <chaibax@gmail.com>
2019-07-15 12:10:56 +02:00
Chaïb Martinez
535d032b73
Send URL page view to Crisp to trigger contextual help
...
Fix #4052
Signed-off-by: Chaïb Martinez <chaibax@gmail.com>
2019-07-15 12:10:56 +02:00
simon lehericey
f6c402deec
better default value for linked_drop_down_list
2019-07-10 10:21:34 +02:00
Paul Chavard
860588b216
Upgrade javascript dependencies and add actiontext
2019-07-03 11:42:25 +02:00
Pierre de La Morinerie
78f75744e3
javascript: fix payload of ActiveStorage events missing on IE 11
...
Under some circumstances (like dispatching events just before a page
navigation), IE 11 events will be dispatched twice by the browser: once
with the payload, and a second time without.
To prevent these errors, ignore the events if the payload is missing.
2019-06-06 15:00:57 +02:00
Chaïb Martinez
eccd456325
Add crisp
...
Signed-off-by: Chaïb Martinez <chaibax@gmail.com>
2019-06-05 17:41:47 +02:00
Paul Chavard
6d312e1716
spec: refactor wait_for_ajax
to work with out new ajax utils
...
`wait_for_ajax` is not used anymore, but it may be in the future.
2019-06-04 16:30:36 +02:00
Pierre de La Morinerie
f2f16e2580
carte: disable tiles layer during tests
...
During integration tests, we don't want to load the tiles from OSM:
- It hits OSM servers during every test run;
- It it slow (Capybara waits for the tiles to be loaded to proceed);
- It makes test time out when tiles cannot be loaded for some reason.
Fix #3913
2019-06-03 17:24:15 +02:00
Paul Chavard
6797c01b69
Properly handle justificatif_motivation case
2019-05-22 14:11:08 +02:00
Paul Chavard
6a3413018a
Refresh attachments with virus scan result
2019-05-21 14:21:55 +02:00
Paul Chavard
0265c10474
Safari throw if deleting inexistent property
2019-05-14 17:12:27 +02:00
Paul Chavard
c93b1bb276
Add intersection-observer polyfill
2019-05-14 10:55:16 +02:00
Paul Chavard
c4dc2adcea
Add new type de champ after type de champ on screen
2019-05-14 10:55:16 +02:00
clemkeirua
ec2e17032e
suppression de la double confirmation
2019-05-07 08:54:29 +02:00
clemkeirua
4aab72be68
implementation du systeme de PJ de motivation
2019-05-07 08:54:29 +02:00
Paul Chavard
2f633b5d23
Load leaflet from a separate chunk
2019-05-02 14:10:48 +02:00
Paul Chavard
1d67005545
Add a default value for drop_down_list_value to avoid validation error on new type_de_champ
2019-04-30 10:39:27 +02:00
Nicolas Bouilleaud
2fb1b19e09
Hide other motivation fields when switching between states
2019-04-10 10:32:43 +02:00
Paul Chavard
a60943a173
Polyfill insertAdjacentElement and dataset on old browsers
2019-04-09 15:26:42 +02:00
Paul Chavard
4fb889f10a
Send browser support information and format user id
2019-04-04 14:21:32 +02:00
Paul Chavard
8e6e730c80
Send user information to sentry without email
2019-04-04 14:21:32 +02:00
Paul Chavard
8157fd0127
Fix type de champ menu déroulant
2019-04-03 21:53:57 +02:00