marko 5.31.0 → 5.31.2
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/index.js +10 -10
- package/dist/core-tags/components/preserve-tag.js +1 -81
- package/dist/core-tags/core/await/AsyncValue.js +25 -25
- package/dist/core-tags/core/await/renderer.js +11 -11
- package/dist/core-tags/core/await/reorderer-renderer.js +31 -31
- package/dist/node-require/hot-reload.js +5 -5
- package/dist/node-require/index.js +8 -8
- package/dist/node_modules/@internal/components-beginComponent/index-browser.js +8 -8
- package/dist/node_modules/@internal/components-beginComponent/index.js +25 -25
- package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +53 -51
- package/dist/node_modules/@internal/components-define-widget-legacy/index.js +3 -3
- package/dist/node_modules/@internal/components-endComponent/index.js +3 -3
- package/dist/node_modules/@internal/components-entry/index-browser.js +3 -2
- package/dist/node_modules/@internal/components-entry/index.js +24 -24
- package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +10 -9
- package/dist/node_modules/@internal/components-entry-legacy/index.js +2 -1
- package/dist/node_modules/@internal/components-registry/index-browser.js +84 -92
- package/dist/node_modules/@internal/components-registry/index.js +2 -2
- package/dist/node_modules/@internal/components-util/index-browser.js +23 -23
- package/dist/node_modules/@internal/components-util/index.js +10 -10
- package/dist/node_modules/@internal/create-readable/index-browser.js +5 -5
- package/dist/node_modules/@internal/create-readable/index.js +13 -13
- package/dist/node_modules/@internal/loader/fallback-node.js +89 -0
- package/dist/node_modules/@internal/loader/index-browser.js +1 -3
- package/dist/node_modules/@internal/loader/index.js +20 -85
- package/dist/node_modules/@internal/loader/package.json +2 -3
- package/dist/node_modules/@internal/preserve-tag/index-browser.js +45 -0
- package/dist/node_modules/@internal/preserve-tag/index.js +34 -0
- package/dist/node_modules/@internal/preserve-tag/package.json +11 -0
- package/dist/node_modules/@internal/require/index-browser.js +13 -0
- package/dist/node_modules/@internal/require/index-legacy-browser.js +20 -0
- package/dist/node_modules/@internal/require/index-webpack.js +11 -0
- package/dist/node_modules/@internal/require/index.js +15 -0
- package/dist/node_modules/@internal/require/package.json +11 -0
- package/dist/runtime/RenderResult.js +15 -14
- package/dist/runtime/components/Component.js +106 -106
- package/dist/runtime/components/ComponentDef.js +19 -19
- package/dist/runtime/components/ComponentsContext.js +14 -14
- package/dist/runtime/components/GlobalComponentsContext.js +2 -2
- package/dist/runtime/components/ServerComponent.js +12 -12
- package/dist/runtime/components/State.js +19 -19
- package/dist/runtime/components/attach-detach.js +1 -1
- package/dist/runtime/components/defineComponent.js +5 -5
- package/dist/runtime/components/dom-data.js +5 -5
- package/dist/runtime/components/event-delegation.js +55 -55
- package/dist/runtime/components/legacy/defineComponent-legacy.js +1 -6
- package/dist/runtime/components/legacy/defineRenderer-legacy.js +16 -21
- package/dist/runtime/components/legacy/dependencies/index.js +7 -7
- package/dist/runtime/components/legacy/renderer-legacy.js +82 -82
- package/dist/runtime/components/renderer.js +44 -44
- package/dist/runtime/dom-insert.js +2 -2
- package/dist/runtime/helpers/_change-case.js +3 -3
- package/dist/runtime/helpers/class-value.js +2 -2
- package/dist/runtime/helpers/dynamic-tag.js +35 -35
- package/dist/runtime/helpers/render-tag.js +4 -4
- package/dist/runtime/html/AsyncStream.js +16 -16
- package/dist/runtime/html/BufferedWriter.js +14 -14
- package/dist/runtime/html/StringWriter.js +1 -1
- package/dist/runtime/html/helpers/_dynamic-attr.js +2 -2
- package/dist/runtime/html/helpers/attr.js +6 -6
- package/dist/runtime/html/helpers/attrs.js +2 -2
- package/dist/runtime/html/helpers/data-marko.js +6 -6
- package/dist/runtime/html/helpers/escape-quotes.js +1 -1
- package/dist/runtime/html/helpers/escape-xml.js +2 -2
- package/dist/runtime/html/helpers/props-script.js +1 -1
- package/dist/runtime/html/index.js +10 -10
- package/dist/runtime/renderable.js +5 -5
- package/dist/runtime/vdom/AsyncVDOMBuilder.js +61 -61
- package/dist/runtime/vdom/VComponent.js +2 -2
- package/dist/runtime/vdom/VDocumentFragment.js +1 -1
- package/dist/runtime/vdom/VElement.js +38 -38
- package/dist/runtime/vdom/VFragment.js +4 -4
- package/dist/runtime/vdom/VNode.js +2 -2
- package/dist/runtime/vdom/hot-reload.js +11 -11
- package/dist/runtime/vdom/index.js +9 -9
- package/dist/runtime/vdom/morphdom/fragment.js +9 -9
- package/dist/runtime/vdom/morphdom/helpers.js +7 -7
- package/dist/runtime/vdom/morphdom/index.js +126 -126
- package/dist/runtime/vdom/morphdom/specialElHandlers.js +11 -11
- package/dist/runtime/vdom/vdom.js +2 -2
- package/dist/taglib/index.js +3 -3
- package/package.json +1 -1
- package/src/core-tags/components/preserve-tag.js +1 -81
- package/src/node_modules/@internal/components-define-widget-legacy/index-browser.js +17 -15
- package/src/node_modules/@internal/components-define-widget-legacy/index.js +1 -1
- package/src/node_modules/@internal/components-entry/index-browser.js +2 -1
- package/src/node_modules/@internal/components-entry/index.js +2 -2
- package/src/node_modules/@internal/components-entry-legacy/index-browser.js +4 -3
- package/src/node_modules/@internal/components-entry-legacy/index.js +2 -1
- package/src/node_modules/@internal/components-registry/index-browser.js +9 -17
- package/src/node_modules/@internal/create-readable/index-browser.js +2 -2
- package/src/node_modules/@internal/loader/fallback-node.js +89 -0
- package/src/node_modules/@internal/loader/index-browser.js +1 -3
- package/src/node_modules/@internal/loader/index.js +21 -86
- package/src/node_modules/@internal/loader/package.json +2 -3
- package/src/node_modules/@internal/preserve-tag/index-browser.js +45 -0
- package/src/node_modules/@internal/preserve-tag/index.js +34 -0
- package/src/node_modules/@internal/preserve-tag/package.json +11 -0
- package/src/node_modules/@internal/require/index-browser.js +13 -0
- package/src/node_modules/@internal/require/index-legacy-browser.js +20 -0
- package/src/node_modules/@internal/require/index-webpack.js +11 -0
- package/src/node_modules/@internal/require/index.js +15 -0
- package/src/node_modules/@internal/require/package.json +11 -0
- package/src/runtime/components/legacy/defineComponent-legacy.js +0 -5
- package/src/runtime/components/legacy/defineRenderer-legacy.js +3 -8
|
@@ -4,38 +4,38 @@
|
|
|
4
4
|
class ServerComponent {
|
|
5
5
|
constructor(id, input, out, typeName, customEvents, scope) {
|
|
6
6
|
this.id = id;
|
|
7
|
-
this.
|
|
8
|
-
this.
|
|
7
|
+
this.U_ = customEvents;
|
|
8
|
+
this.V_ = scope;
|
|
9
9
|
this.typeName = typeName;
|
|
10
|
-
this.
|
|
11
|
-
this.
|
|
10
|
+
this.W_ = undefined; // Used to keep track of bubbling DOM events for components rendered on the server
|
|
11
|
+
this.Y_ = 0;
|
|
12
12
|
|
|
13
13
|
this.onCreate(input, out);
|
|
14
|
-
this.
|
|
15
|
-
if (this.
|
|
16
|
-
this.
|
|
14
|
+
this.Z_ = this.onInput(input, out) || input;
|
|
15
|
+
if (this.N_ === undefined) {
|
|
16
|
+
this.N_ = this.Z_;
|
|
17
17
|
}
|
|
18
18
|
this.onRender(out);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
set input(newInput) {
|
|
22
|
-
this.
|
|
22
|
+
this.N_ = newInput;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
get input() {
|
|
26
|
-
return this.
|
|
26
|
+
return this.N_;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
set state(newState) {
|
|
30
|
-
this.
|
|
30
|
+
this.y_ = newState;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
get state() {
|
|
34
|
-
return this.
|
|
34
|
+
return this.y_;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
get aA_() {
|
|
38
|
-
return this.
|
|
38
|
+
return this.y_;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
elId(nestedId) {
|
|
@@ -5,7 +5,7 @@ function ensure(state, propertyName) {
|
|
|
5
5
|
if (!(propertyName in proto)) {
|
|
6
6
|
Object.defineProperty(proto, propertyName, {
|
|
7
7
|
get: function () {
|
|
8
|
-
return this.
|
|
8
|
+
return this.z_[propertyName];
|
|
9
9
|
},
|
|
10
10
|
set: function (value) {
|
|
11
11
|
this.ap_(propertyName, value, false /* ensure:false */);
|
|
@@ -15,8 +15,8 @@ function ensure(state, propertyName) {
|
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
function State(component) {
|
|
18
|
-
this.
|
|
19
|
-
this.
|
|
18
|
+
this.r_ = component;
|
|
19
|
+
this.z_ = {};
|
|
20
20
|
|
|
21
21
|
this.aj_ = false;
|
|
22
22
|
this.au_ = null;
|
|
@@ -27,7 +27,7 @@ function State(component) {
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
State.prototype = {
|
|
30
|
-
|
|
30
|
+
_p_: function () {
|
|
31
31
|
var self = this;
|
|
32
32
|
|
|
33
33
|
self.aj_ = false;
|
|
@@ -40,30 +40,30 @@ State.prototype = {
|
|
|
40
40
|
var state = this;
|
|
41
41
|
var key;
|
|
42
42
|
|
|
43
|
-
var rawState = this.
|
|
43
|
+
var rawState = this.z_;
|
|
44
44
|
|
|
45
45
|
for (key in rawState) {
|
|
46
46
|
if (!(key in newState)) {
|
|
47
47
|
state.ap_(
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
48
|
+
key,
|
|
49
|
+
undefined,
|
|
50
|
+
false /* ensure:false */,
|
|
51
|
+
false /* forceDirty:false */
|
|
52
|
+
);
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
for (key in newState) {
|
|
57
57
|
state.ap_(
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
58
|
+
key,
|
|
59
|
+
newState[key],
|
|
60
|
+
true /* ensure:true */,
|
|
61
|
+
false /* forceDirty:false */
|
|
62
|
+
);
|
|
63
63
|
}
|
|
64
64
|
},
|
|
65
65
|
ap_: function (name, value, shouldEnsure, forceDirty) {
|
|
66
|
-
var rawState = this.
|
|
66
|
+
var rawState = this.z_;
|
|
67
67
|
|
|
68
68
|
if (shouldEnsure) {
|
|
69
69
|
ensure(this, name);
|
|
@@ -82,9 +82,9 @@ State.prototype = {
|
|
|
82
82
|
// changes to the state
|
|
83
83
|
this.aj_ = true; // Mark the component state as dirty (i.e. modified)
|
|
84
84
|
this.au_ = rawState;
|
|
85
|
-
this.
|
|
85
|
+
this.z_ = rawState = extend({}, rawState);
|
|
86
86
|
this.at_ = {};
|
|
87
|
-
this.
|
|
87
|
+
this.r_.ao_();
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
this.at_[name] = value;
|
|
@@ -98,7 +98,7 @@ State.prototype = {
|
|
|
98
98
|
}
|
|
99
99
|
},
|
|
100
100
|
toJSON: function () {
|
|
101
|
-
return this.
|
|
101
|
+
return this.z_;
|
|
102
102
|
}
|
|
103
103
|
};
|
|
104
104
|
|
|
@@ -11,7 +11,7 @@ function handleNodeAttach(node, componentsContext) {
|
|
|
11
11
|
var eventName = "onattach";
|
|
12
12
|
var target = getEventFromEl(node, eventName);
|
|
13
13
|
if (target) {
|
|
14
|
-
var out = componentsContext.
|
|
14
|
+
var out = componentsContext.q_;
|
|
15
15
|
var data = out.data;
|
|
16
16
|
|
|
17
17
|
var attachTargets = data.aR_;
|
|
@@ -6,7 +6,7 @@ var BaseComponent = require("./Component");
|
|
|
6
6
|
var inherit = require("raptor-util/inherit");
|
|
7
7
|
|
|
8
8
|
module.exports = function defineComponent(def, renderer) {
|
|
9
|
-
if (def.
|
|
9
|
+
if (def.w_) {
|
|
10
10
|
return def;
|
|
11
11
|
}
|
|
12
12
|
|
|
@@ -35,7 +35,7 @@ module.exports = function defineComponent(def, renderer) {
|
|
|
35
35
|
BaseComponent.call(this, id);
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
if (!proto.
|
|
38
|
+
if (!proto.w_) {
|
|
39
39
|
// Inherit from Component if they didn't already
|
|
40
40
|
inherit(ComponentClass, BaseComponent);
|
|
41
41
|
}
|
|
@@ -48,14 +48,14 @@ module.exports = function defineComponent(def, renderer) {
|
|
|
48
48
|
|
|
49
49
|
// Set a flag on the constructor function to make it clear this is
|
|
50
50
|
// a component so that we can short-circuit this work later
|
|
51
|
-
Component.
|
|
51
|
+
Component.w_ = true;
|
|
52
52
|
|
|
53
53
|
function State(component) {
|
|
54
54
|
BaseState.call(this, component);
|
|
55
55
|
}
|
|
56
56
|
inherit(State, BaseState);
|
|
57
|
-
proto.
|
|
58
|
-
proto.
|
|
57
|
+
proto.O_ = State;
|
|
58
|
+
proto.P_ = renderer;
|
|
59
59
|
|
|
60
60
|
return Component;
|
|
61
61
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";var componentsUtil = require("@internal/components-util");
|
|
2
|
-
var runtimeId = componentsUtil.
|
|
3
|
-
var componentLookup = componentsUtil.
|
|
4
|
-
var getMarkoPropsFromEl = componentsUtil.
|
|
2
|
+
var runtimeId = componentsUtil._M_;
|
|
3
|
+
var componentLookup = componentsUtil._i_;
|
|
4
|
+
var getMarkoPropsFromEl = componentsUtil._n_;
|
|
5
5
|
|
|
6
6
|
var TEXT_NODE = 3;
|
|
7
7
|
|
|
@@ -54,7 +54,7 @@ function delegateEvent(node, eventName, target, event) {
|
|
|
54
54
|
|
|
55
55
|
if (extraArgs != null) {
|
|
56
56
|
if (typeof extraArgs === "number") {
|
|
57
|
-
extraArgs = targetComponent.
|
|
57
|
+
extraArgs = targetComponent.W_[extraArgs];
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
|
|
@@ -77,56 +77,56 @@ function addDelegatedEventHandlerToHost(eventType, host) {
|
|
|
77
77
|
host[listenersAttachedKey] || {};
|
|
78
78
|
if (!listeners[eventType]) {
|
|
79
79
|
(host.body || host).addEventListener(
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
80
|
+
eventType,
|
|
81
|
+
listeners[eventType] = function (event) {
|
|
82
|
+
var curNode = event.target;
|
|
83
|
+
if (!curNode) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
curNode =
|
|
88
|
+
// event.target of an SVGElementInstance does not have a
|
|
89
|
+
// `getAttribute` function in IE 11.
|
|
90
|
+
// See https://github.com/marko-js/marko/issues/796
|
|
91
|
+
curNode.correspondingUseElement || (
|
|
92
|
+
// in some browsers the event target can be a text node
|
|
93
|
+
// one example being dragenter in firefox.
|
|
94
|
+
curNode.nodeType === TEXT_NODE ? curNode.parentNode : curNode);
|
|
95
|
+
|
|
96
|
+
// Search up the tree looking DOM events mapped to target
|
|
97
|
+
// component methods
|
|
98
|
+
var propName = "on" + eventType;
|
|
99
|
+
var target;
|
|
100
|
+
|
|
101
|
+
// Attributes will have the following form:
|
|
102
|
+
// on<event_type>("<target_method>|<component_id>")
|
|
103
|
+
|
|
104
|
+
if (event.bubbles) {
|
|
105
|
+
var propagationStopped = false;
|
|
106
|
+
|
|
107
|
+
// Monkey-patch to fix #97
|
|
108
|
+
var oldStopPropagation = event.stopPropagation;
|
|
109
|
+
|
|
110
|
+
event.stopPropagation = function () {
|
|
111
|
+
oldStopPropagation.call(event);
|
|
112
|
+
propagationStopped = true;
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
do {
|
|
116
|
+
if (target = getEventFromEl(curNode, propName)) {
|
|
117
|
+
delegateEvent(curNode, propName, target, event);
|
|
118
|
+
|
|
119
|
+
if (propagationStopped) {
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
121
122
|
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
123
|
+
} while ((curNode = curNode.parentNode) && curNode.getAttribute);
|
|
124
|
+
} else if (target = getEventFromEl(curNode, propName)) {
|
|
125
|
+
delegateEvent(curNode, propName, target, event);
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
true
|
|
129
|
+
);
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
132
|
|
|
@@ -136,8 +136,8 @@ exports.aS_ = noop;
|
|
|
136
136
|
exports.al_ = noop;
|
|
137
137
|
exports.aP_ = delegateEvent;
|
|
138
138
|
exports.aQ_ = getEventFromEl;
|
|
139
|
-
exports.
|
|
140
|
-
exports.
|
|
139
|
+
exports._o_ = addDelegatedEventHandler;
|
|
140
|
+
exports._w_ = function (host) {
|
|
141
141
|
Object.keys(delegatedEvents).forEach(function (eventType) {
|
|
142
142
|
addDelegatedEventHandlerToHost(eventType, host);
|
|
143
143
|
});
|
|
@@ -1,20 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var makeRenderable = require("../../renderable");
|
|
3
3
|
var getComponentsContext =
|
|
4
|
-
require("../ComponentsContext").
|
|
5
|
-
var componentLookup = require("@internal/components-util").
|
|
4
|
+
require("../ComponentsContext").R_;
|
|
5
|
+
var componentLookup = require("@internal/components-util")._i_;
|
|
6
6
|
var modernRenderer = require("../renderer");
|
|
7
|
-
var
|
|
7
|
+
var req = require("@internal/require");
|
|
8
8
|
var resolveComponentKey = modernRenderer.aU_;
|
|
9
9
|
|
|
10
10
|
module.exports = function defineRenderer(renderingLogic) {
|
|
11
11
|
var renderer = renderingLogic.renderer;
|
|
12
12
|
|
|
13
|
-
// eslint-disable-next-line no-constant-condition
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
13
|
if (renderer && renderer.aV_) {
|
|
19
14
|
return renderer;
|
|
20
15
|
}
|
|
@@ -22,7 +17,7 @@ module.exports = function defineRenderer(renderingLogic) {
|
|
|
22
17
|
var template = renderingLogic.template;
|
|
23
18
|
|
|
24
19
|
if (typeof template === "string") {
|
|
25
|
-
template =
|
|
20
|
+
template = req(template);
|
|
26
21
|
}
|
|
27
22
|
|
|
28
23
|
if (!renderer) {
|
|
@@ -45,13 +40,13 @@ module.exports = function defineRenderer(renderingLogic) {
|
|
|
45
40
|
// takes care of re-using existing components.
|
|
46
41
|
renderer = function renderer(input, out) {
|
|
47
42
|
var componentsContext = getComponentsContext(out);
|
|
48
|
-
var globalComponentsContext = componentsContext.
|
|
43
|
+
var globalComponentsContext = componentsContext.o_;
|
|
49
44
|
var component = globalComponentsContext.ax_;
|
|
50
|
-
var isReceivingNewInput = !component || component.
|
|
45
|
+
var isReceivingNewInput = !component || component._f_;
|
|
51
46
|
var parentComponentDef;
|
|
52
47
|
|
|
53
48
|
if (component) {
|
|
54
|
-
component.
|
|
49
|
+
component._f_ = false;
|
|
55
50
|
}
|
|
56
51
|
|
|
57
52
|
// Render the template associated with the component using the final template
|
|
@@ -63,10 +58,10 @@ module.exports = function defineRenderer(renderingLogic) {
|
|
|
63
58
|
var id;
|
|
64
59
|
|
|
65
60
|
if (!component && componentLookup) {
|
|
66
|
-
var key = out.
|
|
61
|
+
var key = out._Y_;
|
|
67
62
|
|
|
68
63
|
if (
|
|
69
|
-
(parentComponentDef = componentsContext.
|
|
64
|
+
(parentComponentDef = componentsContext.n_) &&
|
|
70
65
|
key != null)
|
|
71
66
|
{
|
|
72
67
|
id = resolveComponentKey(key.toString(), parentComponentDef);
|
|
@@ -106,8 +101,8 @@ module.exports = function defineRenderer(renderingLogic) {
|
|
|
106
101
|
widgetBody = newProps.renderBody;
|
|
107
102
|
}
|
|
108
103
|
} else if (component) {
|
|
109
|
-
newProps = newProps || component.
|
|
110
|
-
widgetBody = component.
|
|
104
|
+
newProps = newProps || component.M_;
|
|
105
|
+
widgetBody = component.X_;
|
|
111
106
|
widgetState = component.aA_;
|
|
112
107
|
widgetConfig = component.widgetConfig;
|
|
113
108
|
}
|
|
@@ -116,10 +111,10 @@ module.exports = function defineRenderer(renderingLogic) {
|
|
|
116
111
|
// data. If that method is not provided then just use the
|
|
117
112
|
// the state (if provided) or the input data.
|
|
118
113
|
var templateData = clone(
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
114
|
+
getTemplateData ?
|
|
115
|
+
getTemplateData(widgetState, newProps, out) :
|
|
116
|
+
widgetState || newProps
|
|
117
|
+
);
|
|
123
118
|
|
|
124
119
|
if (isReceivingNewInput && getWidgetConfig) {
|
|
125
120
|
// If getWidgetConfig() was implemented then use that to
|
|
@@ -153,7 +148,7 @@ module.exports = function defineRenderer(renderingLogic) {
|
|
|
153
148
|
renderer.template = template;
|
|
154
149
|
|
|
155
150
|
makeRenderable(renderer, renderer);
|
|
156
|
-
renderer.render = renderer.render.bind(
|
|
151
|
+
renderer.render = renderer.render.bind(renderer);
|
|
157
152
|
|
|
158
153
|
return renderer;
|
|
159
154
|
};
|
|
@@ -11,8 +11,8 @@ function getRootDeps(template, context) {
|
|
|
11
11
|
attachDepsAndComponentsToTemplate(template, context);
|
|
12
12
|
|
|
13
13
|
var deps = template.aW_ = Object.keys(template.aX_).map(
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
(key) => template.aX_[key]
|
|
15
|
+
);
|
|
16
16
|
var initModule = getInitModule(template.path, template.b_);
|
|
17
17
|
|
|
18
18
|
if (initModule) deps.push(initModule);
|
|
@@ -100,11 +100,11 @@ function getInitModule(path, components) {
|
|
|
100
100
|
var root = nodePath.dirname(path);
|
|
101
101
|
var virtualPath = path + ".init.js";
|
|
102
102
|
var registrations = components.map(
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
103
|
+
(component) =>
|
|
104
|
+
`components.register('${component.id}', require('.${
|
|
105
|
+
nodePath.sep
|
|
106
|
+
}${nodePath.relative(root, component.path)}'));`
|
|
107
|
+
);
|
|
108
108
|
var code = `
|
|
109
109
|
var components = require('marko/components');
|
|
110
110
|
${registrations.join("\n")}
|