Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F9339327
full_list.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
5 KB
Subscribers
None
full_list.js
View Options
(
function
()
{
var
$clicked
=
$
(
null
);
var
searchTimeout
=
null
;
var
searchCache
=
[];
var
caseSensitiveMatch
=
false
;
var
ignoreKeyCodeMin
=
8
;
var
ignoreKeyCodeMax
=
46
;
var
commandKey
=
91
;
RegExp
.
escape
=
function
(
text
)
{
return
text
.
replace
(
/[-[\]{}()*+?.,\\^$|#\s]/g
,
"\\$&"
);
}
function
escapeShortcut
()
{
$
(
document
).
keydown
(
function
(
evt
)
{
if
(
evt
.
which
==
27
)
{
window
.
parent
.
postMessage
(
'navEscape'
,
'*'
);
}
});
}
function
navResizer
()
{
$
(
window
).
mousemove
(
function
(
e
)
{
window
.
parent
.
postMessage
({
action
:
'mousemove'
,
event
:
{
pageX
:
e
.
pageX
,
which
:
e
.
which
}
},
'*'
);
}).
mouseup
(
function
(
e
)
{
window
.
parent
.
postMessage
({
action
:
'mouseup'
},
'*'
);
});
window
.
parent
.
postMessage
(
"navReady"
,
"*"
);
}
function
clearSearchTimeout
()
{
clearTimeout
(
searchTimeout
);
searchTimeout
=
null
;
}
function
enableLinks
()
{
// load the target page in the parent window
$
(
'#full_list li'
).
on
(
'click'
,
function
(
evt
)
{
$
(
'#full_list li'
).
removeClass
(
'clicked'
);
$clicked
=
$
(
this
);
$clicked
.
addClass
(
'clicked'
);
evt
.
stopPropagation
();
if
(
evt
.
target
.
tagName
===
'A'
)
return
true
;
var
elem
=
$clicked
.
find
(
'> .item .object_link a'
)[
0
];
var
e
=
evt
.
originalEvent
;
var
newEvent
=
new
MouseEvent
(
evt
.
originalEvent
.
type
);
newEvent
.
initMouseEvent
(
e
.
type
,
e
.
canBubble
,
e
.
cancelable
,
e
.
view
,
e
.
detail
,
e
.
screenX
,
e
.
screenY
,
e
.
clientX
,
e
.
clientY
,
e
.
ctrlKey
,
e
.
altKey
,
e
.
shiftKey
,
e
.
metaKey
,
e
.
button
,
e
.
relatedTarget
);
elem
.
dispatchEvent
(
newEvent
);
evt
.
preventDefault
();
return
false
;
});
}
function
enableToggles
()
{
// show/hide nested classes on toggle click
$
(
'#full_list a.toggle'
).
on
(
'click'
,
function
(
evt
)
{
evt
.
stopPropagation
();
evt
.
preventDefault
();
$
(
this
).
parent
().
parent
().
toggleClass
(
'collapsed'
);
highlight
();
});
}
function
populateSearchCache
()
{
$
(
'#full_list li .item'
).
each
(
function
()
{
var
$node
=
$
(
this
);
var
$link
=
$node
.
find
(
'.object_link a'
);
if
(
$link
.
length
>
0
)
{
searchCache
.
push
({
node
:
$node
,
link
:
$link
,
name
:
$link
.
text
(),
fullName
:
$link
.
attr
(
'title'
).
split
(
' '
)[
0
]
});
}
});
}
function
enableSearch
()
{
$
(
'#search input'
).
keyup
(
function
(
event
)
{
if
(
ignoredKeyPress
(
event
))
return
;
if
(
this
.
value
===
""
)
{
clearSearch
();
}
else
{
performSearch
(
this
.
value
);
}
});
$
(
'#full_list'
).
after
(
"<div id='noresults' style='display:none'></div>"
);
}
function
ignoredKeyPress
(
event
)
{
if
(
(
event
.
keyCode
>
ignoreKeyCodeMin
&&
event
.
keyCode
<
ignoreKeyCodeMax
)
||
(
event
.
keyCode
==
commandKey
)
)
{
return
true
;
}
else
{
return
false
;
}
}
function
clearSearch
()
{
clearSearchTimeout
();
$
(
'#full_list .found'
).
removeClass
(
'found'
).
each
(
function
()
{
var
$link
=
$
(
this
).
find
(
'.object_link a'
);
$link
.
text
(
$link
.
text
());
});
$
(
'#full_list, #content'
).
removeClass
(
'insearch'
);
$clicked
.
parents
().
removeClass
(
'collapsed'
);
highlight
();
}
function
performSearch
(
searchString
)
{
clearSearchTimeout
();
$
(
'#full_list, #content'
).
addClass
(
'insearch'
);
$
(
'#noresults'
).
text
(
''
).
hide
();
partialSearch
(
searchString
,
0
);
}
function
partialSearch
(
searchString
,
offset
)
{
var
lastRowClass
=
''
;
var
i
=
null
;
for
(
i
=
offset
;
i
<
Math
.
min
(
offset
+
50
,
searchCache
.
length
);
i
++
)
{
var
item
=
searchCache
[
i
];
var
searchName
=
(
searchString
.
indexOf
(
'::'
)
!=
-
1
?
item
.
fullName
:
item
.
name
);
var
matchString
=
buildMatchString
(
searchString
);
var
matchRegexp
=
new
RegExp
(
matchString
,
caseSensitiveMatch
?
""
:
"i"
);
if
(
searchName
.
match
(
matchRegexp
)
==
null
)
{
item
.
node
.
removeClass
(
'found'
);
item
.
link
.
text
(
item
.
link
.
text
());
}
else
{
item
.
node
.
addClass
(
'found'
);
item
.
node
.
removeClass
(
lastRowClass
).
addClass
(
lastRowClass
==
'r1'
?
'r2'
:
'r1'
);
lastRowClass
=
item
.
node
.
hasClass
(
'r1'
)
?
'r1'
:
'r2'
;
item
.
link
.
html
(
item
.
name
.
replace
(
matchRegexp
,
"<strong>$&</strong>"
));
}
}
if
(
i
==
searchCache
.
length
)
{
searchDone
();
}
else
{
searchTimeout
=
setTimeout
(
function
()
{
partialSearch
(
searchString
,
i
);
},
0
);
}
}
function
searchDone
()
{
searchTimeout
=
null
;
highlight
();
if
(
$
(
'#full_list li:visible'
).
size
()
===
0
)
{
$
(
'#noresults'
).
text
(
'No results were found.'
).
hide
().
fadeIn
();
}
else
{
$
(
'#noresults'
).
text
(
''
).
hide
();
}
$
(
'#content'
).
removeClass
(
'insearch'
);
}
function
buildMatchString
(
searchString
,
event
)
{
caseSensitiveMatch
=
searchString
.
match
(
/[A-Z]/
)
!=
null
;
var
regexSearchString
=
RegExp
.
escape
(
searchString
);
if
(
caseSensitiveMatch
)
{
regexSearchString
+=
"|"
+
$
.
map
(
searchString
.
split
(
''
),
function
(
e
)
{
return
RegExp
.
escape
(
e
);
}).
join
(
'.+?'
);
}
return
regexSearchString
;
}
function
highlight
()
{
$
(
'#full_list li:visible'
).
each
(
function
(
n
)
{
$
(
this
).
removeClass
(
'even odd'
).
addClass
(
n
%
2
==
0
?
'odd'
:
'even'
);
});
}
/**
* Expands the tree to the target element and its immediate
* children.
*/
function
expandTo
(
path
)
{
var
$target
=
$
(
document
.
getElementById
(
'object_'
+
path
));
$target
.
addClass
(
'clicked'
);
$target
.
removeClass
(
'collapsed'
);
$target
.
parentsUntil
(
'#full_list'
,
'li'
).
removeClass
(
'collapsed'
);
if
(
$target
[
0
])
{
window
.
scrollTo
(
window
.
scrollX
,
$target
.
offset
().
top
-
250
);
highlight
();
}
}
function
windowEvents
(
event
)
{
var
msg
=
event
.
data
;
if
(
msg
.
action
===
"expand"
)
{
expandTo
(
msg
.
path
);
}
return
false
;
}
window
.
addEventListener
(
"message"
,
windowEvents
,
false
);
$
(
document
).
ready
(
function
()
{
escapeShortcut
();
navResizer
();
enableLinks
();
enableToggles
();
populateSearchCache
();
enableSearch
();
});
})();
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Jul 4 2025, 9:36 AM (5 w, 5 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3282595
Attached To
R140 puppet-puppet-php
Event Timeline
Log In to Comment