javascriptmvc 3.0.0.pre15
Sign up to get free protection for your applications and to get access to all the features.
- data/.document +5 -0
- data/.gitignore +21 -0
- data/README.markdown +15 -0
- data/Rakefile +17 -0
- data/VERSION +1 -0
- data/bin/jmvc-build +4 -0
- data/bin/jmvc-gen +4 -0
- data/bin/jmvc-get +4 -0
- data/bin/jmvc-init +4 -0
- data/bin/jmvc-update +4 -0
- data/lib/javascriptmvc.rb +97 -0
- data/lib/javascriptmvc/documentjs/README +0 -0
- data/lib/javascriptmvc/documentjs/add.js +76 -0
- data/lib/javascriptmvc/documentjs/application.js +285 -0
- data/lib/javascriptmvc/documentjs/attribute.js +61 -0
- data/lib/javascriptmvc/documentjs/baseclass.js +537 -0
- data/lib/javascriptmvc/documentjs/class.js +141 -0
- data/lib/javascriptmvc/documentjs/constructor.js +145 -0
- data/lib/javascriptmvc/documentjs/directives.js +394 -0
- data/lib/javascriptmvc/documentjs/distance.js +49 -0
- data/lib/javascriptmvc/documentjs/document +21 -0
- data/lib/javascriptmvc/documentjs/documentjs.js +76 -0
- data/lib/javascriptmvc/documentjs/file.js +55 -0
- data/lib/javascriptmvc/documentjs/function.js +112 -0
- data/lib/javascriptmvc/documentjs/jmvcdoc/images/close.png +0 -0
- data/lib/javascriptmvc/documentjs/jmvcdoc/images/download.png +0 -0
- data/lib/javascriptmvc/documentjs/jmvcdoc/images/fav-off.png +0 -0
- data/lib/javascriptmvc/documentjs/jmvcdoc/images/fav-on.png +0 -0
- data/lib/javascriptmvc/documentjs/jmvcdoc/images/favicon.ico +0 -0
- data/lib/javascriptmvc/documentjs/jmvcdoc/images/logo.png +0 -0
- data/lib/javascriptmvc/documentjs/jmvcdoc/images/pre.png +0 -0
- data/lib/javascriptmvc/documentjs/jmvcdoc/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/lib/javascriptmvc/documentjs/jmvcdoc/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/lib/javascriptmvc/documentjs/jmvcdoc/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/lib/javascriptmvc/documentjs/jmvcdoc/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/lib/javascriptmvc/documentjs/jmvcdoc/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/lib/javascriptmvc/documentjs/jmvcdoc/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/lib/javascriptmvc/documentjs/jmvcdoc/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/lib/javascriptmvc/documentjs/jmvcdoc/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/lib/javascriptmvc/documentjs/jmvcdoc/images/ui-icons_222222_256x240.png +0 -0
- data/lib/javascriptmvc/documentjs/jmvcdoc/images/ui-icons_2e83ff_256x240.png +0 -0
- data/lib/javascriptmvc/documentjs/jmvcdoc/images/ui-icons_454545_256x240.png +0 -0
- data/lib/javascriptmvc/documentjs/jmvcdoc/images/ui-icons_888888_256x240.png +0 -0
- data/lib/javascriptmvc/documentjs/jmvcdoc/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/lib/javascriptmvc/documentjs/jmvcdoc/images/video.png +0 -0
- data/lib/javascriptmvc/documentjs/jmvcdoc/production.js +552 -0
- data/lib/javascriptmvc/documentjs/jmvcdoc/style.css +354 -0
- data/lib/javascriptmvc/documentjs/jmvcdoc/summary.ejs +134 -0
- data/lib/javascriptmvc/documentjs/json.js +172 -0
- data/lib/javascriptmvc/documentjs/page.js +107 -0
- data/lib/javascriptmvc/documentjs/pair.js +302 -0
- data/lib/javascriptmvc/documentjs/prototype.js +13 -0
- data/lib/javascriptmvc/documentjs/scripts/build.js +6 -0
- data/lib/javascriptmvc/documentjs/static.js +25 -0
- data/lib/javascriptmvc/documentjs/test/docs/Something.json +1 -0
- data/lib/javascriptmvc/documentjs/test/docs/searchData.json +1 -0
- data/lib/javascriptmvc/documentjs/test/something.js +8 -0
- data/lib/javascriptmvc/documentjs/test/test.html +6 -0
- data/lib/javascriptmvc/documentjs/test_doc.html +1 -0
- data/lib/javascriptmvc/documentjs/update +5 -0
- data/lib/javascriptmvc/funcunit/README +17 -0
- data/lib/javascriptmvc/funcunit/autosuggest/auto_suggest.js +495 -0
- data/lib/javascriptmvc/funcunit/autosuggest/autosuggest.css +24 -0
- data/lib/javascriptmvc/funcunit/autosuggest/autosuggest.html +26 -0
- data/lib/javascriptmvc/funcunit/autosuggest/autosuggest.js +17 -0
- data/lib/javascriptmvc/funcunit/autosuggest/autosuggest_test.js +14 -0
- data/lib/javascriptmvc/funcunit/autosuggest/funcunit.html +15 -0
- data/lib/javascriptmvc/funcunit/build.js +54 -0
- data/lib/javascriptmvc/funcunit/drivers/selenium.js +129 -0
- data/lib/javascriptmvc/funcunit/drivers/standard.js +169 -0
- data/lib/javascriptmvc/funcunit/envjs +13 -0
- data/lib/javascriptmvc/funcunit/envjs.bat +28 -0
- data/lib/javascriptmvc/funcunit/funcunit.html +20 -0
- data/lib/javascriptmvc/funcunit/funcunit.js +1509 -0
- data/lib/javascriptmvc/funcunit/java/selenium-java-client-driver.jar +0 -0
- data/lib/javascriptmvc/funcunit/java/selenium-server.jar +0 -0
- data/lib/javascriptmvc/funcunit/qunit.html +22 -0
- data/lib/javascriptmvc/funcunit/qunit/qunit.css +119 -0
- data/lib/javascriptmvc/funcunit/qunit/qunit.js +1124 -0
- data/lib/javascriptmvc/funcunit/qunit/rhino/rhino.js +24 -0
- data/lib/javascriptmvc/funcunit/qunit/test/qunit.html +18 -0
- data/lib/javascriptmvc/funcunit/qunit/test/test.js +7 -0
- data/lib/javascriptmvc/funcunit/resources/funcunit.js +31 -0
- data/lib/javascriptmvc/funcunit/resources/jquery.js +6378 -0
- data/lib/javascriptmvc/funcunit/resources/json.js +201 -0
- data/lib/javascriptmvc/funcunit/resources/selenium_start.js +43 -0
- data/lib/javascriptmvc/funcunit/scripts/run.js +36 -0
- data/lib/javascriptmvc/funcunit/scripts/test.js +55 -0
- data/lib/javascriptmvc/funcunit/settings.js +10 -0
- data/lib/javascriptmvc/funcunit/synthetic/browsers.js +151 -0
- data/lib/javascriptmvc/funcunit/synthetic/demo.html +150 -0
- data/lib/javascriptmvc/funcunit/synthetic/demo/record.js +254 -0
- data/lib/javascriptmvc/funcunit/synthetic/drag/drag.html +41 -0
- data/lib/javascriptmvc/funcunit/synthetic/drag/drag.js +268 -0
- data/lib/javascriptmvc/funcunit/synthetic/drag/qunit.html +20 -0
- data/lib/javascriptmvc/funcunit/synthetic/drag/test/qunit/drag_test.js +195 -0
- data/lib/javascriptmvc/funcunit/synthetic/drag/test/qunit/qunit.js +7 -0
- data/lib/javascriptmvc/funcunit/synthetic/key.js +832 -0
- data/lib/javascriptmvc/funcunit/synthetic/mouse.js +291 -0
- data/lib/javascriptmvc/funcunit/synthetic/qunit.html +22 -0
- data/lib/javascriptmvc/funcunit/synthetic/recorder.html +303 -0
- data/lib/javascriptmvc/funcunit/synthetic/synthetic.html +85 -0
- data/lib/javascriptmvc/funcunit/synthetic/synthetic.js +796 -0
- data/lib/javascriptmvc/funcunit/synthetic/test/qunit/key_test.js +391 -0
- data/lib/javascriptmvc/funcunit/synthetic/test/qunit/mouse_test.js +233 -0
- data/lib/javascriptmvc/funcunit/synthetic/test/qunit/qunit.js +6 -0
- data/lib/javascriptmvc/funcunit/synthetic/test/qunit/synthetic_test.js +91 -0
- data/lib/javascriptmvc/funcunit/synthetic/test/submit.html +29 -0
- data/lib/javascriptmvc/funcunit/synthetic/test/submitted.html +3 -0
- data/lib/javascriptmvc/funcunit/template.html +18 -0
- data/lib/javascriptmvc/funcunit/test/drag.html +63 -0
- data/lib/javascriptmvc/funcunit/test/funcunit/funcunit.js +3 -0
- data/lib/javascriptmvc/funcunit/test/funcunit/funcunit_test.js +87 -0
- data/lib/javascriptmvc/funcunit/test/funcunit/open_test.js +28 -0
- data/lib/javascriptmvc/funcunit/test/funcunit/protodrag_test.js +13 -0
- data/lib/javascriptmvc/funcunit/test/funcunit/syn_test.js +41 -0
- data/lib/javascriptmvc/funcunit/test/jquery.event.drag.js +801 -0
- data/lib/javascriptmvc/funcunit/test/jquery.event.drop.js +439 -0
- data/lib/javascriptmvc/funcunit/test/jquery.js +6360 -0
- data/lib/javascriptmvc/funcunit/test/myapp.html +103 -0
- data/lib/javascriptmvc/funcunit/test/myotherapp.html +15 -0
- data/lib/javascriptmvc/funcunit/test/protodrag/dragdrop.js +974 -0
- data/lib/javascriptmvc/funcunit/test/protodrag/effects.js +1123 -0
- data/lib/javascriptmvc/funcunit/test/protodrag/funcunit_test.js +20 -0
- data/lib/javascriptmvc/funcunit/test/protodrag/myapp.html +63 -0
- data/lib/javascriptmvc/funcunit/test/protodrag/prototype.js +4874 -0
- data/lib/javascriptmvc/funcunit/test/protodrag/scriptaculous.js +68 -0
- data/lib/javascriptmvc/funcunit/update +5 -0
- data/lib/javascriptmvc/jquery/README +24 -0
- data/lib/javascriptmvc/jquery/build.js +73 -0
- data/lib/javascriptmvc/jquery/class/class.html +109 -0
- data/lib/javascriptmvc/jquery/class/class.js +627 -0
- data/lib/javascriptmvc/jquery/class/qunit.html +15 -0
- data/lib/javascriptmvc/jquery/class/test/qunit/class_test.js +146 -0
- data/lib/javascriptmvc/jquery/class/test/qunit/qunit.js +5 -0
- data/lib/javascriptmvc/jquery/class/test/qunit/test.html +20 -0
- data/lib/javascriptmvc/jquery/controller/controller.html +89 -0
- data/lib/javascriptmvc/jquery/controller/controller.js +735 -0
- data/lib/javascriptmvc/jquery/controller/history/history.html +44 -0
- data/lib/javascriptmvc/jquery/controller/history/history.js +177 -0
- data/lib/javascriptmvc/jquery/controller/qunit.html +21 -0
- data/lib/javascriptmvc/jquery/controller/subscribe/funcunit.html +21 -0
- data/lib/javascriptmvc/jquery/controller/subscribe/scripts/compress.js +6 -0
- data/lib/javascriptmvc/jquery/controller/subscribe/scripts/docs.js +6 -0
- data/lib/javascriptmvc/jquery/controller/subscribe/subscribe.html +56 -0
- data/lib/javascriptmvc/jquery/controller/subscribe/subscribe.js +27 -0
- data/lib/javascriptmvc/jquery/controller/subscribe/test/funcunit/funcunit.js +3 -0
- data/lib/javascriptmvc/jquery/controller/subscribe/test/funcunit/run.js +10 -0
- data/lib/javascriptmvc/jquery/controller/subscribe/test/funcunit/subscribe_test.js +11 -0
- data/lib/javascriptmvc/jquery/controller/subscribe/test/qunit/qunit.html +21 -0
- data/lib/javascriptmvc/jquery/controller/subscribe/test/qunit/qunit.js +9 -0
- data/lib/javascriptmvc/jquery/controller/subscribe/test/qunit/run.js +2 -0
- data/lib/javascriptmvc/jquery/controller/subscribe/test/qunit/subscribe_test.js +4 -0
- data/lib/javascriptmvc/jquery/controller/test/qunit/controller_test.js +170 -0
- data/lib/javascriptmvc/jquery/controller/test/qunit/qunit.js +9 -0
- data/lib/javascriptmvc/jquery/controller/view/qunit.html +21 -0
- data/lib/javascriptmvc/jquery/controller/view/test/qunit/controller_view_test.js +15 -0
- data/lib/javascriptmvc/jquery/controller/view/test/qunit/qunit.js +6 -0
- data/lib/javascriptmvc/jquery/controller/view/test/qunit/views/init.micro +1 -0
- data/lib/javascriptmvc/jquery/controller/view/view.js +102 -0
- data/lib/javascriptmvc/jquery/dom/closest/closest.html +23 -0
- data/lib/javascriptmvc/jquery/dom/closest/closest.js +47 -0
- data/lib/javascriptmvc/jquery/dom/closest/funcunit.html +20 -0
- data/lib/javascriptmvc/jquery/dom/closest/qunit.html +22 -0
- data/lib/javascriptmvc/jquery/dom/closest/scripts/compress.js +3 -0
- data/lib/javascriptmvc/jquery/dom/closest/scripts/doc.js +4 -0
- data/lib/javascriptmvc/jquery/dom/closest/scripts/test.js +55 -0
- data/lib/javascriptmvc/jquery/dom/closest/settings.js +40 -0
- data/lib/javascriptmvc/jquery/dom/closest/test/funcunit/funcunit.js +3 -0
- data/lib/javascriptmvc/jquery/dom/closest/test/funcunit/tests/basic.js +11 -0
- data/lib/javascriptmvc/jquery/dom/closest/test/qunit/qunit.js +4 -0
- data/lib/javascriptmvc/jquery/dom/closest/test/qunit/tests/basic.js +4 -0
- data/lib/javascriptmvc/jquery/dom/compare/compare.html +88 -0
- data/lib/javascriptmvc/jquery/dom/compare/compare.js +67 -0
- data/lib/javascriptmvc/jquery/dom/compare/qunit.html +20 -0
- data/lib/javascriptmvc/jquery/dom/compare/test/qunit/compare_test.js +19 -0
- data/lib/javascriptmvc/jquery/dom/compare/test/qunit/qunit.js +5 -0
- data/lib/javascriptmvc/jquery/dom/cookie/cookie.html +25 -0
- data/lib/javascriptmvc/jquery/dom/cookie/cookie.js +119 -0
- data/lib/javascriptmvc/jquery/dom/cookie/scripts/compress.js +6 -0
- data/lib/javascriptmvc/jquery/dom/cookie/scripts/doc.js +6 -0
- data/lib/javascriptmvc/jquery/dom/cookie/test/funcunit/cookie_test.js +11 -0
- data/lib/javascriptmvc/jquery/dom/cookie/test/funcunit/funcunit.html +21 -0
- data/lib/javascriptmvc/jquery/dom/cookie/test/funcunit/funcunit.js +3 -0
- data/lib/javascriptmvc/jquery/dom/cookie/test/funcunit/run.js +10 -0
- data/lib/javascriptmvc/jquery/dom/cookie/test/qunit/cookie_test.js +4 -0
- data/lib/javascriptmvc/jquery/dom/cookie/test/qunit/qunit.html +21 -0
- data/lib/javascriptmvc/jquery/dom/cookie/test/qunit/qunit.js +9 -0
- data/lib/javascriptmvc/jquery/dom/cookie/test/qunit/run.js +2 -0
- data/lib/javascriptmvc/jquery/dom/cur_styles/cur_styles.html +71 -0
- data/lib/javascriptmvc/jquery/dom/cur_styles/cur_styles.js +120 -0
- data/lib/javascriptmvc/jquery/dom/cur_styles/qunit.html +22 -0
- data/lib/javascriptmvc/jquery/dom/cur_styles/test/qunit/curStyles.micro +3 -0
- data/lib/javascriptmvc/jquery/dom/cur_styles/test/qunit/cur_styles_test.js +22 -0
- data/lib/javascriptmvc/jquery/dom/cur_styles/test/qunit/outer.micro +0 -0
- data/lib/javascriptmvc/jquery/dom/cur_styles/test/qunit/qunit.js +4 -0
- data/lib/javascriptmvc/jquery/dom/dimensions/curstyles.html +22 -0
- data/lib/javascriptmvc/jquery/dom/dimensions/dimensions.html +132 -0
- data/lib/javascriptmvc/jquery/dom/dimensions/dimensions.js +140 -0
- data/lib/javascriptmvc/jquery/dom/dimensions/qunit.html +22 -0
- data/lib/javascriptmvc/jquery/dom/dimensions/test/qunit/curStyles.micro +3 -0
- data/lib/javascriptmvc/jquery/dom/dimensions/test/qunit/dimensions_test.js +8 -0
- data/lib/javascriptmvc/jquery/dom/dimensions/test/qunit/outer.micro +0 -0
- data/lib/javascriptmvc/jquery/dom/dimensions/test/qunit/qunit.js +4 -0
- data/lib/javascriptmvc/jquery/dom/dom.js +7 -0
- data/lib/javascriptmvc/jquery/dom/fixture/fixture.html +143 -0
- data/lib/javascriptmvc/jquery/dom/fixture/fixture.js +521 -0
- data/lib/javascriptmvc/jquery/dom/fixture/fixtures/messages.html +31 -0
- data/lib/javascriptmvc/jquery/dom/fixture/fixtures/test.json +3 -0
- data/lib/javascriptmvc/jquery/dom/fixture/qunit.html +22 -0
- data/lib/javascriptmvc/jquery/dom/fixture/test/qunit/fixture_test.js +50 -0
- data/lib/javascriptmvc/jquery/dom/fixture/test/qunit/qunit.js +4 -0
- data/lib/javascriptmvc/jquery/dom/form_params/form_params.html +57 -0
- data/lib/javascriptmvc/jquery/dom/form_params/form_params.js +106 -0
- data/lib/javascriptmvc/jquery/dom/form_params/qunit.html +22 -0
- data/lib/javascriptmvc/jquery/dom/form_params/test/qunit/basics.micro +27 -0
- data/lib/javascriptmvc/jquery/dom/form_params/test/qunit/checkbox.micro +20 -0
- data/lib/javascriptmvc/jquery/dom/form_params/test/qunit/form_params_test.js +43 -0
- data/lib/javascriptmvc/jquery/dom/form_params/test/qunit/qunit.js +4 -0
- data/lib/javascriptmvc/jquery/dom/form_params/test/qunit/truthy.micro +8 -0
- data/lib/javascriptmvc/jquery/dom/within/within.js +67 -0
- data/lib/javascriptmvc/jquery/error/background.png +0 -0
- data/lib/javascriptmvc/jquery/error/error.html +31 -0
- data/lib/javascriptmvc/jquery/error/error.js +227 -0
- data/lib/javascriptmvc/jquery/error/setup.js +4 -0
- data/lib/javascriptmvc/jquery/error/test/test.html +23 -0
- data/lib/javascriptmvc/jquery/error/test/test.js +4 -0
- data/lib/javascriptmvc/jquery/event/default/compress.js +7 -0
- data/lib/javascriptmvc/jquery/event/default/default.html +85 -0
- data/lib/javascriptmvc/jquery/event/default/default.js +193 -0
- data/lib/javascriptmvc/jquery/event/default/defaultjquery.html +117 -0
- data/lib/javascriptmvc/jquery/event/default/qunit.html +22 -0
- data/lib/javascriptmvc/jquery/event/default/test/qunit/default_test.js +104 -0
- data/lib/javascriptmvc/jquery/event/default/test/qunit/html.micro +8 -0
- data/lib/javascriptmvc/jquery/event/default/test/qunit/qunit.js +6 -0
- data/lib/javascriptmvc/jquery/event/default/test/qunit/run.js +2 -0
- data/lib/javascriptmvc/jquery/event/destroyed/destroyed.html +24 -0
- data/lib/javascriptmvc/jquery/event/destroyed/destroyed.js +40 -0
- data/lib/javascriptmvc/jquery/event/destroyed/destroyed_menu.html +96 -0
- data/lib/javascriptmvc/jquery/event/destroyed/qunit.html +21 -0
- data/lib/javascriptmvc/jquery/event/destroyed/test/qunit/destroyed_test.js +12 -0
- data/lib/javascriptmvc/jquery/event/destroyed/test/qunit/qunit.js +6 -0
- data/lib/javascriptmvc/jquery/event/drag/drag.html +105 -0
- data/lib/javascriptmvc/jquery/event/drag/drag.js +466 -0
- data/lib/javascriptmvc/jquery/event/drag/limit/limit.html +74 -0
- data/lib/javascriptmvc/jquery/event/drag/limit/limit.js +56 -0
- data/lib/javascriptmvc/jquery/event/drag/limit/scripts/compress.js +6 -0
- data/lib/javascriptmvc/jquery/event/drag/limit/scripts/doc.js +6 -0
- data/lib/javascriptmvc/jquery/event/drag/limit/test/funcunit/funcunit.html +21 -0
- data/lib/javascriptmvc/jquery/event/drag/limit/test/funcunit/funcunit.js +3 -0
- data/lib/javascriptmvc/jquery/event/drag/limit/test/funcunit/limit_test.js +11 -0
- data/lib/javascriptmvc/jquery/event/drag/limit/test/funcunit/run.js +10 -0
- data/lib/javascriptmvc/jquery/event/drag/limit/test/qunit/limit_test.js +4 -0
- data/lib/javascriptmvc/jquery/event/drag/limit/test/qunit/qunit.html +21 -0
- data/lib/javascriptmvc/jquery/event/drag/limit/test/qunit/qunit.js +9 -0
- data/lib/javascriptmvc/jquery/event/drag/limit/test/qunit/run.js +2 -0
- data/lib/javascriptmvc/jquery/event/drag/qunit.html +16 -0
- data/lib/javascriptmvc/jquery/event/drag/scroll/scroll.js +120 -0
- data/lib/javascriptmvc/jquery/event/drag/test/qunit/drag_test.js +130 -0
- data/lib/javascriptmvc/jquery/event/drag/test/qunit/qunit.js +4 -0
- data/lib/javascriptmvc/jquery/event/drop/drop.html +74 -0
- data/lib/javascriptmvc/jquery/event/drop/drop.js +301 -0
- data/lib/javascriptmvc/jquery/event/event.js +6 -0
- data/lib/javascriptmvc/jquery/event/hashchange/hashchange.js +245 -0
- data/lib/javascriptmvc/jquery/event/hover/compress.js +7 -0
- data/lib/javascriptmvc/jquery/event/hover/hover.html +56 -0
- data/lib/javascriptmvc/jquery/event/hover/hover.js +219 -0
- data/lib/javascriptmvc/jquery/event/hover/qunit.html +16 -0
- data/lib/javascriptmvc/jquery/event/hover/test/qunit/hover_test.js +55 -0
- data/lib/javascriptmvc/jquery/event/hover/test/qunit/qunit.js +4 -0
- data/lib/javascriptmvc/jquery/event/livehack/compress.js +7 -0
- data/lib/javascriptmvc/jquery/event/livehack/funcunit.html +21 -0
- data/lib/javascriptmvc/jquery/event/livehack/livehack.html +25 -0
- data/lib/javascriptmvc/jquery/event/livehack/livehack.js +167 -0
- data/lib/javascriptmvc/jquery/event/offline/funcunit.html +20 -0
- data/lib/javascriptmvc/jquery/event/offline/offline.html +26 -0
- data/lib/javascriptmvc/jquery/event/offline/offline.js +36 -0
- data/lib/javascriptmvc/jquery/event/offline/qunit.html +22 -0
- data/lib/javascriptmvc/jquery/event/offline/scripts/compress.js +3 -0
- data/lib/javascriptmvc/jquery/event/offline/scripts/doc.js +4 -0
- data/lib/javascriptmvc/jquery/event/offline/settings.js +41 -0
- data/lib/javascriptmvc/jquery/event/offline/test/funcunit/funcunit.js +3 -0
- data/lib/javascriptmvc/jquery/event/offline/test/funcunit/tests/basic.js +11 -0
- data/lib/javascriptmvc/jquery/event/offline/test/qunit/qunit.js +4 -0
- data/lib/javascriptmvc/jquery/event/offline/test/qunit/tests/basic.js +4 -0
- data/lib/javascriptmvc/jquery/event/resize/funcunit.html +20 -0
- data/lib/javascriptmvc/jquery/event/resize/qunit.html +22 -0
- data/lib/javascriptmvc/jquery/event/resize/resize.html +23 -0
- data/lib/javascriptmvc/jquery/event/resize/resize.js +50 -0
- data/lib/javascriptmvc/jquery/event/resize/scripts/compress.js +3 -0
- data/lib/javascriptmvc/jquery/event/resize/scripts/doc.js +4 -0
- data/lib/javascriptmvc/jquery/event/resize/scripts/test.js +55 -0
- data/lib/javascriptmvc/jquery/event/resize/settings.js +40 -0
- data/lib/javascriptmvc/jquery/event/resize/test/funcunit/funcunit.js +3 -0
- data/lib/javascriptmvc/jquery/event/resize/test/funcunit/tests/basic.js +11 -0
- data/lib/javascriptmvc/jquery/event/resize/test/qunit/qunit.js +4 -0
- data/lib/javascriptmvc/jquery/event/resize/test/qunit/tests/basic.js +4 -0
- data/lib/javascriptmvc/jquery/event/select/scripts/compress.js +6 -0
- data/lib/javascriptmvc/jquery/event/select/scripts/doc.js +6 -0
- data/lib/javascriptmvc/jquery/event/select/select.html +63 -0
- data/lib/javascriptmvc/jquery/event/select/select.js +65 -0
- data/lib/javascriptmvc/jquery/event/select/test/funcunit/funcunit.html +21 -0
- data/lib/javascriptmvc/jquery/event/select/test/funcunit/funcunit.js +3 -0
- data/lib/javascriptmvc/jquery/event/select/test/funcunit/run.js +10 -0
- data/lib/javascriptmvc/jquery/event/select/test/funcunit/select_test.js +11 -0
- data/lib/javascriptmvc/jquery/event/select/test/qunit/qunit.html +21 -0
- data/lib/javascriptmvc/jquery/event/select/test/qunit/qunit.js +5 -0
- data/lib/javascriptmvc/jquery/event/select/test/qunit/run.js +2 -0
- data/lib/javascriptmvc/jquery/event/select/test/qunit/select_test.js +4 -0
- data/lib/javascriptmvc/jquery/generate/app +23 -0
- data/lib/javascriptmvc/jquery/generate/controller +21 -0
- data/lib/javascriptmvc/jquery/generate/model +26 -0
- data/lib/javascriptmvc/jquery/generate/page +20 -0
- data/lib/javascriptmvc/jquery/generate/plugin +20 -0
- data/lib/javascriptmvc/jquery/generate/scaffold +23 -0
- data/lib/javascriptmvc/jquery/generate/templates/app/(application_name).css.ejs +4 -0
- data/lib/javascriptmvc/jquery/generate/templates/app/(application_name).html.ejs +23 -0
- data/lib/javascriptmvc/jquery/generate/templates/app/(application_name).js.ejs +21 -0
- data/lib/javascriptmvc/jquery/generate/templates/app/controllers/.ignore +0 -0
- data/lib/javascriptmvc/jquery/generate/templates/app/docs/.ignore +0 -0
- data/lib/javascriptmvc/jquery/generate/templates/app/fixtures/.ignore +0 -0
- data/lib/javascriptmvc/jquery/generate/templates/app/funcunit.html.ejs +15 -0
- data/lib/javascriptmvc/jquery/generate/templates/app/models/.ignore +0 -0
- data/lib/javascriptmvc/jquery/generate/templates/app/qunit.html.ejs +20 -0
- data/lib/javascriptmvc/jquery/generate/templates/app/resources/.ignore +0 -0
- data/lib/javascriptmvc/jquery/generate/templates/app/scripts/build.js.ejs +6 -0
- data/lib/javascriptmvc/jquery/generate/templates/app/scripts/clean.js.ejs +6 -0
- data/lib/javascriptmvc/jquery/generate/templates/app/scripts/docs.js.ejs +4 -0
- data/lib/javascriptmvc/jquery/generate/templates/app/test/funcunit/(application_name)_test.js.ejs +9 -0
- data/lib/javascriptmvc/jquery/generate/templates/app/test/funcunit/funcunit.js.ejs +3 -0
- data/lib/javascriptmvc/jquery/generate/templates/app/test/qunit/(application_name)_test.js.ejs +5 -0
- data/lib/javascriptmvc/jquery/generate/templates/app/test/qunit/qunit.js.ejs +3 -0
- data/lib/javascriptmvc/jquery/generate/templates/app/views/.ignore +0 -0
- data/lib/javascriptmvc/jquery/generate/templates/controller/controllers/(underscore)_controller.js.ejs +12 -0
- data/lib/javascriptmvc/jquery/generate/templates/model/fixtures.link +1 -0
- data/lib/javascriptmvc/jquery/generate/templates/model/models.link +1 -0
- data/lib/javascriptmvc/jquery/generate/templates/model/test/qunit.link +1 -0
- data/lib/javascriptmvc/jquery/generate/templates/page.ejs +23 -0
- data/lib/javascriptmvc/jquery/generate/templates/plugin/(application_name).html.ejs +23 -0
- data/lib/javascriptmvc/jquery/generate/templates/plugin/(application_name).js.ejs +3 -0
- data/lib/javascriptmvc/jquery/generate/templates/plugin/fixtures/.ignore +0 -0
- data/lib/javascriptmvc/jquery/generate/templates/plugin/funcunit.html.ejs +15 -0
- data/lib/javascriptmvc/jquery/generate/templates/plugin/qunit.html.ejs +20 -0
- data/lib/javascriptmvc/jquery/generate/templates/plugin/resources/.ignore +0 -0
- data/lib/javascriptmvc/jquery/generate/templates/plugin/scripts.link +1 -0
- data/lib/javascriptmvc/jquery/generate/templates/plugin/test.link +1 -0
- data/lib/javascriptmvc/jquery/generate/templates/plugin/views/.ignore +0 -0
- data/lib/javascriptmvc/jquery/generate/templates/scaffold/controllers/(underscore)_controller.js.ejs +96 -0
- data/lib/javascriptmvc/jquery/generate/templates/scaffold/fixtures/(plural).json.get.ejs +3 -0
- data/lib/javascriptmvc/jquery/generate/templates/scaffold/models/(underscore).js.ejs +83 -0
- data/lib/javascriptmvc/jquery/generate/templates/scaffold/test/funcunit/(underscore)_controller_test.js.ejs +63 -0
- data/lib/javascriptmvc/jquery/generate/templates/scaffold/test/qunit/(underscore)_test.js.ejs +45 -0
- data/lib/javascriptmvc/jquery/generate/templates/scaffold/views/(underscore)/edit.ejs.ejs +10 -0
- data/lib/javascriptmvc/jquery/generate/templates/scaffold/views/(underscore)/init.ejs.ejs +26 -0
- data/lib/javascriptmvc/jquery/generate/templates/scaffold/views/(underscore)/list.ejs.ejs +5 -0
- data/lib/javascriptmvc/jquery/generate/templates/scaffold/views/(underscore)/show.ejs.ejs +10 -0
- data/lib/javascriptmvc/jquery/jquery.js +6360 -0
- data/lib/javascriptmvc/jquery/lang/json/json.html +25 -0
- data/lib/javascriptmvc/jquery/lang/json/json.js +201 -0
- data/lib/javascriptmvc/jquery/lang/json/scripts/compress.js +6 -0
- data/lib/javascriptmvc/jquery/lang/json/scripts/doc.js +6 -0
- data/lib/javascriptmvc/jquery/lang/json/test/funcunit/funcunit.html +21 -0
- data/lib/javascriptmvc/jquery/lang/json/test/funcunit/funcunit.js +3 -0
- data/lib/javascriptmvc/jquery/lang/json/test/funcunit/json_test.js +11 -0
- data/lib/javascriptmvc/jquery/lang/json/test/funcunit/run.js +10 -0
- data/lib/javascriptmvc/jquery/lang/json/test/qunit/json_test.js +4 -0
- data/lib/javascriptmvc/jquery/lang/json/test/qunit/qunit.html +21 -0
- data/lib/javascriptmvc/jquery/lang/json/test/qunit/qunit.js +9 -0
- data/lib/javascriptmvc/jquery/lang/json/test/qunit/run.js +2 -0
- data/lib/javascriptmvc/jquery/lang/lang.html +27 -0
- data/lib/javascriptmvc/jquery/lang/lang.js +104 -0
- data/lib/javascriptmvc/jquery/lang/openajax/openajax.js +202 -0
- data/lib/javascriptmvc/jquery/lang/rsplit/rsplit.js +31 -0
- data/lib/javascriptmvc/jquery/lang/vector/vector.js +167 -0
- data/lib/javascriptmvc/jquery/model/associations/associations.html +25 -0
- data/lib/javascriptmvc/jquery/model/associations/associations.js +46 -0
- data/lib/javascriptmvc/jquery/model/associations/qunit.html +21 -0
- data/lib/javascriptmvc/jquery/model/associations/test/qunit/associations_test.js +51 -0
- data/lib/javascriptmvc/jquery/model/associations/test/qunit/qunit.js +9 -0
- data/lib/javascriptmvc/jquery/model/associations/test/qunit/run.js +2 -0
- data/lib/javascriptmvc/jquery/model/backup/backup.js +82 -0
- data/lib/javascriptmvc/jquery/model/json_rest/json_rest.js +91 -0
- data/lib/javascriptmvc/jquery/model/list/list.js +148 -0
- data/lib/javascriptmvc/jquery/model/list/qunit.html +16 -0
- data/lib/javascriptmvc/jquery/model/list/test/qunit/list_test.js +58 -0
- data/lib/javascriptmvc/jquery/model/list/test/qunit/qunit.js +6 -0
- data/lib/javascriptmvc/jquery/model/list/test/qunit/run.js +0 -0
- data/lib/javascriptmvc/jquery/model/model.js +537 -0
- data/lib/javascriptmvc/jquery/model/qunit.html +17 -0
- data/lib/javascriptmvc/jquery/model/store/store.js +66 -0
- data/lib/javascriptmvc/jquery/model/test/qunit/model_test.js +71 -0
- data/lib/javascriptmvc/jquery/model/test/qunit/qunit.js +5 -0
- data/lib/javascriptmvc/jquery/qunit.html +15 -0
- data/lib/javascriptmvc/jquery/test/funcunit/funcunit.html +21 -0
- data/lib/javascriptmvc/jquery/test/funcunit/funcunit.js +3 -0
- data/lib/javascriptmvc/jquery/test/funcunit/jquerytest_test.js +11 -0
- data/lib/javascriptmvc/jquery/test/funcunit/run.js +10 -0
- data/lib/javascriptmvc/jquery/test/qunit/qunit.js +22 -0
- data/lib/javascriptmvc/jquery/update +5 -0
- data/lib/javascriptmvc/jquery/view/compress.js +7 -0
- data/lib/javascriptmvc/jquery/view/ejs/ejs.html +25 -0
- data/lib/javascriptmvc/jquery/view/ejs/ejs.js +489 -0
- data/lib/javascriptmvc/jquery/view/ejs/funcunit.html +21 -0
- data/lib/javascriptmvc/jquery/view/ejs/test/funcunit/ejs_test.js +11 -0
- data/lib/javascriptmvc/jquery/view/ejs/test/funcunit/funcunit.js +3 -0
- data/lib/javascriptmvc/jquery/view/ejs/test/funcunit/run.js +10 -0
- data/lib/javascriptmvc/jquery/view/ejs/test/qunit/ejs_test.js +4 -0
- data/lib/javascriptmvc/jquery/view/ejs/test/qunit/qunit.html +21 -0
- data/lib/javascriptmvc/jquery/view/ejs/test/qunit/qunit.js +9 -0
- data/lib/javascriptmvc/jquery/view/ejs/test/qunit/run.js +2 -0
- data/lib/javascriptmvc/jquery/view/fulljslint.js +3774 -0
- data/lib/javascriptmvc/jquery/view/helpers/helpers.js +338 -0
- data/lib/javascriptmvc/jquery/view/jaml/compress.js +7 -0
- data/lib/javascriptmvc/jquery/view/jaml/funcunit.html +21 -0
- data/lib/javascriptmvc/jquery/view/jaml/jaml.html +25 -0
- data/lib/javascriptmvc/jquery/view/jaml/jaml.js +73 -0
- data/lib/javascriptmvc/jquery/view/jaml/node.js +149 -0
- data/lib/javascriptmvc/jquery/view/jaml/template.js +131 -0
- data/lib/javascriptmvc/jquery/view/jaml/test/funcunit/funcunit.js +3 -0
- data/lib/javascriptmvc/jquery/view/jaml/test/funcunit/jaml_test.js +11 -0
- data/lib/javascriptmvc/jquery/view/jaml/test/funcunit/run.js +10 -0
- data/lib/javascriptmvc/jquery/view/jaml/test/qunit/jaml_test.js +4 -0
- data/lib/javascriptmvc/jquery/view/jaml/test/qunit/qunit.html +21 -0
- data/lib/javascriptmvc/jquery/view/jaml/test/qunit/qunit.js +9 -0
- data/lib/javascriptmvc/jquery/view/jaml/test/qunit/run.js +2 -0
- data/lib/javascriptmvc/jquery/view/micro/compress.js +7 -0
- data/lib/javascriptmvc/jquery/view/micro/funcunit.html +21 -0
- data/lib/javascriptmvc/jquery/view/micro/micro.html +25 -0
- data/lib/javascriptmvc/jquery/view/micro/micro.js +57 -0
- data/lib/javascriptmvc/jquery/view/micro/test/funcunit/funcunit.js +3 -0
- data/lib/javascriptmvc/jquery/view/micro/test/funcunit/micro_test.js +11 -0
- data/lib/javascriptmvc/jquery/view/micro/test/funcunit/run.js +10 -0
- data/lib/javascriptmvc/jquery/view/micro/test/qunit/micro_test.js +4 -0
- data/lib/javascriptmvc/jquery/view/micro/test/qunit/qunit.html +21 -0
- data/lib/javascriptmvc/jquery/view/micro/test/qunit/qunit.js +9 -0
- data/lib/javascriptmvc/jquery/view/micro/test/qunit/run.js +2 -0
- data/lib/javascriptmvc/jquery/view/qunit.html +16 -0
- data/lib/javascriptmvc/jquery/view/test/compression/compression.html +12 -0
- data/lib/javascriptmvc/jquery/view/test/compression/compression.js +11 -0
- data/lib/javascriptmvc/jquery/view/test/compression/run.js +36 -0
- data/lib/javascriptmvc/jquery/view/test/funcunit/funcunit.js +3 -0
- data/lib/javascriptmvc/jquery/view/test/funcunit/run.js +10 -0
- data/lib/javascriptmvc/jquery/view/test/funcunit/view_test.js +11 -0
- data/lib/javascriptmvc/jquery/view/test/qunit/nested_plugin.ejs +1 -0
- data/lib/javascriptmvc/jquery/view/test/qunit/plugin.ejs +1 -0
- data/lib/javascriptmvc/jquery/view/test/qunit/qunit.js +9 -0
- data/lib/javascriptmvc/jquery/view/test/qunit/template.ejs +1 -0
- data/lib/javascriptmvc/jquery/view/test/qunit/template.jaml +3 -0
- data/lib/javascriptmvc/jquery/view/test/qunit/template.micro +1 -0
- data/lib/javascriptmvc/jquery/view/test/qunit/template.tmpl +1 -0
- data/lib/javascriptmvc/jquery/view/test/qunit/view_test.js +24 -0
- data/lib/javascriptmvc/jquery/view/tmpl/tmpl.js +150 -0
- data/lib/javascriptmvc/jquery/view/view.html +65 -0
- data/lib/javascriptmvc/jquery/view/view.js +296 -0
- data/lib/javascriptmvc/js +56 -0
- data/lib/javascriptmvc/js.bat +57 -0
- data/lib/javascriptmvc/steal/README +26 -0
- data/lib/javascriptmvc/steal/build/apps/apps.js +208 -0
- data/lib/javascriptmvc/steal/build/apps/test.js +4 -0
- data/lib/javascriptmvc/steal/build/build.js +281 -0
- data/lib/javascriptmvc/steal/build/pluginify.js +73 -0
- data/lib/javascriptmvc/steal/build/scripts/compiler.jar +0 -0
- data/lib/javascriptmvc/steal/build/scripts/scripts.js +155 -0
- data/lib/javascriptmvc/steal/build/styles/cssmin.js +17 -0
- data/lib/javascriptmvc/steal/build/styles/styles.js +84 -0
- data/lib/javascriptmvc/steal/build/test/basicpage.html +6 -0
- data/lib/javascriptmvc/steal/build/test/basicproduction.js +1 -0
- data/lib/javascriptmvc/steal/build/test/basicsource.js +6 -0
- data/lib/javascriptmvc/steal/build/test/css/css/css1.css +1 -0
- data/lib/javascriptmvc/steal/build/test/css/css/justin.png +0 -0
- data/lib/javascriptmvc/steal/build/test/css/css2.css +5 -0
- data/lib/javascriptmvc/steal/build/test/css/page.html +9 -0
- data/lib/javascriptmvc/steal/build/test/css/production.css +1 -0
- data/lib/javascriptmvc/steal/build/test/css/test.js +7 -0
- data/lib/javascriptmvc/steal/build/test/css/upload.PNG +0 -0
- data/lib/javascriptmvc/steal/build/test/foreign.html +6 -0
- data/lib/javascriptmvc/steal/build/test/foreign.js +2 -0
- data/lib/javascriptmvc/steal/build/test/removecode.js +11 -0
- data/lib/javascriptmvc/steal/build/test/run.js +57 -0
- data/lib/javascriptmvc/steal/build/test/stealpage.html +10 -0
- data/lib/javascriptmvc/steal/build/test/stealprodpage.html +10 -0
- data/lib/javascriptmvc/steal/build/test/test.js +3 -0
- data/lib/javascriptmvc/steal/buildjs +21 -0
- data/lib/javascriptmvc/steal/clean/beautify.js +1108 -0
- data/lib/javascriptmvc/steal/clean/clean.js +179 -0
- data/lib/javascriptmvc/steal/clean/jslint.js +5662 -0
- data/lib/javascriptmvc/steal/clean/test.js +7 -0
- data/lib/javascriptmvc/steal/cleanjs +5 -0
- data/lib/javascriptmvc/steal/coffee/coffee-script.js +9 -0
- data/lib/javascriptmvc/steal/coffee/coffee.js +56 -0
- data/lib/javascriptmvc/steal/dev/dev.js +83 -0
- data/lib/javascriptmvc/steal/end.js +1 -0
- data/lib/javascriptmvc/steal/generate/app +23 -0
- data/lib/javascriptmvc/steal/generate/ejs.js +470 -0
- data/lib/javascriptmvc/steal/generate/generate.js +211 -0
- data/lib/javascriptmvc/steal/generate/inflector.js +117 -0
- data/lib/javascriptmvc/steal/generate/system.js +33 -0
- data/lib/javascriptmvc/steal/generate/templates/app/(application_name).css.ejs +10 -0
- data/lib/javascriptmvc/steal/generate/templates/app/(application_name).html.ejs +18 -0
- data/lib/javascriptmvc/steal/generate/templates/app/(application_name).js.ejs +10 -0
- data/lib/javascriptmvc/steal/generate/templates/app/docs/.ignore +0 -0
- data/lib/javascriptmvc/steal/generate/templates/app/resources/.ignore +0 -0
- data/lib/javascriptmvc/steal/generate/templates/app/resources/example.coffee.ejs +5 -0
- data/lib/javascriptmvc/steal/generate/templates/app/resources/example.js.ejs +13 -0
- data/lib/javascriptmvc/steal/generate/templates/app/resources/example.less.ejs +9 -0
- data/lib/javascriptmvc/steal/generate/templates/app/scripts/build.js.ejs +6 -0
- data/lib/javascriptmvc/steal/generate/templates/app/scripts/clean.js.ejs +6 -0
- data/lib/javascriptmvc/steal/generate/templates/app/test/.ignore +0 -0
- data/lib/javascriptmvc/steal/generate/templates/page.ejs +23 -0
- data/lib/javascriptmvc/steal/generate/test/test.js +92 -0
- data/lib/javascriptmvc/steal/get/get.js +163 -0
- data/lib/javascriptmvc/steal/get/gets.json +10 -0
- data/lib/javascriptmvc/steal/get/getter.js +115 -0
- data/lib/javascriptmvc/steal/get/github.js +134 -0
- data/lib/javascriptmvc/steal/get/json.js +172 -0
- data/lib/javascriptmvc/steal/getjs +5 -0
- data/lib/javascriptmvc/steal/js +56 -0
- data/lib/javascriptmvc/steal/js.bat +57 -0
- data/lib/javascriptmvc/steal/less/less.js +117 -0
- data/lib/javascriptmvc/steal/less/less_engine.js +2529 -0
- data/lib/javascriptmvc/steal/rhino/blank.html +6 -0
- data/lib/javascriptmvc/steal/rhino/build.js +31 -0
- data/lib/javascriptmvc/steal/rhino/docs.js +68 -0
- data/lib/javascriptmvc/steal/rhino/empty.html +12 -0
- data/lib/javascriptmvc/steal/rhino/env.js +11537 -0
- data/lib/javascriptmvc/steal/rhino/file.js +299 -0
- data/lib/javascriptmvc/steal/rhino/js.jar +0 -0
- data/lib/javascriptmvc/steal/rhino/loader.js +8 -0
- data/lib/javascriptmvc/steal/rhino/prompt.js +49 -0
- data/lib/javascriptmvc/steal/rhino/steal.js +122 -0
- data/lib/javascriptmvc/steal/rhino/test.js +16 -0
- data/lib/javascriptmvc/steal/steal.js +1317 -0
- data/lib/javascriptmvc/steal/steal.production.js +23 -0
- data/lib/javascriptmvc/steal/test/absoluteurl.html +7 -0
- data/lib/javascriptmvc/steal/test/absoluteurl/absoluteurl.js +1 -0
- data/lib/javascriptmvc/steal/test/absoluteurl/alert.js +1 -0
- data/lib/javascriptmvc/steal/test/another/two.js +2 -0
- data/lib/javascriptmvc/steal/test/one/four.js +1 -0
- data/lib/javascriptmvc/steal/test/one/one.js +6 -0
- data/lib/javascriptmvc/steal/test/qunit/qunit.html +22 -0
- data/lib/javascriptmvc/steal/test/qunit/qunit.js +3 -0
- data/lib/javascriptmvc/steal/test/qunit/steal_test.js +197 -0
- data/lib/javascriptmvc/steal/test/run.js +12 -0
- data/lib/javascriptmvc/steal/test/steal.html +37 -0
- data/lib/javascriptmvc/steal/test/test.js +82 -0
- data/lib/javascriptmvc/steal/test/three.js +3 -0
- data/lib/javascriptmvc/steal/testing/test.html +20 -0
- data/lib/javascriptmvc/steal/testing/testing.js +48 -0
- data/lib/javascriptmvc/steal/update +5 -0
- metadata +622 -0
@@ -0,0 +1,172 @@
|
|
1
|
+
(function(){
|
2
|
+
var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
|
3
|
+
isArray = function(arr){
|
4
|
+
return Object.prototype.toString.call(arr) === "[object Array]"
|
5
|
+
}
|
6
|
+
|
7
|
+
|
8
|
+
JSONparse = function (text, reviver) {
|
9
|
+
|
10
|
+
var j;
|
11
|
+
|
12
|
+
function walk(holder, key) {
|
13
|
+
var k, v, value = holder[key];
|
14
|
+
if (value && typeof value === 'object') {
|
15
|
+
for (k in value) {
|
16
|
+
if (Object.hasOwnProperty.call(value, k)) {
|
17
|
+
v = walk(value, k);
|
18
|
+
if (v !== undefined) {
|
19
|
+
value[k] = v;
|
20
|
+
} else {
|
21
|
+
delete value[k];
|
22
|
+
}
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
26
|
+
return reviver.call(holder, key, value);
|
27
|
+
}
|
28
|
+
|
29
|
+
cx.lastIndex = 0;
|
30
|
+
if (cx.test(text)) {
|
31
|
+
text = text.replace(cx, function (a) {
|
32
|
+
return '\\u' +
|
33
|
+
('0000' + a.charCodeAt(0).toString(16)).slice(-4);
|
34
|
+
});
|
35
|
+
}
|
36
|
+
if (/^[\],:{}\s]*$/.
|
37
|
+
test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@').
|
38
|
+
replace(/["'][^"\\\n\r]*["']|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']').
|
39
|
+
replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {
|
40
|
+
|
41
|
+
|
42
|
+
j = eval('(' + text + ')');
|
43
|
+
|
44
|
+
// In the optional fourth stage, we recursively walk the new structure, passing
|
45
|
+
// each name/value pair to a reviver function for possible transformation.
|
46
|
+
return typeof reviver === 'function' ? walk({'': j}, '') : j;
|
47
|
+
}
|
48
|
+
|
49
|
+
// If the text is not JSON parseable, then a SyntaxError is thrown.
|
50
|
+
|
51
|
+
throw new SyntaxError('JSONparse');
|
52
|
+
};
|
53
|
+
|
54
|
+
|
55
|
+
var toIntegersAtLease =function (n)
|
56
|
+
// Format integers to have at least two digits.
|
57
|
+
{
|
58
|
+
return n < 10 ? '0' + n : n;
|
59
|
+
}
|
60
|
+
|
61
|
+
Date.prototype.toJSON = function(date)
|
62
|
+
// Yes, it polutes the Date namespace, but we'll allow it here, as
|
63
|
+
// it's damned usefull.
|
64
|
+
{
|
65
|
+
return this.getUTCFullYear() + '-' +
|
66
|
+
toIntegersAtLease(this.getUTCMonth()) + '-' +
|
67
|
+
toIntegersAtLease(this.getUTCDate());
|
68
|
+
};
|
69
|
+
|
70
|
+
var escapeable = /["\\\x00-\x1f\x7f-\x9f]/g;
|
71
|
+
var meta = { // table of character substitutions
|
72
|
+
'\b': '\\b',
|
73
|
+
'\t': '\\t',
|
74
|
+
'\n': '\\n',
|
75
|
+
'\f': '\\f',
|
76
|
+
'\r': '\\r',
|
77
|
+
'"' : '\\"',
|
78
|
+
'\\': '\\\\'
|
79
|
+
};
|
80
|
+
|
81
|
+
var quoteString = function(string)
|
82
|
+
// Places quotes around a string, inteligently.
|
83
|
+
// If the string contains no control characters, no quote characters, and no
|
84
|
+
// backslash characters, then we can safely slap some quotes around it.
|
85
|
+
// Otherwise we must also replace the offending characters with safe escape
|
86
|
+
// sequences.
|
87
|
+
{
|
88
|
+
if (escapeable.test(string))
|
89
|
+
{
|
90
|
+
return '"' + string.replace(escapeable, function (a)
|
91
|
+
{
|
92
|
+
var c = meta[a];
|
93
|
+
if (typeof c === 'string') {
|
94
|
+
return c;
|
95
|
+
}
|
96
|
+
c = a.charCodeAt();
|
97
|
+
return '\\u00' + Math.floor(c / 16).toString(16) + (c % 16).toString(16);
|
98
|
+
}) + '"';
|
99
|
+
}
|
100
|
+
return '"' + string + '"';
|
101
|
+
};
|
102
|
+
var vtoJSON = null;
|
103
|
+
var steal = steal;
|
104
|
+
vtoJSON = function(o, compact)
|
105
|
+
{
|
106
|
+
var type = typeof(o);
|
107
|
+
|
108
|
+
if (type == "undefined")
|
109
|
+
return "undefined";
|
110
|
+
else if (type == "number" || type == "boolean")
|
111
|
+
return o + "";
|
112
|
+
else if (o === null)
|
113
|
+
return "null";
|
114
|
+
|
115
|
+
// Is it a string?
|
116
|
+
if (type == "string")
|
117
|
+
{
|
118
|
+
return quoteString(o);
|
119
|
+
}
|
120
|
+
|
121
|
+
// Does it have a .toJSON function?
|
122
|
+
if (type == "object" && typeof o.toJSON == "function")
|
123
|
+
return o.toJSON(compact);
|
124
|
+
|
125
|
+
// Is it an array?
|
126
|
+
if(isArray(o))
|
127
|
+
{
|
128
|
+
var ret = [];
|
129
|
+
for (var i = 0; i < o.length; i++) {
|
130
|
+
ret.push( vtoJSON(o[i], compact) );
|
131
|
+
}
|
132
|
+
if (compact)
|
133
|
+
return "[" + ret.join(",") + "]";
|
134
|
+
else
|
135
|
+
return "[" + ret.join(", ") + "]";
|
136
|
+
}
|
137
|
+
|
138
|
+
// If it's a function, we have to warn somebody!
|
139
|
+
if (type == "function") {
|
140
|
+
throw new TypeError("Unable to convert object of type 'function' to json.");
|
141
|
+
}
|
142
|
+
|
143
|
+
// It's probably an object, then.
|
144
|
+
var ret = [];
|
145
|
+
for (var k in o) {
|
146
|
+
var name;
|
147
|
+
type = typeof(k);
|
148
|
+
|
149
|
+
if (type == "number")
|
150
|
+
name = '"' + k + '"';
|
151
|
+
else if (type == "string")
|
152
|
+
name = quoteString(k);
|
153
|
+
else
|
154
|
+
continue; //skip non-string or number keys
|
155
|
+
|
156
|
+
var val = vtoJSON(o[k], compact);
|
157
|
+
if (typeof(val) != "string") {
|
158
|
+
// skip non-serializable values
|
159
|
+
continue;
|
160
|
+
}
|
161
|
+
|
162
|
+
if (compact)
|
163
|
+
ret.push(name + ":" + val);
|
164
|
+
else
|
165
|
+
ret.push(name + ": " + val);
|
166
|
+
}
|
167
|
+
return "{" + ret.join(", ") + "}";
|
168
|
+
};
|
169
|
+
toJSON = vtoJSON;
|
170
|
+
|
171
|
+
|
172
|
+
})();
|
@@ -0,0 +1,107 @@
|
|
1
|
+
/**
|
2
|
+
* @hide
|
3
|
+
* Documents a 'Class'. A class is typically a collection of static and prototype functions.
|
4
|
+
* steal Doc can automatically detect classes created with steal.Class. However, you can make anything
|
5
|
+
* a class with the <b>@class <i>ClassName</i></b> directive.
|
6
|
+
* @author Jupiter IT
|
7
|
+
* @codestart
|
8
|
+
* /**
|
9
|
+
* * Person represents a human with a name. Read about the
|
10
|
+
* * animal class [Animal | here].
|
11
|
+
* * @init
|
12
|
+
* * You must pass in a name.
|
13
|
+
* * @params {String} name A person's name
|
14
|
+
* *|
|
15
|
+
* Person = Animal.extend(
|
16
|
+
* /* @Static *|
|
17
|
+
* {
|
18
|
+
* /* Number of People *|
|
19
|
+
* count: 0
|
20
|
+
* },
|
21
|
+
* /* @Prototype *|
|
22
|
+
* {
|
23
|
+
* init : function(name){
|
24
|
+
* this.name = name
|
25
|
+
* this._super({warmblood: true})
|
26
|
+
* },
|
27
|
+
* /* Returns a formal name
|
28
|
+
* * @return {String} the name with "Mrs." added
|
29
|
+
* *|
|
30
|
+
* fancy_name : function(){
|
31
|
+
* return "Mrs. "+this.name;
|
32
|
+
* }
|
33
|
+
* })
|
34
|
+
* @codeend
|
35
|
+
*/
|
36
|
+
DocumentJS.Pair.extend('DocumentJS.Page',
|
37
|
+
/* @Static */
|
38
|
+
{
|
39
|
+
starts_scope: true,
|
40
|
+
listing: [],
|
41
|
+
/**
|
42
|
+
* Loads the class view.
|
43
|
+
*/
|
44
|
+
init : function(){
|
45
|
+
this.add(
|
46
|
+
DocumentJS.Directive.CodeStart, DocumentJS.Directive.CodeEnd,
|
47
|
+
DocumentJS.Directive.Tag, DocumentJS.Directive.iFrame, DocumentJS.Directive.Demo, DocumentJS.Directive.Parent)
|
48
|
+
|
49
|
+
this._super();
|
50
|
+
|
51
|
+
var ejs = "jmvc/plugins/documentation/templates/file.ejs"
|
52
|
+
|
53
|
+
this.serialize("name",['real_comment','comment'],"shortName","title",['linker','children'])
|
54
|
+
}
|
55
|
+
},
|
56
|
+
/* @Prototype */
|
57
|
+
{
|
58
|
+
/**
|
59
|
+
* Verifies the class was created successfully.
|
60
|
+
*/
|
61
|
+
comment_setup_complete : function(){
|
62
|
+
if(!this.name){
|
63
|
+
print("Error! No name defined for \n-----------------------")
|
64
|
+
print(this.comment)
|
65
|
+
print('-----------------------')
|
66
|
+
}
|
67
|
+
},
|
68
|
+
|
69
|
+
|
70
|
+
code_setup: function(){
|
71
|
+
|
72
|
+
},
|
73
|
+
page_add: function(line){
|
74
|
+
var m = line.match(/^@\w+\s+([^\s]+)\s+(.+)/)
|
75
|
+
if(m){
|
76
|
+
this.name = m[1];
|
77
|
+
this.title = m[2] || this.name;
|
78
|
+
}
|
79
|
+
},
|
80
|
+
/**
|
81
|
+
* Renders this class to a file.
|
82
|
+
* @param {String} left_side The left side content / list of all documented classes & constructors.
|
83
|
+
*/
|
84
|
+
toFile : function(name){
|
85
|
+
try{
|
86
|
+
var res = this.jsonp();
|
87
|
+
new steal.File('apps/'+name+'/docs/'+this.name.replace(/ /g,"_")+".json").save(res);
|
88
|
+
|
89
|
+
}catch(e ){
|
90
|
+
print("Unable to generate class for "+this.name+" !")
|
91
|
+
print(" Error: "+e)
|
92
|
+
}
|
93
|
+
},
|
94
|
+
cleaned_comment : function(){
|
95
|
+
return DocumentJS.link_content(this.real_comment).replace(/\n\s*\n/g,"<br/><br/>");
|
96
|
+
},
|
97
|
+
full_name : function(){
|
98
|
+
return this.name;
|
99
|
+
},
|
100
|
+
add_parent : function(scope){
|
101
|
+
//always go back to the file:
|
102
|
+
while(scope.Class.shortName.toLowerCase() != 'script') scope = scope.parent;
|
103
|
+
this.parent = scope.children.length ? scope.children[0] : scope;
|
104
|
+
this.parent.add(this);
|
105
|
+
}
|
106
|
+
|
107
|
+
});
|
@@ -0,0 +1,302 @@
|
|
1
|
+
/**
|
2
|
+
* A base class for a comment and the line of code following it.
|
3
|
+
* @hide
|
4
|
+
*/
|
5
|
+
DocumentJS.Class.extend("DocumentJS.Pair",
|
6
|
+
/* @Static */
|
7
|
+
{
|
8
|
+
code_match: function(){ return null},
|
9
|
+
classes: [],
|
10
|
+
/**
|
11
|
+
* From the comment and code, guesses at the type of comment and creates a new
|
12
|
+
* instance of that type.
|
13
|
+
* @param {String} comment - the comment
|
14
|
+
* @param {String} code - the first line of source following the comment
|
15
|
+
* @param {DocumentJS.Pair} scope - The current scope of documentation.
|
16
|
+
* This is typically a Class, Constructor, Static, or Prototype
|
17
|
+
* @return {DocumentJS.Pair} - If a type can be found, the new Doc object; otherwise, null.
|
18
|
+
*/
|
19
|
+
create: function(comment, code, scope){
|
20
|
+
var check = comment.match(/^@(\w+)/), type
|
21
|
+
|
22
|
+
if(!(type = this.has_type(check ? check[1] : null)) ){ //try code
|
23
|
+
type = this.guess_type(code);
|
24
|
+
}
|
25
|
+
if(!type) return null;
|
26
|
+
|
27
|
+
return new type(comment, code, scope)
|
28
|
+
},
|
29
|
+
/**
|
30
|
+
* Looks for a Doc class with a shortName for the given type
|
31
|
+
* @param {String} type a potential shortName
|
32
|
+
*/
|
33
|
+
has_type: function(type){
|
34
|
+
if(!type) return null;
|
35
|
+
for(var i=0;i< this.classes.length; i++){
|
36
|
+
if(this.classes[i].shortName.toLowerCase() == type.toLowerCase() )
|
37
|
+
return this.classes[i];
|
38
|
+
}
|
39
|
+
return null;
|
40
|
+
},
|
41
|
+
/**
|
42
|
+
* Tries to guess at a piece of code's type.
|
43
|
+
* @param {Object} code
|
44
|
+
*/
|
45
|
+
guess_type: function(code){
|
46
|
+
|
47
|
+
for(var i=0;i< this.classes.length; i++){
|
48
|
+
if(this.classes[i].code_match(code) )
|
49
|
+
return this.classes[i];
|
50
|
+
}
|
51
|
+
return null;
|
52
|
+
},
|
53
|
+
suggest_type : function(incorrect, line){
|
54
|
+
var lowest = 1000, suggest = "";
|
55
|
+
for(var i=0;i< this.classes.length; i++){
|
56
|
+
var dist = DocumentJS.distance(incorrect.toLowerCase(), this.classes[i].shortName.toLowerCase())
|
57
|
+
if(dist < lowest ){
|
58
|
+
lowest = dist
|
59
|
+
suggest = this.classes[i].shortName.toLowerCase()
|
60
|
+
}
|
61
|
+
}
|
62
|
+
for(var i=0;i< DocumentJS.Directive.directives.length; i++){
|
63
|
+
var dist = DocumentJS.distance(incorrect.toLowerCase(), DocumentJS.Directive.directives[i].toLowerCase())
|
64
|
+
if(dist < lowest ){
|
65
|
+
lowest = dist
|
66
|
+
suggest = DocumentJS.Directive.directives[i].toLowerCase()
|
67
|
+
}
|
68
|
+
}
|
69
|
+
if(suggest){
|
70
|
+
print("\nWarning!!\nThere is no @"+incorrect+" directive. did you mean @"+suggest+" ?\n")
|
71
|
+
}
|
72
|
+
},
|
73
|
+
starts_scope: false,
|
74
|
+
/**
|
75
|
+
* Given a and b, sorts by their full_name property.
|
76
|
+
* @param {Object} a
|
77
|
+
* @param {Object} b
|
78
|
+
*/
|
79
|
+
sort_by_full_name : function(a, b){
|
80
|
+
var af = a.full_name ? a.full_name.toLowerCase() : a.full_name
|
81
|
+
var bf = b.full_name ? b.full_name.toLowerCase() : a.full_name
|
82
|
+
if(af == bf) return 0;
|
83
|
+
return af > bf ? 1: -1;
|
84
|
+
},
|
85
|
+
sort_by_name : function(a, b){
|
86
|
+
var af = a.name ? a.name.toLowerCase() : a.name
|
87
|
+
var bf = b.name ? b.name.toLowerCase() : a.name
|
88
|
+
|
89
|
+
if(af == bf) return 0;
|
90
|
+
return af > bf ? 1: -1;
|
91
|
+
},
|
92
|
+
/**
|
93
|
+
* Loads a template to use to render different doc types.
|
94
|
+
*/
|
95
|
+
init : function(){
|
96
|
+
if(this.shortName){
|
97
|
+
if(DocumentJS.Pair)
|
98
|
+
DocumentJS.Pair.classes.push(this)
|
99
|
+
}
|
100
|
+
this.listing = [];
|
101
|
+
},
|
102
|
+
/**
|
103
|
+
* Adds [DocumentJS.Directive|directives] to this class.
|
104
|
+
* @codestart
|
105
|
+
* {
|
106
|
+
* init: function(){
|
107
|
+
* this._super();
|
108
|
+
* this.add(DocumentJS.Directive.Return, DocumentJS.Directive.Param)
|
109
|
+
* }
|
110
|
+
* }
|
111
|
+
* @codeend
|
112
|
+
*/
|
113
|
+
add : function(){
|
114
|
+
var args = DocumentJS.makeArray(arguments)
|
115
|
+
for(var i = 0; i < args.length; i++){
|
116
|
+
this._add(args[i]);
|
117
|
+
}
|
118
|
+
},
|
119
|
+
_add : function(directive){
|
120
|
+
var start = directive.shortName.toLowerCase()+"_"
|
121
|
+
this.prototype[start+"add"] = directive.prototype.add
|
122
|
+
if(directive.prototype.add_more)
|
123
|
+
this.prototype[start+"add_more"] = directive.prototype.add_more
|
124
|
+
},
|
125
|
+
matchDirective : /^\s*@(\w+)/
|
126
|
+
},
|
127
|
+
/* @Prototype */
|
128
|
+
{
|
129
|
+
/**
|
130
|
+
* Saves coment, code. Adds self to parent. Calls code_setup and comment_setup.
|
131
|
+
* Finally, adds to DocumentJS.objects.
|
132
|
+
* @param {String} comment
|
133
|
+
* @param {String} code
|
134
|
+
* @param {DocumentJS.Pair} scope
|
135
|
+
*/
|
136
|
+
init : function(comment, code, scope ){
|
137
|
+
this.children = [];
|
138
|
+
this.shallowParents = [];
|
139
|
+
this.comment = comment;
|
140
|
+
this.code = code;
|
141
|
+
|
142
|
+
|
143
|
+
|
144
|
+
if(this.Class.code_match(this.code))
|
145
|
+
this.code_setup();
|
146
|
+
this.comment_setup();
|
147
|
+
|
148
|
+
//we need to add to a class if we
|
149
|
+
this.add_parent(scope);
|
150
|
+
|
151
|
+
var par = this;
|
152
|
+
while(par && !par.url){
|
153
|
+
par = par.parent;
|
154
|
+
}
|
155
|
+
if(par){
|
156
|
+
DocumentJS.objects[this.full_name()] = par.url()+(this.url ? "" : "#"+this.full_name() );
|
157
|
+
}
|
158
|
+
this.Class.listing.push(this);
|
159
|
+
if(DocumentJS.Directive.Parent.waiting.hasOwnProperty(this.name)){
|
160
|
+
var addOns = DocumentJS.Directive.Parent.waiting[this.name]
|
161
|
+
this.children = this.children.concat(addOns)
|
162
|
+
for(var i=0;i< addOns.length;i++){
|
163
|
+
addOns[i].shallowParents.push(this);
|
164
|
+
}
|
165
|
+
}
|
166
|
+
},
|
167
|
+
add: function(child){
|
168
|
+
this.children.push(child);
|
169
|
+
},
|
170
|
+
add_parent : function(scope){
|
171
|
+
this.parent = scope;
|
172
|
+
this.parent.add(this);
|
173
|
+
},
|
174
|
+
scope: function(){
|
175
|
+
return this.Class.starts_scope ? this : this.parent
|
176
|
+
},
|
177
|
+
code_setup: function(){},
|
178
|
+
jsonp: function(){
|
179
|
+
return "C("+$.toJSON(this.json())+")";
|
180
|
+
},
|
181
|
+
full_name: function(){
|
182
|
+
var par = ""
|
183
|
+
//print("has parent "+this.parent)
|
184
|
+
if(!this.parent){
|
185
|
+
print(this.name+" has no parent ")
|
186
|
+
}else
|
187
|
+
par = this.parent.full_name();
|
188
|
+
//print(par+" - "+this.name)
|
189
|
+
return (par ? par+"." : "")+this.name ;
|
190
|
+
},
|
191
|
+
make : function(arr){
|
192
|
+
var res = ["<div>"];
|
193
|
+
//we should alphabetize by name
|
194
|
+
|
195
|
+
for(var c=0; c<arr.length; c++){
|
196
|
+
var child = arr[c];
|
197
|
+
res.push(child.toHTML());
|
198
|
+
}
|
199
|
+
res.push("</div>");
|
200
|
+
return res.join("");
|
201
|
+
},
|
202
|
+
/**
|
203
|
+
* Checks if this child should not add its children for the given parent
|
204
|
+
*/
|
205
|
+
shallowParent : function(parent){
|
206
|
+
for(var i = 0; i < this.shallowParents.length;i++){
|
207
|
+
if(this.shallowParents[i] === parent){
|
208
|
+
return true;
|
209
|
+
}
|
210
|
+
}
|
211
|
+
return false;
|
212
|
+
},
|
213
|
+
linker : function(stealSelf, parent){
|
214
|
+
var result = stealSelf ? [ {name: this.full_name(), shortName : this.Class.shortName.toLowerCase(), title: this.title, hide: (this.hide ? true: false) }] : [];
|
215
|
+
if(this.children && ! this.shallowParent(parent)){
|
216
|
+
//print(this.name)
|
217
|
+
for(var c=0; c<this.children.length; c++){
|
218
|
+
var adds = this.children[c].linker(true, this);
|
219
|
+
if(adds)
|
220
|
+
result = result.concat( adds );
|
221
|
+
}
|
222
|
+
}
|
223
|
+
return result;
|
224
|
+
},
|
225
|
+
/**
|
226
|
+
* Orders params into an array.
|
227
|
+
*/
|
228
|
+
ordered_params : function(){
|
229
|
+
var arr = [];
|
230
|
+
for(var n in this.params){
|
231
|
+
var param = this.params[n];
|
232
|
+
arr[param.order] = param;
|
233
|
+
}
|
234
|
+
return arr;
|
235
|
+
},
|
236
|
+
/**
|
237
|
+
* Goes through the comment line by line. Searches for lines starting with a <i>@directive</i>.
|
238
|
+
* If a line with a directive is found, it sees if the instance has a function that matches
|
239
|
+
* <i>directive</i>_add exists. If it does, <i>directive</i>_add is called on that object.
|
240
|
+
* If following lines do not have a directive, the <i>directive</i>_add_more function is called
|
241
|
+
* on the instance
|
242
|
+
* <br/>
|
243
|
+
* Initial comments are added to real_comment.<br>
|
244
|
+
* This function is shared by Class and Constructor.
|
245
|
+
*/
|
246
|
+
comment_setup: function(){
|
247
|
+
var i = 0,
|
248
|
+
lines = this.comment.split("\n"),
|
249
|
+
last,
|
250
|
+
last_data; //what data we are going to be called with
|
251
|
+
|
252
|
+
this.real_comment = '';
|
253
|
+
if(!this.params) this.params = {};
|
254
|
+
if(!this.ret) this.ret = {type: 'undefined',description: ""};
|
255
|
+
|
256
|
+
this._last; //what we should be adding too.
|
257
|
+
|
258
|
+
for(var l=0; l < lines.length; l++){
|
259
|
+
var line = lines[l],
|
260
|
+
match = line.match(DocumentJS.Pair.matchDirective)
|
261
|
+
|
262
|
+
if (match) {
|
263
|
+
|
264
|
+
var fname = (match[1] + '_add').toLowerCase();
|
265
|
+
if (!this[fname]) {
|
266
|
+
if (!DocumentJS.Pair.has_type(match[1])) {
|
267
|
+
DocumentJS.Pair.suggest_type(match[1])
|
268
|
+
}
|
269
|
+
|
270
|
+
this.real_comment += line + "\n"
|
271
|
+
continue;
|
272
|
+
}
|
273
|
+
last_data = this[fname](line, last_data);
|
274
|
+
//horrible ... fix
|
275
|
+
if (last_data && last_data.length == 2 && last_data[0] == 'keep') {
|
276
|
+
last_data = last_data[1]
|
277
|
+
}
|
278
|
+
else
|
279
|
+
if (last_data) {
|
280
|
+
this._last = match[1].toLowerCase();
|
281
|
+
}
|
282
|
+
else {
|
283
|
+
this._last = null;
|
284
|
+
}
|
285
|
+
|
286
|
+
}
|
287
|
+
else {
|
288
|
+
line = line.replace(/@@/g,"@")
|
289
|
+
if (!line.match(/^constructor/i) && !this._last) {
|
290
|
+
this.real_comment += line + "\n"
|
291
|
+
}
|
292
|
+
else if (this._last && this[this._last + '_add_more']) {
|
293
|
+
this[this._last + '_add_more'](line, last_data);
|
294
|
+
}
|
295
|
+
}
|
296
|
+
}
|
297
|
+
if(this.comment_setup_complete) this.comment_setup_complete();
|
298
|
+
},
|
299
|
+
shortName : function(){
|
300
|
+
return this.Class.shortName;
|
301
|
+
}
|
302
|
+
})
|