piral-blazor 0.15.0-alpha.3809 → 0.15.0-alpha.3933

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/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  # [Piral Blazor](https://piral.io) · [![GitHub License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/smapiot/piral/blob/main/LICENSE) [![npm version](https://img.shields.io/npm/v/piral-blazor.svg?style=flat)](https://www.npmjs.com/package/piral-blazor) [![tested with jest](https://img.shields.io/badge/tested_with-jest-99424f.svg)](https://jestjs.io) [![Gitter Chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/piral-io/community)
4
4
 
5
- This is a plugin that has a peer dependency to `piral-core` and `blazor`. What `piral-blazor` brings to the table is a set of Pilet API extensions that can be used with `piral` or `piral-core`.
5
+ This is a plugin that has a peer dependency to `blazor`. What `piral-blazor` brings to the table is a set of Pilet API extensions that can be used with `piral` or `piral-core`.
6
6
 
7
7
  The set includes a Blazor (WASM) loader and converter for any component registration, as well as a `fromBlazor` shortcut together with some Blazor component coming in the `Piral.Blazor.Utils` NuGet package.
8
8
 
package/esm/converter.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { addGlobalEventListeners, attachEvents, removeGlobalEventListeners } from './events';
2
- import { activate, deactivate, createBootLoader } from './interop';
2
+ import { activate, deactivate, createBootLoader, reactivate } from './interop';
3
3
  const mediaRules = [
4
4
  { attribute: 'src', selector: 'img, embed, video > source, video > track, audio > source' },
5
5
  { attribute: 'srcset', selector: 'picture > source' },
@@ -14,7 +14,7 @@ function prefixMediaSources(component, prefix) {
14
14
  }
15
15
  function project(component, destination, options) {
16
16
  (options === null || options === void 0 ? void 0 : options.resourcePathRoot) && prefixMediaSources(component, options.resourcePathRoot);
17
- return destination.appendChild(component);
17
+ destination.appendChild(component);
18
18
  }
19
19
  export function createConverter(lazy) {
20
20
  const bootConfig = require('../infra.codegen');
@@ -23,48 +23,45 @@ export function createConverter(lazy) {
23
23
  let loader = !lazy && boot();
24
24
  root.style.display = 'none';
25
25
  root.id = 'blazor-root';
26
- const convert = (moduleName, dependency, args, options) => {
27
- let id;
28
- let referenceId;
29
- let node;
30
- let dispose = () => { };
31
- let state;
32
- return {
33
- mount(el, data, ctx) {
34
- const props = Object.assign(Object.assign({}, args), data);
35
- el.setAttribute('data-blazor-pilet-root', 'true');
36
- addGlobalEventListeners(el);
37
- (loader || (loader = boot()))
38
- .then(dependency)
39
- .then(() => activate(moduleName, props))
40
- .then((refId) => {
41
- if (state === 'fresh') {
42
- id = refId;
43
- const component = root.querySelector('#' + id + ' > div');
44
- node = project(component, el, options);
45
- state = 'mounted';
46
- referenceId = refId;
47
- }
48
- })
49
- .catch((err) => console.error(err));
50
- dispose = attachEvents(el, (ev) => data.piral.renderHtmlExtension(ev.detail.target, ev.detail.props), (ev) => ev.detail.replace
51
- ? ctx.router.history.replace(ev.detail.to, ev.detail.store)
52
- : ctx.router.history.push(ev.detail.to, ev.detail.state));
53
- state = 'fresh';
54
- },
55
- unmount(el) {
56
- removeGlobalEventListeners(el);
57
- el.removeAttribute('data-blazor-pilet-root');
58
- dispose();
59
- if (state === 'mounted') {
60
- root.querySelector(`#${id}`).appendChild(node);
61
- deactivate(moduleName, referenceId);
26
+ const convert = (moduleName, dependency, args, options) => ({
27
+ mount(el, data, ctx, locals) {
28
+ const props = Object.assign(Object.assign({}, args), data);
29
+ el.setAttribute('data-blazor-pilet-root', 'true');
30
+ addGlobalEventListeners(el);
31
+ locals.state = 'fresh';
32
+ locals.dispose = attachEvents(el, (ev) => data.piral.renderHtmlExtension(ev.detail.target, ev.detail.props), (ev) => ev.detail.replace
33
+ ? ctx.router.history.replace(ev.detail.to, ev.detail.store)
34
+ : ctx.router.history.push(ev.detail.to, ev.detail.state));
35
+ (loader || (loader = boot()))
36
+ .then(dependency)
37
+ .then(() => activate(moduleName, props))
38
+ .then((refId) => {
39
+ if (locals.state === 'fresh') {
40
+ locals.id = refId;
41
+ locals.node = root.querySelector(`#${locals.id} > div`);
42
+ project(locals.node, el, options);
43
+ locals.state = 'mounted';
44
+ locals.referenceId = refId;
62
45
  }
63
- el.innerHTML = '';
64
- state = 'removed';
65
- },
66
- };
67
- };
46
+ })
47
+ .catch((err) => console.error(err));
48
+ },
49
+ update(el, data, ctx, locals) {
50
+ const props = Object.assign(Object.assign({}, args), data);
51
+ reactivate(moduleName, locals.referenceId, props);
52
+ },
53
+ unmount(el, locals) {
54
+ removeGlobalEventListeners(el);
55
+ el.removeAttribute('data-blazor-pilet-root');
56
+ locals.dispose();
57
+ if (locals.state === 'mounted') {
58
+ root.querySelector(`#${locals.id}`).appendChild(locals.node);
59
+ deactivate(moduleName, locals.referenceId);
60
+ }
61
+ el.innerHTML = '';
62
+ locals.state = 'removed';
63
+ },
64
+ });
68
65
  convert.loader = loader;
69
66
  return convert;
70
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":"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"}
package/esm/events.js CHANGED
@@ -53,8 +53,11 @@ function findTarget(target = document.body) {
53
53
  function dispatchToRoot(event) {
54
54
  var _a;
55
55
  isInternalNavigation(event) && performInternalNavigation(event);
56
- const eventClone = new event.constructor(event.type, event);
57
- (_a = document.getElementById(blazorRootId)) === null || _a === void 0 ? void 0 : _a.dispatchEvent(eventClone);
56
+ // the mutation event cannot be cloned (at least in Webkit-based browsers)
57
+ if (!(event instanceof MutationEvent)) {
58
+ const eventClone = new event.constructor(event.type, event);
59
+ (_a = document.getElementById(blazorRootId)) === null || _a === void 0 ? void 0 : _a.dispatchEvent(eventClone);
60
+ }
58
61
  }
59
62
  export function emitRenderEvent(source, name, params) {
60
63
  const target = findTarget(source);
package/esm/events.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
package/esm/interop.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export declare function activate(moduleName: string, props: any): any;
2
+ export declare function reactivate(moduleName: string, referenceId: string, props: any): any;
2
3
  export declare function deactivate(moduleName: string, referenceId: string): any;
3
4
  export declare function loadResource(url: string): Promise<any>;
4
5
  export declare function loadResourceWithSymbol(dllUrl: string, pdbUrl: string): Promise<any>;
package/esm/interop.js CHANGED
@@ -30,6 +30,12 @@ function computePath() {
30
30
  export function activate(moduleName, props) {
31
31
  return window.DotNet.invokeMethodAsync(coreLib, 'Activate', moduleName, props);
32
32
  }
33
+ export function reactivate(moduleName, referenceId, props) {
34
+ return window.DotNet.invokeMethodAsync(coreLib, 'Reactivate', moduleName, referenceId, props).catch(() => {
35
+ // Apparently an older version of Piral.Blazor, which does not support this
36
+ // discard this error silently (in the future we may print warnings here)
37
+ });
38
+ }
33
39
  export function deactivate(moduleName, referenceId) {
34
40
  return window.DotNet.invokeMethodAsync(coreLib, 'Deactivate', moduleName, referenceId);
35
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interop.js","sourceRoot":"","sources":["../src/interop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interop.js","sourceRoot":"","sources":["../src/interop.ts"],"names":[],"mappings":"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"}
package/lib/converter.js CHANGED
@@ -17,7 +17,7 @@ function prefixMediaSources(component, prefix) {
17
17
  }
18
18
  function project(component, destination, options) {
19
19
  (options === null || options === void 0 ? void 0 : options.resourcePathRoot) && prefixMediaSources(component, options.resourcePathRoot);
20
- return destination.appendChild(component);
20
+ destination.appendChild(component);
21
21
  }
22
22
  function createConverter(lazy) {
23
23
  const bootConfig = require('../infra.codegen');
@@ -26,48 +26,45 @@ function createConverter(lazy) {
26
26
  let loader = !lazy && boot();
27
27
  root.style.display = 'none';
28
28
  root.id = 'blazor-root';
29
- const convert = (moduleName, dependency, args, options) => {
30
- let id;
31
- let referenceId;
32
- let node;
33
- let dispose = () => { };
34
- let state;
35
- return {
36
- mount(el, data, ctx) {
37
- const props = Object.assign(Object.assign({}, args), data);
38
- el.setAttribute('data-blazor-pilet-root', 'true');
39
- (0, events_1.addGlobalEventListeners)(el);
40
- (loader || (loader = boot()))
41
- .then(dependency)
42
- .then(() => (0, interop_1.activate)(moduleName, props))
43
- .then((refId) => {
44
- if (state === 'fresh') {
45
- id = refId;
46
- const component = root.querySelector('#' + id + ' > div');
47
- node = project(component, el, options);
48
- state = 'mounted';
49
- referenceId = refId;
50
- }
51
- })
52
- .catch((err) => console.error(err));
53
- dispose = (0, events_1.attachEvents)(el, (ev) => data.piral.renderHtmlExtension(ev.detail.target, ev.detail.props), (ev) => ev.detail.replace
54
- ? ctx.router.history.replace(ev.detail.to, ev.detail.store)
55
- : ctx.router.history.push(ev.detail.to, ev.detail.state));
56
- state = 'fresh';
57
- },
58
- unmount(el) {
59
- (0, events_1.removeGlobalEventListeners)(el);
60
- el.removeAttribute('data-blazor-pilet-root');
61
- dispose();
62
- if (state === 'mounted') {
63
- root.querySelector(`#${id}`).appendChild(node);
64
- (0, interop_1.deactivate)(moduleName, referenceId);
29
+ const convert = (moduleName, dependency, args, options) => ({
30
+ mount(el, data, ctx, locals) {
31
+ const props = Object.assign(Object.assign({}, args), data);
32
+ el.setAttribute('data-blazor-pilet-root', 'true');
33
+ (0, events_1.addGlobalEventListeners)(el);
34
+ locals.state = 'fresh';
35
+ locals.dispose = (0, events_1.attachEvents)(el, (ev) => data.piral.renderHtmlExtension(ev.detail.target, ev.detail.props), (ev) => ev.detail.replace
36
+ ? ctx.router.history.replace(ev.detail.to, ev.detail.store)
37
+ : ctx.router.history.push(ev.detail.to, ev.detail.state));
38
+ (loader || (loader = boot()))
39
+ .then(dependency)
40
+ .then(() => (0, interop_1.activate)(moduleName, props))
41
+ .then((refId) => {
42
+ if (locals.state === 'fresh') {
43
+ locals.id = refId;
44
+ locals.node = root.querySelector(`#${locals.id} > div`);
45
+ project(locals.node, el, options);
46
+ locals.state = 'mounted';
47
+ locals.referenceId = refId;
65
48
  }
66
- el.innerHTML = '';
67
- state = 'removed';
68
- },
69
- };
70
- };
49
+ })
50
+ .catch((err) => console.error(err));
51
+ },
52
+ update(el, data, ctx, locals) {
53
+ const props = Object.assign(Object.assign({}, args), data);
54
+ (0, interop_1.reactivate)(moduleName, locals.referenceId, props);
55
+ },
56
+ unmount(el, locals) {
57
+ (0, events_1.removeGlobalEventListeners)(el);
58
+ el.removeAttribute('data-blazor-pilet-root');
59
+ locals.dispose();
60
+ if (locals.state === 'mounted') {
61
+ root.querySelector(`#${locals.id}`).appendChild(locals.node);
62
+ (0, interop_1.deactivate)(moduleName, locals.referenceId);
63
+ }
64
+ el.innerHTML = '';
65
+ locals.state = 'removed';
66
+ },
67
+ });
71
68
  convert.loader = loader;
72
69
  return convert;
73
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":";;;AACA,qCAA6F;AAC7F,uCAA+E;AAG/E,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;AAUD,SAAgB,eAAe,CAAC,IAAa;IAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAA,0BAAgB,EAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,IAAI,MAAM,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;IAE7B,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC5B,IAAI,CAAC,EAAE,GAAG,aAAa,CAAC;IAExB,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,EAAE,CAAC,YAAY,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;YAElD,IAAA,gCAAuB,EAAC,EAAE,CAAC,CAAC;YAE5B,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC;YACvB,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,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC3D,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAC7D,CAAC;YAEF,CAAC,MAAM,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC;iBAC1B,IAAI,CAAC,UAAU,CAAC;iBAChB,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;iBAC5B;YACH,CAAC,CAAC;iBACD,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,MAAM,KAAK,mCAAQ,IAAI,GAAK,IAAI,CAAE,CAAC;YACnC,IAAA,oBAAU,EAAC,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACpD,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,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE;gBAC9B,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;aAC5C;YAED,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;AAlED,0CAkEC"}
package/lib/events.js CHANGED
@@ -56,8 +56,11 @@ function findTarget(target = document.body) {
56
56
  function dispatchToRoot(event) {
57
57
  var _a;
58
58
  (0, navigation_1.isInternalNavigation)(event) && (0, navigation_1.performInternalNavigation)(event);
59
- const eventClone = new event.constructor(event.type, event);
60
- (_a = document.getElementById(blazorRootId)) === null || _a === void 0 ? void 0 : _a.dispatchEvent(eventClone);
59
+ // the mutation event cannot be cloned (at least in Webkit-based browsers)
60
+ if (!(event instanceof MutationEvent)) {
61
+ const eventClone = new event.constructor(event.type, event);
62
+ (_a = document.getElementById(blazorRootId)) === null || _a === void 0 ? void 0 : _a.dispatchEvent(eventClone);
63
+ }
61
64
  }
62
65
  function emitRenderEvent(source, name, params) {
63
66
  const target = findTarget(source);
package/lib/events.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":";;;AAAA,6CAA+E;AAE/E,MAAM,YAAY,GAAG,aAAa,CAAC;AACnC,MAAM,YAAY,GAAuB,EAAE,CAAC;AAE5C,MAAM,gBAAgB,GAAG;IACvB,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,OAAO;IACP,MAAM;IACN,SAAS;IACT,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,6BAA6B;IAC7B,4BAA4B;IAC5B,OAAO;IACP,UAAU;IACV,WAAW;IACX,WAAW;IACX,SAAS;CACV,CAAC;AAEF,MAAM,UAAU,GAAG;IACjB,MAAM,EAAE,yBAAyB;IACjC,QAAQ,EAAE,iBAAiB;CAC5B,CAAC;AAEF,SAAS,QAAQ,CAAC,MAAmB;IACnC,IAAI,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;IAElC,OAAO,MAAM,EAAE;QACb,IAAI,MAAM,CAAC,EAAE,KAAK,YAAY,EAAE;YAC9B,OAAO,IAAI,CAAC;SACb;QAED,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;KAC/B;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,SAAsB,QAAQ,CAAC,IAAI;IACrD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7B,OAAO,MAAM,CAAC;KACf;SAAM,IAAI,MAAM,KAAK,QAAQ,CAAC,IAAI,EAAE;QACnC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;KACxB;SAAM;QACL,OAAO,MAAM,CAAC;KACf;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAU;;IAChC,IAAA,iCAAoB,EAAC,KAAK,CAAC,IAAI,IAAA,sCAAyB,EAAC,KAAK,CAAC,CAAC;IAEhE,0EAA0E;IAC1E,IAAI,CAAC,CAAC,KAAK,YAAY,aAAa,CAAC,EAAE;QACrC,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAA,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,0CAAE,aAAa,CAAC,UAAU,CAAC,CAAC;KAClE;AACH,CAAC;AAED,SAAgB,eAAe,CAAC,MAAmB,EAAE,IAAY,EAAE,MAAW;IAC5E,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG;QAChB,OAAO,EAAE,IAAI;QACb,MAAM,EAAE;YACN,MAAM;YACN,KAAK,EAAE;gBACL,IAAI;gBACJ,MAAM;aACP;SACF;KACF,CAAC;IACF,MAAM,SAAS,GAAG,GAAG,EAAE,CACrB,qBAAqB,CAAC,GAAG,EAAE;QACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACrB,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;SACrE;aAAM;YACL,SAAS,EAAE,CAAC;SACb;IACH,CAAC,CAAC,CAAC;IACL,SAAS,EAAE,CAAC;AACd,CAAC;AArBD,0CAqBC;AAED,SAAgB,iBAAiB,CAAC,MAAmB,EAAE,EAAU,EAAE,OAAO,GAAG,KAAK,EAAE,KAAW;IAC7F,UAAU,CAAC,MAAM,CAAC,CAAC,aAAa,CAC9B,IAAI,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE;QACnC,OAAO,EAAE,IAAI;QACb,MAAM,EAAE;YACN,EAAE;YACF,OAAO;YACP,KAAK;SACN;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAXD,8CAWC;AAED,SAAgB,YAAY,CAC1B,IAAiB,EACjB,MAAiC,EACjC,QAAmC;IAEnC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACxD,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5D,OAAO,GAAG,EAAE;QACV,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC3D,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC,CAAC;AACJ,CAAC;AAbD,oCAaC;AAED,SAAgB,uBAAuB,CAAC,EAAe;IACrD,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;AAC1F,CAAC;AAFD,0DAEC;AAED,SAAgB,0BAA0B,CAAC,EAAe;IACxD,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;AAC7F,CAAC;AAFD,gEAEC"}
package/lib/interop.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export declare function activate(moduleName: string, props: any): any;
2
+ export declare function reactivate(moduleName: string, referenceId: string, props: any): any;
2
3
  export declare function deactivate(moduleName: string, referenceId: string): any;
3
4
  export declare function loadResource(url: string): Promise<any>;
4
5
  export declare function loadResourceWithSymbol(dllUrl: string, pdbUrl: string): Promise<any>;
package/lib/interop.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createBootLoader = exports.initialize = exports.loadResourceWithSymbol = exports.loadResource = exports.deactivate = exports.activate = void 0;
3
+ exports.createBootLoader = exports.initialize = exports.loadResourceWithSymbol = exports.loadResource = exports.deactivate = exports.reactivate = exports.activate = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const events_1 = require("./events");
6
6
  const coreLib = 'Piral.Blazor.Core';
@@ -34,6 +34,13 @@ function activate(moduleName, props) {
34
34
  return window.DotNet.invokeMethodAsync(coreLib, 'Activate', moduleName, props);
35
35
  }
36
36
  exports.activate = activate;
37
+ function reactivate(moduleName, referenceId, props) {
38
+ return window.DotNet.invokeMethodAsync(coreLib, 'Reactivate', moduleName, referenceId, props).catch(() => {
39
+ // Apparently an older version of Piral.Blazor, which does not support this
40
+ // discard this error silently (in the future we may print warnings here)
41
+ });
42
+ }
43
+ exports.reactivate = reactivate;
37
44
  function deactivate(moduleName, referenceId) {
38
45
  return window.DotNet.invokeMethodAsync(coreLib, 'Deactivate', moduleName, referenceId);
39
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interop.js","sourceRoot":"","sources":["../src/interop.ts"],"names":[],"mappings":"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"}
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-alpha.3809",
3
+ "version": "0.15.0-alpha.3933",
4
4
  "description": "Plugin for integrating Blazor components in Piral.",
5
5
  "keywords": [
6
6
  "piral",
@@ -47,11 +47,10 @@
47
47
  "test": "echo \"Error: run tests from root\" && exit 1"
48
48
  },
49
49
  "devDependencies": {
50
- "piral-core": "0.15.0-alpha.3809"
50
+ "piral-core": "0.15.0-alpha.3933"
51
51
  },
52
52
  "peerDependencies": {
53
- "blazor": "*",
54
- "piral-core": "0.14.x"
53
+ "blazor": "*"
55
54
  },
56
- "gitHead": "e26067cdcbbe90ff72d1d0815929655c05126e3a"
55
+ "gitHead": "520a272d09f02543153f1d8b2ae23a3ae10acd6f"
57
56
  }
package/src/converter.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { BaseComponentProps, ForeignComponent } from 'piral-core';
2
2
  import { addGlobalEventListeners, attachEvents, removeGlobalEventListeners } from './events';
3
- import { activate, deactivate, createBootLoader } from './interop';
3
+ import { activate, deactivate, createBootLoader, reactivate } from './interop';
4
4
  import { BlazorOptions } from './types';
5
5
 
6
6
  const mediaRules = [
@@ -9,7 +9,7 @@ const mediaRules = [
9
9
  ];
10
10
 
11
11
  function prefixMediaSources(component: Element, prefix: string) {
12
- const prefixAttributeValue = (el, attr) => el.setAttribute(attr, prefix + el.getAttribute(attr));
12
+ const prefixAttributeValue = (el: Element, attr: string) => el.setAttribute(attr, prefix + el.getAttribute(attr));
13
13
 
14
14
  for (const { attribute, selector } of mediaRules) {
15
15
  Array.from(component.querySelectorAll(selector))
@@ -18,9 +18,17 @@ function prefixMediaSources(component: Element, prefix: string) {
18
18
  }
19
19
  }
20
20
 
21
- function project(component: Element, destination: Element, options: BlazorOptions): Element {
21
+ function project(component: Element, destination: Element, options: BlazorOptions) {
22
22
  options?.resourcePathRoot && prefixMediaSources(component, options.resourcePathRoot);
23
- return destination.appendChild(component);
23
+ destination.appendChild(component);
24
+ }
25
+
26
+ interface BlazorLocals {
27
+ id: string;
28
+ referenceId: string;
29
+ node: HTMLElement;
30
+ dispose(): void;
31
+ state: 'fresh' | 'mounted' | 'removed';
24
32
  }
25
33
 
26
34
  export function createConverter(lazy: boolean) {
@@ -37,58 +45,55 @@ export function createConverter(lazy: boolean) {
37
45
  dependency: () => Promise<void>,
38
46
  args: Record<string, any>,
39
47
  options?: BlazorOptions,
40
- ): ForeignComponent<TProps> => {
41
- let id: string;
42
- let referenceId: string;
43
- let node: HTMLElement;
44
- let dispose = () => {};
45
- let state: 'fresh' | 'mounted' | 'removed';
48
+ ): ForeignComponent<TProps> => ({
49
+ mount(el, data, ctx, locals: BlazorLocals) {
50
+ const props = { ...args, ...data };
51
+ el.setAttribute('data-blazor-pilet-root', 'true');
46
52
 
47
- return {
48
- mount(el, data, ctx) {
49
- const props = { ...args, ...data };
50
- el.setAttribute('data-blazor-pilet-root', 'true');
53
+ addGlobalEventListeners(el);
51
54
 
52
- addGlobalEventListeners(el);
55
+ locals.state = 'fresh';
56
+ locals.dispose = attachEvents(
57
+ el,
58
+ (ev) => data.piral.renderHtmlExtension(ev.detail.target, ev.detail.props),
59
+ (ev) =>
60
+ ev.detail.replace
61
+ ? ctx.router.history.replace(ev.detail.to, ev.detail.store)
62
+ : ctx.router.history.push(ev.detail.to, ev.detail.state),
63
+ );
53
64
 
54
- (loader || (loader = boot()))
55
- .then(dependency)
56
- .then(() => activate(moduleName, props))
57
- .then((refId) => {
58
- if (state === 'fresh') {
59
- id = refId;
60
- const component = root.querySelector('#' + id + ' > div');
61
- node = project(component, el, options) as HTMLElement;
62
- state = 'mounted';
63
- referenceId = refId;
64
- }
65
- })
66
- .catch((err) => console.error(err));
67
- dispose = attachEvents(
68
- el,
69
- (ev) => data.piral.renderHtmlExtension(ev.detail.target, ev.detail.props),
70
- (ev) =>
71
- ev.detail.replace
72
- ? ctx.router.history.replace(ev.detail.to, ev.detail.store)
73
- : ctx.router.history.push(ev.detail.to, ev.detail.state),
74
- );
75
- state = 'fresh';
76
- },
77
- unmount(el) {
78
- removeGlobalEventListeners(el);
79
- el.removeAttribute('data-blazor-pilet-root');
80
- dispose();
65
+ (loader || (loader = boot()))
66
+ .then(dependency)
67
+ .then(() => activate(moduleName, props))
68
+ .then((refId) => {
69
+ if (locals.state === 'fresh') {
70
+ locals.id = refId;
71
+ locals.node = root.querySelector(`#${locals.id} > div`);
72
+ project(locals.node, el, options);
73
+ locals.state = 'mounted';
74
+ locals.referenceId = refId;
75
+ }
76
+ })
77
+ .catch((err) => console.error(err));
78
+ },
79
+ update(el, data, ctx, locals: BlazorLocals) {
80
+ const props = { ...args, ...data };
81
+ reactivate(moduleName, locals.referenceId, props);
82
+ },
83
+ unmount(el, locals: BlazorLocals) {
84
+ removeGlobalEventListeners(el);
85
+ el.removeAttribute('data-blazor-pilet-root');
86
+ locals.dispose();
81
87
 
82
- if (state === 'mounted') {
83
- root.querySelector(`#${id}`).appendChild(node);
84
- deactivate(moduleName, referenceId);
85
- }
88
+ if (locals.state === 'mounted') {
89
+ root.querySelector(`#${locals.id}`).appendChild(locals.node);
90
+ deactivate(moduleName, locals.referenceId);
91
+ }
86
92
 
87
- el.innerHTML = '';
88
- state = 'removed';
89
- },
90
- };
91
- };
93
+ el.innerHTML = '';
94
+ locals.state = 'removed';
95
+ },
96
+ });
92
97
 
93
98
  convert.loader = loader;
94
99
  return convert;
package/src/events.ts CHANGED
@@ -59,8 +59,12 @@ function findTarget(target: HTMLElement = document.body) {
59
59
 
60
60
  function dispatchToRoot(event: any) {
61
61
  isInternalNavigation(event) && performInternalNavigation(event);
62
- const eventClone = new event.constructor(event.type, event);
63
- document.getElementById(blazorRootId)?.dispatchEvent(eventClone);
62
+
63
+ // the mutation event cannot be cloned (at least in Webkit-based browsers)
64
+ if (!(event instanceof MutationEvent)) {
65
+ const eventClone = new event.constructor(event.type, event);
66
+ document.getElementById(blazorRootId)?.dispatchEvent(eventClone);
67
+ }
64
68
  }
65
69
 
66
70
  export function emitRenderEvent(source: HTMLElement, name: string, params: any) {
package/src/interop.ts CHANGED
@@ -36,6 +36,13 @@ export function activate(moduleName: string, props: any) {
36
36
  return window.DotNet.invokeMethodAsync(coreLib, 'Activate', moduleName, props);
37
37
  }
38
38
 
39
+ export function reactivate(moduleName: string, referenceId: string, props: any) {
40
+ return window.DotNet.invokeMethodAsync(coreLib, 'Reactivate', moduleName, referenceId, props).catch(() => {
41
+ // Apparently an older version of Piral.Blazor, which does not support this
42
+ // discard this error silently (in the future we may print warnings here)
43
+ });
44
+ }
45
+
39
46
  export function deactivate(moduleName: string, referenceId: string) {
40
47
  return window.DotNet.invokeMethodAsync(coreLib, 'Deactivate', moduleName, referenceId);
41
48
  }