Alien-GvaScript
view release on metacpan or search on metacpan
doc/html/ProtoExtensions.html view on Meta::CPAN
<html>
<head>
<script src="../../lib/Alien/GvaScript/lib/prototype.js"></script>
<script src="../../lib/Alien/GvaScript/lib/GvaScript.js"></script>
<link href="GvaScript_doc.css" rel="stylesheet" type="text/css">
<script>
document.observe('dom:loaded', function() { new GvaScript.TreeNavigator('TN_tree'); });
function jumpto_href(event) {
var label = event.controller.label(event.target);
if (label && label.tagName == "A") {
label.focus();
return Event.stopNone;
}
}
</script>
</head>
<body>
<div id='TN_tree'>
<div class="TN_node">
<h1 class="TN_label">Alien::GvaScript::ProtoExtensions</h1>
<div class="TN_content">
<p><em>Extensions to prototype.js
</em></p>
<div class="TN_node" onPing="jumpto_href">
<h3 class="TN_label">Table of contents</h3>
<div class="TN_content">
<div class="TN_leaf">
<a class="TN_label" href="#NAME">NAME</a>
<div class="TN_content"></div>
</div>
<div class="TN_leaf">
<a class="TN_label" href="#SYNOPSIS">SYNOPSIS</a>
<div class="TN_content"></div>
</div>
<div class="TN_leaf">
<a class="TN_label" href="#DESCRIPTION">DESCRIPTION</a>
<div class="TN_content"></div>
</div>
<div class="TN_node">
<a class="TN_label" href="#METHODS">METHODS</a>
<div class="TN_content"><div class="TN_leaf">
<a class="TN_label" href="#Events_delegation">Events delegation</a>
<div class="TN_content"></div>
</div>
<div class="TN_leaf">
<a class="TN_label" href="#Prototype_getJSON">Prototype.getJSON</a>
<div class="TN_content"></div>
</div>
<div class="TN_node">
<a class="TN_label" href="#Hash_utilities">Hash utilities</a>
<div class="TN_content"><div class="TN_leaf">
<a class="TN_label" href="#Hash_expand">Hash.expand</a>
<div class="TN_content"></div>
</div>
<div class="TN_leaf">
<a class="TN_label" href="#Hash_flatten">Hash.flatten</a>
<div class="TN_content"></div>
</div>
</div>
</div>
<div class="TN_node">
<a class="TN_label" href="#String_extensions">String extensions</a>
<div class="TN_content"><div class="TN_leaf">
<a class="TN_label" href="#chomp">chomp</a>
<div class="TN_content"></div>
</div>
</div>
</div>
<div class="TN_node">
<a class="TN_label" href="#Element_extensions">Element extensions</a>
<div class="TN_content"><div class="TN_leaf">
<a class="TN_label" href="#flash">flash</a>
<div class="TN_content"></div>
</div>
<div class="TN_leaf">
<a class="TN_label" href="#hasAnyClass">hasAnyClass</a>
<div class="TN_content"></div>
</div>
<div class="TN_leaf">
<a class="TN_label" href="#getElementsByClassNames">getElementsByClassNames</a>
<div class="TN_content"></div>
</div>
<div class="TN_leaf">
<a class="TN_label" href="#navigateDom">navigateDom</a>
<div class="TN_content"></div>
</div>
<div class="TN_leaf">
<a class="TN_label" href="#autoScroll">autoScroll</a>
<div class="TN_content"></div>
</div>
<div class="TN_leaf">
<a class="TN_label" href="#outerHTML">outerHTML</a>
<div class="TN_content"></div>
</div>
</div>
</div>
<div class="TN_node">
<a class="TN_label" href="#Form_Element_extensions">Form.Element extensions</a>
<div class="TN_content"><div class="TN_leaf">
<a class="TN_label" href="#setValue">setValue</a>
<div class="TN_content"></div>
</div>
</div>
</div>
<div class="TN_node">
<a class="TN_label" href="#Event_extensions">Event extensions</a>
<div class="TN_content"><div class="TN_leaf">
<a class="TN_label" href="#detailedStop">detailedStop</a>
<div class="TN_content"></div>
</div>
<div class="TN_leaf">
<a class="TN_label" href="#stopAll">stopAll</a>
doc/html/ProtoExtensions.html view on Meta::CPAN
</div>
</div>
<div class="TN_node" id="SYNOPSIS">
<h2 class="TN_label">SYNOPSIS</h2>
<div class="TN_content">
<pre> Element.hasAnyClass(elem, ["class1", "class2", ...]);
Element.getElementsByClassNames(elem, ["class1", "class2", ...]);
var stop_condition = function(elem) { return elem.tagName == "SPAN"};
Element.navigateDom(elem, "nextSibling", ["class1", "class2", ...],
stop_condition);
this.options = Class.checkOptions(defaultOptions, receivedOptions);
Element.register(elem, 'input.active', 'mouseover', function(e) {
e._target.addClassName('hover');
});
Element.unregister(elem, 'input.active', 'mouseover');
Element.store(elem, key, value);
Element.retrieve(elem, key, default);</pre>
</div>
</div>
<div class="TN_node" id="DESCRIPTION">
<h2 class="TN_label">DESCRIPTION</h2>
<div class="TN_content">
<p>Some extensions to the basic abstractions supplied by
prototype.js.</p>
</div>
</div>
<div class="TN_node" id="METHODS">
<h2 class="TN_label">METHODS</h2>
<div class="TN_content">
<div class="TN_node" id="Events_delegation">
<h3 class="TN_label">Events delegation</h3>
<div class="TN_content">
<pre> Will be a part of prototype's core distribution starting version 1.7
as discussed here
[https://prototype.lighthouseapp.com/projects/8886/tickets/435-eventdelegate-and-elementmethodsdelegate]</pre>
</div>
</div>
<div class="TN_node" id="Prototype_getJSON">
<h3 class="TN_label">Prototype.getJSON</h3>
<div class="TN_content">
<pre> Prototype.getJSON(url, callback)</pre>
<p>based on: getJSON function by Juriy Zaytsev <a href="http://github.com/kangax/protolicious/tree/master/get_json.js">http://github.com/kangax/protolicious/tree/master/get_json.js</a></p>
<p>A method to temporarily load JSON data (ideally hosted on a different domain and accessible via JSONP service) and send it over to callback method when ready.</p>
</div>
</div>
<div class="TN_node" id="Hash_utilities">
<h3 class="TN_label">Hash utilities</h3>
<div class="TN_content">
<div class="TN_node" id="Hash_expand">
<h4 class="TN_label">Hash.expand</h4>
<div class="TN_content">
<pre> var tree = Hash.expand(flat_hash);</pre>
<p>Transforms a flat structure of key-value pairs into a nested tree
structure, by splitting keys on dots.
The idea and algorithm come from <i>CGI::Expand/expand_hash</i>.</p>
<pre> Hash.expand({a: '...', b.0.x: '...', b.0.y: '...', b.1.x: '...', b.1.y: '...'}) =>
{a: '...', b: [{x: '...', y: '...'}, {x: '...', y: '...'}]}</pre>
</div>
</div>
<div class="TN_node" id="Hash_flatten">
<h4 class="TN_label">Hash.flatten</h4>
<div class="TN_content">
<p>The exact opposite of Hash.expand</p>
<p>Transforms a nested tree structure into a flat hash of key-value pairs
where nested keys are joined by a dot.</p>
</div>
</div>
</div>
</div>
<div class="TN_node" id="String_extensions">
<h3 class="TN_label">String extensions</h3>
<div class="TN_content">
<div class="TN_node" id="chomp">
<h4 class="TN_label">chomp</h4>
<div class="TN_content">
<p>Strips any trailing line breaks (\r\n) from a String.</p>
</div>
</div>
</div>
</div>
<div class="TN_node" id="Element_extensions">
<h3 class="TN_label">Element extensions</h3>
<div class="TN_content">
<div class="TN_node" id="flash">
<h4 class="TN_label">flash</h4>
<div class="TN_content">
<p>only applied to ['SPAN', 'DIV', 'INPUT', 'BUTTON', 'TEXTAREA', 'A'] elements.</p>
<p>used to set a classname to the element for a brief moment of time.</p>
<pre> Element.flash(elem, {duration: I<time_mes>, classname: I<classname_to_set>});</pre>
</div>
</div>
<div class="TN_node" id="hasAnyClass">
<h4 class="TN_label">hasAnyClass</h4>
<div class="TN_content">
<pre> if (Element.hasAnyClass(elem, ["class1", "class2", ...]) {...}
if (Element.hasAnyClass(elem, "class1") {...}</pre>
<p>Returns true if the supplied element has any of the given classes.
For convenience, also accepts a single string instead of an array
when testing for a single class.</p>
</div>
</div>
<div class="TN_node" id="getElementsByClassNames">
<h4 class="TN_label">getElementsByClassNames</h4>
<div class="TN_content">
<pre> var subElements
= Element.getElementsByClassNames(rootElement, ["class1", "class2", ...]);</pre>
<p>Returns an array of children of <code>rootElement</code> that have any
of the given class names.</p>
</div>
</div>
<div class="TN_node" id="navigateDom">
<h4 class="TN_label">navigateDom</h4>
( run in 0.471 second using v1.01-cache-2.11-cpan-5b529ec07f3 )