Commit bfd684d
committed
Fix pat-upload lazification for imperative callers
The split left pat-structure, pat-relateditems and the contentbrowser app
importing the thin upload.js registration module and doing `new Upload()`.
That module grafts the implementation asynchronously in init(), so the
instance was missing its body (setPath, currentPath, the Dropzone wiring)
right after construction, breaking those callers.
Make upload--implementation.js a constructable Base.extend pattern again
and point the imperative callers at it, so `new Upload()` yields a fully
formed instance synchronously. The thin upload.js keeps registering the
.pat-upload trigger and grafts the implementation prototype on first match,
so the body still stays out of the eager patterns chunk (the implementation
is only reached via lazy chunks: the structure app view, the contentbrowser
component and the relateditems dynamic import). Registry.register is
first-wins, so the eagerly imported thin module remains the registered
.pat-upload pattern.
Add a regression test asserting the implementation is constructable and
exposes its methods synchronously.1 parent 86f0cf3 commit bfd684d
6 files changed
Lines changed: 47 additions & 14 deletions
File tree
- src/pat
- contentbrowser/src
- structure/js/views
- upload
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
402 | 402 | | |
403 | 403 | | |
404 | 404 | | |
405 | | - | |
| 405 | + | |
406 | 406 | | |
407 | 407 | | |
408 | 408 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
11 | | - | |
12 | | - | |
13 | | - | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
14 | 22 | | |
15 | 23 | | |
16 | 24 | | |
| |||
497 | 505 | | |
498 | 506 | | |
499 | 507 | | |
500 | | - | |
| 508 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
14 | 17 | | |
15 | 18 | | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
22 | 24 | | |
23 | 25 | | |
0 commit comments