marko 5.25.2 → 5.25.3
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/dist/compiler/modules.js +1 -1
- package/dist/core-tags/components/preserve-tag.js +81 -0
- package/dist/core-tags/core/await/renderer.js +1 -1
- package/dist/runtime/RenderResult.js +1 -1
- package/dist/runtime/components/Component.js +9 -9
- package/dist/runtime/components/ComponentDef.js +3 -3
- package/dist/runtime/components/ComponentsContext.js +5 -5
- package/dist/runtime/components/State.js +2 -2
- package/dist/runtime/components/beginComponent/index-browser.js +3 -3
- package/dist/runtime/components/beginComponent/index.js +1 -1
- package/dist/runtime/components/endComponent/index.js +1 -1
- package/dist/runtime/components/entry/index.js +1 -1
- package/dist/runtime/components/registry/index-browser.js +6 -6
- package/dist/runtime/components/renderer.js +8 -8
- package/dist/runtime/components/util/index-browser.js +3 -3
- package/dist/runtime/components/util/index.js +1 -1
- package/dist/runtime/helpers/dynamic-tag.js +8 -8
- package/dist/runtime/helpers/render-tag.js +1 -1
- package/dist/runtime/html/AsyncStream.js +4 -4
- package/dist/runtime/vdom/AsyncVDOMBuilder.js +14 -14
- package/dist/runtime/vdom/VComponent.js +2 -2
- package/dist/runtime/vdom/VElement.js +1 -1
- package/dist/runtime/vdom/VFragment.js +1 -1
- package/dist/runtime/vdom/VNode.js +1 -1
- package/dist/runtime/vdom/morphdom/index.js +17 -17
- package/package.json +3 -3
- package/src/compiler/modules.js +1 -1
- package/src/core-tags/components/preserve-tag.js +81 -0
- package/src/core-tags/core/await/renderer.js +1 -1
- package/src/runtime/helpers/dynamic-tag.js +1 -1
- package/dist/core-tags/components/preserve-tag/index-browser.js +0 -45
- package/dist/core-tags/components/preserve-tag/index.js +0 -27
- package/dist/core-tags/components/preserve-tag/package.json +0 -11
- package/src/core-tags/components/preserve-tag/index-browser.js +0 -45
- package/src/core-tags/components/preserve-tag/index.js +0 -27
- package/src/core-tags/components/preserve-tag/package.json +0 -11
package/dist/compiler/modules.js
CHANGED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";var ComponentsContext = require("../../runtime/components/ComponentsContext");
|
|
2
|
+
var getComponentsContext = ComponentsContext.e_;
|
|
3
|
+
|
|
4
|
+
module.exports = function render(input, out) {
|
|
5
|
+
var isComponent = !input.n;
|
|
6
|
+
var shouldPreserve = !("i" in input) || input.i;
|
|
7
|
+
var componentsContext = out.b_;
|
|
8
|
+
|
|
9
|
+
if (typeof document === "object") {
|
|
10
|
+
var isHydrate =
|
|
11
|
+
componentsContext && componentsContext.f_.g_;
|
|
12
|
+
var ownerComponent = out.h_.i_;
|
|
13
|
+
var referenceComponent = ownerComponent;
|
|
14
|
+
var key = out.j_;
|
|
15
|
+
var checkKey = key;
|
|
16
|
+
|
|
17
|
+
if (key[0] !== "@") {
|
|
18
|
+
var parentComponent = componentsContext.k_.i_;
|
|
19
|
+
if (ownerComponent !== parentComponent) {
|
|
20
|
+
referenceComponent = parentComponent;
|
|
21
|
+
checkKey += ":" + ownerComponent.id;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
var isPreserved =
|
|
26
|
+
shouldPreserve && (
|
|
27
|
+
isHydrate || referenceComponent.l_[checkKey]);
|
|
28
|
+
|
|
29
|
+
if (isComponent) {
|
|
30
|
+
out.bf(key, ownerComponent, shouldPreserve);
|
|
31
|
+
|
|
32
|
+
if (!isPreserved && input.renderBody) {
|
|
33
|
+
input.renderBody(out);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
out.ef();
|
|
37
|
+
} else {
|
|
38
|
+
if (isPreserved) {
|
|
39
|
+
if (input.b) {
|
|
40
|
+
out.m_.n_ = true;
|
|
41
|
+
} else {
|
|
42
|
+
out.beginElement("", null, key, ownerComponent);
|
|
43
|
+
out.m_.o_ = true;
|
|
44
|
+
out.endElement();
|
|
45
|
+
}
|
|
46
|
+
} else if (input.renderBody) {
|
|
47
|
+
input.renderBody(out);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
} else {
|
|
51
|
+
if (isComponent) {
|
|
52
|
+
out.bf(
|
|
53
|
+
out.j_,
|
|
54
|
+
out.h_.i_,
|
|
55
|
+
true);
|
|
56
|
+
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
if (input.renderBody) {
|
|
60
|
+
if (shouldPreserve) {
|
|
61
|
+
var parentPreserved = false;
|
|
62
|
+
|
|
63
|
+
if (componentsContext) {
|
|
64
|
+
parentPreserved = componentsContext.p_;
|
|
65
|
+
} else {
|
|
66
|
+
componentsContext = getComponentsContext(out);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
componentsContext.p_ = true;
|
|
70
|
+
input.renderBody(out);
|
|
71
|
+
componentsContext.p_ = parentPreserved;
|
|
72
|
+
} else {
|
|
73
|
+
input.renderBody(out);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
if (isComponent) {
|
|
78
|
+
out.ef();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
};
|
|
@@ -81,7 +81,7 @@ const LAST_OPTIONS = { last: true, name: "await:finish" };
|
|
|
81
81
|
|
|
82
82
|
module.exports = function awaitTag(input, out) {
|
|
83
83
|
var clientReorder =
|
|
84
|
-
typeof
|
|
84
|
+
typeof document === "undefined" &&
|
|
85
85
|
input.clientReorder === true &&
|
|
86
86
|
!out.isVDOM;
|
|
87
87
|
|
|
@@ -37,7 +37,7 @@ var proto = RenderResult.prototype = {
|
|
|
37
37
|
var components = [];
|
|
38
38
|
|
|
39
39
|
componentDefs.forEach(function (componentDef) {
|
|
40
|
-
var component = componentDef.
|
|
40
|
+
var component = componentDef.i_;
|
|
41
41
|
if (!selector || selector(component)) {
|
|
42
42
|
components.push(component);
|
|
43
43
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
var domInsert = require("../dom-insert");
|
|
7
7
|
var defaultCreateOut = require("../createOut");
|
|
8
8
|
var getComponentsContext =
|
|
9
|
-
require("./ComponentsContext").
|
|
9
|
+
require("./ComponentsContext").e_;
|
|
10
10
|
var componentsUtil = require("./util");
|
|
11
11
|
var componentLookup = componentsUtil.D_;
|
|
12
12
|
var destroyNodeRecursive = componentsUtil.E_;
|
|
@@ -189,10 +189,10 @@ function Component(id) {
|
|
|
189
189
|
var ssrKeyedElements = keyedElementsByComponentId[id];
|
|
190
190
|
|
|
191
191
|
if (ssrKeyedElements) {
|
|
192
|
-
this.
|
|
192
|
+
this.l_ = ssrKeyedElements;
|
|
193
193
|
delete keyedElementsByComponentId[id];
|
|
194
194
|
} else {
|
|
195
|
-
this.
|
|
195
|
+
this.l_ = {};
|
|
196
196
|
}
|
|
197
197
|
}
|
|
198
198
|
|
|
@@ -248,7 +248,7 @@ Component.prototype = componentProto = {
|
|
|
248
248
|
getEl: function (key, index) {
|
|
249
249
|
if (key) {
|
|
250
250
|
var keyedElement =
|
|
251
|
-
this.
|
|
251
|
+
this.l_["@" + resolveKeyHelper(key, index)];
|
|
252
252
|
|
|
253
253
|
// eslint-disable-next-line no-constant-condition
|
|
254
254
|
|
|
@@ -280,7 +280,7 @@ Component.prototype = componentProto = {
|
|
|
280
280
|
return els;
|
|
281
281
|
},
|
|
282
282
|
getComponent: function (key, index) {
|
|
283
|
-
var rootNode = this.
|
|
283
|
+
var rootNode = this.l_["@" + resolveKeyHelper(key, index)];
|
|
284
284
|
// eslint-disable-next-line no-constant-condition
|
|
285
285
|
|
|
286
286
|
|
|
@@ -293,7 +293,7 @@ Component.prototype = componentProto = {
|
|
|
293
293
|
return rootNode && componentsByDOMNode.get(rootNode);
|
|
294
294
|
},
|
|
295
295
|
getComponents: function (key) {
|
|
296
|
-
var lookup = this.
|
|
296
|
+
var lookup = this.l_["@" + key + "[]"];
|
|
297
297
|
return lookup ?
|
|
298
298
|
Object.keys(lookup).
|
|
299
299
|
map(function (key) {
|
|
@@ -324,7 +324,7 @@ Component.prototype = componentProto = {
|
|
|
324
324
|
root.detached = true;
|
|
325
325
|
|
|
326
326
|
delete componentLookup[this.id];
|
|
327
|
-
this.
|
|
327
|
+
this.l_ = {};
|
|
328
328
|
},
|
|
329
329
|
|
|
330
330
|
___: function () {
|
|
@@ -544,9 +544,9 @@ Component.prototype = componentProto = {
|
|
|
544
544
|
out[CONTEXT_KEY] = this._i_;
|
|
545
545
|
|
|
546
546
|
var componentsContext = getComponentsContext(out);
|
|
547
|
-
var globalComponentsContext = componentsContext.
|
|
547
|
+
var globalComponentsContext = componentsContext.f_;
|
|
548
548
|
globalComponentsContext._r_ = this;
|
|
549
|
-
globalComponentsContext.
|
|
549
|
+
globalComponentsContext.g_ = isHydrate;
|
|
550
550
|
|
|
551
551
|
renderer(input, out);
|
|
552
552
|
|
|
@@ -19,7 +19,7 @@ var FLAG_HAS_RENDER_BODY = 2;
|
|
|
19
19
|
*/
|
|
20
20
|
function ComponentDef(component, componentId, componentsContext) {
|
|
21
21
|
this._F_ = componentsContext; // The AsyncWriter that this component is associated with
|
|
22
|
-
this.
|
|
22
|
+
this.i_ = component;
|
|
23
23
|
this.id = componentId;
|
|
24
24
|
|
|
25
25
|
this._G_ = undefined; // An array of DOM events that need to be added (in sets of three)
|
|
@@ -80,7 +80,7 @@ ComponentDef.prototype = {
|
|
|
80
80
|
},
|
|
81
81
|
|
|
82
82
|
get _O_() {
|
|
83
|
-
return this.
|
|
83
|
+
return this.i_._O_;
|
|
84
84
|
}
|
|
85
85
|
};
|
|
86
86
|
|
|
@@ -146,7 +146,7 @@ ComponentDef._P_ = function (o, types, global, registry) {
|
|
|
146
146
|
|
|
147
147
|
return {
|
|
148
148
|
id: id,
|
|
149
|
-
|
|
149
|
+
i_: component,
|
|
150
150
|
_G_: extra.d,
|
|
151
151
|
_J_: extra.f || 0
|
|
152
152
|
};
|
|
@@ -6,8 +6,8 @@ function ComponentsContext(out, parentComponentsContext) {
|
|
|
6
6
|
var componentDef;
|
|
7
7
|
|
|
8
8
|
if (parentComponentsContext) {
|
|
9
|
-
globalComponentsContext = parentComponentsContext.
|
|
10
|
-
componentDef = parentComponentsContext.
|
|
9
|
+
globalComponentsContext = parentComponentsContext.f_;
|
|
10
|
+
componentDef = parentComponentsContext.k_;
|
|
11
11
|
|
|
12
12
|
var nestedContextsForParent;
|
|
13
13
|
if (
|
|
@@ -25,10 +25,10 @@ function ComponentsContext(out, parentComponentsContext) {
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
this.
|
|
28
|
+
this.f_ = globalComponentsContext;
|
|
29
29
|
this.b_ = [];
|
|
30
30
|
this.z_ = out;
|
|
31
|
-
this.
|
|
31
|
+
this.k_ = componentDef;
|
|
32
32
|
this._R_ = undefined;
|
|
33
33
|
this.p_ =
|
|
34
34
|
parentComponentsContext && parentComponentsContext.p_;
|
|
@@ -56,4 +56,4 @@ function getComponentsContext(out) {
|
|
|
56
56
|
|
|
57
57
|
module.exports = exports = ComponentsContext;
|
|
58
58
|
|
|
59
|
-
exports.
|
|
59
|
+
exports.e_ = getComponentsContext;
|
|
@@ -15,7 +15,7 @@ function ensure(state, propertyName) {
|
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
function State(component) {
|
|
18
|
-
this.
|
|
18
|
+
this.i_ = component;
|
|
19
19
|
this._v_ = {};
|
|
20
20
|
|
|
21
21
|
this.W_ = false;
|
|
@@ -84,7 +84,7 @@ State.prototype = {
|
|
|
84
84
|
this._m_ = rawState;
|
|
85
85
|
this._v_ = rawState = extend({}, rawState);
|
|
86
86
|
this._l_ = {};
|
|
87
|
-
this.
|
|
87
|
+
this.i_._f_();
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
this._l_[name] = value;
|
|
@@ -7,17 +7,17 @@ key,
|
|
|
7
7
|
ownerComponentDef)
|
|
8
8
|
{
|
|
9
9
|
var componentId = component.id;
|
|
10
|
-
var componentDef = componentsContext.
|
|
10
|
+
var componentDef = componentsContext.k_ = new ComponentDef(
|
|
11
11
|
component,
|
|
12
12
|
componentId,
|
|
13
13
|
componentsContext);
|
|
14
14
|
|
|
15
|
-
componentsContext.
|
|
15
|
+
componentsContext.f_._V_[
|
|
16
16
|
componentId] =
|
|
17
17
|
true;
|
|
18
18
|
componentsContext.b_.push(componentDef);
|
|
19
19
|
|
|
20
20
|
var out = componentsContext.z_;
|
|
21
|
-
out.bc(component, key, ownerComponentDef && ownerComponentDef.
|
|
21
|
+
out.bc(component, key, ownerComponentDef && ownerComponentDef.i_);
|
|
22
22
|
return componentDef;
|
|
23
23
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var ComponentsContext = require("../ComponentsContext");
|
|
4
|
-
var getComponentsContext = ComponentsContext.
|
|
4
|
+
var getComponentsContext = ComponentsContext.e_;
|
|
5
5
|
|
|
6
6
|
module.exports = function endComponent(out, componentDef) {
|
|
7
7
|
if (componentDef._I_) {
|
|
@@ -63,7 +63,7 @@ function addComponentsFromContext(componentsContext, componentsToHydrate) {
|
|
|
63
63
|
for (var i = 0; i < len; i++) {
|
|
64
64
|
var componentDef = components[i];
|
|
65
65
|
var id = componentDef.id;
|
|
66
|
-
var component = componentDef.
|
|
66
|
+
var component = componentDef.i_;
|
|
67
67
|
var flags = componentDef._J_;
|
|
68
68
|
var input = component.input || 0;
|
|
69
69
|
var typeName = component.typeName;
|
|
@@ -186,7 +186,7 @@ function indexServerComponentBoundaries(node, runtimeId, stack) {
|
|
|
186
186
|
ownerId = parts[1];
|
|
187
187
|
componentId = parts[0];
|
|
188
188
|
if (ownerComponent = componentLookup[ownerId]) {
|
|
189
|
-
keyedElements = ownerComponent.
|
|
189
|
+
keyedElements = ownerComponent.l_;
|
|
190
190
|
} else {
|
|
191
191
|
keyedElements =
|
|
192
192
|
keyedElementsByComponentId[ownerId] || (
|
|
@@ -215,7 +215,7 @@ function indexServerComponentBoundaries(node, runtimeId, stack) {
|
|
|
215
215
|
ownerId = markoKey.substring(separatorIndex + 1);
|
|
216
216
|
markoKey = markoKey.substring(0, separatorIndex);
|
|
217
217
|
if (ownerComponent = componentLookup[ownerId]) {
|
|
218
|
-
keyedElements = ownerComponent.
|
|
218
|
+
keyedElements = ownerComponent.l_;
|
|
219
219
|
} else {
|
|
220
220
|
keyedElements =
|
|
221
221
|
keyedElementsByComponentId[ownerId] || (
|
|
@@ -288,7 +288,7 @@ handles)
|
|
|
288
288
|
}
|
|
289
289
|
|
|
290
290
|
function initComponent(componentDef, host) {
|
|
291
|
-
var component = componentDef.
|
|
291
|
+
var component = componentDef.i_;
|
|
292
292
|
|
|
293
293
|
component.J_();
|
|
294
294
|
component.Y_ = host;
|
|
@@ -308,7 +308,7 @@ function initComponent(componentDef, host) {
|
|
|
308
308
|
|
|
309
309
|
var eventType = domEventArgs[0];
|
|
310
310
|
var targetMethodName = domEventArgs[1];
|
|
311
|
-
var eventEl = component.
|
|
311
|
+
var eventEl = component.l_[domEventArgs[2]];
|
|
312
312
|
var isOnce = domEventArgs[3];
|
|
313
313
|
var extraArgs = domEventArgs[4];
|
|
314
314
|
|
|
@@ -524,7 +524,7 @@ function tryHydrateComponent(rawDef, meta, host, runtimeId) {
|
|
|
524
524
|
|
|
525
525
|
function hydrateComponentAndGetMount(componentDef, host) {
|
|
526
526
|
var componentId = componentDef.id;
|
|
527
|
-
var component = componentDef.
|
|
527
|
+
var component = componentDef.i_;
|
|
528
528
|
var rootNode = serverComponentRootNodes[componentId];
|
|
529
529
|
var renderResult;
|
|
530
530
|
|
|
@@ -552,7 +552,7 @@ function hydrateComponentAndGetMount(componentDef, host) {
|
|
|
552
552
|
}
|
|
553
553
|
|
|
554
554
|
function trackComponent(componentDef) {
|
|
555
|
-
var component = componentDef.
|
|
555
|
+
var component = componentDef.i_;
|
|
556
556
|
if (component) {
|
|
557
557
|
componentLookup[component.id] = component;
|
|
558
558
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
var componentLookup = componentsUtil.D_;
|
|
3
3
|
|
|
4
4
|
var ComponentsContext = require("./ComponentsContext");
|
|
5
|
-
var getComponentsContext = ComponentsContext.
|
|
5
|
+
var getComponentsContext = ComponentsContext.e_;
|
|
6
6
|
var registry = require("./registry");
|
|
7
7
|
var copyProps = require("raptor-util/copyProps");
|
|
8
8
|
var isServer = componentsUtil.au_ === true;
|
|
@@ -40,8 +40,8 @@ function handleBeginAsync(event) {
|
|
|
40
40
|
}
|
|
41
41
|
// Carry along the component arguments
|
|
42
42
|
asyncOut.c(
|
|
43
|
-
parentOut.
|
|
44
|
-
parentOut.
|
|
43
|
+
parentOut.h_,
|
|
44
|
+
parentOut.j_,
|
|
45
45
|
parentOut.av_);
|
|
46
46
|
|
|
47
47
|
}
|
|
@@ -80,17 +80,17 @@ renderingLogic)
|
|
|
80
80
|
trackAsyncComponents(out);
|
|
81
81
|
|
|
82
82
|
var componentsContext = getComponentsContext(out);
|
|
83
|
-
var globalComponentsContext = componentsContext.
|
|
83
|
+
var globalComponentsContext = componentsContext.f_;
|
|
84
84
|
|
|
85
85
|
var component = globalComponentsContext._r_;
|
|
86
86
|
var isRerender = component !== undefined;
|
|
87
87
|
var id;
|
|
88
88
|
var isExisting;
|
|
89
89
|
var customEvents;
|
|
90
|
-
var parentComponentDef = componentsContext.
|
|
91
|
-
var ownerComponentDef = out.
|
|
90
|
+
var parentComponentDef = componentsContext.k_;
|
|
91
|
+
var ownerComponentDef = out.h_;
|
|
92
92
|
var ownerComponentId = ownerComponentDef && ownerComponentDef.id;
|
|
93
|
-
var key = out.
|
|
93
|
+
var key = out.j_;
|
|
94
94
|
|
|
95
95
|
if (component) {
|
|
96
96
|
// If component is provided then we are currently rendering
|
|
@@ -225,7 +225,7 @@ renderingLogic)
|
|
|
225
225
|
|
|
226
226
|
|
|
227
227
|
endComponent(out, componentDef);
|
|
228
|
-
componentsContext.
|
|
228
|
+
componentsContext.k_ = parentComponentDef;
|
|
229
229
|
};
|
|
230
230
|
}
|
|
231
231
|
|
|
@@ -51,13 +51,13 @@ function destroyNodeRecursive(node, component) {
|
|
|
51
51
|
var key;
|
|
52
52
|
|
|
53
53
|
if (component && (key = keysByDOMNode.get(node))) {
|
|
54
|
-
if (node === component.
|
|
54
|
+
if (node === component.l_[key]) {
|
|
55
55
|
if (componentsByDOMNode.get(node) && /\[\]$/.test(key)) {
|
|
56
|
-
delete component.
|
|
56
|
+
delete component.l_[key][
|
|
57
57
|
componentsByDOMNode.get(node).id];
|
|
58
58
|
|
|
59
59
|
} else {
|
|
60
|
-
delete component.
|
|
60
|
+
delete component.l_[key];
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
var changeCase = require("./_change-case");
|
|
5
5
|
var ComponentsContext = require("../components/ComponentsContext");
|
|
6
|
-
var getComponentsContext = ComponentsContext.
|
|
6
|
+
var getComponentsContext = ComponentsContext.e_;
|
|
7
7
|
var ComponentDef = require("../components/ComponentDef");
|
|
8
8
|
var w10NOOP = require("warp10/constants").NOOP;
|
|
9
9
|
var RENDER_BODY_TO_JSON = function () {
|
|
@@ -12,7 +12,7 @@ var RENDER_BODY_TO_JSON = function () {
|
|
|
12
12
|
|
|
13
13
|
var FLAG_WILL_RERENDER_IN_BROWSER = 1;
|
|
14
14
|
// var FLAG_HAS_RENDER_BODY = 2;
|
|
15
|
-
var IS_SERVER = typeof
|
|
15
|
+
var IS_SERVER = typeof document === "undefined";
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* Helper to render a dynamic tag
|
|
@@ -34,7 +34,7 @@ customEvents)
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
var attrs = getAttrs && getAttrs();
|
|
37
|
-
var component = componentDef && componentDef.
|
|
37
|
+
var component = componentDef && componentDef.i_;
|
|
38
38
|
if (typeof tag === "string") {
|
|
39
39
|
if (renderBody) {
|
|
40
40
|
out.aJ_(
|
|
@@ -83,7 +83,7 @@ customEvents)
|
|
|
83
83
|
if (renderer) {
|
|
84
84
|
out.c(componentDef, key, customEvents);
|
|
85
85
|
renderer(attrs, out);
|
|
86
|
-
out.
|
|
86
|
+
out.h_ = null;
|
|
87
87
|
} else {
|
|
88
88
|
var render = tag && tag.renderBody || tag;
|
|
89
89
|
var isFn = typeof render === "function";
|
|
@@ -104,9 +104,9 @@ customEvents)
|
|
|
104
104
|
out.bf(key, component, preserve);
|
|
105
105
|
if (!isW10NOOP && isFn) {
|
|
106
106
|
var componentsContext = getComponentsContext(out);
|
|
107
|
-
var parentComponentDef = componentsContext.
|
|
108
|
-
var globalContext = componentsContext.
|
|
109
|
-
componentsContext.
|
|
107
|
+
var parentComponentDef = componentsContext.k_;
|
|
108
|
+
var globalContext = componentsContext.f_;
|
|
109
|
+
componentsContext.k_ = new ComponentDef(
|
|
110
110
|
component,
|
|
111
111
|
parentComponentDef.id + "-" + parentComponentDef._M_(key),
|
|
112
112
|
globalContext);
|
|
@@ -119,7 +119,7 @@ customEvents)
|
|
|
119
119
|
render(out, attrs);
|
|
120
120
|
}
|
|
121
121
|
|
|
122
|
-
componentsContext.
|
|
122
|
+
componentsContext.k_ = parentComponentDef;
|
|
123
123
|
}
|
|
124
124
|
out.ef();
|
|
125
125
|
} else {
|
|
@@ -91,8 +91,8 @@ function AsyncStream(global, writer, parentOut) {
|
|
|
91
91
|
|
|
92
92
|
this.b_ = null; // ComponentsContext
|
|
93
93
|
|
|
94
|
-
this.
|
|
95
|
-
this.
|
|
94
|
+
this.h_ = null;
|
|
95
|
+
this.j_ = null;
|
|
96
96
|
this.av_ = null;
|
|
97
97
|
this.aN_ = false;
|
|
98
98
|
}
|
|
@@ -650,8 +650,8 @@ var proto = AsyncStream.prototype = {
|
|
|
650
650
|
},
|
|
651
651
|
|
|
652
652
|
c: function (componentDef, key, customEvents) {
|
|
653
|
-
this.
|
|
654
|
-
this.
|
|
653
|
+
this.h_ = componentDef;
|
|
654
|
+
this.j_ = key;
|
|
655
655
|
this.av_ = customEvents;
|
|
656
656
|
}
|
|
657
657
|
};
|
|
@@ -39,15 +39,15 @@ function AsyncVDOMBuilder(globalData, parentNode, parentOut) {
|
|
|
39
39
|
|
|
40
40
|
this.data = {};
|
|
41
41
|
this.K_ = state;
|
|
42
|
-
this.
|
|
42
|
+
this.m_ = parentNode;
|
|
43
43
|
this.global = globalData || {};
|
|
44
44
|
this.bl_ = [parentNode];
|
|
45
45
|
this.bm_ = false;
|
|
46
46
|
this.bn_ = undefined;
|
|
47
47
|
this.b_ = null;
|
|
48
48
|
|
|
49
|
-
this.
|
|
50
|
-
this.
|
|
49
|
+
this.h_ = null;
|
|
50
|
+
this.j_ = null;
|
|
51
51
|
this.av_ = null;
|
|
52
52
|
}
|
|
53
53
|
|
|
@@ -66,10 +66,10 @@ var proto = AsyncVDOMBuilder.prototype = {
|
|
|
66
66
|
},
|
|
67
67
|
|
|
68
68
|
bo_: function (child, childCount, pushToStack) {
|
|
69
|
-
this.
|
|
69
|
+
this.m_.bp_(child);
|
|
70
70
|
if (pushToStack === true) {
|
|
71
71
|
this.bl_.push(child);
|
|
72
|
-
this.
|
|
72
|
+
this.m_ = child;
|
|
73
73
|
}
|
|
74
74
|
return childCount === 0 ? this : child;
|
|
75
75
|
},
|
|
@@ -92,7 +92,7 @@ var proto = AsyncVDOMBuilder.prototype = {
|
|
|
92
92
|
tagName,
|
|
93
93
|
attrsHelper(attrs),
|
|
94
94
|
key,
|
|
95
|
-
componentDef.
|
|
95
|
+
componentDef.i_,
|
|
96
96
|
0,
|
|
97
97
|
0,
|
|
98
98
|
props);
|
|
@@ -110,7 +110,7 @@ var proto = AsyncVDOMBuilder.prototype = {
|
|
|
110
110
|
},
|
|
111
111
|
|
|
112
112
|
node: function (node) {
|
|
113
|
-
this.
|
|
113
|
+
this.m_.bp_(node);
|
|
114
114
|
return this;
|
|
115
115
|
},
|
|
116
116
|
|
|
@@ -129,7 +129,7 @@ var proto = AsyncVDOMBuilder.prototype = {
|
|
|
129
129
|
text = text.toString();
|
|
130
130
|
}
|
|
131
131
|
|
|
132
|
-
this.
|
|
132
|
+
this.m_.bp_(new VText(text, ownerComponent));
|
|
133
133
|
return this;
|
|
134
134
|
},
|
|
135
135
|
|
|
@@ -169,7 +169,7 @@ var proto = AsyncVDOMBuilder.prototype = {
|
|
|
169
169
|
tagName,
|
|
170
170
|
attrsHelper(attrs),
|
|
171
171
|
key,
|
|
172
|
-
componentDef.
|
|
172
|
+
componentDef.i_,
|
|
173
173
|
0,
|
|
174
174
|
0,
|
|
175
175
|
props);
|
|
@@ -189,11 +189,11 @@ var proto = AsyncVDOMBuilder.prototype = {
|
|
|
189
189
|
endElement: function () {
|
|
190
190
|
var stack = this.bl_;
|
|
191
191
|
stack.pop();
|
|
192
|
-
this.
|
|
192
|
+
this.m_ = stack[stack.length - 1];
|
|
193
193
|
},
|
|
194
194
|
|
|
195
195
|
end: function () {
|
|
196
|
-
this.
|
|
196
|
+
this.m_ = undefined;
|
|
197
197
|
|
|
198
198
|
var remaining = --this.bh_;
|
|
199
199
|
var parentOut = this.bk_;
|
|
@@ -283,7 +283,7 @@ var proto = AsyncVDOMBuilder.prototype = {
|
|
|
283
283
|
|
|
284
284
|
this.bh_++;
|
|
285
285
|
|
|
286
|
-
var documentFragment = this.
|
|
286
|
+
var documentFragment = this.m_.bu_();
|
|
287
287
|
var asyncOut = new AsyncVDOMBuilder(this.global, documentFragment, this);
|
|
288
288
|
|
|
289
289
|
state.be_.emit("beginAsync", {
|
|
@@ -435,8 +435,8 @@ var proto = AsyncVDOMBuilder.prototype = {
|
|
|
435
435
|
isVDOM: true,
|
|
436
436
|
|
|
437
437
|
c: function (componentDef, key, customEvents) {
|
|
438
|
-
this.
|
|
439
|
-
this.
|
|
438
|
+
this.h_ = componentDef;
|
|
439
|
+
this.j_ = key;
|
|
440
440
|
this.av_ = customEvents;
|
|
441
441
|
}
|
|
442
442
|
};
|
|
@@ -4,8 +4,8 @@ var inherit = require("raptor-util/inherit");
|
|
|
4
4
|
function VComponent(component, key, ownerComponent, preserve) {
|
|
5
5
|
this.bx_(null /* childCount */, ownerComponent);
|
|
6
6
|
this.by_ = key;
|
|
7
|
-
this.
|
|
8
|
-
this.
|
|
7
|
+
this.i_ = component;
|
|
8
|
+
this.o_ = preserve;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
VComponent.prototype = {
|
|
@@ -8,7 +8,7 @@ var createFragmentNode = require("./morphdom/fragment").ap_;
|
|
|
8
8
|
function VFragment(key, ownerComponent, preserve) {
|
|
9
9
|
this.bx_(null /* childCount */, ownerComponent);
|
|
10
10
|
this.by_ = key;
|
|
11
|
-
this.
|
|
11
|
+
this.o_ = preserve;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
VFragment.prototype = {
|
|
@@ -62,8 +62,8 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
|
62
62
|
var keySequences = Object.create(null);
|
|
63
63
|
|
|
64
64
|
if (componentsContext) {
|
|
65
|
-
globalComponentsContext = componentsContext.
|
|
66
|
-
isHydrate = globalComponentsContext.
|
|
65
|
+
globalComponentsContext = componentsContext.f_;
|
|
66
|
+
isHydrate = globalComponentsContext.g_;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
function insertVirtualNodeBefore(
|
|
@@ -83,7 +83,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
|
83
83
|
{
|
|
84
84
|
if (key) {
|
|
85
85
|
keysByDOMNode.set(realNode, key);
|
|
86
|
-
(isAutoKey(key) ? parentComponent : ownerComponent).
|
|
86
|
+
(isAutoKey(key) ? parentComponent : ownerComponent).l_[
|
|
87
87
|
key] =
|
|
88
88
|
realNode;
|
|
89
89
|
}
|
|
@@ -115,7 +115,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
|
115
115
|
if (key && ownerComponent) {
|
|
116
116
|
key = normalizeComponentKey(key, parentComponent.id);
|
|
117
117
|
addComponentRootToKeyedElements(
|
|
118
|
-
ownerComponent.
|
|
118
|
+
ownerComponent.l_,
|
|
119
119
|
key,
|
|
120
120
|
rootNode,
|
|
121
121
|
component.id);
|
|
@@ -175,7 +175,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
|
175
175
|
var referenceComponent;
|
|
176
176
|
|
|
177
177
|
if (curToNodeType === COMPONENT_NODE) {
|
|
178
|
-
var component = curToNodeChild.
|
|
178
|
+
var component = curToNodeChild.i_;
|
|
179
179
|
if (
|
|
180
180
|
(matchingFromComponent = existingComponentLookup[component.id]) ===
|
|
181
181
|
undefined)
|
|
@@ -191,7 +191,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
|
191
191
|
parentComponent.id);
|
|
192
192
|
|
|
193
193
|
addComponentRootToKeyedElements(
|
|
194
|
-
ownerComponent.
|
|
194
|
+
ownerComponent.l_,
|
|
195
195
|
curToNodeKey,
|
|
196
196
|
rootNode,
|
|
197
197
|
component.id);
|
|
@@ -242,7 +242,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
|
242
242
|
curFromNodeChild && nextSibling(curFromNodeChild);
|
|
243
243
|
}
|
|
244
244
|
|
|
245
|
-
if (!curToNodeChild.
|
|
245
|
+
if (!curToNodeChild.o_) {
|
|
246
246
|
morphComponent(component, curToNodeChild);
|
|
247
247
|
}
|
|
248
248
|
}
|
|
@@ -278,7 +278,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
|
278
278
|
|
|
279
279
|
if (curFromNodeKey === curToNodeKey) {
|
|
280
280
|
// Elements line up. Now we just have to make sure they are compatible
|
|
281
|
-
if (!curToNodeChild.
|
|
281
|
+
if (!curToNodeChild.o_) {
|
|
282
282
|
// We just skip over the fromNode if it is preserved
|
|
283
283
|
|
|
284
284
|
if (compareNodeNames(curToNodeChild, curVFromNodeChild)) {
|
|
@@ -304,7 +304,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
|
304
304
|
}
|
|
305
305
|
}
|
|
306
306
|
} else {
|
|
307
|
-
matchingFromEl = referenceComponent.
|
|
307
|
+
matchingFromEl = referenceComponent.l_[curToNodeKey];
|
|
308
308
|
if (
|
|
309
309
|
matchingFromEl === undefined ||
|
|
310
310
|
matchingFromEl === curFromNodeChild)
|
|
@@ -312,7 +312,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
|
312
312
|
if (isHydrate === true && curFromNodeChild) {
|
|
313
313
|
if (
|
|
314
314
|
curFromNodeChild.nodeType === ELEMENT_NODE && (
|
|
315
|
-
curToNodeChild.
|
|
315
|
+
curToNodeChild.o_ ||
|
|
316
316
|
caseInsensitiveCompare(
|
|
317
317
|
curFromNodeChild.nodeName,
|
|
318
318
|
curToNodeChild.bF_ || "")))
|
|
@@ -321,10 +321,10 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
|
321
321
|
curVFromNodeChild = virtualizeElement(curFromNodeChild);
|
|
322
322
|
curVFromNodeChild.bF_ = curToNodeChild.bF_;
|
|
323
323
|
keysByDOMNode.set(curFromNodeChild, curToNodeKey);
|
|
324
|
-
referenceComponent.
|
|
324
|
+
referenceComponent.l_[curToNodeKey] =
|
|
325
325
|
curFromNodeChild;
|
|
326
326
|
|
|
327
|
-
if (curToNodeChild.
|
|
327
|
+
if (curToNodeChild.o_) {
|
|
328
328
|
vElementByDOMNode.set(curFromNodeChild, curVFromNodeChild);
|
|
329
329
|
} else {
|
|
330
330
|
morphEl(
|
|
@@ -372,11 +372,11 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
|
372
372
|
|
|
373
373
|
keysByDOMNode.set(fragment, curToNodeKey);
|
|
374
374
|
vElementByDOMNode.set(fragment, curToNodeChild);
|
|
375
|
-
referenceComponent.
|
|
375
|
+
referenceComponent.l_[curToNodeKey] = fragment;
|
|
376
376
|
removeChild(curFromNodeChild);
|
|
377
377
|
removeChild(endNode);
|
|
378
378
|
|
|
379
|
-
if (!curToNodeChild.
|
|
379
|
+
if (!curToNodeChild.o_) {
|
|
380
380
|
morphChildren(fragment, curToNodeChild, parentComponent);
|
|
381
381
|
}
|
|
382
382
|
|
|
@@ -401,7 +401,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
|
401
401
|
detachedByDOMNode.set(matchingFromEl, undefined);
|
|
402
402
|
}
|
|
403
403
|
|
|
404
|
-
if (!curToNodeChild.
|
|
404
|
+
if (!curToNodeChild.o_) {
|
|
405
405
|
curVFromNodeChild = vElementByDOMNode.get(matchingFromEl);
|
|
406
406
|
|
|
407
407
|
if (compareNodeNames(curVFromNodeChild, curToNodeChild)) {
|
|
@@ -662,7 +662,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
|
662
662
|
|
|
663
663
|
morphAttrs(fromEl, vFromEl, toEl);
|
|
664
664
|
|
|
665
|
-
if (toEl.
|
|
665
|
+
if (toEl.n_) {
|
|
666
666
|
return;
|
|
667
667
|
}
|
|
668
668
|
|
|
@@ -681,7 +681,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
|
681
681
|
|
|
682
682
|
|
|
683
683
|
|
|
684
|
-
morphChildren(fromNode, toNode, toNode.
|
|
684
|
+
morphChildren(fromNode, toNode, toNode.i_);
|
|
685
685
|
|
|
686
686
|
detachedNodes.forEach(function (node) {
|
|
687
687
|
var detachedFromComponent = detachedByDOMNode.get(node);
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "marko",
|
|
3
|
-
"version": "5.25.
|
|
3
|
+
"version": "5.25.3",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "UI Components + streaming, async, high performance, HTML templating for Node.js and the browser.",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@marko/compiler": "^5.27.
|
|
8
|
-
"@marko/translator-default": "^5.25.
|
|
7
|
+
"@marko/compiler": "^5.27.3",
|
|
8
|
+
"@marko/translator-default": "^5.25.3",
|
|
9
9
|
"app-module-path": "^2.2.0",
|
|
10
10
|
"argly": "^1.2.0",
|
|
11
11
|
"browser-refresh-client": "1.1.4",
|
package/src/compiler/modules.js
CHANGED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
var ComponentsContext = require("../../runtime/components/ComponentsContext");
|
|
2
|
+
var getComponentsContext = ComponentsContext.___getComponentsContext;
|
|
3
|
+
|
|
4
|
+
module.exports = function render(input, out) {
|
|
5
|
+
var isComponent = !input.n;
|
|
6
|
+
var shouldPreserve = !("i" in input) || input.i;
|
|
7
|
+
var componentsContext = out.___components;
|
|
8
|
+
|
|
9
|
+
if (typeof document === "object") {
|
|
10
|
+
var isHydrate =
|
|
11
|
+
componentsContext && componentsContext.___globalContext.___isHydrate;
|
|
12
|
+
var ownerComponent = out.___assignedComponentDef.___component;
|
|
13
|
+
var referenceComponent = ownerComponent;
|
|
14
|
+
var key = out.___assignedKey;
|
|
15
|
+
var checkKey = key;
|
|
16
|
+
|
|
17
|
+
if (key[0] !== "@") {
|
|
18
|
+
var parentComponent = componentsContext.___componentDef.___component;
|
|
19
|
+
if (ownerComponent !== parentComponent) {
|
|
20
|
+
referenceComponent = parentComponent;
|
|
21
|
+
checkKey += ":" + ownerComponent.id;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
var isPreserved =
|
|
26
|
+
shouldPreserve &&
|
|
27
|
+
(isHydrate || referenceComponent.___keyedElements[checkKey]);
|
|
28
|
+
|
|
29
|
+
if (isComponent) {
|
|
30
|
+
out.bf(key, ownerComponent, shouldPreserve);
|
|
31
|
+
|
|
32
|
+
if (!isPreserved && input.renderBody) {
|
|
33
|
+
input.renderBody(out);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
out.ef();
|
|
37
|
+
} else {
|
|
38
|
+
if (isPreserved) {
|
|
39
|
+
if (input.b) {
|
|
40
|
+
out.___parent.___preserveBody = true;
|
|
41
|
+
} else {
|
|
42
|
+
out.beginElement("", null, key, ownerComponent);
|
|
43
|
+
out.___parent.___preserve = true;
|
|
44
|
+
out.endElement();
|
|
45
|
+
}
|
|
46
|
+
} else if (input.renderBody) {
|
|
47
|
+
input.renderBody(out);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
} else {
|
|
51
|
+
if (isComponent) {
|
|
52
|
+
out.bf(
|
|
53
|
+
out.___assignedKey,
|
|
54
|
+
out.___assignedComponentDef.___component,
|
|
55
|
+
true
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
if (input.renderBody) {
|
|
60
|
+
if (shouldPreserve) {
|
|
61
|
+
var parentPreserved = false;
|
|
62
|
+
|
|
63
|
+
if (componentsContext) {
|
|
64
|
+
parentPreserved = componentsContext.___isPreserved;
|
|
65
|
+
} else {
|
|
66
|
+
componentsContext = getComponentsContext(out);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
componentsContext.___isPreserved = true;
|
|
70
|
+
input.renderBody(out);
|
|
71
|
+
componentsContext.___isPreserved = parentPreserved;
|
|
72
|
+
} else {
|
|
73
|
+
input.renderBody(out);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
if (isComponent) {
|
|
78
|
+
out.ef();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
};
|
|
@@ -81,7 +81,7 @@ const LAST_OPTIONS = { last: true, name: "await:finish" };
|
|
|
81
81
|
|
|
82
82
|
module.exports = function awaitTag(input, out) {
|
|
83
83
|
var clientReorder =
|
|
84
|
-
typeof
|
|
84
|
+
typeof document === "undefined" &&
|
|
85
85
|
input.clientReorder === true &&
|
|
86
86
|
!out.isVDOM;
|
|
87
87
|
|
|
@@ -12,7 +12,7 @@ var RENDER_BODY_TO_JSON = function () {
|
|
|
12
12
|
|
|
13
13
|
var FLAG_WILL_RERENDER_IN_BROWSER = 1;
|
|
14
14
|
// var FLAG_HAS_RENDER_BODY = 2;
|
|
15
|
-
var IS_SERVER = typeof
|
|
15
|
+
var IS_SERVER = typeof document === "undefined";
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* Helper to render a dynamic tag
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";module.exports = function render(input, out) {
|
|
2
|
-
var componentsContext = out.b_;
|
|
3
|
-
var isHydrate =
|
|
4
|
-
componentsContext && componentsContext.e_.f_;
|
|
5
|
-
var ownerComponent = out.g_.h_;
|
|
6
|
-
var shouldPreserve = !("i" in input) || input.i;
|
|
7
|
-
var referenceComponent = ownerComponent;
|
|
8
|
-
var key = out.i_;
|
|
9
|
-
var checkKey = key;
|
|
10
|
-
|
|
11
|
-
if (key[0] !== "@") {
|
|
12
|
-
var parentComponent = componentsContext.j_.h_;
|
|
13
|
-
if (ownerComponent !== parentComponent) {
|
|
14
|
-
referenceComponent = parentComponent;
|
|
15
|
-
checkKey += ":" + ownerComponent.id;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
var isPreserved = Boolean(
|
|
20
|
-
shouldPreserve && (
|
|
21
|
-
isHydrate || referenceComponent.k_[checkKey]));
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
if (input.n) {
|
|
25
|
-
if (isPreserved) {
|
|
26
|
-
if (input.b) {
|
|
27
|
-
out.l_.m_ = true;
|
|
28
|
-
} else {
|
|
29
|
-
out.beginElement("", null, key, ownerComponent);
|
|
30
|
-
out.l_.n_ = true;
|
|
31
|
-
out.endElement();
|
|
32
|
-
}
|
|
33
|
-
} else if (input.renderBody) {
|
|
34
|
-
input.renderBody(out);
|
|
35
|
-
}
|
|
36
|
-
} else {
|
|
37
|
-
out.bf(key, ownerComponent, shouldPreserve);
|
|
38
|
-
|
|
39
|
-
if (!isPreserved && input.renderBody) {
|
|
40
|
-
input.renderBody(out);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
out.ef();
|
|
44
|
-
}
|
|
45
|
-
};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";var ComponentsContext = require("../../../runtime/components/ComponentsContext");
|
|
2
|
-
var getComponentsContext = ComponentsContext.o_;
|
|
3
|
-
|
|
4
|
-
module.exports = function render(input, out) {
|
|
5
|
-
var shouldPreserve = Boolean(!("i" in input) || input.i);
|
|
6
|
-
var isComponent = !input.n;
|
|
7
|
-
|
|
8
|
-
if (isComponent) {
|
|
9
|
-
out.bf(out.i_, out.g_.h_, true);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
if (input.renderBody) {
|
|
13
|
-
if (shouldPreserve) {
|
|
14
|
-
var componentsContext = getComponentsContext(out);
|
|
15
|
-
var parentPreserved = componentsContext.p_;
|
|
16
|
-
componentsContext.p_ = true;
|
|
17
|
-
input.renderBody(out);
|
|
18
|
-
componentsContext.p_ = parentPreserved;
|
|
19
|
-
} else {
|
|
20
|
-
input.renderBody(out);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
if (isComponent) {
|
|
25
|
-
out.ef();
|
|
26
|
-
}
|
|
27
|
-
};
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
module.exports = function render(input, out) {
|
|
2
|
-
var componentsContext = out.___components;
|
|
3
|
-
var isHydrate =
|
|
4
|
-
componentsContext && componentsContext.___globalContext.___isHydrate;
|
|
5
|
-
var ownerComponent = out.___assignedComponentDef.___component;
|
|
6
|
-
var shouldPreserve = !("i" in input) || input.i;
|
|
7
|
-
var referenceComponent = ownerComponent;
|
|
8
|
-
var key = out.___assignedKey;
|
|
9
|
-
var checkKey = key;
|
|
10
|
-
|
|
11
|
-
if (key[0] !== "@") {
|
|
12
|
-
var parentComponent = componentsContext.___componentDef.___component;
|
|
13
|
-
if (ownerComponent !== parentComponent) {
|
|
14
|
-
referenceComponent = parentComponent;
|
|
15
|
-
checkKey += ":" + ownerComponent.id;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
var isPreserved = Boolean(
|
|
20
|
-
shouldPreserve &&
|
|
21
|
-
(isHydrate || referenceComponent.___keyedElements[checkKey])
|
|
22
|
-
);
|
|
23
|
-
|
|
24
|
-
if (input.n) {
|
|
25
|
-
if (isPreserved) {
|
|
26
|
-
if (input.b) {
|
|
27
|
-
out.___parent.___preserveBody = true;
|
|
28
|
-
} else {
|
|
29
|
-
out.beginElement("", null, key, ownerComponent);
|
|
30
|
-
out.___parent.___preserve = true;
|
|
31
|
-
out.endElement();
|
|
32
|
-
}
|
|
33
|
-
} else if (input.renderBody) {
|
|
34
|
-
input.renderBody(out);
|
|
35
|
-
}
|
|
36
|
-
} else {
|
|
37
|
-
out.bf(key, ownerComponent, shouldPreserve);
|
|
38
|
-
|
|
39
|
-
if (!isPreserved && input.renderBody) {
|
|
40
|
-
input.renderBody(out);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
out.ef();
|
|
44
|
-
}
|
|
45
|
-
};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
var ComponentsContext = require("../../../runtime/components/ComponentsContext");
|
|
2
|
-
var getComponentsContext = ComponentsContext.___getComponentsContext;
|
|
3
|
-
|
|
4
|
-
module.exports = function render(input, out) {
|
|
5
|
-
var shouldPreserve = Boolean(!("i" in input) || input.i);
|
|
6
|
-
var isComponent = !input.n;
|
|
7
|
-
|
|
8
|
-
if (isComponent) {
|
|
9
|
-
out.bf(out.___assignedKey, out.___assignedComponentDef.___component, true);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
if (input.renderBody) {
|
|
13
|
-
if (shouldPreserve) {
|
|
14
|
-
var componentsContext = getComponentsContext(out);
|
|
15
|
-
var parentPreserved = componentsContext.___isPreserved;
|
|
16
|
-
componentsContext.___isPreserved = true;
|
|
17
|
-
input.renderBody(out);
|
|
18
|
-
componentsContext.___isPreserved = parentPreserved;
|
|
19
|
-
} else {
|
|
20
|
-
input.renderBody(out);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
if (isComponent) {
|
|
25
|
-
out.ef();
|
|
26
|
-
}
|
|
27
|
-
};
|