marko 5.29.2 → 5.30.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/README.md +1 -1
- package/bin/markoc.js +18 -18
- package/dist/core-tags/core/await/renderer.js +5 -1
- package/dist/node_modules/@internal/components-beginComponent/index.js +13 -3
- package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +331 -0
- package/dist/node_modules/@internal/components-define-widget-legacy/index.js +18 -0
- package/dist/node_modules/@internal/components-define-widget-legacy/package.json +11 -0
- package/dist/node_modules/@internal/components-entry/index-browser.js +2 -2
- package/dist/node_modules/@internal/components-entry/index.js +73 -45
- package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +74 -0
- package/dist/node_modules/@internal/components-entry-legacy/index.js +15 -0
- package/dist/node_modules/@internal/components-entry-legacy/package.json +11 -0
- package/dist/node_modules/@internal/components-registry/index-browser.js +70 -43
- package/dist/node_modules/@internal/components-registry/index.js +2 -2
- package/dist/node_modules/@internal/components-util/index-browser.js +17 -17
- package/dist/node_modules/@internal/components-util/index.js +18 -8
- package/dist/node_modules/@internal/create-readable/index-browser.js +1 -1
- package/dist/node_modules/@internal/create-readable/index.js +9 -9
- package/dist/node_modules/@internal/set-immediate/index-browser.js +1 -1
- package/dist/node_modules/@internal/set-immediate/index-worker.js +2 -2
- package/dist/node_modules/@internal/set-immediate/index.js +2 -2
- package/dist/runtime/RenderResult.js +3 -3
- package/dist/runtime/components/Component.js +146 -148
- package/dist/runtime/components/ComponentDef.js +41 -27
- package/dist/runtime/components/ComponentsContext.js +6 -6
- package/dist/runtime/components/GlobalComponentsContext.js +3 -3
- package/dist/runtime/components/KeySequence.js +3 -3
- package/dist/runtime/components/ServerComponent.js +13 -13
- package/dist/runtime/components/State.js +27 -27
- package/dist/runtime/components/attach-detach.js +7 -7
- package/dist/runtime/components/defineComponent.js +5 -5
- package/dist/runtime/components/dom-data.js +6 -6
- package/dist/runtime/components/event-delegation.js +10 -10
- package/dist/runtime/components/legacy/browser.json +9 -0
- package/dist/runtime/components/legacy/defineComponent-legacy.js +32 -0
- package/dist/runtime/components/legacy/defineRenderer-legacy.js +171 -0
- package/dist/runtime/components/legacy/defineWidget-legacy.js +1 -0
- package/dist/runtime/components/legacy/dependencies/html.js +3 -0
- package/dist/runtime/components/legacy/dependencies/index.js +178 -0
- package/dist/runtime/components/legacy/dependencies/vdom.js +3 -0
- package/dist/runtime/components/legacy/index.js +1 -0
- package/dist/runtime/components/legacy/jquery.js +51 -0
- package/dist/runtime/components/legacy/ready.js +152 -0
- package/dist/runtime/components/legacy/renderer-legacy.js +230 -0
- package/dist/runtime/components/renderer.js +30 -26
- package/dist/runtime/components/update-manager.js +10 -10
- package/dist/runtime/createOut.js +1 -1
- package/dist/runtime/dom-insert.js +5 -5
- package/dist/runtime/helpers/_change-case.js +2 -2
- package/dist/runtime/helpers/dynamic-tag.js +7 -9
- package/dist/runtime/helpers/style-value.js +7 -2
- package/dist/runtime/html/AsyncStream.js +20 -20
- package/dist/runtime/html/BufferedWriter.js +2 -2
- package/dist/runtime/html/helpers/_dynamic-attr.js +2 -2
- package/dist/runtime/html/helpers/attr.js +19 -6
- package/dist/runtime/html/helpers/attrs.js +7 -0
- package/dist/runtime/html/helpers/data-marko.js +2 -2
- package/dist/runtime/html/helpers/escape-quotes.js +1 -1
- package/dist/runtime/html/helpers/escape-xml.js +1 -1
- package/dist/runtime/html/helpers/merge-attrs.js +38 -7
- package/dist/runtime/html/index.js +2 -2
- package/dist/runtime/renderable.js +9 -6
- package/dist/runtime/vdom/AsyncVDOMBuilder.js +86 -86
- package/dist/runtime/vdom/VComponent.js +3 -3
- package/dist/runtime/vdom/VDocumentFragment.js +7 -7
- package/dist/runtime/vdom/VElement.js +61 -50
- package/dist/runtime/vdom/VFragment.js +8 -8
- package/dist/runtime/vdom/VNode.js +36 -36
- package/dist/runtime/vdom/VText.js +8 -8
- package/dist/runtime/vdom/helpers/attrs.js +24 -4
- package/dist/runtime/vdom/helpers/merge-attrs.js +16 -0
- package/dist/runtime/vdom/helpers/v-element.js +1 -1
- package/dist/runtime/vdom/helpers/v-text.js +1 -1
- package/dist/runtime/vdom/hot-reload.js +19 -19
- package/dist/runtime/vdom/index.js +2 -2
- package/dist/runtime/vdom/morphdom/fragment.js +5 -5
- package/dist/runtime/vdom/morphdom/helpers.js +5 -5
- package/dist/runtime/vdom/morphdom/index.js +56 -56
- package/dist/runtime/vdom/morphdom/specialElHandlers.js +7 -7
- package/dist/runtime/vdom/preserve-attrs.js +1 -1
- package/dist/runtime/vdom/vdom.js +14 -14
- package/docs/10-awesome-marko-features.md +1 -1
- package/docs/body-content.md +3 -3
- package/docs/class-components.md +6 -6
- package/docs/cloudflare-workers.md +3 -3
- package/docs/compiler.md +5 -5
- package/docs/express.md +2 -2
- package/docs/http.md +1 -1
- package/docs/koa.md +1 -1
- package/docs/lasso.md +1 -1
- package/docs/marko-vs-react.md +2 -2
- package/docs/rendering.md +6 -6
- package/docs/rollup.md +30 -30
- package/docs/troubleshooting-streaming.md +1 -1
- package/docs/typescript.md +1 -1
- package/docs/vite.md +3 -3
- package/docs/webpack.md +25 -25
- package/docs/why-is-marko-fast.md +2 -2
- package/index.d.ts +1 -0
- package/legacy-components-browser.marko +15 -0
- package/legacy-components.js +7 -0
- package/package.json +51 -45
- package/src/compiler/config.js +1 -1
- package/src/compiler/index.js +5 -5
- package/src/core-tags/core/__flush_here_and_after__.js +1 -1
- package/src/core-tags/core/await/AsyncValue.js +1 -1
- package/src/core-tags/core/await/renderer.js +8 -4
- package/src/core-tags/core/await/reorderer-renderer.js +1 -1
- package/src/node-require/browser-refresh.js +2 -2
- package/src/node-require/index.js +2 -2
- package/src/node_modules/@internal/components-beginComponent/index.js +16 -6
- package/src/node_modules/@internal/components-define-widget-legacy/index-browser.js +331 -0
- package/src/node_modules/@internal/components-define-widget-legacy/index.js +18 -0
- package/src/node_modules/@internal/components-define-widget-legacy/package.json +11 -0
- package/src/node_modules/@internal/components-entry/index.js +65 -37
- package/src/node_modules/@internal/components-entry-legacy/index-browser.js +74 -0
- package/src/node_modules/@internal/components-entry-legacy/index.js +15 -0
- package/src/node_modules/@internal/components-entry-legacy/package.json +11 -0
- package/src/node_modules/@internal/components-registry/index-browser.js +33 -6
- package/src/node_modules/@internal/components-util/index.js +10 -0
- package/src/runtime/RenderResult.js +3 -3
- package/src/runtime/components/Component.js +16 -18
- package/src/runtime/components/ComponentDef.js +22 -8
- package/src/runtime/components/ComponentsContext.js +1 -1
- package/src/runtime/components/State.js +2 -2
- package/src/runtime/components/attach-detach.js +1 -1
- package/src/runtime/components/dom-data.js +1 -1
- package/src/runtime/components/legacy/browser.json +9 -0
- package/src/runtime/components/legacy/defineComponent-legacy.js +32 -0
- package/src/runtime/components/legacy/defineRenderer-legacy.js +171 -0
- package/src/runtime/components/legacy/defineWidget-legacy.js +1 -0
- package/src/runtime/components/legacy/dependencies/html.js +3 -0
- package/src/runtime/components/legacy/dependencies/index.js +178 -0
- package/src/runtime/components/legacy/dependencies/vdom.js +3 -0
- package/src/runtime/components/legacy/index.js +1 -0
- package/src/runtime/components/legacy/jquery.js +51 -0
- package/src/runtime/components/legacy/ready.js +152 -0
- package/src/runtime/components/legacy/renderer-legacy.js +230 -0
- package/src/runtime/components/renderer.js +4 -0
- package/src/runtime/components/update-manager.js +1 -1
- package/src/runtime/dom-insert.js +1 -1
- package/src/runtime/helpers/dynamic-tag.js +2 -4
- package/src/runtime/helpers/style-value.js +7 -2
- package/src/runtime/html/AsyncStream.js +5 -5
- package/src/runtime/html/BufferedWriter.js +1 -1
- package/src/runtime/html/StringWriter.js +1 -1
- package/src/runtime/html/helpers/attr.js +15 -2
- package/src/runtime/html/helpers/attrs.js +7 -0
- package/src/runtime/html/helpers/merge-attrs.js +38 -7
- package/src/runtime/html/hot-reload.js +1 -1
- package/src/runtime/html/index.js +2 -2
- package/src/runtime/renderable.js +5 -2
- package/src/runtime/vdom/AsyncVDOMBuilder.js +2 -2
- package/src/runtime/vdom/VComponent.js +1 -1
- package/src/runtime/vdom/VDocumentFragment.js +1 -1
- package/src/runtime/vdom/VElement.js +17 -6
- package/src/runtime/vdom/VFragment.js +1 -1
- package/src/runtime/vdom/VNode.js +1 -1
- package/src/runtime/vdom/VText.js +1 -1
- package/src/runtime/vdom/helpers/attrs.js +26 -6
- package/src/runtime/vdom/helpers/merge-attrs.js +16 -0
- package/src/runtime/vdom/hot-reload.js +1 -1
- package/src/runtime/vdom/index.js +2 -2
- package/src/runtime/vdom/morphdom/fragment.js +1 -1
- package/src/runtime/vdom/morphdom/specialElHandlers.js +1 -1
- package/src/taglib/index.js +1 -1
- package/tags-html.d.ts +9 -0
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
"use strict";var getComponentsContext =
|
|
2
|
+
require("../ComponentsContext").e_;
|
|
3
|
+
var componentsUtil = require("@internal/components-util");
|
|
4
|
+
var componentLookup = componentsUtil._o_;
|
|
5
|
+
var registry = require("@internal/components-registry");
|
|
6
|
+
var modernRenderer = require("../renderer");
|
|
7
|
+
var resolveComponentKey = modernRenderer.aU_;
|
|
8
|
+
var trackAsyncComponents = modernRenderer.aY_;
|
|
9
|
+
var beginComponent = require("@internal/components-beginComponent");
|
|
10
|
+
var endComponent = require("@internal/components-endComponent");
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
function createRendererFunc(templateRenderFunc, componentProps) {
|
|
14
|
+
var typeName = componentProps.t;
|
|
15
|
+
//var assignedId = componentProps.id;
|
|
16
|
+
var isSplit = componentProps.s === true;
|
|
17
|
+
var isImplicit = componentProps.i === true;
|
|
18
|
+
|
|
19
|
+
return function renderer(input, out, assignedId, renderingLogic) {
|
|
20
|
+
trackAsyncComponents(out);
|
|
21
|
+
|
|
22
|
+
var componentsContext = getComponentsContext(out);
|
|
23
|
+
var parentLegacyComponentDef = componentsContext.aZ_;
|
|
24
|
+
|
|
25
|
+
if (isImplicit && parentLegacyComponentDef) {
|
|
26
|
+
templateRenderFunc(
|
|
27
|
+
input,
|
|
28
|
+
out,
|
|
29
|
+
parentLegacyComponentDef,
|
|
30
|
+
parentLegacyComponentDef.i_,
|
|
31
|
+
parentLegacyComponentDef.i_.aA_,
|
|
32
|
+
out.global);
|
|
33
|
+
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
var widgetBody = input.renderBody;
|
|
38
|
+
var widgetState = input.widgetState;
|
|
39
|
+
var widgetConfig = input.widgetConfig;
|
|
40
|
+
var globalComponentsContext = componentsContext.f_;
|
|
41
|
+
var component = globalComponentsContext.ax_;
|
|
42
|
+
|
|
43
|
+
var isRerender = component !== undefined;
|
|
44
|
+
var id = assignedId;
|
|
45
|
+
var isExisting;
|
|
46
|
+
var parentComponentDef = componentsContext.k_;
|
|
47
|
+
var ownerComponentDef = out.h_;
|
|
48
|
+
var ownerComponentId = ownerComponentDef && ownerComponentDef.id;
|
|
49
|
+
var key = out.j_;
|
|
50
|
+
var customEvents = out.b__;
|
|
51
|
+
|
|
52
|
+
out.h_ = null;
|
|
53
|
+
|
|
54
|
+
if (component) {
|
|
55
|
+
id = component.id;
|
|
56
|
+
isExisting = true;
|
|
57
|
+
globalComponentsContext.ax_ = null;
|
|
58
|
+
} else {
|
|
59
|
+
if (key != null) {
|
|
60
|
+
id = id || resolveComponentKey(key.toString(), parentComponentDef);
|
|
61
|
+
} else if (parentComponentDef) {
|
|
62
|
+
id = parentComponentDef.aL_();
|
|
63
|
+
} else {
|
|
64
|
+
id = globalComponentsContext.aL_();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
if (registry._L_ && typeName) {
|
|
69
|
+
if (renderingLogic) delete renderingLogic.onRender;
|
|
70
|
+
component = registry._I_(
|
|
71
|
+
renderingLogic,
|
|
72
|
+
id,
|
|
73
|
+
input,
|
|
74
|
+
out,
|
|
75
|
+
typeName,
|
|
76
|
+
customEvents,
|
|
77
|
+
ownerComponentId);
|
|
78
|
+
|
|
79
|
+
if (isSplit || widgetState) {
|
|
80
|
+
component.input = null;
|
|
81
|
+
} else if (input.widgetProps) {
|
|
82
|
+
// eslint-disable-next-line no-constant-condition
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
component.input = input.widgetProps;
|
|
90
|
+
}
|
|
91
|
+
} else {
|
|
92
|
+
if (!component) {
|
|
93
|
+
if (isRerender) {
|
|
94
|
+
// Look in in the DOM to see if a component with the same ID and type already exists.
|
|
95
|
+
component = componentLookup[id];
|
|
96
|
+
if (component && component._s_ !== typeName) {
|
|
97
|
+
component = undefined;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
if (component) {
|
|
102
|
+
isExisting = true;
|
|
103
|
+
} else {
|
|
104
|
+
isExisting = false;
|
|
105
|
+
// We need to create a new instance of the component
|
|
106
|
+
if (typeName) {
|
|
107
|
+
component = registry._I_(typeName, id);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
var isFakeComponent = false;
|
|
114
|
+
|
|
115
|
+
if (!component) {
|
|
116
|
+
isFakeComponent = true;
|
|
117
|
+
component = {
|
|
118
|
+
id: id,
|
|
119
|
+
l_: {}
|
|
120
|
+
};
|
|
121
|
+
} else {
|
|
122
|
+
component._f_ = true;
|
|
123
|
+
|
|
124
|
+
if (widgetState) {
|
|
125
|
+
component.state = widgetState;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
component.widgetConfig = widgetConfig;
|
|
130
|
+
component._c_ = widgetBody || component._c_;
|
|
131
|
+
|
|
132
|
+
var componentDef = beginComponent(
|
|
133
|
+
componentsContext,
|
|
134
|
+
component,
|
|
135
|
+
key,
|
|
136
|
+
ownerComponentDef,
|
|
137
|
+
isSplit,
|
|
138
|
+
isFakeComponent);
|
|
139
|
+
|
|
140
|
+
componentsContext.aZ_ = componentDef;
|
|
141
|
+
|
|
142
|
+
// This is a hack, but we have to swap out the component instance stored with this node
|
|
143
|
+
var vComponentNode = out.m_;
|
|
144
|
+
|
|
145
|
+
componentDef.i_ = isFakeComponent ? null : component;
|
|
146
|
+
componentDef._w_ = isExisting;
|
|
147
|
+
componentDef.F_ = true;
|
|
148
|
+
|
|
149
|
+
componentDef.t = function (typeName) {
|
|
150
|
+
if (typeName) {
|
|
151
|
+
if (registry._L_) {
|
|
152
|
+
var oldComponent = component;
|
|
153
|
+
if (renderingLogic) delete renderingLogic.onRender;
|
|
154
|
+
component = registry._I_(
|
|
155
|
+
renderingLogic || {},
|
|
156
|
+
id,
|
|
157
|
+
input,
|
|
158
|
+
out,
|
|
159
|
+
typeName,
|
|
160
|
+
customEvents,
|
|
161
|
+
ownerComponentId);
|
|
162
|
+
|
|
163
|
+
if (isSplit || widgetState) {
|
|
164
|
+
component.input = null;
|
|
165
|
+
} else if (input.widgetProps) {
|
|
166
|
+
// eslint-disable-next-line no-constant-condition
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
component.input = input.widgetProps;
|
|
174
|
+
}
|
|
175
|
+
Object.assign(component, oldComponent);
|
|
176
|
+
beginComponent(
|
|
177
|
+
componentsContext,
|
|
178
|
+
component,
|
|
179
|
+
key,
|
|
180
|
+
ownerComponentDef,
|
|
181
|
+
isSplit,
|
|
182
|
+
false,
|
|
183
|
+
this);
|
|
184
|
+
|
|
185
|
+
} else {
|
|
186
|
+
vComponentNode.i_ = component = registry._I_(
|
|
187
|
+
typeName,
|
|
188
|
+
component.id);
|
|
189
|
+
|
|
190
|
+
}
|
|
191
|
+
this.i_ = component;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
return component;
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
if (!registry._L_) {
|
|
198
|
+
component.R_ && component.R_();
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
// Render the template associated with the component using the final template
|
|
202
|
+
// data that we constructed
|
|
203
|
+
templateRenderFunc(
|
|
204
|
+
input,
|
|
205
|
+
out,
|
|
206
|
+
componentDef,
|
|
207
|
+
component,
|
|
208
|
+
component.aA_,
|
|
209
|
+
out.global);
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
if (customEvents && componentDef.i_) {
|
|
213
|
+
if (registry._L_) {
|
|
214
|
+
componentDef.___ = customEvents;
|
|
215
|
+
componentDef._a_ = ownerComponentId;
|
|
216
|
+
} else {
|
|
217
|
+
componentDef.i_.aB_(
|
|
218
|
+
customEvents,
|
|
219
|
+
ownerComponentId);
|
|
220
|
+
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
endComponent(out, componentDef);
|
|
225
|
+
componentsContext.k_ = parentComponentDef;
|
|
226
|
+
componentsContext.aZ_ = parentLegacyComponentDef;
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
module.exports = createRendererFunc;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";var componentsUtil = require("@internal/components-util");
|
|
2
|
-
var componentLookup = componentsUtil.
|
|
2
|
+
var componentLookup = componentsUtil._o_;
|
|
3
3
|
|
|
4
4
|
var ComponentsContext = require("./ComponentsContext");
|
|
5
5
|
var getComponentsContext = ComponentsContext.e_;
|
|
6
6
|
var registry = require("@internal/components-registry");
|
|
7
7
|
var copyProps = require("raptor-util/copyProps");
|
|
8
|
-
var isServer = componentsUtil.
|
|
8
|
+
var isServer = componentsUtil._L_ === true;
|
|
9
9
|
var beginComponent = require("@internal/components-beginComponent");
|
|
10
10
|
var endComponent = require("@internal/components-endComponent");
|
|
11
11
|
|
|
@@ -15,7 +15,7 @@ function resolveComponentKey(key, parentComponentDef) {
|
|
|
15
15
|
if (key[0] === "#") {
|
|
16
16
|
return key.substring(1);
|
|
17
17
|
} else {
|
|
18
|
-
return parentComponentDef.id + "-" + parentComponentDef.
|
|
18
|
+
return parentComponentDef.id + "-" + parentComponentDef.aK_(key);
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
|
|
@@ -42,7 +42,7 @@ function handleBeginAsync(event) {
|
|
|
42
42
|
asyncOut.c(
|
|
43
43
|
parentOut.h_,
|
|
44
44
|
parentOut.j_,
|
|
45
|
-
parentOut.
|
|
45
|
+
parentOut.b__);
|
|
46
46
|
|
|
47
47
|
}
|
|
48
48
|
|
|
@@ -82,7 +82,7 @@ renderingLogic)
|
|
|
82
82
|
var componentsContext = getComponentsContext(out);
|
|
83
83
|
var globalComponentsContext = componentsContext.f_;
|
|
84
84
|
|
|
85
|
-
var component = globalComponentsContext.
|
|
85
|
+
var component = globalComponentsContext.ax_;
|
|
86
86
|
var isRerender = component !== undefined;
|
|
87
87
|
var id;
|
|
88
88
|
var isExisting;
|
|
@@ -97,7 +97,7 @@ renderingLogic)
|
|
|
97
97
|
// the top-level UI component as part of a re-render
|
|
98
98
|
id = component.id; // We will use the ID of the component being re-rendered
|
|
99
99
|
isExisting = true; // This is a re-render so we know the component is already in the DOM
|
|
100
|
-
globalComponentsContext.
|
|
100
|
+
globalComponentsContext.ax_ = null;
|
|
101
101
|
} else {
|
|
102
102
|
// Otherwise, we are rendering a nested UI component. We will need
|
|
103
103
|
// to match up the UI component with the component already in the
|
|
@@ -106,15 +106,15 @@ renderingLogic)
|
|
|
106
106
|
// that were provided.
|
|
107
107
|
if (parentComponentDef) {
|
|
108
108
|
// console.log('componentArgs:', componentArgs);
|
|
109
|
-
customEvents = out.
|
|
109
|
+
customEvents = out.b__;
|
|
110
110
|
|
|
111
111
|
if (key != null) {
|
|
112
112
|
id = resolveComponentKey(key.toString(), parentComponentDef);
|
|
113
113
|
} else {
|
|
114
|
-
id = parentComponentDef.
|
|
114
|
+
id = parentComponentDef.aL_();
|
|
115
115
|
}
|
|
116
116
|
} else {
|
|
117
|
-
id = globalComponentsContext.
|
|
117
|
+
id = globalComponentsContext.aL_();
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
|
|
@@ -123,7 +123,7 @@ renderingLogic)
|
|
|
123
123
|
// we don't need to match up the UI component with a previously
|
|
124
124
|
// rendered component already mounted to the DOM. We also create
|
|
125
125
|
// a lightweight ServerComponent
|
|
126
|
-
component = registry.
|
|
126
|
+
component = registry._I_(
|
|
127
127
|
renderingLogic,
|
|
128
128
|
id,
|
|
129
129
|
input,
|
|
@@ -135,13 +135,13 @@ renderingLogic)
|
|
|
135
135
|
|
|
136
136
|
// This is the final input after running the lifecycle methods.
|
|
137
137
|
// We will be passing the input to the template for the `input` param
|
|
138
|
-
input = component.
|
|
138
|
+
input = component._e_;
|
|
139
139
|
} else {
|
|
140
140
|
if (!component) {
|
|
141
141
|
if (
|
|
142
142
|
isRerender && (
|
|
143
143
|
component = componentLookup[id]) &&
|
|
144
|
-
component.
|
|
144
|
+
component._s_ !== typeName)
|
|
145
145
|
{
|
|
146
146
|
// Destroy the existing component since
|
|
147
147
|
component.destroy();
|
|
@@ -153,7 +153,7 @@ renderingLogic)
|
|
|
153
153
|
} else {
|
|
154
154
|
isExisting = false;
|
|
155
155
|
// We need to create a new instance of the component
|
|
156
|
-
component = registry.
|
|
156
|
+
component = registry._I_(typeName, id);
|
|
157
157
|
|
|
158
158
|
if (shouldApplySplitMixins === true) {
|
|
159
159
|
shouldApplySplitMixins = false;
|
|
@@ -170,36 +170,36 @@ renderingLogic)
|
|
|
170
170
|
// Set this flag to prevent the component from being queued for update
|
|
171
171
|
// based on the new input. The component is about to be rerendered
|
|
172
172
|
// so we don't want to queue it up as a result of calling `setInput()`
|
|
173
|
-
component.
|
|
173
|
+
component._f_ = true;
|
|
174
174
|
|
|
175
175
|
if (customEvents !== undefined) {
|
|
176
|
-
component.
|
|
176
|
+
component.aB_(customEvents, ownerComponentId);
|
|
177
177
|
}
|
|
178
178
|
|
|
179
179
|
if (isExisting === false) {
|
|
180
|
-
component.
|
|
180
|
+
component.aD_(input, out);
|
|
181
181
|
}
|
|
182
182
|
|
|
183
|
-
input = component.
|
|
183
|
+
input = component._m_(input, onInput, out);
|
|
184
184
|
|
|
185
185
|
if (isExisting === true) {
|
|
186
186
|
if (
|
|
187
|
-
component.
|
|
188
|
-
component.shouldUpdate(input, component.
|
|
187
|
+
component.as_ === false ||
|
|
188
|
+
component.shouldUpdate(input, component.G_) === false)
|
|
189
189
|
{
|
|
190
190
|
// We put a placeholder element in the output stream to ensure that the existing
|
|
191
191
|
// DOM node is matched up correctly when using morphdom. We flag the VElement
|
|
192
192
|
// node to track that it is a preserve marker
|
|
193
|
-
out.
|
|
193
|
+
out.ba_(component);
|
|
194
194
|
globalComponentsContext.z_[id] = true;
|
|
195
|
-
component.
|
|
195
|
+
component._v_(); // The component is no longer dirty so reset internal flags
|
|
196
196
|
return;
|
|
197
197
|
}
|
|
198
198
|
}
|
|
199
199
|
}
|
|
200
200
|
|
|
201
|
-
component.
|
|
202
|
-
component.
|
|
201
|
+
component.ai_ = out.global;
|
|
202
|
+
component.aE_(out);
|
|
203
203
|
}
|
|
204
204
|
|
|
205
205
|
var componentDef = beginComponent(
|
|
@@ -211,7 +211,7 @@ renderingLogic)
|
|
|
211
211
|
isImplicitComponent);
|
|
212
212
|
|
|
213
213
|
|
|
214
|
-
componentDef.
|
|
214
|
+
componentDef._w_ = isExisting;
|
|
215
215
|
|
|
216
216
|
// Render the template associated with the component using the final template
|
|
217
217
|
// data that we constructed
|
|
@@ -220,7 +220,7 @@ renderingLogic)
|
|
|
220
220
|
out,
|
|
221
221
|
componentDef,
|
|
222
222
|
component,
|
|
223
|
-
component.
|
|
223
|
+
component.aA_,
|
|
224
224
|
out.global);
|
|
225
225
|
|
|
226
226
|
|
|
@@ -229,4 +229,8 @@ renderingLogic)
|
|
|
229
229
|
};
|
|
230
230
|
}
|
|
231
231
|
|
|
232
|
-
module.exports = createRendererFunc;
|
|
232
|
+
module.exports = createRendererFunc;
|
|
233
|
+
|
|
234
|
+
// exports used by the legacy renderer
|
|
235
|
+
createRendererFunc.aU_ = resolveComponentKey;
|
|
236
|
+
createRendererFunc.aY_ = trackAsyncComponents;
|
|
@@ -4,7 +4,7 @@ var updatesScheduled = false;
|
|
|
4
4
|
var batchStack = []; // A stack of batched updates
|
|
5
5
|
var unbatchedQueue = []; // Used for scheduled batched updates
|
|
6
6
|
|
|
7
|
-
var setImmediate = require("@internal/set-immediate").
|
|
7
|
+
var setImmediate = require("@internal/set-immediate").ab_;
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* This function is called when we schedule the update of "unbatched"
|
|
@@ -41,7 +41,7 @@ function updateComponents(queue) {
|
|
|
41
41
|
// since we will still get to them at the end
|
|
42
42
|
for (var i = 0; i < queue.length; i++) {
|
|
43
43
|
var component = queue[i];
|
|
44
|
-
component.
|
|
44
|
+
component.aF_(); // Do the actual component update
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
// Clear out the queue by setting the length to zero
|
|
@@ -54,7 +54,7 @@ function batchUpdate(func) {
|
|
|
54
54
|
// batched update completes we invoke the "afterUpdate"
|
|
55
55
|
// event listeners.
|
|
56
56
|
var batch = {
|
|
57
|
-
|
|
57
|
+
bb_: null
|
|
58
58
|
};
|
|
59
59
|
|
|
60
60
|
batchStack.push(batch);
|
|
@@ -65,8 +65,8 @@ function batchUpdate(func) {
|
|
|
65
65
|
try {
|
|
66
66
|
// Update all of the components that where queued up
|
|
67
67
|
// in this batch (if any)
|
|
68
|
-
if (batch.
|
|
69
|
-
updateComponents(batch.
|
|
68
|
+
if (batch.bb_) {
|
|
69
|
+
updateComponents(batch.bb_);
|
|
70
70
|
}
|
|
71
71
|
} finally {
|
|
72
72
|
// Now that we have completed the update of all the components
|
|
@@ -89,10 +89,10 @@ function queueComponentUpdate(component) {
|
|
|
89
89
|
// We default the batch queue to null to avoid creating an Array instance
|
|
90
90
|
// unnecessarily. If it is null then we create a new Array, otherwise
|
|
91
91
|
// we push it onto the existing Array queue
|
|
92
|
-
if (batch.
|
|
93
|
-
batch.
|
|
92
|
+
if (batch.bb_) {
|
|
93
|
+
batch.bb_.push(component);
|
|
94
94
|
} else {
|
|
95
|
-
batch.
|
|
95
|
+
batch.bb_ = [component];
|
|
96
96
|
}
|
|
97
97
|
} else {
|
|
98
98
|
// We are not within a batched update. We need to schedule a batch update
|
|
@@ -103,5 +103,5 @@ function queueComponentUpdate(component) {
|
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
-
exports.
|
|
107
|
-
exports.
|
|
106
|
+
exports.ar_ = queueComponentUpdate;
|
|
107
|
+
exports.aw_ = batchUpdate;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";var extend = require("raptor-util/extend");
|
|
2
2
|
var componentsUtil = require("@internal/components-util");
|
|
3
|
-
var destroyComponentForNode = componentsUtil.
|
|
4
|
-
var destroyNodeRecursive = componentsUtil.
|
|
3
|
+
var destroyComponentForNode = componentsUtil._T_;
|
|
4
|
+
var destroyNodeRecursive = componentsUtil._U_;
|
|
5
5
|
var helpers = require("./vdom/morphdom/helpers");
|
|
6
6
|
|
|
7
|
-
var insertBefore = helpers.
|
|
8
|
-
var insertAfter = helpers.
|
|
9
|
-
var removeChild = helpers.
|
|
7
|
+
var insertBefore = helpers.bd_;
|
|
8
|
+
var insertAfter = helpers.be_;
|
|
9
|
+
var removeChild = helpers.bf_;
|
|
10
10
|
|
|
11
11
|
function resolveEl(el) {
|
|
12
12
|
if (typeof el == "string") {
|
|
@@ -6,7 +6,7 @@ var dashToCamelLookup = Object.create(null);
|
|
|
6
6
|
/**
|
|
7
7
|
* Helper for converting camelCase to dash-case.
|
|
8
8
|
*/
|
|
9
|
-
exports.
|
|
9
|
+
exports.bg_ = function camelToDashCase(name) {
|
|
10
10
|
var nameDashed = camelToDashLookup[name];
|
|
11
11
|
if (!nameDashed) {
|
|
12
12
|
nameDashed = camelToDashLookup[name] = name.
|
|
@@ -24,7 +24,7 @@ exports.aM_ = function camelToDashCase(name) {
|
|
|
24
24
|
/**
|
|
25
25
|
* Helper for converting dash-case to camelCase.
|
|
26
26
|
*/
|
|
27
|
-
exports.
|
|
27
|
+
exports.bh_ = function dashToCamelCase(name) {
|
|
28
28
|
var nameCamel = dashToCamelLookup[name];
|
|
29
29
|
if (!nameCamel) {
|
|
30
30
|
nameCamel = dashToCamelLookup[name] = name.replace(
|
|
@@ -37,7 +37,7 @@ customEvents)
|
|
|
37
37
|
var component = componentDef && componentDef.i_;
|
|
38
38
|
if (typeof tag === "string") {
|
|
39
39
|
if (renderBody) {
|
|
40
|
-
out.
|
|
40
|
+
out.bi_(
|
|
41
41
|
tag,
|
|
42
42
|
attrs,
|
|
43
43
|
key,
|
|
@@ -45,9 +45,9 @@ customEvents)
|
|
|
45
45
|
addEvents(componentDef, customEvents, props));
|
|
46
46
|
|
|
47
47
|
renderBody(out);
|
|
48
|
-
out.
|
|
48
|
+
out.bj_();
|
|
49
49
|
} else {
|
|
50
|
-
out.
|
|
50
|
+
out.bk_(
|
|
51
51
|
tag,
|
|
52
52
|
attrs,
|
|
53
53
|
key,
|
|
@@ -66,10 +66,8 @@ customEvents)
|
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
var renderer =
|
|
69
|
-
tag._ ||
|
|
70
|
-
tag.
|
|
71
|
-
tag.renderer && tag.renderer.renderer ||
|
|
72
|
-
tag.renderer;
|
|
69
|
+
tag._ || (
|
|
70
|
+
tag.renderer ? tag.renderer.renderer || tag.renderer : tag.render);
|
|
73
71
|
|
|
74
72
|
// eslint-disable-next-line no-constant-condition
|
|
75
73
|
|
|
@@ -108,7 +106,7 @@ customEvents)
|
|
|
108
106
|
var globalContext = componentsContext.f_;
|
|
109
107
|
componentsContext.k_ = new ComponentDef(
|
|
110
108
|
component,
|
|
111
|
-
parentComponentDef.id + "-" + parentComponentDef.
|
|
109
|
+
parentComponentDef.id + "-" + parentComponentDef.aK_(key),
|
|
112
110
|
globalContext);
|
|
113
111
|
|
|
114
112
|
render.toJSON = RENDER_BODY_TO_JSON;
|
|
@@ -144,7 +142,7 @@ function attrsToCamelCase(attrs) {
|
|
|
144
142
|
var result = {};
|
|
145
143
|
|
|
146
144
|
for (var key in attrs) {
|
|
147
|
-
result[changeCase.
|
|
145
|
+
result[changeCase.bh_(key)] = attrs[key];
|
|
148
146
|
}
|
|
149
147
|
|
|
150
148
|
return result;
|
|
@@ -14,11 +14,15 @@ module.exports = function styleHelper(style) {
|
|
|
14
14
|
|
|
15
15
|
if (type !== "string") {
|
|
16
16
|
var styles = "";
|
|
17
|
+
var sep = "";
|
|
17
18
|
|
|
18
19
|
if (Array.isArray(style)) {
|
|
19
20
|
for (var i = 0, len = style.length; i < len; i++) {
|
|
20
21
|
var next = styleHelper(style[i]);
|
|
21
|
-
if (next)
|
|
22
|
+
if (next) {
|
|
23
|
+
styles += sep + next;
|
|
24
|
+
sep = ";";
|
|
25
|
+
}
|
|
22
26
|
}
|
|
23
27
|
} else if (type === "object") {
|
|
24
28
|
for (var name in style) {
|
|
@@ -28,7 +32,8 @@ module.exports = function styleHelper(style) {
|
|
|
28
32
|
value += "px";
|
|
29
33
|
}
|
|
30
34
|
|
|
31
|
-
styles += changeCase.
|
|
35
|
+
styles += sep + changeCase.bg_(name) + ":" + value;
|
|
36
|
+
sep = ";";
|
|
32
37
|
}
|
|
33
38
|
}
|
|
34
39
|
}
|