saloe 0.0.81 → 0.0.83
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/listener.cjs.js +13 -3
- package/dist/listener.es.js +13 -3
- package/package.json +1 -1
- package/src/listener.js +1 -36
package/dist/listener.cjs.js
CHANGED
|
@@ -152,20 +152,30 @@ const listener = ({
|
|
|
152
152
|
if (closestButton) return closestButton;
|
|
153
153
|
return srcElement;
|
|
154
154
|
};
|
|
155
|
+
const cloneSrcElement = ({ srcElement }) => {
|
|
156
|
+
const newSrcElement = document.createElement(srcElement == null ? void 0 : srcElement.tagName);
|
|
157
|
+
Array.from(srcElement == null ? void 0 : srcElement.attributes).forEach((attr) => {
|
|
158
|
+
if (attr.name.startsWith("on-")) return;
|
|
159
|
+
newSrcElement.setAttribute(attr.name, attr.value);
|
|
160
|
+
});
|
|
161
|
+
return newSrcElement;
|
|
162
|
+
};
|
|
155
163
|
const isAnchorBeingClicked = ({ srcElement, eventName }) => {
|
|
156
164
|
return (srcElement == null ? void 0 : srcElement.tagName) === "A" && eventName === "click";
|
|
157
165
|
};
|
|
166
|
+
const clickDefaultAnchor = ({ srcElement }) => {
|
|
167
|
+
const newAnchor = cloneSrcElement({ srcElement });
|
|
168
|
+
newAnchor.click();
|
|
169
|
+
};
|
|
158
170
|
const fireListeners = () => {
|
|
159
171
|
EVENTS.forEach((eventName) => {
|
|
160
172
|
document.body[`on${eventName}`] = async (e) => {
|
|
161
173
|
const srcElement = getSrcElement({ srcElement: e == null ? void 0 : e.srcElement, eventName });
|
|
162
174
|
const isAnchorClicked = isAnchorBeingClicked({ srcElement, eventName });
|
|
163
175
|
if (isAnchorClicked) e.preventDefault();
|
|
164
|
-
console.log("--- document.body ~ srcElement =", srcElement);
|
|
165
|
-
console.log("--- document.body ~ eventName =", eventName);
|
|
166
176
|
const listeners = await fetchListeners({ srcElement, eventName, e });
|
|
167
177
|
const afterExecuteListeners = isAnchorClicked ? () => {
|
|
168
|
-
|
|
178
|
+
clickDefaultAnchor({ srcElement });
|
|
169
179
|
} : null;
|
|
170
180
|
executeListeners({ e, srcElement, listeners, afterExecuteListeners });
|
|
171
181
|
addListener({ srcElement, eventName, listeners, afterExecuteListeners });
|
package/dist/listener.es.js
CHANGED
|
@@ -150,20 +150,30 @@ const listener = ({
|
|
|
150
150
|
if (closestButton) return closestButton;
|
|
151
151
|
return srcElement;
|
|
152
152
|
};
|
|
153
|
+
const cloneSrcElement = ({ srcElement }) => {
|
|
154
|
+
const newSrcElement = document.createElement(srcElement == null ? void 0 : srcElement.tagName);
|
|
155
|
+
Array.from(srcElement == null ? void 0 : srcElement.attributes).forEach((attr) => {
|
|
156
|
+
if (attr.name.startsWith("on-")) return;
|
|
157
|
+
newSrcElement.setAttribute(attr.name, attr.value);
|
|
158
|
+
});
|
|
159
|
+
return newSrcElement;
|
|
160
|
+
};
|
|
153
161
|
const isAnchorBeingClicked = ({ srcElement, eventName }) => {
|
|
154
162
|
return (srcElement == null ? void 0 : srcElement.tagName) === "A" && eventName === "click";
|
|
155
163
|
};
|
|
164
|
+
const clickDefaultAnchor = ({ srcElement }) => {
|
|
165
|
+
const newAnchor = cloneSrcElement({ srcElement });
|
|
166
|
+
newAnchor.click();
|
|
167
|
+
};
|
|
156
168
|
const fireListeners = () => {
|
|
157
169
|
EVENTS.forEach((eventName) => {
|
|
158
170
|
document.body[`on${eventName}`] = async (e) => {
|
|
159
171
|
const srcElement = getSrcElement({ srcElement: e == null ? void 0 : e.srcElement, eventName });
|
|
160
172
|
const isAnchorClicked = isAnchorBeingClicked({ srcElement, eventName });
|
|
161
173
|
if (isAnchorClicked) e.preventDefault();
|
|
162
|
-
console.log("--- document.body ~ srcElement =", srcElement);
|
|
163
|
-
console.log("--- document.body ~ eventName =", eventName);
|
|
164
174
|
const listeners = await fetchListeners({ srcElement, eventName, e });
|
|
165
175
|
const afterExecuteListeners = isAnchorClicked ? () => {
|
|
166
|
-
|
|
176
|
+
clickDefaultAnchor({ srcElement });
|
|
167
177
|
} : null;
|
|
168
178
|
executeListeners({ e, srcElement, listeners, afterExecuteListeners });
|
|
169
179
|
addListener({ srcElement, eventName, listeners, afterExecuteListeners });
|
package/package.json
CHANGED
package/src/listener.js
CHANGED
|
@@ -241,29 +241,6 @@ const listener = ({
|
|
|
241
241
|
return newSrcElement
|
|
242
242
|
}
|
|
243
243
|
|
|
244
|
-
// const fireAnchorClickListener = () => {
|
|
245
|
-
// const anchors = document.querySelectorAll('a[on-click]')
|
|
246
|
-
// anchors?.forEach(async (anchor) => {
|
|
247
|
-
// const srcElement = anchor
|
|
248
|
-
// const eventName = 'click'
|
|
249
|
-
// const listeners = await fetchListeners({ srcElement, eventName })
|
|
250
|
-
|
|
251
|
-
// anchor.addEventListener(eventName, (e) => {`
|
|
252
|
-
// e.preventDefault()
|
|
253
|
-
|
|
254
|
-
// // executeListeners({ e, srcElement, listeners })
|
|
255
|
-
|
|
256
|
-
// console.log('--- anchor ~ srcElement =', srcElement)
|
|
257
|
-
// console.log('--- anchor ~ eventName =', eventName)
|
|
258
|
-
|
|
259
|
-
// // const newAnchor = cloneSrcElement({ srcElement })
|
|
260
|
-
// // newAnchor.click()
|
|
261
|
-
// })
|
|
262
|
-
|
|
263
|
-
// if (srcElement?.removeAttribute) srcElement.removeAttribute(`on-${eventName}`)
|
|
264
|
-
// })
|
|
265
|
-
// }
|
|
266
|
-
|
|
267
244
|
const isAnchorBeingClicked = ({ srcElement, eventName }) => {
|
|
268
245
|
return srcElement?.tagName === 'A' && eventName === 'click'
|
|
269
246
|
}
|
|
@@ -280,21 +257,10 @@ const listener = ({
|
|
|
280
257
|
const isAnchorClicked = isAnchorBeingClicked({ srcElement, eventName })
|
|
281
258
|
|
|
282
259
|
if (isAnchorClicked) e.preventDefault()
|
|
283
|
-
|
|
284
|
-
console.log('--- document.body ~ srcElement =', srcElement)
|
|
285
|
-
console.log('--- document.body ~ eventName =', eventName)
|
|
286
260
|
|
|
287
261
|
const listeners = await fetchListeners({ srcElement, eventName, e })
|
|
288
|
-
|
|
289
|
-
// executeListeners({ e, srcElement, listeners })
|
|
290
|
-
// addListener({ srcElement, eventName, listeners })
|
|
291
|
-
// if (srcElement?.removeAttribute) srcElement.removeAttribute(`on-${eventName}`)
|
|
292
|
-
|
|
293
262
|
const afterExecuteListeners = isAnchorClicked
|
|
294
|
-
? () => {
|
|
295
|
-
// return clickDefaultAnchor({ srcElement })
|
|
296
|
-
console.log('$$$ clickDefaultAnchor')
|
|
297
|
-
}
|
|
263
|
+
? () => { clickDefaultAnchor({ srcElement }) }
|
|
298
264
|
: null
|
|
299
265
|
|
|
300
266
|
executeListeners({ e, srcElement, listeners, afterExecuteListeners })
|
|
@@ -312,7 +278,6 @@ const listener = ({
|
|
|
312
278
|
await addScripts()
|
|
313
279
|
fireLoadListener()
|
|
314
280
|
fireObserverListeners()
|
|
315
|
-
// fireAnchorClickListener()
|
|
316
281
|
})
|
|
317
282
|
|
|
318
283
|
document.body.saloeListen = function () {
|