marko 5.19.3 → 5.20.1
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.
|
@@ -79,16 +79,6 @@ function addDelegatedEventHandlerToHost(eventType, host) {
|
|
|
79
79
|
(host.body || host).addEventListener(
|
|
80
80
|
eventType,
|
|
81
81
|
listeners[eventType] = function (event) {
|
|
82
|
-
var propagationStopped = false;
|
|
83
|
-
|
|
84
|
-
// Monkey-patch to fix #97
|
|
85
|
-
var oldStopPropagation = event.stopPropagation;
|
|
86
|
-
|
|
87
|
-
event.stopPropagation = function () {
|
|
88
|
-
oldStopPropagation.call(event);
|
|
89
|
-
propagationStopped = true;
|
|
90
|
-
};
|
|
91
|
-
|
|
92
82
|
var curNode = event.target;
|
|
93
83
|
if (!curNode) {
|
|
94
84
|
return;
|
|
@@ -111,15 +101,29 @@ function addDelegatedEventHandlerToHost(eventType, host) {
|
|
|
111
101
|
// Attributes will have the following form:
|
|
112
102
|
// on<event_type>("<target_method>|<component_id>")
|
|
113
103
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
104
|
+
if (event.bubbles) {
|
|
105
|
+
var propagationStopped = false;
|
|
106
|
+
|
|
107
|
+
// Monkey-patch to fix #97
|
|
108
|
+
var oldStopPropagation = event.stopPropagation;
|
|
117
109
|
|
|
118
|
-
|
|
119
|
-
|
|
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
|
+
}
|
|
120
122
|
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
+
} while ((curNode = curNode.parentNode) && curNode.getAttribute);
|
|
124
|
+
} else if (target = getEventFromEl(curNode, propName)) {
|
|
125
|
+
delegateEvent(curNode, propName, target, event);
|
|
126
|
+
}
|
|
123
127
|
},
|
|
124
128
|
true);
|
|
125
129
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/runtime/components/event-delegation.js"],"names":["componentsUtil","require","runtimeId","componentLookup","getMarkoPropsFromEl","TEXT_NODE","listenersAttachedKey","delegatedEvents","getEventFromEl","el","eventName","virtualProps","eventInfo","split","length","parseInt","delegateEvent","node","target","event","targetMethod","targetComponentId","isOnce","extraArgs","targetComponent","targetFunc","Error","apply","concat","call","addDelegatedEventHandler","eventType","addDelegatedEventHandlerToHost","host","listeners","body","addEventListener","
|
|
1
|
+
{"version":3,"sources":["../../../src/runtime/components/event-delegation.js"],"names":["componentsUtil","require","runtimeId","componentLookup","getMarkoPropsFromEl","TEXT_NODE","listenersAttachedKey","delegatedEvents","getEventFromEl","el","eventName","virtualProps","eventInfo","split","length","parseInt","delegateEvent","node","target","event","targetMethod","targetComponentId","isOnce","extraArgs","targetComponent","targetFunc","Error","apply","concat","call","addDelegatedEventHandler","eventType","addDelegatedEventHandlerToHost","host","listeners","body","addEventListener","curNode","correspondingUseElement","nodeType","parentNode","propName","bubbles","propagationStopped","oldStopPropagation","stopPropagation","getAttribute","noop","exports","Object","keys","forEach"],"mappings":"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","sourcesContent":["var componentsUtil = require(\"./util\");\nvar runtimeId = componentsUtil.___runtimeId;\nvar componentLookup = componentsUtil.___componentLookup;\nvar getMarkoPropsFromEl = componentsUtil.___getMarkoPropsFromEl;\n\nvar TEXT_NODE = 3;\n\n// We make our best effort to allow multiple marko runtimes to be loaded in the\n// same window. Each marko runtime will get its own unique runtime ID.\nvar listenersAttachedKey = \"$MDE\" + runtimeId;\nvar delegatedEvents = {};\n\nfunction getEventFromEl(el, eventName) {\n var virtualProps = getMarkoPropsFromEl(el);\n var eventInfo = virtualProps[eventName];\n\n if (typeof eventInfo === \"string\") {\n eventInfo = eventInfo.split(\" \");\n if (eventInfo[2]) {\n eventInfo[2] = eventInfo[2] === \"true\";\n }\n if (eventInfo.length == 4) {\n eventInfo[3] = parseInt(eventInfo[3], 10);\n }\n }\n\n return eventInfo;\n}\n\nfunction delegateEvent(node, eventName, target, event) {\n var targetMethod = target[0];\n var targetComponentId = target[1];\n var isOnce = target[2];\n var extraArgs = target[3];\n\n if (isOnce) {\n var virtualProps = getMarkoPropsFromEl(node);\n delete virtualProps[eventName];\n }\n\n var targetComponent = componentLookup[targetComponentId];\n\n if (!targetComponent) {\n return;\n }\n\n var targetFunc =\n typeof targetMethod === \"function\"\n ? targetMethod\n : targetComponent[targetMethod];\n if (!targetFunc) {\n throw Error(\"Method not found: \" + targetMethod);\n }\n\n if (extraArgs != null) {\n if (typeof extraArgs === \"number\") {\n extraArgs = targetComponent.___bubblingDomEvents[extraArgs];\n }\n }\n\n // Invoke the component method\n if (extraArgs) {\n targetFunc.apply(targetComponent, extraArgs.concat(event, node));\n } else {\n targetFunc.call(targetComponent, event, node);\n }\n}\n\nfunction addDelegatedEventHandler(eventType) {\n if (!delegatedEvents[eventType]) {\n delegatedEvents[eventType] = true;\n }\n}\n\nfunction addDelegatedEventHandlerToHost(eventType, host) {\n var listeners = (host[listenersAttachedKey] =\n host[listenersAttachedKey] || {});\n if (!listeners[eventType]) {\n (host.body || host).addEventListener(\n eventType,\n (listeners[eventType] = function (event) {\n var curNode = event.target;\n if (!curNode) {\n return;\n }\n\n curNode =\n // event.target of an SVGElementInstance does not have a\n // `getAttribute` function in IE 11.\n // See https://github.com/marko-js/marko/issues/796\n curNode.correspondingUseElement ||\n // in some browsers the event target can be a text node\n // one example being dragenter in firefox.\n (curNode.nodeType === TEXT_NODE ? curNode.parentNode : curNode);\n\n // Search up the tree looking DOM events mapped to target\n // component methods\n var propName = \"on\" + eventType;\n var target;\n\n // Attributes will have the following form:\n // on<event_type>(\"<target_method>|<component_id>\")\n\n if (event.bubbles) {\n var propagationStopped = false;\n\n // Monkey-patch to fix #97\n var oldStopPropagation = event.stopPropagation;\n\n event.stopPropagation = function () {\n oldStopPropagation.call(event);\n propagationStopped = true;\n };\n\n do {\n if ((target = getEventFromEl(curNode, propName))) {\n delegateEvent(curNode, propName, target, event);\n\n if (propagationStopped) {\n break;\n }\n }\n } while ((curNode = curNode.parentNode) && curNode.getAttribute);\n } else if ((target = getEventFromEl(curNode, propName))) {\n delegateEvent(curNode, propName, target, event);\n }\n }),\n true\n );\n }\n}\n\nfunction noop() {}\n\nexports.___handleNodeAttach = noop;\nexports.___handleNodeDetach = noop;\nexports.___delegateEvent = delegateEvent;\nexports.___getEventFromEl = getEventFromEl;\nexports.___addDelegatedEventHandler = addDelegatedEventHandler;\nexports.___init = function (host) {\n Object.keys(delegatedEvents).forEach(function (eventType) {\n addDelegatedEventHandlerToHost(eventType, host);\n });\n};\n"],"file":"event-delegation.js"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "marko",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.20.1",
|
|
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
7
|
"@marko/compiler": "^5.19.0",
|
|
8
|
-
"@marko/translator-default": "^5.
|
|
8
|
+
"@marko/translator-default": "^5.20.1",
|
|
9
9
|
"app-module-path": "^2.2.0",
|
|
10
10
|
"argly": "^1.2.0",
|
|
11
11
|
"browser-refresh-client": "1.1.4",
|
|
@@ -72,5 +72,5 @@
|
|
|
72
72
|
"index.js",
|
|
73
73
|
"node-require.js"
|
|
74
74
|
],
|
|
75
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "a07c6271f29d97c1b9ab3730a0725d40a22e2a6f"
|
|
76
76
|
}
|
|
@@ -79,16 +79,6 @@ function addDelegatedEventHandlerToHost(eventType, host) {
|
|
|
79
79
|
(host.body || host).addEventListener(
|
|
80
80
|
eventType,
|
|
81
81
|
(listeners[eventType] = function (event) {
|
|
82
|
-
var propagationStopped = false;
|
|
83
|
-
|
|
84
|
-
// Monkey-patch to fix #97
|
|
85
|
-
var oldStopPropagation = event.stopPropagation;
|
|
86
|
-
|
|
87
|
-
event.stopPropagation = function () {
|
|
88
|
-
oldStopPropagation.call(event);
|
|
89
|
-
propagationStopped = true;
|
|
90
|
-
};
|
|
91
|
-
|
|
92
82
|
var curNode = event.target;
|
|
93
83
|
if (!curNode) {
|
|
94
84
|
return;
|
|
@@ -111,15 +101,29 @@ function addDelegatedEventHandlerToHost(eventType, host) {
|
|
|
111
101
|
// Attributes will have the following form:
|
|
112
102
|
// on<event_type>("<target_method>|<component_id>")
|
|
113
103
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
104
|
+
if (event.bubbles) {
|
|
105
|
+
var propagationStopped = false;
|
|
106
|
+
|
|
107
|
+
// Monkey-patch to fix #97
|
|
108
|
+
var oldStopPropagation = event.stopPropagation;
|
|
117
109
|
|
|
118
|
-
|
|
119
|
-
|
|
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
|
+
}
|
|
120
122
|
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
+
} while ((curNode = curNode.parentNode) && curNode.getAttribute);
|
|
124
|
+
} else if ((target = getEventFromEl(curNode, propName))) {
|
|
125
|
+
delegateEvent(curNode, propName, target, event);
|
|
126
|
+
}
|
|
123
127
|
}),
|
|
124
128
|
true
|
|
125
129
|
);
|