PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.3.1
GiveWP – Donation Plugin and Fundraising Platform v4.3.1
4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / Views / Form / Templates / Classic / resources / js / not-jquery.js
give / src / Views / Form / Templates / Classic / resources / js Last commit date
form.js 3 years ago is-feature-active.js 4 years ago not-jquery.js 4 years ago
not-jquery.js
101 lines
1 /**
2 * Collect all siblings until a selector.
3 *
4 * @param {Node} node
5 * @param {string} selector
6 *
7 * @return {Node[]}
8 */
9 export function nextUntil(node, selector) {
10 const siblings = [];
11 const sibling = node.nextElementSibling;
12
13 while (sibling) {
14 if (sibling.matches(selector)) break;
15
16 siblings.push(sibling);
17 sibling = sibling.nextElementSibling;
18 }
19
20 return siblings;
21 }
22
23 /**
24 * The missing after version of insertBefore.
25 *
26 * @param {Node} newNode
27 * @param {Node} referenceNode
28 */
29 export function insertAfter(newNode, referenceNode) {
30 referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
31 }
32
33 /**
34 * @param {Node} node
35 */
36 export function removeNode(nodeToRemove) {
37 nodeToRemove?.parentNode.removeChild(nodeToRemove);
38 }
39
40 /**
41 * Creates a DOM Node from an HTML string.
42 *
43 * @param {string} htmlString
44 * @returns {Node}
45 */
46 export function nodeFromString(htmlString) {
47 const temp = document.createElement('template');
48 htmlString.trim();
49 temp.innerHTML = htmlString;
50 return temp.content.firstChild;
51 }
52
53 /**
54 * Execute a function when the DOM is fully loaded.
55 *
56 * @param {function} fn
57 */
58 export const domIsReady = (fn) =>
59 document.readyState !== 'loading' ? window.setTimeout(fn, 0) : document.addEventListener('DOMContentLoaded', fn);
60
61 /**
62 * Convert pixels to rem.
63 *
64 * @param {string|number} pixelValue
65 * @returns {string} The pixel value in rem as a DOM string.
66 */
67 export function pixelsToRem(pixelValue) {
68 const {fontSize: rootFontSize} = window.getComputedStyle(document.documentElement);
69
70 // Using parseInt here is an assumption that no one is overriding our root font-size.
71 return `${Number.parseFloat(pixelValue) / Number.parseFloat(rootFontSize)}rem`;
72 }
73
74 /**
75 * Convert pixels to em.
76 *
77 * @param {string|number} pixelValue
78 * @param {Element} element
79 * @returns {string} The pixel value in rem as a DOM string.
80 */
81 export function pixelsToEm(pixelValue, element) {
82 const {fontSize} = window.getComputedStyle(element);
83
84 return `${Number.parseFloat(pixelValue) / Number.parseFloat(fontSize)}em`;
85 }
86
87 /**
88 * Measure some text.
89 *
90 * @param {string} text
91 * @param {string} textProp - defaults to the node’s textContent
92 * @returns {string}
93 */
94 export function measureText(node, textProp = 'textContent') {
95 const context = document.createElement('canvas').getContext('2d');
96 const {fontWeight, fontSize, fontFamily} = window.getComputedStyle(node);
97 context.font = `${fontWeight} ${fontSize} ${fontFamily}`;
98
99 return context.measureText(node[textProp]).width;
100 }
101