piral-blazor 1.0.0-pre.2217 → 1.0.0
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 +55 -12
- package/convert.d.ts +13 -10
- package/convert.js +17 -12
- package/esm/converter.d.ts +10 -6
- package/esm/converter.js +164 -48
- 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 -0
- package/esm/interop.js +205 -0
- package/esm/interop.js.map +1 -0
- 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 +53 -68
- package/lib/converter.d.ts +10 -6
- package/lib/converter.js +164 -48
- 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 -0
- package/lib/interop.js +226 -0
- package/lib/interop.js.map +1 -0
- 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 +26 -13
- package/src/converter.ts +237 -57
- package/src/create.ts +53 -9
- package/src/dependencies.ts +122 -14
- package/src/events.ts +174 -0
- package/src/interop.ts +273 -0
- package/src/navigation.ts +36 -0
- package/src/types.ts +115 -4
- package/convert.ts +0 -17
- package/esm/internal/Environment.d.ts +0 -3
- package/esm/internal/Environment.js +0 -6
- package/esm/internal/Environment.js.map +0 -1
- package/esm/internal/Platform/BootConfig.d.ts +0 -20
- package/esm/internal/Platform/BootConfig.js +0 -10
- package/esm/internal/Platform/BootConfig.js.map +0 -1
- package/esm/internal/Platform/Mono/MonoDebugger.d.ts +0 -3
- package/esm/internal/Platform/Mono/MonoDebugger.js +0 -43
- package/esm/internal/Platform/Mono/MonoDebugger.js.map +0 -1
- package/esm/internal/Platform/Mono/MonoPlatform.d.ts +0 -2
- package/esm/internal/Platform/Mono/MonoPlatform.js +0 -403
- package/esm/internal/Platform/Mono/MonoPlatform.js.map +0 -1
- package/esm/internal/Platform/Mono/TimezoneDataFile.d.ts +0 -1
- package/esm/internal/Platform/Mono/TimezoneDataFile.js +0 -51
- package/esm/internal/Platform/Mono/TimezoneDataFile.js.map +0 -1
- package/esm/internal/Platform/Platform.d.ts +0 -31
- package/esm/internal/Platform/Platform.js +0 -2
- package/esm/internal/Platform/Platform.js.map +0 -1
- package/esm/internal/Platform/Url.d.ts +0 -2
- package/esm/internal/Platform/Url.js +0 -11
- package/esm/internal/Platform/Url.js.map +0 -1
- package/esm/internal/Platform/WebAssemblyConfigLoader.d.ts +0 -4
- package/esm/internal/Platform/WebAssemblyConfigLoader.js +0 -64
- package/esm/internal/Platform/WebAssemblyConfigLoader.js.map +0 -1
- package/esm/internal/Platform/WebAssemblyResourceLoader.d.ts +0 -24
- package/esm/internal/Platform/WebAssemblyResourceLoader.js +0 -223
- package/esm/internal/Platform/WebAssemblyResourceLoader.js.map +0 -1
- package/esm/internal/Platform/WebAssemblyStartOptions.d.ts +0 -13
- package/esm/internal/Platform/WebAssemblyStartOptions.js +0 -2
- package/esm/internal/Platform/WebAssemblyStartOptions.js.map +0 -1
- package/esm/internal/Rendering/BrowserRenderer.d.ts +0 -38
- package/esm/internal/Rendering/BrowserRenderer.js +0 -458
- package/esm/internal/Rendering/BrowserRenderer.js.map +0 -1
- package/esm/internal/Rendering/ElementReferenceCapture.d.ts +0 -1
- package/esm/internal/Rendering/ElementReferenceCapture.js +0 -24
- package/esm/internal/Rendering/ElementReferenceCapture.js.map +0 -1
- package/esm/internal/Rendering/EventDelegator.d.ts +0 -20
- package/esm/internal/Rendering/EventDelegator.js +0 -236
- package/esm/internal/Rendering/EventDelegator.js.map +0 -1
- package/esm/internal/Rendering/EventFieldInfo.d.ts +0 -6
- package/esm/internal/Rendering/EventFieldInfo.js +0 -32
- package/esm/internal/Rendering/EventFieldInfo.js.map +0 -1
- package/esm/internal/Rendering/EventForDotNet.d.ts +0 -10
- package/esm/internal/Rendering/EventForDotNet.js +0 -194
- package/esm/internal/Rendering/EventForDotNet.js.map +0 -1
- package/esm/internal/Rendering/LogicalElements.d.ts +0 -19
- package/esm/internal/Rendering/LogicalElements.js +0 -250
- package/esm/internal/Rendering/LogicalElements.js.map +0 -1
- package/esm/internal/Rendering/RenderBatch/BinaryDecoder.d.ts +0 -5
- package/esm/internal/Rendering/RenderBatch/BinaryDecoder.js +0 -34
- package/esm/internal/Rendering/RenderBatch/BinaryDecoder.js.map +0 -1
- package/esm/internal/Rendering/RenderBatch/OutOfProcessRenderBatch.d.ts +0 -18
- package/esm/internal/Rendering/RenderBatch/OutOfProcessRenderBatch.js +0 -190
- package/esm/internal/Rendering/RenderBatch/OutOfProcessRenderBatch.js.map +0 -1
- package/esm/internal/Rendering/RenderBatch/RenderBatch.d.ts +0 -87
- package/esm/internal/Rendering/RenderBatch/RenderBatch.js +0 -26
- package/esm/internal/Rendering/RenderBatch/RenderBatch.js.map +0 -1
- package/esm/internal/Rendering/RenderBatch/SharedMemoryRenderBatch.d.ts +0 -52
- package/esm/internal/Rendering/RenderBatch/SharedMemoryRenderBatch.js +0 -103
- package/esm/internal/Rendering/RenderBatch/SharedMemoryRenderBatch.js.map +0 -1
- package/esm/internal/Rendering/RenderBatch/Utf8Decoder.d.ts +0 -1
- package/esm/internal/Rendering/RenderBatch/Utf8Decoder.js +0 -63
- package/esm/internal/Rendering/RenderBatch/Utf8Decoder.js.map +0 -1
- package/esm/internal/Rendering/Renderer.d.ts +0 -8
- package/esm/internal/Rendering/Renderer.js +0 -69
- package/esm/internal/Rendering/Renderer.js.map +0 -1
- package/esm/internal/Rendering/RendererEventDispatcher.d.ts +0 -4
- package/esm/internal/Rendering/RendererEventDispatcher.js +0 -11
- package/esm/internal/Rendering/RendererEventDispatcher.js.map +0 -1
- package/esm/internal/Services/NavigationManager.d.ts +0 -16
- package/esm/internal/Services/NavigationManager.js +0 -138
- package/esm/internal/Services/NavigationManager.js.map +0 -1
- package/esm/internal/globals.d.ts +0 -1
- package/esm/internal/globals.js +0 -5
- package/esm/internal/globals.js.map +0 -1
- package/esm/internal/index.d.ts +0 -15
- package/esm/internal/index.js +0 -152
- package/esm/internal/index.js.map +0 -1
- package/lib/internal/Environment.d.ts +0 -3
- package/lib/internal/Environment.js +0 -9
- package/lib/internal/Environment.js.map +0 -1
- package/lib/internal/Platform/BootConfig.d.ts +0 -20
- package/lib/internal/Platform/BootConfig.js +0 -13
- package/lib/internal/Platform/BootConfig.js.map +0 -1
- package/lib/internal/Platform/Mono/MonoDebugger.d.ts +0 -3
- package/lib/internal/Platform/Mono/MonoDebugger.js +0 -48
- package/lib/internal/Platform/Mono/MonoDebugger.js.map +0 -1
- package/lib/internal/Platform/Mono/MonoPlatform.d.ts +0 -2
- package/lib/internal/Platform/Mono/MonoPlatform.js +0 -406
- package/lib/internal/Platform/Mono/MonoPlatform.js.map +0 -1
- package/lib/internal/Platform/Mono/TimezoneDataFile.d.ts +0 -1
- package/lib/internal/Platform/Mono/TimezoneDataFile.js +0 -55
- package/lib/internal/Platform/Mono/TimezoneDataFile.js.map +0 -1
- package/lib/internal/Platform/Platform.d.ts +0 -31
- package/lib/internal/Platform/Platform.js +0 -3
- package/lib/internal/Platform/Platform.js.map +0 -1
- package/lib/internal/Platform/Url.d.ts +0 -2
- package/lib/internal/Platform/Url.js +0 -16
- package/lib/internal/Platform/Url.js.map +0 -1
- package/lib/internal/Platform/WebAssemblyConfigLoader.d.ts +0 -4
- package/lib/internal/Platform/WebAssemblyConfigLoader.js +0 -67
- package/lib/internal/Platform/WebAssemblyConfigLoader.js.map +0 -1
- package/lib/internal/Platform/WebAssemblyResourceLoader.d.ts +0 -24
- package/lib/internal/Platform/WebAssemblyResourceLoader.js +0 -226
- package/lib/internal/Platform/WebAssemblyResourceLoader.js.map +0 -1
- package/lib/internal/Platform/WebAssemblyStartOptions.d.ts +0 -13
- package/lib/internal/Platform/WebAssemblyStartOptions.js +0 -3
- package/lib/internal/Platform/WebAssemblyStartOptions.js.map +0 -1
- package/lib/internal/Rendering/BrowserRenderer.d.ts +0 -38
- package/lib/internal/Rendering/BrowserRenderer.js +0 -461
- package/lib/internal/Rendering/BrowserRenderer.js.map +0 -1
- package/lib/internal/Rendering/ElementReferenceCapture.d.ts +0 -1
- package/lib/internal/Rendering/ElementReferenceCapture.js +0 -28
- package/lib/internal/Rendering/ElementReferenceCapture.js.map +0 -1
- package/lib/internal/Rendering/EventDelegator.d.ts +0 -20
- package/lib/internal/Rendering/EventDelegator.js +0 -239
- package/lib/internal/Rendering/EventDelegator.js.map +0 -1
- package/lib/internal/Rendering/EventFieldInfo.d.ts +0 -6
- package/lib/internal/Rendering/EventFieldInfo.js +0 -35
- package/lib/internal/Rendering/EventFieldInfo.js.map +0 -1
- package/lib/internal/Rendering/EventForDotNet.d.ts +0 -10
- package/lib/internal/Rendering/EventForDotNet.js +0 -197
- package/lib/internal/Rendering/EventForDotNet.js.map +0 -1
- package/lib/internal/Rendering/LogicalElements.d.ts +0 -19
- package/lib/internal/Rendering/LogicalElements.js +0 -265
- package/lib/internal/Rendering/LogicalElements.js.map +0 -1
- package/lib/internal/Rendering/RenderBatch/BinaryDecoder.d.ts +0 -5
- package/lib/internal/Rendering/RenderBatch/BinaryDecoder.js +0 -42
- package/lib/internal/Rendering/RenderBatch/BinaryDecoder.js.map +0 -1
- package/lib/internal/Rendering/RenderBatch/OutOfProcessRenderBatch.d.ts +0 -18
- package/lib/internal/Rendering/RenderBatch/OutOfProcessRenderBatch.js +0 -193
- package/lib/internal/Rendering/RenderBatch/OutOfProcessRenderBatch.js.map +0 -1
- package/lib/internal/Rendering/RenderBatch/RenderBatch.d.ts +0 -87
- package/lib/internal/Rendering/RenderBatch/RenderBatch.js +0 -29
- package/lib/internal/Rendering/RenderBatch/RenderBatch.js.map +0 -1
- package/lib/internal/Rendering/RenderBatch/SharedMemoryRenderBatch.d.ts +0 -52
- package/lib/internal/Rendering/RenderBatch/SharedMemoryRenderBatch.js +0 -106
- package/lib/internal/Rendering/RenderBatch/SharedMemoryRenderBatch.js.map +0 -1
- package/lib/internal/Rendering/RenderBatch/Utf8Decoder.d.ts +0 -1
- package/lib/internal/Rendering/RenderBatch/Utf8Decoder.js +0 -66
- package/lib/internal/Rendering/RenderBatch/Utf8Decoder.js.map +0 -1
- package/lib/internal/Rendering/Renderer.d.ts +0 -8
- package/lib/internal/Rendering/Renderer.js +0 -76
- package/lib/internal/Rendering/Renderer.js.map +0 -1
- package/lib/internal/Rendering/RendererEventDispatcher.d.ts +0 -4
- package/lib/internal/Rendering/RendererEventDispatcher.js +0 -16
- package/lib/internal/Rendering/RendererEventDispatcher.js.map +0 -1
- package/lib/internal/Services/NavigationManager.d.ts +0 -16
- package/lib/internal/Services/NavigationManager.js +0 -144
- package/lib/internal/Services/NavigationManager.js.map +0 -1
- package/lib/internal/globals.d.ts +0 -1
- package/lib/internal/globals.js +0 -7
- package/lib/internal/globals.js.map +0 -1
- package/lib/internal/index.d.ts +0 -15
- package/lib/internal/index.js +0 -161
- package/lib/internal/index.js.map +0 -1
- package/src/internal/Environment.ts +0 -11
- package/src/internal/Platform/BootConfig.ts +0 -21
- package/src/internal/Platform/Mono/MonoDebugger.ts +0 -48
- package/src/internal/Platform/Mono/MonoPlatform.ts +0 -494
- package/src/internal/Platform/Mono/MonoTypes.d.ts +0 -27
- package/src/internal/Platform/Mono/TimezoneDataFile.ts +0 -46
- package/src/internal/Platform/Platform.ts +0 -40
- package/src/internal/Platform/Url.ts +0 -11
- package/src/internal/Platform/WebAssemblyConfigLoader.ts +0 -34
- package/src/internal/Platform/WebAssemblyResourceLoader.ts +0 -234
- package/src/internal/Platform/WebAssemblyStartOptions.ts +0 -22
- package/src/internal/Rendering/BrowserRenderer.ts +0 -616
- package/src/internal/Rendering/ElementReferenceCapture.ts +0 -27
- package/src/internal/Rendering/EventDelegator.ts +0 -293
- package/src/internal/Rendering/EventFieldInfo.ts +0 -31
- package/src/internal/Rendering/EventForDotNet.ts +0 -370
- package/src/internal/Rendering/LogicalElements.ts +0 -289
- package/src/internal/Rendering/RenderBatch/BinaryDecoder.ts +0 -43
- package/src/internal/Rendering/RenderBatch/OutOfProcessRenderBatch.ts +0 -244
- package/src/internal/Rendering/RenderBatch/RenderBatch.ts +0 -100
- package/src/internal/Rendering/RenderBatch/SharedMemoryRenderBatch.ts +0 -137
- package/src/internal/Rendering/RenderBatch/Utf8Decoder.ts +0 -66
- package/src/internal/Rendering/Renderer.ts +0 -98
- package/src/internal/Rendering/RendererEventDispatcher.ts +0 -20
- package/src/internal/Services/NavigationManager.ts +0 -157
- package/src/internal/globals.ts +0 -5
- package/src/internal/index.ts +0 -170
|
@@ -1,461 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BrowserRenderer = void 0;
|
|
4
|
-
var RenderBatch_1 = require("./RenderBatch/RenderBatch");
|
|
5
|
-
var EventDelegator_1 = require("./EventDelegator");
|
|
6
|
-
var LogicalElements_1 = require("./LogicalElements");
|
|
7
|
-
var ElementReferenceCapture_1 = require("./ElementReferenceCapture");
|
|
8
|
-
var RendererEventDispatcher_1 = require("./RendererEventDispatcher");
|
|
9
|
-
var NavigationManager_1 = require("../Services/NavigationManager");
|
|
10
|
-
var selectValuePropname = '_blazorSelectValue';
|
|
11
|
-
var sharedTemplateElemForParsing = document.createElement('template');
|
|
12
|
-
var sharedSvgElemForParsing = document.createElementNS('http://www.w3.org/2000/svg', 'g');
|
|
13
|
-
var preventDefaultEvents = { submit: true };
|
|
14
|
-
var rootComponentsPendingFirstRender = {};
|
|
15
|
-
var internalAttributeNamePrefix = '__internal_';
|
|
16
|
-
var eventPreventDefaultAttributeNamePrefix = 'preventDefault_';
|
|
17
|
-
var eventStopPropagationAttributeNamePrefix = 'stopPropagation_';
|
|
18
|
-
var BrowserRenderer = /** @class */ (function () {
|
|
19
|
-
function BrowserRenderer(browserRendererId) {
|
|
20
|
-
var _this = this;
|
|
21
|
-
this.childComponentLocations = {};
|
|
22
|
-
this.browserRendererId = browserRendererId;
|
|
23
|
-
this.eventDelegator = new EventDelegator_1.EventDelegator(function (event, eventHandlerId, eventArgs, eventFieldInfo) {
|
|
24
|
-
raiseEvent(event, _this.browserRendererId, eventHandlerId, eventArgs, eventFieldInfo);
|
|
25
|
-
});
|
|
26
|
-
NavigationManager_1.attachToEventDelegator(this.eventDelegator);
|
|
27
|
-
}
|
|
28
|
-
BrowserRenderer.prototype.attachRootComponentToLogicalElement = function (componentId, element) {
|
|
29
|
-
this.attachComponentToElement(componentId, element);
|
|
30
|
-
rootComponentsPendingFirstRender[componentId] = element;
|
|
31
|
-
};
|
|
32
|
-
BrowserRenderer.prototype.updateComponent = function (batch, componentId, edits, referenceFrames) {
|
|
33
|
-
var element = this.childComponentLocations[componentId];
|
|
34
|
-
if (!element) {
|
|
35
|
-
throw new Error("No element is currently associated with component " + componentId);
|
|
36
|
-
}
|
|
37
|
-
// On the first render for each root component, clear any existing content (e.g., prerendered)
|
|
38
|
-
var rootElementToClear = rootComponentsPendingFirstRender[componentId];
|
|
39
|
-
if (rootElementToClear) {
|
|
40
|
-
var rootElementToClearEnd = LogicalElements_1.getLogicalSiblingEnd(rootElementToClear);
|
|
41
|
-
delete rootComponentsPendingFirstRender[componentId];
|
|
42
|
-
if (!rootElementToClearEnd) {
|
|
43
|
-
clearElement(rootElementToClear);
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
clearBetween(rootElementToClear, rootElementToClearEnd);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
var ownerDocument = LogicalElements_1.getClosestDomElement(element).ownerDocument;
|
|
50
|
-
var activeElementBefore = ownerDocument && ownerDocument.activeElement;
|
|
51
|
-
this.applyEdits(batch, componentId, element, 0, edits, referenceFrames);
|
|
52
|
-
// Try to restore focus in case it was lost due to an element move
|
|
53
|
-
if (activeElementBefore instanceof HTMLElement &&
|
|
54
|
-
ownerDocument &&
|
|
55
|
-
ownerDocument.activeElement !== activeElementBefore) {
|
|
56
|
-
activeElementBefore.focus();
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
BrowserRenderer.prototype.disposeComponent = function (componentId) {
|
|
60
|
-
delete this.childComponentLocations[componentId];
|
|
61
|
-
};
|
|
62
|
-
BrowserRenderer.prototype.disposeEventHandler = function (eventHandlerId) {
|
|
63
|
-
this.eventDelegator.removeListener(eventHandlerId);
|
|
64
|
-
};
|
|
65
|
-
BrowserRenderer.prototype.attachComponentToElement = function (componentId, element) {
|
|
66
|
-
this.childComponentLocations[componentId] = element;
|
|
67
|
-
};
|
|
68
|
-
BrowserRenderer.prototype.applyEdits = function (batch, componentId, parent, childIndex, edits, referenceFrames) {
|
|
69
|
-
var currentDepth = 0;
|
|
70
|
-
var childIndexAtCurrentDepth = childIndex;
|
|
71
|
-
var permutationList;
|
|
72
|
-
var arrayBuilderSegmentReader = batch.arrayBuilderSegmentReader;
|
|
73
|
-
var editReader = batch.editReader;
|
|
74
|
-
var frameReader = batch.frameReader;
|
|
75
|
-
var editsValues = arrayBuilderSegmentReader.values(edits);
|
|
76
|
-
var editsOffset = arrayBuilderSegmentReader.offset(edits);
|
|
77
|
-
var editsLength = arrayBuilderSegmentReader.count(edits);
|
|
78
|
-
var maxEditIndexExcl = editsOffset + editsLength;
|
|
79
|
-
for (var editIndex = editsOffset; editIndex < maxEditIndexExcl; editIndex++) {
|
|
80
|
-
var edit = batch.diffReader.editsEntry(editsValues, editIndex);
|
|
81
|
-
var editType = editReader.editType(edit);
|
|
82
|
-
switch (editType) {
|
|
83
|
-
case RenderBatch_1.EditType.prependFrame: {
|
|
84
|
-
var frameIndex = editReader.newTreeIndex(edit);
|
|
85
|
-
var frame = batch.referenceFramesEntry(referenceFrames, frameIndex);
|
|
86
|
-
var siblingIndex = editReader.siblingIndex(edit);
|
|
87
|
-
this.insertFrame(batch, componentId, parent, childIndexAtCurrentDepth + siblingIndex, referenceFrames, frame, frameIndex);
|
|
88
|
-
break;
|
|
89
|
-
}
|
|
90
|
-
case RenderBatch_1.EditType.removeFrame: {
|
|
91
|
-
var siblingIndex = editReader.siblingIndex(edit);
|
|
92
|
-
LogicalElements_1.removeLogicalChild(parent, childIndexAtCurrentDepth + siblingIndex);
|
|
93
|
-
break;
|
|
94
|
-
}
|
|
95
|
-
case RenderBatch_1.EditType.setAttribute: {
|
|
96
|
-
var frameIndex = editReader.newTreeIndex(edit);
|
|
97
|
-
var frame = batch.referenceFramesEntry(referenceFrames, frameIndex);
|
|
98
|
-
var siblingIndex = editReader.siblingIndex(edit);
|
|
99
|
-
var element = LogicalElements_1.getLogicalChild(parent, childIndexAtCurrentDepth + siblingIndex);
|
|
100
|
-
if (element instanceof Element) {
|
|
101
|
-
this.applyAttribute(batch, componentId, element, frame);
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
throw new Error('Cannot set attribute on non-element child');
|
|
105
|
-
}
|
|
106
|
-
break;
|
|
107
|
-
}
|
|
108
|
-
case RenderBatch_1.EditType.removeAttribute: {
|
|
109
|
-
// Note that we don't have to dispose the info we track about event handlers here, because the
|
|
110
|
-
// disposed event handler IDs are delivered separately (in the 'disposedEventHandlerIds' array)
|
|
111
|
-
var siblingIndex = editReader.siblingIndex(edit);
|
|
112
|
-
var element = LogicalElements_1.getLogicalChild(parent, childIndexAtCurrentDepth + siblingIndex);
|
|
113
|
-
if (element instanceof HTMLElement) {
|
|
114
|
-
var attributeName = editReader.removedAttributeName(edit);
|
|
115
|
-
// First try to remove any special property we use for this attribute
|
|
116
|
-
if (!this.tryApplySpecialProperty(batch, element, attributeName, null)) {
|
|
117
|
-
// If that's not applicable, it's a regular DOM attribute so remove that
|
|
118
|
-
element.removeAttribute(attributeName);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
throw new Error('Cannot remove attribute from non-element child');
|
|
123
|
-
}
|
|
124
|
-
break;
|
|
125
|
-
}
|
|
126
|
-
case RenderBatch_1.EditType.updateText: {
|
|
127
|
-
var frameIndex = editReader.newTreeIndex(edit);
|
|
128
|
-
var frame = batch.referenceFramesEntry(referenceFrames, frameIndex);
|
|
129
|
-
var siblingIndex = editReader.siblingIndex(edit);
|
|
130
|
-
var textNode = LogicalElements_1.getLogicalChild(parent, childIndexAtCurrentDepth + siblingIndex);
|
|
131
|
-
if (textNode instanceof Text) {
|
|
132
|
-
textNode.textContent = frameReader.textContent(frame);
|
|
133
|
-
}
|
|
134
|
-
else {
|
|
135
|
-
throw new Error('Cannot set text content on non-text child');
|
|
136
|
-
}
|
|
137
|
-
break;
|
|
138
|
-
}
|
|
139
|
-
case RenderBatch_1.EditType.updateMarkup: {
|
|
140
|
-
var frameIndex = editReader.newTreeIndex(edit);
|
|
141
|
-
var frame = batch.referenceFramesEntry(referenceFrames, frameIndex);
|
|
142
|
-
var siblingIndex = editReader.siblingIndex(edit);
|
|
143
|
-
LogicalElements_1.removeLogicalChild(parent, childIndexAtCurrentDepth + siblingIndex);
|
|
144
|
-
this.insertMarkup(batch, parent, childIndexAtCurrentDepth + siblingIndex, frame);
|
|
145
|
-
break;
|
|
146
|
-
}
|
|
147
|
-
case RenderBatch_1.EditType.stepIn: {
|
|
148
|
-
var siblingIndex = editReader.siblingIndex(edit);
|
|
149
|
-
parent = LogicalElements_1.getLogicalChild(parent, childIndexAtCurrentDepth + siblingIndex);
|
|
150
|
-
currentDepth++;
|
|
151
|
-
childIndexAtCurrentDepth = 0;
|
|
152
|
-
break;
|
|
153
|
-
}
|
|
154
|
-
case RenderBatch_1.EditType.stepOut: {
|
|
155
|
-
parent = LogicalElements_1.getLogicalParent(parent);
|
|
156
|
-
currentDepth--;
|
|
157
|
-
childIndexAtCurrentDepth = currentDepth === 0 ? childIndex : 0; // The childIndex is only ever nonzero at zero depth
|
|
158
|
-
break;
|
|
159
|
-
}
|
|
160
|
-
case RenderBatch_1.EditType.permutationListEntry: {
|
|
161
|
-
permutationList = permutationList || [];
|
|
162
|
-
permutationList.push({
|
|
163
|
-
fromSiblingIndex: childIndexAtCurrentDepth + editReader.siblingIndex(edit),
|
|
164
|
-
toSiblingIndex: childIndexAtCurrentDepth + editReader.moveToSiblingIndex(edit),
|
|
165
|
-
});
|
|
166
|
-
break;
|
|
167
|
-
}
|
|
168
|
-
case RenderBatch_1.EditType.permutationListEnd: {
|
|
169
|
-
LogicalElements_1.permuteLogicalChildren(parent, permutationList);
|
|
170
|
-
permutationList = undefined;
|
|
171
|
-
break;
|
|
172
|
-
}
|
|
173
|
-
default: {
|
|
174
|
-
var unknownType = editType; // Compile-time verification that the switch was exhaustive
|
|
175
|
-
throw new Error("Unknown edit type: " + unknownType);
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
};
|
|
180
|
-
BrowserRenderer.prototype.insertFrame = function (batch, componentId, parent, childIndex, frames, frame, frameIndex) {
|
|
181
|
-
var frameReader = batch.frameReader;
|
|
182
|
-
var frameType = frameReader.frameType(frame);
|
|
183
|
-
switch (frameType) {
|
|
184
|
-
case RenderBatch_1.FrameType.element:
|
|
185
|
-
this.insertElement(batch, componentId, parent, childIndex, frames, frame, frameIndex);
|
|
186
|
-
return 1;
|
|
187
|
-
case RenderBatch_1.FrameType.text:
|
|
188
|
-
this.insertText(batch, parent, childIndex, frame);
|
|
189
|
-
return 1;
|
|
190
|
-
case RenderBatch_1.FrameType.attribute:
|
|
191
|
-
throw new Error('Attribute frames should only be present as leading children of element frames.');
|
|
192
|
-
case RenderBatch_1.FrameType.component:
|
|
193
|
-
this.insertComponent(batch, parent, childIndex, frame);
|
|
194
|
-
return 1;
|
|
195
|
-
case RenderBatch_1.FrameType.region:
|
|
196
|
-
return this.insertFrameRange(batch, componentId, parent, childIndex, frames, frameIndex + 1, frameIndex + frameReader.subtreeLength(frame));
|
|
197
|
-
case RenderBatch_1.FrameType.elementReferenceCapture:
|
|
198
|
-
if (parent instanceof Element) {
|
|
199
|
-
ElementReferenceCapture_1.applyCaptureIdToElement(parent, frameReader.elementReferenceCaptureId(frame));
|
|
200
|
-
return 0; // A "capture" is a child in the diff, but has no node in the DOM
|
|
201
|
-
}
|
|
202
|
-
else {
|
|
203
|
-
throw new Error('Reference capture frames can only be children of element frames.');
|
|
204
|
-
}
|
|
205
|
-
case RenderBatch_1.FrameType.markup:
|
|
206
|
-
this.insertMarkup(batch, parent, childIndex, frame);
|
|
207
|
-
return 1;
|
|
208
|
-
default:
|
|
209
|
-
var unknownType = frameType; // Compile-time verification that the switch was exhaustive
|
|
210
|
-
throw new Error("Unknown frame type: " + unknownType);
|
|
211
|
-
}
|
|
212
|
-
};
|
|
213
|
-
BrowserRenderer.prototype.insertElement = function (batch, componentId, parent, childIndex, frames, frame, frameIndex) {
|
|
214
|
-
var frameReader = batch.frameReader;
|
|
215
|
-
var tagName = frameReader.elementName(frame);
|
|
216
|
-
var newDomElementRaw = tagName === 'svg' || LogicalElements_1.isSvgElement(parent)
|
|
217
|
-
? document.createElementNS('http://www.w3.org/2000/svg', tagName)
|
|
218
|
-
: document.createElement(tagName);
|
|
219
|
-
var newElement = LogicalElements_1.toLogicalElement(newDomElementRaw);
|
|
220
|
-
LogicalElements_1.insertLogicalChild(newDomElementRaw, parent, childIndex);
|
|
221
|
-
// Apply attributes
|
|
222
|
-
var descendantsEndIndexExcl = frameIndex + frameReader.subtreeLength(frame);
|
|
223
|
-
for (var descendantIndex = frameIndex + 1; descendantIndex < descendantsEndIndexExcl; descendantIndex++) {
|
|
224
|
-
var descendantFrame = batch.referenceFramesEntry(frames, descendantIndex);
|
|
225
|
-
if (frameReader.frameType(descendantFrame) === RenderBatch_1.FrameType.attribute) {
|
|
226
|
-
this.applyAttribute(batch, componentId, newDomElementRaw, descendantFrame);
|
|
227
|
-
}
|
|
228
|
-
else {
|
|
229
|
-
// As soon as we see a non-attribute child, all the subsequent child frames are
|
|
230
|
-
// not attributes, so bail out and insert the remnants recursively
|
|
231
|
-
this.insertFrameRange(batch, componentId, newElement, 0, frames, descendantIndex, descendantsEndIndexExcl);
|
|
232
|
-
break;
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
// We handle setting 'value' on a <select> in two different ways:
|
|
236
|
-
// [1] When inserting a corresponding <option>, in case you're dynamically adding options
|
|
237
|
-
// [2] After we finish inserting the <select>, in case the descendant options are being
|
|
238
|
-
// added as an opaque markup block rather than individually
|
|
239
|
-
// Right here we implement [2]
|
|
240
|
-
if (newDomElementRaw instanceof HTMLSelectElement && selectValuePropname in newDomElementRaw) {
|
|
241
|
-
var selectValue = newDomElementRaw[selectValuePropname];
|
|
242
|
-
newDomElementRaw.value = selectValue;
|
|
243
|
-
delete newDomElementRaw[selectValuePropname];
|
|
244
|
-
}
|
|
245
|
-
};
|
|
246
|
-
BrowserRenderer.prototype.insertComponent = function (batch, parent, childIndex, frame) {
|
|
247
|
-
var containerElement = LogicalElements_1.createAndInsertLogicalContainer(parent, childIndex);
|
|
248
|
-
// All we have to do is associate the child component ID with its location. We don't actually
|
|
249
|
-
// do any rendering here, because the diff for the child will appear later in the render batch.
|
|
250
|
-
var childComponentId = batch.frameReader.componentId(frame);
|
|
251
|
-
this.attachComponentToElement(childComponentId, containerElement);
|
|
252
|
-
};
|
|
253
|
-
BrowserRenderer.prototype.insertText = function (batch, parent, childIndex, textFrame) {
|
|
254
|
-
var textContent = batch.frameReader.textContent(textFrame);
|
|
255
|
-
var newTextNode = document.createTextNode(textContent);
|
|
256
|
-
LogicalElements_1.insertLogicalChild(newTextNode, parent, childIndex);
|
|
257
|
-
};
|
|
258
|
-
BrowserRenderer.prototype.insertMarkup = function (batch, parent, childIndex, markupFrame) {
|
|
259
|
-
var markupContainer = LogicalElements_1.createAndInsertLogicalContainer(parent, childIndex);
|
|
260
|
-
var markupContent = batch.frameReader.markupContent(markupFrame);
|
|
261
|
-
var parsedMarkup = parseMarkup(markupContent, LogicalElements_1.isSvgElement(parent));
|
|
262
|
-
var logicalSiblingIndex = 0;
|
|
263
|
-
while (parsedMarkup.firstChild) {
|
|
264
|
-
LogicalElements_1.insertLogicalChild(parsedMarkup.firstChild, markupContainer, logicalSiblingIndex++);
|
|
265
|
-
}
|
|
266
|
-
};
|
|
267
|
-
BrowserRenderer.prototype.applyAttribute = function (batch, componentId, toDomElement, attributeFrame) {
|
|
268
|
-
var frameReader = batch.frameReader;
|
|
269
|
-
var attributeName = frameReader.attributeName(attributeFrame);
|
|
270
|
-
var eventHandlerId = frameReader.attributeEventHandlerId(attributeFrame);
|
|
271
|
-
if (eventHandlerId) {
|
|
272
|
-
var eventName = stripOnPrefix(attributeName);
|
|
273
|
-
this.eventDelegator.setListener(toDomElement, eventName, eventHandlerId, componentId);
|
|
274
|
-
return;
|
|
275
|
-
}
|
|
276
|
-
// First see if we have special handling for this attribute
|
|
277
|
-
if (!this.tryApplySpecialProperty(batch, toDomElement, attributeName, attributeFrame)) {
|
|
278
|
-
// If not, treat it as a regular string-valued attribute
|
|
279
|
-
toDomElement.setAttribute(attributeName, frameReader.attributeValue(attributeFrame));
|
|
280
|
-
}
|
|
281
|
-
};
|
|
282
|
-
BrowserRenderer.prototype.tryApplySpecialProperty = function (batch, element, attributeName, attributeFrame) {
|
|
283
|
-
switch (attributeName) {
|
|
284
|
-
case 'value':
|
|
285
|
-
return this.tryApplyValueProperty(batch, element, attributeFrame);
|
|
286
|
-
case 'checked':
|
|
287
|
-
return this.tryApplyCheckedProperty(batch, element, attributeFrame);
|
|
288
|
-
default: {
|
|
289
|
-
if (attributeName.startsWith(internalAttributeNamePrefix)) {
|
|
290
|
-
this.applyInternalAttribute(batch, element, attributeName.substring(internalAttributeNamePrefix.length), attributeFrame);
|
|
291
|
-
return true;
|
|
292
|
-
}
|
|
293
|
-
return false;
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
};
|
|
297
|
-
BrowserRenderer.prototype.applyInternalAttribute = function (batch, element, internalAttributeName, attributeFrame) {
|
|
298
|
-
var attributeValue = attributeFrame ? batch.frameReader.attributeValue(attributeFrame) : null;
|
|
299
|
-
if (internalAttributeName.startsWith(eventStopPropagationAttributeNamePrefix)) {
|
|
300
|
-
// Stop propagation
|
|
301
|
-
var eventName = stripOnPrefix(internalAttributeName.substring(eventStopPropagationAttributeNamePrefix.length));
|
|
302
|
-
this.eventDelegator.setStopPropagation(element, eventName, attributeValue !== null);
|
|
303
|
-
}
|
|
304
|
-
else if (internalAttributeName.startsWith(eventPreventDefaultAttributeNamePrefix)) {
|
|
305
|
-
// Prevent default
|
|
306
|
-
var eventName = stripOnPrefix(internalAttributeName.substring(eventPreventDefaultAttributeNamePrefix.length));
|
|
307
|
-
this.eventDelegator.setPreventDefault(element, eventName, attributeValue !== null);
|
|
308
|
-
}
|
|
309
|
-
else {
|
|
310
|
-
// The prefix makes this attribute name reserved, so any other usage is disallowed
|
|
311
|
-
throw new Error("Unsupported internal attribute '" + internalAttributeName + "'");
|
|
312
|
-
}
|
|
313
|
-
};
|
|
314
|
-
BrowserRenderer.prototype.tryApplyValueProperty = function (batch, element, attributeFrame) {
|
|
315
|
-
// Certain elements have built-in behaviour for their 'value' property
|
|
316
|
-
var frameReader = batch.frameReader;
|
|
317
|
-
if (element.tagName === 'INPUT' && element.getAttribute('type') === 'time' && !element.getAttribute('step')) {
|
|
318
|
-
var timeValue = attributeFrame ? frameReader.attributeValue(attributeFrame) : null;
|
|
319
|
-
if (timeValue) {
|
|
320
|
-
element['value'] = timeValue.substring(0, 5);
|
|
321
|
-
return true;
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
switch (element.tagName) {
|
|
325
|
-
case 'INPUT':
|
|
326
|
-
case 'SELECT':
|
|
327
|
-
case 'TEXTAREA': {
|
|
328
|
-
var value = attributeFrame ? frameReader.attributeValue(attributeFrame) : null;
|
|
329
|
-
element.value = value;
|
|
330
|
-
if (element.tagName === 'SELECT') {
|
|
331
|
-
// <select> is special, in that anything we write to .value will be lost if there
|
|
332
|
-
// isn't yet a matching <option>. To maintain the expected behavior no matter the
|
|
333
|
-
// element insertion/update order, preserve the desired value separately so
|
|
334
|
-
// we can recover it when inserting any matching <option> or after inserting an
|
|
335
|
-
// entire markup block of descendants.
|
|
336
|
-
element[selectValuePropname] = value;
|
|
337
|
-
}
|
|
338
|
-
return true;
|
|
339
|
-
}
|
|
340
|
-
case 'OPTION': {
|
|
341
|
-
var value = attributeFrame ? frameReader.attributeValue(attributeFrame) : null;
|
|
342
|
-
if (value) {
|
|
343
|
-
element.setAttribute('value', value);
|
|
344
|
-
}
|
|
345
|
-
else {
|
|
346
|
-
element.removeAttribute('value');
|
|
347
|
-
}
|
|
348
|
-
// See above for why we have this special handling for <select>/<option>
|
|
349
|
-
// Note that this is only one of the two cases where we set the value on a <select>
|
|
350
|
-
var selectElem = this.findClosestAncestorSelectElement(element);
|
|
351
|
-
if (selectElem && selectValuePropname in selectElem && selectElem[selectValuePropname] === value) {
|
|
352
|
-
this.tryApplyValueProperty(batch, selectElem, attributeFrame);
|
|
353
|
-
delete selectElem[selectValuePropname];
|
|
354
|
-
}
|
|
355
|
-
return true;
|
|
356
|
-
}
|
|
357
|
-
default:
|
|
358
|
-
return false;
|
|
359
|
-
}
|
|
360
|
-
};
|
|
361
|
-
BrowserRenderer.prototype.tryApplyCheckedProperty = function (batch, element, attributeFrame) {
|
|
362
|
-
// Certain elements have built-in behaviour for their 'checked' property
|
|
363
|
-
if (element.tagName === 'INPUT') {
|
|
364
|
-
var value = attributeFrame ? batch.frameReader.attributeValue(attributeFrame) : null;
|
|
365
|
-
element.checked = value !== null;
|
|
366
|
-
return true;
|
|
367
|
-
}
|
|
368
|
-
else {
|
|
369
|
-
return false;
|
|
370
|
-
}
|
|
371
|
-
};
|
|
372
|
-
BrowserRenderer.prototype.findClosestAncestorSelectElement = function (element) {
|
|
373
|
-
while (element) {
|
|
374
|
-
if (element instanceof HTMLSelectElement) {
|
|
375
|
-
return element;
|
|
376
|
-
}
|
|
377
|
-
else {
|
|
378
|
-
element = element.parentElement;
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
return null;
|
|
382
|
-
};
|
|
383
|
-
BrowserRenderer.prototype.insertFrameRange = function (batch, componentId, parent, childIndex, frames, startIndex, endIndexExcl) {
|
|
384
|
-
var origChildIndex = childIndex;
|
|
385
|
-
for (var index = startIndex; index < endIndexExcl; index++) {
|
|
386
|
-
var frame = batch.referenceFramesEntry(frames, index);
|
|
387
|
-
var numChildrenInserted = this.insertFrame(batch, componentId, parent, childIndex, frames, frame, index);
|
|
388
|
-
childIndex += numChildrenInserted;
|
|
389
|
-
// Skip over any descendants, since they are already dealt with recursively
|
|
390
|
-
index += countDescendantFrames(batch, frame);
|
|
391
|
-
}
|
|
392
|
-
return childIndex - origChildIndex; // Total number of children inserted
|
|
393
|
-
};
|
|
394
|
-
return BrowserRenderer;
|
|
395
|
-
}());
|
|
396
|
-
exports.BrowserRenderer = BrowserRenderer;
|
|
397
|
-
function parseMarkup(markup, isSvg) {
|
|
398
|
-
if (isSvg) {
|
|
399
|
-
sharedSvgElemForParsing.innerHTML = markup || ' ';
|
|
400
|
-
return sharedSvgElemForParsing;
|
|
401
|
-
}
|
|
402
|
-
else {
|
|
403
|
-
sharedTemplateElemForParsing.innerHTML = markup || ' ';
|
|
404
|
-
return sharedTemplateElemForParsing.content;
|
|
405
|
-
}
|
|
406
|
-
}
|
|
407
|
-
function countDescendantFrames(batch, frame) {
|
|
408
|
-
var frameReader = batch.frameReader;
|
|
409
|
-
switch (frameReader.frameType(frame)) {
|
|
410
|
-
// The following frame types have a subtree length. Other frames may use that memory slot
|
|
411
|
-
// to mean something else, so we must not read it. We should consider having nominal subtypes
|
|
412
|
-
// of RenderTreeFramePointer that prevent access to non-applicable fields.
|
|
413
|
-
case RenderBatch_1.FrameType.component:
|
|
414
|
-
case RenderBatch_1.FrameType.element:
|
|
415
|
-
case RenderBatch_1.FrameType.region:
|
|
416
|
-
return frameReader.subtreeLength(frame) - 1;
|
|
417
|
-
default:
|
|
418
|
-
return 0;
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
|
-
function raiseEvent(event, browserRendererId, eventHandlerId, eventArgs, eventFieldInfo) {
|
|
422
|
-
if (preventDefaultEvents[event.type]) {
|
|
423
|
-
event.preventDefault();
|
|
424
|
-
}
|
|
425
|
-
var eventDescriptor = {
|
|
426
|
-
browserRendererId: browserRendererId,
|
|
427
|
-
eventHandlerId: eventHandlerId,
|
|
428
|
-
eventArgsType: eventArgs.type,
|
|
429
|
-
eventFieldInfo: eventFieldInfo,
|
|
430
|
-
};
|
|
431
|
-
RendererEventDispatcher_1.dispatchEvent(eventDescriptor, eventArgs.data);
|
|
432
|
-
}
|
|
433
|
-
function clearElement(element) {
|
|
434
|
-
var childNode;
|
|
435
|
-
while ((childNode = element.firstChild)) {
|
|
436
|
-
element.removeChild(childNode);
|
|
437
|
-
}
|
|
438
|
-
}
|
|
439
|
-
function clearBetween(start, end) {
|
|
440
|
-
var logicalParent = LogicalElements_1.getLogicalParent(start);
|
|
441
|
-
if (!logicalParent) {
|
|
442
|
-
throw new Error("Can't clear between nodes. The start node does not have a logical parent.");
|
|
443
|
-
}
|
|
444
|
-
var children = LogicalElements_1.getLogicalChildrenArray(logicalParent);
|
|
445
|
-
var removeStart = children.indexOf(start) + 1;
|
|
446
|
-
var endIndex = children.indexOf(end);
|
|
447
|
-
// We remove the end component comment from the DOM as we don't need it after this point.
|
|
448
|
-
for (var i = removeStart; i <= endIndex; i++) {
|
|
449
|
-
LogicalElements_1.removeLogicalChild(logicalParent, removeStart);
|
|
450
|
-
}
|
|
451
|
-
// We sanitize the start comment by removing all the information from it now that we don't need it anymore
|
|
452
|
-
// as it adds noise to the DOM.
|
|
453
|
-
start.textContent = '!';
|
|
454
|
-
}
|
|
455
|
-
function stripOnPrefix(attributeName) {
|
|
456
|
-
if (attributeName.startsWith('on')) {
|
|
457
|
-
return attributeName.substring(2);
|
|
458
|
-
}
|
|
459
|
-
throw new Error("Attribute should be an event name, but doesn't start with 'on'. Value: '" + attributeName + "'");
|
|
460
|
-
}
|
|
461
|
-
//# sourceMappingURL=BrowserRenderer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserRenderer.js","sourceRoot":"","sources":["../../../src/internal/Rendering/BrowserRenderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function applyCaptureIdToElement(element: Element, referenceCaptureId: string): void;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.applyCaptureIdToElement = void 0;
|
|
4
|
-
function applyCaptureIdToElement(element, referenceCaptureId) {
|
|
5
|
-
element.setAttribute(getCaptureIdAttributeName(referenceCaptureId), '');
|
|
6
|
-
}
|
|
7
|
-
exports.applyCaptureIdToElement = applyCaptureIdToElement;
|
|
8
|
-
function getElementByCaptureId(referenceCaptureId) {
|
|
9
|
-
var selector = "[" + getCaptureIdAttributeName(referenceCaptureId) + "]";
|
|
10
|
-
return document.querySelector(selector);
|
|
11
|
-
}
|
|
12
|
-
function getCaptureIdAttributeName(referenceCaptureId) {
|
|
13
|
-
return "_bl_" + referenceCaptureId;
|
|
14
|
-
}
|
|
15
|
-
// Support receiving ElementRef instances as args in interop calls
|
|
16
|
-
var elementRefKey = '__internalId'; // Keep in sync with ElementRef.cs
|
|
17
|
-
DotNet.attachReviver(function (key, value) {
|
|
18
|
-
if (value &&
|
|
19
|
-
typeof value === 'object' &&
|
|
20
|
-
value.hasOwnProperty(elementRefKey) &&
|
|
21
|
-
typeof value[elementRefKey] === 'string') {
|
|
22
|
-
return getElementByCaptureId(value[elementRefKey]);
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
return value;
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
//# sourceMappingURL=ElementReferenceCapture.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ElementReferenceCapture.js","sourceRoot":"","sources":["../../../src/internal/Rendering/ElementReferenceCapture.ts"],"names":[],"mappings":";;;AAAA,SAAgB,uBAAuB,CAAC,OAAgB,EAAE,kBAA0B;IAClF,OAAO,CAAC,YAAY,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1E,CAAC;AAFD,0DAEC;AAED,SAAS,qBAAqB,CAAC,kBAA0B;IACvD,IAAM,QAAQ,GAAG,MAAI,yBAAyB,CAAC,kBAAkB,CAAC,MAAG,CAAC;IACtE,OAAO,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,yBAAyB,CAAC,kBAA0B;IAC3D,OAAO,SAAO,kBAAoB,CAAC;AACrC,CAAC;AAED,kEAAkE;AAClE,IAAM,aAAa,GAAG,cAAc,CAAC,CAAC,kCAAkC;AACxE,MAAM,CAAC,aAAa,CAAC,UAAC,GAAG,EAAE,KAAK;IAC9B,IACE,KAAK;QACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC;QACnC,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,QAAQ,EACxC;QACA,OAAO,qBAAqB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;KACpD;SAAM;QACL,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { EventForDotNet, UIEventArgs } from './EventForDotNet';
|
|
2
|
-
import { EventFieldInfo } from './EventFieldInfo';
|
|
3
|
-
export interface OnEventCallback {
|
|
4
|
-
(event: Event, eventHandlerId: number, eventArgs: EventForDotNet<UIEventArgs>, eventFieldInfo: EventFieldInfo | null): void;
|
|
5
|
-
}
|
|
6
|
-
export declare class EventDelegator {
|
|
7
|
-
private onEvent;
|
|
8
|
-
private static nextEventDelegatorId;
|
|
9
|
-
private readonly eventsCollectionKey;
|
|
10
|
-
private readonly afterClickCallbacks;
|
|
11
|
-
private eventInfoStore;
|
|
12
|
-
constructor(onEvent: OnEventCallback);
|
|
13
|
-
setListener(element: Element, eventName: string, eventHandlerId: number, renderingComponentId: number): void;
|
|
14
|
-
removeListener(eventHandlerId: number): void;
|
|
15
|
-
notifyAfterClick(callback: (event: MouseEvent) => void): void;
|
|
16
|
-
setStopPropagation(element: Element, eventName: string, value: boolean): void;
|
|
17
|
-
setPreventDefault(element: Element, eventName: string, value: boolean): void;
|
|
18
|
-
private onGlobalEvent;
|
|
19
|
-
private getEventHandlerInfosForElement;
|
|
20
|
-
}
|