dojo-pkg 1.111.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +4 -0
- data/Manifest.txt +2408 -0
- data/PostInstall.txt +11 -0
- data/README.rdoc +55 -0
- data/README.txt +3 -0
- data/Rakefile +4 -0
- data/bin/dojofy +15 -0
- data/config/hoe.rb +73 -0
- data/config/requirements.rb +15 -0
- data/data/dojo-release-1.1.1-src/dijit/ColorPalette.js +288 -0
- data/data/dojo-release-1.1.1-src/dijit/Declaration.js +72 -0
- data/data/dojo-release-1.1.1-src/dijit/Dialog.js +476 -0
- data/data/dojo-release-1.1.1-src/dijit/Editor.js +369 -0
- data/data/dojo-release-1.1.1-src/dijit/InlineEditBox.js +418 -0
- data/data/dojo-release-1.1.1-src/dijit/LICENSE +195 -0
- data/data/dojo-release-1.1.1-src/dijit/Menu.js +483 -0
- data/data/dojo-release-1.1.1-src/dijit/ProgressBar.js +91 -0
- data/data/dojo-release-1.1.1-src/dijit/TitlePane.js +153 -0
- data/data/dojo-release-1.1.1-src/dijit/Toolbar.js +50 -0
- data/data/dojo-release-1.1.1-src/dijit/Tooltip.js +288 -0
- data/data/dojo-release-1.1.1-src/dijit/Tree.js +1332 -0
- data/data/dojo-release-1.1.1-src/dijit/_Calendar.js +235 -0
- data/data/dojo-release-1.1.1-src/dijit/_Container.js +342 -0
- data/data/dojo-release-1.1.1-src/dijit/_Templated.js +325 -0
- data/data/dojo-release-1.1.1-src/dijit/_TimePicker.js +245 -0
- data/data/dojo-release-1.1.1-src/dijit/_Widget.js +405 -0
- data/data/dojo-release-1.1.1-src/dijit/_base/bidi.js +9 -0
- data/data/dojo-release-1.1.1-src/dijit/_base/focus.js +338 -0
- data/data/dojo-release-1.1.1-src/dijit/_base/manager.js +190 -0
- data/data/dojo-release-1.1.1-src/dijit/_base/place.js +209 -0
- data/data/dojo-release-1.1.1-src/dijit/_base/popup.js +265 -0
- data/data/dojo-release-1.1.1-src/dijit/_base/scroll.js +25 -0
- data/data/dojo-release-1.1.1-src/dijit/_base/sniff.js +41 -0
- data/data/dojo-release-1.1.1-src/dijit/_base/typematic.js +135 -0
- data/data/dojo-release-1.1.1-src/dijit/_base/wai.js +139 -0
- data/data/dojo-release-1.1.1-src/dijit/_base/window.js +43 -0
- data/data/dojo-release-1.1.1-src/dijit/_base.js +23 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/RichText.js +1445 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/_Plugin.js +97 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/html.js +102 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/FontChoice.js +25 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/LinkDialog.js +7 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/ar/FontChoice.js +25 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/ar/LinkDialog.js +7 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/ar/commands.js +42 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/commands.js +44 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/cs/FontChoice.js +25 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/cs/LinkDialog.js +7 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/cs/commands.js +43 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/da/FontChoice.js +25 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/da/LinkDialog.js +7 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/da/commands.js +42 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/de/FontChoice.js +25 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/de/LinkDialog.js +7 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/de/commands.js +43 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/el/FontChoice.js +25 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/el/LinkDialog.js +7 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/el/commands.js +42 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/es/FontChoice.js +25 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/es/LinkDialog.js +7 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/es/commands.js +43 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/fi/FontChoice.js +25 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/fi/LinkDialog.js +7 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/fi/commands.js +42 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/fr/FontChoice.js +25 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/fr/LinkDialog.js +7 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/fr/commands.js +42 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/he/FontChoice.js +25 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/he/LinkDialog.js +7 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/he/commands.js +42 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/hu/FontChoice.js +25 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/hu/LinkDialog.js +7 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/hu/commands.js +42 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/it/FontChoice.js +25 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/it/LinkDialog.js +7 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/it/commands.js +42 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/ja/FontChoice.js +25 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/ja/LinkDialog.js +7 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/ja/commands.js +42 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/ko/FontChoice.js +25 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/ko/LinkDialog.js +7 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/ko/commands.js +42 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/nb/FontChoice.js +25 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/nb/LinkDialog.js +7 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/nb/commands.js +42 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/nl/FontChoice.js +25 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/nl/LinkDialog.js +7 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/nl/commands.js +43 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/pl/FontChoice.js +25 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/pl/LinkDialog.js +7 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/pl/commands.js +42 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/pt/FontChoice.js +25 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/pt/LinkDialog.js +7 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/pt/commands.js +42 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/pt-pt/FontChoice.js +25 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/pt-pt/LinkDialog.js +7 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/pt-pt/commands.js +42 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/ru/FontChoice.js +25 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/ru/LinkDialog.js +7 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/ru/commands.js +42 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/sv/FontChoice.js +25 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/sv/LinkDialog.js +7 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/sv/commands.js +43 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/tr/FontChoice.js +25 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/tr/LinkDialog.js +7 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/tr/commands.js +42 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/zh/FontChoice.js +25 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/zh/LinkDialog.js +7 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/zh/commands.js +42 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/zh-tw/FontChoice.js +25 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/zh-tw/LinkDialog.js +7 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/nls/zh-tw/commands.js +42 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/plugins/AlwaysShowToolbar.js +136 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/plugins/EnterKeyHandling.js +412 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/plugins/FontChoice.js +163 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/plugins/LinkDialog.js +143 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/plugins/TextColor.js +36 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/plugins/ToggleDir.js +36 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/range.js +566 -0
- data/data/dojo-release-1.1.1-src/dijit/_editor/selection.js +242 -0
- data/data/dojo-release-1.1.1-src/dijit/_tree/Node.html +12 -0
- data/data/dojo-release-1.1.1-src/dijit/_tree/Tree.html +3 -0
- data/data/dojo-release-1.1.1-src/dijit/_tree/dndContainer.js +146 -0
- data/data/dojo-release-1.1.1-src/dijit/_tree/dndSelector.js +167 -0
- data/data/dojo-release-1.1.1-src/dijit/_tree/dndSource.js +369 -0
- data/data/dojo-release-1.1.1-src/dijit/_tree/model.js +84 -0
- data/data/dojo-release-1.1.1-src/dijit/bench/benchReceive.php +129 -0
- data/data/dojo-release-1.1.1-src/dijit/bench/benchTool.html +189 -0
- data/data/dojo-release-1.1.1-src/dijit/bench/create_widgets.html +73 -0
- data/data/dojo-release-1.1.1-src/dijit/bench/test_Button-programmatic.html +75 -0
- data/data/dojo-release-1.1.1-src/dijit/bench/test_button-results.html +66 -0
- data/data/dojo-release-1.1.1-src/dijit/bench/widget_construction_test.php +186 -0
- data/data/dojo-release-1.1.1-src/dijit/changes.txt +93 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/chat/chat.css +46 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/chat/client.html +65 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/chat/community.html +114 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/chat/operator.html +83 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/chat/room.js +123 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/chat.html +86 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/form.html +243 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/i18n/continents.json +9 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/i18n/data.json +8646 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/i18n/flags.css +1224 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/i18n/flags.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/i18n/generate.html +2353 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/i18n/langCountryMap.json +215 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/i18n/languages.json +7045 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/i18n/languages.sh +18 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/i18n/sprite.html +2319 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/i18n.html +158 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/mail/icons.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/mail/icons.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/mail/mail.css +157 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/mail/mail.json +75 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/mail/newMail.html +8 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/mail.html +426 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/nihao/nls/en/helloworld.js +2 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/nihao/nls/fr/helloworld.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/nihao/nls/helloworld.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/nihao/nls/zh/helloworld.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/demos/nihao.html +91 -0
- data/data/dojo-release-1.1.1-src/dijit/dijit-all.js +47 -0
- data/data/dojo-release-1.1.1-src/dijit/dijit.js +25 -0
- data/data/dojo-release-1.1.1-src/dijit/form/Button.js +421 -0
- data/data/dojo-release-1.1.1-src/dijit/form/CheckBox.js +129 -0
- data/data/dojo-release-1.1.1-src/dijit/form/ComboBox.js +1056 -0
- data/data/dojo-release-1.1.1-src/dijit/form/CurrencyTextBox.js +47 -0
- data/data/dojo-release-1.1.1-src/dijit/form/DateTextBox.js +16 -0
- data/data/dojo-release-1.1.1-src/dijit/form/FilteringSelect.js +237 -0
- data/data/dojo-release-1.1.1-src/dijit/form/Form.js +380 -0
- data/data/dojo-release-1.1.1-src/dijit/form/MultiSelect.js +80 -0
- data/data/dojo-release-1.1.1-src/dijit/form/NumberSpinner.js +27 -0
- data/data/dojo-release-1.1.1-src/dijit/form/NumberTextBox.js +75 -0
- data/data/dojo-release-1.1.1-src/dijit/form/SimpleTextarea.js +46 -0
- data/data/dojo-release-1.1.1-src/dijit/form/Slider.js +477 -0
- data/data/dojo-release-1.1.1-src/dijit/form/TextBox.js +181 -0
- data/data/dojo-release-1.1.1-src/dijit/form/Textarea.js +257 -0
- data/data/dojo-release-1.1.1-src/dijit/form/TimeTextBox.js +29 -0
- data/data/dojo-release-1.1.1-src/dijit/form/ValidationTextBox.js +304 -0
- data/data/dojo-release-1.1.1-src/dijit/form/_DateTimeTextBox.js +171 -0
- data/data/dojo-release-1.1.1-src/dijit/form/_FormWidget.js +336 -0
- data/data/dojo-release-1.1.1-src/dijit/form/_Spinner.js +113 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/ComboBox.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/Textarea.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/ar/ComboBox.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/ar/Textarea.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/ar/validate.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/cs/ComboBox.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/cs/Textarea.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/cs/validate.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/da/ComboBox.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/da/Textarea.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/da/validate.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/de/ComboBox.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/de/Textarea.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/de/validate.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/el/ComboBox.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/el/Textarea.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/el/validate.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/es/ComboBox.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/es/Textarea.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/es/validate.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/fi/ComboBox.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/fi/Textarea.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/fi/validate.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/fr/ComboBox.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/fr/Textarea.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/fr/validate.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/he/ComboBox.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/he/Textarea.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/he/validate.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/hu/ComboBox.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/hu/Textarea.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/hu/validate.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/it/ComboBox.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/it/Textarea.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/it/validate.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/ja/ComboBox.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/ja/Textarea.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/ja/validate.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/ko/ComboBox.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/ko/Textarea.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/ko/validate.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/nb/ComboBox.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/nb/Textarea.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/nb/validate.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/nl/ComboBox.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/nl/Textarea.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/nl/validate.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/pl/ComboBox.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/pl/Textarea.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/pl/validate.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/pt/ComboBox.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/pt/Textarea.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/pt/validate.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/pt-pt/ComboBox.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/pt-pt/Textarea.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/pt-pt/validate.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/ru/ComboBox.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/ru/Textarea.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/ru/validate.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/sv/ComboBox.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/sv/Textarea.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/sv/validate.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/tr/ComboBox.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/tr/Textarea.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/tr/validate.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/validate.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/zh/ComboBox.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/zh/Textarea.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/zh/validate.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/zh-tw/ComboBox.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/zh-tw/Textarea.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/form/nls/zh-tw/validate.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/form/templates/Button.html +11 -0
- data/data/dojo-release-1.1.1-src/dijit/form/templates/CheckBox.html +7 -0
- data/data/dojo-release-1.1.1-src/dijit/form/templates/ComboBox.html +19 -0
- data/data/dojo-release-1.1.1-src/dijit/form/templates/ComboButton.html +21 -0
- data/data/dojo-release-1.1.1-src/dijit/form/templates/DropDownButton.html +13 -0
- data/data/dojo-release-1.1.1-src/dijit/form/templates/HorizontalSlider.html +37 -0
- data/data/dojo-release-1.1.1-src/dijit/form/templates/InlineEditBox.html +12 -0
- data/data/dojo-release-1.1.1-src/dijit/form/templates/Spinner.html +28 -0
- data/data/dojo-release-1.1.1-src/dijit/form/templates/TextBox.html +4 -0
- data/data/dojo-release-1.1.1-src/dijit/form/templates/TimePicker.html +5 -0
- data/data/dojo-release-1.1.1-src/dijit/form/templates/ValidationTextBox.html +12 -0
- data/data/dojo-release-1.1.1-src/dijit/form/templates/VerticalSlider.html +46 -0
- data/data/dojo-release-1.1.1-src/dijit/layout/AccordionContainer.js +225 -0
- data/data/dojo-release-1.1.1-src/dijit/layout/BorderContainer.js +511 -0
- data/data/dojo-release-1.1.1-src/dijit/layout/ContentPane.js +441 -0
- data/data/dojo-release-1.1.1-src/dijit/layout/LayoutContainer.js +70 -0
- data/data/dojo-release-1.1.1-src/dijit/layout/LinkPane.js +32 -0
- data/data/dojo-release-1.1.1-src/dijit/layout/SplitContainer.js +549 -0
- data/data/dojo-release-1.1.1-src/dijit/layout/StackContainer.js +489 -0
- data/data/dojo-release-1.1.1-src/dijit/layout/TabContainer.js +180 -0
- data/data/dojo-release-1.1.1-src/dijit/layout/_LayoutWidget.js +184 -0
- data/data/dojo-release-1.1.1-src/dijit/layout/templates/AccordionPane.html +11 -0
- data/data/dojo-release-1.1.1-src/dijit/layout/templates/TabContainer.html +4 -0
- data/data/dojo-release-1.1.1-src/dijit/layout/templates/TooltipDialog.html +6 -0
- data/data/dojo-release-1.1.1-src/dijit/layout/templates/_TabButton.html +10 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/ar/common.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/ar/loading.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/common.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/cs/common.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/cs/loading.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/da/common.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/da/loading.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/de/common.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/de/loading.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/el/common.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/el/loading.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/es/common.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/es/loading.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/fi/common.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/fi/loading.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/fr/common.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/fr/loading.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/he/common.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/he/loading.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/hu/common.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/hu/loading.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/it/common.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/it/loading.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/ja/common.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/ja/loading.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/ko/common.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/ko/loading.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/loading.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/nb/common.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/nb/loading.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/nl/common.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/nl/loading.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/pl/common.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/pl/loading.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/pt/common.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/pt/loading.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/pt-pt/common.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/pt-pt/loading.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/ru/common.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/ru/loading.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/sv/common.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/sv/loading.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/tr/common.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/tr/loading.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/zh/common.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/zh/loading.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/zh-tw/common.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/nls/zh-tw/loading.js +4 -0
- data/data/dojo-release-1.1.1-src/dijit/resources/_modules.js +15 -0
- data/data/dojo-release-1.1.1-src/dijit/templates/Calendar.html +35 -0
- data/data/dojo-release-1.1.1-src/dijit/templates/ColorPalette.html +5 -0
- data/data/dojo-release-1.1.1-src/dijit/templates/Dialog.html +9 -0
- data/data/dojo-release-1.1.1-src/dijit/templates/InlineEditBox.html +8 -0
- data/data/dojo-release-1.1.1-src/dijit/templates/ProgressBar.html +9 -0
- data/data/dojo-release-1.1.1-src/dijit/templates/TitlePane.html +14 -0
- data/data/dojo-release-1.1.1-src/dijit/templates/Tooltip.html +4 -0
- data/data/dojo-release-1.1.1-src/dijit/templates/buttons/bg-fade.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/templates/colors3x4.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/templates/colors7x10.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/Container.html +63 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/Container.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/_Templated.html +164 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/_Templated.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/_altCalendar.html +36 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/_base/manager.html +322 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/_base/manager.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/_base/test_FocusManager.html +46 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/_base/test_focusWidget.html +130 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/_base/test_placeStrict.html +400 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/_base/test_typematic.html +56 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/_base/viewport.html +79 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/_base/viewport.js +6 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/_base/viewportStrict.html +81 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/_base/wai.html +115 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/_base/wai.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/_data/categories.json +12 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/_data/categoriesNested.json +13 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/_data/countries.json +45 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/_data/dijits.json +1 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/_data/states.json +64 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/_data/treeTest.json +22 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/_editor/test_6112.html +745 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/_editor/test_CustomPlugin.html +151 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/_editor/test_RichText.html +59 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/_editor/test_ToggleDir.html +37 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/_editor/test_richtext.css +4 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/_programaticTest.html +109 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/_testCommon.js +103 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/css/dijitTests.css +78 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/form/Form.html +354 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/form/Form.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/form/images/Alabama.jpg +0 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/form/test_Button.html +286 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/form/test_CheckBox.html +127 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/form/test_ComboBox.html +289 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/form/test_ComboBox_destroy.html +58 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/form/test_DateTextBox.html +156 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/form/test_FilteringSelect.html +296 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/form/test_Form_onsubmit.html +87 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/form/test_MultiSelect.html +138 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/form/test_SimpleTextarea.html +62 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/form/test_Slider.html +208 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/form/test_Spinner.html +92 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/form/test_Textarea.html +106 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/form/test_TimeTextBox.html +143 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/form/test_validate.html +428 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/i18n/README +4 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/i18n/currency.html +210 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/i18n/date.html +155 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/i18n/digit.html +294 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/i18n/module.js +14 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/i18n/number.html +136 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/i18n/test_i18n.js +206 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/i18n/textbox.html +173 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/i18n/time.html +207 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/images/arrowSmall.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/images/copy.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/images/cut.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/images/flatScreen.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/images/note.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/images/paste.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/images/plus.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/images/testsBodyBg.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/images/tube.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/images/tubeTall.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/layout/ContentPane.html +577 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/layout/ContentPane.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/layout/combotab.html +11 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/layout/doc0.html +12 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/layout/doc1.html +13 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/layout/doc2.html +13 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/layout/getResponse.php +57 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/layout/tab1.html +6 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/layout/tab2.html +3 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/layout/tab3.html +39 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/layout/tab4.html +40 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_AccordionContainer.html +195 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_BorderContainer.html +163 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_BorderContainer_complex.html +178 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_BorderContainer_experimental.html +253 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_BorderContainer_full.html +56 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_BorderContainer_nested.html +70 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_ContentPane.html +94 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_LayoutCode.html +383 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_LayoutContainer.html +174 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_SplitContainer.html +116 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_StackContainer.html +62 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_StackContainer_code.html +64 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_TabContainer.html +183 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_TabContainerTitlePane.html +75 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_TabContainer_noLayout.html +104 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/layout/test_TabContainer_remote.html +109 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/manualTests.html +12 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/manualTests.js +81 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/module.js +17 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/ondijitclick.html +95 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/ondijitclick.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/runTests.html +9 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/test.html +37 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/test_Calendar.html +81 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/test_ColorPalette.html +53 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/test_Declaration.html +66 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/test_Dialog.html +408 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/test_Dialog_focusDestroy.html +61 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/test_Editor.html +153 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/test_InlineEditBox.html +231 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/test_Menu.html +270 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/test_ProgressBar.html +165 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/test_TitlePane.html +126 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/test_Toolbar.html +186 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/test_Tooltip.html +117 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/test_TooltipDialog.html +349 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/test_Tree.html +115 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/test_Tree_Notification_API_Support.html +287 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/test_instantiate.html +111 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/tree/test_Tree_DnD.html +194 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/tree/test_Tree_Programmatic.html +40 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/tree/test_Tree_v1.html +111 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/widgetsInTemplate.html +112 -0
- data/data/dojo-release-1.1.1-src/dijit/tests/widgetsInTemplate.js +5 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/a11y/README.txt +3 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/a11y/indeterminate_progress.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/dijit.css +1535 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/dijit_rtl.css +194 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/Calendar.css +159 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/Calendar_rtl.css +16 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/ColorPalette.css +5 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/Common.css +37 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/Dialog.css +175 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/Dialog_rtl.css +29 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/Editor.css +60 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/Editor_rtl.css +11 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/Menu.css +63 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/Menu_rtl.css +15 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/ProgressBar.css +33 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/TitlePane.css +77 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/TitlePane_rtl.css +6 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/Toolbar.css +95 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/Tree.css +90 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/Tree_rtl.css +38 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/form/Button.css +109 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/form/Button_rtl.css +3 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/form/Checkbox.css +69 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/form/ComboBox.css +7 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/form/Common.css +82 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/form/Common_rtl.css +7 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/form/RadioButton.css +68 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/form/Slider.css +136 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/form/Slider_rtl.css +34 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/form/Textarea.css +15 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/form/TimeTextBox.css +1 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/accordionItemActive.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/buttonActive.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/buttonDisabled.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/buttonEnabled.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/buttonHover.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/dndCopy.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/dndMove.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/dndNoCopy.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/dndNoMove.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/editor.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/editor_rtl.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/no.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/preciseSliderThumb.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/preciseSliderThumb.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/preciseSliderThumbFocus.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/preciseSliderThumbFocus.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/progressBarAnim.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/progressBarEmpty.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/progressBarFull.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/sliderEmpty.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/sliderEmptyVertical.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/sliderFull.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/sliderFullFocus.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/sliderFullVertical.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/sliderFullVerticalFocus.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/sliderThumb.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/sliderThumbFocus.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/sliderThumbFocus.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/splitContainerSizerH-thumb.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/splitContainerSizerH.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/splitContainerSizerV-thumb.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/splitContainerSizerV.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteArrows.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteArrows.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteCheckbox.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteCheckbox.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteDivIcons.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteDivIcons.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteRadio.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteRadio.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteRoundedIconsSmall.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteRoundedIconsSmall.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteTree.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteTree.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteTree_rtl.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/spriteTree_rtl.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tabBottomActiveC.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tabBottomActiveSpriteLR.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tabBottomEnabledC.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tabBottomEnabledSpriteLR.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tabBottomHoverC.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tabBottomHoverSpriteLR.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tabContainerSprite.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tabLeftChecked.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tabRightChecked.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tabStripe.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tabStripeBottom.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tabStripeLeft.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tabStripeRight.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/titleBar.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/titleBarActive.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tooltipConnectorDown.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tooltipConnectorDown.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tooltipConnectorLeft.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tooltipConnectorLeft.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tooltipConnectorRight.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tooltipConnectorRight.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tooltipConnectorUp.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/tooltipConnectorUp.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/treeExpand_loading.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/treeI.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/treeI_half.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/treeI_half_rtl.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/treeI_rtl.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/validationInputBg.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/validationInputBg.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/images/warning.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/layout/AccordionContainer.css +44 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/layout/AccordionContainer_rtl.css +3 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/layout/BorderContainer.css +34 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/layout/SplitContainer.css +34 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/layout/TabContainer.css +369 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/layout/TabContainer_rtl.css +69 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/nihilo.css +39 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/nihilo/nihilo_rtl.css +28 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/Calendar.css +159 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/Calendar_rtl.css +16 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/ColorPalette.css +5 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/Common.css +36 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/Dialog.css +175 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/Dialog_rtl.css +29 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/Editor.css +60 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/Editor_rtl.css +9 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/Menu.css +63 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/Menu_rtl.css +15 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/ProgressBar.css +33 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/TitlePane.css +77 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/TitlePane_rtl.css +6 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/Toolbar.css +95 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/Tree.css +90 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/Tree_rtl.css +38 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/form/Button.css +109 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/form/Button_rtl.css +3 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/form/Checkbox.css +69 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/form/ComboBox.css +7 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/form/Common.css +82 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/form/Common_rtl.css +7 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/form/RadioButton.css +68 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/form/Slider.css +136 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/form/Slider_rtl.css +34 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/form/Textarea.css +15 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/form/TimeTextBox.css +1 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/accordionItemActive.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/accordionItemActive.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/buttonActive.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/buttonDisabled.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/buttonEnabled.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/buttonHover.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/dndCopy.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/dndMove.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/dndNoCopy.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/dndNoMove.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/editor.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/editor_rtl.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/preciseSliderThumb.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/preciseSliderThumb.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/preciseSliderThumbFocus.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/preciseSliderThumbFocus.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/progressBarAnim.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/progressBarEmpty.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/progressBarFull.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/sliderEmpty.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/sliderEmptyVertical.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/sliderFull.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/sliderFullFocus.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/sliderFullVertical.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/sliderFullVerticalFocus.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/sliderThumb.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/sliderThumbFocus.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/sliderThumbFocus.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/splitContainerSizerH-thumb.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/splitContainerSizerH.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/splitContainerSizerV-thumb.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/splitContainerSizerV.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteArrows.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteArrows.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteCheckbox.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteCheckbox.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteDivIcons.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteDivIcons.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteRadio.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteRadio.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteRoundedIconsSmall.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteRoundedIconsSmall.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteRoundedIconsSmallBl.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteRoundedIconsSmallBl.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteTree.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteTree.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteTree_rtl.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/spriteTree_rtl.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tabBottomActiveC.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tabBottomActiveSpriteLR.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tabBottomEnabledC.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tabBottomEnabledSpriteLR.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tabBottomHoverC.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tabBottomHoverSpriteLR.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tabContainerSprite.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tabLeftChecked.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tabRightChecked.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tabStripe.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tabStripeBottom.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tabStripeLeft.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tabStripeRight.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/titleBar.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/titleBarActive.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tooltipConnectorDown.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tooltipConnectorDown.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tooltipConnectorLeft.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tooltipConnectorLeft.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tooltipConnectorRight.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tooltipConnectorRight.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tooltipConnectorUp.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/tooltipConnectorUp.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/treeExpand_loading.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/treeI.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/treeI_half.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/treeI_half_rtl.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/treeI_rtl.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/validationInputBg.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/validationInputBg.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/images/warning.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/layout/AccordionContainer.css +48 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/layout/AccordionContainer_rtl.css +3 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/layout/BorderContainer.css +34 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/layout/SplitContainer.css +34 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/layout/TabContainer.css +372 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/layout/TabContainer_rtl.css +69 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/soria.css +39 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/soria/soria_rtl.css +28 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/templateThemeTest.html +184 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/themeTester.html +745 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/themeTesterImages/blackButtonEnabled.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/themeTesterImages/blackButtonHover.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/themeTesterQuirk.html +743 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/Calendar.css +154 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/Calendar_rtl.css +16 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/ColorPalette.css +5 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/Common.css +45 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/Dialog.css +179 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/Dialog_rtl.css +29 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/Editor.css +58 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/Editor_rtl.css +9 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/Menu.css +54 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/Menu_rtl.css +8 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/ProgressBar.css +28 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/TitlePane.css +63 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/TitlePane_rtl.css +6 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/Toolbar.css +95 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/Tree.css +86 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/Tree_rtl.css +37 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/form/Button.css +113 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/form/Checkbox.css +47 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/form/Common.css +126 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/form/RadioButton.css +49 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/form/Slider.css +134 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/form/Slider_rtl.css +31 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/form/TextArea.css +10 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/accordionItemActive.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/arrowDown.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/arrowDown.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/arrowLeft.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/arrowLeft.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/arrowRight.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/arrowRight.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/arrowUp.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/arrowUp.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/buttonActive.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/buttonDisabled.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/buttonEnabled.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/buttonHover.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/calendarDayLabel.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/calendarMonthLabel.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/calendarYearLabel.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/checkboxActive.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/checkboxDisabled.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/checkboxEnabled.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/checkboxHover.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/checkmark.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/checkmark.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/checkmarkNoBorder.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/checkmarkNoBorder.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/circleIcon.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/circleIcon.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/comboArrowDown.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/dijitProgressBarAnim.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/dijitProgressBarAnim.psd +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/dndCopy.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/dndMove.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/dndNoCopy.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/dndNoMove.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/dojoTundraGradientBg.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/dojoTundraGradientBg.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/doubleArrowDown.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/doubleArrowUp.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/editor.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/editor_rtl.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/folderClosed.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/folderOpened.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/i.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/i_half.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/i_half_rtl.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/i_rtl.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/leaf.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/loading.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/menu.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/minusButton.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/no.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/noX.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/plusButton.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/popupMenuBg.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/preciseSliderThumb.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/preciseSliderThumb.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/preciseSliderThumbFocus.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/preciseSliderThumbFocus.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/progressBarAnim-1.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/progressBarAnim-2.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/progressBarAnim-3.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/progressBarAnim-4.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/progressBarAnim-5.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/progressBarAnim-6.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/progressBarAnim-7.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/progressBarAnim-8.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/progressBarAnim-9.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/progressBarAnim.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/progressBarAnim.psd +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/progressBarEmpty.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/progressBarFull.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/radioButtonActive.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/radioButtonActiveDisabled.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/radioButtonActiveHover.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/radioButtonDisabled.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/radioButtonEnabled.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/radioButtonHover.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/sliderEmpty.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/sliderEmptyVertical.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/sliderFull.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/sliderFullFocus.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/sliderFullVertical.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/sliderFullVerticalFocus.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/sliderThumb.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/sliderThumbFocus.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/sliderThumbFocus.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/smallArrowDown.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/smallArrowUp.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/splitContainerSizerH-thumb.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/splitContainerSizerH.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/splitContainerSizerV-thumb.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/splitContainerSizerV.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/spriteRoundedIconsSmall.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/spriteRoundedIconsSmall.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tabActive.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tabClose.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tabClose.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tabCloseHover.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tabCloseHover.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tabDisabled.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tabEnabled.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tabHover.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tabHover.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/titleBar.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/titleBarBg.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tooltipConnectorDown.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tooltipConnectorDown.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tooltipConnectorLeft.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tooltipConnectorLeft.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tooltipConnectorRight.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tooltipConnectorRight.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tooltipConnectorUp.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/tooltipConnectorUp.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/treeExpand_leaf.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/treeExpand_leaf_rtl.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/treeExpand_loading.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/treeExpand_minus.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/treeExpand_minus_rtl.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/treeExpand_mius.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/treeExpand_plus.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/treeExpand_plus_rtl.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/validationInputBg.gif +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/validationInputBg.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/images/warning.png +0 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/layout/AccordionContainer.css +37 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/layout/BorderContainer.css +31 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/layout/SplitContainer.css +35 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/layout/TabContainer.css +138 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/layout/TabContainer_rtl.css +89 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/tundra.css +37 -0
- data/data/dojo-release-1.1.1-src/dijit/themes/tundra/tundra_rtl.css +9 -0
- data/data/dojo-release-1.1.1-src/dojo/AdapterRegistry.js +95 -0
- data/data/dojo-release-1.1.1-src/dojo/DeferredList.js +84 -0
- data/data/dojo-release-1.1.1-src/dojo/LICENSE +195 -0
- data/data/dojo-release-1.1.1-src/dojo/NodeList-fx.js +133 -0
- data/data/dojo-release-1.1.1-src/dojo/OpenAjax.js +194 -0
- data/data/dojo-release-1.1.1-src/dojo/_base/Color.js +152 -0
- data/data/dojo-release-1.1.1-src/dojo/_base/Deferred.js +404 -0
- data/data/dojo-release-1.1.1-src/dojo/_base/NodeList.js +528 -0
- data/data/dojo-release-1.1.1-src/dojo/_base/_loader/bootstrap.js +436 -0
- data/data/dojo-release-1.1.1-src/dojo/_base/_loader/hostenv_browser.js +379 -0
- data/data/dojo-release-1.1.1-src/dojo/_base/_loader/hostenv_rhino.js +238 -0
- data/data/dojo-release-1.1.1-src/dojo/_base/_loader/hostenv_spidermonkey.js +80 -0
- data/data/dojo-release-1.1.1-src/dojo/_base/_loader/loader.js +688 -0
- data/data/dojo-release-1.1.1-src/dojo/_base/_loader/loader_debug.js +57 -0
- data/data/dojo-release-1.1.1-src/dojo/_base/_loader/loader_xd.js +627 -0
- data/data/dojo-release-1.1.1-src/dojo/_base/array.js +178 -0
- data/data/dojo-release-1.1.1-src/dojo/_base/browser.js +17 -0
- data/data/dojo-release-1.1.1-src/dojo/_base/connect.js +281 -0
- data/data/dojo-release-1.1.1-src/dojo/_base/declare.js +174 -0
- data/data/dojo-release-1.1.1-src/dojo/_base/event.js +525 -0
- data/data/dojo-release-1.1.1-src/dojo/_base/fx.js +580 -0
- data/data/dojo-release-1.1.1-src/dojo/_base/html.js +1223 -0
- data/data/dojo-release-1.1.1-src/dojo/_base/json.js +133 -0
- data/data/dojo-release-1.1.1-src/dojo/_base/lang.js +253 -0
- data/data/dojo-release-1.1.1-src/dojo/_base/query.js +1187 -0
- data/data/dojo-release-1.1.1-src/dojo/_base/window.js +141 -0
- data/data/dojo-release-1.1.1-src/dojo/_base/xhr.js +726 -0
- data/data/dojo-release-1.1.1-src/dojo/_base.js +9 -0
- data/data/dojo-release-1.1.1-src/dojo/_firebug/LICENSE +37 -0
- data/data/dojo-release-1.1.1-src/dojo/_firebug/errorIcon.png +0 -0
- data/data/dojo-release-1.1.1-src/dojo/_firebug/firebug.css +222 -0
- data/data/dojo-release-1.1.1-src/dojo/_firebug/firebug.js +1099 -0
- data/data/dojo-release-1.1.1-src/dojo/_firebug/infoIcon.png +0 -0
- data/data/dojo-release-1.1.1-src/dojo/_firebug/warningIcon.png +0 -0
- data/data/dojo-release-1.1.1-src/dojo/back.js +390 -0
- data/data/dojo-release-1.1.1-src/dojo/behavior.js +181 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/LICENSE +29 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/README +18 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/monetary.js +23 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/currency.js +12 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/de/currency.js +15 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/de/gregorian.js +37 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/de/number.js +9 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/de-de/number.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/en/currency.js +21 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/en/gregorian.js +1 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/en/number.js +6 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/en-au/currency.js +6 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/en-au/gregorian.js +8 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/en-au/number.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/en-ca/currency.js +6 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/en-ca/gregorian.js +6 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/en-gb/gregorian.js +12 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/en-gb/number.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/en-us/currency.js +5 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/en-us/number.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/es/currency.js +18 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/es/gregorian.js +33 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/es/number.js +6 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/es-es/gregorian.js +7 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/es-es/number.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/fr/currency.js +20 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/fr/gregorian.js +38 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/fr/number.js +9 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/gregorian.js +59 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/it/currency.js +14 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/it/gregorian.js +30 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/it/number.js +5 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/it-it/gregorian.js +5 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/ja/currency.js +15 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/ja/gregorian.js +1 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/ja/number.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/ja-jp/number.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/ko/currency.js +15 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/ko/gregorian.js +1 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/ko/number.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/ko-kr/gregorian.js +6 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/ko-kr/number.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/number.js +25 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/pt/currency.js +13 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/pt/gregorian.js +1 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/pt/number.js +9 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/pt-br/gregorian.js +18 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/zh/currency.js +15 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/zh/gregorian.js +34 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/zh/number.js +6 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/zh-cn/gregorian.js +12 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/zh-cn/number.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/zh-tw/currency.js +2 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/zh-tw/gregorian.js +2 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/nls/zh-tw/number.js +2 -0
- data/data/dojo-release-1.1.1-src/dojo/cldr/supplemental.js +70 -0
- data/data/dojo-release-1.1.1-src/dojo/colors.js +221 -0
- data/data/dojo-release-1.1.1-src/dojo/cookie.js +91 -0
- data/data/dojo-release-1.1.1-src/dojo/currency.js +93 -0
- data/data/dojo-release-1.1.1-src/dojo/data/ItemFileReadStore.js +761 -0
- data/data/dojo-release-1.1.1-src/dojo/data/ItemFileWriteStore.js +800 -0
- data/data/dojo-release-1.1.1-src/dojo/data/api/Identity.js +103 -0
- data/data/dojo-release-1.1.1-src/dojo/data/api/Notification.js +115 -0
- data/data/dojo-release-1.1.1-src/dojo/data/api/Read.js +502 -0
- data/data/dojo-release-1.1.1-src/dojo/data/api/Request.js +28 -0
- data/data/dojo-release-1.1.1-src/dojo/data/api/Write.js +222 -0
- data/data/dojo-release-1.1.1-src/dojo/data/util/filter.js +65 -0
- data/data/dojo-release-1.1.1-src/dojo/data/util/simpleFetch.js +86 -0
- data/data/dojo-release-1.1.1-src/dojo/data/util/sorter.js +77 -0
- data/data/dojo-release-1.1.1-src/dojo/date/locale.js +652 -0
- data/data/dojo-release-1.1.1-src/dojo/date/stamp.js +137 -0
- data/data/dojo-release-1.1.1-src/dojo/date.js +339 -0
- data/data/dojo-release-1.1.1-src/dojo/dnd/Avatar.js +78 -0
- data/data/dojo-release-1.1.1-src/dojo/dnd/Container.js +307 -0
- data/data/dojo-release-1.1.1-src/dojo/dnd/Manager.js +176 -0
- data/data/dojo-release-1.1.1-src/dojo/dnd/Moveable.js +126 -0
- data/data/dojo-release-1.1.1-src/dojo/dnd/Mover.js +80 -0
- data/data/dojo-release-1.1.1-src/dojo/dnd/Selector.js +240 -0
- data/data/dojo-release-1.1.1-src/dojo/dnd/Source.js +389 -0
- data/data/dojo-release-1.1.1-src/dojo/dnd/TimedMoveable.js +62 -0
- data/data/dojo-release-1.1.1-src/dojo/dnd/autoscroll.js +99 -0
- data/data/dojo-release-1.1.1-src/dojo/dnd/common.js +31 -0
- data/data/dojo-release-1.1.1-src/dojo/dnd/move.js +198 -0
- data/data/dojo-release-1.1.1-src/dojo/dojo.js +147 -0
- data/data/dojo-release-1.1.1-src/dojo/fx.js +411 -0
- data/data/dojo-release-1.1.1-src/dojo/i18n.js +245 -0
- data/data/dojo-release-1.1.1-src/dojo/io/iframe.js +354 -0
- data/data/dojo-release-1.1.1-src/dojo/io/script.js +207 -0
- data/data/dojo-release-1.1.1-src/dojo/jaxer.js +11 -0
- data/data/dojo-release-1.1.1-src/dojo/nls/ar/colors.js +154 -0
- data/data/dojo-release-1.1.1-src/dojo/nls/colors.js +154 -0
- data/data/dojo-release-1.1.1-src/dojo/nls/cs/colors.js +154 -0
- data/data/dojo-release-1.1.1-src/dojo/nls/da/colors.js +154 -0
- data/data/dojo-release-1.1.1-src/dojo/nls/de/colors.js +154 -0
- data/data/dojo-release-1.1.1-src/dojo/nls/el/colors.js +154 -0
- data/data/dojo-release-1.1.1-src/dojo/nls/es/colors.js +154 -0
- data/data/dojo-release-1.1.1-src/dojo/nls/fi/colors.js +154 -0
- data/data/dojo-release-1.1.1-src/dojo/nls/fr/colors.js +154 -0
- data/data/dojo-release-1.1.1-src/dojo/nls/he/colors.js +154 -0
- data/data/dojo-release-1.1.1-src/dojo/nls/hu/colors.js +154 -0
- data/data/dojo-release-1.1.1-src/dojo/nls/it/colors.js +154 -0
- data/data/dojo-release-1.1.1-src/dojo/nls/ja/colors.js +154 -0
- data/data/dojo-release-1.1.1-src/dojo/nls/ko/colors.js +154 -0
- data/data/dojo-release-1.1.1-src/dojo/nls/nb/colors.js +154 -0
- data/data/dojo-release-1.1.1-src/dojo/nls/nl/colors.js +154 -0
- data/data/dojo-release-1.1.1-src/dojo/nls/pl/colors.js +154 -0
- data/data/dojo-release-1.1.1-src/dojo/nls/pt/colors.js +154 -0
- data/data/dojo-release-1.1.1-src/dojo/nls/pt-pt/colors.js +154 -0
- data/data/dojo-release-1.1.1-src/dojo/nls/ru/colors.js +154 -0
- data/data/dojo-release-1.1.1-src/dojo/nls/sv/colors.js +154 -0
- data/data/dojo-release-1.1.1-src/dojo/nls/tr/colors.js +154 -0
- data/data/dojo-release-1.1.1-src/dojo/nls/zh/colors.js +154 -0
- data/data/dojo-release-1.1.1-src/dojo/nls/zh-tw/colors.js +154 -0
- data/data/dojo-release-1.1.1-src/dojo/number.js +547 -0
- data/data/dojo-release-1.1.1-src/dojo/parser.js +273 -0
- data/data/dojo-release-1.1.1-src/dojo/regexp.js +65 -0
- data/data/dojo-release-1.1.1-src/dojo/resources/LICENSE +30 -0
- data/data/dojo-release-1.1.1-src/dojo/resources/_modules.js +36 -0
- data/data/dojo-release-1.1.1-src/dojo/resources/blank.gif +0 -0
- data/data/dojo-release-1.1.1-src/dojo/resources/blank.html +1 -0
- data/data/dojo-release-1.1.1-src/dojo/resources/dnd.css +9 -0
- data/data/dojo-release-1.1.1-src/dojo/resources/dojo.css +198 -0
- data/data/dojo-release-1.1.1-src/dojo/resources/iframe_history.html +79 -0
- data/data/dojo-release-1.1.1-src/dojo/resources/images/dndCopy.png +0 -0
- data/data/dojo-release-1.1.1-src/dojo/resources/images/dndMove.png +0 -0
- data/data/dojo-release-1.1.1-src/dojo/resources/images/dndNoCopy.png +0 -0
- data/data/dojo-release-1.1.1-src/dojo/resources/images/dndNoMove.png +0 -0
- data/data/dojo-release-1.1.1-src/dojo/rpc/JsonService.js +79 -0
- data/data/dojo-release-1.1.1-src/dojo/rpc/JsonpService.js +61 -0
- data/data/dojo-release-1.1.1-src/dojo/rpc/RpcService.js +168 -0
- data/data/dojo-release-1.1.1-src/dojo/string.js +80 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/AdapterRegistry.js +71 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/DeferredList.js +202 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/NodeList-fx.html +150 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/TODO +11 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/Color.js +28 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/Deferred.js +72 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/NodeList.html +370 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/addLoadEvents.html +37 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/afterOnLoad.html +56 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/bootstrap.js +82 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/getText.txt +1 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/hostenv_browser.js +11 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/hostenv_rhino.js +13 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/hostenv_spidermonkey.js +11 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/loader.js +48 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/scope/scope04.html +80 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/scope/scopeContained.html +71 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/scope/scopeContainedXd.html +84 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/scope/scopeDjConfig.html +64 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/scope/scopeSingle.html +62 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/_loader/scope/scopeSingleDaac.html +63 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/array.js +297 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/connect.js +221 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/declare.js +193 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/fx.html +342 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/fx.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/fx_delay.html +22 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/html.html +556 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/html.js +8 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/html_box.html +207 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/html_box_quirks.html +205 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/html_quirks.html +322 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/html_rtl.html +110 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/json.js +33 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/lang.js +176 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/query.html +154 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/query.js +5 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/timeout.php +7 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/xhr.html +404 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/xhr.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base/xhrDummyMethod.php +7 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/_base.js +132 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/back-hash.js +29 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/back.html +107 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/back.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/behavior.html +106 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/behavior.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/cldr.js +15 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/colors.js +44 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/cookie.html +84 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/cookie.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/currency.js +44 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/data/ItemFileReadStore.js +6 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/data/ItemFileWriteStore.js +1398 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/data/countries.json +11 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/data/countries_commentFiltered.json +12 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/data/countries_idcollision.json +10 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/data/countries_references.json +44 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/data/countries_withBoolean.json +11 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/data/countries_withDates.json +21 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/data/countries_withNull.json +10 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/data/countries_withoutid.json +10 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/data/data_multitype.json +18 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/data/geography_hierarchy_large.json +44 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/data/geography_hierarchy_small.json +19 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/data/readOnlyItemFileTestTemplates.js +2256 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/data/reference_integrity.json +27 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/data/runTests.html +9 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/data/utils.js +199 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/data.js +8 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/date/locale.js +394 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/date/stamp.js +90 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/date.js +712 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/dnd/dndDefault.css +69 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/dnd/flickr_viewer.html +168 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_box_constraints.html +61 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_container.html +74 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_container_markup.html +67 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_custom_constraints.html +51 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_dnd.html +130 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_dnd_handles.html +65 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_form.html +103 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_moveable.html +106 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_moveable_markup.html +83 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_params.html +61 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_parent_constraints.html +53 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_parent_constraints_margins.html +51 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_selector.html +80 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_selector_markup.html +71 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/dnd/test_timed_moveable.html +112 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/fx.html +310 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/fx.js +5 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/i18n.js +84 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/io/iframe.html +124 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/io/iframe.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/io/iframeResponse.html +8 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/io/iframeResponse.js.html +7 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/io/iframeResponse.json.html +7 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/io/iframeResponse.text.html +7 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/io/iframeUploadTest.html +50 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/io/script.html +101 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/io/script.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/io/scriptJsonp.js +57 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/io/scriptSimple.js +5 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/io/scriptTimeout.html +67 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/io/upload.cgi +60 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/manualTests.html +12 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/manualTests.js +41 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/module.js +25 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/nls/ar/salutations.js +8 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/nls/cs/salutations.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/nls/de/salutations.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/nls/el/salutations.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/nls/en-au/salutations.js +3 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/nls/en-us-hawaii/salutations.js +3 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/nls/en-us-new_york-brooklyn/salutations.js +3 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/nls/en-us-texas/salutations.js +3 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/nls/es/salutations.js +5 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/nls/fa/salutations.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/nls/fr/salutations.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/nls/he/salutations.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/nls/hi/salutations.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/nls/it/salutations.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/nls/ja/salutations.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/nls/ko/salutations.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/nls/pl/salutations.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/nls/pt/salutations.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/nls/ru/salutations.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/nls/salutations.js +32 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/nls/sw/salutations.js +3 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/nls/th/salutations.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/nls/tr/salutations.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/nls/yi/salutations.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/nls/zh-cn/salutations.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/nls/zh-tw/salutations.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/number.js +962 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/parser.html +241 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/parser.js +4 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/resources/ApplicationState.js +28 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/resources/JSON.php +724 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/resources/testClass.php +20 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/resources/testClass.smd +40 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/resources/test_JsonRPCMediator.php +43 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/resources/test_css.html +100 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/resources/yahoo_smd_v1.smd +268 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/rpc.js +147 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/runTests.html +9 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/string.js +27 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/test_FirebugLite.html +100 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/test_FirebugLitePopup.html +101 -0
- data/data/dojo-release-1.1.1-src/dojo/tests/test_fx.html +107 -0
- data/data/dojo-release-1.1.1-src/dojo/tests.js +12 -0
- data/data/dojo-release-1.1.1-src/dojox/LICENSE +195 -0
- data/data/dojo-release-1.1.1-src/dojox/_sql/LICENSE +9 -0
- data/data/dojo-release-1.1.1-src/dojox/_sql/_crypto.js +439 -0
- data/data/dojo-release-1.1.1-src/dojox/_sql/common.js +534 -0
- data/data/dojo-release-1.1.1-src/dojox/_sql/demos/customers/customers.html +292 -0
- data/data/dojo-release-1.1.1-src/dojox/analytics/README +134 -0
- data/data/dojo-release-1.1.1-src/dojox/analytics/_base.js +123 -0
- data/data/dojo-release-1.1.1-src/dojox/analytics/logger/JSON.php +724 -0
- data/data/dojo-release-1.1.1-src/dojox/analytics/logger/dojoxAnalytics.php +31 -0
- data/data/dojo-release-1.1.1-src/dojox/analytics/plugins/consoleMessages.js +20 -0
- data/data/dojo-release-1.1.1-src/dojox/analytics/plugins/dojo.js +18 -0
- data/data/dojo-release-1.1.1-src/dojox/analytics/plugins/idle.js +30 -0
- data/data/dojo-release-1.1.1-src/dojox/analytics/plugins/mouseClick.js +45 -0
- data/data/dojo-release-1.1.1-src/dojox/analytics/plugins/mouseOver.js +86 -0
- data/data/dojo-release-1.1.1-src/dojox/analytics/plugins/window.js +30 -0
- data/data/dojo-release-1.1.1-src/dojox/analytics/profiles/analytics.profile.js +21 -0
- data/data/dojo-release-1.1.1-src/dojox/analytics/profiles/analyticsInBase.profile.js +22 -0
- data/data/dojo-release-1.1.1-src/dojox/analytics/tests/test_analytics.html +93 -0
- data/data/dojo-release-1.1.1-src/dojox/analytics.js +12 -0
- data/data/dojo-release-1.1.1-src/dojox/av/README +40 -0
- data/data/dojo-release-1.1.1-src/dojox/av/_base/_ieFlash.js +17 -0
- data/data/dojo-release-1.1.1-src/dojox/av/_base/flash.js +182 -0
- data/data/dojo-release-1.1.1-src/dojox/av/_base/quicktime.js +157 -0
- data/data/dojo-release-1.1.1-src/dojox/av/_base.js +4 -0
- data/data/dojo-release-1.1.1-src/dojox/av/resources/version.mov +0 -0
- data/data/dojo-release-1.1.1-src/dojox/av/tests/flash.html +39 -0
- data/data/dojo-release-1.1.1-src/dojox/av/tests/quicktime.html +24 -0
- data/data/dojo-release-1.1.1-src/dojox/av/tests/resources/hfp.swf +0 -0
- data/data/dojo-release-1.1.1-src/dojox/av.js +3 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/Chart2D.js +337 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/Chart3D.js +82 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/Element.js +45 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/README +31 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/Series.js +16 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/Theme.js +252 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/_color.js +58 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/axis2d/Base.js +27 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/axis2d/Default.js +319 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/axis2d/common.js +71 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/Areas.js +10 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/Bars.js +85 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/Base.js +56 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/ClusteredBars.js +59 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/ClusteredColumns.js +59 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/Columns.js +84 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/Default.js +169 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/Grid.js +112 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/Lines.js +9 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/Markers.js +9 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/MarkersOnly.js +10 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/Pie.js +195 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/Scatter.js +10 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/Stacked.js +156 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/StackedAreas.js +10 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/StackedBars.js +81 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/StackedColumns.js +79 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/StackedLines.js +9 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/plot2d/common.js +109 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/plot3d/Bars.js +62 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/plot3d/Base.js +19 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/plot3d/Cylinders.js +65 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/scaler.js +157 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/tests/Theme.js +67 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/tests/_color.js +78 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/tests/charting.js +8 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/tests/data/goog_prices.csv +796 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/tests/data/msft_prices.csv +796 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/tests/data/yahoo_prices.csv +796 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/tests/runTests.html +9 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/tests/test_bars.html +65 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/tests/test_chart2d.html +353 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/tests/test_chart2d_updating.html +80 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/tests/test_cylinders.html +65 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/tests/test_labels2d.html +90 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/tests/test_pie2d.html +128 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/tests/test_scaler.html +97 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/tests/test_sparklines.html +180 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/tests/test_widget2d.html +98 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/themes/ET/greys.js +59 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/themes/GreySkies.js +7 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/themes/PlotKit/README +11 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/themes/PlotKit/blue.js +39 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/themes/PlotKit/cyan.js +39 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/themes/PlotKit/green.js +39 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/themes/PlotKit/orange.js +39 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/themes/PlotKit/purple.js +39 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/themes/PlotKit/red.js +39 -0
- data/data/dojo-release-1.1.1-src/dojox/charting/widget/Chart2D.js +211 -0
- data/data/dojo-release-1.1.1-src/dojox/collections/ArrayList.js +129 -0
- data/data/dojo-release-1.1.1-src/dojox/collections/BinaryTree.js +207 -0
- data/data/dojo-release-1.1.1-src/dojox/collections/Dictionary.js +112 -0
- data/data/dojo-release-1.1.1-src/dojox/collections/Queue.js +70 -0
- data/data/dojo-release-1.1.1-src/dojox/collections/README +39 -0
- data/data/dojo-release-1.1.1-src/dojox/collections/Set.js +85 -0
- data/data/dojo-release-1.1.1-src/dojox/collections/SortedList.js +194 -0
- data/data/dojo-release-1.1.1-src/dojox/collections/Stack.js +68 -0
- data/data/dojo-release-1.1.1-src/dojox/collections/_base.js +96 -0
- data/data/dojo-release-1.1.1-src/dojox/collections/tests/ArrayList.js +79 -0
- data/data/dojo-release-1.1.1-src/dojox/collections/tests/BinaryTree.js +79 -0
- data/data/dojo-release-1.1.1-src/dojox/collections/tests/Dictionary.js +78 -0
- data/data/dojo-release-1.1.1-src/dojox/collections/tests/Queue.js +45 -0
- data/data/dojo-release-1.1.1-src/dojox/collections/tests/Set.js +31 -0
- data/data/dojo-release-1.1.1-src/dojox/collections/tests/SortedList.js +164 -0
- data/data/dojo-release-1.1.1-src/dojox/collections/tests/Stack.js +45 -0
- data/data/dojo-release-1.1.1-src/dojox/collections/tests/_base.js +80 -0
- data/data/dojo-release-1.1.1-src/dojox/collections/tests/collections.js +15 -0
- data/data/dojo-release-1.1.1-src/dojox/collections/tests/runTests.html +9 -0
- data/data/dojo-release-1.1.1-src/dojox/collections.js +2 -0
- data/data/dojo-release-1.1.1-src/dojox/color/Colorspace.js +552 -0
- data/data/dojo-release-1.1.1-src/dojox/color/Generator.js +257 -0
- data/data/dojo-release-1.1.1-src/dojox/color/README +41 -0
- data/data/dojo-release-1.1.1-src/dojox/color/_base.js +193 -0
- data/data/dojo-release-1.1.1-src/dojox/color/tests/Generator.js +124 -0
- data/data/dojo-release-1.1.1-src/dojox/color/tests/_base.js +78 -0
- data/data/dojo-release-1.1.1-src/dojox/color/tests/color.js +10 -0
- data/data/dojo-release-1.1.1-src/dojox/color/tests/runTests.html +9 -0
- data/data/dojo-release-1.1.1-src/dojox/color.js +2 -0
- data/data/dojo-release-1.1.1-src/dojox/cometd/README +29 -0
- data/data/dojo-release-1.1.1-src/dojox/cometd/_base.js +946 -0
- data/data/dojo-release-1.1.1-src/dojox/cometd/timestamp.js +5 -0
- data/data/dojo-release-1.1.1-src/dojox/cometd/timesync.js +122 -0
- data/data/dojo-release-1.1.1-src/dojox/cometd.js +3 -0
- data/data/dojo-release-1.1.1-src/dojox/crypto/Blowfish.js +6 -0
- data/data/dojo-release-1.1.1-src/dojox/crypto/MD5.js +6 -0
- data/data/dojo-release-1.1.1-src/dojox/crypto/README +12 -0
- data/data/dojo-release-1.1.1-src/dojox/crypto/_base.js +10 -0
- data/data/dojo-release-1.1.1-src/dojox/crypto.js +2 -0
- data/data/dojo-release-1.1.1-src/dojox/data/AtomReadStore.js +539 -0
- data/data/dojo-release-1.1.1-src/dojox/data/CsvStore.js +557 -0
- data/data/dojo-release-1.1.1-src/dojox/data/FlickrRestStore.js +467 -0
- data/data/dojo-release-1.1.1-src/dojox/data/FlickrStore.js +253 -0
- data/data/dojo-release-1.1.1-src/dojox/data/HtmlStore.js +527 -0
- data/data/dojo-release-1.1.1-src/dojox/data/HtmlTableStore.js +465 -0
- data/data/dojo-release-1.1.1-src/dojox/data/KeyValueStore.js +377 -0
- data/data/dojo-release-1.1.1-src/dojox/data/OpmlStore.js +511 -0
- data/data/dojo-release-1.1.1-src/dojox/data/PicasaStore.js +250 -0
- data/data/dojo-release-1.1.1-src/dojox/data/QueryReadStore.js +509 -0
- data/data/dojo-release-1.1.1-src/dojox/data/README +89 -0
- data/data/dojo-release-1.1.1-src/dojox/data/SnapLogicStore.js +328 -0
- data/data/dojo-release-1.1.1-src/dojox/data/XmlStore.js +1137 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/demo_DataDemoTable.html +130 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/demo_FlickrRestStore.html +275 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/demo_FlickrStore.html +199 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/demo_LazyLoad.html +66 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/demo_MultiStores.html +72 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/demo_PicasaStore.html +188 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/demo_QueryReadStore_ComboBox.html +56 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/demo_QueryReadStore_FilteringSelect.html +56 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/demo_QueryReadStore_grid.html +129 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/flickrDemo.css +35 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Argentina/data.json +5 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Brazil/data.json +5 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Canada/Ottawa/data.json +6 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Canada/Toronto/data.json +6 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Canada/data.json +10 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/China/data.json +4 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Commonwealth of Australia/data.json +5 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Egypt/data.json +5 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/France/data.json +4 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Germany/data.json +4 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/India/data.json +4 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Italy/data.json +4 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Kenya/Mombasa/data.json +5 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Kenya/Nairobi/data.json +5 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Kenya/data.json +9 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Mexico/Guadalajara/data.json +7 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Mexico/Mexico City/data.json +6 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Mexico/data.json +10 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Mongolia/data.json +4 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Russia/data.json +4 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Spain/data.json +4 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Sudan/Khartoum/data.json +5 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/Sudan/data.json +6 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/United States of America/data.json +4 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/geography/root.json +39 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/geography.json +45 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/geography.xml +51 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/picasaDemo.css +44 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/stores/LazyLoadJSIStore.js +138 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/widgets/FlickrView.js +32 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/widgets/FlickrViewList.js +33 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/widgets/PicasaView.js +33 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/widgets/PicasaViewList.js +33 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/widgets/templates/FlickrView.html +34 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/widgets/templates/FlickrViewList.html +2 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/widgets/templates/PicasaView.html +35 -0
- data/data/dojo-release-1.1.1-src/dojox/data/demos/widgets/templates/PicasaViewList.html +2 -0
- data/data/dojo-release-1.1.1-src/dojox/data/dom.js +183 -0
- data/data/dojo-release-1.1.1-src/dojox/data/jsonPathStore.js +1187 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/QueryReadStore.html +220 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/dom.js +129 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/ml/divList.html +14 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/ml/orderedList.html +16 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/ml/table.html +46 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/ml/test_HtmlStore_declaratively.html +172 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/ml/test_HtmlStore_remote.html +115 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/ml/test_HtmlTableStore_declaratively.html +120 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/ml/unorderedList.html +17 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/module.js +26 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/runTests.html +9 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/AtomReadStore.js +637 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/CsvStore.js +1123 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/FlickrRestStore.js +472 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/FlickrStore.js +406 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/HtmlStore.js +800 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/HtmlTableStore.js +698 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/KeyValueStore.js +998 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/OpmlStore.js +1071 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/QueryReadStore.js +438 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/QueryReadStore.php +114 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/SnapLogicStore.js +434 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/XmlStore.js +877 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/atom1.xml +848 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/books.html +118 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/books.xml +103 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/books2.html +43 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/books2.xml +28 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/books3.html +14 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/books3.xml +31 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/books_isbnAttr.xml +23 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/books_isbnAttr2.xml +23 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/geography.xml +51 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/geography_withspeciallabel.xml +51 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/jsonPathStore.js +600 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/movies.csv +9 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/movies2.csv +9 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/patterns.csv +11 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/properties.js +10 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/stores/snap_pipeline.php +72 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/test_Tree_vs_jsonPathStore.html +105 -0
- data/data/dojo-release-1.1.1-src/dojox/data/tests/treeTest.json +10 -0
- data/data/dojo-release-1.1.1-src/dojox/date/README +36 -0
- data/data/dojo-release-1.1.1-src/dojox/date/php.js +308 -0
- data/data/dojo-release-1.1.1-src/dojox/date/posix.js +289 -0
- data/data/dojo-release-1.1.1-src/dojox/date/tests/module.js +8 -0
- data/data/dojo-release-1.1.1-src/dojox/date/tests/posix.js +232 -0
- data/data/dojo-release-1.1.1-src/dojox/date/tests/runTests.html +9 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/Context.js +83 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/README +207 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/_HtmlTemplated.js +68 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/_Templated.js +89 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/_base.js +566 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/contrib/data.js +85 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/contrib/dijit.js +216 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/contrib/html.js +103 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/contrib/objects.js +11 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/demos/demo_Animation.html +45 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/demos/demo_Blog.html +96 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/demos/demo_Data.html +58 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/demos/demo_Dijitless.html +50 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/demos/demo_Events.html +46 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/demos/demo_HtmlTemplated.html +40 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/demos/demo_Inline.html +48 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/demos/demo_NodeList.html +37 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/demos/demo_Table.html +4072 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/demos/demo_Templated.html +36 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/demos/demo_Tree.html +33 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/demos/json/blog/get_blog_1.json +1 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/demos/json/blog/get_blog_3.json +1 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/demos/json/blog/get_blog_list.json +1 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/demos/json/blog/get_page_about.json +1 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/demos/json/fruit.json +1 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/demos/json/morefruit.json +1 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/demos/templates/animation.html +5 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/demos/templates/blog_base.html +8 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/demos/templates/blog_detail.html +10 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/demos/templates/blog_list.html +9 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/demos/templates/blog_page.html +7 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/demos/templates/countrychildren.html +1 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/demos/templates/gallery.html +16 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/demos/templates/nodelist.html +5 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/ext-dojo/NodeList.js +29 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/filter/dates.js +50 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/filter/htmlstrings.js +55 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/filter/integers.js +28 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/filter/lists.js +133 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/filter/logic.js +30 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/filter/misc.js +55 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/filter/strings.js +323 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/html.js +814 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/render/html.js +72 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/tag/date.js +25 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/tag/loader.js +273 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/tag/logic.js +268 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/tag/loop.js +192 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/tag/misc.js +287 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/tests/context.js +75 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/tests/demo_Templated_Jaxer.html +87 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/tests/html/buffer.js +31 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/tests/html/tag.js +229 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/tests/html/util.js +156 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/tests/module.js +11 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/tests/runTests.html +9 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/tests/templates/hello.html +1 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/tests/templates/pocket.html +1 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/tests/templates/pocket2.html +1 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/tests/text/filter.js +736 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/tests/text/load.js +2 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/tests/text/tag.js +476 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl/utils/date.js +68 -0
- data/data/dojo-release-1.1.1-src/dojox/dtl.js +2 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/LICENSE +9 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/README +35 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/_base.js +3 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/ascii85.js +59 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/base64.js +62 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/bits.js +64 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/compression/lzw.js +87 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/compression/splay.js +60 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/crypto/Blowfish.js +477 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/crypto/_base.js +15 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/digests/MD5.js +173 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/digests/_base.js +74 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/easy64.js +46 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/tests/ascii85.js +31 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/tests/bits.js +70 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/tests/compression/_base.js +8 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/tests/compression/colors.js +152 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/tests/compression/colors2.html +104 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/tests/compression/colors2.js +60 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/tests/compression/colors3.html +104 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/tests/compression/colors3.js +49 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/tests/compression/lzw.js +50 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/tests/compression/runTests.html +9 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/tests/compression/splay.js +45 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/tests/compression/test.html +61 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/tests/compression/vq.html +185 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/tests/crypto/Blowfish.js +31 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/tests/crypto/_base.js +8 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/tests/crypto/runTests.html +9 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/tests/digests/MD5.js +22 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/tests/digests/_base.js +8 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/tests/digests/runTests.html +9 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/tests/easy64.js +31 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/tests/encoding.js +9 -0
- data/data/dojo-release-1.1.1-src/dojox/encoding/tests/runTests.html +9 -0
- data/data/dojo-release-1.1.1-src/dojox/flash/DojoExternalInterface.as +168 -0
- data/data/dojo-release-1.1.1-src/dojox/flash/ExpressInstall.as +71 -0
- data/data/dojo-release-1.1.1-src/dojox/flash/README +31 -0
- data/data/dojo-release-1.1.1-src/dojox/flash/_base.js +758 -0
- data/data/dojo-release-1.1.1-src/dojox/flash/tests/TestFlash.as +36 -0
- data/data/dojo-release-1.1.1-src/dojox/flash/tests/TestFlash.swf +0 -0
- data/data/dojo-release-1.1.1-src/dojox/flash/tests/buildFlashTest.sh +4 -0
- data/data/dojo-release-1.1.1-src/dojox/flash/tests/test_flash.html +15 -0
- data/data/dojo-release-1.1.1-src/dojox/flash/tests/test_flash.js +155 -0
- data/data/dojo-release-1.1.1-src/dojox/flash.js +2 -0
- data/data/dojo-release-1.1.1-src/dojox/form/CheckedMultiSelect.js +219 -0
- data/data/dojo-release-1.1.1-src/dojox/form/DropDownSelect.js +263 -0
- data/data/dojo-release-1.1.1-src/dojox/form/PasswordValidator.js +276 -0
- data/data/dojo-release-1.1.1-src/dojox/form/README +39 -0
- data/data/dojo-release-1.1.1-src/dojox/form/nls/PasswordValidator.js +4 -0
- data/data/dojo-release-1.1.1-src/dojox/form/resources/CheckedMultiSelect.css +99 -0
- data/data/dojo-release-1.1.1-src/dojox/form/resources/CheckedMultiSelect.html +4 -0
- data/data/dojo-release-1.1.1-src/dojox/form/resources/DropDownSelect.css +209 -0
- data/data/dojo-release-1.1.1-src/dojox/form/resources/PasswordValidator.html +3 -0
- data/data/dojo-release-1.1.1-src/dojox/form/resources/_CheckedMultiSelectItem.html +4 -0
- data/data/dojo-release-1.1.1-src/dojox/form/tests/test_CheckedMultiSelect.html +91 -0
- data/data/dojo-release-1.1.1-src/dojox/form/tests/test_DropDownSelect.html +128 -0
- data/data/dojo-release-1.1.1-src/dojox/form/tests/test_PasswordValidator.html +216 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/README +77 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/Shadow.js +147 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/_arg.js +23 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/_base.js +236 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/_core.js +56 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/easing.js +219 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/ext-dojo/NodeList.js +62 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/resources/shadowB.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/resources/shadowBL.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/resources/shadowBR.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/resources/shadowL.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/resources/shadowR.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/resources/shadowT.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/resources/shadowTL.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/resources/shadowTR.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/scroll.js +36 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/style.js +215 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/tests/_animation.css +113 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/tests/example_Line.html +80 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/tests/example_backgroundPosition.html +59 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/tests/example_dojoAnimations.html +442 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/tests/example_easingChart2D.html +147 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/tests/images/averycutedog.jpg +0 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/tests/images/dot.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/tests/images/longBg.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/tests/test_Nodelist-fx.html +282 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/tests/test_Shadow.html +93 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/tests/test_animateClass.html +222 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/tests/test_crossFade.html +145 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/tests/test_easing.html +142 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/tests/test_highlight.html +45 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/tests/test_scroll.html +98 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/tests/test_sizeTo.html +142 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/tests/test_slideBy.html +75 -0
- data/data/dojo-release-1.1.1-src/dojox/fx/tests/test_wipeTo.html +109 -0
- data/data/dojo-release-1.1.1-src/dojox/fx.js +3 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/Moveable.js +97 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/Mover.js +58 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/README +102 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/_base.js +284 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/arc.js +118 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/attach.js +7 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/canvas.js +683 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/canvas_attach.js +8 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/decompose.js +135 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/beautify.html +48 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/butterfly.html +88 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/career_test.html +467 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/circles.html +90 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/clock.html +253 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/clockWidget.html +332 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/clock_black.html +253 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/creator.html +123 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/Lars.json +1823 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/Lars.svg +531 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/LarsDreaming.json +1823 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/LarsDreaming.svg +536 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/Nils.json +717 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/Nils.svg +188 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/buratino-bg.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/buratino-head.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/buratino-left-arm.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/buratino-left-leg.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/buratino-lollipop.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/buratino-nose-large.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/buratino-nose-medium.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/buratino-right-arm.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/buratino-right-leg.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/buratino-torso.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/buratino.jpg +0 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/buratino.json +12 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/svg2gfx.xsl +72 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/data/transform.json +1567 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/images/clock_face.jpg +0 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/images/clock_face_black.jpg +0 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/inspector.html +165 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/lion.html +235 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/roundedPane.html +191 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/tiger.html +566 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/demos/tooltip.html +238 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/fx.js +277 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/matrix.js +440 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/move.js +4 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/path.js +357 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/shape.js +687 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/silverlight.js +689 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/silverlight_attach.js +87 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/svg.js +634 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/svg_attach.js +224 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/tests/decompose.js +110 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/tests/matrix.js +224 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/tests/module.js +9 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/tests/runTests.html +9 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_arc.html +71 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_bezier.html +85 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_decompose.html +54 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_fill.html +47 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_fx.html +113 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_gfx.html +489 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_gradient.html +70 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_group.html +73 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_image1.html +74 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_image2.html +50 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_linearGradient.html +80 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_linestyle.html +45 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_pattern.html +44 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_poly.html +53 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_resize.html +61 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_setPath.html +76 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_tbbox.html +117 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_text.html +88 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_textpath.html +76 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/tests/test_transform.html +98 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/utils.js +83 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/vml.js +1161 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx/vml_attach.js +362 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx.js +36 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx3d/README +36 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx3d/_base.js +15 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx3d/gradient.js +37 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx3d/lighting.js +237 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx3d/matrix.js +335 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx3d/object.js +1088 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx3d/scheduler.js +122 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_camerarotate.html +93 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_camerarotate_shaded.html +97 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_cube.html +50 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_cylinder.html +66 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_drawer.html +92 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_edges.html +73 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_matrix.html +89 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_orbit.html +50 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_overlap.html +69 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_polygon.html +44 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_quads.html +78 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_rotate.html +123 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_scene.html +66 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_triangles.html +82 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx3d/tests/test_vector.html +59 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx3d/vector.js +106 -0
- data/data/dojo-release-1.1.1-src/dojox/gfx3d.js +7 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/Grid.js +359 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/README +39 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/VirtualGrid.js +775 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_data/dijitEditors.js +166 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_data/editors.js +235 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_data/fields.js +100 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_data/model.js +758 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_grid/Grid.css +258 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_grid/Grid_rtl.css +10 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_grid/builder.js +518 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_grid/cell.js +62 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_grid/drag.js +109 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_grid/edit.js +234 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_grid/focus.js +203 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_grid/images/grid_dx_gradient.gif +0 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_grid/images/grid_sort_down.gif +0 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_grid/images/grid_sort_up.gif +0 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_grid/images/tabEnabled_rotated.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_grid/images/tabHover_rotated.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_grid/layout.js +71 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_grid/lib.js +250 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_grid/nihiloGrid.css +275 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_grid/publicEvents.js +447 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_grid/rowbar.js +49 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_grid/rows.js +62 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_grid/scroller.js +485 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_grid/selection.js +211 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_grid/soriaGrid.css +276 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_grid/tundraGrid.css +281 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_grid/view.js +332 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/_grid/views.js +273 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/resources/GridView.html +12 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/resources/VirtualGrid.html +5 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/databaseModel.js +333 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/images/closed.gif +0 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/images/flatScreen.gif +0 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/images/open.gif +0 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/support/books.xml +103 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/support/data.php +379 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/support/geography.xml +51 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/support/json.php +794 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/support/movies.csv +9 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/support/test_data.js +30 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/support/test_data_objects.js +31 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/support/testtbl.sql +944 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/support/yahoo_search.js +131 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_change_structure.html +124 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_custom_sort.html +86 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_dojo_data_edit.html +124 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_dojo_data_empty.html +63 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_dojo_data_model.html +84 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_dojo_data_model_EmptyResultSet.html +57 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_dojo_data_model_multiStores.html +291 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_dojo_data_model_processError.html +65 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_dojo_data_notification.html +114 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_edit.html +149 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_edit_canEdit.html +156 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_edit_dijit.html +137 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_events.html +174 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_expand.html +107 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_grid.html +69 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_grid_dlg.html +88 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_grid_headerHeight.html +84 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_grid_layout.html +112 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_grid_layout_LayoutContainer.html +87 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_grid_layout_borderContainer.html +98 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_grid_object_model_change.html +86 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_grid_programmatic.html +65 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_grid_programmatic_layout.html +74 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_grid_rtl.html +71 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_grid_themes.html +118 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_grid_tooltip_menu.html +161 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_keyboard.html +90 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_markup.html +112 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_mysql_edit.html +155 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_sizing.html +175 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_sizing_100rows.html +168 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_sizing_ResizeHandle.html +113 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_styling.html +131 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_subgrid.html +179 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_tundra_edit.html +139 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_yahoo_images.html +148 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/test_yahoo_search.html +141 -0
- data/data/dojo-release-1.1.1-src/dojox/grid/tests/yahooSearch.js +137 -0
- data/data/dojo-release-1.1.1-src/dojox/help/README +35 -0
- data/data/dojo-release-1.1.1-src/dojox/help/_base.js +469 -0
- data/data/dojo-release-1.1.1-src/dojox/help/console.js +76 -0
- data/data/dojo-release-1.1.1-src/dojox/help/demos/demo_Console.html +33 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/README +31 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/_base.js +402 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/languages/_all.js +7 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/languages/_dynamic.js +7 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/languages/_static.js +6 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/languages/_www.js +8 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/languages/cpp.js +49 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/languages/css.js +92 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/languages/delphi.js +118 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/languages/django.js +93 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/languages/html.js +66 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/languages/javascript.js +51 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/languages/pygments/_html.js +21 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/languages/pygments/_www.js +8 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/languages/pygments/css.js +207 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/languages/pygments/html.js +97 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/languages/pygments/javascript.js +148 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/languages/pygments/xml.js +75 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/languages/python.js +98 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/languages/sql.js +97 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/languages/xml.js +65 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/resources/highlight.css +58 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/resources/pygments/autumn.css +28 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/resources/pygments/borland.css +17 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/resources/pygments/colorful.css +43 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/resources/pygments/default.css +35 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/resources/pygments/emacs.css +36 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/resources/pygments/friendly.css +36 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/resources/pygments/fruity.css +20 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/resources/pygments/manni.css +37 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/resources/pygments/murphy.css +43 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/resources/pygments/native.css +28 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/resources/pygments/pastie.css +36 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/resources/pygments/perldoc.css +30 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/resources/pygments/trac.css +26 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/tests/test_highlight.html +327 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight/tests/test_pygments.html +142 -0
- data/data/dojo-release-1.1.1-src/dojox/highlight.js +2 -0
- data/data/dojo-release-1.1.1-src/dojox/image/Gallery.js +178 -0
- data/data/dojo-release-1.1.1-src/dojox/image/Lightbox.js +447 -0
- data/data/dojo-release-1.1.1-src/dojox/image/Magnifier.js +71 -0
- data/data/dojo-release-1.1.1-src/dojox/image/MagnifierLite.js +122 -0
- data/data/dojo-release-1.1.1-src/dojox/image/README +66 -0
- data/data/dojo-release-1.1.1-src/dojox/image/SlideShow.js +594 -0
- data/data/dojo-release-1.1.1-src/dojox/image/ThumbnailPicker.js +531 -0
- data/data/dojo-release-1.1.1-src/dojox/image/resources/Gallery.html +4 -0
- data/data/dojo-release-1.1.1-src/dojox/image/resources/Lightbox.html +15 -0
- data/data/dojo-release-1.1.1-src/dojox/image/resources/Magnifier.css +5 -0
- data/data/dojo-release-1.1.1-src/dojox/image/resources/SlideShow.html +14 -0
- data/data/dojo-release-1.1.1-src/dojox/image/resources/ThumbnailPicker.html +11 -0
- data/data/dojo-release-1.1.1-src/dojox/image/resources/image.css +345 -0
- data/data/dojo-release-1.1.1-src/dojox/image/resources/images/buttons.gif +0 -0
- data/data/dojo-release-1.1.1-src/dojox/image/resources/images/buttons.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/image/resources/images/close.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/image/resources/images/close_dark.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/image/resources/images/left.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/image/resources/images/loading.gif +0 -0
- data/data/dojo-release-1.1.1-src/dojox/image/resources/images/right.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/image/resources/images/warning.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/image/tests/images/extraWide.jpg +0 -0
- data/data/dojo-release-1.1.1-src/dojox/image/tests/images/huuuge.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/image/tests/images/imageHoriz.jpg +0 -0
- data/data/dojo-release-1.1.1-src/dojox/image/tests/images/imageHoriz2.jpg +0 -0
- data/data/dojo-release-1.1.1-src/dojox/image/tests/images/imageVert.jpg +0 -0
- data/data/dojo-release-1.1.1-src/dojox/image/tests/images/spanke.jpg +0 -0
- data/data/dojo-release-1.1.1-src/dojox/image/tests/images/square.jpg +0 -0
- data/data/dojo-release-1.1.1-src/dojox/image/tests/images.json +32 -0
- data/data/dojo-release-1.1.1-src/dojox/image/tests/test_Gallery.html +67 -0
- data/data/dojo-release-1.1.1-src/dojox/image/tests/test_Lightbox.html +105 -0
- data/data/dojo-release-1.1.1-src/dojox/image/tests/test_Magnifier.html +98 -0
- data/data/dojo-release-1.1.1-src/dojox/image/tests/test_MagnifierLite.html +91 -0
- data/data/dojo-release-1.1.1-src/dojox/image/tests/test_SlideShow.html +68 -0
- data/data/dojo-release-1.1.1-src/dojox/image/tests/test_ThumbnailPicker.html +134 -0
- data/data/dojo-release-1.1.1-src/dojox/io/README +45 -0
- data/data/dojo-release-1.1.1-src/dojox/io/proxy/README +82 -0
- data/data/dojo-release-1.1.1-src/dojox/io/proxy/tests/frag.xml +4 -0
- data/data/dojo-release-1.1.1-src/dojox/io/proxy/tests/xip.html +62 -0
- data/data/dojo-release-1.1.1-src/dojox/io/proxy/xip.js +437 -0
- data/data/dojo-release-1.1.1-src/dojox/io/proxy/xip_client.html +102 -0
- data/data/dojo-release-1.1.1-src/dojox/io/proxy/xip_server.html +382 -0
- data/data/dojo-release-1.1.1-src/dojox/io/xhrMultiPart.js +77 -0
- data/data/dojo-release-1.1.1-src/dojox/jsonPath/README +125 -0
- data/data/dojo-release-1.1.1-src/dojox/jsonPath/query.js +159 -0
- data/data/dojo-release-1.1.1-src/dojox/jsonPath/tests/jsonPath.js +207 -0
- data/data/dojo-release-1.1.1-src/dojox/jsonPath/tests/module.js +8 -0
- data/data/dojo-release-1.1.1-src/dojox/jsonPath/tests/runTests.html +9 -0
- data/data/dojo-release-1.1.1-src/dojox/jsonPath.js +2 -0
- data/data/dojo-release-1.1.1-src/dojox/lang/LICENSE +21 -0
- data/data/dojo-release-1.1.1-src/dojox/lang/README +37 -0
- data/data/dojo-release-1.1.1-src/dojox/lang/functional/array.js +109 -0
- data/data/dojo-release-1.1.1-src/dojox/lang/functional/curry.js +92 -0
- data/data/dojo-release-1.1.1-src/dojox/lang/functional/fold.js +83 -0
- data/data/dojo-release-1.1.1-src/dojox/lang/functional/lambda.js +106 -0
- data/data/dojo-release-1.1.1-src/dojox/lang/functional/listcomp.js +50 -0
- data/data/dojo-release-1.1.1-src/dojox/lang/functional/object.js +44 -0
- data/data/dojo-release-1.1.1-src/dojox/lang/functional/reversed.js +75 -0
- data/data/dojo-release-1.1.1-src/dojox/lang/functional/scan.js +80 -0
- data/data/dojo-release-1.1.1-src/dojox/lang/functional/sequence.js +34 -0
- data/data/dojo-release-1.1.1-src/dojox/lang/functional/zip.js +41 -0
- data/data/dojo-release-1.1.1-src/dojox/lang/functional.js +5 -0
- data/data/dojo-release-1.1.1-src/dojox/lang/tests/array.js +80 -0
- data/data/dojo-release-1.1.1-src/dojox/lang/tests/curry.js +27 -0
- data/data/dojo-release-1.1.1-src/dojox/lang/tests/fold.js +60 -0
- data/data/dojo-release-1.1.1-src/dojox/lang/tests/fun_perf.html +176 -0
- data/data/dojo-release-1.1.1-src/dojox/lang/tests/lambda.js +20 -0
- data/data/dojo-release-1.1.1-src/dojox/lang/tests/listcomp.js +24 -0
- data/data/dojo-release-1.1.1-src/dojox/lang/tests/main.js +13 -0
- data/data/dojo-release-1.1.1-src/dojox/lang/tests/misc.js +27 -0
- data/data/dojo-release-1.1.1-src/dojox/lang/tests/runTests.html +9 -0
- data/data/dojo-release-1.1.1-src/dojox/lang/utils.js +50 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/BorderContainer.js +3 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/ContentPane.js +475 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/DragPane.js +61 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/ExpandoPane.js +204 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/FloatingPane.js +390 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/README +75 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/RadioGroup.js +229 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/ResizeHandle.js +267 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/ScrollPane.js +110 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/resources/ExpandoPane.css +116 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/resources/ExpandoPane.html +9 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/resources/FloatingPane.css +183 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/resources/FloatingPane.html +14 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/resources/RadioGroup.css +45 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/resources/ResizeHandle.css +34 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/resources/ScrollPane.css +24 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/resources/ScrollPane.html +6 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/resources/icons/resize.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/tests/ContentPane.html +1059 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/tests/_bottomPane.html +53 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/tests/_expando.css +64 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/tests/_floating.html +48 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/tests/_lorem.html +11 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/tests/_script.html +9 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/tests/doc0.html +14 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/tests/images/blank.gif +0 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/tests/images/dojoLogo.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/tests/images/gridUnderlay.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/tests/images/testImage.gif +0 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/tests/remote/getResponse.php +108 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/tests/test_DragPane.html +93 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/tests/test_ExpandoPane.html +307 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/tests/test_ExpandoPane_code.html +98 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/tests/test_ExpandoPane_more.html +114 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/tests/test_FloatingPane.html +167 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/tests/test_RadioGroup.html +61 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/tests/test_ResizeHandle.html +134 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/tests/test_ScrollPane.html +129 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/tests/test_ScrollPaneSingle.html +71 -0
- data/data/dojo-release-1.1.1-src/dojox/layout/tests/test_SizingPane.html +170 -0
- data/data/dojo-release-1.1.1-src/dojox/math/README +38 -0
- data/data/dojo-release-1.1.1-src/dojox/math/_base.js +118 -0
- data/data/dojo-release-1.1.1-src/dojox/math/curves.js +189 -0
- data/data/dojo-release-1.1.1-src/dojox/math/matrix.js +290 -0
- data/data/dojo-release-1.1.1-src/dojox/math.js +2 -0
- data/data/dojo-release-1.1.1-src/dojox/off/README +28 -0
- data/data/dojo-release-1.1.1-src/dojox/off/_common.js +555 -0
- data/data/dojo-release-1.1.1-src/dojox/off/docs/bookmarklets.html +10 -0
- data/data/dojo-release-1.1.1-src/dojox/off/files.js +450 -0
- data/data/dojo-release-1.1.1-src/dojox/off/network_check.txt +1 -0
- data/data/dojo-release-1.1.1-src/dojox/off/offline.js +7 -0
- data/data/dojo-release-1.1.1-src/dojox/off/resources/checkmark.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/off/resources/greenball.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/off/resources/learnhow.html +43 -0
- data/data/dojo-release-1.1.1-src/dojox/off/resources/learnhow.js +43 -0
- data/data/dojo-release-1.1.1-src/dojox/off/resources/offline-widget.css +112 -0
- data/data/dojo-release-1.1.1-src/dojox/off/resources/offline-widget.html +40 -0
- data/data/dojo-release-1.1.1-src/dojox/off/resources/redball.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/off/resources/roller.gif +0 -0
- data/data/dojo-release-1.1.1-src/dojox/off/sync.js +686 -0
- data/data/dojo-release-1.1.1-src/dojox/off/ui.js +618 -0
- data/data/dojo-release-1.1.1-src/dojox/off.js +2 -0
- data/data/dojo-release-1.1.1-src/dojox/presentation/README +72 -0
- data/data/dojo-release-1.1.1-src/dojox/presentation/_base.js +553 -0
- data/data/dojo-release-1.1.1-src/dojox/presentation/resources/Show.css +110 -0
- data/data/dojo-release-1.1.1-src/dojox/presentation/resources/Show.html +12 -0
- data/data/dojo-release-1.1.1-src/dojox/presentation/resources/Slide.html +4 -0
- data/data/dojo-release-1.1.1-src/dojox/presentation/resources/icons/down.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/presentation/resources/icons/next.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/presentation/resources/icons/prev.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/presentation/resources/icons/up.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/presentation/tests/_ext1.html +21 -0
- data/data/dojo-release-1.1.1-src/dojox/presentation/tests/test_presentation.html +162 -0
- data/data/dojo-release-1.1.1-src/dojox/presentation.js +2 -0
- data/data/dojo-release-1.1.1-src/dojox/resources/README.template +36 -0
- data/data/dojo-release-1.1.1-src/dojox/resources/_modules.js +204 -0
- data/data/dojo-release-1.1.1-src/dojox/resources/manualTests.html +12 -0
- data/data/dojo-release-1.1.1-src/dojox/resources/manualTests.js +207 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/CouchDBRestStore.js +83 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/JsonRPC.js +54 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/JsonReferencing.js +261 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/JsonRestStore.js +657 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/PersevereRestStore.js +35 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/README +52 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/Rest.js +86 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/SMDLibrary/yahoo.smd +493 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/Service.js +289 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/demos/demo_JsonRestStore_CouchDB.html +125 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/demos/demo_JsonRestStore_Persevere.html +65 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/demos/documentation.html +33 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/demos/templates/documentation.html +8 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/demos/templates/yahoo.html +31 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/demos/yahoo.html +39 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/documentation.smd +30 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/test.txt +0 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/JsonReferencing.js +26 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/Service.js +698 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/Yahoo.js +313 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/libraryTests.js +8 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/module.js +9 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/JSON.php +724 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/bigQuery +1 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/bigQuery5 +1 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/echo.php +7 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/echoJson.php +8 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/fakestore.php +36 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/jsonRpc10.php +47 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/jsonRpc11.php +52 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/jsonRpc12.php +53 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/jsonRpcPostGetEcho.php +38 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/jsonpEcho.php +23 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/jsonpEcho.phps +23 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/jsonpJsonRpcEcho.php +37 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/obj1 +1 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/obj1testArray +1 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/obj3 +1 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/obj4 +1 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/query +6 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/rawEcho.php +5 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/res +1 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/store.php +24 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/resources/test.smd +189 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/runLibraryTests.html +9 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/runTests.html +9 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/stores/JsonRestStore.js +233 -0
- data/data/dojo-release-1.1.1-src/dojox/rpc/tests/test_dojo_data_model_persevere.html +146 -0
- data/data/dojo-release-1.1.1-src/dojox/sketch/Anchor.js +57 -0
- data/data/dojo-release-1.1.1-src/dojox/sketch/Annotation.js +219 -0
- data/data/dojo-release-1.1.1-src/dojox/sketch/DoubleArrowAnnotation.js +196 -0
- data/data/dojo-release-1.1.1-src/dojox/sketch/Figure.js +489 -0
- data/data/dojo-release-1.1.1-src/dojox/sketch/LeadAnnotation.js +137 -0
- data/data/dojo-release-1.1.1-src/dojox/sketch/PreexistingAnnotation.js +117 -0
- data/data/dojo-release-1.1.1-src/dojox/sketch/README +58 -0
- data/data/dojo-release-1.1.1-src/dojox/sketch/SingleArrowAnnotation.js +179 -0
- data/data/dojo-release-1.1.1-src/dojox/sketch/Slider.js +27 -0
- data/data/dojo-release-1.1.1-src/dojox/sketch/Toolbar.js +92 -0
- data/data/dojo-release-1.1.1-src/dojox/sketch/UnderlineAnnotation.js +78 -0
- data/data/dojo-release-1.1.1-src/dojox/sketch/UndoStack.js +100 -0
- data/data/dojo-release-1.1.1-src/dojox/sketch/_Plugin.js +79 -0
- data/data/dojo-release-1.1.1-src/dojox/sketch/resources/images/icons.gif +0 -0
- data/data/dojo-release-1.1.1-src/dojox/sketch/resources/sketch.css +17 -0
- data/data/dojo-release-1.1.1-src/dojox/sketch/tests/annotation.svg +1 -0
- data/data/dojo-release-1.1.1-src/dojox/sketch/tests/images/figure2.gif +0 -0
- data/data/dojo-release-1.1.1-src/dojox/sketch/tests/images/testsBodyBg.gif +0 -0
- data/data/dojo-release-1.1.1-src/dojox/sketch/tests/test_full.html +66 -0
- data/data/dojo-release-1.1.1-src/dojox/sketch.js +9 -0
- data/data/dojo-release-1.1.1-src/dojox/sql.js +2 -0
- data/data/dojo-release-1.1.1-src/dojox/storage/AirDBStorageProvider.js +248 -0
- data/data/dojo-release-1.1.1-src/dojox/storage/AirEncryptedLocalStorageProvider.js +217 -0
- data/data/dojo-release-1.1.1-src/dojox/storage/AirFileStorageProvider.js +228 -0
- data/data/dojo-release-1.1.1-src/dojox/storage/FlashStorageProvider.js +342 -0
- data/data/dojo-release-1.1.1-src/dojox/storage/GearsStorageProvider.js +316 -0
- data/data/dojo-release-1.1.1-src/dojox/storage/Provider.js +327 -0
- data/data/dojo-release-1.1.1-src/dojox/storage/README +76 -0
- data/data/dojo-release-1.1.1-src/dojox/storage/Storage.as +399 -0
- data/data/dojo-release-1.1.1-src/dojox/storage/Storage.swf +0 -0
- data/data/dojo-release-1.1.1-src/dojox/storage/WhatWGStorageProvider.js +274 -0
- data/data/dojo-release-1.1.1-src/dojox/storage/_common.js +18 -0
- data/data/dojo-release-1.1.1-src/dojox/storage/buildFlashStorage.sh +4 -0
- data/data/dojo-release-1.1.1-src/dojox/storage/demos/helloworld.html +90 -0
- data/data/dojo-release-1.1.1-src/dojox/storage/manager.js +257 -0
- data/data/dojo-release-1.1.1-src/dojox/storage/storage_dialog.fla +0 -0
- data/data/dojo-release-1.1.1-src/dojox/storage/tests/resources/testBook.txt +7104 -0
- data/data/dojo-release-1.1.1-src/dojox/storage/tests/resources/testXML.xml +203 -0
- data/data/dojo-release-1.1.1-src/dojox/storage/tests/test_storage.html +189 -0
- data/data/dojo-release-1.1.1-src/dojox/storage/tests/test_storage.js +493 -0
- data/data/dojo-release-1.1.1-src/dojox/storage.js +2 -0
- data/data/dojo-release-1.1.1-src/dojox/string/Builder.js +97 -0
- data/data/dojo-release-1.1.1-src/dojox/string/README +39 -0
- data/data/dojo-release-1.1.1-src/dojox/string/sprintf.js +402 -0
- data/data/dojo-release-1.1.1-src/dojox/string/tests/Builder.js +87 -0
- data/data/dojo-release-1.1.1-src/dojox/string/tests/BuilderPerf.html +403 -0
- data/data/dojo-release-1.1.1-src/dojox/string/tests/PerfFun.html +260 -0
- data/data/dojo-release-1.1.1-src/dojox/string/tests/lipsum.js +133 -0
- data/data/dojo-release-1.1.1-src/dojox/string/tests/notes.txt +153 -0
- data/data/dojo-release-1.1.1-src/dojox/string/tests/peller.html +78 -0
- data/data/dojo-release-1.1.1-src/dojox/string/tests/runTests.html +9 -0
- data/data/dojo-release-1.1.1-src/dojox/string/tests/sprintf.js +273 -0
- data/data/dojo-release-1.1.1-src/dojox/string/tests/string.js +6 -0
- data/data/dojo-release-1.1.1-src/dojox/string/tokenize.js +38 -0
- data/data/dojo-release-1.1.1-src/dojox/timing/README +58 -0
- data/data/dojo-release-1.1.1-src/dojox/timing/Sequence.js +141 -0
- data/data/dojo-release-1.1.1-src/dojox/timing/Streamer.js +90 -0
- data/data/dojo-release-1.1.1-src/dojox/timing/ThreadPool.js +153 -0
- data/data/dojo-release-1.1.1-src/dojox/timing/_base.js +54 -0
- data/data/dojo-release-1.1.1-src/dojox/timing/tests/test_Sequence.html +80 -0
- data/data/dojo-release-1.1.1-src/dojox/timing/tests/test_ThreadPool.html +16 -0
- data/data/dojo-release-1.1.1-src/dojox/timing.js +2 -0
- data/data/dojo-release-1.1.1-src/dojox/uuid/README +43 -0
- data/data/dojo-release-1.1.1-src/dojox/uuid/Uuid.js +196 -0
- data/data/dojo-release-1.1.1-src/dojox/uuid/_base.js +241 -0
- data/data/dojo-release-1.1.1-src/dojox/uuid/generateRandomUuid.js +52 -0
- data/data/dojo-release-1.1.1-src/dojox/uuid/generateTimeBasedUuid.js +286 -0
- data/data/dojo-release-1.1.1-src/dojox/uuid/tests/runTests.html +10 -0
- data/data/dojo-release-1.1.1-src/dojox/uuid/tests/uuid.js +373 -0
- data/data/dojo-release-1.1.1-src/dojox/uuid.js +2 -0
- data/data/dojo-release-1.1.1-src/dojox/validate/README +37 -0
- data/data/dojo-release-1.1.1-src/dojox/validate/_base.js +179 -0
- data/data/dojo-release-1.1.1-src/dojox/validate/ca.js +40 -0
- data/data/dojo-release-1.1.1-src/dojox/validate/check.js +257 -0
- data/data/dojo-release-1.1.1-src/dojox/validate/creditCard.js +88 -0
- data/data/dojo-release-1.1.1-src/dojox/validate/isbn.js +33 -0
- data/data/dojo-release-1.1.1-src/dojox/validate/regexp.js +327 -0
- data/data/dojo-release-1.1.1-src/dojox/validate/tests/creditcard.js +115 -0
- data/data/dojo-release-1.1.1-src/dojox/validate/tests/module.js +10 -0
- data/data/dojo-release-1.1.1-src/dojox/validate/tests/runTests.html +9 -0
- data/data/dojo-release-1.1.1-src/dojox/validate/tests/validate.js +312 -0
- data/data/dojo-release-1.1.1-src/dojox/validate/us.js +63 -0
- data/data/dojo-release-1.1.1-src/dojox/validate/web.js +85 -0
- data/data/dojo-release-1.1.1-src/dojox/validate.js +2 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/ColorPicker/ColorPicker.css +89 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/ColorPicker/ColorPicker.html +31 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/ColorPicker/images/hue.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/ColorPicker/images/hueHandle.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/ColorPicker/images/pickerPointer.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/ColorPicker/images/underlay.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/ColorPicker.js +280 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/FileInput/FileInput.css +79 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/FileInput/FileInput.html +9 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/FileInput/FileInputAuto.html +9 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/FileInput/ReceiveFile.php +37 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/FileInput.js +71 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/FileInputAuto.js +181 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/FisheyeList/FisheyeList.css +28 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/FisheyeList.js +704 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/FisheyeLite.js +131 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/Iterator.js +173 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/Loader/Loader.css +27 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/Loader/README +39 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/Loader/honey.php +27 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/Loader/icons/loading.gif +0 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/Loader.js +99 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/MultiComboBox.js +57 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/README +84 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/Rating/Rating.css +24 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/Rating/rating_empty.gif +0 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/Rating/rating_empty.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/Rating/rating_full.gif +0 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/Rating/rating_full.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/Rating/rating_half.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/Rating.js +86 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/SortList/SortList.css +64 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/SortList/SortList.html +9 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/SortList.js +147 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/TimeSpinner.js +44 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/Toaster/Toaster.css +47 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/Toaster.js +264 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/Wizard/Wizard.css +22 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/Wizard/Wizard.html +9 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/Wizard.js +188 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/nls/Wizard.js +5 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/nls/ar/Wizard.js +5 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/nls/cs/Wizard.js +5 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/nls/da/Wizard.js +5 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/nls/de/Wizard.js +5 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/nls/el/Wizard.js +5 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/nls/es/Wizard.js +5 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/nls/fi/Wizard.js +5 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/nls/fr/Wizard.js +5 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/nls/he/Wizard.js +5 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/nls/hu/Wizard.js +5 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/nls/it/Wizard.js +5 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/nls/ja/Wizard.js +5 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/nls/ko/Wizard.js +5 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/nls/nb/Wizard.js +5 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/nls/nl/Wizard.js +5 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/nls/pl/Wizard.js +5 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/nls/pt/Wizard.js +5 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/nls/pt-pt/Wizard.js +1 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/nls/ru/Wizard.js +5 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/nls/sv/Wizard.js +5 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/nls/tr/Wizard.js +5 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/nls/zh/Wizard.js +5 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/nls/zh-tw/Wizard.js +5 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/_tags.json +100 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/demo_FisheyeList-orig.html +111 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/demo_FisheyeList.html +117 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/demo_FisheyeLite.html +175 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/fisheye_1.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/fisheye_2.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/fisheye_3.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/fisheye_4.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/icon_browser.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/icon_calendar.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/icon_email.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/icon_texteditor.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/icon_update.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/icon_users.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/rating_empty.gif +0 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/rating_empty.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/rating_full.gif +0 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/images/rating_full.png +0 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/test_ColorPicker.html +41 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/test_FileInput.html +115 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/test_FisheyeList.html +144 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/test_FisheyeLite.html +257 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/test_Iterator.html +73 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/test_Loader.html +81 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/test_MultiComboBox.html +70 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/test_Rating.html +91 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/test_SortList.html +74 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/test_TimeSpinner.html +87 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/test_Toaster.html +147 -0
- data/data/dojo-release-1.1.1-src/dojox/widget/tests/test_Wizard.html +118 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/CompositeWire.js +99 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/DataWire.js +175 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/README +53 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/TableAdapter.js +84 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/TextAdapter.js +84 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/TreeAdapter.js +184 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/Wire.js +332 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/XmlWire.js +240 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/_base.js +191 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/demos/TableContainer.css +30 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/demos/TableContainer.js +64 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/demos/WidgetRepeater.js +29 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/demos/markup/countries.json +43 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/demos/markup/demo_ActionChaining.html +108 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/demos/markup/demo_ActionWiring.html +142 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/demos/markup/demo_BasicChildWire.html +78 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/demos/markup/demo_BasicColumnWiring.html +90 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/demos/markup/demo_ConditionalActions.html +221 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/demos/markup/demo_FlickrStoreWire.html +281 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/demos/markup/demo_TopicWiring.html +78 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/demos/markup/flickrDemo.css +35 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/demos/markup/states.json +56 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/ml/Action.js +221 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/ml/Data.js +139 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/ml/DataStore.js +112 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/ml/Invocation.js +167 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/ml/Service.js +336 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/ml/Transfer.js +355 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/ml/util.js +291 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/tests/markup/Action.html +147 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/tests/markup/Data.html +105 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/tests/markup/DataStore.html +66 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/tests/markup/DataStore.xml +18 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/tests/markup/Invocation.html +53 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/tests/markup/Service/JSON.smd +11 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/tests/markup/Service/XML.smd +11 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/tests/markup/Service/a.json +5 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/tests/markup/Service/a.xml +5 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/tests/markup/Service.html +84 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/tests/markup/Transfer.html +157 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/tests/module.js +9 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/tests/programmatic/CompositeWire.js +47 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/tests/programmatic/ConverterDynamic.js +8 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/tests/programmatic/DataWire.js +21 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/tests/programmatic/TableAdapter.js +20 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/tests/programmatic/TextAdapter.js +21 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/tests/programmatic/TreeAdapter.js +25 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/tests/programmatic/Wire.js +119 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/tests/programmatic/XmlWire.js +28 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/tests/programmatic/_base.js +107 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/tests/runTests.html +9 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/tests/wire.js +14 -0
- data/data/dojo-release-1.1.1-src/dojox/wire/tests/wireml.js +14 -0
- data/data/dojo-release-1.1.1-src/dojox/wire.js +3 -0
- data/data/dojo-release-1.1.1-src/dojox/xml/DomParser.js +375 -0
- data/data/dojo-release-1.1.1-src/dojox/xml/README +40 -0
- data/data/dojo-release-1.1.1-src/util/LICENSE +195 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/LICENSE +195 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/README +44 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/build.bat +1 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/build.js +327 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/build.sh +3 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/build_notice.txt +9 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/build_release.sh +89 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/changeVersion.js +13 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/README +9 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/arrayInherit.js +102 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/build.xml +250 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/calendar.xsl +495 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/currency.xsl +127 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/ldml/CatalogManager.properties +16 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/ldml/LICENSE +29 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/ldml/README +3 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/ldml/catalog +8 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/ldml/core.zip +0 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/ldml/ldml.dtd +1096 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/lib/APL-2.0.html +408 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/lib/LICENSE +12 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/lib/MPL-1.0.html +420 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/lib/MPL-1.1.html +389 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/lib/ant-apache-bsf.jar +0 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/lib/bsf.jar +0 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/lib/js.jar +0 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/lib/resolver.jar +0 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/lib/saxon8.jar +0 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/number.xsl +209 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/specialLocale.js +179 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/cldr/util.xsl +86 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/copyright.txt +10 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/jslib/buildUtil.js +1535 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/jslib/buildUtilXd.js +175 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/jslib/checkBuildSize.js +13 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/jslib/convertTestsToXDomain.js +17 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/jslib/dojoGuardEnd.jsfrag +10 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/jslib/dojoGuardStart.jsfrag +39 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/jslib/fileUtil.js +169 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/jslib/i18nUtil.js +319 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/jslib/logger.js +36 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/jslib/packer/LICENSE +24 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/jslib/packer/Packer.js +203 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/jslib/packer/Words.js +62 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/jslib/packer/base2.js +972 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/listProfileDeps.js +18 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/makeDojoJsWeb.js +103 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/profiles/base.profile.js +1 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/profiles/cometd.profile.js +15 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/profiles/layers.profile.js +66 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/profiles/offline.profile.js +21 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/profiles/rhino.profile.js +16 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/profiles/standard.profile.js +32 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/profiles/storage.profile.js +21 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/tests/conditionalTest.js +21 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/tests/conditionalTest.txt +17 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/tests/foo/page/view.js +7 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/tests/profiles/customBase.profile.js +15 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/tests/profiles/nestedNls.profile.js +27 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild/builder_ui.html +442 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild/dojo.js.html +33 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild/helma/apps/builder/Global/download.skin +1 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild/helma/apps/builder/Global/global.js +36 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild/helma/apps/builder/Root/main.hac +102 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild/helma/apps/builder/app.properties +2 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild/helma/apps.properties +28 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild/index.html +683 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild/makeWebBuildModuleList.js +95 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild/topIndex.html +299 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild/webbuild.js +55 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild/webbuild.sh +54 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild.html +34 -0
- data/data/dojo-release-1.1.1-src/util/buildscripts/webbuild.php +23 -0
- data/data/dojo-release-1.1.1-src/util/docscripts/LICENSE +195 -0
- data/data/dojo-release-1.1.1-src/util/docscripts/README +0 -0
- data/data/dojo-release-1.1.1-src/util/docscripts/_browse.php +227 -0
- data/data/dojo-release-1.1.1-src/util/docscripts/generate.php +152 -0
- data/data/dojo-release-1.1.1-src/util/docscripts/includes/dojo.inc +480 -0
- data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/Dojo.php +62 -0
- data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoArray.php +20 -0
- data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoBlock.php +27 -0
- data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoBoolean.php +16 -0
- data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoExecutedFunction.php +90 -0
- data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoFunction.php +0 -0
- data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoFunctionBody.php +659 -0
- data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoFunctionCall.php +76 -0
- data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoFunctionDeclare.php +436 -0
- data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoNull.php +18 -0
- data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoObject.php +212 -0
- data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoPackage.php +454 -0
- data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoParameter.php +160 -0
- data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoParameters.php +55 -0
- data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoString.php +18 -0
- data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/DojoVariable.php +21 -0
- data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/README +2 -0
- data/data/dojo-release-1.1.1-src/util/docscripts/lib/parser/Text.php +213 -0
- data/data/dojo-release-1.1.1-src/util/docscripts/makeCix.php +290 -0
- data/data/dojo-release-1.1.1-src/util/docscripts/modules/dijit.module +29 -0
- data/data/dojo-release-1.1.1-src/util/docscripts/modules/dojo.module +29 -0
- data/data/dojo-release-1.1.1-src/util/docscripts/modules/dojox.module +26 -0
- data/data/dojo-release-1.1.1-src/util/doh/LICENSE +195 -0
- data/data/dojo-release-1.1.1-src/util/doh/README +12 -0
- data/data/dojo-release-1.1.1-src/util/doh/_browserRunner.js +465 -0
- data/data/dojo-release-1.1.1-src/util/doh/_rhinoRunner.js +17 -0
- data/data/dojo-release-1.1.1-src/util/doh/_sounds/LICENSE +10 -0
- data/data/dojo-release-1.1.1-src/util/doh/_sounds/doh.wav +0 -0
- data/data/dojo-release-1.1.1-src/util/doh/_sounds/dohaaa.wav +0 -0
- data/data/dojo-release-1.1.1-src/util/doh/_sounds/woohoo.wav +0 -0
- data/data/dojo-release-1.1.1-src/util/doh/runner.html +283 -0
- data/data/dojo-release-1.1.1-src/util/doh/runner.js +948 -0
- data/data/dojo-release-1.1.1-src/util/doh/runner.sh +3 -0
- data/data/dojo-release-1.1.1-src/util/doh/small_logo.png +0 -0
- data/data/dojo-release-1.1.1-src/util/jsdoc/INSTALL +41 -0
- data/data/dojo-release-1.1.1-src/util/jsdoc/LICENSE +195 -0
- data/data/dojo-release-1.1.1-src/util/jsdoc/THEMING +0 -0
- data/data/dojo-release-1.1.1-src/util/jsdoc/jsdoc.css +24 -0
- data/data/dojo-release-1.1.1-src/util/jsdoc/jsdoc.info +5 -0
- data/data/dojo-release-1.1.1-src/util/jsdoc/jsdoc.install +190 -0
- data/data/dojo-release-1.1.1-src/util/jsdoc/jsdoc.js +60 -0
- data/data/dojo-release-1.1.1-src/util/jsdoc/jsdoc.module +4473 -0
- data/data/dojo-release-1.1.1-src/util/jsdoc/lib/EXTERNALS +1 -0
- data/data/dojo-release-1.1.1-src/util/jsdoc/template.php +16 -0
- data/data/dojo-release-1.1.1-src/util/resources/LICENSE +195 -0
- data/data/dojo-release-1.1.1-src/util/resources/api/api.xml +0 -0
- data/data/dojo-release-1.1.1-src/util/resources/api/dojo.cix +0 -0
- data/data/dojo-release-1.1.1-src/util/resources/dojotoolkit.org/mini-dtk/dojo-styles.css +114 -0
- data/data/dojo-release-1.1.1-src/util/resources/dojotoolkit.org/mini-dtk/images/bg-content-left.png +0 -0
- data/data/dojo-release-1.1.1-src/util/resources/dojotoolkit.org/mini-dtk/images/bg-content-right.png +0 -0
- data/data/dojo-release-1.1.1-src/util/resources/dojotoolkit.org/mini-dtk/images/body.png +0 -0
- data/data/dojo-release-1.1.1-src/util/resources/dojotoolkit.org/mini-dtk/images/logo.png +0 -0
- data/data/dojo-release-1.1.1-src/util/resources/dojotoolkit.org/mini-dtk/mini-dtk.css +34 -0
- data/data/dojo-release-1.1.1-src/util/resources/dojotoolkit.org/mini-dtk/mini-dtk.psd +0 -0
- data/data/dojo-release-1.1.1-src/util/resources/dojotoolkit.org/mini-dtk/style.css +1092 -0
- data/data/dojo-release-1.1.1-src/util/resources/dojotoolkit.org/mini-dtk/template.html +115 -0
- data/data/dojo-release-1.1.1-src/util/resources/logo/negative/dijit.logo.neg.ai +4111 -22
- data/data/dojo-release-1.1.1-src/util/resources/logo/negative/dijit.logo.neg.eps +5557 -0
- data/data/dojo-release-1.1.1-src/util/resources/logo/negative/dijit.logo.neg.png +0 -0
- data/data/dojo-release-1.1.1-src/util/resources/logo/negative/dijit.logo.neg.svg +987 -0
- data/data/dojo-release-1.1.1-src/util/resources/logo/negative/dojo.logo.neg.ai +0 -0
- data/data/dojo-release-1.1.1-src/util/resources/logo/negative/dojo.logo.neg.big.png +0 -0
- data/data/dojo-release-1.1.1-src/util/resources/logo/negative/dojo.logo.neg.eps +64 -0
- data/data/dojo-release-1.1.1-src/util/resources/logo/negative/dojo.logo.neg.png +0 -0
- data/data/dojo-release-1.1.1-src/util/resources/logo/negative/dojo.logo.neg.svg +36 -0
- data/data/dojo-release-1.1.1-src/util/resources/logo/negative/dojox.logo.neg.ai +3995 -16
- data/data/dojo-release-1.1.1-src/util/resources/logo/negative/dojox.logo.neg.eps +5357 -0
- data/data/dojo-release-1.1.1-src/util/resources/logo/negative/dojox.logo.neg.png +0 -0
- data/data/dojo-release-1.1.1-src/util/resources/logo/negative/dojox.logo.neg.svg +41 -0
- data/data/dojo-release-1.1.1-src/util/resources/logo/positive/dijit.logo.ai +4161 -18
- data/data/dojo-release-1.1.1-src/util/resources/logo/positive/dijit.logo.eps +5562 -0
- data/data/dojo-release-1.1.1-src/util/resources/logo/positive/dijit.logo.png +0 -0
- data/data/dojo-release-1.1.1-src/util/resources/logo/positive/dijit.logo.svg +987 -0
- data/data/dojo-release-1.1.1-src/util/resources/logo/positive/dojo.logo.ai +3719 -15
- data/data/dojo-release-1.1.1-src/util/resources/logo/positive/dojo.logo.big.png +0 -0
- data/data/dojo-release-1.1.1-src/util/resources/logo/positive/dojo.logo.eps +64 -0
- data/data/dojo-release-1.1.1-src/util/resources/logo/positive/dojo.logo.png +0 -0
- data/data/dojo-release-1.1.1-src/util/resources/logo/positive/dojo.logo.svg +36 -0
- data/data/dojo-release-1.1.1-src/util/resources/logo/positive/dojox.logo.ai +4065 -16
- data/data/dojo-release-1.1.1-src/util/resources/logo/positive/dojox.logo.eps +5362 -0
- data/data/dojo-release-1.1.1-src/util/resources/logo/positive/dojox.logo.png +0 -0
- data/data/dojo-release-1.1.1-src/util/resources/logo/positive/dojox.logo.svg +41 -0
- data/data/dojo-release-1.1.1-src/util/shrinksafe/BUILD +13 -0
- data/data/dojo-release-1.1.1-src/util/shrinksafe/LICENSE +6 -0
- data/data/dojo-release-1.1.1-src/util/shrinksafe/MPL-1.1.html +389 -0
- data/data/dojo-release-1.1.1-src/util/shrinksafe/custom_rhino.diff +1343 -0
- data/data/dojo-release-1.1.1-src/util/shrinksafe/custom_rhino.jar +0 -0
- data/lib/dojo-pkg/errors.rb +6 -0
- data/lib/dojo-pkg/version.rb +16 -0
- data/lib/dojo-pkg.rb +72 -0
- data/script/console +10 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/script/txt2html +82 -0
- data/setup.rb +1585 -0
- data/tasks/deployment.rake +34 -0
- data/tasks/environment.rake +7 -0
- data/tasks/website.rake +17 -0
- data/test/test_dojo-pkg.rb +38 -0
- data/test/test_helper.rb +2 -0
- data/website/index.html +80 -0
- data/website/index.txt +78 -0
- data/website/javascripts/rounded_corners_lite.inc.js +285 -0
- data/website/stylesheets/screen.css +137 -0
- data/website/template.html.erb +48 -0
- metadata +2497 -0
@@ -0,0 +1,4473 @@
|
|
1
|
+
<?php
|
2
|
+
// $Id$
|
3
|
+
|
4
|
+
/**
|
5
|
+
* @file
|
6
|
+
* Documentation front-end for JavaScript projects.
|
7
|
+
*
|
8
|
+
* Allows JavaScript projects to parse their code and return an object structure
|
9
|
+
* that will be used to generate custom Drupal nodes.
|
10
|
+
*/
|
11
|
+
|
12
|
+
// Public API (intended for use in a JS source page)
|
13
|
+
// =================================================
|
14
|
+
|
15
|
+
// Implemented global hook functions
|
16
|
+
// =================================
|
17
|
+
|
18
|
+
/**
|
19
|
+
* Implementation of hook_node_info().
|
20
|
+
*/
|
21
|
+
function jsdoc_node_info() {
|
22
|
+
return array(
|
23
|
+
'jsdoc_object' => array('name' => t('JavaScript Object'), 'module' => 'jsdoc_object', 'description' => t('An implemented JavaScript object')),
|
24
|
+
'jsdoc_variable' => array('name' => t('JavaScript Variable'), 'module' => 'jsdoc_variable', 'description' => t('A disambiguation in case an object occurs in more than one file.')),
|
25
|
+
'jsdoc_resource' => array('name' => t('JavaScript Resource'), 'module' => 'jsdoc_resource', 'description' => t('A "dot-notation" pointer to a file or include')),
|
26
|
+
'jsdoc_project' => array('name' => t('JavaScript Project'), 'module' => 'jsdoc_project'),
|
27
|
+
'jsdoc_version' => array('name' => t('JavaScript Project Version'), 'module' => 'jsdoc_version')
|
28
|
+
);
|
29
|
+
}
|
30
|
+
|
31
|
+
/**
|
32
|
+
* Implementation of hook_perm().
|
33
|
+
*/
|
34
|
+
function jsdoc_perm() {
|
35
|
+
return array('edit jsdoc');
|
36
|
+
}
|
37
|
+
|
38
|
+
/**
|
39
|
+
* Implementation of hook_menu().
|
40
|
+
*/
|
41
|
+
function jsdoc_menu($may_cache) {
|
42
|
+
$items = array();
|
43
|
+
$version = $_SESSION['jsdoc_version'];
|
44
|
+
|
45
|
+
if ($may_cache) {
|
46
|
+
$items[] = array(
|
47
|
+
'path' => 'admin/settings/jsdoc',
|
48
|
+
'title' => t('JavaScript Documentation'),
|
49
|
+
'callback' => 'drupal_get_form',
|
50
|
+
'callback arguments' => array('jsdoc_admin'),
|
51
|
+
'access' => user_access('access administration pages'),
|
52
|
+
'type' => MENU_NORMAL_ITEM
|
53
|
+
);
|
54
|
+
|
55
|
+
$items[] = array(
|
56
|
+
'path' => 'node/add/jsdoc',
|
57
|
+
'access' => false
|
58
|
+
);
|
59
|
+
|
60
|
+
$items[] = array(
|
61
|
+
'path' => 'node/add/jsdoc_object',
|
62
|
+
'access' => false
|
63
|
+
);
|
64
|
+
|
65
|
+
$items[] = array(
|
66
|
+
'path' => 'node/add/jsdoc_resource',
|
67
|
+
'access' => false
|
68
|
+
);
|
69
|
+
|
70
|
+
$items[] = array(
|
71
|
+
'path' => 'jsdoc/jsonp',
|
72
|
+
'type' => MENU_CALLBACK,
|
73
|
+
'callback' => 'jsdoc_jsonp',
|
74
|
+
'access' => true
|
75
|
+
);
|
76
|
+
|
77
|
+
$items[] = array(
|
78
|
+
'path' => 'jsdoc/jsonp',
|
79
|
+
'type' => MENU_CALLBACK,
|
80
|
+
'callback' => 'jsdoc_jsonp',
|
81
|
+
'access' => true
|
82
|
+
);
|
83
|
+
|
84
|
+
$items[] = array(
|
85
|
+
'path' => 'jsdoc/ide',
|
86
|
+
'type' => MENU_CALLBACK,
|
87
|
+
'callback' => 'jsdoc_ide',
|
88
|
+
'access' => true
|
89
|
+
);
|
90
|
+
}
|
91
|
+
else {
|
92
|
+
if (db_result(db_query("SELECT 1 FROM {jsdoc_objects} WHERE used = 0 OR new = 1"))) {
|
93
|
+
$items[] = array('path' => 'jsdoc/manage',
|
94
|
+
'title' => t('Manage Documentation Changes'),
|
95
|
+
'callback' => 'drupal_get_form',
|
96
|
+
'callback arguments' => array('jsdoc_manage'),
|
97
|
+
'access' => user_access('edit jsdoc'),
|
98
|
+
'type' => MENU_NORMAL_ITEM
|
99
|
+
);
|
100
|
+
}
|
101
|
+
|
102
|
+
if (arg(0) == 'jsdoc' && arg(1) != 'jsonp') {
|
103
|
+
$project = false;
|
104
|
+
$version = false;
|
105
|
+
$resource = false;
|
106
|
+
$name = '';
|
107
|
+
$path = '';
|
108
|
+
if (arg(4)) {
|
109
|
+
// If we have 4 arguments, assume that we've been passed a resource
|
110
|
+
$project = arg(1);
|
111
|
+
$version = arg(2);
|
112
|
+
$resource = str_replace('__', '/', arg(3));
|
113
|
+
$name = arg(4);
|
114
|
+
$path = "jsdoc/$project/$version/" . arg(3) . "/$name";
|
115
|
+
|
116
|
+
// TODO: Remove this once search engines have stopped indexing it.
|
117
|
+
if ($resource == 'object') {
|
118
|
+
drupal_goto("jsdoc/$project/$version/$name");
|
119
|
+
}
|
120
|
+
}
|
121
|
+
elseif (arg(3)) {
|
122
|
+
// If we have 3 arguments, assume that we don't have a resource
|
123
|
+
$project = arg(1);
|
124
|
+
$version = arg(2);
|
125
|
+
$name = arg(3);
|
126
|
+
$path = "jsdoc/$project/$version/$name";
|
127
|
+
}
|
128
|
+
elseif (arg(2)) {
|
129
|
+
// If we have 2 arguments, assume that we don't have a resource or project
|
130
|
+
// So basically, we assume that version is more important than project
|
131
|
+
$version = arg(1);
|
132
|
+
$name = arg(2);
|
133
|
+
$path = "jsdoc/$version/$name";
|
134
|
+
}
|
135
|
+
elseif (arg(1)) {
|
136
|
+
// Allow the user to only pass the name
|
137
|
+
$name = arg(1);
|
138
|
+
$path = "jsdoc/$name";
|
139
|
+
}
|
140
|
+
|
141
|
+
if ($node = jsdoc_object_nodes_load($name, $project, $version, $resource)) {
|
142
|
+
if (count($node) == 1) {
|
143
|
+
$node = $node[0];
|
144
|
+
jsdoc_current_node($node);
|
145
|
+
}
|
146
|
+
$item = array(
|
147
|
+
'path' => $path,
|
148
|
+
'title' => t('View'),
|
149
|
+
'access' => node_access('view', $node),
|
150
|
+
'type' => MENU_CALLBACK
|
151
|
+
);
|
152
|
+
if (is_array($node)) {
|
153
|
+
$item['callback'] = 'jsdoc_variables_node_view';
|
154
|
+
$item['callback arguments'] = array($node);
|
155
|
+
}
|
156
|
+
else {
|
157
|
+
if ($node->type == 'jsdoc_object') {
|
158
|
+
$item['callback'] = 'jsdoc_object_node_view';
|
159
|
+
$item['callback arguments'] = array($node);
|
160
|
+
}
|
161
|
+
else {
|
162
|
+
$item['callback'] = 'jsdoc_variable_node_view';
|
163
|
+
$item['callback arguments'] = array($node);
|
164
|
+
}
|
165
|
+
}
|
166
|
+
$items[] = $item;
|
167
|
+
}
|
168
|
+
}
|
169
|
+
}
|
170
|
+
|
171
|
+
return $items;
|
172
|
+
}
|
173
|
+
|
174
|
+
/**
|
175
|
+
* Impelementation of hook_block
|
176
|
+
*/
|
177
|
+
function jsdoc_block($op='list', $delta=0) {
|
178
|
+
if (module_exists('search')) {
|
179
|
+
if ($op == 'list') {
|
180
|
+
$block[0]['info'] = t('JavaScript Documentation Search');
|
181
|
+
$block[1]['info'] = t('JavaScript Namespace List');
|
182
|
+
return $block;
|
183
|
+
}
|
184
|
+
elseif ($op == 'view') {
|
185
|
+
if ($delta == 0) {
|
186
|
+
$block['subject'] = 'Search';
|
187
|
+
$block['content'] = preg_replace('%ignore.*endignore%s', theme('jsdoc_search', 'search'), drupal_get_form('_jsdoc_block_search'));
|
188
|
+
return $block;
|
189
|
+
}
|
190
|
+
elseif ($delta == 1) {
|
191
|
+
$namespaces = array();
|
192
|
+
|
193
|
+
$current = jsdoc_current_node();
|
194
|
+
|
195
|
+
if ($_GET['jsdoc_project'] || $current) {
|
196
|
+
if ($_GET['jsdoc_project']) {
|
197
|
+
$project_title = $_GET['jsdoc_project'];
|
198
|
+
}
|
199
|
+
else {
|
200
|
+
$project_title = jsdoc_get_project($current)->title;
|
201
|
+
}
|
202
|
+
|
203
|
+
foreach (jsdoc_projects() as $project) {
|
204
|
+
if ($project->title != $project_title) {
|
205
|
+
$namespaces[] = (object)array(
|
206
|
+
'title' => $project->title,
|
207
|
+
'url' => url($_GET['q'], 'jsdoc_project=' . $project->title),
|
208
|
+
'a' => l($project->title, $_GET['q'], array(), 'jsdoc_project=' . $project->title)
|
209
|
+
);
|
210
|
+
}
|
211
|
+
else {
|
212
|
+
if ($_GET['jsdoc_project']) {
|
213
|
+
$version = jsdoc_version_node_load('HEAD', $_GET['jsdoc_project']);
|
214
|
+
$project = jsdoc_get_project($version);
|
215
|
+
}
|
216
|
+
else {
|
217
|
+
$version = jsdoc_get_version($current);
|
218
|
+
$project = jsdoc_get_project($current);
|
219
|
+
}
|
220
|
+
|
221
|
+
if (!($all_namespaces = cache_get('jsdoc_namespaces_' . $project->title, 'cache'))) {
|
222
|
+
$all_namespaces = array();
|
223
|
+
}
|
224
|
+
else {
|
225
|
+
$all_namespaces = unserialize($all_namespaces->data);
|
226
|
+
}
|
227
|
+
if (empty($all_namespaces[$version->nid])) {
|
228
|
+
$query = db_query("SELECT n.title, n.nid, n.vid, jo.type AS jsdoc_type, jo.initialized AS jsdoc_initialized FROM {jsdoc_objects} jo JOIN {node} n ON (n.vid = jo.vid) WHERE jo.private = 0 AND jo.private_parent = 0 AND jo.version = %d AND (n.title = '%s' OR n.title LIKE '%s.%%') AND (jo.type = 'Object' OR (jo.type = 'Function' AND jo.initialized = 1)) GROUP BY BINARY n.title ORDER BY n.title", $version->nid, $project->title, $project->title);
|
229
|
+
while ($result = db_fetch_object($query)) {
|
230
|
+
if (jsdoc_is_namespace($result)) {
|
231
|
+
$all_namespaces[$version->nid][] = array($result->nid, $result->vid);
|
232
|
+
}
|
233
|
+
}
|
234
|
+
cache_set('jsdoc_namespaces_' . $project->title, 'cache', serialize($all_namespaces));
|
235
|
+
}
|
236
|
+
|
237
|
+
foreach ($all_namespaces[$version->nid] as $namespace) {
|
238
|
+
$namespace = _jsdoc_node_load($namespace[0], $namespace[1]);
|
239
|
+
$children = false;
|
240
|
+
|
241
|
+
if ($_GET['jsdoc_object'] == $namespace->title) {
|
242
|
+
$variables = jsdoc_get_child_variables($namespace);
|
243
|
+
if (!empty($variables)) {
|
244
|
+
foreach ($variables as $child) {
|
245
|
+
$children[$child->title] = _jsdoc_get_object_themed($child);
|
246
|
+
}
|
247
|
+
uksort($children, "strnatcasecmp");
|
248
|
+
}
|
249
|
+
}
|
250
|
+
|
251
|
+
$namespace = _jsdoc_get_object_themed($namespace);
|
252
|
+
$namespace->children = $children;
|
253
|
+
$namespace->url = url($namespace->title, $_GET['q'], 'jsdoc_project=' . $_GET['jsdoc_project'] . '&jsdoc_object=' . $namespace->title);
|
254
|
+
$namespace->a = l($namespace->title, $_GET['q'], array(), 'jsdoc_project=' . $_GET['jsdoc_project'] . '&jsdoc_object=' . $namespace->title);
|
255
|
+
|
256
|
+
$namespaces[] = $namespace;
|
257
|
+
}
|
258
|
+
}
|
259
|
+
}
|
260
|
+
}
|
261
|
+
else {
|
262
|
+
foreach (jsdoc_projects() as $project) {
|
263
|
+
$namespaces[] = (object)array(
|
264
|
+
'title' => $project->title,
|
265
|
+
'url' => url($_GET['q'], 'jsdoc_project=' . $project->title),
|
266
|
+
'a' => l($project->title, $_GET['q'], array(), 'jsdoc_project=' . $project->title)
|
267
|
+
);
|
268
|
+
}
|
269
|
+
}
|
270
|
+
//$namespaces = unserialize(cache_get('jsdoc_namespaces', 'cache')->data);
|
271
|
+
$block['subject'] = 'Objects';
|
272
|
+
$block['content'] = theme('jsdoc_namespaces', $namespaces);
|
273
|
+
return $block;
|
274
|
+
}
|
275
|
+
}
|
276
|
+
}
|
277
|
+
}
|
278
|
+
|
279
|
+
function _jsdoc_block_search() {
|
280
|
+
if (module_exists('search')) {
|
281
|
+
return array(
|
282
|
+
'ignore' => array(
|
283
|
+
'#value' => 'ignore'
|
284
|
+
),
|
285
|
+
'search' => array(
|
286
|
+
'#type' => 'textfield'
|
287
|
+
),
|
288
|
+
'go' => array(
|
289
|
+
'#type' => 'submit',
|
290
|
+
'#value' => 'Go'
|
291
|
+
),
|
292
|
+
'endignore' => array(
|
293
|
+
'#value' => 'endignore'
|
294
|
+
)
|
295
|
+
);
|
296
|
+
}
|
297
|
+
}
|
298
|
+
|
299
|
+
function _jsdoc_block_search_submit($form_id, $form) {
|
300
|
+
$search = $form['search'];
|
301
|
+
if (strpos($search, ' ') === false) {
|
302
|
+
$query = db_query("SELECT title FROM {node} WHERE type = 'jsdoc_object' AND title = '%s' GROUP BY BINARY title", $search);
|
303
|
+
if (db_num_rows($query) == 1) {
|
304
|
+
$object = jsdoc_object_node_load(db_result($query));
|
305
|
+
watchdog('search', t('%keys (@type).', array('%keys' => $search, '@type' => 'JavaScript Documentation')), WATCHDOG_NOTICE, l(t('result'), $object->jsdoc_url));
|
306
|
+
drupal_goto($object->jsdoc_url);
|
307
|
+
return;
|
308
|
+
}
|
309
|
+
else {
|
310
|
+
$query = db_query("SELECT title FROM {node} WHERE type = 'jsdoc_object' AND title LIKE '%%%s%%' GROUP BY BINARY title", $search);
|
311
|
+
if (db_num_rows($query) == 1) {
|
312
|
+
$object = jsdoc_object_node_load(db_result($query));
|
313
|
+
watchdog('search', t('%keys (@type).', array('%keys' => $search, '@type' => 'JavaScript Documentation')), WATCHDOG_NOTICE, l(t('result'), $object->jsdoc_url));
|
314
|
+
drupal_goto($object->jsdoc_url);
|
315
|
+
return;
|
316
|
+
}
|
317
|
+
}
|
318
|
+
}
|
319
|
+
|
320
|
+
drupal_goto('search/jsdoc/' . $search);
|
321
|
+
}
|
322
|
+
|
323
|
+
/**
|
324
|
+
* Implementation of hook_update_index().
|
325
|
+
*
|
326
|
+
* Handle node status the way that the node module does... through remembering nids, last change time,
|
327
|
+
* and last comment change time.
|
328
|
+
*
|
329
|
+
* We need to save things by version/node pair though. That way, we can keep things so that the latest
|
330
|
+
* update is always the latest version of the node.
|
331
|
+
*/
|
332
|
+
function jsdoc_update_index() {
|
333
|
+
global $last_change, $last_nid;
|
334
|
+
|
335
|
+
register_shutdown_function('jsdoc_update_shutdown');
|
336
|
+
|
337
|
+
$last = variable_get('jsdoc_cron_last', 0);
|
338
|
+
$last_nid = variable_get('jsdoc_cron_last_nid', 0);
|
339
|
+
$limit = (int)variable_get('search_cron_limit', 500);
|
340
|
+
|
341
|
+
$result = db_query_range("SELECT GREATEST(IF(c.last_comment_timestamp IS NULL, 0, c.last_comment_timestamp), n.changed) as last_change, n.nid FROM {node} n LEFT JOIN {node_comment_statistics} c ON n.nid = c.nid WHERE n.type = 'jsdoc_variable' AND n.status = 1 AND ((GREATEST(n.changed, c.last_comment_timestamp) = %d AND n.nid > %d) OR (n.changed > %d OR c.last_comment_timestamp > %d)) ORDER BY GREATEST(n.changed, c.last_comment_timestamp) ASC, n.nid ASC", $last, $last_nid, $last, $last, $last, 0, $limit);
|
342
|
+
|
343
|
+
while ($node = db_fetch_object($result)) {
|
344
|
+
$last_change = $node->last_change;
|
345
|
+
$last_nid = $node->nid;
|
346
|
+
$node = _jsdoc_node_load($node->nid);
|
347
|
+
|
348
|
+
$text = '<h1>'. implode(' ', _jsdoc_build_terms($node->title)) . '</h1> ' . jsdoc_get_teaser($node) . ' ' . jsdoc_get_body($node);
|
349
|
+
|
350
|
+
// Fetch extra data normally not visible
|
351
|
+
$extra = node_invoke_nodeapi($node, 'update index');
|
352
|
+
foreach ($extra as $t) {
|
353
|
+
$text .= $t;
|
354
|
+
}
|
355
|
+
|
356
|
+
// Update index
|
357
|
+
search_index($node->nid, 'jsdoc_' . jsdoc_get_version($node)->title, $text);
|
358
|
+
}
|
359
|
+
}
|
360
|
+
|
361
|
+
/**
|
362
|
+
* shutdown function to make sure we always mark the last node processed.
|
363
|
+
*/
|
364
|
+
function jsdoc_update_shutdown() {
|
365
|
+
global $last_change, $last_nid;
|
366
|
+
|
367
|
+
if ($last_change && $last_nid) {
|
368
|
+
variable_set('jsdoc_cron_last', $last_change);
|
369
|
+
variable_set('jsdoc_cron_last_nid', $last_nid);
|
370
|
+
}
|
371
|
+
}
|
372
|
+
|
373
|
+
/**
|
374
|
+
* Implementation of hook_search().
|
375
|
+
*/
|
376
|
+
function jsdoc_search($op = 'search', $keys = null) {
|
377
|
+
switch ($op) {
|
378
|
+
case 'name':
|
379
|
+
return t('JavaScript Documentation');
|
380
|
+
case 'search':
|
381
|
+
// Get all projects
|
382
|
+
// Get all versions mared 'HEAD' in each project
|
383
|
+
$project = search_query_extract($keys, 'project');
|
384
|
+
$keys = search_query_insert($keys, 'project');
|
385
|
+
$version = search_query_extract($keys, 'version');
|
386
|
+
if (empty($version)) {
|
387
|
+
$version = 'HEAD';
|
388
|
+
// TODO: Start using "ANY" here if no version is provided.
|
389
|
+
}
|
390
|
+
$keys = search_query_insert($keys, 'version');
|
391
|
+
|
392
|
+
$private = search_query_extract($keys, 'private');
|
393
|
+
$keys = search_query_insert($keys, 'private');
|
394
|
+
|
395
|
+
$where = '1';
|
396
|
+
if (!$private) {
|
397
|
+
$where = "jo.private = 0 AND jo.private_parent = 0";
|
398
|
+
}
|
399
|
+
|
400
|
+
$find = do_search(
|
401
|
+
'(' . implode('), (', _jsdoc_build_terms($keys)) . ')',
|
402
|
+
'jsdoc_' . $version,
|
403
|
+
"INNER JOIN {node} n ON (n.nid = i.sid) INNER JOIN {node} n2 ON (n2.title = n.title AND BINARY n2.title = BINARY n.title AND n2.type = 'jsdoc_object') INNER JOIN {jsdoc_objects} jo ON (jo.vid = n2.vid) INNER JOIN {jsdoc_versions} jv ON (jv.nid = jo.version) INNER JOIN {node} n4 ON (n4.nid = jv.project)",
|
404
|
+
$where,
|
405
|
+
array(),
|
406
|
+
'i.relevance + (15 / CHAR_LENGTH(n.title)) AS score',
|
407
|
+
"INNER JOIN {node} n ON (n.nid = i.sid)"
|
408
|
+
);
|
409
|
+
$results = array();
|
410
|
+
foreach ($find as $item) {
|
411
|
+
$node = _jsdoc_node_load($item->sid);
|
412
|
+
|
413
|
+
$info = jsdoc_node_info();
|
414
|
+
$results[] = array(
|
415
|
+
'link' => url($node->jsdoc_url),
|
416
|
+
'type' => $info[$node->type]['name'],
|
417
|
+
'title' => $node->title,
|
418
|
+
'user' => theme('username', $node),
|
419
|
+
'date' => $node->changed,
|
420
|
+
'node' => $node,
|
421
|
+
'score' => $item->score,
|
422
|
+
'snippet' => (jsdoc_get_teaser($node)) ? search_excerpt($keys, jsdoc_get_teaser($node)) : ''
|
423
|
+
);
|
424
|
+
}
|
425
|
+
return $results;
|
426
|
+
}
|
427
|
+
}
|
428
|
+
|
429
|
+
/**
|
430
|
+
* Implementation of hook_search_validate()
|
431
|
+
*/
|
432
|
+
function jsdoc_search_validate($form_id, $form_values, $form) {
|
433
|
+
if (!$form_values['jsdoc_version']) {
|
434
|
+
$project = '';
|
435
|
+
$version = '';
|
436
|
+
}
|
437
|
+
else {
|
438
|
+
list($project, $version) = explode('_', $form_values['jsdoc_version']);
|
439
|
+
}
|
440
|
+
|
441
|
+
$keys = search_query_insert($form_values['processed_keys'], 'project', $project);
|
442
|
+
$keys = search_query_insert($keys, 'version', $version);
|
443
|
+
|
444
|
+
if ($form_values['jsdoc_private']) {
|
445
|
+
$keys = search_query_insert($keys, 'private', 'true');
|
446
|
+
}
|
447
|
+
else {
|
448
|
+
$keys = search_query_insert($keys, 'private');
|
449
|
+
}
|
450
|
+
|
451
|
+
form_set_value($form['basic']['inline']['processed_keys'], trim($keys));
|
452
|
+
}
|
453
|
+
|
454
|
+
function _jsdoc_cron_timeout(){
|
455
|
+
static $start;
|
456
|
+
static $count;
|
457
|
+
if (!$start) {
|
458
|
+
$start = time();
|
459
|
+
return false;
|
460
|
+
}
|
461
|
+
++$count;
|
462
|
+
$delta = time() - $start;
|
463
|
+
$avg = $delta / $count;
|
464
|
+
$estimate = $delta + $avg;
|
465
|
+
if ($estimate > 30) {
|
466
|
+
return true;
|
467
|
+
}
|
468
|
+
return false;
|
469
|
+
}
|
470
|
+
|
471
|
+
/**
|
472
|
+
* Implementation of hook_cron().
|
473
|
+
*
|
474
|
+
* Here's the deal: We always assume that we're in the same version.
|
475
|
+
* This grants us the following allowances:
|
476
|
+
*
|
477
|
+
* - Resources don't need versioning during the cron run. They will only
|
478
|
+
* get new versions is the overall version changes, or if the file gets
|
479
|
+
* renamed, which happens in a separate part of the application.
|
480
|
+
* - The only significant run-time change is renaming a parameter.
|
481
|
+
*/
|
482
|
+
function jsdoc_cron() {
|
483
|
+
// Validate variables and stuff related to basic configuration
|
484
|
+
if (!_jsdoc_cron_validate()) {
|
485
|
+
return;
|
486
|
+
}
|
487
|
+
|
488
|
+
// Use the configuration settings to switch directories, and load the plugin file
|
489
|
+
_jsdoc_cron_chdir(true);
|
490
|
+
_jsdoc_cron_timeout();
|
491
|
+
|
492
|
+
if (_jsdoc_cron_validate_include()) {
|
493
|
+
// This is messy since we want to do this without doing any DB manipulation to run this check
|
494
|
+
$current_files = call_user_func(_jsdoc_base() . '_get_files');
|
495
|
+
$query = db_query("SELECT namespace.title AS namespace, resource.title AS filename, MAX(resource.vid) AS vid FROM {node} resource JOIN {jsdoc_objects} jo ON (resource.vid = jo.resource_vid) JOIN {node} obj ON (obj.vid = jo.vid) JOIN {jsdoc_versions} jv ON (jv.nid = jo.version) JOIN {node} version ON (version.nid = jv.nid) JOIN {node} namespace ON (namespace.nid = jv.project) WHERE version.title = 'HEAD' AND jo.used != -1 GROUP BY BINARY namespace.title, BINARY resource.title");
|
496
|
+
while ($result = db_fetch_object($query)) {
|
497
|
+
$found = false;
|
498
|
+
foreach ($current_files as $current_file) {
|
499
|
+
if ($current_file[0] == $result->namespace && $current_file[1] == $result->filename) {
|
500
|
+
$found = true;
|
501
|
+
break;
|
502
|
+
}
|
503
|
+
}
|
504
|
+
if (!$found) {
|
505
|
+
db_query("UPDATE {jsdoc_objects} SET used = 0 WHERE resource_vid = %d", $result->vid);
|
506
|
+
}
|
507
|
+
}
|
508
|
+
|
509
|
+
// Validate the stuff added in the newly included file
|
510
|
+
$files = variable_get('jsdoc_cron_files', array());
|
511
|
+
if (!empty($files)) {
|
512
|
+
print count($files) . ' files left<br>';
|
513
|
+
}
|
514
|
+
else {
|
515
|
+
$files = $current_files;
|
516
|
+
}
|
517
|
+
|
518
|
+
if (!is_array($files)) {
|
519
|
+
watchdog('jsdoc', _jsdoc_base() . '_get_files' . t(' does not return an array in ') . _jsdoc_file_location(), WATCHDOG_ERROR);
|
520
|
+
}
|
521
|
+
elseif (!count($files)) {
|
522
|
+
watchdog('jsdoc', _jsdoc_base() . '_get_files' . t(' returns an empty array in ') . _jsdoc_file_location(), WATCHDOG_ERROR);
|
523
|
+
}
|
524
|
+
else {
|
525
|
+
_jsdoc_init();
|
526
|
+
|
527
|
+
foreach (jsdoc_projects() as $project) {
|
528
|
+
if (!($namespaces = cache_get('jsdoc_namespaces_' . $project->title, 'cache'))) {
|
529
|
+
$namespaces = array();
|
530
|
+
}
|
531
|
+
else {
|
532
|
+
$namespaces = unserialize($namespaces->data);
|
533
|
+
}
|
534
|
+
$version = jsdoc_get_version($project);
|
535
|
+
unset($namespaces[$version->nid]);
|
536
|
+
cache_set('jsdoc_namespaces_' . $project->title, 'cache', serialize($namespaces));
|
537
|
+
}
|
538
|
+
|
539
|
+
// Build an array of ctimes from our cache table
|
540
|
+
$file_ctimes = array();
|
541
|
+
$query = db_query("SELECT ctime, cid, namespace, filepath FROM {jsdoc_cache}");
|
542
|
+
while ($cache = db_fetch_object($query)) {
|
543
|
+
if (!$file_ctimes[$cache->namespace]) {
|
544
|
+
$file_ctimes[$cache->namespace] = array();
|
545
|
+
}
|
546
|
+
$file_ctimes[$cache->namespace][$cache->filepath] = $cache;
|
547
|
+
}
|
548
|
+
|
549
|
+
while (count($files)) {
|
550
|
+
$list = array_shift($files);
|
551
|
+
|
552
|
+
if (_jsdoc_cron_timeout()) {
|
553
|
+
break;
|
554
|
+
}
|
555
|
+
else{
|
556
|
+
variable_set('jsdoc_cron_files', $files);
|
557
|
+
}
|
558
|
+
|
559
|
+
list($namespace, $file_name) = $list;
|
560
|
+
unset($list);
|
561
|
+
unset($contents);
|
562
|
+
print "$file_name<br>";
|
563
|
+
if (empty($files)) {
|
564
|
+
print 'FINISHED';
|
565
|
+
}
|
566
|
+
flush();
|
567
|
+
ob_flush();
|
568
|
+
|
569
|
+
set_time_limit(60); // 1 minute
|
570
|
+
// Cache the results from a parse in the file and reuse it if we can.
|
571
|
+
$cache_dir = _jsdoc_get_base_path() . '/' . drupal_get_path('module', 'jsdoc') . '/cache/';
|
572
|
+
$ctime = call_user_func(_jsdoc_base() . '_get_file_time', $namespace, $file_name);
|
573
|
+
$cache_hit = false;
|
574
|
+
if ($file_ctimes[$namespace] && ($cache = $file_ctimes[$namespace][$file_name])) {
|
575
|
+
if ($cache->ctime != $ctime || !file_exists($cache_dir . $cache->cid)) {
|
576
|
+
$contents = call_user_func(_jsdoc_base() . '_get_contents', $namespace, $file_name);
|
577
|
+
db_query("UPDATE {jsdoc_cache} SET used = 1, ctime = %d WHERE namespace = '%s' AND filepath = '%s'", $ctime, $namespace, $file_name);
|
578
|
+
file_put_contents($cache_dir . $cache->cid, serialize($contents));
|
579
|
+
}
|
580
|
+
else {
|
581
|
+
$cache_hit = true;
|
582
|
+
db_query("UPDATE {jsdoc_cache} SET used = 1 WHERE namespace = '%s' AND filepath = '%s'", $namespace, $file_name);
|
583
|
+
$contents = unserialize(file_get_contents($cache_dir . $cache->cid));
|
584
|
+
}
|
585
|
+
}
|
586
|
+
else {
|
587
|
+
$contents = call_user_func(_jsdoc_base() . '_get_contents', $namespace, $file_name);
|
588
|
+
$cache->cid = db_next_id('{jsdoc_cache}_cid');
|
589
|
+
db_query("INSERT INTO {jsdoc_cache} (namespace, filepath, ctime, cid) VALUES ('%s', '%s', %d, %d)", $namespace, $file_name, $ctime, $cache->cid);
|
590
|
+
file_put_contents($cache_dir . $cache->cid, serialize($contents));
|
591
|
+
}
|
592
|
+
|
593
|
+
if (is_array($contents)) {
|
594
|
+
// Create an actual node representation for the resource that this file provides.
|
595
|
+
$provides_node = _jsdoc_resource_get_or_create($contents['#provides'], $namespace);
|
596
|
+
$resource_node = _jsdoc_resource_get_or_create($contents['#resource'], $namespace);
|
597
|
+
|
598
|
+
db_query("UPDATE {jsdoc_resources} SET used = 1 WHERE vid IN (%d, %d)", $provides_node->vid, $resource_node->vid);
|
599
|
+
|
600
|
+
if ($cache_hit) {
|
601
|
+
if (!$resource_node->is_new) {
|
602
|
+
continue;
|
603
|
+
}
|
604
|
+
print 'cache hit ' . $cache->filepath . '<br>';
|
605
|
+
}
|
606
|
+
|
607
|
+
db_query("DELETE FROM {jsdoc_resource_hierarchy} WHERE nid = %d AND version = %d", $provides_node->nid, jsdoc_get_version($provides_node)->nid);
|
608
|
+
|
609
|
+
// Using the requires statement, create the links between files that are required
|
610
|
+
// by this file, and this file
|
611
|
+
if (!empty($contents['#requires']) && !empty($contents['#provides'])) {
|
612
|
+
$found = array();
|
613
|
+
foreach ($contents['#requires'] as $weight => $require) {
|
614
|
+
if($found[serialize($require)]) continue;
|
615
|
+
$found[serialize($require)] = true;
|
616
|
+
|
617
|
+
$requires_node = _jsdoc_resource_get_or_create($require[1], $namespace);
|
618
|
+
db_query("UPDATE {jsdoc_resources} SET used = 1 WHERE vid = %d", $requires_node->vid);
|
619
|
+
|
620
|
+
foreach (taxonomy_get_term_by_name($require[0]) as $term) {
|
621
|
+
if ($term->vid == _jsdoc_environments()->vid || $term->vid == _jsdoc_conditions()->vid) {
|
622
|
+
// Find a matching item in the environment or conditions vocabularies
|
623
|
+
$environment = $term->tid;
|
624
|
+
break;
|
625
|
+
}
|
626
|
+
}
|
627
|
+
if (!$environment) {
|
628
|
+
// Make sure we have a term for this resource
|
629
|
+
watchdog('jsdoc', "Missing environment or condition term for '" . $require[0] . "'", WATCHDOG_ERROR);
|
630
|
+
_jsdoc_cron_chdir();
|
631
|
+
return;
|
632
|
+
}
|
633
|
+
|
634
|
+
_jsdoc_save_hierarchy($provides_node, $requires_node, $environment);
|
635
|
+
}
|
636
|
+
}
|
637
|
+
|
638
|
+
unset($contents['#requires']);
|
639
|
+
unset($contents['#resource']);
|
640
|
+
unset($contents['#provides']);
|
641
|
+
|
642
|
+
foreach ($contents as $var => $content) {
|
643
|
+
$variable_node = _jsdoc_variable_get_or_create($var, $namespace, $content['private']);
|
644
|
+
|
645
|
+
$object_node = _jsdoc_object_get_or_create(
|
646
|
+
$namespace,
|
647
|
+
$var,
|
648
|
+
$content['summary'],
|
649
|
+
$content['description'],
|
650
|
+
$resource_node,
|
651
|
+
$provides_node,
|
652
|
+
$content['private'],
|
653
|
+
$content['private_parent'],
|
654
|
+
$content['initialized'],
|
655
|
+
$content['classlike'],
|
656
|
+
$content['type'],
|
657
|
+
$content['returns'],
|
658
|
+
$content['return_summary'],
|
659
|
+
$content['source'],
|
660
|
+
$content['parameters'],
|
661
|
+
$content['examples'],
|
662
|
+
$content['aliases'],
|
663
|
+
$content['instance'],
|
664
|
+
$content['prototype'],
|
665
|
+
$content['chains'],
|
666
|
+
$content['mixins']
|
667
|
+
);
|
668
|
+
}
|
669
|
+
$version = jsdoc_version_node_load('HEAD', $namespace);
|
670
|
+
$query = db_query("SELECT n.title, MAX(n.vid) AS vid FROM {jsdoc_objects} jo JOIN {node} n ON (n.vid = jo.vid) WHERE jo.used = 1 AND jo.version = %d AND jo.resource_vid = %d GROUP BY BINARY n.title", $version->nid, $resource_node->vid);
|
671
|
+
while ($result = db_fetch_object($query)) {
|
672
|
+
if (!array_key_exists($result->title, $contents)) {
|
673
|
+
db_query("UPDATE {jsdoc_objects} SET used = 0 WHERE vid = %d", $result->vid);
|
674
|
+
}
|
675
|
+
}
|
676
|
+
}
|
677
|
+
|
678
|
+
$files = variable_get('jsdoc_cron_files', array());
|
679
|
+
}
|
680
|
+
}
|
681
|
+
}
|
682
|
+
|
683
|
+
_jsdoc_cron_chdir();
|
684
|
+
}
|
685
|
+
|
686
|
+
/**
|
687
|
+
* Implementation of hook_form_alter().
|
688
|
+
*/
|
689
|
+
function jsdoc_form_alter($form_id, &$form) {
|
690
|
+
if ($form['type']['#value'] == 'jsdoc_object') {
|
691
|
+
unset($form['taxonomy']);
|
692
|
+
}
|
693
|
+
elseif ($form_id == 'search_form' && $form['module']['#value'] == 'jsdoc') {
|
694
|
+
$options = array('' => '-----');
|
695
|
+
|
696
|
+
$query = db_query("SELECT n.title AS project, n2.title AS version FROM {node} n JOIN {jsdoc_versions} j ON (j.project = n.nid) JOIN {node} n2 ON (n2.nid = j.nid) WHERE n.type = 'jsdoc_project' AND n.title != '' AND n.status = 1 AND n2.status = 1 ORDER BY n2.vid DESC");
|
697
|
+
while ($node = db_fetch_object($query)) {
|
698
|
+
$options[$node->project . '_' . $node->version] = $node->project . ' -- ' . $node->version;
|
699
|
+
}
|
700
|
+
|
701
|
+
$form['jsdoc_version'] = array(
|
702
|
+
'#title' => t('Version'),
|
703
|
+
'#type' => 'select',
|
704
|
+
'#options' => $options
|
705
|
+
);
|
706
|
+
|
707
|
+
$project = search_query_extract($form['basic']['inline']['keys']['#default_value'], 'project');
|
708
|
+
$version = search_query_extract($form['basic']['inline']['keys']['#default_value'], 'version');
|
709
|
+
|
710
|
+
if ($project && $version) {
|
711
|
+
$form['jsdoc_version']['#default_value'] = $project . '_' . $version;
|
712
|
+
}
|
713
|
+
|
714
|
+
$private = search_query_extract($form['basic']['inline']['keys']['#default_value'], 'private');
|
715
|
+
|
716
|
+
$form['jsdoc_private'] = array(
|
717
|
+
'#title' => t('Include Private Variables'),
|
718
|
+
'#type' => 'checkbox',
|
719
|
+
'#default_value' => $private
|
720
|
+
);
|
721
|
+
|
722
|
+
$form['#validate']['jsdoc_search_validate'] = array();
|
723
|
+
}
|
724
|
+
}
|
725
|
+
|
726
|
+
/**
|
727
|
+
* Implementation of hook_help().
|
728
|
+
*/
|
729
|
+
function jsdoc_help($section = '') {
|
730
|
+
$output = '';
|
731
|
+
|
732
|
+
switch ($section) {
|
733
|
+
case 'admin/help#jsdoc':
|
734
|
+
return '<p>' . t('View and edit JavaScript Documentation') . '</p>';
|
735
|
+
case 'admin/modules#jsdoc':
|
736
|
+
return t('View and edit JavaScript Documentation');
|
737
|
+
case 'admin/settings/jsdoc/ignore':
|
738
|
+
return t("
|
739
|
+
<p>There will be several vocabularies created by this resource. Two of the more important are \"JavaScript Environments\" and \"JavaScript Conditions\". You should read their explanations below and make sure that these values exist in your vocabularies.</p>
|
740
|
+
<p>In order for this to work, you need to declare both a file and two functions within that file. When the cron task runs, it will call a function that gets a list of files within your project. The files will be run one by one, each calling the second function. Our task expects an array to be returned in the following format:</p>
|
741
|
+
<ul>
|
742
|
+
<li><em>variable</em>: The name of the variable</li>
|
743
|
+
<li><strong>Resource Specific</strong></li>
|
744
|
+
<li><em>#requires</em>: The string literal '#requires'</li>
|
745
|
+
<li><em>#provides</em>: The string literal '#provides'. It should match the requires statements of other files</li>
|
746
|
+
<li><em>resource</em>: Your code might load different files depending on different conditions. A resource is a string to indicate the location of a file</li>
|
747
|
+
<li><em>environment</em>: An indicator of where your code is running. Only one is available during run-time. Must correspond to the entry in \"JavaScript Environments\"</li>
|
748
|
+
<li><em>condition</em>: An indicator of a condition under which your code is running. Multiple conditions are available at run-time. Must correspond to an entry in \"JavaScript Conditions\"</li>
|
749
|
+
<li><strong>Object Specific</strong></li>
|
750
|
+
<li><em>private</em>: True if this object isn't meant to be public</li>
|
751
|
+
<li><em>type</em>: Object type. If it's a function, set to 'Function'</li>
|
752
|
+
<li><em>summary</em>: A short description of what the item does.</li>
|
753
|
+
<li><em>description</em>: An extended description of what the item does.</li>
|
754
|
+
<li><strong>Function Specific</strong></li>
|
755
|
+
<li><em>aliases</em>: The name of a function/variable this references. In code, it would have been fn1 = fn2, where fn1 aliases fn2</li>
|
756
|
+
<li><em>instance</em>: The name of a function that the 'this' variable refers to. Useful if a function is declared in a constructor.</li>
|
757
|
+
<li><em>initialized</em>: True if this variable references an initialized function.</li>
|
758
|
+
<li><em>classlike</em>: True if a function acts like a class.</li>
|
759
|
+
<li><em>prototype</em>: This object is attached via the prototype of this function</li>
|
760
|
+
<li><em>returns</em>: Object type of the function return.</li>
|
761
|
+
<li><em>return summary</em>: Summary of the function return.</li>
|
762
|
+
<li><em>chains</em>: The string literal 'chains'</li>
|
763
|
+
<li><em>chain-type</em>: call, or prototype. Basically, either doing this.call(parent); or this.prototype = new parent; respectively</li>
|
764
|
+
<li><em>function</em>: A function name</li>
|
765
|
+
<li><em>parameters</em>: The string literal 'parameters'</li>
|
766
|
+
<li><em>parameter</em>: The name of the parameter</li>
|
767
|
+
<li><em>optional</v>: True if the parameter is documented as optional</li>
|
768
|
+
<li><em>repeating</em>: True if the parameter is documented as repeating</li>
|
769
|
+
<li><em>type</em>: Object type of the parameter.</li>
|
770
|
+
<li><em>source</em>: Source Code (if it's a function)</li>
|
771
|
+
</ul>
|
772
|
+
<pre>array(
|
773
|
+
'variable' => array(
|
774
|
+
'#requires' => array(
|
775
|
+
array('environment/condition', 'resource')
|
776
|
+
)
|
777
|
+
'type' => '',
|
778
|
+
'source' => '',
|
779
|
+
'summary' => '',
|
780
|
+
'description' => '',
|
781
|
+
'aliases' => '',
|
782
|
+
'instance' => '',
|
783
|
+
'initialized' => boolean,
|
784
|
+
'prototype' => '',
|
785
|
+
'returns' => '',
|
786
|
+
'return_summary' => '',
|
787
|
+
'chains' => array(
|
788
|
+
array('chain-type', 'function')
|
789
|
+
),
|
790
|
+
'parameters' => array(
|
791
|
+
'parameter' => array(
|
792
|
+
'optional' => boolean,
|
793
|
+
'repeating' => boolean,
|
794
|
+
'type' => '',
|
795
|
+
'summary' => ''
|
796
|
+
)
|
797
|
+
)
|
798
|
+
)
|
799
|
+
)</pre>");
|
800
|
+
}
|
801
|
+
|
802
|
+
return '';
|
803
|
+
}
|
804
|
+
|
805
|
+
// Views
|
806
|
+
// =====
|
807
|
+
|
808
|
+
function jsdoc_manage($edit = array()) {
|
809
|
+
// If the first parse has run, all items in the DB have new = 1;
|
810
|
+
$query = db_query("SELECT 1 FROM {jsdoc_objects} WHERE new != 1");
|
811
|
+
if (!db_num_rows($query)) {
|
812
|
+
db_query("UPDATE {jsdoc_objects} SET new = 0");
|
813
|
+
}
|
814
|
+
|
815
|
+
$header = array('Variable', 'Project', 'Resource', 'New', 'Deleted or Renamed');
|
816
|
+
|
817
|
+
//_drupal_add_js('../dojo/dojo.js', 'module', 'header', false, true);
|
818
|
+
_drupal_add_js(drupal_get_path('module', 'jsdoc') . '/jsdoc.js', 'module', 'header', false, true);
|
819
|
+
|
820
|
+
// Objects
|
821
|
+
$query = db_query("SELECT j.nid, j.vid, j.used, j.new, j.version FROM {jsdoc_objects} j INNER JOIN {node} n ON (n.vid = j.vid) INNER JOIN {node} n2 ON (n2.vid = j.resource_vid) WHERE j.used = 0 OR j.new = 1 ORDER BY j.version, n2.title, n.title");
|
822
|
+
while ($object = db_fetch_object($query)) {
|
823
|
+
$node = _jsdoc_node_load($object->nid, $object->vid);
|
824
|
+
$project = jsdoc_get_project($node);
|
825
|
+
$resource = jsdoc_get_resource($node);
|
826
|
+
|
827
|
+
$new = '';
|
828
|
+
$renamed = '';
|
829
|
+
if ($object->new) {
|
830
|
+
$new = "<input type=\"checkbox\" name=\"new[{$project->title}][{$node->nid}][{$node->vid}]\" value=\"{$project->title}|{$resource->title}|{$node->title}|{$node->nid}|{$node->vid}\" checked=\"checked\" />";
|
831
|
+
}
|
832
|
+
else {
|
833
|
+
$renamed = "<select name=\"modified[{$project->title}][{$node->nid}][{$node->vid}]\"><option value=\"\">Deleted</option></select>";
|
834
|
+
}
|
835
|
+
|
836
|
+
$rows[] = array($node->title, jsdoc_get_project($node)->title, theme('jsdoc_resource_source_link', jsdoc_get_project($resource)->title, $resource->title), $new, $renamed);
|
837
|
+
}
|
838
|
+
|
839
|
+
$form['table'] = array(
|
840
|
+
'#value' => theme('table', $header, $rows)
|
841
|
+
);
|
842
|
+
|
843
|
+
$form['submit'] = array(
|
844
|
+
'#type' => 'submit',
|
845
|
+
'#value' => t('Done')
|
846
|
+
);
|
847
|
+
|
848
|
+
return $form;
|
849
|
+
}
|
850
|
+
|
851
|
+
function jsdoc_manage_submit($form_id, $form) {
|
852
|
+
if ($form_id == 'jsdoc_manage') {
|
853
|
+
if ($_POST['modified']) {
|
854
|
+
foreach ($_POST['modified'] as $projects) {
|
855
|
+
foreach ($projects as $nid => $vids) {
|
856
|
+
foreach ($vids as $vid => $props) {
|
857
|
+
if (!$props) {
|
858
|
+
$node = _jsdoc_node_load($nid, $vid);
|
859
|
+
db_query("UPDATE {jsdoc_objects} SET used = -1, new = 0 WHERE nid = %d AND vid = %d", $nid, $vid);
|
860
|
+
$node->status = 0;
|
861
|
+
node_save($node);
|
862
|
+
}
|
863
|
+
else {
|
864
|
+
// Delete the new node, update the old node.
|
865
|
+
list($move_nid, $move_vid) = explode('_', $props);
|
866
|
+
|
867
|
+
$node = _jsdoc_node_load($nid, $vid);
|
868
|
+
$move_node = _jsdoc_node_load($move_nid, $move_vid);
|
869
|
+
|
870
|
+
$node->revision = 1;
|
871
|
+
$node->title = $move_node->title;
|
872
|
+
node_save($node);
|
873
|
+
|
874
|
+
jsdoc_get_children($move_node);
|
875
|
+
$chains = array();
|
876
|
+
foreach ($move_node->jsdoc_chains as $subtype => $chain) {
|
877
|
+
$chains[$subtype] = array_keys($chain);
|
878
|
+
}
|
879
|
+
$mixins = array();
|
880
|
+
foreach ($move_node->jsdoc_mixins as $subtype => $mixin) {
|
881
|
+
if (!$subtype) {
|
882
|
+
$subtype = 'normal';
|
883
|
+
}
|
884
|
+
$mixins[$subtype] = array_keys($mixin);
|
885
|
+
}
|
886
|
+
_jsdoc_object_get_or_create(
|
887
|
+
jsdoc_get_project($move_node)->title,
|
888
|
+
$move_node->title,
|
889
|
+
$move_node->teaser,
|
890
|
+
$move_node->body,
|
891
|
+
_jsdoc_node_load($node->jsdoc_resource, $node->jsdoc_resource_vid),
|
892
|
+
_jsdoc_node_load($node->jsdoc_provide, $node->jsdoc_provide_nid),
|
893
|
+
$move_node->jsdoc_private,
|
894
|
+
$move_node->jsdoc_private_parent,
|
895
|
+
$move_node->jsdoc_initialized,
|
896
|
+
$move_node->jsdoc_classlike,
|
897
|
+
$move_node->jsdoc_type,
|
898
|
+
$move_node->jsdoc_returns,
|
899
|
+
$move_node->jsdoc_return_summary,
|
900
|
+
$move_node->jsdoc_source,
|
901
|
+
$move_node->jsdoc_parameters,
|
902
|
+
$move_node->jsdoc_examples,
|
903
|
+
$move_node->jsdoc_aliases->title,
|
904
|
+
$move_node->jsdoc_instance->title,
|
905
|
+
$move_node->jsdoc_prototype->title,
|
906
|
+
$chains,
|
907
|
+
$mixins
|
908
|
+
);
|
909
|
+
db_query("UPDATE {jsdoc_objects} SET resource_nid = %d, resource_vid = %d, provide_nid = %d, provide_vid = %d WHERE vid = %d", $move_node->jsdoc_resource, $move_node->jsdoc_resource_vid, $move_node->jsdoc_provide, $move_node->jsdoc_provide_vid, $node->nid);
|
910
|
+
|
911
|
+
node_delete($move_node->nid);
|
912
|
+
}
|
913
|
+
}
|
914
|
+
}
|
915
|
+
}
|
916
|
+
}
|
917
|
+
if ($_POST['new']) {
|
918
|
+
foreach ($_POST['new'] as $projects) {
|
919
|
+
foreach ($projects as $nid => $vids) {
|
920
|
+
foreach ($vids as $vid => $isnew) {
|
921
|
+
if ($isnew) {
|
922
|
+
db_query("UPDATE {jsdoc_objects} SET new = 0 WHERE vid = %d", $vid);
|
923
|
+
}
|
924
|
+
}
|
925
|
+
}
|
926
|
+
}
|
927
|
+
}
|
928
|
+
}
|
929
|
+
|
930
|
+
drupal_goto('');
|
931
|
+
}
|
932
|
+
|
933
|
+
// Implemented node-type hook functions
|
934
|
+
// ====================================
|
935
|
+
|
936
|
+
/**
|
937
|
+
* Implementation of hook_access().
|
938
|
+
*/
|
939
|
+
function jsdoc_object_access($op, $node) {
|
940
|
+
global $user;
|
941
|
+
|
942
|
+
if ($op == 'update') {
|
943
|
+
return user_access('edit jsdoc');
|
944
|
+
}
|
945
|
+
elseif ($op == 'view') {
|
946
|
+
return user_access('access content');
|
947
|
+
}
|
948
|
+
|
949
|
+
return false;
|
950
|
+
}
|
951
|
+
|
952
|
+
/**
|
953
|
+
* Implementation of hook_form().
|
954
|
+
*/
|
955
|
+
function jsdoc_object_form(&$node) {
|
956
|
+
$form = array(
|
957
|
+
'#redirect' => $node->jsdoc_url
|
958
|
+
);
|
959
|
+
|
960
|
+
if ($node->teaser) {
|
961
|
+
$form['summary'] = array(
|
962
|
+
'#type' => 'item',
|
963
|
+
'#title' => t('Summary'),
|
964
|
+
'#value' => $node->teaser,
|
965
|
+
'#weight' => -10
|
966
|
+
);
|
967
|
+
}
|
968
|
+
|
969
|
+
if ($node->jsdoc_type != 'Function' && !$node->jsdoc_source) {
|
970
|
+
// Force them to specify summary in source where possible
|
971
|
+
$form['teaser'] = array(
|
972
|
+
'#type' => 'textfield',
|
973
|
+
'#title' => t('Summary'),
|
974
|
+
'#default-value' => $node->teaser,
|
975
|
+
'#weight' => -10
|
976
|
+
);
|
977
|
+
}
|
978
|
+
else {
|
979
|
+
$form['teaser'] = array(
|
980
|
+
'#type' => 'hidden',
|
981
|
+
'#value' => $node->teaser
|
982
|
+
);
|
983
|
+
$form['jsdoc_classlike'] = array(
|
984
|
+
'#type' => 'checkbox',
|
985
|
+
'#title' => t('Is intended to be instantiated (like a class)'),
|
986
|
+
'#default_value' => $node->jsdoc_classlike,
|
987
|
+
'#weight' => -2
|
988
|
+
);
|
989
|
+
}
|
990
|
+
|
991
|
+
$form['jsdoc_updating'] = array(
|
992
|
+
'#type' => 'checkbox',
|
993
|
+
'#title' => t('Update on next cron'),
|
994
|
+
'#default_value' => 0,
|
995
|
+
'#weight' => 0
|
996
|
+
);
|
997
|
+
|
998
|
+
$parameters = jsdoc_get_parameters($parameters);
|
999
|
+
if ($parameters) {
|
1000
|
+
foreach ($parameters as $parameter) {
|
1001
|
+
$form['jsdoc_parameters'][$parameter['name']] = array(
|
1002
|
+
'#type' => 'fieldset',
|
1003
|
+
'#title' => $parameter['jsdoc_formatted']['type'] . $parameter['jsdoc_formatted']['separator'] . $parameter['name'],
|
1004
|
+
'#weight' => $parameter['weight']
|
1005
|
+
);
|
1006
|
+
$form['jsdoc_parameters'][$parameter['name']]['summary'] = array(
|
1007
|
+
'#title' => t('Summary'),
|
1008
|
+
'#type' => 'textfield',
|
1009
|
+
'#default_value' => $parameter['summary']
|
1010
|
+
);
|
1011
|
+
$form['jsdoc_parameters']['#type'] = 'fieldset';
|
1012
|
+
$form['jsdoc_parameters']['#title'] = t('Parameters');
|
1013
|
+
$form['jsdoc_parameters']['#tree'] = true;
|
1014
|
+
$form['jsdoc_parameters']['#collapsible'] = true;
|
1015
|
+
$form['jsdoc_parameters']['#weight'] = -8;
|
1016
|
+
}
|
1017
|
+
}
|
1018
|
+
|
1019
|
+
$form['body_filter']['#weight'] = -6;
|
1020
|
+
$form['body_filter']['body'] = array(
|
1021
|
+
'#type' => 'textarea',
|
1022
|
+
'#title' => t('Description'),
|
1023
|
+
'#default_value' => $node->body,
|
1024
|
+
'#rows' => 10,
|
1025
|
+
'#required' => FALSE,
|
1026
|
+
);
|
1027
|
+
$form['body_filter']['format'] = filter_form($node->format);
|
1028
|
+
|
1029
|
+
return $form;
|
1030
|
+
}
|
1031
|
+
|
1032
|
+
/**
|
1033
|
+
* Implementation of hook_insert().
|
1034
|
+
*/
|
1035
|
+
function jsdoc_object_insert($node) {
|
1036
|
+
$project = _jsdoc_project_get_or_create(jsdoc_get_project($node)->title);
|
1037
|
+
$version = _jsdoc_version_get_or_create('HEAD', $project);
|
1038
|
+
|
1039
|
+
db_query("INSERT INTO {jsdoc_objects} (vid, nid, resource_vid, resource_nid, provide_vid, provide_nid, initialized, classlike, type, returns, return_summary, source, private, private_parent, version) VALUES (%d, %d, %d, %d, %d, %d, %d, %d, '%s', '%s', '%s', '%s', %d, %d, %d)", $node->vid, $node->nid, $node->jsdoc_resource_vid, $node->jsdoc_resource, $node->jsdoc_provide_vid, $node->jsdoc_provide, $node->jsdoc_initialized, $node->jsdoc_classlike, $node->jsdoc_type, $node->jsdoc_returns, $node->jsdoc_return_summary, $node->jsdoc_source, $node->jsdoc_private, $node->jsdoc_private_parent, $version->nid);
|
1040
|
+
|
1041
|
+
_jsdoc_detail_update_joins($node);
|
1042
|
+
|
1043
|
+
if ($parameters = jsdoc_get_parameters($node)) {
|
1044
|
+
$i = 0;
|
1045
|
+
foreach ($parameters as $parameter_name => $parameter) {
|
1046
|
+
db_query("INSERT INTO {jsdoc_parameters} (vid, nid, weight, name, type, summary, optional, repeating) VALUES (%d, %d, %d, '%s', '%s', '%s', %d, %d)", $node->vid, $node->nid, $i++, $parameter_name, $parameter['type'], $parameter['summary'], $parameter['optional'], $parameter['repeating']);
|
1047
|
+
}
|
1048
|
+
}
|
1049
|
+
|
1050
|
+
if (is_array(jsdoc_get_examples($node))) {
|
1051
|
+
foreach (jsdoc_get_examples($node) as $weight => $example) {
|
1052
|
+
$example = preg_replace('%^([\s]*)\n%', '', $example);
|
1053
|
+
db_query("INSERT INTO {jsdoc_examples} (vid, nid, weight, example, markedup) VALUES (%d, %d, %d, '%s', '%s')", $node->vid, $node->nid, $weight, $example, _jsdoc_markup_text($example, jsdoc_get_version($node)->nid));
|
1054
|
+
}
|
1055
|
+
}
|
1056
|
+
}
|
1057
|
+
|
1058
|
+
/**
|
1059
|
+
* Implementation of hook_update().
|
1060
|
+
*/
|
1061
|
+
function jsdoc_object_update($node) {
|
1062
|
+
if ($node->revision) {
|
1063
|
+
db_query("UPDATE {jsdoc_objects} SET used = -1 WHERE vid = %d", $node->old_vid);
|
1064
|
+
db_query("INSERT INTO {jsdoc_objects} SELECT %d, nid, resource_vid, resource_nid, provide_vid, provide_nid, initialized, classlike, type, updating, returns, return_summary, source, private, private_parent, version, 1, 0 FROM {jsdoc_objects} WHERE vid = %d", $node->vid, $node->old_vid);
|
1065
|
+
}
|
1066
|
+
|
1067
|
+
$project = _jsdoc_project_get_or_create(jsdoc_get_project($node)->title);
|
1068
|
+
|
1069
|
+
_jsdoc_detail_update_joins($node);
|
1070
|
+
db_query("UPDATE {jsdoc_objects} SET updating = %d, resource_vid = %d, resource_nid = %d, provide_vid = %d, provide_nid = %d, initialized = %d, classlike = %d, type = '%s', returns = '%s', return_summary = '%s', source = '%s', private = %d, private_parent = %d, version = %d WHERE vid = %d", $node->jsdoc_updating, $node->jsdoc_resource_vid, $node->jsdoc_resource, $node->jsdoc_provide_vid, $node->jsdoc_provide, $node->jsdoc_initialized, $node->jsdoc_classlike, $node->jsdoc_type, $node->jsdoc_returns, $node->jsdoc_return_summary, $node->jsdoc_source, $node->jsdoc_private, $node->jsdoc_private_parent, jsdoc_get_version($node)->nid, $node->vid);
|
1071
|
+
|
1072
|
+
db_query("DELETE FROM {jsdoc_parameters} WHERE vid = %d", $node->vid);
|
1073
|
+
|
1074
|
+
if ($parameters = jsdoc_get_parameters($node)) {
|
1075
|
+
$i = 0;
|
1076
|
+
foreach ($parameters as $parameter_name => $parameter) {
|
1077
|
+
if (is_array($parameter)) {
|
1078
|
+
db_query("INSERT INTO {jsdoc_parameters} (vid, nid, weight, name, type, summary, optional, repeating) VALUES (%d, %d, %d, '%s', '%s', '%s', %d, %d)", $node->vid, $node->nid, $i++, $parameter_name, $parameter['type'], ($parameter['previous_summary']) ? $parameter['previous_summary'] : $parameter['summary'], $parameter['optional'], $parameter['repeating']);
|
1079
|
+
}
|
1080
|
+
}
|
1081
|
+
}
|
1082
|
+
|
1083
|
+
db_query("DELETE FROM {jsdoc_examples} WHERE vid = %d", $node->vid);
|
1084
|
+
|
1085
|
+
if (is_array(jsdoc_get_examples($node))) {
|
1086
|
+
foreach (jsdoc_get_examples($node) as $weight => $example) {
|
1087
|
+
$example = preg_replace('%^([\s]*)\n%', '', $example);
|
1088
|
+
db_query("INSERT INTO {jsdoc_examples} (vid, nid, weight, example, markedup) VALUES (%d, %d, %d, '%s', '%s')", $node->vid, $node->nid, $weight, $example, _jsdoc_markup_text($example, jsdoc_get_version($node)->nid));
|
1089
|
+
}
|
1090
|
+
}
|
1091
|
+
}
|
1092
|
+
|
1093
|
+
/**
|
1094
|
+
* Implementation of hook_delete
|
1095
|
+
*/
|
1096
|
+
function jsdoc_object_delete(&$node) {
|
1097
|
+
db_query("DELETE FROM {jsdoc_objects} WHERE nid = %d", $node->nid);
|
1098
|
+
db_query("DELETE FROM {jsdoc_parameters} WHERE nid = %d", $node->nid);
|
1099
|
+
db_query("DELETE FROM {jsdoc_examples} WHERE nid = %d", $node->nid);
|
1100
|
+
}
|
1101
|
+
|
1102
|
+
/**
|
1103
|
+
* Implementation of hook_load().
|
1104
|
+
*/
|
1105
|
+
function jsdoc_object_load($node) {
|
1106
|
+
// TODO: Deal with alias
|
1107
|
+
_jsdoc_init();
|
1108
|
+
$additions = db_fetch_object(db_query("SELECT jo.type AS jsdoc_raw_type, jo.returns AS jsdoc_returns, jo.return_summary AS jsdoc_return_summary, jo.updating AS jsdoc_updating, jo.classlike AS jsdoc_classlike, jo.private AS jsdoc_private, jo.private_parent AS jsdoc_private_parent, jo.resource_nid AS jsdoc_resource, jo.resource_vid AS jsdoc_resource_vid, jo.provide_nid AS jsdoc_provide, jo.provide_vid AS jsdoc_provide_vid, jo.initialized AS jsdoc_initialized, jo.used AS jsdoc_used, jo.version AS jsdoc_version, source AS jsdoc_source, jo.resource_vid != n.vid AS has_revisions FROM {jsdoc_objects} jo JOIN {node_revisions} nr ON (jo.resource_vid = nr.vid) JOIN {node} n ON (nr.nid = n.nid) WHERE jo.vid = %d", $node->vid));
|
1109
|
+
|
1110
|
+
$additions->jsdoc_used = round($additions->jsdoc_used);
|
1111
|
+
|
1112
|
+
$additions->jsdoc_formatted = _jsdoc_format_type($additions->jsdoc_raw_type, $additions->jsdoc_classlike);
|
1113
|
+
|
1114
|
+
$node->jsdoc_version = $additions->jsdoc_version;
|
1115
|
+
|
1116
|
+
$node->jsdoc_full_url = 'jsdoc/' . jsdoc_get_project($node)->title . '/HEAD/' . str_replace('/', '__', db_result(db_query("SELECT title FROM {node_revisions} WHERE vid = %d", $additions->jsdoc_resource_vid))) . '/' . $node->title;
|
1117
|
+
$node->jsdoc_url = 'jsdoc/' . jsdoc_get_project($node)->title . '/HEAD/' . $node->title;
|
1118
|
+
|
1119
|
+
return $additions;
|
1120
|
+
}
|
1121
|
+
|
1122
|
+
/**
|
1123
|
+
* Implementation of hook_view().
|
1124
|
+
*/
|
1125
|
+
function jsdoc_object_view($node, $teaser = false, $page = false) {
|
1126
|
+
$node->teaser = '';
|
1127
|
+
$node->body = '';
|
1128
|
+
if (!$teaser) {
|
1129
|
+
$node->body = l($node->title, $node->jsdoc_url);
|
1130
|
+
}
|
1131
|
+
$node->title = t('Object');
|
1132
|
+
$node->taxonomy = array();
|
1133
|
+
$node = node_prepare($node, $teaser);
|
1134
|
+
return $node;
|
1135
|
+
}
|
1136
|
+
|
1137
|
+
/**
|
1138
|
+
* Implementation of hook_access().
|
1139
|
+
*/
|
1140
|
+
function jsdoc_variable_access($op, $node) {
|
1141
|
+
return jsdoc_object_access($op, $node);
|
1142
|
+
}
|
1143
|
+
|
1144
|
+
/**
|
1145
|
+
* Implementation of hook_form().
|
1146
|
+
*/
|
1147
|
+
function jsdoc_variable_form(&$node) {
|
1148
|
+
$form = array(
|
1149
|
+
'#redirect' => $node->jsdoc_url
|
1150
|
+
);
|
1151
|
+
|
1152
|
+
$form['jsdoc_disambiguation'] = array(
|
1153
|
+
'#type' => 'fieldset',
|
1154
|
+
'#title' => t('Disambiguation'),
|
1155
|
+
'#collapsible' => true,
|
1156
|
+
'#collapsed' => true
|
1157
|
+
);
|
1158
|
+
|
1159
|
+
$form['jsdoc_disambiguation']['jsdoc_disambiguation'] = array(
|
1160
|
+
'#type' => 'radios',
|
1161
|
+
'#default_value' => ($node->jsdoc_disambiguation == -1) ? -1 : round($node->jsdoc_disambiguation->vid),
|
1162
|
+
'#options' => array()
|
1163
|
+
);
|
1164
|
+
|
1165
|
+
$disambiguations = $node->jsdoc_disambiguations;
|
1166
|
+
if ($node->jsdoc_detail) {
|
1167
|
+
array_unshift($disambiguations, $node->jsdoc_detail);
|
1168
|
+
}
|
1169
|
+
foreach ($disambiguations as $disambiguation) {
|
1170
|
+
jsdoc_get_resource($disambiguation);
|
1171
|
+
jsdoc_get_provide($disambiguation);
|
1172
|
+
$form['jsdoc_disambiguation']['jsdoc_disambiguation']['#options'][$disambiguation->jsdoc_resource->vid] = t('Use the summary and description in ' . $disambiguation->jsdoc_resource->title . ' (' . l('Edit object', 'jsdoc/' . jsdoc_get_project($node)->title . '/' . jsdoc_get_version($node)->title . '/' . $node->title . '/edit/' . $disambiguation->jsdoc_resource->vid) . ')');
|
1173
|
+
}
|
1174
|
+
|
1175
|
+
$form['jsdoc_disambiguation']['jsdoc_disambiguation']['#options']['0'] = t('No customization (use default if only one resource)');
|
1176
|
+
$form['jsdoc_disambiguation']['jsdoc_disambiguation']['#options']['-1'] = t('Provide a custom summary and description (below)');
|
1177
|
+
|
1178
|
+
$form['teaser'] = array(
|
1179
|
+
'#type' => 'textfield',
|
1180
|
+
'#title' => t('Summary'),
|
1181
|
+
'#default_value' => $node->teaser
|
1182
|
+
);
|
1183
|
+
|
1184
|
+
$form['body'] = array(
|
1185
|
+
'#type' => 'textarea',
|
1186
|
+
'#title' => t('Description'),
|
1187
|
+
'#default_value' => $node->body
|
1188
|
+
);
|
1189
|
+
|
1190
|
+
return $form;
|
1191
|
+
}
|
1192
|
+
|
1193
|
+
/**
|
1194
|
+
* Implementation of hook_insert().
|
1195
|
+
*/
|
1196
|
+
function jsdoc_variable_insert($node) {
|
1197
|
+
db_query("INSERT INTO {jsdoc_variables} (vid, nid, private, private_parent, version) VALUES (%d, %d, %d, %d, %d)", $node->vid, $node->nid, $node->jsdoc_private, $node->jsdoc_private_parent, jsdoc_get_version($node)->nid);
|
1198
|
+
}
|
1199
|
+
|
1200
|
+
/**
|
1201
|
+
* Implementation of hook_insert().
|
1202
|
+
*/
|
1203
|
+
function jsdoc_version_insert($node) {
|
1204
|
+
db_query("INSERT INTO {jsdoc_versions} (nid, project) VALUES (%d, %d)", $node->nid, jsdoc_get_project($node)->nid);
|
1205
|
+
}
|
1206
|
+
|
1207
|
+
/**
|
1208
|
+
* Implementation of hook_update().
|
1209
|
+
*/
|
1210
|
+
function jsdoc_variable_update($node) {
|
1211
|
+
if ($node->revision) {
|
1212
|
+
jsdoc_object_insert($node);
|
1213
|
+
}
|
1214
|
+
else {
|
1215
|
+
if (!is_array($node->jsdoc_disambiguation)) {
|
1216
|
+
$resource_nid = db_result(db_query("SELECT nid FROM {node_revisions} WHERE vid = %d", $node->jsdoc_disambiguation));
|
1217
|
+
$node->jsdoc_disambiguation = (object)array(
|
1218
|
+
'nid' => $resource_nid,
|
1219
|
+
'vid' => $node->jsdoc_disambiguation
|
1220
|
+
);
|
1221
|
+
}
|
1222
|
+
db_query("UPDATE {jsdoc_variables} SET resource_vid = %d, resource_nid = %d, private = %d, private_parent = %d WHERE vid = %d", $node->jsdoc_disambiguation->vid, $node->jsdoc_disambiguation->nid, $node->jsdoc_private, $node->jsdoc_private_parent, $node->vid);
|
1223
|
+
}
|
1224
|
+
}
|
1225
|
+
|
1226
|
+
/**
|
1227
|
+
* Implementation of hook_delete
|
1228
|
+
*/
|
1229
|
+
function jsdoc_variable_delete(&$node) {
|
1230
|
+
if (function_exists('search_wipe')) {
|
1231
|
+
search_wipe($node->nid, 'jsdoc_' . jsdoc_get_version($node)->title);
|
1232
|
+
}
|
1233
|
+
db_query("DELETE FROM {jsdoc_variables} WHERE nid = %d", $node->nid);
|
1234
|
+
db_query("DELETE FROM {jsdoc_variable_hierarchy} WHERE nid = %d OR parent_nid = %d", $node->nid, $node->nid);
|
1235
|
+
$query = db_query("SELECT nid FROM {node} WHERE type = 'jsdoc_object' AND title = '%s'", $node->title);
|
1236
|
+
while ($object = db_fetch_object($query)) {
|
1237
|
+
node_delete($object->nid);
|
1238
|
+
}
|
1239
|
+
}
|
1240
|
+
|
1241
|
+
/**
|
1242
|
+
* Implementation of hook_access().
|
1243
|
+
*/
|
1244
|
+
function jsdoc_resource_access($op, $node) {
|
1245
|
+
return jsdoc_object_access($op, $node);
|
1246
|
+
}
|
1247
|
+
|
1248
|
+
/**
|
1249
|
+
* Implementation of hook_form().
|
1250
|
+
*/
|
1251
|
+
function jsdoc_resource_form(&$node, &$param) {
|
1252
|
+
$type = node_get_types('type', $node);
|
1253
|
+
$form = array(
|
1254
|
+
'#redirect' => $node->jsdoc_url
|
1255
|
+
);
|
1256
|
+
|
1257
|
+
$form['title'] = array(
|
1258
|
+
'#type' => 'item',
|
1259
|
+
'#title' => t('Resource Name'),
|
1260
|
+
'#value' => $node->title,
|
1261
|
+
'#weight' => -5
|
1262
|
+
);
|
1263
|
+
|
1264
|
+
$form['teaser'] = array(
|
1265
|
+
'#type' => 'textfield',
|
1266
|
+
'#title' => t('Summary'),
|
1267
|
+
'#required' => TRUE,
|
1268
|
+
'#default_value' => $node->teaser,
|
1269
|
+
'#weight' => -4
|
1270
|
+
);
|
1271
|
+
|
1272
|
+
$form['body_filter']['#weight'] = -6;
|
1273
|
+
$form['body_filter']['body'] = array(
|
1274
|
+
'#type' => 'textarea',
|
1275
|
+
'#title' => t('Description'),
|
1276
|
+
'#default_value' => $node->body,
|
1277
|
+
'#required' => FALSE
|
1278
|
+
);
|
1279
|
+
$form['body_filter']['filter'] = filter_form($node->format);
|
1280
|
+
|
1281
|
+
return $form;
|
1282
|
+
}
|
1283
|
+
|
1284
|
+
/**
|
1285
|
+
* Implementation of hook_resource().
|
1286
|
+
*/
|
1287
|
+
function jsdoc_resource_insert($node) {
|
1288
|
+
db_query("INSERT INTO {jsdoc_resources} (vid, nid, version) VALUES (%d, %d, %d)", $node->vid, $node->nid, jsdoc_get_version($node)->nid);
|
1289
|
+
}
|
1290
|
+
|
1291
|
+
/**
|
1292
|
+
* Implementation of hook_update().
|
1293
|
+
*/
|
1294
|
+
function jsdoc_resource_update($node) {
|
1295
|
+
if ($node->revision) {
|
1296
|
+
db_query("UPDATE {jsdoc_resources} SET used = -1 WHERE vid = %d", $node->old_vid);
|
1297
|
+
db_query("INSERT INTO {jsdoc_resources} SELECT %d, nid, %d, 1, 0 FROM {jsdoc_resources} WHERE vid = %d", $node->vid, jsdoc_get_version($node)->nid, $node->old_vid);
|
1298
|
+
}
|
1299
|
+
|
1300
|
+
db_query("UPDATE {jsdoc_resources} SET version = '%s' WHERE vid = %d", jsdoc_get_version($node)->nid, $node->vid);
|
1301
|
+
}
|
1302
|
+
|
1303
|
+
/**
|
1304
|
+
* Implementation of hook_delete
|
1305
|
+
*/
|
1306
|
+
function jsdoc_resource_delete(&$node) {
|
1307
|
+
db_query("DELETE FROM {jsdoc_resources} WHERE vid = %d", $node->vid);
|
1308
|
+
db_query("DELETE FROM {jsdoc_resource_hierarchy} WHERE vid = %d OR parent_vid = %d", $node->vid, $node->vid);
|
1309
|
+
db_query("DELETE FROM {jsdoc_objects} WHERE resource_vid = %d", $node->vid);
|
1310
|
+
db_query("DELETE FROM {jsdoc_objects} WHERE provide_vid = %d", $node->vid);
|
1311
|
+
}
|
1312
|
+
|
1313
|
+
/**
|
1314
|
+
* Implementation of hook_insert().
|
1315
|
+
*/
|
1316
|
+
function jsdoc_project_insert($node) {
|
1317
|
+
_jsdoc_version_get_or_create('HEAD', $node);
|
1318
|
+
}
|
1319
|
+
|
1320
|
+
/**
|
1321
|
+
* Implementation of hook_load().
|
1322
|
+
*/
|
1323
|
+
function jsdoc_project_load($node) {
|
1324
|
+
$additions = (object)array(
|
1325
|
+
'jsdoc_versions' => array()
|
1326
|
+
);
|
1327
|
+
$query = db_query("SELECT nid AS jsdoc_version FROM {jsdoc_versions} WHERE project = %d ORDER BY nid DESC", $node->nid);
|
1328
|
+
while ($addition = db_fetch_object($query)) {
|
1329
|
+
if (empty($additions->jsdoc_versions)) {
|
1330
|
+
$additions->jsdoc_version = $addition->jsdoc_version;
|
1331
|
+
}
|
1332
|
+
$additions->jsdoc_versions[] = $addition->jsdoc_version;
|
1333
|
+
}
|
1334
|
+
|
1335
|
+
return $additions;
|
1336
|
+
}
|
1337
|
+
|
1338
|
+
/**
|
1339
|
+
* Implementation of hook_load().
|
1340
|
+
*/
|
1341
|
+
function jsdoc_version_load($node) {
|
1342
|
+
return db_fetch_object(db_query("SELECT project AS jsdoc_project FROM {jsdoc_versions} WHERE nid = %d", $node->nid));
|
1343
|
+
}
|
1344
|
+
|
1345
|
+
// Public Functions to Load Data by Type
|
1346
|
+
// =====================================
|
1347
|
+
|
1348
|
+
function jsdoc_get_project(&$node) {
|
1349
|
+
if (isset($node->jsdoc_project)) {
|
1350
|
+
if (is_numeric($node->jsdoc_project)) {
|
1351
|
+
$node->jsdoc_project = _jsdoc_node_load($node->jsdoc_project);
|
1352
|
+
}
|
1353
|
+
return $node->jsdoc_project;
|
1354
|
+
}
|
1355
|
+
if (isset($node->jsdoc_project_name)) {
|
1356
|
+
return _jsdoc_project_get_or_create($node->jsdoc_project_name);
|
1357
|
+
}
|
1358
|
+
if (isset($node->jsdoc_version)) {
|
1359
|
+
$version = jsdoc_get_version($node);
|
1360
|
+
$node->jsdoc_project = jsdoc_get_project($version);
|
1361
|
+
return $node->jsdoc_project;
|
1362
|
+
}
|
1363
|
+
}
|
1364
|
+
|
1365
|
+
function jsdoc_get_version(&$node) {
|
1366
|
+
if (isset($node->jsdoc_version)) {
|
1367
|
+
if (is_numeric($node->jsdoc_version)) {
|
1368
|
+
$node->jsdoc_version = _jsdoc_node_load($node->jsdoc_version);
|
1369
|
+
}
|
1370
|
+
return $node->jsdoc_version;
|
1371
|
+
}
|
1372
|
+
if ($node->type == 'jsdoc_project') {
|
1373
|
+
$node->jsdoc_version = _jsdoc_version_get_or_create('HEAD', $node);
|
1374
|
+
return $node->jsdoc_version;
|
1375
|
+
}
|
1376
|
+
elseif (isset($node->jsdoc_project_name)) {
|
1377
|
+
$project = _jsdoc_project_get_or_create($node->jsdoc_project_name);
|
1378
|
+
return $node->jsdoc_version = _jsdoc_version_get_or_create('HEAD', $project);
|
1379
|
+
}
|
1380
|
+
}
|
1381
|
+
|
1382
|
+
function jsdoc_get_return_summary(&$node) {
|
1383
|
+
if (isset($node->jsdoc_return_summary_formatted)) {
|
1384
|
+
return $node->jsdoc_return_summary_formatted;
|
1385
|
+
}
|
1386
|
+
|
1387
|
+
$object = jsdoc_get_variable_object($node);
|
1388
|
+
if ($object->type == 'jsdoc_variable') {
|
1389
|
+
$summary = db_result(db_query("SELECT jo.return_summary FROM {jsdoc_objects} jo JOIN {node_revisions} n ON (n.vid = jo.vid) WHERE n.title = '%s' AND BINARY n.title = '%s' AND jo.summary != '' LIMIT 1", $object->title, $object->title));
|
1390
|
+
$node->jsdoc_return_summary = $object->jsdoc_return_summary = $summary;
|
1391
|
+
return ($node->jsdoc_return_summary = $object->jsdoc_return_summary = $summary);
|
1392
|
+
}
|
1393
|
+
|
1394
|
+
return ($node->jsdoc_return_summary_formatted = $object->jsdoc_return_summary_formatted = trim(preg_replace('%(^<p>|</p>$)%', '', check_markup(str_replace("\n", ' ', $object->jsdoc_return_summary), variable_get('jsdoc_input_format', 1), FALSE))));
|
1395
|
+
}
|
1396
|
+
|
1397
|
+
function jsdoc_get_return_types(&$node) {
|
1398
|
+
if (isset($node->jsdoc_return_types)) {
|
1399
|
+
return $node->jsdoc_return_types;
|
1400
|
+
}
|
1401
|
+
|
1402
|
+
$types = array();
|
1403
|
+
|
1404
|
+
$object = jsdoc_get_variable_object($node);
|
1405
|
+
if ($object->type == 'jsdoc_variable') {
|
1406
|
+
$query = db_query("SELECT jo.returns FROM {jsdoc_objects} jo JOIN {node_revisions} n ON (n.vid = jo.vid) WHERE n.title = '%s' AND BINARY n.title = '%s' AND jo.returns != '' GROUP BY jo.returns", $object->title, $object->title);
|
1407
|
+
while ($result = db_fetch_object($query)) {
|
1408
|
+
$types[] = $result->returns;
|
1409
|
+
}
|
1410
|
+
}
|
1411
|
+
elseif ($object->type == 'jsdoc_object') {
|
1412
|
+
foreach (preg_split('%\s*\|+\s*%', $object->jsdoc_returns) as $type) {
|
1413
|
+
if ($type) {
|
1414
|
+
$types[] = $type;
|
1415
|
+
}
|
1416
|
+
}
|
1417
|
+
}
|
1418
|
+
|
1419
|
+
return ($node->jsdoc_return_types = $object->jsdoc_return_types = $types);
|
1420
|
+
}
|
1421
|
+
|
1422
|
+
function jsdoc_get_parameters(&$node) {
|
1423
|
+
if (isset($node->jsdoc_parameters)) {
|
1424
|
+
return $node->jsdoc_parameters;
|
1425
|
+
}
|
1426
|
+
|
1427
|
+
if (!jsdoc_is_function($node)) {
|
1428
|
+
return array();
|
1429
|
+
}
|
1430
|
+
|
1431
|
+
$object = jsdoc_get_variable_object($node);
|
1432
|
+
$object->jsdoc_parameters = array();
|
1433
|
+
$parameters = array();
|
1434
|
+
if ($object->type == 'jsdoc_variable') {
|
1435
|
+
$query = db_query("SELECT n.vid, jp.name, jp.type, jp.summary, jp.optional, jp.repeating FROM {jsdoc_parameters} jp JOIN {jsdoc_objects} jo ON (jo.vid = jp.vid) JOIN {node} n ON (n.vid = jo.vid) WHERE n.title = '%s' AND BINARY n.title = '%s' AND jo.used != -1 AND jo.version = %d ORDER BY jp.vid, jp.weight", $object->title, $object->title, jsdoc_get_version($object)->nid);
|
1436
|
+
while ($parameter = db_fetch_array($query)) {
|
1437
|
+
$parameters[$parameter['vid']][$parameter['name']] = $parameter;
|
1438
|
+
}
|
1439
|
+
|
1440
|
+
$similar = true;
|
1441
|
+
$last = array_pop($parameters);
|
1442
|
+
foreach ($parameters as $parameter) {
|
1443
|
+
if (array_diff(array_keys($last), array_keys($parameter))) {
|
1444
|
+
$similar = false;
|
1445
|
+
}
|
1446
|
+
}
|
1447
|
+
|
1448
|
+
if ($similar) {
|
1449
|
+
$best = $last;
|
1450
|
+
$parameters[] = $last;
|
1451
|
+
foreach ($parameters as $parameter) {
|
1452
|
+
if (strlen($parameter['summary']) > strlen($best['summary'])) {
|
1453
|
+
$best['summary'] = $parameter['summary'];
|
1454
|
+
}
|
1455
|
+
if (strlen($parameter['type']) > strlen($best['type'])) {
|
1456
|
+
$best['type'] = $parameter['type'];
|
1457
|
+
$best['optional'] = $parameter['optional'];
|
1458
|
+
$best['repeating'] = $parameter['repeating'];
|
1459
|
+
}
|
1460
|
+
}
|
1461
|
+
$parameters = array();
|
1462
|
+
if($best){
|
1463
|
+
foreach ($best as $parameter) {
|
1464
|
+
unset($parameter['vid']);
|
1465
|
+
$parameters[] = $parameter;
|
1466
|
+
}
|
1467
|
+
}
|
1468
|
+
}
|
1469
|
+
else {
|
1470
|
+
$parameters = array();
|
1471
|
+
}
|
1472
|
+
}
|
1473
|
+
else {
|
1474
|
+
$query = db_query("SELECT name, type, summary, optional, repeating FROM {jsdoc_parameters} WHERE vid = %d ORDER BY weight", $object->vid);
|
1475
|
+
while ($parameter = db_fetch_array($query)) {
|
1476
|
+
$parameters[] = $parameter;
|
1477
|
+
}
|
1478
|
+
}
|
1479
|
+
|
1480
|
+
foreach ($parameters as $parameter) {
|
1481
|
+
$parameter['summary'] = trim(preg_replace('%(^<p>|</p>$)%', '', check_markup(str_replace("\n", ' ', $parameter['summary']), variable_get('jsdoc_input_format', 1), FALSE)));
|
1482
|
+
$parameter['optional'] = round($parameter['optional']);
|
1483
|
+
$parameter['repeating'] = round($parameter['repeating']);
|
1484
|
+
$parameter['jsdoc_formatted'] = _jsdoc_format_type($parameter['type'], $parameter['optional'], $parameter['repeating']);
|
1485
|
+
$object->jsdoc_parameters[$parameter['name']] = $parameter;
|
1486
|
+
}
|
1487
|
+
|
1488
|
+
return $object->jsdoc_parameters;
|
1489
|
+
}
|
1490
|
+
|
1491
|
+
function jsdoc_get_examples(&$node, $markedup=false) {
|
1492
|
+
if (!isset($node->jsdoc_examples)) {
|
1493
|
+
$node->jsdoc_examples = array();
|
1494
|
+
$node->jsdoc_markedup_examples = array();
|
1495
|
+
$query = db_query("SELECT example, markedup FROM {jsdoc_examples} WHERE vid = %d ORDER BY weight", $node->vid);
|
1496
|
+
while ($example = db_fetch_object($query)) {
|
1497
|
+
$node->jsdoc_examples[] = $example->example;
|
1498
|
+
$node->jsdoc_markedup_examples[] = $example->markedup;
|
1499
|
+
}
|
1500
|
+
}
|
1501
|
+
|
1502
|
+
return ($markedup) ? $node->jsdoc_markedup_examples : $node->jsdoc_examples;
|
1503
|
+
}
|
1504
|
+
|
1505
|
+
function jsdoc_get_parent_mixins(&$node) {
|
1506
|
+
return jsdoc_get_parents($node)->mixin;
|
1507
|
+
}
|
1508
|
+
|
1509
|
+
function jsdoc_get_parent_prototype(&$node) {
|
1510
|
+
$parents = jsdoc_get_parents($node);
|
1511
|
+
if ($parents->chain && $parents->chain['prototype'] && count($parents->chain['prototype'])) {
|
1512
|
+
return $parents->chain['prototype'][0];
|
1513
|
+
}
|
1514
|
+
}
|
1515
|
+
|
1516
|
+
/**
|
1517
|
+
*
|
1518
|
+
*/
|
1519
|
+
function jsdoc_get_parents(&$node) {
|
1520
|
+
if (isset($node->jsdoc_parents)) {
|
1521
|
+
return $node->jsdoc_parents;
|
1522
|
+
}
|
1523
|
+
|
1524
|
+
$node->jsdoc_parents = array();
|
1525
|
+
|
1526
|
+
if ($node->type == "jsdoc_object" || ($node->type == "jsdoc_variable" && jsdoc_get_variable_object($node))) {
|
1527
|
+
if ($node->type == "jsdoc_variable") {
|
1528
|
+
$object = jsdoc_get_variable_object($node);
|
1529
|
+
}
|
1530
|
+
else {
|
1531
|
+
$object = $node;
|
1532
|
+
}
|
1533
|
+
$object->jsdoc_parents = array();
|
1534
|
+
$query = db_query("SELECT n.title, j.type FROM {jsdoc_variable_hierarchy} j JOIN {node_revisions} n ON (n.vid = j.parent_vid) WHERE j.type IN ('normal', 'prototype', 'instance') AND j.vid = %d GROUP BY BINARY n.title", $object->vid);
|
1535
|
+
while ($parent = db_fetch_object($query)) {
|
1536
|
+
$object->jsdoc_parents['all'][] = $parent->title;
|
1537
|
+
$object->jsdoc_parents[$parent->type][] = $parent->title;
|
1538
|
+
natsort($object->jsdoc_parents[$parent->type]);
|
1539
|
+
}
|
1540
|
+
|
1541
|
+
$query = db_query("SELECT j.type, j.subtype, nr.title AS parent FROM {jsdoc_variable_hierarchy} j JOIN {node_revisions} nr ON (nr.vid = j.parent_vid) WHERE j.vid = %d AND j.type IN ('chain', 'mixin')", $object->vid);
|
1542
|
+
while ($chain = db_fetch_object($query)) {
|
1543
|
+
if (!$chain->subtype) {
|
1544
|
+
$chain->subtype = 'normal';
|
1545
|
+
}
|
1546
|
+
$detail->jsdoc_parents['all'][] = $chain->parent;
|
1547
|
+
$object->jsdoc_parents[$chain->type][$chain->subtype][] = $chain->parent;
|
1548
|
+
natsort($object->jsdoc_parents[$chain->type][$chain->subtype]);
|
1549
|
+
}
|
1550
|
+
|
1551
|
+
if ($object->jsdoc_parents['all']) {
|
1552
|
+
$object->jsdoc_parents['all'] = array_unique($object->jsdoc_parents['all']);
|
1553
|
+
natcasesort($object->jsdoc_parents['all']);
|
1554
|
+
}
|
1555
|
+
else {
|
1556
|
+
$object->jsdoc_parents['all'] = array();
|
1557
|
+
}
|
1558
|
+
$node->jsdoc_parents = $object->jsdoc_parents;
|
1559
|
+
}
|
1560
|
+
elseif ($node->type == 'jsdoc_variable') {
|
1561
|
+
$node->jsdoc_parents = array();
|
1562
|
+
if (jsdoc_get_variable_object($node)) {
|
1563
|
+
$query = db_query("SELECT %d AS vid", jsdoc_get_variable_object($node)->vid);
|
1564
|
+
}
|
1565
|
+
else {
|
1566
|
+
// Select all objects with this as a name
|
1567
|
+
$query = db_query("SELECT MAX(n.vid) AS vid FROM {jsdoc_objects} j JOIN {node_revisions} n ON (n.vid = j.vid) WHERE j.version = %d AND n.title = '%s' AND BINARY n.title = '%s' GROUP BY n.nid", jsdoc_get_version($node)->nid, $node->title, $node->title);
|
1568
|
+
}
|
1569
|
+
$vids = array(-1);
|
1570
|
+
while ($child = db_fetch_object($query)) {
|
1571
|
+
$vids[] = $child->vid;
|
1572
|
+
}
|
1573
|
+
$query = db_query("SELECT n.title FROM {jsdoc_variable_hierarchy} j JOIN {node_revisions} n ON (n.vid = j.parent_vid) WHERE j.vid IN (%s) GROUP BY n.nid ORDER BY n.vid DESC, n.title", implode(", ", array_unique($vids)));
|
1574
|
+
while ($parent = db_fetch_object($query)) {
|
1575
|
+
$node->jsdoc_parents['all'][] = $parent->title;
|
1576
|
+
}
|
1577
|
+
}
|
1578
|
+
|
1579
|
+
$node->jsdoc_parents = (object)$node->jsdoc_parents;
|
1580
|
+
return $node->jsdoc_parents;
|
1581
|
+
}
|
1582
|
+
|
1583
|
+
function jsdoc_is_initialized(&$node) {
|
1584
|
+
if (isset($node->jsdoc_initialized)) {
|
1585
|
+
return $node->jsdoc_initialized;
|
1586
|
+
}
|
1587
|
+
$object = jsdoc_get_variable_object($node);
|
1588
|
+
if ($object) {
|
1589
|
+
return $object->jsdoc_initialized;
|
1590
|
+
}
|
1591
|
+
return false;
|
1592
|
+
}
|
1593
|
+
|
1594
|
+
function jsdoc_get_classlike(&$node) {
|
1595
|
+
if (isset($node->jsdoc_classlike)) {
|
1596
|
+
return $node->jsdoc_classlike;
|
1597
|
+
}
|
1598
|
+
|
1599
|
+
if ($node->type == 'jsdoc_variable') {
|
1600
|
+
$classlikes = array();
|
1601
|
+
$query = db_query("SELECT j.classlike FROM {jsdoc_objects} j JOIN {node_revisions} nr ON (nr.vid = j.vid) WHERE nr.title = '%s' AND BINARY nr.title = '%s' AND j.version = %d", $node->title, $node->title, jsdoc_get_version($node)->nid);
|
1602
|
+
while ($result = db_fetch_object($query)) {
|
1603
|
+
$classlikes[] = $result->classlike;
|
1604
|
+
}
|
1605
|
+
$classlikes = array_unique($classlikes);
|
1606
|
+
if (count($classlikes) == 1) {
|
1607
|
+
return $node->jsdoc_classlike = $classlikes[0];
|
1608
|
+
}
|
1609
|
+
}
|
1610
|
+
|
1611
|
+
return $node->jsdoc_classlike = false;
|
1612
|
+
}
|
1613
|
+
|
1614
|
+
function jsdoc_get_teaser(&$node) {
|
1615
|
+
if (isset($node->formatted_type)) {
|
1616
|
+
return $node->formatted_type;
|
1617
|
+
}
|
1618
|
+
|
1619
|
+
if ($node->type == 'jsdoc_variable' && !$node->teaser) {
|
1620
|
+
$node->teaser = _jsdoc_resolve_variable($node)->teaser;
|
1621
|
+
}
|
1622
|
+
|
1623
|
+
return ($node->formatted_type = trim(preg_replace('%(^<p>|</p>$)%', '', check_markup(str_replace("\n", ' ', $node->teaser), variable_get('jsdoc_input_format', 1), FALSE))));
|
1624
|
+
}
|
1625
|
+
|
1626
|
+
function jsdoc_get_body(&$node) {
|
1627
|
+
if ($node->type == 'jsdoc_variable' && !$node->body) {
|
1628
|
+
return $node->body = _jsdoc_resolve_variable($node)->body;
|
1629
|
+
}
|
1630
|
+
|
1631
|
+
return $node->body;
|
1632
|
+
}
|
1633
|
+
|
1634
|
+
function jsdoc_get_format(&$node) {
|
1635
|
+
if ($node->type == 'jsdoc_variable' && !$node->format) {
|
1636
|
+
return $node->format = _jsdoc_resolve_variable($node)->format;
|
1637
|
+
}
|
1638
|
+
|
1639
|
+
return $node->format;
|
1640
|
+
}
|
1641
|
+
|
1642
|
+
function jsdoc_get_full_url(&$node) {
|
1643
|
+
if ($node->type == 'jsdoc_variable' && !$node->jsdoc_full_url) {
|
1644
|
+
return $node->jsdoc_full_url = _jsdoc_resolve_variable($node)->full_url;
|
1645
|
+
}
|
1646
|
+
|
1647
|
+
return $node->jsdoc_full_url;
|
1648
|
+
}
|
1649
|
+
|
1650
|
+
function jsdoc_get_variable_object(&$node) {
|
1651
|
+
if ($node->type == 'jsdoc_variable') {
|
1652
|
+
if ($object = _jsdoc_resolve_variable($node)->object) {
|
1653
|
+
return $object;
|
1654
|
+
}
|
1655
|
+
else {
|
1656
|
+
return $node;
|
1657
|
+
}
|
1658
|
+
}
|
1659
|
+
|
1660
|
+
return $node;
|
1661
|
+
}
|
1662
|
+
|
1663
|
+
function jsdoc_is_function(&$node) {
|
1664
|
+
return (jsdoc_get_type($node) == 'Function' || jsdoc_get_type($node) == 'Constructor');
|
1665
|
+
}
|
1666
|
+
|
1667
|
+
function jsdoc_is_private(&$node) {
|
1668
|
+
if ($node->type == 'jsdoc_object' || isset($node->jsdoc_private)) {
|
1669
|
+
return $node->jsdoc_private;
|
1670
|
+
}
|
1671
|
+
|
1672
|
+
$query = db_query("SELECT jo.private, jo.private_parent FROM {jsdoc_objects} jo JOIN {node} n ON (n.vid = jo.vid) WHERE n.title = '%s' AND BINARY n.title = '%s' AND jo.version = %d GROUP BY jo.private, jo.private_parent", $node->title, $node->title, jsdoc_get_version($node)->nid);
|
1673
|
+
if (db_num_rows($query) == 1) {
|
1674
|
+
$result = db_fetch_object($query);
|
1675
|
+
$node->jsdoc_private_parent = $result->private_parent;
|
1676
|
+
return $node->jsdoc_private = $result->private;
|
1677
|
+
}
|
1678
|
+
}
|
1679
|
+
|
1680
|
+
function jsdoc_has_private_parent(&$node) {
|
1681
|
+
if ($node->type != 'jsdoc_object' && !isset($node->jsdoc_private_parent)) {
|
1682
|
+
jsdoc_is_private($node);
|
1683
|
+
}
|
1684
|
+
return $node->jsdoc_private_parent;
|
1685
|
+
}
|
1686
|
+
|
1687
|
+
function jsdoc_get_type(&$node) {
|
1688
|
+
if (isset($node->jsdoc_type)) {
|
1689
|
+
return $node->jsdoc_type;
|
1690
|
+
}
|
1691
|
+
|
1692
|
+
$type = '';
|
1693
|
+
|
1694
|
+
if ($node->type == 'jsdoc_variable') {
|
1695
|
+
$types = array();
|
1696
|
+
$query = db_query("SELECT j.type FROM {jsdoc_objects} j JOIN {node_revisions} nr ON (nr.vid = j.vid) WHERE nr.title = '%s' AND BINARY nr.title = '%s' AND j.version = %d", $node->title, $node->title, jsdoc_get_version($node)->nid);
|
1697
|
+
while ($result = db_fetch_object($query)) {
|
1698
|
+
if ($result->type) {
|
1699
|
+
$types[] = $result->type;
|
1700
|
+
}
|
1701
|
+
}
|
1702
|
+
$types = array_unique($types);
|
1703
|
+
if (count($types)) {
|
1704
|
+
$type = implode('|', $types);
|
1705
|
+
}
|
1706
|
+
}
|
1707
|
+
elseif ($node->type == 'jsdoc_object') {
|
1708
|
+
$type = $node->jsdoc_raw_type;
|
1709
|
+
unset($node->jsdoc_raw_type);
|
1710
|
+
}
|
1711
|
+
|
1712
|
+
if ($type == 'Function') {
|
1713
|
+
if (jsdoc_get_classlike($node)) {
|
1714
|
+
$type = 'Constructor';
|
1715
|
+
}
|
1716
|
+
elseif (count(jsdoc_get_child_instances($node, true)) || count(jsdoc_get_child_prototypes($node, true))) {
|
1717
|
+
$type = 'Constructor';
|
1718
|
+
}
|
1719
|
+
}
|
1720
|
+
|
1721
|
+
return ($node->jsdoc_type = $type);
|
1722
|
+
}
|
1723
|
+
|
1724
|
+
function jsdoc_get_resource(&$node) {
|
1725
|
+
if (is_numeric($node->jsdoc_resource)) {
|
1726
|
+
$node->jsdoc_resource = _jsdoc_node_load($node->jsdoc_resource, $node->jsdoc_resource_vid);
|
1727
|
+
}
|
1728
|
+
|
1729
|
+
return $node->jsdoc_resource;
|
1730
|
+
}
|
1731
|
+
|
1732
|
+
function jsdoc_get_source($node, $depth=0) {
|
1733
|
+
if ($depth++ < 2 && $node->type == 'jsdoc_object' && empty($node->jsdoc_source)) {
|
1734
|
+
if ($constructor = jsdoc_resolve_constructor($node, true, $depth)) {
|
1735
|
+
$node->jsdoc_source = $constructor->source;
|
1736
|
+
}
|
1737
|
+
}
|
1738
|
+
return $node->jsdoc_source;
|
1739
|
+
}
|
1740
|
+
|
1741
|
+
function jsdoc_get_provide(&$node) {
|
1742
|
+
$object = $node;
|
1743
|
+
if ($node->type == 'jsdoc_variable') {
|
1744
|
+
$object = jsdoc_get_variable_object($node);
|
1745
|
+
}
|
1746
|
+
if (is_numeric($object->jsdoc_provide)) {
|
1747
|
+
$object->jsdoc_provide = _jsdoc_node_load($object->jsdoc_provide, $object->jsdoc_provide_vid);
|
1748
|
+
}
|
1749
|
+
return $object->jsdoc_provide;
|
1750
|
+
}
|
1751
|
+
|
1752
|
+
function jsdoc_get_child_instances(&$node) {
|
1753
|
+
return jsdoc_get_children($node)->instances;
|
1754
|
+
}
|
1755
|
+
|
1756
|
+
function jsdoc_get_child_prototypes(&$node) {
|
1757
|
+
return jsdoc_get_children($node)->prototypes;
|
1758
|
+
}
|
1759
|
+
|
1760
|
+
function jsdoc_get_child_variables(&$node) {
|
1761
|
+
return jsdoc_get_children($node)->variables;
|
1762
|
+
}
|
1763
|
+
|
1764
|
+
function jsdoc_get_child_chains(&$node) {
|
1765
|
+
return jsdoc_get_children($node)->chains;
|
1766
|
+
}
|
1767
|
+
|
1768
|
+
function jsdoc_get_child_mixins(&$node) {
|
1769
|
+
return jsdoc_get_children($node)->mixins;
|
1770
|
+
}
|
1771
|
+
|
1772
|
+
function jsdoc_is_namespace(&$node) {
|
1773
|
+
if (isset($node->jsdoc_namespace)) {
|
1774
|
+
return $node->jsdoc_namespace;
|
1775
|
+
}
|
1776
|
+
$namespace = false;
|
1777
|
+
|
1778
|
+
if (jsdoc_get_type($node) == 'Object' || jsdoc_is_initialized($node)) {
|
1779
|
+
$query = db_query("SELECT 1 FROM node n JOIN jsdoc_objects jo ON (jo.vid = n.vid) WHERE jo.type = 'Function' AND n.title LIKE '%s.%%' AND n.title NOT LIKE '%.toString' LIMIT 1", $node->title);
|
1780
|
+
if (db_num_rows($query)) {
|
1781
|
+
$namespace = true;
|
1782
|
+
}
|
1783
|
+
}
|
1784
|
+
return ($node->jsdoc_namespace = $namespace);
|
1785
|
+
}
|
1786
|
+
|
1787
|
+
function jsdoc_get_children(&$node) {
|
1788
|
+
if (isset($node->jsdoc_variables)) {
|
1789
|
+
return (object)array(
|
1790
|
+
'instances' => $node->jsdoc_instances,
|
1791
|
+
'prototypes' => $node->jsdoc_prototypes,
|
1792
|
+
'variables' => $node->jsdoc_variables,
|
1793
|
+
'chains' => $node->jsdoc_chains,
|
1794
|
+
'mixins' => $node->jsdoc_mixins
|
1795
|
+
);
|
1796
|
+
}
|
1797
|
+
|
1798
|
+
$node->jsdoc_instances = array();
|
1799
|
+
$node->jsdoc_prototypes = array();
|
1800
|
+
$node->jsdoc_variables = array();
|
1801
|
+
$node->jsdoc_chains = array(
|
1802
|
+
'prototype' => array(),
|
1803
|
+
'call' => array()
|
1804
|
+
);
|
1805
|
+
$node->jsdoc_mixins = array(
|
1806
|
+
'normal' => array(),
|
1807
|
+
'prototype' => array()
|
1808
|
+
);
|
1809
|
+
|
1810
|
+
$version_nids = array(-1);
|
1811
|
+
$query = db_query("SELECT nid FROM {node} WHERE type = 'jsdoc_version' AND title = '%s'", jsdoc_get_version($node)->title);
|
1812
|
+
while ($result = db_fetch_object($query)) {
|
1813
|
+
$version_nids[] = $result->nid;
|
1814
|
+
}
|
1815
|
+
|
1816
|
+
if ($node->type == "jsdoc_variable") {
|
1817
|
+
// Find all objects joined normally to this object,
|
1818
|
+
$query = db_query("SELECT n.title FROM {jsdoc_variable_hierarchy} j JOIN {jsdoc_objects} jo ON (jo.vid = j.vid) JOIN {node_revisions} n ON (n.vid = j.vid) WHERE j.parent_vid = %d AND j.type = 'normal' AND jo.version IN (%s) AND jo.used != -1 GROUP BY BINARY n.title ORDER BY n.title", $node->vid, implode(',', $version_nids));
|
1819
|
+
$node->jsdoc_variables = array();
|
1820
|
+
while ($object = db_fetch_object($query)) {
|
1821
|
+
$object = jsdoc_object_node_load($object->title, jsdoc_get_project($node), jsdoc_get_version($node));
|
1822
|
+
$node->jsdoc_variables[$object->title] = $object;
|
1823
|
+
}
|
1824
|
+
uksort($node->jsdoc_variables, 'strnatcasecmp');
|
1825
|
+
}
|
1826
|
+
elseif ($node->type == "jsdoc_object") {
|
1827
|
+
$query = db_query("SELECT j.type, j.subtype, nr.nid, nr.vid FROM {jsdoc_variable_hierarchy} j JOIN {node_revisions} nr ON (nr.vid = j.vid) JOIN {node_revisions} nr2 ON (nr2.vid = j.parent_vid) JOIN {jsdoc_objects} jo ON (jo.vid = nr.vid) WHERE jo.used != -1 AND nr2.title = '%s' AND BINARY nr2.title = '%s' AND j.version IN (%s) GROUP BY nr.nid, j.type, j.subtype", $node->title, $node->title, implode(',', $version_nids));
|
1828
|
+
while ($join = db_fetch_object($query)) {
|
1829
|
+
$object = _jsdoc_node_load($join->nid, $join->vid);
|
1830
|
+
if (!$object->jsdoc_used) {
|
1831
|
+
continue;
|
1832
|
+
}
|
1833
|
+
if ($join->type == 'instance') {
|
1834
|
+
$node->jsdoc_instances[$object->title] = $object;
|
1835
|
+
}
|
1836
|
+
elseif ($join->type == 'prototype') {
|
1837
|
+
$node->jsdoc_prototypes[$object->title] = $object;
|
1838
|
+
}
|
1839
|
+
elseif ($join->type == 'normal') {
|
1840
|
+
$node->jsdoc_variables[$object->title] = $object;
|
1841
|
+
}
|
1842
|
+
elseif ($join->type == 'chain') {
|
1843
|
+
$node->jsdoc_chains[$join->subtype][$object->title] = $object;
|
1844
|
+
}
|
1845
|
+
elseif ($join->type == 'mixin') {
|
1846
|
+
if (!$join->subtype) {
|
1847
|
+
$join->subtype = 'normal';
|
1848
|
+
}
|
1849
|
+
$node->jsdoc_mixins[$join->subtype][$object->title] = $object;
|
1850
|
+
}
|
1851
|
+
elseif ($join->type == 'alias') {
|
1852
|
+
$node->jsdoc_aliases = $object;
|
1853
|
+
}
|
1854
|
+
}
|
1855
|
+
uksort($node->jsdoc_instances, 'strnatcasecmp');
|
1856
|
+
uksort($node->jsdoc_prototypes, 'strnatcasecmp');
|
1857
|
+
uksort($node->jsdoc_chains['prototype'], 'strnatcasecmp');
|
1858
|
+
uksort($node->jsdoc_chains['call'], 'strnatcasecmp');
|
1859
|
+
uksort($node->jsdoc_mixins['normal'], 'strnatcasecmp');
|
1860
|
+
uksort($node->jsdoc_mixins['prototype'], 'strnatcasecmp');
|
1861
|
+
}
|
1862
|
+
|
1863
|
+
return jsdoc_get_children($node);
|
1864
|
+
}
|
1865
|
+
|
1866
|
+
function jsdoc_get_query_variables($project){
|
1867
|
+
return db_query("SELECT n.title, n.nid, n.vid, n.type, jo.type AS jsdoc_raw_type, jo.classlike AS jsdoc_classlike, jo.initialized AS jsdoc_initialized FROM {jsdoc_objects} jo JOIN {node} n ON (n.vid = jo.vid) WHERE jo.version = %d AND (n.title = '%s' OR n.title LIKE '%s.%%') AND (jo.type = 'Function' OR jo.type = 'Object' OR (jo.type = 'Function' AND jo.initialized = 1)) GROUP BY BINARY n.title ORDER BY n.title", jsdoc_get_version($project)->nid, $project->title, $project->title);
|
1868
|
+
}
|
1869
|
+
|
1870
|
+
/**
|
1871
|
+
* Implementation of hook_load().
|
1872
|
+
*/
|
1873
|
+
function jsdoc_resource_load($node) {
|
1874
|
+
$additions = db_fetch_object(db_query("SELECT version AS jsdoc_version FROM {jsdoc_resources} WHERE vid = %d", $node->vid));
|
1875
|
+
$version = jsdoc_get_version($node);
|
1876
|
+
$node->jsdoc_version = $additions->jsdoc_version;
|
1877
|
+
return $additions;
|
1878
|
+
}
|
1879
|
+
|
1880
|
+
/**
|
1881
|
+
* Implementation of hook_load().
|
1882
|
+
*/
|
1883
|
+
function jsdoc_variable_load($node) {
|
1884
|
+
// An object might have a "default" disambiguation package.
|
1885
|
+
$additions = db_fetch_object(db_query("SELECT version AS jsdoc_version, resource_nid AS jsdoc_resource, resource_vid AS jsdoc_resource_vid, private AS jsdoc_private FROM {jsdoc_variables} WHERE vid = %d", $node->vid));
|
1886
|
+
$node->jsdoc_version = $additions->jsdoc_version;
|
1887
|
+
$additions->jsdoc_url = 'jsdoc/' . jsdoc_get_project($node)->title . '/' . jsdoc_get_version($node)->title . '/' . $node->title;
|
1888
|
+
|
1889
|
+
return $additions;
|
1890
|
+
}
|
1891
|
+
|
1892
|
+
/**
|
1893
|
+
* Implementation of hook_view().
|
1894
|
+
*/
|
1895
|
+
function jsdoc_project_view($node, $teaser = false, $page = false) {
|
1896
|
+
return jsdoc_resource_view($node, $teaser, $page);
|
1897
|
+
}
|
1898
|
+
|
1899
|
+
/**
|
1900
|
+
* Implementation of hook_view().
|
1901
|
+
*/
|
1902
|
+
function jsdoc_version_view($node, $teaser = false, $page = false) {
|
1903
|
+
return jsdoc_resource_view($node, $teaser, $page);
|
1904
|
+
}
|
1905
|
+
|
1906
|
+
/**
|
1907
|
+
* Implementation of hook_view().
|
1908
|
+
*/
|
1909
|
+
function jsdoc_resource_view($node, $teaser = false, $page = false) {
|
1910
|
+
$node->title = '';
|
1911
|
+
$node->teaser = '';
|
1912
|
+
$node->body = '';
|
1913
|
+
$node = node_prepare($node);
|
1914
|
+
return $node;
|
1915
|
+
}
|
1916
|
+
|
1917
|
+
/**
|
1918
|
+
* Implementation of hook_view().
|
1919
|
+
*/
|
1920
|
+
function jsdoc_variable_view($node, $teaser = false, $page = false) {
|
1921
|
+
return jsdoc_object_view($node, $teaser, $page);
|
1922
|
+
}
|
1923
|
+
/**
|
1924
|
+
* Get the base objects for this project
|
1925
|
+
*
|
1926
|
+
* @param $version
|
1927
|
+
* The release version
|
1928
|
+
*/
|
1929
|
+
function jsdoc_root_objects($version) {
|
1930
|
+
$objects = array();
|
1931
|
+
|
1932
|
+
// Find all "objects" that aren't private and don't have a period in them
|
1933
|
+
$query = db_query("SELECT nr.nid, MAX(nr.vid) AS vid FROM {jsdoc_objects} jo JOIN {node_revisions} nr ON (nr.vid = jo.vid) WHERE nr.title NOT LIKE '%.%' AND nr.title != 'window' AND jo.private = 0 AND jo.version = '%s' GROUP BY nr.nid ORDER BY nr.title", $version);
|
1934
|
+
while ($object = db_fetch_object($query)) {
|
1935
|
+
if (_jsdoc_object_has_child($version, $object)) {
|
1936
|
+
// If we find attached variables, it means this is a root level object
|
1937
|
+
$object = _jsdoc_node_load($object->nid, $object->vid);
|
1938
|
+
$objects[$object->title] = $object;
|
1939
|
+
}
|
1940
|
+
}
|
1941
|
+
|
1942
|
+
return $objects;
|
1943
|
+
}
|
1944
|
+
|
1945
|
+
/**
|
1946
|
+
* Check to see if there are any variables attached directly to this object
|
1947
|
+
*
|
1948
|
+
* @param $version
|
1949
|
+
* The release version
|
1950
|
+
* @param $node
|
1951
|
+
* A node of type jsdoc_object
|
1952
|
+
*/
|
1953
|
+
function _jsdoc_object_has_child($version_nid, $node) {
|
1954
|
+
$query = db_query("SELECT 1 FROM {jsdoc_variable_hierarchy} joh JOIN {jsdoc_resources} jro ON (jro.vid = joh.vid) JOIN {node_revisions} nr ON (nr.vid = joh.vid) WHERE parent = %d AND joh.type = 'normal' AND jro.private = 0 AND jro.version = %d GROUP BY nr.nid", $node->vid, $version_nid);
|
1955
|
+
if (db_num_rows($query)) {
|
1956
|
+
return true;
|
1957
|
+
}
|
1958
|
+
|
1959
|
+
return false;
|
1960
|
+
}
|
1961
|
+
|
1962
|
+
/**
|
1963
|
+
* Path: admin/settings/jsdoc
|
1964
|
+
*/
|
1965
|
+
function jsdoc_admin() {
|
1966
|
+
$form = array();
|
1967
|
+
|
1968
|
+
$form['jsdoc_dir_location'] = array(
|
1969
|
+
'#type' => 'textfield',
|
1970
|
+
'#title' => t('Directory to run your file from'),
|
1971
|
+
'#default_value' => variable_get('jsdoc_dir_location', ''),
|
1972
|
+
'#required' => true
|
1973
|
+
);
|
1974
|
+
|
1975
|
+
$form['jsdoc_file_location'] = array(
|
1976
|
+
'#type' => 'textfield',
|
1977
|
+
'#title' => t('Location of file used to parse your code'),
|
1978
|
+
'#default_value' => variable_get('jsdoc_file_location', ''),
|
1979
|
+
'#required' => true
|
1980
|
+
);
|
1981
|
+
|
1982
|
+
$form['jsdoc_base'] = array(
|
1983
|
+
'#type' => 'textfield',
|
1984
|
+
'#title' => t('This will be used as a base of our functions'),
|
1985
|
+
'#default_value' => variable_get('jsdoc_base', 'jsdoc'),
|
1986
|
+
'#description' => t('Implement hook_get_files() and hook_get_contents($file)'),
|
1987
|
+
'#required' => true
|
1988
|
+
);
|
1989
|
+
|
1990
|
+
$formats = filter_formats();
|
1991
|
+
$options = array();
|
1992
|
+
foreach ($formats as $format) {
|
1993
|
+
$options[$format->format] = $format->name;
|
1994
|
+
}
|
1995
|
+
|
1996
|
+
$form['jsdoc_input_format'] = array(
|
1997
|
+
'#title' => t('Default Input Format'),
|
1998
|
+
'#type' => 'radios',
|
1999
|
+
'#options' => $options,
|
2000
|
+
'#required' => true,
|
2001
|
+
'#default_value' => variable_get('jsdoc_input_format', 1)
|
2002
|
+
);
|
2003
|
+
|
2004
|
+
return system_settings_form($form);
|
2005
|
+
}
|
2006
|
+
|
2007
|
+
/**
|
2008
|
+
* Get list of all projects
|
2009
|
+
*/
|
2010
|
+
function jsdoc_projects() {
|
2011
|
+
$projects = array();
|
2012
|
+
$query = db_query("SELECT nid FROM {node} WHERE type = 'jsdoc_project'");
|
2013
|
+
while ($result = db_fetch_object($query)) {
|
2014
|
+
$projects[] = _jsdoc_node_load($result->nid);
|
2015
|
+
}
|
2016
|
+
return $projects;
|
2017
|
+
}
|
2018
|
+
|
2019
|
+
// Node Load Functions
|
2020
|
+
// ===================
|
2021
|
+
|
2022
|
+
/**
|
2023
|
+
* Custom version of node_load for projects
|
2024
|
+
*/
|
2025
|
+
function jsdoc_project_node_load($project_name) {
|
2026
|
+
static $projects;
|
2027
|
+
if (!$projects) {
|
2028
|
+
$projects = array();
|
2029
|
+
}
|
2030
|
+
if ($projects[$project_name]) {
|
2031
|
+
return $projects[$project_name];
|
2032
|
+
}
|
2033
|
+
|
2034
|
+
if($nid = db_result(db_query("SELECT n.nid FROM {node} n JOIN {jsdoc_versions} j ON (j.project = n.nid) WHERE BINARY n.title = '%s'", $project_name))) {
|
2035
|
+
$projects[$project_name] = _jsdoc_node_load($nid);
|
2036
|
+
return $projects[$project_name];
|
2037
|
+
}
|
2038
|
+
}
|
2039
|
+
|
2040
|
+
/**
|
2041
|
+
* Custom version of node_load for versions
|
2042
|
+
*/
|
2043
|
+
function jsdoc_version_node_load($version_name, $project) {
|
2044
|
+
if (is_numeric($project)) {
|
2045
|
+
$project_nid = $project;
|
2046
|
+
}
|
2047
|
+
elseif (is_string($project)) {
|
2048
|
+
$project_nid = jsdoc_project_node_load($project)->nid;
|
2049
|
+
}
|
2050
|
+
elseif (is_object($project) && $project->nid) {
|
2051
|
+
$project_nid = $project->nid;
|
2052
|
+
}
|
2053
|
+
if ($nid = db_result(db_query("SELECT n.nid FROM {node} n JOIN {jsdoc_versions} j ON (j.nid = n.nid) WHERE n.type = 'jsdoc_version' AND n.title = '%s' AND BINARY n.title = '%s' AND j.project = %d", $version_name, $version_name, $project_nid))) {
|
2054
|
+
return _jsdoc_node_load($nid);
|
2055
|
+
}
|
2056
|
+
}
|
2057
|
+
|
2058
|
+
/**
|
2059
|
+
* Custom version of node_load for resources
|
2060
|
+
*/
|
2061
|
+
function jsdoc_resource_node_load($project, $version, $name) {
|
2062
|
+
if (is_object($project) && $project->nid) {
|
2063
|
+
$project_nid = $project->nid;
|
2064
|
+
}
|
2065
|
+
elseif (is_numeric($project)) {
|
2066
|
+
$project_nid = $project;
|
2067
|
+
}
|
2068
|
+
elseif (is_string($project)) {
|
2069
|
+
$project_nid = jsdoc_project_node_load($project)->nid;
|
2070
|
+
}
|
2071
|
+
|
2072
|
+
if (is_object($version) && $version->nid) {
|
2073
|
+
$version_nid = $version->nid;
|
2074
|
+
}
|
2075
|
+
elseif (is_numeric($version)) {
|
2076
|
+
$version_nid = $version;
|
2077
|
+
}
|
2078
|
+
elseif (is_string($version)) {
|
2079
|
+
$version_nid = jsdoc_version_node_load($version, $project_nid)->nid;
|
2080
|
+
}
|
2081
|
+
|
2082
|
+
if ($version_nid && $resource = db_fetch_object(db_query("SELECT nr.nid, MAX(nr.vid) AS vid FROM {jsdoc_resources} jr JOIN {node_revisions} nr ON (nr.vid = jr.vid) JOIN {node} n ON (n.nid = jr.version) WHERE nr.title = '%s' AND BINARY nr.title = '%s' AND jr.version = %d GROUP BY nr.nid", $name, $name, $version_nid))) {
|
2083
|
+
return _jsdoc_node_load($resource->nid, $resource->vid);
|
2084
|
+
}
|
2085
|
+
}
|
2086
|
+
|
2087
|
+
function jsdoc_object_node_load($name, $project=false, $version=false, $resource=false, $exact=true) {
|
2088
|
+
$nodes = jsdoc_object_nodes_load($name, $project, $version, $resource, $exact);
|
2089
|
+
if (count($nodes) == 1) {
|
2090
|
+
return $nodes[0];
|
2091
|
+
}
|
2092
|
+
elseif (!empty($nodes)) {
|
2093
|
+
$most_similar = 0;
|
2094
|
+
foreach($nodes as $match) {
|
2095
|
+
similar_text($match->title, jsdoc_get_project($match)->title, $similarity);
|
2096
|
+
if ($similarity > $most_similar) {
|
2097
|
+
$node = $match;
|
2098
|
+
$most_similar = $similarity;
|
2099
|
+
}
|
2100
|
+
}
|
2101
|
+
return $node;
|
2102
|
+
}
|
2103
|
+
}
|
2104
|
+
|
2105
|
+
/**
|
2106
|
+
* Custom version of node_load for objects
|
2107
|
+
*/
|
2108
|
+
function jsdoc_object_nodes_load($name, $project=false, $version=false, $resource=false, $exact=true) {
|
2109
|
+
$lower_name = strtolower($name);
|
2110
|
+
|
2111
|
+
$override_name = false;
|
2112
|
+
$name_override = $name;
|
2113
|
+
|
2114
|
+
if ($lower_name == 'bool') {
|
2115
|
+
$name = 'Boolean';
|
2116
|
+
}
|
2117
|
+
elseif ($lower_name == 'int' || $lower_name == 'integer') {
|
2118
|
+
$override_name = true;
|
2119
|
+
$name_override = 'Integer';
|
2120
|
+
$name = 'Number';
|
2121
|
+
}
|
2122
|
+
elseif ($lower_name == 'float' || $lower_name == 'decimal') {
|
2123
|
+
$override_name = true;
|
2124
|
+
$name_override = ucfirst($lower_name);
|
2125
|
+
$name = 'Number';
|
2126
|
+
}
|
2127
|
+
|
2128
|
+
$global_vars = array('Array', 'Boolean', 'Date', 'Error', 'Function', 'Number', 'Object', 'RegExp', 'String');
|
2129
|
+
$lower_global_vars = array('array', 'boolean', 'date', 'error', 'function', 'number', 'object', 'regexp', 'string');
|
2130
|
+
if (($pos = array_search($lower_name, $lower_global_vars)) !== false) {
|
2131
|
+
$name = $global_vars[$pos];
|
2132
|
+
}
|
2133
|
+
|
2134
|
+
if (in_array($name, $global_vars)) {
|
2135
|
+
return array((object)array(
|
2136
|
+
'title' => ($override_name) ? $name_override : $name,
|
2137
|
+
'jsdoc_url' => 'http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:' . $name
|
2138
|
+
));
|
2139
|
+
}
|
2140
|
+
elseif ($lower_name == 'window') {
|
2141
|
+
return array((object)array(
|
2142
|
+
'title' => $name,
|
2143
|
+
'jsdoc_url' => 'http://developer.mozilla.org/en/docs/DOM:window'
|
2144
|
+
));
|
2145
|
+
}
|
2146
|
+
elseif ($lower_name == 'documentelement' || $lower_name == 'document') {
|
2147
|
+
return array((object)array(
|
2148
|
+
'title' => $name,
|
2149
|
+
'jsdoc_url' => 'http://developer.mozilla.org/en/docs/DOM:document'
|
2150
|
+
));
|
2151
|
+
}
|
2152
|
+
elseif (in_array($lower_name, array('node', 'htmlelment', 'domnode'))) {
|
2153
|
+
return array((object)array(
|
2154
|
+
'title' => $name,
|
2155
|
+
'jsdoc_url' => 'http://developer.mozilla.org/en/docs/DOM:element'
|
2156
|
+
));
|
2157
|
+
}
|
2158
|
+
elseif ($name == 'Constructor') {
|
2159
|
+
return array((object)array(
|
2160
|
+
'title' => $name,
|
2161
|
+
'jsdoc_url' => 'http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide:Class-Based_vs._Prototype-Based_Languages#Defining_a_Class'
|
2162
|
+
));
|
2163
|
+
}
|
2164
|
+
|
2165
|
+
// Resolve the project the best that we can
|
2166
|
+
if (is_object($project) && $project->nid) {
|
2167
|
+
$project_nid = $project->nid;
|
2168
|
+
}
|
2169
|
+
elseif (is_numeric($project)) {
|
2170
|
+
$project_nid = $project;
|
2171
|
+
}
|
2172
|
+
elseif (is_string($project)) {
|
2173
|
+
$project = jsdoc_project_node_load($project);
|
2174
|
+
$project_nid = $project->nid;
|
2175
|
+
if (!$version) {
|
2176
|
+
$version = jsdoc_get_version($project);
|
2177
|
+
}
|
2178
|
+
}
|
2179
|
+
|
2180
|
+
// Resolve the version the best that we can
|
2181
|
+
if (is_object($version) && $version->nid) {
|
2182
|
+
$version_nid = $version->nid;
|
2183
|
+
}
|
2184
|
+
elseif (is_numeric($version)) {
|
2185
|
+
$version_nid = $version;
|
2186
|
+
}
|
2187
|
+
elseif (is_string($version)) {
|
2188
|
+
$version_nid = jsdoc_version_node_load($version, $project_nid)->nid;
|
2189
|
+
}
|
2190
|
+
|
2191
|
+
if ($version_nid && (!is_object($version) || !$version->nid)) {
|
2192
|
+
$version = _jsdoc_node_load($version_nid);
|
2193
|
+
}
|
2194
|
+
|
2195
|
+
// We have a few situations:
|
2196
|
+
// name
|
2197
|
+
// project, name
|
2198
|
+
// project, version, name
|
2199
|
+
// project, version, resource, name
|
2200
|
+
|
2201
|
+
// If we're missing the version, assume the latest release
|
2202
|
+
// If we're missing the project, look up stuff by name
|
2203
|
+
|
2204
|
+
$binary = ($exact) ? 'BINARY' : '';
|
2205
|
+
$title_check = ($exact) ? "= '%s'" : "LIKE '%%%s%%'";
|
2206
|
+
$nodes = array();
|
2207
|
+
|
2208
|
+
if (!$project_nid) {
|
2209
|
+
// We can't look up the proper version without knowing the project
|
2210
|
+
$query = db_query("SELECT nr.nid, MAX(nr.vid) AS vid FROM {node_revisions} nr JOIN {node} n ON (n.vid = nr.vid) WHERE nr.title $title_check AND $binary nr.title $title_check AND n.type = 'jsdoc_variable' GROUP BY nr.nid", $name, $name);
|
2211
|
+
if (!$exact || db_num_rows($query) == 1) {
|
2212
|
+
while ($result = db_fetch_object($query)) {
|
2213
|
+
$node = _jsdoc_node_load($result->nid, $result->vid);
|
2214
|
+
if ($object = jsdoc_get_variable_object($node)) {
|
2215
|
+
if (!$version) {
|
2216
|
+
// TODO: In the future, figure out the latest non-HEAD
|
2217
|
+
$version = 'HEAD';
|
2218
|
+
}
|
2219
|
+
$version = jsdoc_version_node_load($version, jsdoc_get_project($object));
|
2220
|
+
$versioned_query = db_query("SELECT vid FROM {jsdoc_objects} WHERE nid = %d AND version = %d", $object->nid, $version->nid);
|
2221
|
+
if ($result = db_fetch_object($versioned_query)) {
|
2222
|
+
$node = jsdoc_get_variable_object(_jsdoc_node_load($object->nid, $result->vid));
|
2223
|
+
if ($exact) {
|
2224
|
+
return array($node);
|
2225
|
+
}
|
2226
|
+
$nodes[] = $node;
|
2227
|
+
}
|
2228
|
+
else {
|
2229
|
+
if ($exact) {
|
2230
|
+
return array($object);
|
2231
|
+
}
|
2232
|
+
$nodes[] = $object;
|
2233
|
+
}
|
2234
|
+
}
|
2235
|
+
else {
|
2236
|
+
if ($exact) {
|
2237
|
+
return array($node);
|
2238
|
+
}
|
2239
|
+
$nodes[] = $node;
|
2240
|
+
}
|
2241
|
+
}
|
2242
|
+
}
|
2243
|
+
else {
|
2244
|
+
while ($result = db_fetch_object($query)) {
|
2245
|
+
$nodes[] = jsdoc_get_variable_object(_jsdoc_node_load($result->nid, $result->vid));
|
2246
|
+
}
|
2247
|
+
return $nodes;
|
2248
|
+
}
|
2249
|
+
}
|
2250
|
+
else {
|
2251
|
+
if ($resource) {
|
2252
|
+
if (is_object($resource)) {
|
2253
|
+
$resources = array($resource->nid);
|
2254
|
+
}
|
2255
|
+
elseif (is_numeric($resource)) {
|
2256
|
+
$resources = array($resource);
|
2257
|
+
}
|
2258
|
+
elseif (is_array($resource)) {
|
2259
|
+
$resources = $resource;
|
2260
|
+
}
|
2261
|
+
else {
|
2262
|
+
$resources = array(jsdoc_resource_node_load($project_nid, $version_nid, $resource)->nid);
|
2263
|
+
}
|
2264
|
+
$query = db_query("SELECT nr.nid, MAX(nr.vid) AS vid FROM {node_revisions} nr INNER JOIN {jsdoc_objects} j ON (j.vid = nr.vid) WHERE nr.title $title_check AND $binary nr.title $title_check AND j.version = %d AND (j.resource_nid IN (%s) OR j.provide_nid IN (%s)) GROUP BY nr.nid", $name, $name, $version_nid, implode(',', $resources), implode(',', $resources));
|
2265
|
+
}
|
2266
|
+
else {
|
2267
|
+
$query = db_query("SELECT nr.nid, MAX(nr.vid) AS vid FROM {node_revisions} nr INNER JOIN {jsdoc_variables} j ON (j.vid = nr.vid) WHERE nr.title $title_check AND $binary nr.title $title_check AND j.version = %d GROUP BY nr.nid", $name, $name, $version_nid);
|
2268
|
+
}
|
2269
|
+
|
2270
|
+
while ($result = db_fetch_object($query)) {
|
2271
|
+
$nodes[] = jsdoc_get_variable_object(_jsdoc_node_load($result->nid, $result->vid));
|
2272
|
+
}
|
2273
|
+
}
|
2274
|
+
|
2275
|
+
if (empty($nodes)) {
|
2276
|
+
// Try without the project
|
2277
|
+
return jsdoc_object_nodes_load($name, false, $version->title, $resource, $exact);
|
2278
|
+
}
|
2279
|
+
|
2280
|
+
return $nodes;
|
2281
|
+
}
|
2282
|
+
|
2283
|
+
function jsdoc_parameter_weight_sort($a, $b){
|
2284
|
+
return ($a['weight'] == $b['weight']) ? 0 : ($a['weight'] < $b['weight']) ? -1 : 1;
|
2285
|
+
}
|
2286
|
+
|
2287
|
+
/**
|
2288
|
+
* Path: jsdoc/ide
|
2289
|
+
*/
|
2290
|
+
function jsdoc_ide($ide, $download=false) {
|
2291
|
+
if ($ide == 'aptana') {
|
2292
|
+
$document = new DomDocument();
|
2293
|
+
$document->encoding = 'utf-8';
|
2294
|
+
$document->standalone = true;
|
2295
|
+
$document->formatOutput = true;
|
2296
|
+
$javascript = $document->appendChild($document->createElement('javascript'));
|
2297
|
+
$overview = $javascript->appendChild($document->createElement('overview'));
|
2298
|
+
$overview->appendChild($document->createTextNode('The Dojo Toolkit is awesome'));
|
2299
|
+
|
2300
|
+
foreach (jsdoc_projects() as $project) {
|
2301
|
+
$query = jsdoc_get_query_variables($project);
|
2302
|
+
while ($result = db_fetch_object($query)) {
|
2303
|
+
set_time_limit(60);
|
2304
|
+
if (jsdoc_is_namespace($result) || jsdoc_get_type($result) == 'Constructor') {
|
2305
|
+
$node = _jsdoc_node_load($result->nid, $result->vid);
|
2306
|
+
$class = $javascript->appendChild($document->createElement('class'));
|
2307
|
+
$class->setAttribute('type', $node->title);
|
2308
|
+
|
2309
|
+
if (jsdoc_get_teaser($node)) {
|
2310
|
+
$class->appendChild($document->createElement('description'))->appendChild($document->createTextNode(jsdoc_get_teaser($node)));
|
2311
|
+
}
|
2312
|
+
|
2313
|
+
$superclasses = array();
|
2314
|
+
$class_mixins = array();
|
2315
|
+
if (jsdoc_get_type($node) != 'Constructor') {
|
2316
|
+
$superclasses[] = 'Object';
|
2317
|
+
}
|
2318
|
+
else {
|
2319
|
+
$superclass = jsdoc_get_parent_prototype($node);
|
2320
|
+
|
2321
|
+
if ($constructor = jsdoc_resolve_constructor($node, false)) {
|
2322
|
+
$constructor_element = $class->appendChild($document->createElement('constructors'))->appendChild($document->createElement('constructor'));
|
2323
|
+
$constructor_element->setAttribute('scope', 'instance');
|
2324
|
+
if (jsdoc_get_teaser($constructor)) {
|
2325
|
+
$constructor_element->appendChild($document->createElement('description'))->appendChild($document->createTextNode(jsdoc_get_teaser($constructor)));
|
2326
|
+
}
|
2327
|
+
_jsdoc_ide_build_parameters(jsdoc_get_parameters($constructor), $document, $constructor_element);
|
2328
|
+
}
|
2329
|
+
|
2330
|
+
if ($superclass == 'window') {
|
2331
|
+
unset($superclass);
|
2332
|
+
}
|
2333
|
+
if (!$superclass) {
|
2334
|
+
$superclass = 'Object';
|
2335
|
+
}
|
2336
|
+
$superclasses[] = $superclass;
|
2337
|
+
if ($mixins = jsdoc_get_parent_mixins($node)) {
|
2338
|
+
if ($mixins['prototype']) {
|
2339
|
+
foreach ($mixins['prototype'] as $mixin) {
|
2340
|
+
if (preg_match('%\.prototype$%', $mixin)) {
|
2341
|
+
$superclasses[] = preg_replace('%\.prototype$%', '', $mixin);
|
2342
|
+
}
|
2343
|
+
else {
|
2344
|
+
$class_mixins['instance'][] = array('static', $mixin);
|
2345
|
+
}
|
2346
|
+
}
|
2347
|
+
}
|
2348
|
+
if ($mixins['normal']) {
|
2349
|
+
foreach ($mixins['normal'] as $mixin) {
|
2350
|
+
if (preg_match('%\.prototype$%', $mixin)) {
|
2351
|
+
$class_mixins['static'][] = array('instance', preg_replace('%\.prototype$%', '', $mixin));
|
2352
|
+
}
|
2353
|
+
else {
|
2354
|
+
$class_mixins['static'][] = array('static', $mixin);
|
2355
|
+
}
|
2356
|
+
}
|
2357
|
+
}
|
2358
|
+
}
|
2359
|
+
}
|
2360
|
+
$class->setAttribute('superclass', implode(' ', array_unique($superclasses)));
|
2361
|
+
|
2362
|
+
foreach ($class_mixins as $scope => $class_mixin) {
|
2363
|
+
$mixins = $class->appendChild($document->createElement('mixins'));
|
2364
|
+
$mixins->setAttribute('scope', $scope);
|
2365
|
+
foreach ($class_mixin as $scoped_mixin) {
|
2366
|
+
$mixin = $mixins->appendChild($document->createElement('mixin'));
|
2367
|
+
$mixin->setAttribute('scope', $scoped_mixin[0]);
|
2368
|
+
$mixin->setAttribute('type', $scoped_mixin[1]);
|
2369
|
+
}
|
2370
|
+
}
|
2371
|
+
|
2372
|
+
$properties = array();
|
2373
|
+
$methods = array();
|
2374
|
+
$childrens = jsdoc_get_children($node);
|
2375
|
+
foreach ($childrens as $type => $children) {
|
2376
|
+
if ($type == 'variables' || $type == 'instances' || $type == 'prototypes') {
|
2377
|
+
foreach ($children as $child) {
|
2378
|
+
unset($element);
|
2379
|
+
|
2380
|
+
if (jsdoc_get_type($child) == 'Function') {
|
2381
|
+
if (jsdoc_is_initialized($child)) {
|
2382
|
+
continue;
|
2383
|
+
}
|
2384
|
+
$methods[] = $element = $document->createElement('method');
|
2385
|
+
|
2386
|
+
_jsdoc_ide_build_parameters(jsdoc_get_parameters($child), $document, $element);
|
2387
|
+
if ($types = _jsdoc_ide_build_types(jsdoc_get_return_types($child), 'Object')) {
|
2388
|
+
$return_types = $element->appendChild($document->createElement('return-types'));
|
2389
|
+
foreach ($types as $return_type) {
|
2390
|
+
$return_types->appendChild($document->createElement('return-type'))->setAttribute('type', $return_type);
|
2391
|
+
}
|
2392
|
+
}
|
2393
|
+
}
|
2394
|
+
elseif (!jsdoc_is_namespace($child) && jsdoc_get_type($child) != 'Constructor') {
|
2395
|
+
$properties[] = $element = $document->createElement('property');
|
2396
|
+
$child_type = implode('|', _jsdoc_ide_build_types(jsdoc_get_type($child), 'Object'));
|
2397
|
+
$element->setAttribute('type', $child_type);
|
2398
|
+
$element->setAttribute('access', 'read-write');
|
2399
|
+
}
|
2400
|
+
|
2401
|
+
if ($element) {
|
2402
|
+
$element->setAttribute('scope', ($type == 'variables') ? 'static' : 'instance');
|
2403
|
+
$name = preg_replace('%^' . $node->title . '\.%', '', $child->title);
|
2404
|
+
$element->setAttribute('name', $name);
|
2405
|
+
if (jsdoc_is_private($child)) {
|
2406
|
+
$element->setAttribute('visibility', 'internal');
|
2407
|
+
}
|
2408
|
+
if (jsdoc_get_teaser($child)) {
|
2409
|
+
$element->appendChild($document->createElement('description'))->appendChild($document->createTextNode(jsdoc_get_teaser($child)));
|
2410
|
+
}
|
2411
|
+
}
|
2412
|
+
}
|
2413
|
+
}
|
2414
|
+
}
|
2415
|
+
if ($properties) {
|
2416
|
+
$properties_element = $class->appendChild($document->createElement('properties'));
|
2417
|
+
foreach ($properties as $property) {
|
2418
|
+
$properties_element->appendChild($property);
|
2419
|
+
}
|
2420
|
+
}
|
2421
|
+
if ($methods) {
|
2422
|
+
$methods_element = $class->appendChild($document->createElement('methods'));
|
2423
|
+
foreach ($methods as $method) {
|
2424
|
+
$methods_element->appendChild($method);
|
2425
|
+
}
|
2426
|
+
}
|
2427
|
+
}
|
2428
|
+
}
|
2429
|
+
}
|
2430
|
+
|
2431
|
+
print $document->saveXML();
|
2432
|
+
}
|
2433
|
+
}
|
2434
|
+
|
2435
|
+
function _jsdoc_ide_build_parameters($parameters, $document, &$element) {
|
2436
|
+
if (!$parameters) {
|
2437
|
+
return;
|
2438
|
+
}
|
2439
|
+
|
2440
|
+
$parameters_element = $element->appendChild($document->createElement('parameters'));
|
2441
|
+
foreach ($parameters as $parameter) {
|
2442
|
+
$parameter_element = $parameters_element->appendChild($document->createElement('parameter'));
|
2443
|
+
$parameter_element->setAttribute('name', $parameter['name']);
|
2444
|
+
$parameter_element->setAttribute('type', implode('|', _jsdoc_ide_build_types($parameter['type'], 'Object')));
|
2445
|
+
$parameter_element->setAttribute('usage', ($parameter['optional']) ? 'optional' : (($parameter['repeating']) ? 'one-or-more' : 'required'));
|
2446
|
+
if ($parameter['summary']) {
|
2447
|
+
$parameter_element->appendChild($document->createElement('description'))->appendChild($document->createTextNode($parameter['summary']));
|
2448
|
+
}
|
2449
|
+
}
|
2450
|
+
}
|
2451
|
+
|
2452
|
+
function _jsdoc_ide_build_types($types, $default=null) {
|
2453
|
+
if (!is_array($types)) {
|
2454
|
+
if (is_string($types)) {
|
2455
|
+
if(!$types){
|
2456
|
+
if(!is_null($default)){
|
2457
|
+
return array($default);
|
2458
|
+
}
|
2459
|
+
return array();
|
2460
|
+
}else{
|
2461
|
+
$types = preg_split('%\s*\|+\s*%', $types);
|
2462
|
+
}
|
2463
|
+
}
|
2464
|
+
else {
|
2465
|
+
return array();
|
2466
|
+
}
|
2467
|
+
}
|
2468
|
+
|
2469
|
+
$return_types = array();
|
2470
|
+
foreach ($types as $i => $type) {
|
2471
|
+
$node = jsdoc_object_node_load($type);
|
2472
|
+
if (!empty($node->title)) {
|
2473
|
+
$type = $node->title;
|
2474
|
+
}
|
2475
|
+
if (preg_match('%^[a-zA-Z_.$][\w_.$]*(\[\])?$%', $type)) {
|
2476
|
+
if ($type == 'Integer' || $type == 'Float' || $type == 'Decimal') {
|
2477
|
+
$type = 'Number';
|
2478
|
+
}
|
2479
|
+
$return_types[] = $type;
|
2480
|
+
}
|
2481
|
+
}
|
2482
|
+
|
2483
|
+
if (empty($return_types) && !is_null($default)) {
|
2484
|
+
$return_types[] = $default;
|
2485
|
+
}
|
2486
|
+
|
2487
|
+
return $return_types;
|
2488
|
+
}
|
2489
|
+
|
2490
|
+
/**
|
2491
|
+
* Path: jsdoc/jsonp
|
2492
|
+
*/
|
2493
|
+
function jsdoc_jsonp($batch=false, $json=false) {
|
2494
|
+
include_once(_jsdoc_get_base_path() . '/' . drupal_get_path('module', 'jsdoc') . '/lib/json/Encoder.php');
|
2495
|
+
include_once(_jsdoc_get_base_path() . '/' . drupal_get_path('module', 'jsdoc') . '/lib/json/Zend_Exception.php');
|
2496
|
+
include_once(_jsdoc_get_base_path() . '/' . drupal_get_path('module', 'jsdoc') . '/lib/json/Exception.php');
|
2497
|
+
|
2498
|
+
$recursion = false;
|
2499
|
+
if ($json) {
|
2500
|
+
$recursion = true;
|
2501
|
+
$_JSON = $json;
|
2502
|
+
}
|
2503
|
+
else {
|
2504
|
+
$_JSON = array();
|
2505
|
+
foreach (explode('&', getenv('QUERY_STRING')) as $query_string) {
|
2506
|
+
list($key, $value) = explode('=', $query_string, 2);
|
2507
|
+
$value = urldecode($value);
|
2508
|
+
if (isset($_JSON[$key])) {
|
2509
|
+
if (!is_array($_JSON[$key])) {
|
2510
|
+
$_JSON[$key] = array($_JSON[$key]);
|
2511
|
+
}
|
2512
|
+
$_JSON[$key][] = $value;
|
2513
|
+
}
|
2514
|
+
else {
|
2515
|
+
$_JSON[$key] = $value;
|
2516
|
+
}
|
2517
|
+
}
|
2518
|
+
}
|
2519
|
+
|
2520
|
+
$names = array();
|
2521
|
+
if ($batch) {
|
2522
|
+
$names = (is_array($_JSON['names'])) ? $_JSON['names'] : array($_JSON['names']);
|
2523
|
+
}
|
2524
|
+
else {
|
2525
|
+
$names = array($_JSON['name']);
|
2526
|
+
}
|
2527
|
+
|
2528
|
+
$attributes = ($_JSON['attributes']) ? $_JSON['attributes'] : array('summary', 'type', 'returns', 'parameters');
|
2529
|
+
if (!is_array($attributes)) {
|
2530
|
+
$attributes = array($attributes);
|
2531
|
+
}
|
2532
|
+
|
2533
|
+
foreach ($names as $name) {
|
2534
|
+
if (empty($name)) {
|
2535
|
+
continue;
|
2536
|
+
}
|
2537
|
+
if ($_JSON['exact']) {
|
2538
|
+
if ($nodes = jsdoc_object_node_load($name, $_JSON['project'], $_JSON['version'], $_JSON['resource'], true)){
|
2539
|
+
$nodes = array($nodes);
|
2540
|
+
}
|
2541
|
+
}
|
2542
|
+
else {
|
2543
|
+
$nodes = jsdoc_object_nodes_load($name, $_JSON['project'], $_JSON['version'], $_JSON['resource'], false);
|
2544
|
+
}
|
2545
|
+
foreach ($nodes as $node) {
|
2546
|
+
$formatted = (object)array('name' => $name);
|
2547
|
+
if ($_JSON['exact'] && count($nodes) > 1) {
|
2548
|
+
$formatted->project = jsdoc_get_project($node)->title;
|
2549
|
+
}
|
2550
|
+
foreach ($attributes as $attribute) {
|
2551
|
+
switch ($attribute) {
|
2552
|
+
case 'summary':
|
2553
|
+
$formatted->summary = jsdoc_get_teaser($node);
|
2554
|
+
break;
|
2555
|
+
case 'type':
|
2556
|
+
$formatted->type = jsdoc_get_type($node);
|
2557
|
+
break;
|
2558
|
+
case 'returns':
|
2559
|
+
$formatted->returns = array(
|
2560
|
+
'types' => array(),
|
2561
|
+
'summary' => jsdoc_get_return_summary($node)
|
2562
|
+
);
|
2563
|
+
foreach (jsdoc_get_return_types($node) as $type) {
|
2564
|
+
$themed = _jsdoc_get_type_themed($type, $node, true);
|
2565
|
+
if ($themed) {
|
2566
|
+
$formatted->returns['types'][] = $themed;
|
2567
|
+
}
|
2568
|
+
else {
|
2569
|
+
$formatted->returns['types'][] = array(
|
2570
|
+
'title' => $type
|
2571
|
+
);
|
2572
|
+
}
|
2573
|
+
}
|
2574
|
+
case 'parameters':
|
2575
|
+
$formatted->parameters = _jsdoc_get_parameters_themed($node, true);
|
2576
|
+
if (!count($formatted->parameters)) {
|
2577
|
+
unset($formatted->parameters);
|
2578
|
+
}
|
2579
|
+
break;
|
2580
|
+
}
|
2581
|
+
}
|
2582
|
+
if ($_JSON['recursive']) {
|
2583
|
+
$children = array_keys(jsdoc_get_child_variables($node));
|
2584
|
+
if (!empty($children))
|
2585
|
+
$formatted->children = jsdoc_jsonp(true, array(
|
2586
|
+
'attributes' => $_JSON['attributes'],
|
2587
|
+
'names' => $children,
|
2588
|
+
'recursive' => $_JSON['recursive']
|
2589
|
+
));
|
2590
|
+
}
|
2591
|
+
$output[] = $formatted;
|
2592
|
+
}
|
2593
|
+
}
|
2594
|
+
|
2595
|
+
$found = array();
|
2596
|
+
foreach ($output as $object) {
|
2597
|
+
$found[] = $object->name;
|
2598
|
+
}
|
2599
|
+
foreach (array_diff($names, $found) as $name) {
|
2600
|
+
$output[] = (object)array(
|
2601
|
+
'name' => $name
|
2602
|
+
);
|
2603
|
+
}
|
2604
|
+
|
2605
|
+
if ($recursion) {
|
2606
|
+
return $output;
|
2607
|
+
}
|
2608
|
+
print $_GET['callback'] . '(' . str_replace('"__className":"stdClass",', '', Zend_Json_Encoder::encode($output)) . ');';
|
2609
|
+
}
|
2610
|
+
|
2611
|
+
/**
|
2612
|
+
* A menu callback
|
2613
|
+
*/
|
2614
|
+
function jsdoc_variables_node_view($nodes) {
|
2615
|
+
$form = array();
|
2616
|
+
|
2617
|
+
if (count($nodes)) {
|
2618
|
+
drupal_set_title($nodes[0]->title);
|
2619
|
+
}
|
2620
|
+
|
2621
|
+
foreach ($nodes as $node) {
|
2622
|
+
$project = jsdoc_get_project($node);
|
2623
|
+
$form['projects'][$project->title] = array(
|
2624
|
+
'#title' => $project->title,
|
2625
|
+
'#type' => 'fieldset'
|
2626
|
+
);
|
2627
|
+
if (!empty($project->teaser)) {
|
2628
|
+
$form['projects'][$project->title]['summary'] = array(
|
2629
|
+
'#title' => t('Summary'),
|
2630
|
+
'#value' => $project->teaser,
|
2631
|
+
'#weight' => 0
|
2632
|
+
);
|
2633
|
+
}
|
2634
|
+
$value = l($node->title, $node->jsdoc_url);
|
2635
|
+
if (jsdoc_get_teaser($node)) {
|
2636
|
+
$value .= ': ' . jsdoc_get_teaser($node);
|
2637
|
+
}
|
2638
|
+
$form['projects'][$project->title]['item'] = array(
|
2639
|
+
'#value' => $value
|
2640
|
+
);
|
2641
|
+
}
|
2642
|
+
|
2643
|
+
return drupal_render_form('jsdoc_variables_form', $form);
|
2644
|
+
}
|
2645
|
+
|
2646
|
+
/**
|
2647
|
+
* A menu callback
|
2648
|
+
*/
|
2649
|
+
function jsdoc_variable_node_view($node) {
|
2650
|
+
$form = _jsdoc_node_prepare($node);
|
2651
|
+
|
2652
|
+
$resources = jsdoc_get_variable_resources($node);
|
2653
|
+
|
2654
|
+
$display_resources = array();
|
2655
|
+
foreach ($resources as $resource_value) {
|
2656
|
+
$display_resources[] = (object)array(
|
2657
|
+
'href' => l($resource_value->title, 'jsdoc/' . jsdoc_get_project($node)->title . '/HEAD/' . str_replace('/', '__', $resource_value->title) . '/' . $node->title)
|
2658
|
+
);
|
2659
|
+
}
|
2660
|
+
$form['resources'] = array(
|
2661
|
+
'#value' => theme('jsdoc_object_resources', $node, $display_resources),
|
2662
|
+
'#weight' => 10
|
2663
|
+
);
|
2664
|
+
|
2665
|
+
$parameters = _jsdoc_get_parameters_themed($node);
|
2666
|
+
$function = (object)array(
|
2667
|
+
'signature' => _jsdoc_build_function_signature($node, $parameters)
|
2668
|
+
);
|
2669
|
+
if (count($parameters)) {
|
2670
|
+
$function->parameters = $parameters;
|
2671
|
+
}
|
2672
|
+
$form['function'] = array(
|
2673
|
+
'#value' => theme('jsdoc_function_information', $function, array()),
|
2674
|
+
'#weight' => 15
|
2675
|
+
);
|
2676
|
+
|
2677
|
+
$form['parameters'] = array(
|
2678
|
+
'#value' => theme('jsdoc_function_parameters', $parameters),
|
2679
|
+
'#weight' => 20
|
2680
|
+
);
|
2681
|
+
|
2682
|
+
$children = array();
|
2683
|
+
$variables = jsdoc_get_child_variables($node);
|
2684
|
+
if (!empty($variables)) {
|
2685
|
+
foreach ($variables as $child) {
|
2686
|
+
$title = $child->title;
|
2687
|
+
if (!jsdoc_is_namespace($node) && $node->title . '.' == substr($title, 0, strlen($node->title) + 1)) {
|
2688
|
+
$title = substr($title, strlen($node->title) + 1);
|
2689
|
+
}
|
2690
|
+
$children[$title] = _jsdoc_get_object_themed($child, $title);
|
2691
|
+
}
|
2692
|
+
uksort($children, "strnatcasecmp");
|
2693
|
+
$form['children'] = array(
|
2694
|
+
'#value' => theme('jsdoc_object_children', $children),
|
2695
|
+
'#weight' => 30
|
2696
|
+
);
|
2697
|
+
}
|
2698
|
+
|
2699
|
+
if (function_exists('comment_render') && $node->comment) {
|
2700
|
+
$form['comments'] = array(
|
2701
|
+
'#value' => comment_render($node),
|
2702
|
+
'#weight' => 30
|
2703
|
+
);
|
2704
|
+
}
|
2705
|
+
|
2706
|
+
drupal_set_title(theme('jsdoc_object_title', _jsdoc_get_title_themed($node)));
|
2707
|
+
|
2708
|
+
return drupal_render_form('jsdoc_variable_form', $form);
|
2709
|
+
}
|
2710
|
+
|
2711
|
+
/**
|
2712
|
+
* A menu callback
|
2713
|
+
*/
|
2714
|
+
function jsdoc_object_node_view($node, $initialized = null, $allow_private = false) {
|
2715
|
+
// Test for the basics
|
2716
|
+
if (!$node) {
|
2717
|
+
return drupal_not_found();
|
2718
|
+
}
|
2719
|
+
if ($node->type == 'jsdoc_object' && $node->jsdoc_used == -1) {
|
2720
|
+
return drupal_not_found();
|
2721
|
+
}
|
2722
|
+
|
2723
|
+
drupal_set_title(theme('jsdoc_object_title', _jsdoc_get_title_themed($node)));
|
2724
|
+
|
2725
|
+
$form = _jsdoc_node_prepare($node);
|
2726
|
+
|
2727
|
+
$form['require'] = array(
|
2728
|
+
'#value' => theme('jsdoc_object_require', jsdoc_get_provide($node)),
|
2729
|
+
'#weight' => -20
|
2730
|
+
);
|
2731
|
+
|
2732
|
+
$form['resource'] = array(
|
2733
|
+
'#value' => theme('jsdoc_object_resource', jsdoc_get_resource($node), jsdoc_get_project($node))
|
2734
|
+
);
|
2735
|
+
|
2736
|
+
$examples = array();
|
2737
|
+
foreach (jsdoc_get_examples($node, true) as $weight => $example) {
|
2738
|
+
$examples[] = theme('jsdoc_object_example', $example, $weight + 1);
|
2739
|
+
}
|
2740
|
+
if (!empty($examples)) {
|
2741
|
+
$form['examples'] = array(
|
2742
|
+
'#value' => theme('jsdoc_object_examples', $examples),
|
2743
|
+
'#weight' => 35
|
2744
|
+
);
|
2745
|
+
}
|
2746
|
+
|
2747
|
+
$prototype_chain = jsdoc_get_prototype_chain($node, array(3, 4));
|
2748
|
+
if(empty($prototype_chain)){
|
2749
|
+
$prototype_chain = array($node);
|
2750
|
+
}
|
2751
|
+
else {
|
2752
|
+
$form['prototype_chain'] = array(
|
2753
|
+
'#value' => theme('jsdoc_object_prototype_chain', $prototype_chain),
|
2754
|
+
'#weight' => 10
|
2755
|
+
);
|
2756
|
+
}
|
2757
|
+
|
2758
|
+
$mixin_chain = array();
|
2759
|
+
foreach ($prototype_chain as $prototype) {
|
2760
|
+
if ($prototype->title == 'Object') {
|
2761
|
+
continue;
|
2762
|
+
}
|
2763
|
+
$mixin_chain[] = (object)array(
|
2764
|
+
'in_prototype_chain' => true,
|
2765
|
+
'on_prototype' => true,
|
2766
|
+
'node' => $prototype
|
2767
|
+
);
|
2768
|
+
}
|
2769
|
+
|
2770
|
+
for ($i = 0; $i < count($mixin_chain); $i++) {
|
2771
|
+
$item = $mixin_chain[$i]->node;
|
2772
|
+
if ($mixin_chain_mixins_all = jsdoc_get_parent_mixins($item)) {
|
2773
|
+
foreach ($mixin_chain_mixins_all as $type => $mixin_chain_mixins) {
|
2774
|
+
if ($type == 'prototype' && is_array($mixin_chain_mixins)) {
|
2775
|
+
ksort($mixin_chain_mixins);
|
2776
|
+
foreach ($mixin_chain_mixins as $mixin) {
|
2777
|
+
if (substr($mixin, -10) == '.prototype') {
|
2778
|
+
// I don't think this is a bad assumption
|
2779
|
+
$mixin = substr($mixin, 0, -10);
|
2780
|
+
}
|
2781
|
+
$mixin = (object)array(
|
2782
|
+
'in_prototype_chain' => false,
|
2783
|
+
'on_prototype' => true,
|
2784
|
+
'node' => jsdoc_object_node_load($mixin, jsdoc_get_project($node), jsdoc_get_version($node), jsdoc_get_all_provide_nids($node, array(3, 4))),
|
2785
|
+
);
|
2786
|
+
if ($i > 0 && $mixin_chain[$i - 1]->node->title == $mixin->node->title) {
|
2787
|
+
continue;
|
2788
|
+
}
|
2789
|
+
if ($node->title != $item->title) {
|
2790
|
+
$mixin->mixin_from = $item->title;
|
2791
|
+
}
|
2792
|
+
array_splice($mixin_chain, $i++, 0, array($mixin));
|
2793
|
+
}
|
2794
|
+
}
|
2795
|
+
}
|
2796
|
+
}
|
2797
|
+
}
|
2798
|
+
|
2799
|
+
if (!empty($mixin_chain)) {
|
2800
|
+
$form['parent_mixins'] = array(
|
2801
|
+
'#value' => theme('jsdoc_object_mixins', $mixin_chain),
|
2802
|
+
'#weight' => 40
|
2803
|
+
);
|
2804
|
+
}
|
2805
|
+
|
2806
|
+
$children = array();
|
2807
|
+
foreach ($mixin_chain as $mixin) {
|
2808
|
+
$mixin = $mixin->node;
|
2809
|
+
$children_all = jsdoc_get_children($mixin);
|
2810
|
+
foreach ($children_all as $type => $items) {
|
2811
|
+
$type = substr($type, 0, -1);
|
2812
|
+
foreach ($items as $item) {
|
2813
|
+
if (is_object($item)) {
|
2814
|
+
$title = $item->title;
|
2815
|
+
if ($type == 'variable' && $node->title . '.' != substr($title, 0, strlen($node->title) + 1)) {
|
2816
|
+
continue;
|
2817
|
+
}
|
2818
|
+
if (!jsdoc_is_namespace($node) && $mixin->title . '.' == substr($title, 0, strlen($mixin->title) + 1)) {
|
2819
|
+
$title = substr($title, strlen($mixin->title) + 1);
|
2820
|
+
}
|
2821
|
+
if ($children[$title]) {
|
2822
|
+
$found = false;
|
2823
|
+
if ($children[$title]->inheritance) {
|
2824
|
+
foreach ($children[$title]->inheritance as $parent) {
|
2825
|
+
if ($parent->title == $mixin->title) {
|
2826
|
+
$found = true;
|
2827
|
+
break;
|
2828
|
+
}
|
2829
|
+
}
|
2830
|
+
}
|
2831
|
+
if (!$found) {
|
2832
|
+
if ($mixin->title == $node->title) {
|
2833
|
+
$children[$title]->override = true;
|
2834
|
+
}
|
2835
|
+
else {
|
2836
|
+
$children[$title]->inheritance[] = _jsdoc_get_object_themed($mixin);
|
2837
|
+
}
|
2838
|
+
$inherited = _jsdoc_get_object_themed($item, $title);
|
2839
|
+
foreach ($inherited as $key => $value) {
|
2840
|
+
if ($key == 'summary' && trim($value) == '') {
|
2841
|
+
continue;
|
2842
|
+
}
|
2843
|
+
$children[$title]->$key = $value;
|
2844
|
+
}
|
2845
|
+
}
|
2846
|
+
}
|
2847
|
+
else {
|
2848
|
+
$children[$title] = _jsdoc_get_object_themed($item, $title);
|
2849
|
+
if ($mixin->title != $node->title) {
|
2850
|
+
$children[$title]->inheritance[] = _jsdoc_get_object_themed($mixin);
|
2851
|
+
}
|
2852
|
+
}
|
2853
|
+
if ($type == 'variable') {
|
2854
|
+
$children[$title]->normal = true;
|
2855
|
+
}
|
2856
|
+
else {
|
2857
|
+
$children[$title]->$type = true;
|
2858
|
+
}
|
2859
|
+
if (trim(jsdoc_get_teaser($item)) != '') {
|
2860
|
+
$children[$title]->summary = jsdoc_get_teaser($item);
|
2861
|
+
}
|
2862
|
+
}
|
2863
|
+
}
|
2864
|
+
}
|
2865
|
+
}
|
2866
|
+
uksort($children, "strnatcasecmp");
|
2867
|
+
|
2868
|
+
if (jsdoc_is_function($node)) {
|
2869
|
+
// TODO: jsdoc_get_parameters_themed goes here
|
2870
|
+
$parameters = _jsdoc_get_parameters_themed($node);
|
2871
|
+
|
2872
|
+
if (count($parameters)) {
|
2873
|
+
$form['parameters'] = array(
|
2874
|
+
'#value' => theme('jsdoc_function_parameters', $parameters),
|
2875
|
+
'#weight' => 20
|
2876
|
+
);
|
2877
|
+
}
|
2878
|
+
|
2879
|
+
$base = false;
|
2880
|
+
if (jsdoc_get_type($node) == 'Constructor') {
|
2881
|
+
$base = $node->title;
|
2882
|
+
}
|
2883
|
+
|
2884
|
+
$function = (object)array(
|
2885
|
+
'source' => jsdoc_get_source($node),
|
2886
|
+
'markedup' => _jsdoc_markup_code(jsdoc_get_source($node), jsdoc_get_version($node)->nid, $base),
|
2887
|
+
'signature' => _jsdoc_build_function_signature($node, $parameters)
|
2888
|
+
);
|
2889
|
+
if (count($parameters)) {
|
2890
|
+
$function->parameters = $parameters;
|
2891
|
+
}
|
2892
|
+
$form['function'] = array(
|
2893
|
+
'#value' => theme('jsdoc_function_information', $function, $children),
|
2894
|
+
'#weight' => 30
|
2895
|
+
);
|
2896
|
+
}
|
2897
|
+
|
2898
|
+
if (count($children)) {
|
2899
|
+
$form['children'] = array(
|
2900
|
+
'#value' => theme('jsdoc_object_children', $children),
|
2901
|
+
'#weight' => 40
|
2902
|
+
);
|
2903
|
+
}
|
2904
|
+
|
2905
|
+
if (function_exists('comment_render') && $node->comment) {
|
2906
|
+
$form['comments'] = array(
|
2907
|
+
'#value' => comment_render($node),
|
2908
|
+
'#weight' => 50
|
2909
|
+
);
|
2910
|
+
}
|
2911
|
+
|
2912
|
+
return drupal_render_form('jsdoc_object_form', $form);
|
2913
|
+
}
|
2914
|
+
|
2915
|
+
/**
|
2916
|
+
* Path: jsdoc/VERSION/NAME/edit
|
2917
|
+
*/
|
2918
|
+
function jsdoc_object_edit_redirect($node, $resource=false) {
|
2919
|
+
if ($resource) {
|
2920
|
+
if ($node->jsdoc_detail && jsdoc_get_resource($node->jsdoc_detail)->vid == $resource) {
|
2921
|
+
drupal_goto('node/' . $node->jsdoc_detail->nid . '/edit');
|
2922
|
+
return;
|
2923
|
+
}
|
2924
|
+
foreach ($node->jsdoc_disambiguations as $disambiguation) {
|
2925
|
+
if (jsdoc_get_resource($disambiguation)->vid == $resource) {
|
2926
|
+
drupal_goto('node/' . $disambiguation->nid . '/edit');
|
2927
|
+
return;
|
2928
|
+
}
|
2929
|
+
}
|
2930
|
+
}
|
2931
|
+
drupal_goto('node/' . $node->nid . '/edit');
|
2932
|
+
}
|
2933
|
+
|
2934
|
+
function _jsdoc_get_title_themed($node) {
|
2935
|
+
$themed = _jsdoc_get_object_themed($node);
|
2936
|
+
$themed->crumbs = array();
|
2937
|
+
|
2938
|
+
if ($type = jsdoc_get_type($node)) {
|
2939
|
+
$type = jsdoc_object_node_load($type, jsdoc_get_project($node), jsdoc_get_version($node), jsdoc_get_all_provide_nids($node, array(3, 4)));
|
2940
|
+
$themed->type = (object)array(
|
2941
|
+
'title' => $type->title,
|
2942
|
+
'url' => $type->jsdoc_url
|
2943
|
+
);
|
2944
|
+
if ($type->jsdoc_url) {
|
2945
|
+
$themed->type->a = l($type->title, $type->jsdoc_url);
|
2946
|
+
}
|
2947
|
+
else {
|
2948
|
+
$themed->type->a = $type->title;
|
2949
|
+
}
|
2950
|
+
}
|
2951
|
+
|
2952
|
+
$parts = explode('.', $node->title);
|
2953
|
+
$title_text = "";
|
2954
|
+
$end = array_pop($parts);
|
2955
|
+
foreach ($parts as $part) {
|
2956
|
+
if (!empty($title_text)) {
|
2957
|
+
$title_text .= '.';
|
2958
|
+
}
|
2959
|
+
$title_text .= $part;
|
2960
|
+
|
2961
|
+
$obj = jsdoc_object_node_load($title_text, jsdoc_get_project($node), jsdoc_get_version($node));
|
2962
|
+
if ($obj) {
|
2963
|
+
$themed->crumbs[] = l($part, $obj->jsdoc_url);
|
2964
|
+
}
|
2965
|
+
else {
|
2966
|
+
$themed->crumbs[] = $part;
|
2967
|
+
}
|
2968
|
+
}
|
2969
|
+
$themed->crumbs[] = $end;
|
2970
|
+
|
2971
|
+
drupal_set_breadcrumb($themed->crumbs);
|
2972
|
+
|
2973
|
+
return $themed;
|
2974
|
+
}
|
2975
|
+
|
2976
|
+
function _jsdoc_get_object_themed($node, $title=null, $depth=0) {
|
2977
|
+
if (is_null($title)) {
|
2978
|
+
$title = $node->title;
|
2979
|
+
}
|
2980
|
+
|
2981
|
+
$object = (object)array(
|
2982
|
+
'title' => $title,
|
2983
|
+
'url' => $node->jsdoc_url,
|
2984
|
+
'summary' => jsdoc_get_teaser($node),
|
2985
|
+
'singleton' => jsdoc_is_initialized($node),
|
2986
|
+
'namespace' => jsdoc_is_namespace($node),
|
2987
|
+
'private' => jsdoc_is_private($node),
|
2988
|
+
'private_parent' => jsdoc_has_private_parent($node)
|
2989
|
+
);
|
2990
|
+
|
2991
|
+
if ($object->url) {
|
2992
|
+
$object->a = l($node->title, $node->jsdoc_url);
|
2993
|
+
}
|
2994
|
+
else {
|
2995
|
+
$object->a = $object->title;
|
2996
|
+
}
|
2997
|
+
|
2998
|
+
if ($type = jsdoc_get_type($node)) {
|
2999
|
+
$optional = false;
|
3000
|
+
if (strpos($type, '?') !== false){
|
3001
|
+
$optional = true;
|
3002
|
+
$type = str_replace('?', '', $type);
|
3003
|
+
}
|
3004
|
+
$repeating = false;
|
3005
|
+
if (strpos($type, '...') !== false){
|
3006
|
+
$repeating = true;
|
3007
|
+
$type = str_replace('...', '', $type);
|
3008
|
+
}
|
3009
|
+
$type = jsdoc_object_node_load($type, jsdoc_get_project($node), jsdoc_get_version($node), jsdoc_get_all_provide_nids($node, array(3, 4)));
|
3010
|
+
$object->type = (object)array(
|
3011
|
+
'title' => $type->title,
|
3012
|
+
'url' => $type->jsdoc_url,
|
3013
|
+
'optional' => $optional,
|
3014
|
+
'repeating' => $repeating
|
3015
|
+
);
|
3016
|
+
if ($type->jsdoc_url) {
|
3017
|
+
$object->type->a = l($type->title, $type->jsdoc_url);
|
3018
|
+
}
|
3019
|
+
else {
|
3020
|
+
$object->type->a = $type->title;
|
3021
|
+
}
|
3022
|
+
|
3023
|
+
if (jsdoc_is_function($node)) {
|
3024
|
+
$parameters = _jsdoc_get_parameters_themed($node, false, $depth);
|
3025
|
+
if (!empty($parameters)) {
|
3026
|
+
$object->parameters = $parameters;
|
3027
|
+
}
|
3028
|
+
$signature = _jsdoc_build_function_signature($node, $parameters);
|
3029
|
+
if (!empty($signature)) {
|
3030
|
+
$object->signature = $signature;
|
3031
|
+
}
|
3032
|
+
$source = jsdoc_get_source($node, $depth);
|
3033
|
+
if (!empty($source)) {
|
3034
|
+
$object->source = $source;
|
3035
|
+
}
|
3036
|
+
}
|
3037
|
+
}
|
3038
|
+
|
3039
|
+
return $object;
|
3040
|
+
}
|
3041
|
+
|
3042
|
+
function jsdoc_resolve_constructor(&$node, $cleaned=true, $depth=0) {
|
3043
|
+
if (trim($node->jsdoc_source) || jsdoc_get_parameters($node)) {
|
3044
|
+
return ($cleaned) ? _jsdoc_get_object_themed($node, $node->title, $depth) : $node;
|
3045
|
+
}
|
3046
|
+
|
3047
|
+
$prototype_objects = array();
|
3048
|
+
$prototype_chain = jsdoc_get_prototype_chain($node, array(3, 4));
|
3049
|
+
$prototype_chain[] = $node;
|
3050
|
+
foreach ($prototype_chain as $prototype) {
|
3051
|
+
$children_all = jsdoc_get_children($prototype);
|
3052
|
+
$prototype_object_children = array();
|
3053
|
+
foreach ($children_all as $type => $children) {
|
3054
|
+
if ($type == 'prototypes' || $type == 'instances') {
|
3055
|
+
foreach ($children as $child) {
|
3056
|
+
if (jsdoc_get_type($child) == 'Function') {
|
3057
|
+
$title = $child->title;
|
3058
|
+
if ($prototype->title . '.' == substr($title, 0, strlen($prototype->title) + 1)) {
|
3059
|
+
$title = substr($title, strlen($prototype->title) + 1);
|
3060
|
+
}
|
3061
|
+
$prototype_object_children[$title] = _jsdoc_get_object_themed($child, $title, $depth);
|
3062
|
+
$prototype_object_children[$title]->node = $child;
|
3063
|
+
}
|
3064
|
+
}
|
3065
|
+
}
|
3066
|
+
}
|
3067
|
+
if (!empty($prototype_object_children)) {
|
3068
|
+
$prototype_object = _jsdoc_get_object_themed($prototype, $prototype->title, $depth);
|
3069
|
+
$prototype_object->node = $prototype;
|
3070
|
+
$prototype_objects[] = (object)array(
|
3071
|
+
'node' => $prototype_object,
|
3072
|
+
'children' => $prototype_object_children
|
3073
|
+
);
|
3074
|
+
}
|
3075
|
+
}
|
3076
|
+
if ($constructor = theme('jsdoc_resolve_constructor', $prototype_objects)) {
|
3077
|
+
return ($cleaned) ? $constructor : $constructor->node;
|
3078
|
+
}
|
3079
|
+
}
|
3080
|
+
|
3081
|
+
function _jsdoc_get_type_themed($type, $node, $cleaned){
|
3082
|
+
$obj = jsdoc_object_node_load($type, jsdoc_get_project($node), jsdoc_get_version($node), jsdoc_get_all_provide_nids($node, array(3, 4)));
|
3083
|
+
if ($obj) {
|
3084
|
+
$type = (object)array(
|
3085
|
+
'title' => $obj->title,
|
3086
|
+
'summary' => jsdoc_get_teaser($obj),
|
3087
|
+
'fields' => false
|
3088
|
+
);
|
3089
|
+
if (!$cleaned) {
|
3090
|
+
$type->url = $obj->jsdoc_url;
|
3091
|
+
$type->a = l($obj->title, $obj->jsdoc_url);
|
3092
|
+
}
|
3093
|
+
// It will have an nid if it's local. For example type: Function isn't local
|
3094
|
+
if ($obj->nid) {
|
3095
|
+
$type->fields = array();
|
3096
|
+
$prototype_chain = jsdoc_get_prototype_chain($obj, array(3, 4));
|
3097
|
+
|
3098
|
+
for ($i = 0; $i < count($prototype_chain); $i++) {
|
3099
|
+
$item = $prototype_chain[$i];
|
3100
|
+
if ($mixin_chain_mixins_all = jsdoc_get_parent_mixins($item)) {
|
3101
|
+
foreach ($mixin_chain_mixins_all as $mixin_type => $mixin_chain_mixins) {
|
3102
|
+
if ($mixin_type == 'prototype' && is_array($mixin_chain_mixins)) {
|
3103
|
+
ksort($mixin_chain_mixins);
|
3104
|
+
foreach ($mixin_chain_mixins as $mixin) {
|
3105
|
+
if (substr($mixin, -10) == '.prototype') {
|
3106
|
+
// I don't think this is a bad assumption
|
3107
|
+
$mixin = substr($mixin, 0, -10);
|
3108
|
+
}
|
3109
|
+
$mixin = jsdoc_object_node_load($mixin, jsdoc_get_project($item), jsdoc_get_version($item), jsdoc_get_all_provide_nids($item, array(3, 4)));
|
3110
|
+
if ($i > 0 && $prototype_chain[$i - 1]->title == $mixin->title) {
|
3111
|
+
continue;
|
3112
|
+
}
|
3113
|
+
array_splice($prototype_chain, $i++, 0, array($mixin));
|
3114
|
+
}
|
3115
|
+
}
|
3116
|
+
}
|
3117
|
+
}
|
3118
|
+
}
|
3119
|
+
|
3120
|
+
$prototype_chain[] = $obj;
|
3121
|
+
foreach ($prototype_chain as $obj) {
|
3122
|
+
if ($obj->nid) {
|
3123
|
+
$args = jsdoc_get_child_instances($obj);
|
3124
|
+
foreach (jsdoc_get_child_prototypes($obj) as $title => $arg) {
|
3125
|
+
$args[$title] = $arg;
|
3126
|
+
}
|
3127
|
+
if (!empty($args)) {
|
3128
|
+
foreach ($args as $arg) {
|
3129
|
+
$title = $parameter->name . '.' . substr($arg->title, strlen($obj->title) + 1);
|
3130
|
+
|
3131
|
+
$field = (object)array(
|
3132
|
+
'title' => $title,
|
3133
|
+
'summary' => jsdoc_get_teaser($arg),
|
3134
|
+
'types' => false
|
3135
|
+
);
|
3136
|
+
if (!$cleaned) {
|
3137
|
+
$field->url = $arg->jsdoc_url;
|
3138
|
+
$field->a = l($title, $arg->jsdoc_url);
|
3139
|
+
}
|
3140
|
+
|
3141
|
+
$field_types = preg_split('%\|+%', jsdoc_get_type($arg));
|
3142
|
+
foreach ($field_types as $field_type) {
|
3143
|
+
$found = 0;
|
3144
|
+
$field_type = str_replace('?', '', $field_type, $found);
|
3145
|
+
$optional = ($found > 0);
|
3146
|
+
$found = 0;
|
3147
|
+
$field_type = str_replace('...', '', $field_type, $found);
|
3148
|
+
$repeating = ($found > 0);
|
3149
|
+
|
3150
|
+
$field_obj = jsdoc_object_node_load($field_type, jsdoc_get_project($node), jsdoc_get_version($node), jsdoc_get_all_provide_nids($node, array(3, 4)));
|
3151
|
+
$field_type = (object)array(
|
3152
|
+
'title' => $field_obj->title,
|
3153
|
+
'repeating' => $repeating,
|
3154
|
+
'optional' => $optional,
|
3155
|
+
'summary' => jsdoc_get_teaser($field_obj)
|
3156
|
+
);
|
3157
|
+
if (!$cleaned) {
|
3158
|
+
$field_type->url = $field_obj->jsdoc_url;
|
3159
|
+
$field_type->a = l($field_obj->title, $field_obj->jsdoc_url);
|
3160
|
+
}
|
3161
|
+
$field->types[] = $field_type;
|
3162
|
+
}
|
3163
|
+
|
3164
|
+
$type->fields[$field->title] = $field;
|
3165
|
+
}
|
3166
|
+
}
|
3167
|
+
}
|
3168
|
+
}
|
3169
|
+
if (empty($type->fields)) {
|
3170
|
+
unset($type->fields);
|
3171
|
+
}else{
|
3172
|
+
uksort($type->fields, 'strnatcasecmp');
|
3173
|
+
}
|
3174
|
+
}
|
3175
|
+
return $type;
|
3176
|
+
}
|
3177
|
+
}
|
3178
|
+
|
3179
|
+
function _jsdoc_get_parameters_themed(&$node, $cleaned=false, $depth=0) {
|
3180
|
+
if (isset($node->jsdoc_parameters_themed)) {
|
3181
|
+
return $node->jsdoc_parameters_themed;
|
3182
|
+
}
|
3183
|
+
|
3184
|
+
$parameters = array();
|
3185
|
+
$retrieved_parameters = jsdoc_get_parameters($node);
|
3186
|
+
|
3187
|
+
if ($depth++ < 2 && empty($retrieved_parameters) && jsdoc_get_type($node) == 'Constructor') {
|
3188
|
+
if ($constructor = jsdoc_resolve_constructor($node, true, $depth)) {
|
3189
|
+
$node->jsdoc_parameters = jsdoc_get_parameters($constructor->node);
|
3190
|
+
$parameters = $constructor->parameters;
|
3191
|
+
}
|
3192
|
+
}
|
3193
|
+
else {
|
3194
|
+
foreach ($retrieved_parameters as $item) {
|
3195
|
+
$parameter = (object)$item['jsdoc_formatted'];
|
3196
|
+
$parameter->summary = $item['summary'];
|
3197
|
+
$parameter->name = $item['name'];
|
3198
|
+
$parameter->optional = $item['optional'];
|
3199
|
+
$parameter->repeating = $item['repeating'];
|
3200
|
+
$parameter->types = false;
|
3201
|
+
if ($cleaned) {
|
3202
|
+
unset($parameter->html_type_prefix);
|
3203
|
+
unset($parameter->html_type_suffix);
|
3204
|
+
unset($parameter->separator);
|
3205
|
+
}
|
3206
|
+
|
3207
|
+
$type = $item['type'];
|
3208
|
+
$types = array();
|
3209
|
+
if (strpos($type, '|') !== false) {
|
3210
|
+
$types = preg_split('%\s*\|+\s*%', $type);
|
3211
|
+
}
|
3212
|
+
elseif ($type) {
|
3213
|
+
$types = array($type);
|
3214
|
+
}
|
3215
|
+
|
3216
|
+
foreach ($types as $type) {
|
3217
|
+
if ($type = _jsdoc_get_type_themed($type, $node, $cleaned)) {
|
3218
|
+
$parameter->types[] = $type;
|
3219
|
+
}
|
3220
|
+
}
|
3221
|
+
|
3222
|
+
if (empty($parameter->types)) {
|
3223
|
+
unset($parameter->html_type_prefix);
|
3224
|
+
unset($parameter->html_type_suffix);
|
3225
|
+
unset($parameter->separator);
|
3226
|
+
}
|
3227
|
+
|
3228
|
+
unset($parameter->type);
|
3229
|
+
$parameters[] = $parameter;
|
3230
|
+
}
|
3231
|
+
}
|
3232
|
+
|
3233
|
+
return ($node->jsdoc_parameters_themed = $parameters);
|
3234
|
+
}
|
3235
|
+
|
3236
|
+
function _jsdoc_format_type($type, $classlike = false, $optional = false, $repeating = false) {
|
3237
|
+
$output = array();
|
3238
|
+
$name = '';
|
3239
|
+
|
3240
|
+
if ($type) {
|
3241
|
+
$output['html_type_prefix'] = '/*';
|
3242
|
+
$output['html_type_suffix'] = '*/';
|
3243
|
+
$output['type'] = $type;
|
3244
|
+
if ($type == 'Function' && $classlike) {
|
3245
|
+
$output['type'] = 'Constructor';
|
3246
|
+
}
|
3247
|
+
if ($optional) {
|
3248
|
+
$output['type'] .= '?';
|
3249
|
+
}
|
3250
|
+
if ($repeating) {
|
3251
|
+
$output['type'] .= '...';
|
3252
|
+
}
|
3253
|
+
}
|
3254
|
+
if ($type) {
|
3255
|
+
$output['separator'] .= ' ';
|
3256
|
+
}
|
3257
|
+
|
3258
|
+
return $output;
|
3259
|
+
}
|
3260
|
+
|
3261
|
+
function _jsdoc_object_mixin($node, $object) {
|
3262
|
+
|
3263
|
+
}
|
3264
|
+
|
3265
|
+
/**
|
3266
|
+
* Either load or create an object, dealing with versioning and everything
|
3267
|
+
*
|
3268
|
+
* We look up an object by name and resource, getting the latest nid that we find.
|
3269
|
+
*
|
3270
|
+
* If there is no object present, we use node_save to create a new node. After
|
3271
|
+
* this, we can just exit the block.
|
3272
|
+
*
|
3273
|
+
* If there is an object present, the first thing to check for is to see if
|
3274
|
+
* we need to create a new revision of the object. We do this by checking
|
3275
|
+
* to see if we have a new revision, if updating flag is set in the DB, or
|
3276
|
+
* if the parameters have been updated. In this case, we create a new version
|
3277
|
+
* of the node.
|
3278
|
+
*
|
3279
|
+
* For a few values, we check to see if they are either absent in the DB or
|
3280
|
+
* if the updating flag is set (the user is basically saying for the JS to "win").
|
3281
|
+
*
|
3282
|
+
* For the rest of the values, the values from JS win.
|
3283
|
+
*/
|
3284
|
+
function _jsdoc_object_get_or_create($namespace, $name, $summary, $description, $resource, $provide, $private, $private_parent, $initialized, $classlike, $type, $returns, $return_summary, $source, $parameters, $examples, $aliases, $instance, $prototype, $chains, $mixins) {
|
3285
|
+
if (!$nid_vid = db_fetch_object(db_query("SELECT nr.nid, MAX(nr.vid) AS vid FROM {jsdoc_objects} j JOIN {node_revisions} nr ON (nr.vid = j.vid) WHERE nr.title = '%s' AND BINARY nr.title = '%s' AND j.resource_vid = %d GROUP BY nr.nid", $name, $name, $resource->vid))) {
|
3286
|
+
// Create a node for this object if we don't already have one
|
3287
|
+
$node = (object)array(
|
3288
|
+
'title' => $name,
|
3289
|
+
'type' => 'jsdoc_object',
|
3290
|
+
'teaser' => $summary, // from source
|
3291
|
+
'body' => $description, // immutable by source
|
3292
|
+
'uid' => 1,
|
3293
|
+
'status' => 1,
|
3294
|
+
'comment' => 2,
|
3295
|
+
'promote' => 0,
|
3296
|
+
'sticky' => 0,
|
3297
|
+
'jsdoc_cron' => true,
|
3298
|
+
'jsdoc_project_name' => $namespace, // from source
|
3299
|
+
'jsdoc_resource' => $resource->nid, // from source,
|
3300
|
+
'jsdoc_resource_vid' => $resource->vid, // from source,
|
3301
|
+
'jsdoc_provide' => $provide->nid, // from source
|
3302
|
+
'jsdoc_provide_vid' => $provide->vid, // from source
|
3303
|
+
'jsdoc_private' => $private, // from source
|
3304
|
+
'jsdoc_private_parent' => $private_parent, // from source
|
3305
|
+
'jsdoc_initialized' => $initialized, // from source
|
3306
|
+
'jsdoc_classlike' => $classlike, // immutable by source
|
3307
|
+
'jsdoc_type' => $type, // immutable
|
3308
|
+
'jsdoc_returns' => $returns, // from source
|
3309
|
+
'jsdoc_return_summary' => $return_summary, // from source
|
3310
|
+
'jsdoc_source' => $source, // from source
|
3311
|
+
'jsdoc_parameters' => $parameters, // from source
|
3312
|
+
'jsdoc_examples' => $examples, // from source. Although I'd like to add a screen for new ones
|
3313
|
+
'jsdoc_aliases' => $aliases, // from source
|
3314
|
+
'jsdoc_instance' => $instance, // from source
|
3315
|
+
'jsdoc_prototype' => $prototype, // from source
|
3316
|
+
'jsdoc_chains' => $chains, // from source
|
3317
|
+
'jsdoc_mixins' => $mixins // from source
|
3318
|
+
);
|
3319
|
+
if (trim($description)) {
|
3320
|
+
$node->format = variable_get('jsdoc_input_format', 1);
|
3321
|
+
}
|
3322
|
+
node_save($node);
|
3323
|
+
$node = _jsdoc_node_load($node->nid);
|
3324
|
+
}
|
3325
|
+
else {
|
3326
|
+
$node = _jsdoc_node_load($nid_vid->nid, $nid_vid->vid);
|
3327
|
+
$node->jsdoc_cron = true;
|
3328
|
+
$new_version = false;
|
3329
|
+
if ($node->jsdoc_updating) {
|
3330
|
+
// Who knows if we'll have more conditions in the future? Not me.
|
3331
|
+
$new_version = true;
|
3332
|
+
}
|
3333
|
+
|
3334
|
+
if ($parameters) {
|
3335
|
+
jsdoc_get_parameters($node);
|
3336
|
+
foreach ($parameters as $parameter_name => $parameter) {
|
3337
|
+
if (is_array($node->jsdoc_parameters) && array_key_exists($parameter_name, $node->jsdoc_parameters)) {
|
3338
|
+
if (empty($parameter['type']) || !$new_version) {
|
3339
|
+
$parameters[$parameter_name]['type'] = $node->jsdoc_parameters[$parameter_name]['type']; // Database writes over source
|
3340
|
+
}
|
3341
|
+
if (empty($parameter['summary']) || !$new_version) {
|
3342
|
+
$parameters[$parameter_name]['summary'] = $node->jsdoc_parameters[$parameter_name]['summary']; // Database writes over source
|
3343
|
+
}
|
3344
|
+
}
|
3345
|
+
}
|
3346
|
+
}
|
3347
|
+
|
3348
|
+
$node->jsdoc_parameters = $parameters;
|
3349
|
+
|
3350
|
+
// Allow overriding of all properties, not just mutable values.
|
3351
|
+
// Create a new revision before we do this, though (see logic block above)
|
3352
|
+
if ($new_version || !$node->jsdoc_type) {
|
3353
|
+
$node->jsdoc_type = $type;
|
3354
|
+
}
|
3355
|
+
|
3356
|
+
if ($new_version || !trim($node->body)) {
|
3357
|
+
$node->body = $description;
|
3358
|
+
$node->format = variable_get('jsdoc_input_format', 1);
|
3359
|
+
}
|
3360
|
+
|
3361
|
+
if ($new_version) {
|
3362
|
+
$node->jsdoc_classlike = $classlike;
|
3363
|
+
}
|
3364
|
+
|
3365
|
+
$node->teaser = $summary;
|
3366
|
+
$node->jsdoc_private = $private;
|
3367
|
+
$node->jsdoc_private_parent = $private_parent;
|
3368
|
+
$node->jsdoc_initialized = $initialized;
|
3369
|
+
$node->jsdoc_returns = $returns;
|
3370
|
+
$node->jsdoc_return_summary = $return_summary;
|
3371
|
+
$node->jsdoc_resource = $resource->nid;
|
3372
|
+
$node->jsdoc_resource_vid = $resource->vid;
|
3373
|
+
$node->jsdoc_provide = $provide->nid;
|
3374
|
+
$node->jsdoc_provide_vid = $provide->vid;
|
3375
|
+
$node->jsdoc_source = $source;
|
3376
|
+
$node->jsdoc_aliases = $aliases;
|
3377
|
+
$node->jsdoc_examples = $examples;
|
3378
|
+
$node->jsdoc_instance = $instance;
|
3379
|
+
$node->jsdoc_prototype = $prototype;
|
3380
|
+
$node->jsdoc_chains = $chains;
|
3381
|
+
$node->jsdoc_mixins = $mixins;
|
3382
|
+
|
3383
|
+
$node->revision = false;
|
3384
|
+
node_save($node);
|
3385
|
+
$node = _jsdoc_node_load($node->nid);
|
3386
|
+
}
|
3387
|
+
|
3388
|
+
return $node;
|
3389
|
+
}
|
3390
|
+
|
3391
|
+
function _jsdoc_variable_get_or_create($name, $project_name, $private) {
|
3392
|
+
if (is_object($project_name)) {
|
3393
|
+
$project = $project_name;
|
3394
|
+
$version = jsdoc_get_version($project);
|
3395
|
+
}
|
3396
|
+
else {
|
3397
|
+
$project = _jsdoc_project_get_or_create($project_name);
|
3398
|
+
$version = _jsdoc_version_get_or_create('HEAD', $project);
|
3399
|
+
}
|
3400
|
+
|
3401
|
+
if (!$nid = db_result(db_query("SELECT nr.nid FROM {jsdoc_variables} j JOIN {node_revisions} nr ON (j.vid = nr.vid) WHERE nr.title = '%s' AND BINARY nr.title = '%s' AND j.version = %d ORDER BY nr.vid DESC", $name, $name, $version->nid))) {
|
3402
|
+
$node = (object)array(
|
3403
|
+
'title' => $name,
|
3404
|
+
'jsdoc_version' => $version->nid,
|
3405
|
+
'jsdoc_private' => $private,
|
3406
|
+
'type' => 'jsdoc_variable',
|
3407
|
+
'uid' => 1,
|
3408
|
+
'status' => 1,
|
3409
|
+
'comment' => 2,
|
3410
|
+
'promote' => 0,
|
3411
|
+
'sticky' => 0
|
3412
|
+
);
|
3413
|
+
node_save($node);
|
3414
|
+
$node = _jsdoc_node_load($node->nid);
|
3415
|
+
}
|
3416
|
+
else {
|
3417
|
+
$node = _jsdoc_node_load($nid);
|
3418
|
+
|
3419
|
+
$node->jsdoc_private = $private;
|
3420
|
+
|
3421
|
+
node_save($node);
|
3422
|
+
$node = _jsdoc_node_load($node->nid);
|
3423
|
+
}
|
3424
|
+
|
3425
|
+
return $node;
|
3426
|
+
}
|
3427
|
+
|
3428
|
+
function _jsdoc_resource_get_or_create($name, $project_name) {
|
3429
|
+
if (!$nid = db_result(db_query("SELECT nr.nid FROM {jsdoc_resources} j JOIN {node_revisions} nr ON (j.vid = nr.vid) WHERE nr.title = '%s' AND BINARY nr.title = '%s' ORDER BY nr.vid DESC", $name, $name))) {
|
3430
|
+
$project = _jsdoc_project_get_or_create($project_name);
|
3431
|
+
$node = (object)array(
|
3432
|
+
'jsdoc_version' => jsdoc_get_version($project)->nid,
|
3433
|
+
'title' => $name,
|
3434
|
+
'type' => 'jsdoc_resource',
|
3435
|
+
'uid' => 1,
|
3436
|
+
'status' => 1,
|
3437
|
+
'comment' => 2,
|
3438
|
+
'promote' => 0,
|
3439
|
+
'stick' => 0
|
3440
|
+
);
|
3441
|
+
node_save($node);
|
3442
|
+
$is_new = $node->is_new;
|
3443
|
+
$node = _jsdoc_node_load($node->nid);
|
3444
|
+
if ($is_new) {
|
3445
|
+
$node->is_new = $is_new;
|
3446
|
+
}
|
3447
|
+
}
|
3448
|
+
else {
|
3449
|
+
$node = _jsdoc_node_load($nid);
|
3450
|
+
}
|
3451
|
+
|
3452
|
+
return $node;
|
3453
|
+
}
|
3454
|
+
|
3455
|
+
function _jsdoc_project_get_or_create($name) {
|
3456
|
+
if (!$nid = db_result(db_query("SELECT nid FROM {node} n WHERE type = 'jsdoc_project' AND title = '%s' AND BINARY title = '%s'", $name, $name))) {
|
3457
|
+
$node = (object)array(
|
3458
|
+
'title' => $name,
|
3459
|
+
'type' => 'jsdoc_project',
|
3460
|
+
'uid' => 1,
|
3461
|
+
'status' => 1,
|
3462
|
+
'comment' => 0,
|
3463
|
+
'promote' => 0,
|
3464
|
+
'stick' => 0
|
3465
|
+
);
|
3466
|
+
node_save($node);
|
3467
|
+
$node = _jsdoc_node_load($node->nid);
|
3468
|
+
}
|
3469
|
+
else {
|
3470
|
+
$node = _jsdoc_node_load($nid);
|
3471
|
+
}
|
3472
|
+
|
3473
|
+
return $node;
|
3474
|
+
}
|
3475
|
+
|
3476
|
+
function _jsdoc_version_get_or_create($name, $project_nid) {
|
3477
|
+
if (is_object($project_nid) && $project_nid->nid) {
|
3478
|
+
$project_nid = $project_nid->nid;
|
3479
|
+
}
|
3480
|
+
if (!$nid = db_result(db_query("SELECT n.nid FROM {node} n JOIN {jsdoc_versions} j ON (j.nid = n.nid) WHERE n.type = 'jsdoc_version' AND n.title = '%s' AND BINARY n.title = '%s' AND j.project = %d", $name, $name, $project_nid))) {
|
3481
|
+
$node = (object)array(
|
3482
|
+
'jsdoc_project' => $project_nid,
|
3483
|
+
'title' => $name,
|
3484
|
+
'type' => 'jsdoc_version',
|
3485
|
+
'uid' => 1,
|
3486
|
+
'status' => 1,
|
3487
|
+
'comment' => 2,
|
3488
|
+
'promote' => 0,
|
3489
|
+
'stick' => 0
|
3490
|
+
);
|
3491
|
+
node_save($node);
|
3492
|
+
}
|
3493
|
+
else {
|
3494
|
+
$node = _jsdoc_node_load($nid);
|
3495
|
+
}
|
3496
|
+
return $node;
|
3497
|
+
}
|
3498
|
+
|
3499
|
+
function _jsdoc_detail_update_joins($node) {
|
3500
|
+
if (!isset($node->jsdoc_cron)) return;
|
3501
|
+
|
3502
|
+
db_query("DELETE FROM {jsdoc_variable_hierarchy} WHERE nid = %d AND version = %d", $node->nid, jsdoc_get_version($node)->nid);
|
3503
|
+
if ($node->jsdoc_aliases) {
|
3504
|
+
$parent = _jsdoc_variable_get_or_create($node->jsdoc_aliases, jsdoc_get_project($node), false);
|
3505
|
+
db_query("INSERT INTO {jsdoc_variable_hierarchy} (vid, nid, parent_vid, parent_nid, type, version) VALUES (%d, %d, %d, %d, '%s', %d)", $node->vid, $node->nid, $parent->vid, $parent->nid, 'alias', jsdoc_get_version($node)->nid);
|
3506
|
+
}
|
3507
|
+
else {
|
3508
|
+
if ($node->jsdoc_instance) {
|
3509
|
+
$parent = _jsdoc_variable_get_or_create($node->jsdoc_instance, jsdoc_get_project($node), false);
|
3510
|
+
db_query("INSERT INTO {jsdoc_variable_hierarchy} (vid, nid, parent_vid, parent_nid, type, version) VALUES (%d, %d, %d, %d, '%s', %d)", $node->vid, $node->nid, $parent->vid, $parent->nid, 'instance', jsdoc_get_version($node)->nid);
|
3511
|
+
|
3512
|
+
// If object foo has function foo.bar and foo.bar uses the variable
|
3513
|
+
// this.baz and is uninstantiated, `this` would refer to foo,
|
3514
|
+
// making baz a property of foo. So we create a normal join
|
3515
|
+
// from foo.bar.baz to foo.baz by removing the second to last object section
|
3516
|
+
if (preg_match('%^([^.]+)\.[^.]+\.([^.]+)$%', $node->title, $match)) {
|
3517
|
+
$parent = _jsdoc_variable_get_or_create($match[1] . '.' . $match[2], jsdoc_get_project($node), false);
|
3518
|
+
db_query("INSERT INTO {jsdoc_variable_hierarchy} (vid, nid, parent_vid, parent_nid, type, version) VALUES (%d, %d, %d, %d, '%s', %d)", $node->vid, $node->nid, $parent->vid, $parent->nid, 'cascading', jsdoc_get_version($node)->nid);
|
3519
|
+
}
|
3520
|
+
}
|
3521
|
+
if ($node->jsdoc_prototype) {
|
3522
|
+
$parent = _jsdoc_variable_get_or_create($node->jsdoc_prototype, jsdoc_get_project($node), false);
|
3523
|
+
db_query("INSERT INTO {jsdoc_variable_hierarchy} (vid, nid, parent_vid, parent_nid, type, version) VALUES (%d, %d, %d, %d, '%s', %d)", $node->vid, $node->nid, $parent->vid, $parent->nid, 'prototype', jsdoc_get_version($node)->nid);
|
3524
|
+
}
|
3525
|
+
if (!$node->jsdoc_instance && !$node->jsdoc_prototype) {
|
3526
|
+
$parts = explode('.', $node->title);
|
3527
|
+
if (count($parts) == 1) {
|
3528
|
+
$parent = 'window';
|
3529
|
+
}
|
3530
|
+
else {
|
3531
|
+
array_pop($parts);
|
3532
|
+
$parent = implode('.', $parts);
|
3533
|
+
}
|
3534
|
+
$parent = _jsdoc_variable_get_or_create($parent, jsdoc_get_project($node), false);
|
3535
|
+
db_query("INSERT INTO {jsdoc_variable_hierarchy} (vid, nid, parent_vid, parent_nid, type, version) VALUES (%d, %d, %d, %d, '%s', %d)", $node->vid, $node->nid, $parent->vid, $parent->nid, 'normal', jsdoc_get_version($node)->nid);
|
3536
|
+
}
|
3537
|
+
if ($node->jsdoc_mixins) {
|
3538
|
+
foreach ($node->jsdoc_mixins as $subtype => $mixin) {
|
3539
|
+
if ($subtype == 'normal') {
|
3540
|
+
$subtype = '';
|
3541
|
+
}
|
3542
|
+
$mixin = array_unique($mixin);
|
3543
|
+
foreach ($mixin as $parent) {
|
3544
|
+
$parent = _jsdoc_variable_get_or_create($parent, jsdoc_get_project($node), false);
|
3545
|
+
db_query("INSERT INTO {jsdoc_variable_hierarchy} (vid, nid, parent_vid, parent_nid, type, subtype, version) VALUES (%d, %d, %d, %d, '%s', '%s', %d)", $node->vid, $node->nid, $parent->vid, $parent->nid, 'mixin', $subtype, jsdoc_get_version($node)->nid);
|
3546
|
+
}
|
3547
|
+
}
|
3548
|
+
}
|
3549
|
+
if ($node->jsdoc_chains) {
|
3550
|
+
foreach ($node->jsdoc_chains as $subtype => $chain) {
|
3551
|
+
$chain = array_unique($chain);
|
3552
|
+
foreach ($chain as $parent) {
|
3553
|
+
$parent = _jsdoc_variable_get_or_create($parent, jsdoc_get_project($node), false);
|
3554
|
+
db_query("INSERT INTO {jsdoc_variable_hierarchy} (vid, nid, parent_vid, parent_nid, type, subtype, version) VALUES (%d, %d, %d, %d, '%s', '%s', %d)", $node->vid, $node->nid, $parent->vid, $parent->nid, 'chain', $subtype, jsdoc_get_version($node)->nid);
|
3555
|
+
}
|
3556
|
+
}
|
3557
|
+
}
|
3558
|
+
}
|
3559
|
+
}
|
3560
|
+
|
3561
|
+
function jsdoc_get_all_provide_nids(&$node, $environments) {
|
3562
|
+
return jsdoc_get_resources($node, $environments)->jsdoc_provide_nids;
|
3563
|
+
}
|
3564
|
+
|
3565
|
+
function jsdoc_get_prototype_chain($node, $environments, $output = array()) {
|
3566
|
+
$parents = jsdoc_get_parents($node);
|
3567
|
+
$resources = jsdoc_get_resources($node, $environments);
|
3568
|
+
array_unshift($output, $node);
|
3569
|
+
|
3570
|
+
$prototype = "";
|
3571
|
+
if ($parents->chain && !empty($parents->chain['prototype'])) {
|
3572
|
+
$prototype = $parents->chain['prototype'][0];
|
3573
|
+
}
|
3574
|
+
if ($prototype) {
|
3575
|
+
if ($parent = jsdoc_object_node_load($prototype, jsdoc_get_project($node), jsdoc_get_version($node), jsdoc_get_resources($node, $environments)->jsdoc_provide_nids)) {
|
3576
|
+
return jsdoc_get_prototype_chain($parent, $environments, $output);
|
3577
|
+
}
|
3578
|
+
}
|
3579
|
+
|
3580
|
+
if (count($output) == 1) {
|
3581
|
+
return array();
|
3582
|
+
}
|
3583
|
+
|
3584
|
+
array_unshift($output, jsdoc_object_node_load('Object', jsdoc_get_project($node), jsdoc_get_version($node)));
|
3585
|
+
return $output;
|
3586
|
+
}
|
3587
|
+
|
3588
|
+
function jsdoc_get_variable_resources(&$node) {
|
3589
|
+
if (isset($node->variable_resources)) {
|
3590
|
+
return $node->variable_resources;
|
3591
|
+
}
|
3592
|
+
|
3593
|
+
$node->variable_resources = array();
|
3594
|
+
if ($node->type == 'jsdoc_variable') {
|
3595
|
+
$query = db_query("SELECT j.resource_nid AS nid, j.resource_vid AS vid FROM {jsdoc_objects} j JOIN {node_revisions} nr ON (nr.vid = j.vid) WHERE nr.title = '%s' AND BINARY nr.title = '%s' AND j.version = %d", $node->title, $node->title, jsdoc_get_version($node)->nid);
|
3596
|
+
while ($result = db_fetch_object($query)) {
|
3597
|
+
$node->variable_resources[] = _jsdoc_node_load($result->nid, $result->vid);
|
3598
|
+
}
|
3599
|
+
}
|
3600
|
+
elseif ($node->type == 'jsdoc_object') {
|
3601
|
+
if ($resource = jsdoc_get_resource($node)) {
|
3602
|
+
$node->variable_resources[] = $resource;
|
3603
|
+
}
|
3604
|
+
}
|
3605
|
+
|
3606
|
+
return $node->variable_resources;
|
3607
|
+
}
|
3608
|
+
|
3609
|
+
function jsdoc_current_node($node=null) {
|
3610
|
+
static $current;
|
3611
|
+
if (is_null($node)) {
|
3612
|
+
return $current;
|
3613
|
+
}
|
3614
|
+
$current = $node;
|
3615
|
+
}
|
3616
|
+
|
3617
|
+
function jsdoc_get_resources(&$node, $environments) {
|
3618
|
+
if (isset($node->jsdoc_resources)) {
|
3619
|
+
return (object)array(
|
3620
|
+
'jsdoc_provide_nids' => $node->jsdoc_provide_nids,
|
3621
|
+
'jsdoc_resources' => $node->jsdoc_resources
|
3622
|
+
);
|
3623
|
+
}
|
3624
|
+
|
3625
|
+
$node->jsdoc_provide_nids = array();
|
3626
|
+
$node->jsdoc_resources = array();
|
3627
|
+
|
3628
|
+
if ($node->type == 'jsdoc_object') {
|
3629
|
+
$object = $node;
|
3630
|
+
}
|
3631
|
+
elseif ($node->type == 'jsdoc_variable' && jsdoc_get_variable_object($node)) {
|
3632
|
+
$object = jsdoc_get_variable_object($node);
|
3633
|
+
}
|
3634
|
+
|
3635
|
+
$provide = jsdoc_get_provide($node);
|
3636
|
+
$node_resource = jsdoc_get_resource($node);
|
3637
|
+
|
3638
|
+
if ($object && $provide) {
|
3639
|
+
$object_provide = jsdoc_get_provide($object);
|
3640
|
+
$resource_tree = _jsdoc_get_tree($environments, $provide->nid);
|
3641
|
+
$provide_nids = array();
|
3642
|
+
$resources = array();
|
3643
|
+
foreach ($resource_tree as $resource) {
|
3644
|
+
$provide_nids[] = $resource->nid;
|
3645
|
+
$resource_node = _jsdoc_node_load($resource->nid, $resource->vid);
|
3646
|
+
$resource_node->jsdoc_resource_depth = $resource->depth;
|
3647
|
+
$resources[] = $resource_node;
|
3648
|
+
}
|
3649
|
+
if ($provide && !in_array($provide->nid, $provide_nids)) {
|
3650
|
+
$provide_nids[] = $provide->nid;
|
3651
|
+
$resource_node = _jsdoc_node_load($provide->nid, $provide->vid);
|
3652
|
+
$resource_node->jsdoc_resource_depth = -1;
|
3653
|
+
$resources[] = $resource_node;
|
3654
|
+
}
|
3655
|
+
if ($object_provide->nid && !in_array($object_provide->nid, $provide_nids)) {
|
3656
|
+
$provide_nids[] = $object_provide->nid;
|
3657
|
+
$resource_node = _jsdoc_node_load($object_provide->nid, $object_provide->vid);
|
3658
|
+
$resource_node->jsdoc_resource_depth = -1;
|
3659
|
+
$resources[] = $resource_node;
|
3660
|
+
}
|
3661
|
+
$node->jsdoc_provide_nids = $object->jsdoc_provide_nids = array_unique($provide_nids);
|
3662
|
+
$node->jsdoc_resources = $object->jsdoc_resources = $resources;
|
3663
|
+
}
|
3664
|
+
|
3665
|
+
return jsdoc_get_resources($node, $environments);
|
3666
|
+
}
|
3667
|
+
|
3668
|
+
function _jsdoc_get_tree($environments, $parent = 0, $depth = -1, $visited=array()) {
|
3669
|
+
static $children, $parents, $terms;
|
3670
|
+
|
3671
|
+
$depth++;
|
3672
|
+
|
3673
|
+
if (!isset($parents)) {
|
3674
|
+
$parents = array();
|
3675
|
+
|
3676
|
+
$result = db_query("SELECT j.vid, j.nid, j.parent_vid, j.parent_nid, nr.title AS name FROM {jsdoc_resource_hierarchy} j JOIN {node_revisions} nr ON (j.vid = nr.vid) WHERE j.tid IN (%s) GROUP BY j.vid, j.parent_vid, BINARY nr.title", implode(',', $environments));
|
3677
|
+
while ($term = db_fetch_object($result)) {
|
3678
|
+
if ($term->parent_vid) {
|
3679
|
+
$children[$term->parent_nid][] = $term->nid;
|
3680
|
+
$parents[$term->nid][] = array($term->parent_nid, $term->parent_vid);
|
3681
|
+
}
|
3682
|
+
$terms[$term->nid] = $term;
|
3683
|
+
}
|
3684
|
+
}
|
3685
|
+
|
3686
|
+
if ($parents[$parent]) {
|
3687
|
+
foreach ($parents[$parent] as $parent) {
|
3688
|
+
if (isset($terms[$parent[0]])) {
|
3689
|
+
$term = $terms[$parent[0]];
|
3690
|
+
}
|
3691
|
+
else {
|
3692
|
+
$term = (object)array('nid' => $parent[0], 'vid' => $parent[1]);
|
3693
|
+
$term->name = $term->title;
|
3694
|
+
}
|
3695
|
+
|
3696
|
+
$term->depth = $depth;
|
3697
|
+
$term->children = $children[$parent[0]];
|
3698
|
+
$tree[] = $term;
|
3699
|
+
|
3700
|
+
if ($parents[$parent[0]]) {
|
3701
|
+
if (in_array($parent[0], $visited)) {
|
3702
|
+
return $tree;
|
3703
|
+
}
|
3704
|
+
$visited[] = $parent[0];
|
3705
|
+
$tree = array_merge($tree, _jsdoc_get_tree($environments, $parent[0], $depth, $visited));
|
3706
|
+
}
|
3707
|
+
}
|
3708
|
+
}
|
3709
|
+
|
3710
|
+
return $tree ? $tree : array();
|
3711
|
+
}
|
3712
|
+
|
3713
|
+
function _jsdoc_build_function_signature($node, $parameters) {
|
3714
|
+
if (isset($node->jsdoc_function_signature)) {
|
3715
|
+
return $node->jsdoc_function_signature;
|
3716
|
+
}
|
3717
|
+
|
3718
|
+
if (jsdoc_get_type($node) != 'Function' && jsdoc_get_type($node) != 'Constructor') {
|
3719
|
+
return;
|
3720
|
+
}
|
3721
|
+
|
3722
|
+
$signature = '(';
|
3723
|
+
|
3724
|
+
if ($parameters) {
|
3725
|
+
foreach ($parameters as $weight => $parameter) {
|
3726
|
+
if ($weight) {
|
3727
|
+
$signature .= ', ';
|
3728
|
+
}
|
3729
|
+
$types = array();
|
3730
|
+
if ($parameter->types) {
|
3731
|
+
foreach ($parameter->types as $type) {
|
3732
|
+
$types[] = $type->a;
|
3733
|
+
}
|
3734
|
+
}
|
3735
|
+
$signature .= $parameter->html_type_prefix . implode('|', $types);
|
3736
|
+
if ($parameter->optional) {
|
3737
|
+
$signature .= '?';
|
3738
|
+
}
|
3739
|
+
if ($parameter->repeating) {
|
3740
|
+
$signature .= '...';
|
3741
|
+
}
|
3742
|
+
$signature .= $parameter->html_type_suffix . $parameter->separator . $parameter->name;
|
3743
|
+
}
|
3744
|
+
}
|
3745
|
+
|
3746
|
+
$signature .= ')';
|
3747
|
+
|
3748
|
+
return ($node->jsdoc_function_signature = $signature);
|
3749
|
+
}
|
3750
|
+
|
3751
|
+
function _jsdoc_resource_expand($tree, $child, $depth, &$resources){
|
3752
|
+
$output = array();
|
3753
|
+
foreach ($tree as $leaf) {
|
3754
|
+
if ($leaf->depth == $depth && in_array($child, $leaf->children) && !in_array($leaf->vid, $resources)) {
|
3755
|
+
$resources[] = $leaf->vid;
|
3756
|
+
$output[] = $leaf;
|
3757
|
+
}
|
3758
|
+
}
|
3759
|
+
|
3760
|
+
return $output;
|
3761
|
+
}
|
3762
|
+
|
3763
|
+
/**
|
3764
|
+
* Links a node to another node with a taxonomy term.
|
3765
|
+
*
|
3766
|
+
* @param $vid
|
3767
|
+
* The vid of a node_revisions item
|
3768
|
+
* @param $parent
|
3769
|
+
* The vid of a node_revisions item representing a parent of the vid
|
3770
|
+
* @param $tid
|
3771
|
+
* The taxonomy term tid to use to link them together
|
3772
|
+
*/
|
3773
|
+
function _jsdoc_save_hierarchy($provides_node, $requires_node, $tid)
|
3774
|
+
{
|
3775
|
+
db_query("INSERT INTO {jsdoc_resource_hierarchy} (vid, nid, parent_vid, parent_nid, tid, version) VALUES (%d, %d, %d, %d, %d, %d)", $provides_node->vid, $provides_node->nid, $requires_node->vid, $requires_node->nid, $tid, jsdoc_get_version($provides_node)->nid);
|
3776
|
+
}
|
3777
|
+
|
3778
|
+
function _jsdoc_file_location() {
|
3779
|
+
static $location;
|
3780
|
+
|
3781
|
+
if (!isset($location)) {
|
3782
|
+
$location = variable_get('jsdoc_file_location', false);
|
3783
|
+
}
|
3784
|
+
|
3785
|
+
return $location;
|
3786
|
+
}
|
3787
|
+
|
3788
|
+
function _jsdoc_dir_location() {
|
3789
|
+
static $location;
|
3790
|
+
|
3791
|
+
if (!isset($location)) {
|
3792
|
+
$location = variable_get('jsdoc_dir_location', false);
|
3793
|
+
}
|
3794
|
+
|
3795
|
+
return $location;
|
3796
|
+
}
|
3797
|
+
|
3798
|
+
function _jsdoc_base() {
|
3799
|
+
static $base;
|
3800
|
+
|
3801
|
+
if (!isset($base)) {
|
3802
|
+
$base = variable_get('jsdoc_base', 'jsdoc');
|
3803
|
+
}
|
3804
|
+
|
3805
|
+
return $base;
|
3806
|
+
}
|
3807
|
+
|
3808
|
+
function _jsdoc_vocabularies($name) {
|
3809
|
+
static $vocabularies;
|
3810
|
+
|
3811
|
+
if (!isset($vocabularies)) {
|
3812
|
+
$vocabularies = array();
|
3813
|
+
}
|
3814
|
+
|
3815
|
+
if ($vocabularies[$name]) {
|
3816
|
+
return $vocabularies[$name];
|
3817
|
+
}
|
3818
|
+
|
3819
|
+
foreach (taxonomy_get_vocabularies('jsdoc_object') as $vocabulary) {
|
3820
|
+
$vocabularies[$vocabulary->name] = $vocabulary;
|
3821
|
+
}
|
3822
|
+
|
3823
|
+
return $vocabularies[$name];
|
3824
|
+
}
|
3825
|
+
|
3826
|
+
function _jsdoc_environments() {
|
3827
|
+
return _jsdoc_vocabularies('Environments');
|
3828
|
+
}
|
3829
|
+
|
3830
|
+
function _jsdoc_conditions() {
|
3831
|
+
return _jsdoc_vocabularies('Conditions');
|
3832
|
+
}
|
3833
|
+
|
3834
|
+
function _jsdoc_flags() {
|
3835
|
+
return _jsdoc_vocabularies('Flags');
|
3836
|
+
}
|
3837
|
+
|
3838
|
+
/**
|
3839
|
+
* Validate some of the expected global settings
|
3840
|
+
*/
|
3841
|
+
function _jsdoc_cron_validate() {
|
3842
|
+
ini_set('memory_limit', '256M');
|
3843
|
+
|
3844
|
+
if (!_jsdoc_file_location() || !_jsdoc_dir_location()) {
|
3845
|
+
watchdog('jsdoc', t('jsdoc settings should be configured'), WATCHDOG_ERROR);
|
3846
|
+
return false;
|
3847
|
+
}
|
3848
|
+
if (!file_exists(_jsdoc_file_location())) {
|
3849
|
+
watchdog('jsdoc', t('File does not exist ') . _jsdoc_file_location(), WATCHDOG_ERROR);
|
3850
|
+
return false;
|
3851
|
+
}
|
3852
|
+
|
3853
|
+
return true;
|
3854
|
+
}
|
3855
|
+
|
3856
|
+
function _jsdoc_cron_validate_include() {
|
3857
|
+
$files_function = _jsdoc_base() . '_get_files';
|
3858
|
+
if (!function_exists($files_function)) {
|
3859
|
+
watchdog('jsdoc', $files_function . t(' does not exist in ') . $file_location, WATCHDOG_ERROR);
|
3860
|
+
return false;
|
3861
|
+
}
|
3862
|
+
|
3863
|
+
$test_file = _jsdoc_get_base_path() . '/' . drupal_get_path('module', 'jsdoc') . '/cache/test';
|
3864
|
+
if (!@touch($test_file)) {
|
3865
|
+
watchdog('jsdoc', t('Need permission to access the jsdoc cache directory'), WATCHDOG_ERROR);
|
3866
|
+
return false;
|
3867
|
+
}
|
3868
|
+
else {
|
3869
|
+
unlink($test_file);
|
3870
|
+
}
|
3871
|
+
|
3872
|
+
if (function_exists(_jsdoc_base() . '_get_conditions')) {
|
3873
|
+
$conditions = call_user_func(_jsdoc_base() . '_get_conditions');
|
3874
|
+
|
3875
|
+
$found = false;
|
3876
|
+
foreach ($conditions as $condition) {
|
3877
|
+
foreach (taxonomy_get_term_by_name($condition) as $term) {
|
3878
|
+
if ($term->vid == _jsdoc_conditions()->vid) {
|
3879
|
+
$found = true;
|
3880
|
+
break;
|
3881
|
+
}
|
3882
|
+
}
|
3883
|
+
if (!$found) {
|
3884
|
+
$term = array('name' => $condition, 'description' => '', 'vid' => _jsdoc_conditions()->vid, 'weight' => 0);
|
3885
|
+
taxonomy_save_term($term);
|
3886
|
+
}
|
3887
|
+
}
|
3888
|
+
}
|
3889
|
+
|
3890
|
+
if (function_exists(_jsdoc_base() . '_get_environments')) {
|
3891
|
+
$environments = call_user_func(_jsdoc_base() . '_get_environments');
|
3892
|
+
_jsdoc_build_taxonomy($environments, _jsdoc_environments()->vid);
|
3893
|
+
}
|
3894
|
+
|
3895
|
+
if (!function_exists(_jsdoc_base() . '_get_contents')) {
|
3896
|
+
watchdog('jsdoc', _jsdoc_base() . '_get_contents' . t(' does not exist in ') . _jsdoc_file_location(), WATCHDOG_ERROR);
|
3897
|
+
return false;
|
3898
|
+
}
|
3899
|
+
|
3900
|
+
return true;
|
3901
|
+
}
|
3902
|
+
|
3903
|
+
function _jsdoc_build_terms($title) {
|
3904
|
+
$output = array($title, array());
|
3905
|
+
$parts = explode('.', $title);
|
3906
|
+
foreach ($parts as $part) {
|
3907
|
+
if (preg_match('%^[_.$]*([a-zA-Z][a-z0-9_.$]*(?:[A-Z][a-z0-9_.$]*)+)%', $part, $match)) {
|
3908
|
+
if (preg_match_all('%(^[a-zA-Z][a-z0-9_.$]*|[A-Z][a-z0-9_.$]*)%', $match[1], $cased)) {
|
3909
|
+
$output[1] = array_merge($output[1], $cased[0]);
|
3910
|
+
}
|
3911
|
+
}
|
3912
|
+
}
|
3913
|
+
$output[1] = implode(' ', $output[1]);
|
3914
|
+
$output[2] = implode(' ', $parts);
|
3915
|
+
return $output;
|
3916
|
+
}
|
3917
|
+
|
3918
|
+
function _jsdoc_build_taxonomy($names, $vid, $parent = false)
|
3919
|
+
{
|
3920
|
+
foreach ($names as $name => $content) {
|
3921
|
+
foreach (taxonomy_get_term_by_name($name) as $term) {
|
3922
|
+
if ($term->vid == $vid) {
|
3923
|
+
$found = true;
|
3924
|
+
break;
|
3925
|
+
}
|
3926
|
+
}
|
3927
|
+
if (!$found) {
|
3928
|
+
$term = array('name' => $name, 'description' => '', 'vid' => $vid, 'weight' => 0);
|
3929
|
+
if ($parent) {
|
3930
|
+
$term['parent'] = $parent;
|
3931
|
+
}
|
3932
|
+
taxonomy_save_term($term);
|
3933
|
+
}
|
3934
|
+
if (is_array($content)) {
|
3935
|
+
_jsdoc_build_taxonomy($content, $vid, $term->tid);
|
3936
|
+
}
|
3937
|
+
}
|
3938
|
+
}
|
3939
|
+
|
3940
|
+
function _jsdoc_get_base_path() {
|
3941
|
+
static $path;
|
3942
|
+
|
3943
|
+
if (!isset($path)) {
|
3944
|
+
$path = getcwd();
|
3945
|
+
}
|
3946
|
+
|
3947
|
+
return $path;
|
3948
|
+
}
|
3949
|
+
|
3950
|
+
function _jsdoc_cron_chdir($enter=false) {
|
3951
|
+
static $location;
|
3952
|
+
|
3953
|
+
if ($enter) {
|
3954
|
+
$location = _jsdoc_get_base_path();
|
3955
|
+
if (!is_dir(_jsdoc_dir_location())){
|
3956
|
+
watchdog('jsdoc', _jsdoc_dir_location() . t(' should be a directory'), WATCHDOG_ERROR);
|
3957
|
+
return false;
|
3958
|
+
}
|
3959
|
+
if (!@chdir(_jsdoc_dir_location())) {
|
3960
|
+
watchdog('jsdoc', _jsdoc_dir_location() . t(' could not be accessed'), WATCHDOG_ERROR);
|
3961
|
+
return false;
|
3962
|
+
}
|
3963
|
+
include_once(_jsdoc_file_location());
|
3964
|
+
}
|
3965
|
+
else {
|
3966
|
+
chdir($location);
|
3967
|
+
}
|
3968
|
+
}
|
3969
|
+
|
3970
|
+
// Private Utility Functions
|
3971
|
+
// =========================
|
3972
|
+
|
3973
|
+
function _jsdoc_theme_clone($node) {
|
3974
|
+
$clone = drupal_clone($node);
|
3975
|
+
foreach ($clone as $key => $value) {
|
3976
|
+
if (substr($key, 0, 6) == 'jsdoc_') {
|
3977
|
+
unset($clone->$key);
|
3978
|
+
}
|
3979
|
+
}
|
3980
|
+
return $clone;
|
3981
|
+
}
|
3982
|
+
|
3983
|
+
function _jsdoc_node_prepare($node) {
|
3984
|
+
$node->teaser = jsdoc_get_teaser($node);
|
3985
|
+
$node->body = jsdoc_get_body($node);
|
3986
|
+
|
3987
|
+
$form = node_prepare($node)->content;
|
3988
|
+
$form['summary'] = array(
|
3989
|
+
'#value' => jsdoc_get_teaser($node),
|
3990
|
+
'#weight' => $form['body']['#weight'] - 1
|
3991
|
+
);
|
3992
|
+
|
3993
|
+
$teaser = $form['summary']['#value'];
|
3994
|
+
$form['summary']['#value'] = theme('jsdoc_object_summary', $teaser);
|
3995
|
+
$form['description']['#value'] = theme('jsdoc_object_description', $teaser, $form['body']['#value']);
|
3996
|
+
|
3997
|
+
unset($form['body']);
|
3998
|
+
|
3999
|
+
return $form;
|
4000
|
+
}
|
4001
|
+
|
4002
|
+
function _jsdoc_node_load($param = array(), $revision = NULL, $reset = NULL) {
|
4003
|
+
static $nodes;
|
4004
|
+
|
4005
|
+
if (!$nodes) {
|
4006
|
+
$nodes = array();
|
4007
|
+
}
|
4008
|
+
|
4009
|
+
if (is_numeric($revision) && array_key_exists($revision, $nodes)) {
|
4010
|
+
return $nodes[$revision];
|
4011
|
+
}
|
4012
|
+
|
4013
|
+
$node = call_user_func('node_load', $param, $revision, $reset);
|
4014
|
+
$nodes[$node->vid] = $node;
|
4015
|
+
return $node;
|
4016
|
+
}
|
4017
|
+
|
4018
|
+
function _jsdoc_markup_code($text, $version, $base=false) {
|
4019
|
+
static $variables;
|
4020
|
+
if (!$variables) {
|
4021
|
+
if ($variables = cache_get('jsdoc_variables')) {
|
4022
|
+
$variables = unserialize($variables->data);
|
4023
|
+
}
|
4024
|
+
else {
|
4025
|
+
$variables = array();
|
4026
|
+
$query = db_query("SELECT nr.title, j.version FROM {jsdoc_variables} j JOIN {node_revisions} nr ON (nr.vid = j.vid) WHERE j.version = %d ORDER BY nr.title DESC", $version);
|
4027
|
+
while ($result = db_fetch_object($query)) {
|
4028
|
+
$variables[$result->title] = $result->version;
|
4029
|
+
}
|
4030
|
+
cache_set('jsdoc_variables', 'cache', serialize($variables));
|
4031
|
+
}
|
4032
|
+
}
|
4033
|
+
|
4034
|
+
$min = 99;
|
4035
|
+
$lines = preg_split('%\r?\n%', $text);
|
4036
|
+
foreach ($lines as $line) {
|
4037
|
+
if (!empty($line)) {
|
4038
|
+
if (preg_match('%^\t+%', $line, $match)) {
|
4039
|
+
if (strlen($match[0]) < $min) {
|
4040
|
+
$min = strlen($match[0]);
|
4041
|
+
}
|
4042
|
+
}
|
4043
|
+
}
|
4044
|
+
}
|
4045
|
+
if ($min) {
|
4046
|
+
foreach ($lines as $i => $line) {
|
4047
|
+
$lines[$i] = preg_replace('%^\t{' . $min . '}%', '', $line);
|
4048
|
+
}
|
4049
|
+
}
|
4050
|
+
$text = implode("\n", $lines);
|
4051
|
+
|
4052
|
+
_jsdoc_init();
|
4053
|
+
$language = 'javascript';
|
4054
|
+
if (preg_match('%(^\W*<|>\W*$)%', $text)) {
|
4055
|
+
$language = 'html4strict';
|
4056
|
+
}
|
4057
|
+
$highlighter =& new GeSHi($text, $language);
|
4058
|
+
$highlighter->enable_classes();
|
4059
|
+
$highlighter->enable_keyword_links(false);
|
4060
|
+
$highlighter->set_overall_style('color: #666;', true);
|
4061
|
+
$highlighter->set_tab_width(4);
|
4062
|
+
$highlighter->add_keyword_group(4, '', true, array('Math', 'Error', 'Array'));
|
4063
|
+
$text = $highlighter->parse_code();
|
4064
|
+
if (preg_match_all('%[\w.$]+(?:\.(?:<span class="me\d+">)?[\w.$]+(?:</span>)?)+%', $text, $matches)) {
|
4065
|
+
natcasesort(array_unique($matches[0]));
|
4066
|
+
$matches = array_reverse($matches[0]);
|
4067
|
+
foreach ($matches as $i => $match) {
|
4068
|
+
$variable = preg_replace('%<[^>]+>%', '', $match);
|
4069
|
+
if (array_key_exists($variable, $variables)) {
|
4070
|
+
$text = str_replace($match, "%$i%", $text);
|
4071
|
+
}
|
4072
|
+
}
|
4073
|
+
foreach ($matches as $i => $match) {
|
4074
|
+
$variable = preg_replace('%<[^>]+>%', '', $match);
|
4075
|
+
if ($variables[$variable]) {
|
4076
|
+
$version = _jsdoc_node_load($variables[$variable]);
|
4077
|
+
$text = str_replace("%$i%", l($match, 'jsdoc/' . jsdoc_get_project($version)->title . '/' . $version->title . '/' . $variable, array('style' => 'border-bottom: 1px dotted #ccc;'), NULL, NULL, FALSE, TRUE), $text);
|
4078
|
+
}
|
4079
|
+
}
|
4080
|
+
}
|
4081
|
+
if ($base && preg_match_all('%<span class="kw1">this</span>(\.(?:<span class="me\d+">[\w.$]+</span>)+)%', $text, $matches, PREG_SET_ORDER)) {
|
4082
|
+
foreach ($matches as $match) {
|
4083
|
+
$variable = $base . preg_replace('%<[^>]+>%', '', $match[1]);
|
4084
|
+
if (array_key_exists($variable, $variables)) {
|
4085
|
+
if ($variables[$variable]) {
|
4086
|
+
$version = _jsdoc_node_load($variables[$variable]);
|
4087
|
+
$text = str_replace($match[0], l($match[0], 'jsdoc/' . jsdoc_get_project($version)->title . '/' . $version->title . '/' . $variable, array('style' => 'border-bottom: 1px dotted #ccc;'), NULL, NULL, FALSE, TRUE), $text);
|
4088
|
+
}
|
4089
|
+
}
|
4090
|
+
}
|
4091
|
+
}
|
4092
|
+
return $text;
|
4093
|
+
}
|
4094
|
+
|
4095
|
+
function _jsdoc_resolve_variable(&$node) {
|
4096
|
+
if (isset($node->jsdoc_resolved)) {
|
4097
|
+
return $node->jsdoc_resolved;
|
4098
|
+
}
|
4099
|
+
|
4100
|
+
$resource = jsdoc_get_resource($node);
|
4101
|
+
$version = jsdoc_get_version($node);
|
4102
|
+
|
4103
|
+
$used = $node->jsdoc_used;
|
4104
|
+
$object = false;
|
4105
|
+
$title = $node->title;
|
4106
|
+
$teaser = $node->teaser;
|
4107
|
+
$body = $node->body;
|
4108
|
+
$format = $node->format;
|
4109
|
+
$object_type = $node->jsdoc_type;
|
4110
|
+
$classlike = false;
|
4111
|
+
$full_url = $node->jsdoc_url;
|
4112
|
+
|
4113
|
+
$query = db_query("SELECT n.teaser, n.body, n.format, j.nid, MAX(j.vid) AS vid, j.resource_nid, MAX(j.resource_vid) AS resource_vid, j.classlike, j.type, j.private FROM {jsdoc_objects} j JOIN {node_revisions} n ON (j.vid = n.vid) WHERE n.title = '%s' AND BINARY n.title = '%s' AND j.used != -1 AND j.version = %d GROUP BY n.nid", $node->title, $node->title, $version->nid);
|
4114
|
+
while ($result = db_fetch_object($query)) {
|
4115
|
+
// If there's only one object for a given variable, or if a resource is chosen, use this as the object
|
4116
|
+
$resources[] = _jsdoc_node_load($result->resource_nid, $result->resource_vid);
|
4117
|
+
if (db_num_rows($query) == 1 || ($resource && $resource->vid == $result->resource_vid)) {
|
4118
|
+
$object = _jsdoc_node_load($result->nid, $result->vid);
|
4119
|
+
$sumdesc = db_fetch_object(db_query("SELECT j.type, j.classlike, n.teaser, n.body, n.format, n2.title AS resource FROM {jsdoc_objects} j JOIN {node_revisions} n ON (n.vid = j.vid) JOIN {node_revisions} n2 ON (n2.vid = j.resource_vid) WHERE j.vid = %d", $result->vid));
|
4120
|
+
if ($sumdesc->teaser && !$teaser) {
|
4121
|
+
$teaser = $sumdesc->teaser;
|
4122
|
+
}
|
4123
|
+
if ($sumdesc->body && !$body) {
|
4124
|
+
$body = $sumdesc->body;
|
4125
|
+
}
|
4126
|
+
if ($sumdesc->format && !$format) {
|
4127
|
+
$format = $sumdesc->format;
|
4128
|
+
}
|
4129
|
+
if ($sumdesc->type && !$object_type) {
|
4130
|
+
$object_type = $sumdesc->type;
|
4131
|
+
}
|
4132
|
+
$classlike = $sumdesc->classlike;
|
4133
|
+
}
|
4134
|
+
else {
|
4135
|
+
if ($result->teaser && !$teaser) {
|
4136
|
+
$teaser = $result->teaser;
|
4137
|
+
}
|
4138
|
+
if ($result->body && !$body) {
|
4139
|
+
$body = $result->body;
|
4140
|
+
}
|
4141
|
+
$format = $result->format;
|
4142
|
+
if ($result->type) {
|
4143
|
+
if (!$object_type) {
|
4144
|
+
$object_type = $result->type;
|
4145
|
+
}
|
4146
|
+
elseif ($object_type != $result->type) {
|
4147
|
+
if ($object_type) {
|
4148
|
+
$object_type .= '|';
|
4149
|
+
}
|
4150
|
+
$object_type .= $result->type;
|
4151
|
+
}
|
4152
|
+
}
|
4153
|
+
if ($result->classlike) {
|
4154
|
+
$classlike = true;
|
4155
|
+
}
|
4156
|
+
}
|
4157
|
+
}
|
4158
|
+
|
4159
|
+
return $node->jsdoc_resolved = (object)array(
|
4160
|
+
'teaser' => $teaser,
|
4161
|
+
'body' => $body,
|
4162
|
+
'format' => $format,
|
4163
|
+
'object_type' => $object_type,
|
4164
|
+
'object' => $object,
|
4165
|
+
'classlike' => $classlike,
|
4166
|
+
'full_url' => $full_url
|
4167
|
+
);
|
4168
|
+
}
|
4169
|
+
|
4170
|
+
function _jsdoc_markup_text($text, $version, $format = false){
|
4171
|
+
if (!$format) {
|
4172
|
+
$format = variable_get('jsdoc_input_format', 1);
|
4173
|
+
}
|
4174
|
+
|
4175
|
+
$text = check_markup($text, $format, FALSE);
|
4176
|
+
if (preg_match_all('%(?:\s*(?:<pre>|<code>)\s*)+(.*?)(?:\s*(?:</pre>|</code>)\s*)+%s', $text, $matches, PREG_SET_ORDER)) {
|
4177
|
+
foreach ($matches as $match) {
|
4178
|
+
$match[1] = str_replace('<', '<', str_replace('>', '>', $match[1]));
|
4179
|
+
$text = str_replace($match[0], _jsdoc_markup_code($match[1], $version), $text);
|
4180
|
+
}
|
4181
|
+
}
|
4182
|
+
|
4183
|
+
return $text;
|
4184
|
+
}
|
4185
|
+
|
4186
|
+
function _jsdoc_init() {
|
4187
|
+
include_once(_jsdoc_get_base_path() . '/' . drupal_get_path('module', 'jsdoc') . '/lib/geshi/geshi.php');
|
4188
|
+
drupal_add_css(drupal_get_path('module', 'jsdoc') . '/jsdoc.css');
|
4189
|
+
}
|
4190
|
+
|
4191
|
+
// Theme functions
|
4192
|
+
// ===============
|
4193
|
+
|
4194
|
+
/**
|
4195
|
+
* When an object occurs in more than one file, we want
|
4196
|
+
* to show this to the user so that they can choose
|
4197
|
+
* the likely location until we disambiguate it.
|
4198
|
+
*/
|
4199
|
+
function theme_jsdoc_object_resources($node, $resources) {
|
4200
|
+
$output = '<div class="jsdoc_object_resources">';
|
4201
|
+
$output .= '<fieldset>';
|
4202
|
+
$output .= '<legend>Appears in Resources</legend>';
|
4203
|
+
$output .= '<div class="fieldset-wrapper">';
|
4204
|
+
foreach ($resources as $resource) {
|
4205
|
+
$output .= '<div class="form-item">';
|
4206
|
+
$output .= $resource->href;
|
4207
|
+
$output .= '</div>';
|
4208
|
+
}
|
4209
|
+
$output .= '</div>';
|
4210
|
+
$output .= '</fieldset>';
|
4211
|
+
$output .= '</div>';
|
4212
|
+
|
4213
|
+
return $output;
|
4214
|
+
}
|
4215
|
+
|
4216
|
+
/**
|
4217
|
+
* Theme the object type block.
|
4218
|
+
*/
|
4219
|
+
function theme_jsdoc_object_title($title) {
|
4220
|
+
$output = implode('.', $title->crumbs);
|
4221
|
+
if ($title->type) {
|
4222
|
+
$output .= ': ' . $title->type->a;
|
4223
|
+
}
|
4224
|
+
return $output;
|
4225
|
+
}
|
4226
|
+
|
4227
|
+
/**
|
4228
|
+
* Theme the statement used to require this file
|
4229
|
+
*/
|
4230
|
+
function theme_jsdoc_object_require($node) {
|
4231
|
+
return '<div class="form-item"><label>To Include:</label>include "' . $node->title . '";</div>';
|
4232
|
+
}
|
4233
|
+
|
4234
|
+
/**
|
4235
|
+
* Theme the location this file exists in
|
4236
|
+
*/
|
4237
|
+
function theme_jsdoc_object_resource($node) {
|
4238
|
+
return '<div class="form-item"><label>Found in:</label> ' . $node->title . '</div>';
|
4239
|
+
}
|
4240
|
+
|
4241
|
+
/**
|
4242
|
+
* Theme the list of mixins for a given object
|
4243
|
+
*/
|
4244
|
+
function theme_jsdoc_object_mixins($mixins) {
|
4245
|
+
$output = '<div class="form-item"><label>Mixins:</label>';
|
4246
|
+
$counter = 0;
|
4247
|
+
foreach ($mixins as $mixin) {
|
4248
|
+
if ($mixin->in_prototype_chain) {
|
4249
|
+
continue;
|
4250
|
+
}
|
4251
|
+
if ($counter) {
|
4252
|
+
$output .= ', ';
|
4253
|
+
}
|
4254
|
+
if (!$mixin->on_prototype) {
|
4255
|
+
$output .= '[static] ';
|
4256
|
+
}
|
4257
|
+
$output .= l($mixin->node->title, $mixin->node->jsdoc_url);
|
4258
|
+
if ($mixin->mixin_from) {
|
4259
|
+
$output .= '<small> (from ' . $mixin->mixin_from . ')</small>';
|
4260
|
+
}
|
4261
|
+
|
4262
|
+
++$counter;
|
4263
|
+
}
|
4264
|
+
if(!$counter){ $output .= 'None'; }
|
4265
|
+
return $output . '</div>';
|
4266
|
+
}
|
4267
|
+
|
4268
|
+
function theme_jsdoc_object_children($children) {
|
4269
|
+
$output = '<div class="jsdoc_object_children">';
|
4270
|
+
$output .= '<fieldset>';
|
4271
|
+
$output .= '<legend>Fields</legend>';
|
4272
|
+
$output .= '<div class="fieldset-wrapper">';
|
4273
|
+
|
4274
|
+
foreach ($children as $child) {
|
4275
|
+
$output .= '<div class="form-item">';
|
4276
|
+
$output .= l($child->title, $child->url);
|
4277
|
+
if ($child->type && $key!='Functions' && $key!="Constructors") {
|
4278
|
+
$output .= ': <small>' . $child->type->a . '</small> ';
|
4279
|
+
}
|
4280
|
+
if($child->signature){
|
4281
|
+
$output .= $child->signature;
|
4282
|
+
}
|
4283
|
+
else if($key=="Functions"){
|
4284
|
+
$output .= '() ';
|
4285
|
+
}
|
4286
|
+
if ($child->inheritance) {
|
4287
|
+
$output .= ' <div><small>';
|
4288
|
+
if ($child->override) {
|
4289
|
+
$output .= ' Overrides ';
|
4290
|
+
}
|
4291
|
+
else {
|
4292
|
+
$output .= ' Defined by ';
|
4293
|
+
}
|
4294
|
+
foreach ($child->inheritance as $i => $parent) {
|
4295
|
+
if ($i) {
|
4296
|
+
$output .= ', ';
|
4297
|
+
}
|
4298
|
+
$output .= l($parent->title, $parent->url);
|
4299
|
+
}
|
4300
|
+
$output .= '</small></div>';
|
4301
|
+
}
|
4302
|
+
if ($child->summary) {
|
4303
|
+
$output .= '<div>' . str_replace("<", "<", str_replace(">", ">", $child->summary)) . '</div>';
|
4304
|
+
}
|
4305
|
+
$output .= '</div>';
|
4306
|
+
}
|
4307
|
+
|
4308
|
+
$output .= '</div>';
|
4309
|
+
$output .= '</fieldset>';
|
4310
|
+
$output .= '</div>';
|
4311
|
+
|
4312
|
+
return $output;
|
4313
|
+
}
|
4314
|
+
|
4315
|
+
/**
|
4316
|
+
* Theme the prototype chain
|
4317
|
+
*/
|
4318
|
+
function theme_jsdoc_object_prototype_chain($chain) {
|
4319
|
+
$output = '<div class="form-item"><label>Prototype Chain:</label>' ;
|
4320
|
+
foreach ($chain as $i => $node) {
|
4321
|
+
if ($i) {
|
4322
|
+
$output .= ' » ';
|
4323
|
+
}
|
4324
|
+
$output .= l($node->title, $node->jsdoc_url);
|
4325
|
+
}
|
4326
|
+
return $output .= '</div>';
|
4327
|
+
}
|
4328
|
+
|
4329
|
+
function theme_jsdoc_object_parent($node) {
|
4330
|
+
return '<div class="form-item"><label>Parent Object:</label>' . $node->object_type_link . '</div>';
|
4331
|
+
}
|
4332
|
+
|
4333
|
+
/**
|
4334
|
+
* Theme the function signature and source.
|
4335
|
+
*
|
4336
|
+
* One of the things to note is that we pass fields
|
4337
|
+
* because the constructor isn't always listed as the
|
4338
|
+
* constructor because of the famous dojo.declare
|
4339
|
+
*/
|
4340
|
+
function theme_jsdoc_function_information($function, $fields) {
|
4341
|
+
$output .= '<div class="jsdoc_function_information">';
|
4342
|
+
$output .= '<fieldset class="collapsible">';
|
4343
|
+
$output .= '<legend>' . 'Function Information' . '</legend>';
|
4344
|
+
$output .= '<div class="fieldset-wrapper">';
|
4345
|
+
$output .= '<div class="form-item">';
|
4346
|
+
$output .= 'function ' . $function->signature;
|
4347
|
+
$output .= '</div>';
|
4348
|
+
$output .= '</div>';
|
4349
|
+
$output .= '</fieldset>';
|
4350
|
+
$output .= '</div>';
|
4351
|
+
|
4352
|
+
return $output;
|
4353
|
+
}
|
4354
|
+
|
4355
|
+
function theme_jsdoc_function_parameters($parameters) {
|
4356
|
+
$output = '<div class="jsdoc_function_parameters">';
|
4357
|
+
$output .= '<fieldset>';
|
4358
|
+
$output .= '<legend>' . 'Parameters' . '</legend>';
|
4359
|
+
$output .= '<div class="fieldset-wrapper">';
|
4360
|
+
foreach ($parameters as $parameter) {
|
4361
|
+
$output .= '<div class="form-item"><label>';
|
4362
|
+
$types = array();
|
4363
|
+
if ($parameter->types) {
|
4364
|
+
foreach ($parameter->types as $type) {
|
4365
|
+
$types[] = '<em>' . $type->a . '</em>';
|
4366
|
+
}
|
4367
|
+
}
|
4368
|
+
if (count($types)) {
|
4369
|
+
$output .= implode('|', $types) . ' ';
|
4370
|
+
}
|
4371
|
+
$output .= $parameter->name;
|
4372
|
+
$output .= '</label>';
|
4373
|
+
$output .= $parameter->summary;
|
4374
|
+
if (count($types) && $parameter->types[0]->fields) {
|
4375
|
+
if ($parameter->summary && $parameter->types[0]->summary) {
|
4376
|
+
$output .= '<br><br>';
|
4377
|
+
}
|
4378
|
+
$output .= $parameter->types[0]->summary;
|
4379
|
+
if ($parameter->types[0]->summary) {
|
4380
|
+
$output .= '<br>';
|
4381
|
+
}
|
4382
|
+
foreach ($parameter->types[0]->fields as $i => $field) {
|
4383
|
+
$output .= '<br>';
|
4384
|
+
|
4385
|
+
$field_types = array();
|
4386
|
+
$repeating = false;
|
4387
|
+
$optional = false;
|
4388
|
+
if ($field->types) {
|
4389
|
+
foreach ($field->types as $type) {
|
4390
|
+
if ($type->repeating) {
|
4391
|
+
$repeating = true;
|
4392
|
+
}
|
4393
|
+
if ($type->optional) {
|
4394
|
+
$optional = true;
|
4395
|
+
}
|
4396
|
+
$field_types[] = '<em>' . $type->a . '</em>';
|
4397
|
+
}
|
4398
|
+
}
|
4399
|
+
|
4400
|
+
$output .= ' ';
|
4401
|
+
if (count($field_types)) {
|
4402
|
+
$output .= implode('|', $field_types) . ' ';
|
4403
|
+
}
|
4404
|
+
$output .= $field->a;
|
4405
|
+
if ($repeating) {
|
4406
|
+
$output .= ' <small><em>repeating</em></small>';
|
4407
|
+
}
|
4408
|
+
if ($optional) {
|
4409
|
+
$output .= ' <small><em>optional</em></small>';
|
4410
|
+
}
|
4411
|
+
if ($field->summary) {
|
4412
|
+
$output .= ': ' . $field->summary;
|
4413
|
+
}
|
4414
|
+
}
|
4415
|
+
}
|
4416
|
+
$output .= '</div>';
|
4417
|
+
}
|
4418
|
+
$output .= '</div>';
|
4419
|
+
$output .= '</fieldset>';
|
4420
|
+
$output .= '</div>';
|
4421
|
+
|
4422
|
+
return $output;
|
4423
|
+
}
|
4424
|
+
|
4425
|
+
function theme_jsdoc_object_summary($summary) {
|
4426
|
+
return '';
|
4427
|
+
}
|
4428
|
+
|
4429
|
+
function theme_jsdoc_object_description($summary, $description) {
|
4430
|
+
return $summary . $description;
|
4431
|
+
}
|
4432
|
+
|
4433
|
+
function theme_jsdoc_object_example($example, $weight) {
|
4434
|
+
return '<div class="form-item"><label>Example #' . $weight . '</label>' . $example . '</div>';
|
4435
|
+
}
|
4436
|
+
|
4437
|
+
function theme_jsdoc_object_examples($examples) {
|
4438
|
+
$output = '<div class="jsdoc_object_examples">';
|
4439
|
+
$output .= '<fieldset>';
|
4440
|
+
$output .= '<legend>Examples</legend>';
|
4441
|
+
$output .= '<div class="fieldset-wrapper">';
|
4442
|
+
$output .= implode('', $examples);
|
4443
|
+
$output .= '</div></fieldset></div>';
|
4444
|
+
return $output;
|
4445
|
+
}
|
4446
|
+
|
4447
|
+
function theme_jsdoc_search($name) {
|
4448
|
+
return '<div class="form-item"><input class="form-text" name="' . $name . '" /> <input class="form-submit" type="submit" name="op" value="Go" /></div>';
|
4449
|
+
}
|
4450
|
+
|
4451
|
+
function theme_jsdoc_namespaces($namespaces) {
|
4452
|
+
$output = '<ul>';
|
4453
|
+
foreach ($namespaces as $namespace) {
|
4454
|
+
$output .= "<li>{$namespace->a}";
|
4455
|
+
if (!empty($namespace->children)) {
|
4456
|
+
$output .= '<ul>';
|
4457
|
+
foreach ($namespace->children as $child) {
|
4458
|
+
$output .= "<li>{$child->a}</li>";
|
4459
|
+
}
|
4460
|
+
$output .= '</ul>';
|
4461
|
+
}
|
4462
|
+
$output .= "</li>";
|
4463
|
+
}
|
4464
|
+
$output .= '</ul>';
|
4465
|
+
return $output;
|
4466
|
+
}
|
4467
|
+
|
4468
|
+
function theme_jsdoc_resource_source_link($project, $resource) {
|
4469
|
+
return $resource;
|
4470
|
+
}
|
4471
|
+
|
4472
|
+
function theme_jsdoc_resolve_constructor($objects) {
|
4473
|
+
}
|