marko 5.29.2 → 5.30.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
}
|