add documentation example
This commit is contained in:
parent
8104a9100e
commit
48d6e45ca7
2 changed files with 121 additions and 0 deletions
12
examples/documentation/index.html
Normal file
12
examples/documentation/index.html
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Documentation</title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||||
|
<link rel="shortcut icon" type="image/png" href="../../source/Ox.UI/themes/classic/png/icon16.png"/>
|
||||||
|
<script type="text/javascript" src="../../dev/Ox.js"></script>
|
||||||
|
<script type="text/javascript" src="js/example.js"></script>
|
||||||
|
<script>window.addEventListener('message', function(e) { e.origin == window.location.origin && eval(e.data); });</script>
|
||||||
|
</head>
|
||||||
|
<body></body>
|
||||||
|
</html>
|
109
examples/documentation/js/example.js
Normal file
109
examples/documentation/js/example.js
Normal file
|
@ -0,0 +1,109 @@
|
||||||
|
this.My = {};
|
||||||
|
|
||||||
|
//@ My.REQUEST_TIMEOUT <number> Request timeout, in seconds
|
||||||
|
My.REQUEST_TIMEOUT = 60;
|
||||||
|
|
||||||
|
/*@
|
||||||
|
My.MAGIC_CONSTANT <number> Magic constant needed for HTTP requests
|
||||||
|
Please note that the value for `MAGIC_CONSTANT` is browser-dependent.
|
||||||
|
*/
|
||||||
|
My.MAGIC_CONSTANT = navigator.userAgent.length % 2 == 0 ? 23 : 42;
|
||||||
|
|
||||||
|
/*@
|
||||||
|
My.favorites <object> ...
|
||||||
|
array <a> My favorite array
|
||||||
|
boolean <b> My favorite boolean value
|
||||||
|
date <d> My favorite date
|
||||||
|
element <e> My favorite HTML element
|
||||||
|
number <n> My favorite number
|
||||||
|
object <o> My favorite object
|
||||||
|
regexp <r> My favorite regular expression
|
||||||
|
string <s> My favorite string
|
||||||
|
*/
|
||||||
|
My.favorites = {
|
||||||
|
array: [],
|
||||||
|
boolean: false,
|
||||||
|
date: new Date(0);
|
||||||
|
element: document.createElement('a'),
|
||||||
|
number: 0,
|
||||||
|
object: {},
|
||||||
|
regexp: new RegExp(''),
|
||||||
|
string: ''
|
||||||
|
};
|
||||||
|
|
||||||
|
/*@
|
||||||
|
(url[, method], callback) -> <u> undefined
|
||||||
|
url <s> URL
|
||||||
|
method <s|'GET'> Request method ('GET', 'POST', 'PUT' or 'DELETE')
|
||||||
|
callback <f> Callback function
|
||||||
|
*/
|
||||||
|
My.readURL = function(url, method, callback) {
|
||||||
|
var request = new XMLHttpRequest();
|
||||||
|
if (arguments.length == 2) {
|
||||||
|
callback = method;
|
||||||
|
method = 'GET';
|
||||||
|
}
|
||||||
|
request.open(method, url, true);
|
||||||
|
req.onreadystatechange = function() {
|
||||||
|
if (request.readyState == 4) {
|
||||||
|
if (request.status == 200) {
|
||||||
|
callback(request.responseText);
|
||||||
|
} else {
|
||||||
|
throw new Error(
|
||||||
|
'Cannot get URL "' + url
|
||||||
|
+ '" (Status: ' + request.status + ')'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
request.send();
|
||||||
|
};
|
||||||
|
|
||||||
|
/*@
|
||||||
|
My.isOdd <f> Synchronously or asynchronously computes if a given number is odd
|
||||||
|
(number) -> <b> True if the number is odd
|
||||||
|
(number, callback) -> <u> undefined
|
||||||
|
number <n> Any number
|
||||||
|
callback <f> Callback function
|
||||||
|
isOdd <b> True if the number is odd
|
||||||
|
ms <n> Time it took to compute the result, in milliseconds
|
||||||
|
*/
|
||||||
|
My.isOdd = function(number, callback) {
|
||||||
|
var time = +new Date, isOdd = !!(number % 2);
|
||||||
|
if (callback) {
|
||||||
|
callback(isOdd, +new Date - time);
|
||||||
|
} else {
|
||||||
|
return isOdd;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Occasionally, you may write a function whose signature cannot be represented in
|
||||||
|
`(required[, optional])` notation. For a range function — `(stop)` or `(start,
|
||||||
|
stop)` or `(start, stop, step)` — the notation `([start, ]stop[, step])` would
|
||||||
|
be ambigious, since you cannot call it with `(stop, step)`.
|
||||||
|
*/
|
||||||
|
/*@
|
||||||
|
My.range <f> Returns a python-style range
|
||||||
|
(b) -> <[n]> Integers from 0 (inclusive) to b (exclusive)
|
||||||
|
(a, b) -> <[n]> Integers from a (inclusice) to b (exclusive)
|
||||||
|
(a, b, x) -> <[n]> Numbers from a (inclusive) to b (exclusive), growing by x
|
||||||
|
*/
|
||||||
|
My.range = function() {
|
||||||
|
var a = [];
|
||||||
|
Ox.loop.apply(null, Ox.toArray(arguments).concat(function(i) {
|
||||||
|
a.push(i);
|
||||||
|
}));
|
||||||
|
return a;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
My.foo = {
|
||||||
|
array: [
|
||||||
|
{a: 1, b: 2},
|
||||||
|
{c: 3, d: 4}
|
||||||
|
],
|
||||||
|
objects: {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue