jsduck 2.0.pre4 → 3.0.pre
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/README.md +126 -34
- data/Rakefile +343 -115
- data/bin/jsduck +4 -196
- data/example.js +144 -0
- data/jsduck.gemspec +4 -9
- data/lib/jsduck/aggregator.rb +1 -1
- data/lib/jsduck/app.rb +165 -182
- data/lib/jsduck/categories.rb +17 -2
- data/lib/jsduck/class.rb +10 -0
- data/lib/jsduck/class_formatter.rb +77 -0
- data/lib/jsduck/doc_formatter.rb +42 -4
- data/lib/jsduck/doc_parser.rb +64 -10
- data/lib/jsduck/examples.rb +33 -0
- data/lib/jsduck/exporter.rb +18 -42
- data/lib/jsduck/guides.rb +41 -74
- data/lib/jsduck/icons.rb +28 -0
- data/lib/jsduck/js_literal_builder.rb +21 -0
- data/lib/jsduck/js_literal_parser.rb +106 -0
- data/lib/jsduck/js_parser.rb +115 -97
- data/lib/jsduck/json_duck.rb +45 -0
- data/lib/jsduck/lexer.rb +55 -25
- data/lib/jsduck/lint.rb +84 -0
- data/lib/jsduck/merger.rb +91 -21
- data/lib/jsduck/options.rb +320 -0
- data/lib/jsduck/relations.rb +7 -1
- data/lib/jsduck/renderer.rb +315 -0
- data/lib/jsduck/source_writer.rb +2 -2
- data/lib/jsduck/type_parser.rb +85 -0
- data/lib/jsduck/videos.rb +33 -0
- data/lib/jsduck/welcome.rb +21 -0
- data/{template → template-min}/README.md +0 -0
- data/template-min/app.js +1 -0
- data/template-min/build-js.html +25 -0
- data/template-min/egIframe.html +24 -0
- data/template-min/extjs/bootstrap.js +73 -0
- data/template-min/extjs/ext-all-debug.js +90047 -0
- data/{template → template-min}/extjs/ext-all.js +0 -0
- data/template-min/extjs/resources/css/ext-all.css +1 -0
- data/template-min/extjs/resources/themes/images/default/boundlist/trigger-arrow.png +0 -0
- data/template-min/extjs/resources/themes/images/default/box/corners-blue.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/box/corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/box/l-blue.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/box/l.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/box/r-blue.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/box/r.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/box/tb-blue.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/box/tb.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-disabled-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-disabled-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-disabled-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-focus-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-focus-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-focus-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-over-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-over-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-over-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-pressed-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-pressed-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-pressed-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-large-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-disabled-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-disabled-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-disabled-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-focus-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-focus-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-focus-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-over-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-over-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-over-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-pressed-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-pressed-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-pressed-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-medium-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-disabled-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-disabled-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-disabled-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-focus-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-focus-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-focus-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-over-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-over-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-over-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-pressed-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-pressed-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-pressed-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-small-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-disabled-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-disabled-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-disabled-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-disabled-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-disabled-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-disabled-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-notitle-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-notitle-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/button/arrow.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/button/btn.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/button/group-cs.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/button/group-lr.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/button/group-tb.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/button/s-arrow-b-noline.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/button/s-arrow-b.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/button/s-arrow-bo.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/button/s-arrow-light.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/button/s-arrow-noline.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/button/s-arrow-o.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/button/s-arrow.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/datepicker/datepicker-footer-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/datepicker/datepicker-footer-bg.png +0 -0
- data/template-min/extjs/resources/themes/images/default/datepicker/datepicker-header-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/datepicker/datepicker-header-bg.png +0 -0
- data/template-min/extjs/resources/themes/images/default/dd/drop-add.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/dd/drop-no.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/dd/drop-yes.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/editor/tb-sprite.gif +0 -0
- data/{template → template-min}/extjs/resources/themes/images/default/form/checkbox.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/form/clear-trigger.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/form/date-trigger.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/form/error-tip-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/form/exclamation.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/form/radio.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/form/search-trigger.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/form/spinner-small.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/form/spinner.gif +0 -0
- data/{template → template-min}/extjs/resources/themes/images/default/form/text-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/form/trigger-square.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/form/trigger-tpl.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/form/trigger.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-default-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-default-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/arrow-left-white.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/arrow-right-white.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/cell-special-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/cell-special-bg.png +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/cell-special-selected-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/cell-special-selected-bg.png +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/checked.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/col-move-bottom.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/col-move-top.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/column-header-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/column-header-bg.png +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/column-header-over-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/column-header-over-bg.png +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/columns.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/dd-insert-arrow-left.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/dd-insert-arrow-left.png +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/dd-insert-arrow-right.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/dd-insert-arrow-right.png +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/dirty.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/done.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/drop-no.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/drop-yes.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/footer-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/grid-blue-hd.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/grid-blue-split.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/grid-hrow.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/grid-loading.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/grid-split.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/grid-vista-hd.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/grid3-hd-btn.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/grid3-hrow-over.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/grid3-hrow.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/grid3-rowheader.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/group-by.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/group-collapse.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/group-expand-sprite.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/group-expand.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/hd-pop.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/hmenu-asc.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/hmenu-desc.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/hmenu-lock.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/hmenu-lock.png +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/hmenu-unlock.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/hmenu-unlock.png +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/invalid_line.gif +0 -0
- data/{template → template-min}/extjs/resources/themes/images/default/grid/loading.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/mso-hd.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/nowait.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/page-first-disabled.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/page-first.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/page-last-disabled.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/page-last.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/page-next-disabled.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/page-next.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/page-prev-disabled.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/page-prev.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/pick-button.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/property-cell-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/property-cell-selected-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/refresh-disabled.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/refresh.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/row-check-sprite.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/row-expand-sprite.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/row-over.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/row-sel.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/sort-hd.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/sort_asc.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/sort_desc.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/unchecked.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/grid/wait.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/layout/mini-bottom.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/layout/mini-left.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/layout/mini-right.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/layout/mini-top.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/menu/checked.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/menu/group-checked.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/menu/item-over.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/menu/menu-item-active-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/menu/menu-item-active-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/menu/menu-item-active-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/menu/menu-parent.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/menu/menu.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/menu/unchecked.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel/panel-default-framed-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel/panel-default-framed-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-bottom-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-right-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-right-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-right-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-top-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-top-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-top-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-right-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-right-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-right-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-left-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-right-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/panel-header/panel-header-default-top-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/progress/progress-default-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/shared/blue-loading.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/shared/calendar.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/shared/glass-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/shared/hd-sprite.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/shared/icon-error.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/shared/icon-info.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/shared/icon-question.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/shared/icon-warning.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/shared/large-loading.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/shared/left-btn.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/shared/loading-balls.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/shared/right-btn.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/shared/shadow-c.png +0 -0
- data/template-min/extjs/resources/themes/images/default/shared/shadow-lr.png +0 -0
- data/template-min/extjs/resources/themes/images/default/shared/shadow.png +0 -0
- data/template-min/extjs/resources/themes/images/default/shared/warning.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/sizer/e-handle-dark.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/sizer/e-handle.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/sizer/ne-handle-dark.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/sizer/ne-handle.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/sizer/nw-handle-dark.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/sizer/nw-handle.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/sizer/s-handle-dark.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/sizer/s-handle.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/sizer/se-handle-dark.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/sizer/se-handle.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/sizer/square.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/sizer/sw-handle-dark.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/sizer/sw-handle.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/slider/slider-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/slider/slider-bg.png +0 -0
- data/template-min/extjs/resources/themes/images/default/slider/slider-thumb.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/slider/slider-thumb.png +0 -0
- data/template-min/extjs/resources/themes/images/default/slider/slider-v-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/slider/slider-v-bg.png +0 -0
- data/template-min/extjs/resources/themes/images/default/slider/slider-v-thumb.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/slider/slider-v-thumb.png +0 -0
- data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-active-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-active-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-active-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-over-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-over-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-over-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tab/tab-default-bottom-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tab/tab-default-close.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-active-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-active-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-active-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-disabled-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-disabled-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-disabled-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-over-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-over-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-over-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tab/tab-default-top-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tab-bar/scroll-left.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tab-bar/scroll-right.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tab-bar/tab-bar-default-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tip/tip-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tip/tip-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/toolbar/more.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/toolbar/scroll-left.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/toolbar/scroll-right.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/toolbar/toolbar-default-bg.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tools/tool-sprite-tpl.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tools/tool-sprites.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tools/tools-sprites-trans.gif +0 -0
- data/{template → template-min}/extjs/resources/themes/images/default/tree/arrows.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tree/drop-above.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tree/drop-add.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tree/drop-append.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tree/drop-below.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tree/drop-between.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tree/drop-no.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tree/drop-over.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tree/drop-under.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tree/drop-yes.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tree/elbow-end-minus-nl.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tree/elbow-end-minus.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tree/elbow-end-plus-nl.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tree/elbow-end-plus.gif +0 -0
- data/{template/resources/images → template-min/extjs/resources/themes/images/default/tree}/elbow-end.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tree/elbow-line.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tree/elbow-minus-nl.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tree/elbow-minus.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tree/elbow-plus-nl.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tree/elbow-plus.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tree/elbow.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tree/folder-open.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tree/folder.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tree/leaf.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tree/loading.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/tree/s.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/util/splitter/mini-bottom.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/util/splitter/mini-left.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/util/splitter/mini-right.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/util/splitter/mini-top.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/window/window-default-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/window/window-default-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-bottom-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-bottom-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-left-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-left-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-right-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-right-sides.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-top-corners.gif +0 -0
- data/template-min/extjs/resources/themes/images/default/window-header/window-header-default-top-sides.gif +0 -0
- data/{template → template-min}/favicon.ico +0 -0
- data/template-min/index.php +59 -0
- data/template-min/print-template.html +22 -0
- data/template-min/resources/css/app.css +1 -0
- data/template-min/resources/images/arrows.png +0 -0
- data/{template → template-min}/resources/images/class-m.png +0 -0
- data/{template → template-min}/resources/images/class-sm.png +0 -0
- data/{template → template-min}/resources/images/component-m.png +0 -0
- data/{template → template-min}/resources/images/configs.png +0 -0
- data/{template → template-min}/resources/images/doc-m.png +0 -0
- data/template-min/resources/images/elbow-end.gif +0 -0
- data/{template → template-min}/resources/images/events.png +0 -0
- data/template-min/resources/images/example-icons.png +0 -0
- data/{template → template-min}/resources/images/expandcollapse.png +0 -0
- data/{template → template-min}/resources/images/guide-icon.png +0 -0
- data/{template → template-min}/resources/images/guides.png +0 -0
- data/template-min/resources/images/header.png +0 -0
- data/template-min/resources/images/hero-extjs4-alt.png +0 -0
- data/template-min/resources/images/icons.png +0 -0
- data/template-min/resources/images/link-green-standard-over.png +0 -0
- data/template-min/resources/images/link-green-standard.png +0 -0
- data/{template → template-min}/resources/images/loading-title.png +0 -0
- data/{template → template-min}/resources/images/loading.gif +0 -0
- data/template-min/resources/images/logo-screen-noglow.png +0 -0
- data/template-min/resources/images/logo.png +0 -0
- data/{template → template-min}/resources/images/member-collapsed.gif +0 -0
- data/{template → template-min}/resources/images/member-expanded.gif +0 -0
- data/{template → template-min}/resources/images/member-hover.gif +0 -0
- data/{template → template-min}/resources/images/methods.png +0 -0
- data/template-min/resources/images/more.png +0 -0
- data/template-min/resources/images/preview.png +0 -0
- data/template-min/resources/images/print.png +0 -0
- data/{template → template-min}/resources/images/properties.png +0 -0
- data/template-min/resources/images/search-box.png +0 -0
- data/{template → template-min}/resources/images/singleton-m.png +0 -0
- data/template-min/resources/images/tabs.png +0 -0
- data/{template → template-min}/resources/images/version-tabs.png +0 -0
- data/template-min/resources/images/welcome-bg-js4.gif +0 -0
- data/{template → template-min}/resources/images/x.png +0 -0
- data/{template → template-min}/resources/images/x12.png +0 -0
- data/template-min/resources/images/x122.png +0 -0
- data/{template/index.html → template-min/template.html} +9 -14
- data/template-min/welcome.html +78 -0
- metadata +429 -76
- data/lib/jsduck/jsonp.rb +0 -17
- data/lib/jsduck/tree.rb +0 -117
- data/lib/jsduck/tree_icons.rb +0 -19
- data/template/app/Application.js +0 -53
- data/template/app/Favorites.js +0 -88
- data/template/app/History.js +0 -45
- data/template/app/LocalStore.js +0 -45
- data/template/app/Settings.js +0 -39
- data/template/app/Syntax.js +0 -20
- data/template/app/controller/Classes.js +0 -301
- data/template/app/controller/Search.js +0 -189
- data/template/app/model/Favorite.js +0 -11
- data/template/app/model/Setting.js +0 -11
- data/template/app/store/Favorites.js +0 -7
- data/template/app/store/Search.js +0 -14
- data/template/app/store/Settings.js +0 -7
- data/template/app/view/ClassGrid.js +0 -114
- data/template/app/view/HoverMenu.js +0 -59
- data/template/app/view/HoverMenuButton.js +0 -147
- data/template/app/view/Viewport.js +0 -240
- data/template/app/view/cls/Header.js +0 -47
- data/template/app/view/cls/Overview.js +0 -415
- data/template/app/view/cls/Toolbar.js +0 -199
- data/template/app/view/index/Container.js +0 -62
- data/template/app/view/search/Dropdown.js +0 -115
- data/template/app/view/tree/Tree.js +0 -143
- data/template/app.js +0 -25
- data/template/prettify/prettify.css +0 -1
- data/template/prettify/prettify.js +0 -28
- data/template/resources/css/docs-ext.css +0 -3594
- data/template/resources/css/reset.css +0 -59
- data/template/resources/css/scrollbars.css +0 -14
- data/template/resources/css/viewport.css +0 -420
- data/template/resources/images/data-package.png +0 -0
- data/template/resources/images/drag-bar-center.png +0 -0
- data/template/resources/images/headBG.png +0 -0
- data/template/resources/images/header.gif +0 -0
- data/template/resources/images/icon.png +0 -0
- data/template/resources/images/icons.png +0 -0
- data/template/resources/images/model.png +0 -0
- data/template/resources/images/root-lines.png +0 -0
- data/template/resources/images/search-box.png +0 -0
data/lib/jsduck/tree.rb
DELETED
@@ -1,117 +0,0 @@
|
|
1
|
-
|
2
|
-
module JsDuck
|
3
|
-
|
4
|
-
# Creator of package-tree in the format expected by the
|
5
|
-
# documentation browser UI.
|
6
|
-
#
|
7
|
-
# See unit test for example output.
|
8
|
-
#
|
9
|
-
class Tree
|
10
|
-
def initialize
|
11
|
-
@root = {
|
12
|
-
:id => "apidocs",
|
13
|
-
:iconCls => "icon-docs",
|
14
|
-
:text => "API Documentation",
|
15
|
-
:children => []
|
16
|
-
}
|
17
|
-
@packages = {"" => @root}
|
18
|
-
end
|
19
|
-
|
20
|
-
# Given list of class documentation objects returns a
|
21
|
-
# tree-structure that can be turned into JSON that's needed by
|
22
|
-
# documentation browser interface.
|
23
|
-
def create(docs, guides=[])
|
24
|
-
docs.each {|cls| add_class(cls) }
|
25
|
-
sort_tree(@root)
|
26
|
-
add_guides(guides)
|
27
|
-
@root
|
28
|
-
end
|
29
|
-
|
30
|
-
# Sorts all child nodes, and recursively all child packages.
|
31
|
-
def sort_tree(node)
|
32
|
-
node[:children].sort! {|a,b| compare(a, b) }
|
33
|
-
node[:children].find_all {|c| c[:children] }.each {|c| sort_tree(c) }
|
34
|
-
end
|
35
|
-
|
36
|
-
# Comparson method that sorts package nodes before class nodes.
|
37
|
-
def compare(a, b)
|
38
|
-
if a[:leaf] == b[:leaf]
|
39
|
-
a[:text].casecmp(b[:text])
|
40
|
-
else
|
41
|
-
a[:leaf] ? 1 : -1
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
# When package for the class exists, add class node to that
|
46
|
-
# package; otherwise create the package first.
|
47
|
-
def add_class(cls)
|
48
|
-
parent_name = cls.package_name
|
49
|
-
parent = @packages[parent_name] || add_package(parent_name)
|
50
|
-
parent[:children] << class_node(cls)
|
51
|
-
end
|
52
|
-
|
53
|
-
# When parent package exists, add new package node into it, also
|
54
|
-
# record the package into @packages hash for quick lookups;
|
55
|
-
# otherwise create the parent package first.
|
56
|
-
#
|
57
|
-
# Note that the root package always exists, so we can safely
|
58
|
-
# recurse knowing we will eventually stop.
|
59
|
-
def add_package(name)
|
60
|
-
parent_name = Class.package_name(name)
|
61
|
-
parent = @packages[parent_name] || add_package(parent_name)
|
62
|
-
package = package_node(name)
|
63
|
-
parent[:children] << package
|
64
|
-
@packages[name] = package
|
65
|
-
package
|
66
|
-
end
|
67
|
-
|
68
|
-
# When guides list not empty, add guides to tree
|
69
|
-
def add_guides(guides)
|
70
|
-
if guides.length > 0
|
71
|
-
pkg = package_node("guides")
|
72
|
-
guides.each {|g| pkg[:children] << guide_node(g) }
|
73
|
-
@root[:children] << pkg
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
|
-
# Given full doc object for class creates class node
|
78
|
-
def class_node(cls)
|
79
|
-
return {
|
80
|
-
:text => cls.short_name,
|
81
|
-
:url => "/api/"+cls.full_name,
|
82
|
-
:iconCls => class_icon(cls),
|
83
|
-
:leaf => true
|
84
|
-
}
|
85
|
-
end
|
86
|
-
|
87
|
-
def class_icon(cls)
|
88
|
-
if cls[:singleton]
|
89
|
-
"icon-singleton"
|
90
|
-
elsif cls.inherits_from?("Ext.Component")
|
91
|
-
"icon-component"
|
92
|
-
else
|
93
|
-
"icon-class"
|
94
|
-
end
|
95
|
-
end
|
96
|
-
|
97
|
-
# Given full package name like my.package creates package node
|
98
|
-
def package_node(name)
|
99
|
-
return {
|
100
|
-
:text => Class.short_name(name),
|
101
|
-
:iconCls => "icon-pkg",
|
102
|
-
:children => []
|
103
|
-
}
|
104
|
-
end
|
105
|
-
|
106
|
-
# Given full guide object creates guide node
|
107
|
-
def guide_node(guide)
|
108
|
-
return {
|
109
|
-
:text => guide[:title],
|
110
|
-
:url => "/guide/"+guide[:name],
|
111
|
-
:iconCls => "icon-guide",
|
112
|
-
:leaf => true
|
113
|
-
}
|
114
|
-
end
|
115
|
-
end
|
116
|
-
|
117
|
-
end
|
data/lib/jsduck/tree_icons.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
module JsDuck
|
2
|
-
|
3
|
-
# Takes the structure produced by JsDuck::Tree.create and creates
|
4
|
-
# hashmap of classname-icon pairs.
|
5
|
-
class TreeIcons
|
6
|
-
def extract_icons(node)
|
7
|
-
icons = {}
|
8
|
-
if node[:children]
|
9
|
-
node[:children].each do |child|
|
10
|
-
icons.merge!(extract_icons(child))
|
11
|
-
end
|
12
|
-
else
|
13
|
-
icons[node[:url]] = node[:iconCls]
|
14
|
-
end
|
15
|
-
icons
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
end
|
data/template/app/Application.js
DELETED
@@ -1,53 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Main application definition for Docs app.
|
3
|
-
*
|
4
|
-
* We define our own Application class because this way we can also
|
5
|
-
* easily define the dependencies.
|
6
|
-
*/
|
7
|
-
Ext.define('Docs.Application', {
|
8
|
-
extend: 'Ext.app.Application',
|
9
|
-
name: 'Docs',
|
10
|
-
|
11
|
-
requires: [
|
12
|
-
'Docs.Favorites',
|
13
|
-
'Docs.History',
|
14
|
-
'Docs.Settings'
|
15
|
-
],
|
16
|
-
|
17
|
-
uses: [
|
18
|
-
'Ext.util.History',
|
19
|
-
'Ext.data.JsonP'
|
20
|
-
],
|
21
|
-
|
22
|
-
controllers: [
|
23
|
-
'Classes',
|
24
|
-
'Search'
|
25
|
-
],
|
26
|
-
|
27
|
-
launch: function() {
|
28
|
-
Docs.App = this;
|
29
|
-
Docs.Favorites.init();
|
30
|
-
Docs.Settings.init();
|
31
|
-
|
32
|
-
Ext.create('Docs.view.Viewport');
|
33
|
-
|
34
|
-
// Update favorites grid height between browser tabs if changed
|
35
|
-
Ext.getStore('Settings').on('load', function(store) {
|
36
|
-
var favHeight = Docs.Settings.get('favorites-height');
|
37
|
-
if (favHeight) {
|
38
|
-
var tabPanel = Ext.getCmp('classes-tab-panel');
|
39
|
-
tabPanel.suspendEvents();
|
40
|
-
tabPanel.setHeight(favHeight);
|
41
|
-
tabPanel.resumeEvents();
|
42
|
-
}
|
43
|
-
});
|
44
|
-
|
45
|
-
Docs.History.init();
|
46
|
-
|
47
|
-
// When google analytics event tracking script present on page
|
48
|
-
if (Docs.initEventTracking) {
|
49
|
-
Docs.initEventTracking();
|
50
|
-
}
|
51
|
-
}
|
52
|
-
|
53
|
-
});
|
data/template/app/Favorites.js
DELETED
@@ -1,88 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Favorites management.
|
3
|
-
*/
|
4
|
-
Ext.define("Docs.Favorites", {
|
5
|
-
extend: 'Docs.LocalStore',
|
6
|
-
storeName: 'Favorites',
|
7
|
-
singleton: true,
|
8
|
-
|
9
|
-
init: function() {
|
10
|
-
this.callParent(arguments);
|
11
|
-
|
12
|
-
// Populate favorites with Top 10 classes
|
13
|
-
if (this.store.data.items.length == 0) {
|
14
|
-
var top10 = [
|
15
|
-
'Ext.data.Store',
|
16
|
-
'Ext',
|
17
|
-
'Ext.grid.Panel',
|
18
|
-
'Ext.panel.Panel',
|
19
|
-
'Ext.form.field.ComboBox',
|
20
|
-
'Ext.data.Model',
|
21
|
-
'Ext.form.Panel',
|
22
|
-
'Ext.button.Button',
|
23
|
-
'Ext.tree.Panel',
|
24
|
-
'Ext.Component'
|
25
|
-
];
|
26
|
-
this.store.add(Ext.Array.map(top10, function(clsName) {
|
27
|
-
return {url: "/api/"+clsName, title: clsName};
|
28
|
-
}));
|
29
|
-
this.syncStore();
|
30
|
-
}
|
31
|
-
|
32
|
-
// For backwards compatibility with old Favorites Model
|
33
|
-
// convert the old-style records to new schema.
|
34
|
-
else if (!this.store.first().get("url")) {
|
35
|
-
this.store.each(function(r) {
|
36
|
-
r.set("title", r.data.cls);
|
37
|
-
r.set("url", "/api/"+r.get("cls"));
|
38
|
-
r.set("cls", "");
|
39
|
-
});
|
40
|
-
this.syncStore();
|
41
|
-
}
|
42
|
-
},
|
43
|
-
|
44
|
-
/**
|
45
|
-
* Associates Favorites with Docs TreePanel component.
|
46
|
-
* @param {Docs.view.tree.Tree} tree
|
47
|
-
*/
|
48
|
-
setTree: function(tree) {
|
49
|
-
this.tree = tree;
|
50
|
-
},
|
51
|
-
|
52
|
-
/**
|
53
|
-
* Adds page to favorites
|
54
|
-
*
|
55
|
-
* @param {String} url the page to add
|
56
|
-
* @param {String} title title for Favorites entry
|
57
|
-
*/
|
58
|
-
add: function(url, title) {
|
59
|
-
if (!this.has(url)) {
|
60
|
-
this.store.add({url: url, title: title});
|
61
|
-
this.syncStore();
|
62
|
-
this.tree.setFavorite(url, true);
|
63
|
-
}
|
64
|
-
},
|
65
|
-
|
66
|
-
/**
|
67
|
-
* Removes page from favorites.
|
68
|
-
*
|
69
|
-
* @param {String} url the page URL to remove
|
70
|
-
*/
|
71
|
-
remove: function(url) {
|
72
|
-
if (this.has(url)) {
|
73
|
-
this.store.removeAt(this.store.findExact('url', url));
|
74
|
-
this.syncStore();
|
75
|
-
this.tree.setFavorite(url, false);
|
76
|
-
}
|
77
|
-
},
|
78
|
-
|
79
|
-
/**
|
80
|
-
* Checks if page exists in favorites
|
81
|
-
*
|
82
|
-
* @param {String} url the URL to check
|
83
|
-
* @return {Boolean} true when present
|
84
|
-
*/
|
85
|
-
has: function(url) {
|
86
|
-
return this.store.findExact('url', url) > -1;
|
87
|
-
}
|
88
|
-
});
|
data/template/app/History.js
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Browser history management using Ext.util.History.
|
3
|
-
*/
|
4
|
-
Ext.define("Docs.History", {
|
5
|
-
singleton: true,
|
6
|
-
|
7
|
-
/**
|
8
|
-
* Initializes history management.
|
9
|
-
*/
|
10
|
-
init: function() {
|
11
|
-
Ext.util.History.init(function() {
|
12
|
-
this.navigate(Ext.util.History.getToken());
|
13
|
-
}, this);
|
14
|
-
Ext.util.History.on("change", this.navigate, this);
|
15
|
-
},
|
16
|
-
|
17
|
-
// Parses current URL and navigates to the page
|
18
|
-
navigate: function(token) {
|
19
|
-
var url = this.parseToken(token);
|
20
|
-
if (url.type === "api") {
|
21
|
-
Docs.App.getController('Classes').loadClass(url.url, true);
|
22
|
-
}
|
23
|
-
else if (url.type === "guide") {
|
24
|
-
Docs.App.getController('Classes').loadGuide(url.url, true);
|
25
|
-
}
|
26
|
-
else {
|
27
|
-
Docs.App.getController('Classes').loadIndex(true);
|
28
|
-
}
|
29
|
-
},
|
30
|
-
|
31
|
-
// Parses current browser location
|
32
|
-
parseToken: function(token) {
|
33
|
-
var matches = token && token.match(/\/(api|guide)\/(.*)/);
|
34
|
-
return matches ? {type: matches[1], url: matches[0]} : {};
|
35
|
-
},
|
36
|
-
|
37
|
-
/**
|
38
|
-
* Adds URL to history
|
39
|
-
*
|
40
|
-
* @param {String} token the part of URL after #
|
41
|
-
*/
|
42
|
-
push: function(token) {
|
43
|
-
Ext.util.History.add(token);
|
44
|
-
}
|
45
|
-
});
|
data/template/app/LocalStore.js
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Provides methods dealing with localStorage- and memory-store.
|
3
|
-
*
|
4
|
-
* Base class for Favorites and Settings.
|
5
|
-
*/
|
6
|
-
Ext.define("Docs.LocalStore", {
|
7
|
-
storeName: '',
|
8
|
-
|
9
|
-
/**
|
10
|
-
* Initializes store management.
|
11
|
-
*
|
12
|
-
* Initializes this.store variable and loads the store if
|
13
|
-
* localStorage available.
|
14
|
-
*/
|
15
|
-
init: function() {
|
16
|
-
this.localStorage = ('localStorage' in window && window['localStorage'] !== null);
|
17
|
-
this.store = Ext.getStore(this.storeName);
|
18
|
-
|
19
|
-
if (this.localStorage) {
|
20
|
-
this.store.load();
|
21
|
-
if (window.addEventListener) {
|
22
|
-
window.addEventListener("storage", Ext.Function.bind(this.onStorageChange, this), false);
|
23
|
-
}
|
24
|
-
else {
|
25
|
-
window.attachEvent("onstorage", Ext.Function.bind(this.onStorageChange, this));
|
26
|
-
}
|
27
|
-
}
|
28
|
-
},
|
29
|
-
|
30
|
-
// When records in localstorage change, reload the store.
|
31
|
-
onStorageChange: function(e) {
|
32
|
-
e = e || window.event;
|
33
|
-
if (e.key === this.store.getProxy().id) {
|
34
|
-
this.store.load();
|
35
|
-
}
|
36
|
-
},
|
37
|
-
|
38
|
-
/**
|
39
|
-
* Syncs the store with localStorage if possible.
|
40
|
-
*/
|
41
|
-
syncStore: function() {
|
42
|
-
this.localStorage && this.store.sync();
|
43
|
-
}
|
44
|
-
|
45
|
-
});
|
data/template/app/Settings.js
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Provides access to Docs app settings.
|
3
|
-
*/
|
4
|
-
Ext.define("Docs.Settings", {
|
5
|
-
extend: 'Docs.LocalStore',
|
6
|
-
storeName: 'Settings',
|
7
|
-
singleton: true,
|
8
|
-
|
9
|
-
/**
|
10
|
-
* Saves a setting
|
11
|
-
*
|
12
|
-
* @param {String} key Name of the setting
|
13
|
-
* @param {Mixed} value Value of the setting
|
14
|
-
*/
|
15
|
-
set: function(key, value) {
|
16
|
-
var index = this.store.findExact("key", key);
|
17
|
-
// There is currently a bug in localstorage with Ext that
|
18
|
-
// prevents updated records getting synced properly. As a
|
19
|
-
// temporary fix, remove and re-add the item instead of just
|
20
|
-
// changing the value.
|
21
|
-
if (index > -1) {
|
22
|
-
this.store.removeAt(index);
|
23
|
-
}
|
24
|
-
this.store.add({key: key, value: value});
|
25
|
-
|
26
|
-
this.syncStore();
|
27
|
-
},
|
28
|
-
|
29
|
-
/**
|
30
|
-
* Gets value of a setting.
|
31
|
-
*
|
32
|
-
* @param {String} key Name of the setting
|
33
|
-
* @return {Mixed} value of the setting or undefined.
|
34
|
-
*/
|
35
|
-
get: function(key) {
|
36
|
-
var index = this.store.findExact("key", key);
|
37
|
-
return index > -1 ? this.store.getAt(index).get("value") : undefined;
|
38
|
-
}
|
39
|
-
});
|
data/template/app/Syntax.js
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Utility for performing syntax highlighting.
|
3
|
-
*/
|
4
|
-
Ext.define("Docs.Syntax", {
|
5
|
-
singleton: true,
|
6
|
-
|
7
|
-
/**
|
8
|
-
* Marks all code blocks with "prettyprint" class and then calls
|
9
|
-
* the prettify library function to highlight them.
|
10
|
-
*
|
11
|
-
* @param {HTMLElement/Ext.core.Element} root HTML element inside
|
12
|
-
* which to perform the highlighting.
|
13
|
-
*/
|
14
|
-
highlight: function(root) {
|
15
|
-
Ext.Array.forEach(Ext.query("pre > code", root.dom || root), function(el) {
|
16
|
-
Ext.get(el).addCls("prettyprint");
|
17
|
-
});
|
18
|
-
prettyPrint();
|
19
|
-
}
|
20
|
-
});
|