File tree 1 file changed +33
-0
lines changed
1 file changed +33
-0
lines changed Original file line number Diff line number Diff line change @@ -129,6 +129,39 @@ RequestInterceptor.register(async (request) => {
129
129
RequestInterceptor .reset ()
130
130
```
131
131
132
+ #### Before and after hooks
133
+
134
+ Wrap the request ` Promise ` with your own code. Just pure and simple JavaScript like this:
135
+
136
+ ``` javascript
137
+ import { FetchRequest } from " @rails/request.js"
138
+ import { navigator } from " @hotwired/turbo"
139
+
140
+ function showProgressBar () {
141
+ navigator .delegate .adapter .progressBar .setValue (0 )
142
+ navigator .delegate .adapter .progressBar .show ()
143
+ }
144
+
145
+ function hideProgressBar () {
146
+ navigator .delegate .adapter .progressBar .setValue (1 )
147
+ navigator .delegate .adapter .progressBar .hide ()
148
+ }
149
+
150
+ export function withProgress (request ) {
151
+ showProgressBar ()
152
+
153
+ return request .then ((response ) => {
154
+ hideProgressBar ()
155
+ return response
156
+ })
157
+ }
158
+
159
+ export function get (url , options ) {
160
+ const request = new FetchRequest (" get" , url, options)
161
+ return withProgress (request .perform ())
162
+ }
163
+ ```
164
+
132
165
## Response
133
166
134
167
### statusCode
You can’t perform that action at this time.
0 commit comments