mirror of
https://code.forgejo.org/actions/setup-python
synced 2025-06-17 00:14:09 +02:00
Initial pass
This commit is contained in:
commit
39c08a0eaa
7242 changed files with 1886006 additions and 0 deletions
90
node_modules/nwsapi/src/modules/nwsapi-traversal.js
generated
vendored
Normal file
90
node_modules/nwsapi/src/modules/nwsapi-traversal.js
generated
vendored
Normal file
|
@ -0,0 +1,90 @@
|
|||
/*
|
||||
* Element Traversal methods from Juriy Zaytsev (kangax)
|
||||
* used to emulate Prototype up/down/previous/next methods
|
||||
*/
|
||||
|
||||
(function(D){
|
||||
|
||||
// TODO: all of this needs tests
|
||||
var match = D.match, select = D.select, root = document.documentElement,
|
||||
|
||||
// Use the Element Traversal API if available.
|
||||
nextElement = 'nextElementSibling',
|
||||
previousElement = 'previousElementSibling',
|
||||
parentElement = 'parentElement';
|
||||
|
||||
// Fall back to the DOM Level 1 API.
|
||||
if (!(nextElement in root)) nextElement = 'nextSibling';
|
||||
if (!(previousElement in root)) previousElement = 'previousSibling';
|
||||
if (!(parentElement in root)) parentElement = 'parentNode';
|
||||
|
||||
function walkElements(property, element, expr) {
|
||||
var i = 0, isIndex = typeof expr == 'number';
|
||||
if (typeof expr == 'undefined') {
|
||||
isIndex = true;
|
||||
expr = 0;
|
||||
}
|
||||
while ((element = element[property])) {
|
||||
if (element.nodeType != 1) continue;
|
||||
if (isIndex) {
|
||||
++i;
|
||||
if (i == expr) return element;
|
||||
} else if (match(element, expr)) {
|
||||
return element;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @method up
|
||||
* @param {HTMLElement} element element to walk from
|
||||
* @param {String | Number} expr CSS expression or an index
|
||||
* @return {HTMLElement | null}
|
||||
*/
|
||||
function up(element, expr) {
|
||||
return walkElements(parentElement, element, expr);
|
||||
}
|
||||
/**
|
||||
* @method next
|
||||
* @param {HTMLElement} element element to walk from
|
||||
* @param {String | Number} expr CSS expression or an index
|
||||
* @return {HTMLElement | null}
|
||||
*/
|
||||
function next(element, expr) {
|
||||
return walkElements(nextElement, element, expr);
|
||||
}
|
||||
/**
|
||||
* @method previous
|
||||
* @param {HTMLElement} element element to walk from
|
||||
* @param {String | Number} expr CSS expression or an index
|
||||
* @return {HTMLElement | null}
|
||||
*/
|
||||
function previous(element, expr) {
|
||||
return walkElements(previousElement, element, expr);
|
||||
}
|
||||
/**
|
||||
* @method down
|
||||
* @param {HTMLElement} element element to walk from
|
||||
* @param {String | Number} expr CSS expression or an index
|
||||
* @return {HTMLElement | null}
|
||||
*/
|
||||
function down(element, expr) {
|
||||
var isIndex = typeof expr == 'number', descendants, index, descendant;
|
||||
if (expr === null) {
|
||||
element = element.firstChild;
|
||||
while (element && element.nodeType != 1) element = element[nextElement];
|
||||
return element;
|
||||
}
|
||||
if (!isIndex && match(element, expr) || isIndex && expr === 0) return element;
|
||||
descendants = select('*', element);
|
||||
if (isIndex) return descendants[expr] || null;
|
||||
index = 0;
|
||||
while ((descendant = descendants[index]) && !match(descendant, expr)) { ++index; }
|
||||
return descendant || null;
|
||||
}
|
||||
D.up = up;
|
||||
D.down = down;
|
||||
D.next = next;
|
||||
D.previous = previous;
|
||||
})(NW.Dom);
|
Loading…
Add table
Add a link
Reference in a new issue