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/lib/events.js
ADDED
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.removeGlobalEventListeners = exports.addGlobalEventListeners = exports.attachEvents = exports.emitNavigateEvent = exports.emitPiralEvent = exports.emitRenderEvent = void 0;
|
|
4
|
+
const navigation_1 = require("./navigation");
|
|
5
|
+
const blazorRootId = 'blazor-root';
|
|
6
|
+
const eventParents = [];
|
|
7
|
+
const globalEventNames = [
|
|
8
|
+
'abort',
|
|
9
|
+
'blur',
|
|
10
|
+
'change',
|
|
11
|
+
'error',
|
|
12
|
+
'focus',
|
|
13
|
+
'load',
|
|
14
|
+
'loadend',
|
|
15
|
+
'loadstart',
|
|
16
|
+
'mouseenter',
|
|
17
|
+
'mouseleave',
|
|
18
|
+
'progress',
|
|
19
|
+
'reset',
|
|
20
|
+
'scroll',
|
|
21
|
+
'submit',
|
|
22
|
+
'unload',
|
|
23
|
+
'DOMNodeInsertedIntoDocument',
|
|
24
|
+
'DOMNodeRemovedFromDocument',
|
|
25
|
+
'click',
|
|
26
|
+
'dblclick',
|
|
27
|
+
'mousedown',
|
|
28
|
+
'mousemove',
|
|
29
|
+
'mouseup',
|
|
30
|
+
];
|
|
31
|
+
const eventNames = {
|
|
32
|
+
render: 'render-blazor-extension',
|
|
33
|
+
navigate: 'navigate-blazor',
|
|
34
|
+
piral: 'piral-blazor',
|
|
35
|
+
};
|
|
36
|
+
function isRooted(target) {
|
|
37
|
+
let parent = target.parentElement;
|
|
38
|
+
while (parent) {
|
|
39
|
+
if (parent.id === blazorRootId) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
parent = parent.parentElement;
|
|
43
|
+
}
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
function findTarget(target = document.body) {
|
|
47
|
+
if (eventParents.length === 0) {
|
|
48
|
+
return target;
|
|
49
|
+
}
|
|
50
|
+
else if (target === document.body) {
|
|
51
|
+
return eventParents[0];
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
return target;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
function dispatchToRoot(event) {
|
|
58
|
+
var _a;
|
|
59
|
+
(0, navigation_1.isInternalNavigation)(event) && (0, navigation_1.performInternalNavigation)(event);
|
|
60
|
+
// the mutation event cannot be cloned (at least in Webkit-based browsers)
|
|
61
|
+
if (!(event instanceof MutationEvent) && !event.processed) {
|
|
62
|
+
const eventClone = new event.constructor(event.type, event);
|
|
63
|
+
(_a = document.getElementById(blazorRootId)) === null || _a === void 0 ? void 0 : _a.dispatchEvent(eventClone);
|
|
64
|
+
// make sure to only process every event once; even though multiple boundaries might be active
|
|
65
|
+
event.processed = true;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
function emitRenderEvent(source, name, params, sourceRef, fallbackComponent) {
|
|
69
|
+
const target = findTarget(source);
|
|
70
|
+
const empty = typeof fallbackComponent === 'string' ? () => { } : undefined;
|
|
71
|
+
const order = typeof sourceRef !== 'undefined'
|
|
72
|
+
? (elements) => {
|
|
73
|
+
const oldItems = elements.map((el, id) => {
|
|
74
|
+
var _a;
|
|
75
|
+
return ({
|
|
76
|
+
id,
|
|
77
|
+
pilet: el.pilet,
|
|
78
|
+
defaults: (_a = el.defaults) !== null && _a !== void 0 ? _a : {},
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
const newItems = sourceRef.invokeMethod('Order', oldItems);
|
|
82
|
+
return newItems.map(({ id }) => elements[id]).filter(Boolean);
|
|
83
|
+
}
|
|
84
|
+
: undefined;
|
|
85
|
+
const eventInit = {
|
|
86
|
+
bubbles: true,
|
|
87
|
+
detail: {
|
|
88
|
+
target,
|
|
89
|
+
props: {
|
|
90
|
+
name,
|
|
91
|
+
params,
|
|
92
|
+
empty,
|
|
93
|
+
order,
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
const delayEmit = () => requestAnimationFrame(() => {
|
|
98
|
+
if (!isRooted(target)) {
|
|
99
|
+
target.dispatchEvent(new CustomEvent(eventNames.render, eventInit));
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
delayEmit();
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
delayEmit();
|
|
106
|
+
}
|
|
107
|
+
exports.emitRenderEvent = emitRenderEvent;
|
|
108
|
+
function emitPiralEvent(type, args) {
|
|
109
|
+
document.body.dispatchEvent(new CustomEvent(eventNames.piral, {
|
|
110
|
+
bubbles: false,
|
|
111
|
+
detail: {
|
|
112
|
+
type,
|
|
113
|
+
args,
|
|
114
|
+
},
|
|
115
|
+
}));
|
|
116
|
+
}
|
|
117
|
+
exports.emitPiralEvent = emitPiralEvent;
|
|
118
|
+
function emitNavigateEvent(source, to, replace = false, state) {
|
|
119
|
+
findTarget(source).dispatchEvent(new CustomEvent(eventNames.navigate, {
|
|
120
|
+
bubbles: true,
|
|
121
|
+
detail: {
|
|
122
|
+
to,
|
|
123
|
+
replace,
|
|
124
|
+
state,
|
|
125
|
+
},
|
|
126
|
+
}));
|
|
127
|
+
}
|
|
128
|
+
exports.emitNavigateEvent = emitNavigateEvent;
|
|
129
|
+
function attachEvents(host, render, navigate, forward) {
|
|
130
|
+
eventParents.push(host);
|
|
131
|
+
host.addEventListener(eventNames.render, render, false);
|
|
132
|
+
host.addEventListener(eventNames.navigate, navigate, false);
|
|
133
|
+
if (eventParents.length === 1) {
|
|
134
|
+
document.body.addEventListener(eventNames.piral, forward, false);
|
|
135
|
+
}
|
|
136
|
+
return () => {
|
|
137
|
+
eventParents.splice(eventParents.indexOf(host), 1);
|
|
138
|
+
host.removeEventListener(eventNames.render, render, false);
|
|
139
|
+
host.removeEventListener(eventNames.navigate, navigate, false);
|
|
140
|
+
if (eventParents.length === 0) {
|
|
141
|
+
document.body.removeEventListener(eventNames.piral, forward, false);
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
exports.attachEvents = attachEvents;
|
|
146
|
+
function addGlobalEventListeners(el) {
|
|
147
|
+
globalEventNames.forEach((eventName) => el.addEventListener(eventName, dispatchToRoot));
|
|
148
|
+
}
|
|
149
|
+
exports.addGlobalEventListeners = addGlobalEventListeners;
|
|
150
|
+
function removeGlobalEventListeners(el) {
|
|
151
|
+
globalEventNames.forEach((eventName) => el.removeEventListener(eventName, dispatchToRoot));
|
|
152
|
+
}
|
|
153
|
+
exports.removeGlobalEventListeners = removeGlobalEventListeners;
|
|
154
|
+
//# 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/lib/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./create"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./types"), exports);
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
package/lib/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>;
|
package/lib/interop.js
CHANGED
|
@@ -1,154 +1,226 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.initialize = exports.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
'
|
|
13
|
-
|
|
14
|
-
'
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
'DOMNodeInsertedIntoDocument',
|
|
28
|
-
'DOMNodeRemovedFromDocument',
|
|
29
|
-
'click',
|
|
30
|
-
'dblclick',
|
|
31
|
-
'mousedown',
|
|
32
|
-
'mousemove',
|
|
33
|
-
'mouseup',
|
|
34
|
-
];
|
|
35
|
-
function dispatchToRoot(event) {
|
|
36
|
-
var _a;
|
|
37
|
-
(_a = document.getElementById(blazorRootId)) === null || _a === void 0 ? void 0 : _a.dispatchEvent(new Event(event.type, event));
|
|
38
|
-
}
|
|
39
|
-
function isRooted(target) {
|
|
40
|
-
var parent = target.parentElement;
|
|
41
|
-
while (parent) {
|
|
42
|
-
if (parent.id === blazorRootId) {
|
|
43
|
-
return true;
|
|
3
|
+
exports.createBootLoader = exports.initialize = exports.unloadBlazorPilet = exports.loadBlazorPilet = exports.unloadResource = exports.loadResourceWithSymbol = exports.loadResource = exports.getCapabilities = exports.setLanguage = exports.callNotifyLocationChanged = exports.deactivate = exports.reactivate = exports.activate = exports.destroyElement = exports.updateElement = exports.createElement = exports.setLogLevel = exports.processEvent = void 0;
|
|
4
|
+
const events_1 = require("./events");
|
|
5
|
+
const wasmLib = 'Microsoft.AspNetCore.Components.WebAssembly';
|
|
6
|
+
const coreLib = 'Piral.Blazor.Core';
|
|
7
|
+
function isDotNet6OrBelow() {
|
|
8
|
+
return typeof window.Blazor._internal.NavigationLock === 'undefined';
|
|
9
|
+
}
|
|
10
|
+
function createBase() {
|
|
11
|
+
// Nothing found, we need to guess
|
|
12
|
+
const el = document.createElement('base');
|
|
13
|
+
let baseUrl = el.href;
|
|
14
|
+
// The main app is served by a script - but we don't know which one
|
|
15
|
+
// hence we just iterate over all the local ones and use the script
|
|
16
|
+
// that is served from the "shortest" route - should work almost
|
|
17
|
+
// always and if not - one can always explicitely set a <base> node
|
|
18
|
+
for (let i = document.scripts.length; i--;) {
|
|
19
|
+
const s = document.scripts[i];
|
|
20
|
+
const src = s.getAttribute('src');
|
|
21
|
+
if (src && src.startsWith('/')) {
|
|
22
|
+
const segEnd = src.lastIndexOf('/');
|
|
23
|
+
const newUrl = src.substring(0, segEnd + 1);
|
|
24
|
+
if (baseUrl.split('/').length > newUrl.split('/').length) {
|
|
25
|
+
baseUrl = newUrl;
|
|
26
|
+
}
|
|
44
27
|
}
|
|
45
|
-
parent = parent.parentElement;
|
|
46
28
|
}
|
|
47
|
-
|
|
29
|
+
el.href = baseUrl;
|
|
30
|
+
return document.head.appendChild(el);
|
|
48
31
|
}
|
|
49
|
-
function
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
32
|
+
function prepareForStartup() {
|
|
33
|
+
const originalApplyHotReload = window.Blazor._internal.applyHotReload;
|
|
34
|
+
const queue = [];
|
|
35
|
+
const applyChanges = (api) => {
|
|
36
|
+
const pilet = api.meta;
|
|
37
|
+
if (pilet.config && pilet.config.blazorHotReload) {
|
|
38
|
+
for (const item of queue.splice(0, queue.length)) {
|
|
39
|
+
item();
|
|
40
|
+
}
|
|
41
|
+
window.Blazor._internal.applyHotReload = originalApplyHotReload;
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
window.Blazor._internal.applyHotReload = function (...args) {
|
|
45
|
+
queue.push(() => originalApplyHotReload.apply(this, args));
|
|
46
|
+
};
|
|
47
|
+
return getCapabilities().then((capabilities) => ({
|
|
48
|
+
capabilities,
|
|
49
|
+
applyChanges,
|
|
50
|
+
}));
|
|
51
|
+
}
|
|
52
|
+
function createBlazorStarter(publicPath) {
|
|
53
|
+
const root = document.body.appendChild(document.createElement('div'));
|
|
54
|
+
root.style.display = 'none';
|
|
55
|
+
root.id = 'blazor-root';
|
|
56
|
+
if (publicPath) {
|
|
57
|
+
const baseElement = document.head.querySelector('base') || createBase();
|
|
58
|
+
const originalBase = baseElement.href;
|
|
59
|
+
baseElement.href = publicPath;
|
|
60
|
+
return (opts) => {
|
|
61
|
+
const navManager = window.Blazor._internal.navigationManager;
|
|
62
|
+
//Overwrite to get NavigationManager in Blazor working, see https://github.com/smapiot/Piral.Blazor/issues/89
|
|
63
|
+
navManager.navigateTo = (route, opts) => {
|
|
64
|
+
if (opts.forceLoad) {
|
|
65
|
+
location.href = route;
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
if (route.startsWith(location.origin) && '') {
|
|
69
|
+
// normalize "local" absolute URLs
|
|
70
|
+
route = route.substring(location.origin.length);
|
|
71
|
+
}
|
|
72
|
+
else if (/^https?:\/\//.test(route)) {
|
|
73
|
+
// prevent absolute URLs to be a standard navigation
|
|
74
|
+
location.href = route;
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
window.Blazor.emitNavigateEvent(undefined, route, opts.replaceHistoryEntry, opts.historyEntryState);
|
|
78
|
+
};
|
|
79
|
+
navManager.getBaseURI = () => originalBase;
|
|
80
|
+
return window.Blazor.start(opts)
|
|
81
|
+
.then(prepareForStartup)
|
|
82
|
+
.then(({ capabilities, applyChanges }) => {
|
|
83
|
+
baseElement.href = originalBase;
|
|
84
|
+
return [root, capabilities, applyChanges];
|
|
85
|
+
});
|
|
86
|
+
};
|
|
53
87
|
}
|
|
54
|
-
|
|
55
|
-
|
|
88
|
+
return (opts) => window.Blazor.start(opts)
|
|
89
|
+
.then(prepareForStartup)
|
|
90
|
+
.then(({ capabilities, applyChanges }) => [root, capabilities, applyChanges]);
|
|
91
|
+
}
|
|
92
|
+
function computePath() {
|
|
93
|
+
try {
|
|
94
|
+
throw new Error();
|
|
56
95
|
}
|
|
57
|
-
|
|
58
|
-
|
|
96
|
+
catch (t) {
|
|
97
|
+
const e = ('' + t.stack).match(/(https?|file|ftp|chrome-extension|moz-extension):\/\/[^)\n]+/g);
|
|
98
|
+
if (e) {
|
|
99
|
+
return e[0].replace(/^((?:https?|file|ftp|chrome-extension|moz-extension):\/\/.+)\/[^\/]+$/, '$1') + '/';
|
|
100
|
+
}
|
|
59
101
|
}
|
|
102
|
+
return '/';
|
|
60
103
|
}
|
|
61
|
-
function
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
var delayEmit = function () {
|
|
73
|
-
return requestAnimationFrame(function () {
|
|
74
|
-
if (!isRooted(target)) {
|
|
75
|
-
target.dispatchEvent(new CustomEvent(exports.eventNames.render, eventInit));
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
delayEmit();
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
};
|
|
82
|
-
delayEmit();
|
|
83
|
-
}
|
|
84
|
-
function emitNavigateEvent(source, to, replace, state) {
|
|
85
|
-
if (replace === void 0) { replace = false; }
|
|
86
|
-
findTarget(source).dispatchEvent(new CustomEvent(exports.eventNames.navigate, {
|
|
87
|
-
bubbles: true,
|
|
88
|
-
detail: {
|
|
89
|
-
to: to,
|
|
90
|
-
replace: replace,
|
|
91
|
-
state: state,
|
|
92
|
-
},
|
|
93
|
-
}));
|
|
104
|
+
function addScript(url) {
|
|
105
|
+
return new Promise((resolve, reject) => {
|
|
106
|
+
const script = document.createElement('script');
|
|
107
|
+
script.src = url;
|
|
108
|
+
script.onerror = () => reject();
|
|
109
|
+
script.onload = () => resolve();
|
|
110
|
+
document.body.appendChild(script);
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
function processEvent(type, args) {
|
|
114
|
+
return window.DotNet.invokeMethodAsync(coreLib, 'ProcessEvent', type, args);
|
|
94
115
|
}
|
|
95
|
-
|
|
96
|
-
|
|
116
|
+
exports.processEvent = processEvent;
|
|
117
|
+
function setLogLevel(logLevel) {
|
|
118
|
+
return window.DotNet.invokeMethodAsync(coreLib, 'SetLogLevel', logLevel);
|
|
97
119
|
}
|
|
98
|
-
exports.
|
|
99
|
-
function
|
|
100
|
-
|
|
120
|
+
exports.setLogLevel = setLogLevel;
|
|
121
|
+
function createElement(moduleName, props) {
|
|
122
|
+
return window.DotNet.invokeMethodAsync(coreLib, 'CreateElement', moduleName, props);
|
|
101
123
|
}
|
|
102
|
-
exports.
|
|
124
|
+
exports.createElement = createElement;
|
|
125
|
+
function updateElement(referenceId, props) {
|
|
126
|
+
return window.DotNet.invokeMethodAsync(coreLib, 'UpdateElement', referenceId, props);
|
|
127
|
+
}
|
|
128
|
+
exports.updateElement = updateElement;
|
|
129
|
+
function destroyElement(referenceId) {
|
|
130
|
+
return window.DotNet.invokeMethodAsync(coreLib, 'DestroyElement', referenceId);
|
|
131
|
+
}
|
|
132
|
+
exports.destroyElement = destroyElement;
|
|
103
133
|
function activate(moduleName, props) {
|
|
104
|
-
return window
|
|
134
|
+
return window.DotNet.invokeMethodAsync(coreLib, 'Activate', moduleName, props);
|
|
105
135
|
}
|
|
106
136
|
exports.activate = activate;
|
|
137
|
+
function reactivate(moduleName, referenceId, props) {
|
|
138
|
+
return window.DotNet.invokeMethodAsync(coreLib, 'Reactivate', moduleName, referenceId, props).catch(() => {
|
|
139
|
+
// Apparently an older version of Piral.Blazor, which does not support this
|
|
140
|
+
// discard this error silently (in the future we may print warnings here)
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
exports.reactivate = reactivate;
|
|
107
144
|
function deactivate(moduleName, referenceId) {
|
|
108
|
-
return window
|
|
145
|
+
return window.DotNet.invokeMethodAsync(coreLib, 'Deactivate', moduleName, referenceId);
|
|
109
146
|
}
|
|
110
147
|
exports.deactivate = deactivate;
|
|
111
|
-
function
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
148
|
+
function callNotifyLocationChanged(url, replace, state) {
|
|
149
|
+
if (isDotNet6OrBelow()) {
|
|
150
|
+
return window.DotNet.invokeMethodAsync(wasmLib, 'NotifyLocationChanged', url, replace);
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
if (state !== undefined && typeof state !== 'string') {
|
|
154
|
+
state = JSON.stringify(state);
|
|
155
|
+
}
|
|
156
|
+
return window.DotNet.invokeMethodAsync(wasmLib, 'NotifyLocationChanged', url, state, replace);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
exports.callNotifyLocationChanged = callNotifyLocationChanged;
|
|
160
|
+
function setLanguage(language) {
|
|
161
|
+
return window.DotNet.invokeMethodAsync(coreLib, 'SetLanguage', language);
|
|
162
|
+
}
|
|
163
|
+
exports.setLanguage = setLanguage;
|
|
164
|
+
function getCapabilities() {
|
|
165
|
+
return window.DotNet.invokeMethodAsync(coreLib, 'GetCapabilities').catch(() => {
|
|
166
|
+
// Apparently an older version of Piral.Blazor, which does not support this
|
|
167
|
+
// discard this error silently (in the future we may print warnings here)
|
|
168
|
+
return [];
|
|
119
169
|
});
|
|
120
170
|
}
|
|
121
|
-
exports.
|
|
122
|
-
function
|
|
123
|
-
return window
|
|
124
|
-
}
|
|
125
|
-
exports.
|
|
126
|
-
function
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
171
|
+
exports.getCapabilities = getCapabilities;
|
|
172
|
+
function loadResource(url) {
|
|
173
|
+
return window.DotNet.invokeMethodAsync(coreLib, 'LoadComponentsFromLibrary', url);
|
|
174
|
+
}
|
|
175
|
+
exports.loadResource = loadResource;
|
|
176
|
+
function loadResourceWithSymbol(dllUrl, pdbUrl) {
|
|
177
|
+
return window.DotNet.invokeMethodAsync(coreLib, 'LoadComponentsWithSymbolsFromLibrary', dllUrl, pdbUrl);
|
|
178
|
+
}
|
|
179
|
+
exports.loadResourceWithSymbol = loadResourceWithSymbol;
|
|
180
|
+
function unloadResource(url) {
|
|
181
|
+
return window.DotNet.invokeMethodAsync(coreLib, 'UnloadComponentsFromLibrary', url);
|
|
182
|
+
}
|
|
183
|
+
exports.unloadResource = unloadResource;
|
|
184
|
+
function loadBlazorPilet(id, data) {
|
|
185
|
+
return window.DotNet.invokeMethodAsync(coreLib, 'LoadPilet', id, data);
|
|
135
186
|
}
|
|
136
|
-
exports.
|
|
137
|
-
function
|
|
138
|
-
return
|
|
139
|
-
|
|
187
|
+
exports.loadBlazorPilet = loadBlazorPilet;
|
|
188
|
+
function unloadBlazorPilet(id) {
|
|
189
|
+
return window.DotNet.invokeMethodAsync(coreLib, 'UnloadPilet', id);
|
|
190
|
+
}
|
|
191
|
+
exports.unloadBlazorPilet = unloadBlazorPilet;
|
|
192
|
+
function initialize(scriptUrl, publicPath, opts = {}) {
|
|
193
|
+
if (typeof opts.loadBootResource !== 'function') {
|
|
194
|
+
opts.loadBootResource = (type, name, url) => type === 'dotnetjs' ? url : fetch(url, { method: 'GET', cache: 'no-cache' });
|
|
195
|
+
}
|
|
196
|
+
return new Promise((resolve, reject) => {
|
|
197
|
+
const startBlazor = createBlazorStarter(publicPath);
|
|
198
|
+
const script = document.createElement('script');
|
|
140
199
|
script.src = scriptUrl;
|
|
141
200
|
script.setAttribute('autostart', 'false');
|
|
142
|
-
script.onerror =
|
|
143
|
-
script.onload =
|
|
144
|
-
Object.assign(window
|
|
145
|
-
emitRenderEvent: emitRenderEvent,
|
|
146
|
-
emitNavigateEvent: emitNavigateEvent,
|
|
201
|
+
script.onerror = () => reject();
|
|
202
|
+
script.onload = () => {
|
|
203
|
+
Object.assign(window.Blazor, {
|
|
204
|
+
emitRenderEvent: events_1.emitRenderEvent,
|
|
205
|
+
emitNavigateEvent: events_1.emitNavigateEvent,
|
|
206
|
+
emitPiralEvent: events_1.emitPiralEvent,
|
|
147
207
|
});
|
|
148
|
-
|
|
208
|
+
startBlazor(opts).then(resolve);
|
|
149
209
|
};
|
|
150
210
|
document.body.appendChild(script);
|
|
151
211
|
});
|
|
152
212
|
}
|
|
153
213
|
exports.initialize = initialize;
|
|
214
|
+
function createBootLoader(scriptUrl, extraScriptUrls) {
|
|
215
|
+
const publicPath = computePath();
|
|
216
|
+
return (opts) => {
|
|
217
|
+
if (typeof window.$blazorLoader === 'undefined') {
|
|
218
|
+
window.dispatchEvent(new CustomEvent('loading-blazor-core'));
|
|
219
|
+
// we load all satellite scripts before we initialize blazor
|
|
220
|
+
window.$blazorLoader = Promise.all(extraScriptUrls.map(addScript)).then(() => initialize(scriptUrl, publicPath, opts));
|
|
221
|
+
}
|
|
222
|
+
return window.$blazorLoader;
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
exports.createBootLoader = createBootLoader;
|
|
154
226
|
//# sourceMappingURL=interop.js.map
|
package/lib/interop.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interop.js","sourceRoot":"","sources":["../src/interop.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"interop.js","sourceRoot":"","sources":["../src/interop.ts"],"names":[],"mappings":"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"}
|