@trebired/frontend 11.7.0 → 11.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/dist/http/index.d.ts +1 -1
- package/dist/http/index.d.ts.map +1 -1
- package/dist/http/index.js +24 -10
- package/dist/http/index.js.map +1 -1
- package/dist/progress/index.d.ts +9 -3
- package/dist/progress/index.d.ts.map +1 -1
- package/dist/progress/index.js +77 -8
- package/dist/progress/index.js.map +1 -1
- package/dist/src/http/index.d.ts +1 -1
- package/dist/src/http/index.d.ts.map +1 -1
- package/dist/src/http/index.js +24 -10
- package/dist/src/http/index.js.map +1 -1
- package/dist/src/progress/index.d.ts +9 -3
- package/dist/src/progress/index.d.ts.map +1 -1
- package/dist/src/progress/index.js +77 -8
- package/dist/src/progress/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,13 @@ All notable changes to `@trebired/frontend` will be documented here.
|
|
|
4
4
|
|
|
5
5
|
This project follows semantic versioning once published.
|
|
6
6
|
|
|
7
|
+
## 11.7.1
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- The top progress bar now starts during full page loads through the normal frontend runtime binding.
|
|
12
|
+
- Browser `fetch()` requests are wrapped once by the progress runtime, so ordinary GET/POST requests show the same top loader. `csrfFetch()` and `requestJson()` still support `progress: false` and strip that internal option before calling the native fetch implementation.
|
|
13
|
+
|
|
7
14
|
## 11.7.0
|
|
8
15
|
|
|
9
16
|
### Fixed
|
package/dist/http/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
type CsrfFetchOptions = RequestInit & {
|
|
2
2
|
csrfHeaderName?: string;
|
|
3
3
|
csrfMetaName?: string;
|
|
4
|
+
progress?: boolean;
|
|
4
5
|
};
|
|
5
6
|
type JsonRequestOptions = Omit<CsrfFetchOptions, "body"> & {
|
|
6
7
|
body?: BodyInit | Record<string, unknown> | null;
|
|
7
|
-
progress?: boolean;
|
|
8
8
|
};
|
|
9
9
|
declare function readCsrfToken(metaName?: string): string;
|
|
10
10
|
declare function ensureFormCsrfToken(form: HTMLFormElement | null, options?: {
|
package/dist/http/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/http/index.ts"],"names":[],"mappings":"AAEA,KAAK,gBAAgB,GAAG,WAAW,GAAE;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/http/index.ts"],"names":[],"mappings":"AAEA,KAAK,gBAAgB,GAAG,WAAW,GAAE;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,KAAK,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAE;IACxD,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAC,IAAI,CAAC;CAChD,CAAC;AAEF,iBAAS,aAAa,CAAC,QAAQ,SAAe,UAK7C;AAED,iBAAS,mBAAmB,CAC1B,IAAI,EAAE,eAAe,GAAG,IAAI,EAC5B,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,WAmBxD;AAED,iBAAe,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,GAAE,gBAAqB,qBAuB7E;AAsBD,iBAAS,2BAA2B,CAAC,OAAO,GAAE,kBAAuB,eAkBpE;AAED,iBAAe,YAAY,CAAC,QAAQ,EAAE,QAAQ,gBAM7C;AAED,iBAAS,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO;;;;;;;EAS1D;AAED;;;;GAIG;AACH,iBAAe,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,OAAO,GAAE,kBAAuB;;;GAiBpF;AAED,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,aAAa,EACb,YAAY,EACZ,WAAW,GACZ,CAAC;AACF,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,CAAC;AACrD,cAAa,YAAY,CAAC"}
|
package/dist/http/index.js
CHANGED
|
@@ -25,17 +25,28 @@ function ensureFormCsrfToken(form, options = {}) {
|
|
|
25
25
|
form.appendChild(input);
|
|
26
26
|
return true;
|
|
27
27
|
}
|
|
28
|
-
function csrfFetch(input, init = {}) {
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
const
|
|
28
|
+
async function csrfFetch(input, init = {}) {
|
|
29
|
+
const { csrfHeaderName, csrfMetaName, progress: progressOption, ...fetchInit } = init;
|
|
30
|
+
const headers = new Headers(fetchInit.headers || {});
|
|
31
|
+
const token = readCsrfToken(csrfMetaName);
|
|
32
|
+
const headerName = csrfHeaderName || "X-CSRF-Token";
|
|
32
33
|
if (token)
|
|
33
34
|
headers.set(headerName, token);
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
const showProgress = progressOption !== false;
|
|
36
|
+
if (showProgress)
|
|
37
|
+
progressHandle.begin();
|
|
38
|
+
try {
|
|
39
|
+
return await fetch(input, {
|
|
40
|
+
...fetchInit,
|
|
41
|
+
credentials: fetchInit.credentials || "same-origin",
|
|
42
|
+
headers,
|
|
43
|
+
progress: false,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
finally {
|
|
47
|
+
if (showProgress)
|
|
48
|
+
progressHandle.end();
|
|
49
|
+
}
|
|
39
50
|
}
|
|
40
51
|
function isFormDataBody(value) {
|
|
41
52
|
return Boolean(value &&
|
|
@@ -101,7 +112,10 @@ async function requestJson(input, options = {}) {
|
|
|
101
112
|
if (showProgress)
|
|
102
113
|
progressHandle.begin();
|
|
103
114
|
try {
|
|
104
|
-
const response = await csrfFetch(input,
|
|
115
|
+
const response = await csrfFetch(input, {
|
|
116
|
+
...normalizeJsonRequestOptions(options),
|
|
117
|
+
progress: false,
|
|
118
|
+
});
|
|
105
119
|
const json = await readJsonSafe(response);
|
|
106
120
|
if (json && typeof json.ok === "boolean")
|
|
107
121
|
return { json, response };
|
package/dist/http/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,eAAe,CAAC;AAY3D,SAAS,aAAa,CAAC,QAAQ,GAAG,YAAY;IAC5C,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO,EAAE,CAAC;IAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,QAAQ,IAAI,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAA4B,EAC5B,UAAqD,EAAE;IAEvD,IAAI,CAAC,CAAC,IAAI,YAAY,eAAe,CAAC;QAAE,OAAO,KAAK,CAAC;IACrD,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CACjC,eAAe,SAAS,IAAI,CAC7B,CAAC;IACF,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;IACtB,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;IACvB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACxB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/http/index.ts"],"names":[],"mappings":"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"}
|
package/dist/progress/index.d.ts
CHANGED
|
@@ -10,14 +10,20 @@ type ProgressHandle = {
|
|
|
10
10
|
type PageLoadProgressOptions = {
|
|
11
11
|
minVisibleMs?: number;
|
|
12
12
|
};
|
|
13
|
+
type ProgressFetchInit = RequestInit & {
|
|
14
|
+
progress?: boolean;
|
|
15
|
+
tbfProgress?: boolean;
|
|
16
|
+
};
|
|
13
17
|
declare function setProgress(value: number): number;
|
|
14
18
|
declare function beginProgress(): number;
|
|
15
19
|
declare function endProgress(force?: boolean): number;
|
|
16
20
|
declare function setProgressFromEvent(event: ProgressEvent): number;
|
|
17
|
-
declare function bindProgress(): ProgressHandle;
|
|
18
21
|
declare function bootPageLoadProgress(options?: PageLoadProgressOptions): boolean;
|
|
22
|
+
declare function stripProgressFetchOptions(init: RequestInit | undefined): RequestInit;
|
|
23
|
+
declare function bindFetchProgress(): boolean;
|
|
24
|
+
declare function bindProgress(): ProgressHandle;
|
|
19
25
|
declare const progress: ProgressHandle;
|
|
20
|
-
export { MAX_UPLOAD_PROGRESS, PROGRESS_ID, beginProgress, bindProgress, bootPageLoadProgress, endProgress, progress, setProgress, setProgressFromEvent, };
|
|
21
|
-
export type { PageLoadProgressOptions, ProgressHandle };
|
|
26
|
+
export { MAX_UPLOAD_PROGRESS, PROGRESS_ID, beginProgress, bindFetchProgress, bindProgress, bootPageLoadProgress, endProgress, progress, setProgress, setProgressFromEvent, stripProgressFetchOptions, };
|
|
27
|
+
export type { PageLoadProgressOptions, ProgressFetchInit, ProgressHandle };
|
|
22
28
|
export * from "./bars.js";
|
|
23
29
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/progress/index.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,WAAW,iBAAgC,CAAC;AAClD,QAAA,MAAM,mBAAmB,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/progress/index.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,WAAW,iBAAgC,CAAC;AAClD,QAAA,MAAM,mBAAmB,OAAO,CAAC;AAGjC,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,MAAM,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC;IAC/B,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;IACjC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/B,oBAAoB,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,CAAC;CACxD,CAAC;AACF,KAAK,uBAAuB,GAAG;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AACF,KAAK,iBAAiB,GAAG,WAAW,GAAE;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AA8BF,iBAAS,WAAW,CAAC,KAAK,EAAE,MAAM,UAUjC;AAED,iBAAS,aAAa,WAQrB;AAED,iBAAS,WAAW,CAAC,KAAK,UAAQ,UAwBjC;AAED,iBAAS,oBAAoB,CAAC,KAAK,EAAE,aAAa,UAMjD;AAED,iBAAS,oBAAoB,CAAC,OAAO,GAAE,uBAA4B,WA6ClE;AAQD,iBAAS,yBAAyB,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,eAM/D;AAED,iBAAS,iBAAiB,YA6BzB;AAED,iBAAS,YAAY,mBAKpB;AAED,QAAA,MAAM,QAAQ,EAAE,cAMd,CAAC;AAEH,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,QAAQ,EACR,WAAW,EACX,oBAAoB,EACpB,yBAAyB,GAC1B,CAAC;AACF,YAAY,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC;AAC3E,cAAa,WAAW,CAAC"}
|
package/dist/progress/index.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { FRONTEND_PREFIX, frontendClassName, frontendDataAttr, frontendElementClass } from "../namespace/index.js";
|
|
2
2
|
const PROGRESS_ID = `${FRONTEND_PREFIX}_progress`;
|
|
3
3
|
const MAX_UPLOAD_PROGRESS = 0.95;
|
|
4
|
+
const FETCH_PROGRESS_WRAPPED = "__tbfProgressWrapped";
|
|
4
5
|
let activeRequests = 0;
|
|
6
|
+
let pageLoadProgressBooted = false;
|
|
7
|
+
let installedFetch = null;
|
|
5
8
|
function canRenderProgress() {
|
|
6
9
|
return typeof document !== "undefined" && Boolean(document.body);
|
|
7
10
|
}
|
|
@@ -54,7 +57,12 @@ function endProgress(force = false) {
|
|
|
54
57
|
const bar = progressBar();
|
|
55
58
|
if (bar)
|
|
56
59
|
bar.style.transform = "scaleX(1)";
|
|
57
|
-
window.setTimeout
|
|
60
|
+
const schedule = typeof window !== "undefined" && typeof window.setTimeout === "function"
|
|
61
|
+
? window.setTimeout.bind(window)
|
|
62
|
+
: typeof setTimeout === "function"
|
|
63
|
+
? setTimeout
|
|
64
|
+
: null;
|
|
65
|
+
const finish = () => {
|
|
58
66
|
const root = ensureProgressElement();
|
|
59
67
|
if (root && activeRequests === 0) {
|
|
60
68
|
root.removeAttribute(frontendDataAttr("progress-active"));
|
|
@@ -62,7 +70,11 @@ function endProgress(force = false) {
|
|
|
62
70
|
if (nextBar)
|
|
63
71
|
nextBar.style.transform = "scaleX(0)";
|
|
64
72
|
}
|
|
65
|
-
}
|
|
73
|
+
};
|
|
74
|
+
if (schedule)
|
|
75
|
+
schedule(finish, 160);
|
|
76
|
+
else
|
|
77
|
+
finish();
|
|
66
78
|
}
|
|
67
79
|
return activeRequests;
|
|
68
80
|
}
|
|
@@ -75,14 +87,13 @@ function setProgressFromEvent(event) {
|
|
|
75
87
|
return 0;
|
|
76
88
|
return setProgress(loaded / total);
|
|
77
89
|
}
|
|
78
|
-
function bindProgress() {
|
|
79
|
-
ensureProgressElement();
|
|
80
|
-
return progress;
|
|
81
|
-
}
|
|
82
90
|
function bootPageLoadProgress(options = {}) {
|
|
83
91
|
if (typeof document === "undefined" || typeof window === "undefined") {
|
|
84
92
|
return false;
|
|
85
93
|
}
|
|
94
|
+
if (pageLoadProgressBooted)
|
|
95
|
+
return false;
|
|
96
|
+
pageLoadProgressBooted = true;
|
|
86
97
|
const minVisibleMs = Math.max(0, Number(options.minVisibleMs) || 0);
|
|
87
98
|
let startedAtMs = 0;
|
|
88
99
|
let started = false;
|
|
@@ -100,8 +111,10 @@ function bootPageLoadProgress(options = {}) {
|
|
|
100
111
|
function startPageLoadProgress() {
|
|
101
112
|
if (started)
|
|
102
113
|
return;
|
|
103
|
-
if (!document.body || !document.documentElement)
|
|
114
|
+
if (!document.body || !document.documentElement) {
|
|
115
|
+
window.addEventListener("load", startPageLoadProgress, { once: true });
|
|
104
116
|
return;
|
|
117
|
+
}
|
|
105
118
|
started = true;
|
|
106
119
|
startedAtMs = Date.now();
|
|
107
120
|
progress.begin();
|
|
@@ -121,6 +134,62 @@ function bootPageLoadProgress(options = {}) {
|
|
|
121
134
|
}
|
|
122
135
|
return true;
|
|
123
136
|
}
|
|
137
|
+
function progressFetchOption(init) {
|
|
138
|
+
if (!init || typeof init !== "object")
|
|
139
|
+
return true;
|
|
140
|
+
const options = init;
|
|
141
|
+
return options.progress !== false && options.tbfProgress !== false;
|
|
142
|
+
}
|
|
143
|
+
function stripProgressFetchOptions(init) {
|
|
144
|
+
if (!init || typeof init !== "object")
|
|
145
|
+
return init;
|
|
146
|
+
const options = init;
|
|
147
|
+
if (!("progress" in options) && !("tbfProgress" in options))
|
|
148
|
+
return init;
|
|
149
|
+
const { progress: _progress, tbfProgress: _tbfProgress, ...nativeInit } = options;
|
|
150
|
+
return nativeInit;
|
|
151
|
+
}
|
|
152
|
+
function bindFetchProgress() {
|
|
153
|
+
if (typeof globalThis.fetch !== "function")
|
|
154
|
+
return false;
|
|
155
|
+
const currentFetch = globalThis.fetch;
|
|
156
|
+
if (currentFetch[FETCH_PROGRESS_WRAPPED]) {
|
|
157
|
+
installedFetch = currentFetch;
|
|
158
|
+
return false;
|
|
159
|
+
}
|
|
160
|
+
if (installedFetch && globalThis.fetch === installedFetch)
|
|
161
|
+
return false;
|
|
162
|
+
const originalFetch = currentFetch.bind(globalThis);
|
|
163
|
+
const wrappedFetch = ((input, init) => {
|
|
164
|
+
const nativeInit = stripProgressFetchOptions(init);
|
|
165
|
+
if (!progressFetchOption(init))
|
|
166
|
+
return originalFetch(input, nativeInit);
|
|
167
|
+
progress.begin();
|
|
168
|
+
try {
|
|
169
|
+
return Promise.resolve(originalFetch(input, nativeInit)).finally(() => {
|
|
170
|
+
progress.end();
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
catch (error) {
|
|
174
|
+
progress.end();
|
|
175
|
+
throw error;
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
Object.defineProperty(wrappedFetch, FETCH_PROGRESS_WRAPPED, {
|
|
179
|
+
value: true,
|
|
180
|
+
});
|
|
181
|
+
globalThis.fetch = wrappedFetch;
|
|
182
|
+
if (typeof window !== "undefined")
|
|
183
|
+
window.fetch = wrappedFetch;
|
|
184
|
+
installedFetch = wrappedFetch;
|
|
185
|
+
return true;
|
|
186
|
+
}
|
|
187
|
+
function bindProgress() {
|
|
188
|
+
ensureProgressElement();
|
|
189
|
+
bindFetchProgress();
|
|
190
|
+
bootPageLoadProgress();
|
|
191
|
+
return progress;
|
|
192
|
+
}
|
|
124
193
|
const progress = Object.freeze({
|
|
125
194
|
begin: beginProgress,
|
|
126
195
|
boot: ensureProgressElement,
|
|
@@ -128,6 +197,6 @@ const progress = Object.freeze({
|
|
|
128
197
|
set: setProgress,
|
|
129
198
|
setFromProgressEvent: setProgressFromEvent,
|
|
130
199
|
});
|
|
131
|
-
export { MAX_UPLOAD_PROGRESS, PROGRESS_ID, beginProgress, bindProgress, bootPageLoadProgress, endProgress, progress, setProgress, setProgressFromEvent, };
|
|
200
|
+
export { MAX_UPLOAD_PROGRESS, PROGRESS_ID, beginProgress, bindFetchProgress, bindProgress, bootPageLoadProgress, endProgress, progress, setProgress, setProgressFromEvent, stripProgressFetchOptions, };
|
|
132
201
|
export * from "./bars.js";
|
|
133
202
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/progress/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE3G,MAAM,WAAW,GAAG,GAAG,eAAe,WAAW,CAAC;AAClD,MAAM,mBAAmB,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/progress/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/http/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
type CsrfFetchOptions = RequestInit & {
|
|
2
2
|
csrfHeaderName?: string;
|
|
3
3
|
csrfMetaName?: string;
|
|
4
|
+
progress?: boolean;
|
|
4
5
|
};
|
|
5
6
|
type JsonRequestOptions = Omit<CsrfFetchOptions, "body"> & {
|
|
6
7
|
body?: BodyInit | Record<string, unknown> | null;
|
|
7
|
-
progress?: boolean;
|
|
8
8
|
};
|
|
9
9
|
declare function readCsrfToken(metaName?: string): string;
|
|
10
10
|
declare function ensureFormCsrfToken(form: HTMLFormElement | null, options?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/http/index.ts"],"names":[],"mappings":"AAEA,KAAK,gBAAgB,GAAG,WAAW,GAAE;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/http/index.ts"],"names":[],"mappings":"AAEA,KAAK,gBAAgB,GAAG,WAAW,GAAE;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,KAAK,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAE;IACxD,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAC,IAAI,CAAC;CAChD,CAAC;AAEF,iBAAS,aAAa,CAAC,QAAQ,SAAe,UAK7C;AAED,iBAAS,mBAAmB,CAC1B,IAAI,EAAE,eAAe,GAAG,IAAI,EAC5B,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,WAmBxD;AAED,iBAAe,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,GAAE,gBAAqB,qBAuB7E;AAsBD,iBAAS,2BAA2B,CAAC,OAAO,GAAE,kBAAuB,eAkBpE;AAED,iBAAe,YAAY,CAAC,QAAQ,EAAE,QAAQ,gBAM7C;AAED,iBAAS,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO;;;;;;;EAS1D;AAED;;;;GAIG;AACH,iBAAe,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,OAAO,GAAE,kBAAuB;;;GAiBpF;AAED,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,aAAa,EACb,YAAY,EACZ,WAAW,GACZ,CAAC;AACF,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,CAAC;AACrD,cAAa,YAAY,CAAC"}
|
package/dist/src/http/index.js
CHANGED
|
@@ -25,17 +25,28 @@ function ensureFormCsrfToken(form, options = {}) {
|
|
|
25
25
|
form.appendChild(input);
|
|
26
26
|
return true;
|
|
27
27
|
}
|
|
28
|
-
function csrfFetch(input, init = {}) {
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
const
|
|
28
|
+
async function csrfFetch(input, init = {}) {
|
|
29
|
+
const { csrfHeaderName, csrfMetaName, progress: progressOption, ...fetchInit } = init;
|
|
30
|
+
const headers = new Headers(fetchInit.headers || {});
|
|
31
|
+
const token = readCsrfToken(csrfMetaName);
|
|
32
|
+
const headerName = csrfHeaderName || "X-CSRF-Token";
|
|
32
33
|
if (token)
|
|
33
34
|
headers.set(headerName, token);
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
const showProgress = progressOption !== false;
|
|
36
|
+
if (showProgress)
|
|
37
|
+
progressHandle.begin();
|
|
38
|
+
try {
|
|
39
|
+
return await fetch(input, {
|
|
40
|
+
...fetchInit,
|
|
41
|
+
credentials: fetchInit.credentials || "same-origin",
|
|
42
|
+
headers,
|
|
43
|
+
progress: false,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
finally {
|
|
47
|
+
if (showProgress)
|
|
48
|
+
progressHandle.end();
|
|
49
|
+
}
|
|
39
50
|
}
|
|
40
51
|
function isFormDataBody(value) {
|
|
41
52
|
return Boolean(value &&
|
|
@@ -101,7 +112,10 @@ async function requestJson(input, options = {}) {
|
|
|
101
112
|
if (showProgress)
|
|
102
113
|
progressHandle.begin();
|
|
103
114
|
try {
|
|
104
|
-
const response = await csrfFetch(input,
|
|
115
|
+
const response = await csrfFetch(input, {
|
|
116
|
+
...normalizeJsonRequestOptions(options),
|
|
117
|
+
progress: false,
|
|
118
|
+
});
|
|
105
119
|
const json = await readJsonSafe(response);
|
|
106
120
|
if (json && typeof json.ok === "boolean")
|
|
107
121
|
return { json, response };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,eAAe,CAAC;AAY3D,SAAS,aAAa,CAAC,QAAQ,GAAG,YAAY;IAC5C,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO,EAAE,CAAC;IAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,QAAQ,IAAI,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAA4B,EAC5B,UAAqD,EAAE;IAEvD,IAAI,CAAC,CAAC,IAAI,YAAY,eAAe,CAAC;QAAE,OAAO,KAAK,CAAC;IACrD,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CACjC,eAAe,SAAS,IAAI,CAC7B,CAAC;IACF,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;IACtB,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;IACvB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACxB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,eAAe,CAAC;AAY3D,SAAS,aAAa,CAAC,QAAQ,GAAG,YAAY;IAC5C,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO,EAAE,CAAC;IAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,QAAQ,IAAI,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAA4B,EAC5B,UAAqD,EAAE;IAEvD,IAAI,CAAC,CAAC,IAAI,YAAY,eAAe,CAAC;QAAE,OAAO,KAAK,CAAC;IACrD,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CACjC,eAAe,SAAS,IAAI,CAC7B,CAAC;IACF,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;IACtB,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;IACvB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACxB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,KAAwB,EAAE,OAAyB,EAAE;IAC5E,MAAM,EACJ,cAAc,EACd,YAAY,EACZ,QAAQ,EAAE,cAAc,EACxB,GAAG,SAAS,EACb,GAAG,IAAI,CAAC;IACT,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,cAAc,IAAI,cAAc,CAAC;IACpD,IAAI,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,cAAc,KAAK,KAAK,CAAC;IAC9C,IAAI,YAAY;QAAE,cAAc,CAAC,KAAK,EAAE,CAAC;IACzC,IAAI,CAAC;QACH,OAAO,MAAM,KAAK,CAAC,KAAK,EAAE;YACtB,GAAG,SAAS;YACZ,WAAW,EAAE,SAAS,CAAC,WAAW,IAAI,aAAa;YACnD,OAAO;YACP,QAAQ,EAAE,KAAK;SACH,CAAC,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,IAAI,YAAY;YAAE,cAAc,CAAC,GAAG,EAAE,CAAC;IACzC,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,CACZ,KAAK;QACH,OAAO,QAAQ,KAAK,WAAW;QAC/B,OAAO,KAAkB,CAAC,MAAM,KAAK,UAAU;QAC/C,OAAO,KAAkB,CAAC,GAAG,KAAK,UAAU,CAC/C,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,OAAO,CACZ,KAAK;QACH,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,CAAC,cAAc,CAAC,KAAK,CAAC;QACtB,CAAC,CAAC,KAAK,YAAY,eAAe,CAAC;QACnC,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,CAC3B,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,UAA8B,EAAE;IACnE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAChG,MAAM,GAAG,GAAgB,EAAE,GAAG,IAAI,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACnD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IACtE,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAC/B,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;SAAM,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAClD,CAAC;QACD,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,IAAI,GAAG,IAAmC,CAAC;IACjD,CAAC;IACD,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IACtB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,QAAkB;IAC5C,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc,EAAE,EAAW;IACzD,OAAO;QACL,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,KAAK;QACX,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;QACf,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QAC3B,WAAW,EAAE,EAAE;KAChB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,WAAW,CAAC,KAAwB,EAAE,UAA8B,EAAE;IACnF,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC;IAChD,IAAI,YAAY;QAAE,cAAc,CAAC,KAAK,EAAE,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE;YACpC,GAAG,2BAA2B,CAAC,OAAO,CAAC;YACvC,QAAQ,EAAE,KAAK;SAClB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,SAAS;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACpE,OAAO;YACL,IAAI,EAAE,sBAAsB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC1D,QAAQ;SACT,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,IAAI,YAAY;YAAE,cAAc,CAAC,GAAG,EAAE,CAAC;IACzC,CAAC;AACH,CAAC;AAED,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,aAAa,EACb,YAAY,EACZ,WAAW,GACZ,CAAC;AAEF,cAAa,YAAY,CAAC"}
|
|
@@ -10,14 +10,20 @@ type ProgressHandle = {
|
|
|
10
10
|
type PageLoadProgressOptions = {
|
|
11
11
|
minVisibleMs?: number;
|
|
12
12
|
};
|
|
13
|
+
type ProgressFetchInit = RequestInit & {
|
|
14
|
+
progress?: boolean;
|
|
15
|
+
tbfProgress?: boolean;
|
|
16
|
+
};
|
|
13
17
|
declare function setProgress(value: number): number;
|
|
14
18
|
declare function beginProgress(): number;
|
|
15
19
|
declare function endProgress(force?: boolean): number;
|
|
16
20
|
declare function setProgressFromEvent(event: ProgressEvent): number;
|
|
17
|
-
declare function bindProgress(): ProgressHandle;
|
|
18
21
|
declare function bootPageLoadProgress(options?: PageLoadProgressOptions): boolean;
|
|
22
|
+
declare function stripProgressFetchOptions(init: RequestInit | undefined): RequestInit;
|
|
23
|
+
declare function bindFetchProgress(): boolean;
|
|
24
|
+
declare function bindProgress(): ProgressHandle;
|
|
19
25
|
declare const progress: ProgressHandle;
|
|
20
|
-
export { MAX_UPLOAD_PROGRESS, PROGRESS_ID, beginProgress, bindProgress, bootPageLoadProgress, endProgress, progress, setProgress, setProgressFromEvent, };
|
|
21
|
-
export type { PageLoadProgressOptions, ProgressHandle };
|
|
26
|
+
export { MAX_UPLOAD_PROGRESS, PROGRESS_ID, beginProgress, bindFetchProgress, bindProgress, bootPageLoadProgress, endProgress, progress, setProgress, setProgressFromEvent, stripProgressFetchOptions, };
|
|
27
|
+
export type { PageLoadProgressOptions, ProgressFetchInit, ProgressHandle };
|
|
22
28
|
export * from "./bars.js";
|
|
23
29
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/progress/index.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,WAAW,iBAAgC,CAAC;AAClD,QAAA,MAAM,mBAAmB,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/progress/index.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,WAAW,iBAAgC,CAAC;AAClD,QAAA,MAAM,mBAAmB,OAAO,CAAC;AAGjC,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,MAAM,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC;IAC/B,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;IACjC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/B,oBAAoB,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,CAAC;CACxD,CAAC;AACF,KAAK,uBAAuB,GAAG;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AACF,KAAK,iBAAiB,GAAG,WAAW,GAAE;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AA8BF,iBAAS,WAAW,CAAC,KAAK,EAAE,MAAM,UAUjC;AAED,iBAAS,aAAa,WAQrB;AAED,iBAAS,WAAW,CAAC,KAAK,UAAQ,UAwBjC;AAED,iBAAS,oBAAoB,CAAC,KAAK,EAAE,aAAa,UAMjD;AAED,iBAAS,oBAAoB,CAAC,OAAO,GAAE,uBAA4B,WA6ClE;AAQD,iBAAS,yBAAyB,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,eAM/D;AAED,iBAAS,iBAAiB,YA6BzB;AAED,iBAAS,YAAY,mBAKpB;AAED,QAAA,MAAM,QAAQ,EAAE,cAMd,CAAC;AAEH,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,QAAQ,EACR,WAAW,EACX,oBAAoB,EACpB,yBAAyB,GAC1B,CAAC;AACF,YAAY,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC;AAC3E,cAAa,WAAW,CAAC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { FRONTEND_PREFIX, frontendClassName, frontendDataAttr, frontendElementClass } from "../../namespace/index.js";
|
|
2
2
|
const PROGRESS_ID = `${FRONTEND_PREFIX}_progress`;
|
|
3
3
|
const MAX_UPLOAD_PROGRESS = 0.95;
|
|
4
|
+
const FETCH_PROGRESS_WRAPPED = "__tbfProgressWrapped";
|
|
4
5
|
let activeRequests = 0;
|
|
6
|
+
let pageLoadProgressBooted = false;
|
|
7
|
+
let installedFetch = null;
|
|
5
8
|
function canRenderProgress() {
|
|
6
9
|
return typeof document !== "undefined" && Boolean(document.body);
|
|
7
10
|
}
|
|
@@ -54,7 +57,12 @@ function endProgress(force = false) {
|
|
|
54
57
|
const bar = progressBar();
|
|
55
58
|
if (bar)
|
|
56
59
|
bar.style.transform = "scaleX(1)";
|
|
57
|
-
window.setTimeout
|
|
60
|
+
const schedule = typeof window !== "undefined" && typeof window.setTimeout === "function"
|
|
61
|
+
? window.setTimeout.bind(window)
|
|
62
|
+
: typeof setTimeout === "function"
|
|
63
|
+
? setTimeout
|
|
64
|
+
: null;
|
|
65
|
+
const finish = () => {
|
|
58
66
|
const root = ensureProgressElement();
|
|
59
67
|
if (root && activeRequests === 0) {
|
|
60
68
|
root.removeAttribute(frontendDataAttr("progress-active"));
|
|
@@ -62,7 +70,11 @@ function endProgress(force = false) {
|
|
|
62
70
|
if (nextBar)
|
|
63
71
|
nextBar.style.transform = "scaleX(0)";
|
|
64
72
|
}
|
|
65
|
-
}
|
|
73
|
+
};
|
|
74
|
+
if (schedule)
|
|
75
|
+
schedule(finish, 160);
|
|
76
|
+
else
|
|
77
|
+
finish();
|
|
66
78
|
}
|
|
67
79
|
return activeRequests;
|
|
68
80
|
}
|
|
@@ -75,14 +87,13 @@ function setProgressFromEvent(event) {
|
|
|
75
87
|
return 0;
|
|
76
88
|
return setProgress(loaded / total);
|
|
77
89
|
}
|
|
78
|
-
function bindProgress() {
|
|
79
|
-
ensureProgressElement();
|
|
80
|
-
return progress;
|
|
81
|
-
}
|
|
82
90
|
function bootPageLoadProgress(options = {}) {
|
|
83
91
|
if (typeof document === "undefined" || typeof window === "undefined") {
|
|
84
92
|
return false;
|
|
85
93
|
}
|
|
94
|
+
if (pageLoadProgressBooted)
|
|
95
|
+
return false;
|
|
96
|
+
pageLoadProgressBooted = true;
|
|
86
97
|
const minVisibleMs = Math.max(0, Number(options.minVisibleMs) || 0);
|
|
87
98
|
let startedAtMs = 0;
|
|
88
99
|
let started = false;
|
|
@@ -100,8 +111,10 @@ function bootPageLoadProgress(options = {}) {
|
|
|
100
111
|
function startPageLoadProgress() {
|
|
101
112
|
if (started)
|
|
102
113
|
return;
|
|
103
|
-
if (!document.body || !document.documentElement)
|
|
114
|
+
if (!document.body || !document.documentElement) {
|
|
115
|
+
window.addEventListener("load", startPageLoadProgress, { once: true });
|
|
104
116
|
return;
|
|
117
|
+
}
|
|
105
118
|
started = true;
|
|
106
119
|
startedAtMs = Date.now();
|
|
107
120
|
progress.begin();
|
|
@@ -121,6 +134,62 @@ function bootPageLoadProgress(options = {}) {
|
|
|
121
134
|
}
|
|
122
135
|
return true;
|
|
123
136
|
}
|
|
137
|
+
function progressFetchOption(init) {
|
|
138
|
+
if (!init || typeof init !== "object")
|
|
139
|
+
return true;
|
|
140
|
+
const options = init;
|
|
141
|
+
return options.progress !== false && options.tbfProgress !== false;
|
|
142
|
+
}
|
|
143
|
+
function stripProgressFetchOptions(init) {
|
|
144
|
+
if (!init || typeof init !== "object")
|
|
145
|
+
return init;
|
|
146
|
+
const options = init;
|
|
147
|
+
if (!("progress" in options) && !("tbfProgress" in options))
|
|
148
|
+
return init;
|
|
149
|
+
const { progress: _progress, tbfProgress: _tbfProgress, ...nativeInit } = options;
|
|
150
|
+
return nativeInit;
|
|
151
|
+
}
|
|
152
|
+
function bindFetchProgress() {
|
|
153
|
+
if (typeof globalThis.fetch !== "function")
|
|
154
|
+
return false;
|
|
155
|
+
const currentFetch = globalThis.fetch;
|
|
156
|
+
if (currentFetch[FETCH_PROGRESS_WRAPPED]) {
|
|
157
|
+
installedFetch = currentFetch;
|
|
158
|
+
return false;
|
|
159
|
+
}
|
|
160
|
+
if (installedFetch && globalThis.fetch === installedFetch)
|
|
161
|
+
return false;
|
|
162
|
+
const originalFetch = currentFetch.bind(globalThis);
|
|
163
|
+
const wrappedFetch = ((input, init) => {
|
|
164
|
+
const nativeInit = stripProgressFetchOptions(init);
|
|
165
|
+
if (!progressFetchOption(init))
|
|
166
|
+
return originalFetch(input, nativeInit);
|
|
167
|
+
progress.begin();
|
|
168
|
+
try {
|
|
169
|
+
return Promise.resolve(originalFetch(input, nativeInit)).finally(() => {
|
|
170
|
+
progress.end();
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
catch (error) {
|
|
174
|
+
progress.end();
|
|
175
|
+
throw error;
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
Object.defineProperty(wrappedFetch, FETCH_PROGRESS_WRAPPED, {
|
|
179
|
+
value: true,
|
|
180
|
+
});
|
|
181
|
+
globalThis.fetch = wrappedFetch;
|
|
182
|
+
if (typeof window !== "undefined")
|
|
183
|
+
window.fetch = wrappedFetch;
|
|
184
|
+
installedFetch = wrappedFetch;
|
|
185
|
+
return true;
|
|
186
|
+
}
|
|
187
|
+
function bindProgress() {
|
|
188
|
+
ensureProgressElement();
|
|
189
|
+
bindFetchProgress();
|
|
190
|
+
bootPageLoadProgress();
|
|
191
|
+
return progress;
|
|
192
|
+
}
|
|
124
193
|
const progress = Object.freeze({
|
|
125
194
|
begin: beginProgress,
|
|
126
195
|
boot: ensureProgressElement,
|
|
@@ -128,6 +197,6 @@ const progress = Object.freeze({
|
|
|
128
197
|
set: setProgress,
|
|
129
198
|
setFromProgressEvent: setProgressFromEvent,
|
|
130
199
|
});
|
|
131
|
-
export { MAX_UPLOAD_PROGRESS, PROGRESS_ID, beginProgress, bindProgress, bootPageLoadProgress, endProgress, progress, setProgress, setProgressFromEvent, };
|
|
200
|
+
export { MAX_UPLOAD_PROGRESS, PROGRESS_ID, beginProgress, bindFetchProgress, bindProgress, bootPageLoadProgress, endProgress, progress, setProgress, setProgressFromEvent, stripProgressFetchOptions, };
|
|
132
201
|
export * from "./bars.js";
|
|
133
202
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/progress/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE3G,MAAM,WAAW,GAAG,GAAG,eAAe,WAAW,CAAC;AAClD,MAAM,mBAAmB,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/progress/index.ts"],"names":[],"mappings":"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"}
|