$.expr[':'].icontains = function(obj, index, meta, stack){\r
return (obj.textContent.replace(/\[[0-9]+\]/g, "") || obj.innerText.replace(/\[[0-9]+\]/g, "") || jQuery(obj).text().replace(/\[[0-9]+\]/g, "") || '').toLowerCase().indexOf(meta[3].toLowerCase()) >= 0;\r
};\r
-\r
/*\r
* Quick Search global vars\r
*/\r
//Hightlighted index in search result preview table\r
var currentIndex = -1;\r
\r
-\r
/*\r
* Add folding and filtering facilities to class description page.\r
*/\r
$(document).ready(function() {\r
- \r
+\r
/*\r
* Highlight the spoted element\r
*/\r
$(this).find("a.fold").html("+");\r
}\r
$(this).nextAll().toggle();\r
- })
-
+ })\r
+ \r
// Insert search field\r
$("nav.main ul")\r
.append(\r
\r
// Escape regexp related characters in query\r
var query = $("#search").val();\r
+ query = query.replace(/\\/gi, "\\\\");\r
query = query.replace(/\[/gi, "\\[");\r
query = query.replace(/\|/gi, "\\|");\r
query = query.replace(/\*/gi, "\\*");\r
query = query.replace(/\+/gi, "\\+");\r
- query = query.replace(/\\/gi, "\\\\");\r
query = query.replace(/\?/gi, "\\?");\r
query = query.replace(/\(/gi, "\\(");\r
query = query.replace(/\)/gi, "\\)");\r
+ query = query.replace(/&/gi, "&&");\r
+ query = query.replace(/>/gi, ">");\r
+ query = query.replace(/</gi, "<");\r
\r
var index = 0;\r
var regexp = new RegExp("^" + query, "i");\r
break;\r
}\r
var result = entry.match(regexp);\r
- if(result != null && result.toString().toUpperCase() == $("#search").val().toUpperCase()) {\r
+ if(result != null) {\r
for(var i = 0; i < entries[entry].length; i++) {\r
if(index > 10) {\r
break;\r
})\r
)\r
);\r
-
+ \r
// Filter toggle between H I R in nav porperties list\r
$("nav.properties.filterable .filter")\r
.append(\r
\r
$(this).toggleClass("hidden");\r
})\r
- );
-
- // Filter toggle between I R in
+ );\r
+ \r
+ // Filter toggle between I R in \r
$("article.properties.filterable .filter, article.classes.filterable .filter")\r
.append(\r
$(document.createElement("a"))\r
$("a[href*='#']").click( function() {\r
highlightBlock($(this).attr("href").split(/#/)[1]);\r
});\r
- \r
+\r
//Preload filter fields with query string\r
preloadFilters();\r
+\r
+ //Copy to clipboard utility on signatures\r
+ $(".signature").each(function(){\r
+ $(this).append(\r
+ $("<button class='copyButton' data-clipboard-text='" + $(this).attr("data-untyped-signature") + "'></button>")\r
+ .append($("<img src='./resources/icons/copy.png' />"))\r
+ )\r
+ });\r
+\r
+ var clip = new ZeroClipboard($(".copyButton"), {\r
+ moviePath: "./ZeroClipboard.swf"\r
+ } );\r
});\r
\r
/* Parse current URL and return anchor name */\r
return null;\r
}\r
\r
-/* Prealod filters field using search query */
-function preloadFilters() {
- // Parse URL and get query string
- var search = currentAnchor();
-
- if(search == null || search.indexOf("q=") == -1)
- return;
-
+/* Prealod filters field using search query */\r
+function preloadFilters() {\r
+ // Parse URL and get query string\r
+ var search = currentAnchor();\r
+ \r
+ if(search == null || search.indexOf("q=") == -1)\r
+ return;\r
+ \r
search = search.substring(2, search.length); \r
-
- if(search == "" || search == "undefined")
- return;
\r
- $(":text").val(search);
- $(".filter :text")
- .removeClass("notUsed")
- .trigger("keyup");
-
+ if(search == "" || search == "undefined")\r
+ return;\r
+ \r
+ $(":text").val(search);\r
+ $(".filter :text")\r
+ .removeClass("notUsed")\r
+ .trigger("keyup");\r
+\r
}\r
\r
/* Hightlight the spoted block */\r
\r
target.addClass("highlighted");\r
target.show();\r
-}
\ No newline at end of file
+}\r