1
0
Fork 0
forked from 0x2620/oxjs

add documentation browser (Ox.DocPanel, demo, more documentation)

This commit is contained in:
rolux 2011-05-07 17:56:29 +02:00
commit 698d57abb0
11 changed files with 1610 additions and 1179 deletions

View file

@ -3,30 +3,29 @@ Ox.DocPage = function(options, self) {
self = self || {};
var that = Ox.Element({}, self)
.defaults({
doc: ''
item: {}
})
.options(options || {})
.addClass('OxText')
.css({
width: '640px',
height: '400px',
overflow: 'auto'
});
$('body').css('overflowY', 'scroll')
Ox.print('-------------------item', self.options.item)
that.append($('<h1>').append('<code>' + self.options.doc.name + '</code>'));
that.append($('<h1>').append('<code>' + self.options.item.name + '</code>'));
getItem(self.options.doc, 0, '').forEach(function($element) {
getItem(self.options.item, 0).forEach(function($element) {
that.append($element);
})
});
function getItem(item, level) {
function getItem(item, level, name) {
var $elements = [$('<div>')
.css({paddingLeft: ((level * 32) + 'px')})
.html(
'<code><b>' + item.name + '</b> ' +
'<code><b>' + (name || item.name) + '</b> ' +
'&lt;' + item.types.join('&gt;</code> or <code>&lt;') + '&gt; </code>' +
(item.default ? 'default: <code>' + item.default + ' </code>' : '') +
Ox.parseHTML(item.summary)
)
];
@ -89,7 +88,6 @@ Ox.DocPage = function(options, self) {
.html(
'<code><b>&gt;&nbsp;' +
Ox.encodeHTML(example.statement)
//example.statement
.replace(/ /g, '&nbsp;')
.replace(/\n/g, '<br/>\n&nbsp;&nbsp;') +
'</b></code>'
@ -120,12 +118,11 @@ Ox.DocPage = function(options, self) {
);
} else {
item[section].forEach(function(v) {
if (section == 'usage') {
v.name = item.name + v.name + ' </b></code>returns<code> <b>';
}
var name = section == 'usage' ?
item.name + v.name + ' </b></code>returns<code> <b>' : null;
$elements = Ox.merge(
$elements,
Ox.map(getItem(v, level + 1), function($element) {
Ox.map(getItem(v, level + 1, name), function($element) {
return $element.addClass(className);
})
);