piral-blazor 0.15.0-alpha.4409 → 0.15.0-beta.4466
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/esm/converter.js +13 -3
- package/esm/converter.js.map +1 -1
- package/esm/interop.d.ts +4 -3
- package/esm/interop.js +7 -10
- package/esm/interop.js.map +1 -1
- package/lib/converter.js +12 -2
- package/lib/converter.js.map +1 -1
- package/lib/interop.d.ts +4 -3
- package/lib/interop.js +9 -11
- package/lib/interop.js.map +1 -1
- package/package.json +3 -3
- package/src/converter.ts +15 -4
- package/src/interop.ts +8 -3
package/esm/converter.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { addGlobalEventListeners, attachEvents, removeGlobalEventListeners } from './events';
|
|
2
|
-
import { activate, deactivate, createBootLoader, reactivate } from './interop';
|
|
2
|
+
import { activate, deactivate, createBootLoader, reactivate, callNotifyLocationChanged } from './interop';
|
|
3
3
|
import bootConfig from '../infra.codegen';
|
|
4
4
|
const noop = () => { };
|
|
5
5
|
const mediaRules = [
|
|
@@ -21,6 +21,7 @@ function project(component, destination, options) {
|
|
|
21
21
|
export function createConverter(lazy) {
|
|
22
22
|
const boot = createBootLoader(bootConfig);
|
|
23
23
|
let loader = !lazy && boot();
|
|
24
|
+
let listener = undefined;
|
|
24
25
|
const enqueueChange = (locals, update) => {
|
|
25
26
|
if (locals.state === 'mounted') {
|
|
26
27
|
loader.then(update);
|
|
@@ -32,13 +33,22 @@ export function createConverter(lazy) {
|
|
|
32
33
|
const convert = (moduleName, dependency, args, options) => ({
|
|
33
34
|
mount(el, data, ctx, locals) {
|
|
34
35
|
const props = Object.assign(Object.assign({}, args), data);
|
|
36
|
+
const nav = ctx.navigation;
|
|
35
37
|
el.setAttribute('data-blazor-pilet-root', 'true');
|
|
36
38
|
addGlobalEventListeners(el);
|
|
39
|
+
if (listener === undefined) {
|
|
40
|
+
listener = nav.listen(({ location, action }) => {
|
|
41
|
+
// POP is already handled by .NET
|
|
42
|
+
if (action !== 'POP') {
|
|
43
|
+
callNotifyLocationChanged(location.href, action === 'REPLACE');
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
37
47
|
locals.state = 'fresh';
|
|
38
48
|
locals.update = noop;
|
|
39
49
|
locals.dispose = attachEvents(el, (ev) => data.piral.renderHtmlExtension(ev.detail.target, ev.detail.props), (ev) => ev.detail.replace
|
|
40
|
-
?
|
|
41
|
-
:
|
|
50
|
+
? nav.replace(ev.detail.to, ev.detail.store)
|
|
51
|
+
: nav.push(ev.detail.to, ev.detail.state));
|
|
42
52
|
(loader || (loader = boot()))
|
|
43
53
|
.then((root) => dependency()
|
|
44
54
|
.then(() => activate(moduleName, props))
|
package/esm/converter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAC7F,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":"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"}
|
package/esm/interop.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export declare function activate(moduleName: string, props: any): any;
|
|
2
2
|
export declare function reactivate(moduleName: string, referenceId: string, props: any): any;
|
|
3
3
|
export declare function deactivate(moduleName: string, referenceId: string): any;
|
|
4
|
-
export declare function
|
|
5
|
-
export declare function
|
|
6
|
-
export declare function
|
|
4
|
+
export declare function callNotifyLocationChanged(url: string, replace: boolean): any;
|
|
5
|
+
export declare function loadResource(url: string): any;
|
|
6
|
+
export declare function loadResourceWithSymbol(dllUrl: string, pdbUrl: string): any;
|
|
7
|
+
export declare function unloadResource(url: string): any;
|
|
7
8
|
export declare function initialize(scriptUrl: string, publicPath: string): Promise<HTMLDivElement>;
|
|
8
9
|
export declare function createBootLoader(scriptUrl: string): () => Promise<HTMLDivElement>;
|
package/esm/interop.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
1
|
import { emitRenderEvent, emitNavigateEvent } from './events';
|
|
2
|
+
const wasmLib = 'Microsoft.AspNetCore.Components.WebAssembly';
|
|
3
3
|
const coreLib = 'Piral.Blazor.Core';
|
|
4
4
|
function createBlazorStarter(publicPath) {
|
|
5
5
|
const root = document.body.appendChild(document.createElement('div'));
|
|
@@ -53,20 +53,17 @@ export function reactivate(moduleName, referenceId, props) {
|
|
|
53
53
|
export function deactivate(moduleName, referenceId) {
|
|
54
54
|
return window.DotNet.invokeMethodAsync(coreLib, 'Deactivate', moduleName, referenceId);
|
|
55
55
|
}
|
|
56
|
+
export function callNotifyLocationChanged(url, replace) {
|
|
57
|
+
return window.DotNet.invokeMethodAsync(wasmLib, 'NotifyLocationChanged', url, replace);
|
|
58
|
+
}
|
|
56
59
|
export function loadResource(url) {
|
|
57
|
-
return
|
|
58
|
-
return window.DotNet.invokeMethodAsync(coreLib, 'LoadComponentsFromLibrary', url);
|
|
59
|
-
});
|
|
60
|
+
return window.DotNet.invokeMethodAsync(coreLib, 'LoadComponentsFromLibrary', url);
|
|
60
61
|
}
|
|
61
62
|
export function loadResourceWithSymbol(dllUrl, pdbUrl) {
|
|
62
|
-
return
|
|
63
|
-
return window.DotNet.invokeMethodAsync(coreLib, 'LoadComponentsWithSymbolsFromLibrary', dllUrl, pdbUrl);
|
|
64
|
-
});
|
|
63
|
+
return window.DotNet.invokeMethodAsync(coreLib, 'LoadComponentsWithSymbolsFromLibrary', dllUrl, pdbUrl);
|
|
65
64
|
}
|
|
66
65
|
export function unloadResource(url) {
|
|
67
|
-
return
|
|
68
|
-
return window.DotNet.invokeMethodAsync(coreLib, 'UnloadComponentsFromLibrary', url);
|
|
69
|
-
});
|
|
66
|
+
return window.DotNet.invokeMethodAsync(coreLib, 'UnloadComponentsFromLibrary', url);
|
|
70
67
|
}
|
|
71
68
|
export function initialize(scriptUrl, publicPath) {
|
|
72
69
|
return new Promise((resolve, reject) => {
|
package/esm/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":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE9D,MAAM,OAAO,GAAG,6CAA6C,CAAC;AAC9D,MAAM,OAAO,GAAG,mBAAmB,CAAC;AAEpC,SAAS,mBAAmB,CAAC,UAAkB;IAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IAEtE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC5B,IAAI,CAAC,EAAE,GAAG,aAAa,CAAC;IAExB,IAAI,UAAU,EAAE;QACd,MAAM,WAAW,GACf,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;QACnG,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC;QACtC,WAAW,CAAC,IAAI,GAAG,UAAU,CAAC;QAE9B,OAAO,GAAG,EAAE;YACV,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC;YAE7D,6GAA6G;YAC7G,UAAU,CAAC,UAAU,GAAG,CAAC,KAAa,EAAE,IAA0D,EAAE,EAAE;gBACpG,IAAI,IAAI,CAAC,SAAS,EAAE;oBAClB,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC;iBACvB;qBAAM;oBACL,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;iBAC7E;YACH,CAAC,CAAC;YAEF,UAAU,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC;YAE3C,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;gBACrC,WAAW,CAAC,IAAI,GAAG,YAAY,CAAC;gBAChC,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;KACH;IAED,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,WAAW;IAClB,IAAI;QACF,MAAM,IAAI,KAAK,EAAE,CAAC;KACnB;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAChG,IAAI,CAAC,EAAE;YACL,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,uEAAuE,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC;SAC1G;KACF;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,UAAkB,EAAE,KAAU;IACrD,OAAO,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,UAAkB,EAAE,WAAmB,EAAE,KAAU;IAC5E,OAAO,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QACvG,2EAA2E;QAC3E,yEAAyE;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,UAAkB,EAAE,WAAmB;IAChE,OAAO,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,GAAW,EAAE,OAAgB;IACrE,OAAO,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,uBAAuB,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAO,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,2BAA2B,EAAE,GAAG,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAc,EAAE,MAAc;IACnE,OAAO,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,sCAAsC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1G,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,OAAO,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,6BAA6B,EAAE,GAAG,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,SAAiB,EAAE,UAAkB;IAC9D,OAAO,IAAI,OAAO,CAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrD,MAAM,WAAW,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,GAAG,GAAG,SAAS,CAAC;QACvB,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAE1C,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;YACnB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC3B,eAAe;gBACf,iBAAiB;aAClB,CAAC,CAAC;YAEH,WAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC,CAAC;QAEF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,MAAM,UAAU,GAAG,WAAW,EAAE,CAAC;IACjC,OAAO,GAAG,EAAE;QACV,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,WAAW,EAAE;YAC/C,MAAM,CAAC,aAAa,GAAG,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;SAC1D;QAED,OAAO,MAAM,CAAC,aAAa,CAAC;IAC9B,CAAC,CAAC;AACJ,CAAC"}
|
package/lib/converter.js
CHANGED
|
@@ -24,6 +24,7 @@ function project(component, destination, options) {
|
|
|
24
24
|
function createConverter(lazy) {
|
|
25
25
|
const boot = (0, interop_1.createBootLoader)(infra_codegen_1.default);
|
|
26
26
|
let loader = !lazy && boot();
|
|
27
|
+
let listener = undefined;
|
|
27
28
|
const enqueueChange = (locals, update) => {
|
|
28
29
|
if (locals.state === 'mounted') {
|
|
29
30
|
loader.then(update);
|
|
@@ -35,13 +36,22 @@ function createConverter(lazy) {
|
|
|
35
36
|
const convert = (moduleName, dependency, args, options) => ({
|
|
36
37
|
mount(el, data, ctx, locals) {
|
|
37
38
|
const props = Object.assign(Object.assign({}, args), data);
|
|
39
|
+
const nav = ctx.navigation;
|
|
38
40
|
el.setAttribute('data-blazor-pilet-root', 'true');
|
|
39
41
|
(0, events_1.addGlobalEventListeners)(el);
|
|
42
|
+
if (listener === undefined) {
|
|
43
|
+
listener = nav.listen(({ location, action }) => {
|
|
44
|
+
// POP is already handled by .NET
|
|
45
|
+
if (action !== 'POP') {
|
|
46
|
+
(0, interop_1.callNotifyLocationChanged)(location.href, action === 'REPLACE');
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
40
50
|
locals.state = 'fresh';
|
|
41
51
|
locals.update = noop;
|
|
42
52
|
locals.dispose = (0, events_1.attachEvents)(el, (ev) => data.piral.renderHtmlExtension(ev.detail.target, ev.detail.props), (ev) => ev.detail.replace
|
|
43
|
-
?
|
|
44
|
-
:
|
|
53
|
+
? nav.replace(ev.detail.to, ev.detail.store)
|
|
54
|
+
: nav.push(ev.detail.to, ev.detail.state));
|
|
45
55
|
(loader || (loader = boot()))
|
|
46
56
|
.then((root) => dependency()
|
|
47
57
|
.then(() => (0, interop_1.activate)(moduleName, props))
|
package/lib/converter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":";;;AACA,qCAA6F;AAC7F,
|
|
1
|
+
{"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":";;;AACA,qCAA6F;AAC7F,uCAA0G;AAE1G,oDAA0C;AAE1C,MAAM,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAEtB,MAAM,UAAU,GAAG;IACjB,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,2DAA2D,EAAE;IAC3F,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE;CACtD,CAAC;AAEF,SAAS,kBAAkB,CAAC,SAAkB,EAAE,MAAc;IAC5D,MAAM,oBAAoB,GAAG,CAAC,EAAW,EAAE,IAAY,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IAElH,KAAK,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,UAAU,EAAE;QAChD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;aAC7C,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;aAC3F,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;KACzD;AACH,CAAC;AAED,SAAS,OAAO,CAAC,SAAkB,EAAE,WAAoB,EAAE,OAAsB;IAC/E,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,KAAI,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACrF,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AACrC,CAAC;AAWD,SAAgB,eAAe,CAAC,IAAa;IAC3C,MAAM,IAAI,GAAG,IAAA,0BAAgB,EAAC,uBAAU,CAAC,CAAC;IAC1C,IAAI,MAAM,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;IAC7B,IAAI,QAAQ,GAAe,SAAS,CAAC;IAErC,MAAM,aAAa,GAAG,CAAC,MAAoB,EAAE,MAAsC,EAAE,EAAE;QACrF,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE;YAC9B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACrB;aAAM;YACL,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;SACxB;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CACd,UAAkB,EAClB,UAA+B,EAC/B,IAAyB,EACzB,OAAuB,EACG,EAAE,CAAC,CAAC;QAC9B,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAoB;YACvC,MAAM,KAAK,mCAAQ,IAAI,GAAK,IAAI,CAAE,CAAC;YACnC,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC;YAC3B,EAAE,CAAC,YAAY,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;YAElD,IAAA,gCAAuB,EAAC,EAAE,CAAC,CAAC;YAE5B,IAAI,QAAQ,KAAK,SAAS,EAAE;gBAC1B,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE;oBAC7C,iCAAiC;oBACjC,IAAI,MAAM,KAAK,KAAK,EAAE;wBACpB,IAAA,mCAAyB,EAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC;qBAChE;gBACH,CAAC,CAAC,CAAC;aACJ;YAED,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC;YACvB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,OAAO,GAAG,IAAA,qBAAY,EAC3B,EAAE,EACF,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EACzE,CAAC,EAAE,EAAE,EAAE,CACL,EAAE,CAAC,MAAM,CAAC,OAAO;gBACf,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC5C,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAC9C,CAAC;YAEF,CAAC,MAAM,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC;iBAC1B,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACb,UAAU,EAAE;iBACT,IAAI,CAAC,GAAG,EAAE,CAAC,IAAA,kBAAQ,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;iBACvC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;gBACd,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE;oBAC5B,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC;oBAClB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;oBACxD,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;oBAClC,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;oBACzB,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC;oBAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACpB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;iBACtB;YACH,CAAC,CAAC,CACL;iBACA,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAoB;YACxC,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE;gBACzB,MAAM,KAAK,mCAAQ,IAAI,GAAK,IAAI,CAAE,CAAC;gBACnC,IAAA,oBAAU,EAAC,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,CAAC,EAAE,EAAE,MAAoB;YAC9B,IAAA,mCAA0B,EAAC,EAAE,CAAC,CAAC;YAC/B,EAAE,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC;YAC7C,MAAM,CAAC,OAAO,EAAE,CAAC;YAEjB,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC7D,IAAA,oBAAU,EAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;QAC3B,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IACxB,OAAO,OAAO,CAAC;AACjB,CAAC;AAvFD,0CAuFC"}
|
package/lib/interop.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export declare function activate(moduleName: string, props: any): any;
|
|
2
2
|
export declare function reactivate(moduleName: string, referenceId: string, props: any): any;
|
|
3
3
|
export declare function deactivate(moduleName: string, referenceId: string): any;
|
|
4
|
-
export declare function
|
|
5
|
-
export declare function
|
|
6
|
-
export declare function
|
|
4
|
+
export declare function callNotifyLocationChanged(url: string, replace: boolean): any;
|
|
5
|
+
export declare function loadResource(url: string): any;
|
|
6
|
+
export declare function loadResourceWithSymbol(dllUrl: string, pdbUrl: string): any;
|
|
7
|
+
export declare function unloadResource(url: string): any;
|
|
7
8
|
export declare function initialize(scriptUrl: string, publicPath: string): Promise<HTMLDivElement>;
|
|
8
9
|
export declare function createBootLoader(scriptUrl: string): () => Promise<HTMLDivElement>;
|
package/lib/interop.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createBootLoader = exports.initialize = exports.unloadResource = exports.loadResourceWithSymbol = exports.loadResource = exports.deactivate = exports.reactivate = exports.activate = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
3
|
+
exports.createBootLoader = exports.initialize = exports.unloadResource = exports.loadResourceWithSymbol = exports.loadResource = exports.callNotifyLocationChanged = exports.deactivate = exports.reactivate = exports.activate = void 0;
|
|
5
4
|
const events_1 = require("./events");
|
|
5
|
+
const wasmLib = 'Microsoft.AspNetCore.Components.WebAssembly';
|
|
6
6
|
const coreLib = 'Piral.Blazor.Core';
|
|
7
7
|
function createBlazorStarter(publicPath) {
|
|
8
8
|
const root = document.body.appendChild(document.createElement('div'));
|
|
@@ -59,22 +59,20 @@ function deactivate(moduleName, referenceId) {
|
|
|
59
59
|
return window.DotNet.invokeMethodAsync(coreLib, 'Deactivate', moduleName, referenceId);
|
|
60
60
|
}
|
|
61
61
|
exports.deactivate = deactivate;
|
|
62
|
+
function callNotifyLocationChanged(url, replace) {
|
|
63
|
+
return window.DotNet.invokeMethodAsync(wasmLib, 'NotifyLocationChanged', url, replace);
|
|
64
|
+
}
|
|
65
|
+
exports.callNotifyLocationChanged = callNotifyLocationChanged;
|
|
62
66
|
function loadResource(url) {
|
|
63
|
-
return
|
|
64
|
-
return window.DotNet.invokeMethodAsync(coreLib, 'LoadComponentsFromLibrary', url);
|
|
65
|
-
});
|
|
67
|
+
return window.DotNet.invokeMethodAsync(coreLib, 'LoadComponentsFromLibrary', url);
|
|
66
68
|
}
|
|
67
69
|
exports.loadResource = loadResource;
|
|
68
70
|
function loadResourceWithSymbol(dllUrl, pdbUrl) {
|
|
69
|
-
return
|
|
70
|
-
return window.DotNet.invokeMethodAsync(coreLib, 'LoadComponentsWithSymbolsFromLibrary', dllUrl, pdbUrl);
|
|
71
|
-
});
|
|
71
|
+
return window.DotNet.invokeMethodAsync(coreLib, 'LoadComponentsWithSymbolsFromLibrary', dllUrl, pdbUrl);
|
|
72
72
|
}
|
|
73
73
|
exports.loadResourceWithSymbol = loadResourceWithSymbol;
|
|
74
74
|
function unloadResource(url) {
|
|
75
|
-
return
|
|
76
|
-
return window.DotNet.invokeMethodAsync(coreLib, 'UnloadComponentsFromLibrary', url);
|
|
77
|
-
});
|
|
75
|
+
return window.DotNet.invokeMethodAsync(coreLib, 'UnloadComponentsFromLibrary', url);
|
|
78
76
|
}
|
|
79
77
|
exports.unloadResource = unloadResource;
|
|
80
78
|
function initialize(scriptUrl, publicPath) {
|
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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "piral-blazor",
|
|
3
|
-
"version": "0.15.0-
|
|
3
|
+
"version": "0.15.0-beta.4466",
|
|
4
4
|
"description": "Plugin for integrating Blazor components in Piral.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"piral",
|
|
@@ -67,10 +67,10 @@
|
|
|
67
67
|
"test": "echo \"Error: run tests from root\" && exit 1"
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
70
|
-
"piral-core": "0.15.0-
|
|
70
|
+
"piral-core": "0.15.0-beta.4466"
|
|
71
71
|
},
|
|
72
72
|
"peerDependencies": {
|
|
73
73
|
"blazor": "*"
|
|
74
74
|
},
|
|
75
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "35d20c9cd14ad55ef8148f13a4fbf70b0e730df4"
|
|
76
76
|
}
|
package/src/converter.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { BaseComponentProps, ForeignComponent } from 'piral-core';
|
|
1
|
+
import type { BaseComponentProps, Disposable, ForeignComponent } from 'piral-core';
|
|
2
2
|
import { addGlobalEventListeners, attachEvents, removeGlobalEventListeners } from './events';
|
|
3
|
-
import { activate, deactivate, createBootLoader, reactivate } from './interop';
|
|
3
|
+
import { activate, deactivate, createBootLoader, reactivate, callNotifyLocationChanged } from './interop';
|
|
4
4
|
import { BlazorOptions } from './types';
|
|
5
5
|
import bootConfig from '../infra.codegen';
|
|
6
6
|
|
|
@@ -38,6 +38,7 @@ interface BlazorLocals {
|
|
|
38
38
|
export function createConverter(lazy: boolean) {
|
|
39
39
|
const boot = createBootLoader(bootConfig);
|
|
40
40
|
let loader = !lazy && boot();
|
|
41
|
+
let listener: Disposable = undefined;
|
|
41
42
|
|
|
42
43
|
const enqueueChange = (locals: BlazorLocals, update: (root: HTMLDivElement) => void) => {
|
|
43
44
|
if (locals.state === 'mounted') {
|
|
@@ -55,10 +56,20 @@ export function createConverter(lazy: boolean) {
|
|
|
55
56
|
): ForeignComponent<TProps> => ({
|
|
56
57
|
mount(el, data, ctx, locals: BlazorLocals) {
|
|
57
58
|
const props = { ...args, ...data };
|
|
59
|
+
const nav = ctx.navigation;
|
|
58
60
|
el.setAttribute('data-blazor-pilet-root', 'true');
|
|
59
61
|
|
|
60
62
|
addGlobalEventListeners(el);
|
|
61
63
|
|
|
64
|
+
if (listener === undefined) {
|
|
65
|
+
listener = nav.listen(({ location, action }) => {
|
|
66
|
+
// POP is already handled by .NET
|
|
67
|
+
if (action !== 'POP') {
|
|
68
|
+
callNotifyLocationChanged(location.href, action === 'REPLACE');
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
|
|
62
73
|
locals.state = 'fresh';
|
|
63
74
|
locals.update = noop;
|
|
64
75
|
locals.dispose = attachEvents(
|
|
@@ -66,8 +77,8 @@ export function createConverter(lazy: boolean) {
|
|
|
66
77
|
(ev) => data.piral.renderHtmlExtension(ev.detail.target, ev.detail.props),
|
|
67
78
|
(ev) =>
|
|
68
79
|
ev.detail.replace
|
|
69
|
-
?
|
|
70
|
-
:
|
|
80
|
+
? nav.replace(ev.detail.to, ev.detail.store)
|
|
81
|
+
: nav.push(ev.detail.to, ev.detail.state),
|
|
71
82
|
);
|
|
72
83
|
|
|
73
84
|
(loader || (loader = boot()))
|
package/src/interop.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { emitRenderEvent, emitNavigateEvent } from './events';
|
|
2
2
|
|
|
3
|
+
const wasmLib = 'Microsoft.AspNetCore.Components.WebAssembly';
|
|
3
4
|
const coreLib = 'Piral.Blazor.Core';
|
|
4
5
|
|
|
5
6
|
function createBlazorStarter(publicPath: string): () => Promise<HTMLDivElement> {
|
|
@@ -66,15 +67,19 @@ export function deactivate(moduleName: string, referenceId: string) {
|
|
|
66
67
|
return window.DotNet.invokeMethodAsync(coreLib, 'Deactivate', moduleName, referenceId);
|
|
67
68
|
}
|
|
68
69
|
|
|
69
|
-
export
|
|
70
|
+
export function callNotifyLocationChanged(url: string, replace: boolean) {
|
|
71
|
+
return window.DotNet.invokeMethodAsync(wasmLib, 'NotifyLocationChanged', url, replace);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export function loadResource(url: string) {
|
|
70
75
|
return window.DotNet.invokeMethodAsync(coreLib, 'LoadComponentsFromLibrary', url);
|
|
71
76
|
}
|
|
72
77
|
|
|
73
|
-
export
|
|
78
|
+
export function loadResourceWithSymbol(dllUrl: string, pdbUrl: string) {
|
|
74
79
|
return window.DotNet.invokeMethodAsync(coreLib, 'LoadComponentsWithSymbolsFromLibrary', dllUrl, pdbUrl);
|
|
75
80
|
}
|
|
76
81
|
|
|
77
|
-
export
|
|
82
|
+
export function unloadResource(url: string) {
|
|
78
83
|
return window.DotNet.invokeMethodAsync(coreLib, 'UnloadComponentsFromLibrary', url);
|
|
79
84
|
}
|
|
80
85
|
|