piral-blazor 1.0.0-pre.2296 → 1.0.1-beta.5640
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/LICENSE +1 -1
- package/README.md +51 -9
- package/convert.d.ts +13 -8
- package/convert.js +17 -12
- package/esm/converter.d.ts +10 -4
- package/esm/converter.js +164 -50
- package/esm/converter.js.map +1 -1
- package/esm/create.d.ts +21 -1
- package/esm/create.js +29 -15
- package/esm/create.js.map +1 -1
- package/esm/dependencies.d.ts +6 -3
- package/esm/dependencies.js +104 -14
- package/esm/dependencies.js.map +1 -1
- package/esm/events.d.ts +6 -0
- package/esm/events.js +145 -0
- package/esm/events.js.map +1 -0
- package/esm/interop.d.ts +29 -12
- package/esm/interop.js +181 -119
- package/esm/interop.js.map +1 -1
- package/esm/navigation.d.ts +2 -0
- package/esm/navigation.js +30 -0
- package/esm/navigation.js.map +1 -0
- package/esm/types.d.ts +97 -4
- package/infra.codegen +32 -23
- package/lib/converter.d.ts +10 -4
- package/lib/converter.js +164 -50
- package/lib/converter.js.map +1 -1
- package/lib/create.d.ts +21 -1
- package/lib/create.js +31 -17
- package/lib/create.js.map +1 -1
- package/lib/dependencies.d.ts +6 -3
- package/lib/dependencies.js +104 -14
- package/lib/dependencies.js.map +1 -1
- package/lib/events.d.ts +6 -0
- package/lib/events.js +154 -0
- package/lib/events.js.map +1 -0
- package/lib/index.js +1 -1
- package/lib/interop.d.ts +29 -12
- package/lib/interop.js +196 -124
- package/lib/interop.js.map +1 -1
- package/lib/navigation.d.ts +2 -0
- package/lib/navigation.js +35 -0
- package/lib/navigation.js.map +1 -0
- package/lib/types.d.ts +97 -4
- package/package.json +25 -9
- package/src/converter.ts +233 -63
- package/src/create.ts +53 -9
- package/src/dependencies.ts +122 -14
- package/src/events.ts +174 -0
- package/src/interop.ts +228 -117
- package/src/navigation.ts +36 -0
- package/src/types.ts +115 -4
- package/convert.ts +0 -17
package/esm/dependencies.js
CHANGED
|
@@ -1,21 +1,111 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
var _a, _b;
|
|
2
|
+
import { __awaiter } from "tslib";
|
|
3
|
+
import { loadBlazorPilet, loadResource, loadResourceWithSymbol, unloadBlazorPilet, unloadResource } from './interop';
|
|
4
|
+
const loadedDependencies = ((_a = window.$blazorDependencies) !== null && _a !== void 0 ? _a : (window.$blazorDependencies = []));
|
|
5
|
+
const depsWithPrios = ((_b = window.$blazorDependencyPrios) !== null && _b !== void 0 ? _b : (window.$blazorDependencyPrios = []));
|
|
6
|
+
export function createDependencyLoader(convert) {
|
|
7
|
+
const definedBlazorReferences = [];
|
|
8
|
+
const loadedBlazorPilets = [];
|
|
9
|
+
let dependency;
|
|
5
10
|
return {
|
|
6
|
-
getDependency
|
|
11
|
+
getDependency() {
|
|
7
12
|
return dependency;
|
|
8
13
|
},
|
|
9
|
-
defineBlazorReferences
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
14
|
+
defineBlazorReferences(references, meta = {}, satellites = {}, prio = 0) {
|
|
15
|
+
prio = Math.max(prio, 0);
|
|
16
|
+
const depWithPrio = {
|
|
17
|
+
prio,
|
|
18
|
+
load() {
|
|
19
|
+
return Promise.resolve();
|
|
20
|
+
},
|
|
16
21
|
};
|
|
17
|
-
|
|
18
|
-
|
|
22
|
+
let result = false;
|
|
23
|
+
const load = ([_, capabilities]) => __awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
// let others finish first
|
|
25
|
+
yield Promise.all(depsWithPrios.filter((m) => m.prio > prio).map((m) => m.load()));
|
|
26
|
+
window.dispatchEvent(new CustomEvent('loading-blazor-pilet', { detail: meta }));
|
|
27
|
+
if (capabilities.includes('load')) {
|
|
28
|
+
// new loading mechanism
|
|
29
|
+
if (!capabilities.includes('language')) {
|
|
30
|
+
satellites = undefined;
|
|
31
|
+
}
|
|
32
|
+
const dependencies = references.filter((m) => m.endsWith('.dll'));
|
|
33
|
+
const dllUrl = dependencies.pop();
|
|
34
|
+
const piletName = dllUrl.substring(0, dllUrl.length - 4);
|
|
35
|
+
const piletPdb = `${piletName}.pdb`;
|
|
36
|
+
const pdbUrl = references.find((m) => m === piletPdb);
|
|
37
|
+
const id = Math.random().toString(26).substring(2);
|
|
38
|
+
yield loadBlazorPilet(id, {
|
|
39
|
+
name: meta.name || '(unknown)',
|
|
40
|
+
version: meta.version || '0.0.0',
|
|
41
|
+
config: JSON.stringify(meta.config || {}),
|
|
42
|
+
baseUrl: meta.basePath || dllUrl.substring(0, dllUrl.lastIndexOf('/')).replace('/_framework/', '/'),
|
|
43
|
+
dependencies,
|
|
44
|
+
satellites,
|
|
45
|
+
dllUrl,
|
|
46
|
+
pdbUrl,
|
|
47
|
+
});
|
|
48
|
+
loadedBlazorPilets.push(id);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
// old loading mechanism
|
|
52
|
+
for (const dllUrl of references) {
|
|
53
|
+
const dllName = dllUrl.substring(dllUrl.lastIndexOf('/') + 1);
|
|
54
|
+
if (dllUrl.endsWith('.dll')) {
|
|
55
|
+
const entry = loadedDependencies.find((m) => m.name === dllName);
|
|
56
|
+
if (entry) {
|
|
57
|
+
entry.count++;
|
|
58
|
+
yield entry.promise;
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
const urlWithoutExtension = dllUrl.substring(0, dllUrl.length - 4);
|
|
62
|
+
const pdbName = `${urlWithoutExtension}.pdb`;
|
|
63
|
+
const pdbUrl = references.find((m) => m === pdbName);
|
|
64
|
+
const promise = pdbUrl ? loadResourceWithSymbol(dllUrl, pdbUrl) : loadResource(dllUrl);
|
|
65
|
+
loadedDependencies.push({
|
|
66
|
+
name: dllName,
|
|
67
|
+
url: dllUrl,
|
|
68
|
+
count: 1,
|
|
69
|
+
promise,
|
|
70
|
+
});
|
|
71
|
+
yield promise;
|
|
72
|
+
}
|
|
73
|
+
definedBlazorReferences.push(dllName);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// inform remaining that this one finished
|
|
78
|
+
window.dispatchEvent(new CustomEvent('loaded-blazor-pilet', { detail: meta }));
|
|
79
|
+
});
|
|
80
|
+
depWithPrio.load = () => {
|
|
81
|
+
if (!result) {
|
|
82
|
+
result = convert.loader.then(load);
|
|
83
|
+
}
|
|
84
|
+
return result;
|
|
85
|
+
};
|
|
86
|
+
result = !convert.lazy && convert.loader.then(load);
|
|
87
|
+
dependency = (config) => result || (result = load(config));
|
|
88
|
+
if (prio) {
|
|
89
|
+
depsWithPrios.push(depWithPrio);
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
releaseBlazorReferences() {
|
|
93
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
const references = definedBlazorReferences.splice(0, definedBlazorReferences.length);
|
|
95
|
+
const ids = loadedBlazorPilets.splice(0, loadedBlazorPilets.length);
|
|
96
|
+
// old way of loading
|
|
97
|
+
for (const reference of references) {
|
|
98
|
+
const entry = loadedDependencies.find((m) => m.name === reference);
|
|
99
|
+
if (--entry.count === 0) {
|
|
100
|
+
loadedDependencies.splice(loadedDependencies.indexOf(entry), 1);
|
|
101
|
+
yield unloadResource(entry.url);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
// new way of loading
|
|
105
|
+
for (const id of ids) {
|
|
106
|
+
yield unloadBlazorPilet(id);
|
|
107
|
+
}
|
|
108
|
+
});
|
|
19
109
|
},
|
|
20
110
|
};
|
|
21
111
|
}
|
package/esm/dependencies.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":"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"}
|
package/esm/events.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function emitRenderEvent(source: HTMLElement, name: string, params: any, sourceRef: any, fallbackComponent: string | null): void;
|
|
2
|
+
export declare function emitPiralEvent(type: string, args: any): void;
|
|
3
|
+
export declare function emitNavigateEvent(source: HTMLElement, to: string, replace?: boolean, state?: any): void;
|
|
4
|
+
export declare function attachEvents(host: HTMLElement, render: (ev: CustomEvent) => void, navigate: (ev: CustomEvent) => void, forward: (ev: CustomEvent) => void): () => void;
|
|
5
|
+
export declare function addGlobalEventListeners(el: HTMLElement): void;
|
|
6
|
+
export declare function removeGlobalEventListeners(el: HTMLElement): void;
|
package/esm/events.js
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { isInternalNavigation, performInternalNavigation } from './navigation';
|
|
2
|
+
const blazorRootId = 'blazor-root';
|
|
3
|
+
const eventParents = [];
|
|
4
|
+
const globalEventNames = [
|
|
5
|
+
'abort',
|
|
6
|
+
'blur',
|
|
7
|
+
'change',
|
|
8
|
+
'error',
|
|
9
|
+
'focus',
|
|
10
|
+
'load',
|
|
11
|
+
'loadend',
|
|
12
|
+
'loadstart',
|
|
13
|
+
'mouseenter',
|
|
14
|
+
'mouseleave',
|
|
15
|
+
'progress',
|
|
16
|
+
'reset',
|
|
17
|
+
'scroll',
|
|
18
|
+
'submit',
|
|
19
|
+
'unload',
|
|
20
|
+
'DOMNodeInsertedIntoDocument',
|
|
21
|
+
'DOMNodeRemovedFromDocument',
|
|
22
|
+
'click',
|
|
23
|
+
'dblclick',
|
|
24
|
+
'mousedown',
|
|
25
|
+
'mousemove',
|
|
26
|
+
'mouseup',
|
|
27
|
+
];
|
|
28
|
+
const eventNames = {
|
|
29
|
+
render: 'render-blazor-extension',
|
|
30
|
+
navigate: 'navigate-blazor',
|
|
31
|
+
piral: 'piral-blazor',
|
|
32
|
+
};
|
|
33
|
+
function isRooted(target) {
|
|
34
|
+
let parent = target.parentElement;
|
|
35
|
+
while (parent) {
|
|
36
|
+
if (parent.id === blazorRootId) {
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
parent = parent.parentElement;
|
|
40
|
+
}
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
function findTarget(target = document.body) {
|
|
44
|
+
if (eventParents.length === 0) {
|
|
45
|
+
return target;
|
|
46
|
+
}
|
|
47
|
+
else if (target === document.body) {
|
|
48
|
+
return eventParents[0];
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
return target;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function dispatchToRoot(event) {
|
|
55
|
+
var _a;
|
|
56
|
+
isInternalNavigation(event) && performInternalNavigation(event);
|
|
57
|
+
// the mutation event cannot be cloned (at least in Webkit-based browsers)
|
|
58
|
+
if (!(event instanceof MutationEvent) && !event.processed) {
|
|
59
|
+
const eventClone = new event.constructor(event.type, event);
|
|
60
|
+
(_a = document.getElementById(blazorRootId)) === null || _a === void 0 ? void 0 : _a.dispatchEvent(eventClone);
|
|
61
|
+
// make sure to only process every event once; even though multiple boundaries might be active
|
|
62
|
+
event.processed = true;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
export function emitRenderEvent(source, name, params, sourceRef, fallbackComponent) {
|
|
66
|
+
const target = findTarget(source);
|
|
67
|
+
const empty = typeof fallbackComponent === 'string' ? () => { } : undefined;
|
|
68
|
+
const order = typeof sourceRef !== 'undefined'
|
|
69
|
+
? (elements) => {
|
|
70
|
+
const oldItems = elements.map((el, id) => {
|
|
71
|
+
var _a;
|
|
72
|
+
return ({
|
|
73
|
+
id,
|
|
74
|
+
pilet: el.pilet,
|
|
75
|
+
defaults: (_a = el.defaults) !== null && _a !== void 0 ? _a : {},
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
const newItems = sourceRef.invokeMethod('Order', oldItems);
|
|
79
|
+
return newItems.map(({ id }) => elements[id]).filter(Boolean);
|
|
80
|
+
}
|
|
81
|
+
: undefined;
|
|
82
|
+
const eventInit = {
|
|
83
|
+
bubbles: true,
|
|
84
|
+
detail: {
|
|
85
|
+
target,
|
|
86
|
+
props: {
|
|
87
|
+
name,
|
|
88
|
+
params,
|
|
89
|
+
empty,
|
|
90
|
+
order,
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
const delayEmit = () => requestAnimationFrame(() => {
|
|
95
|
+
if (!isRooted(target)) {
|
|
96
|
+
target.dispatchEvent(new CustomEvent(eventNames.render, eventInit));
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
delayEmit();
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
delayEmit();
|
|
103
|
+
}
|
|
104
|
+
export function emitPiralEvent(type, args) {
|
|
105
|
+
document.body.dispatchEvent(new CustomEvent(eventNames.piral, {
|
|
106
|
+
bubbles: false,
|
|
107
|
+
detail: {
|
|
108
|
+
type,
|
|
109
|
+
args,
|
|
110
|
+
},
|
|
111
|
+
}));
|
|
112
|
+
}
|
|
113
|
+
export function emitNavigateEvent(source, to, replace = false, state) {
|
|
114
|
+
findTarget(source).dispatchEvent(new CustomEvent(eventNames.navigate, {
|
|
115
|
+
bubbles: true,
|
|
116
|
+
detail: {
|
|
117
|
+
to,
|
|
118
|
+
replace,
|
|
119
|
+
state,
|
|
120
|
+
},
|
|
121
|
+
}));
|
|
122
|
+
}
|
|
123
|
+
export function attachEvents(host, render, navigate, forward) {
|
|
124
|
+
eventParents.push(host);
|
|
125
|
+
host.addEventListener(eventNames.render, render, false);
|
|
126
|
+
host.addEventListener(eventNames.navigate, navigate, false);
|
|
127
|
+
if (eventParents.length === 1) {
|
|
128
|
+
document.body.addEventListener(eventNames.piral, forward, false);
|
|
129
|
+
}
|
|
130
|
+
return () => {
|
|
131
|
+
eventParents.splice(eventParents.indexOf(host), 1);
|
|
132
|
+
host.removeEventListener(eventNames.render, render, false);
|
|
133
|
+
host.removeEventListener(eventNames.navigate, navigate, false);
|
|
134
|
+
if (eventParents.length === 0) {
|
|
135
|
+
document.body.removeEventListener(eventNames.piral, forward, false);
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
export function addGlobalEventListeners(el) {
|
|
140
|
+
globalEventNames.forEach((eventName) => el.addEventListener(eventName, dispatchToRoot));
|
|
141
|
+
}
|
|
142
|
+
export function removeGlobalEventListeners(el) {
|
|
143
|
+
globalEventNames.forEach((eventName) => el.removeEventListener(eventName, dispatchToRoot));
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
package/esm/interop.d.ts
CHANGED
|
@@ -1,12 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export declare function
|
|
6
|
-
export declare function
|
|
7
|
-
export declare function activate(moduleName: string, props: any):
|
|
8
|
-
export declare function
|
|
9
|
-
export declare function
|
|
10
|
-
export declare function
|
|
11
|
-
export declare function
|
|
12
|
-
export declare function
|
|
1
|
+
import type { BlazorLogLevel, BlazorRootConfig, WebAssemblyStartOptions } from './types';
|
|
2
|
+
export declare function processEvent(type: string, args: any): any;
|
|
3
|
+
export declare function setLogLevel(logLevel: BlazorLogLevel): any;
|
|
4
|
+
export declare function createElement(moduleName: string, props: any): Promise<string>;
|
|
5
|
+
export declare function updateElement(referenceId: string, props: any): Promise<string>;
|
|
6
|
+
export declare function destroyElement(referenceId: string): Promise<string>;
|
|
7
|
+
export declare function activate(moduleName: string, props: any): Promise<string>;
|
|
8
|
+
export declare function reactivate(moduleName: string, referenceId: string, props: any): Promise<void>;
|
|
9
|
+
export declare function deactivate(moduleName: string, referenceId: string): Promise<void>;
|
|
10
|
+
export declare function callNotifyLocationChanged(url: string, replace: boolean, state: any): Promise<void>;
|
|
11
|
+
export declare function setLanguage(language: string): Promise<void>;
|
|
12
|
+
export declare function getCapabilities(): Promise<Array<string>>;
|
|
13
|
+
export declare function loadResource(url: string): Promise<void>;
|
|
14
|
+
export declare function loadResourceWithSymbol(dllUrl: string, pdbUrl: string): Promise<void>;
|
|
15
|
+
export declare function unloadResource(url: string): Promise<void>;
|
|
16
|
+
export interface PiletData {
|
|
17
|
+
dllUrl: string;
|
|
18
|
+
pdbUrl?: string;
|
|
19
|
+
name: string;
|
|
20
|
+
version: string;
|
|
21
|
+
config: string;
|
|
22
|
+
baseUrl: string;
|
|
23
|
+
satellites?: Record<string, Array<string>>;
|
|
24
|
+
dependencies: Array<string>;
|
|
25
|
+
}
|
|
26
|
+
export declare function loadBlazorPilet(id: string, data: PiletData): any;
|
|
27
|
+
export declare function unloadBlazorPilet(id: string): any;
|
|
28
|
+
export declare function initialize(scriptUrl: string, publicPath: string, opts?: WebAssemblyStartOptions): Promise<BlazorRootConfig>;
|
|
29
|
+
export declare function createBootLoader(scriptUrl: string, extraScriptUrls: Array<string>): (opts?: WebAssemblyStartOptions) => Promise<BlazorRootConfig>;
|