You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xap-commits@incubator.apache.org by jm...@apache.org on 2006/06/27 22:49:06 UTC
svn commit: r417618 [1/19] - in /incubator/xap/trunk/src/dojo/src: ./ lfx/
logging/ rpc/ selection/ storage/ string/ text/ undo/ uri/ uuid/ widget/
widget/html/ widget/svg/ widget/templates/ widget/templates/buttons/
widget/templates/images/ widget/tem...
Author: jmargaris
Date: Tue Jun 27 15:48:54 2006
New Revision: 417618
URL: http://svn.apache.org/viewvc?rev=417618&view=rev
Log:
dojo 0.3
Added:
incubator/xap/trunk/src/dojo/src/AdapterRegistry.js
incubator/xap/trunk/src/dojo/src/Deferred.js
incubator/xap/trunk/src/dojo/src/animation.js
incubator/xap/trunk/src/dojo/src/behavior.js
incubator/xap/trunk/src/dojo/src/bootstrap1.js
incubator/xap/trunk/src/dojo/src/bootstrap2.js
incubator/xap/trunk/src/dojo/src/browser_debug.js
incubator/xap/trunk/src/dojo/src/crypto.js
incubator/xap/trunk/src/dojo/src/data.js
incubator/xap/trunk/src/dojo/src/date.js
incubator/xap/trunk/src/dojo/src/debug.js (with props)
incubator/xap/trunk/src/dojo/src/doc.js
incubator/xap/trunk/src/dojo/src/dom.js
incubator/xap/trunk/src/dojo/src/event.js
incubator/xap/trunk/src/dojo/src/experimental.js
incubator/xap/trunk/src/dojo/src/flash.js
incubator/xap/trunk/src/dojo/src/hostenv_adobesvg.js
incubator/xap/trunk/src/dojo/src/hostenv_browser.js
incubator/xap/trunk/src/dojo/src/hostenv_dashboard.js
incubator/xap/trunk/src/dojo/src/hostenv_jsc.js
incubator/xap/trunk/src/dojo/src/hostenv_rhino.js
incubator/xap/trunk/src/dojo/src/hostenv_spidermonkey.js
incubator/xap/trunk/src/dojo/src/hostenv_svg.js
incubator/xap/trunk/src/dojo/src/hostenv_wsh.js
incubator/xap/trunk/src/dojo/src/html.js (with props)
incubator/xap/trunk/src/dojo/src/iCalendar.js
incubator/xap/trunk/src/dojo/src/io.js (with props)
incubator/xap/trunk/src/dojo/src/json.js
incubator/xap/trunk/src/dojo/src/lang.js (with props)
incubator/xap/trunk/src/dojo/src/lfx/html.js
incubator/xap/trunk/src/dojo/src/loader.js
incubator/xap/trunk/src/dojo/src/loader_xd.js
incubator/xap/trunk/src/dojo/src/logging/Logger.js
incubator/xap/trunk/src/dojo/src/math.js
incubator/xap/trunk/src/dojo/src/profile.js
incubator/xap/trunk/src/dojo/src/regexp.js
incubator/xap/trunk/src/dojo/src/rpc/
incubator/xap/trunk/src/dojo/src/rpc/Deferred.js (with props)
incubator/xap/trunk/src/dojo/src/rpc/JotService.js (with props)
incubator/xap/trunk/src/dojo/src/rpc/JsonService.js (with props)
incubator/xap/trunk/src/dojo/src/rpc/RpcService.js (with props)
incubator/xap/trunk/src/dojo/src/rpc/YahooService.js (with props)
incubator/xap/trunk/src/dojo/src/rpc/__package__.js (with props)
incubator/xap/trunk/src/dojo/src/rpc/yahoo.smd
incubator/xap/trunk/src/dojo/src/selection/
incubator/xap/trunk/src/dojo/src/selection/Selection.js (with props)
incubator/xap/trunk/src/dojo/src/storage/
incubator/xap/trunk/src/dojo/src/storage.js
incubator/xap/trunk/src/dojo/src/storage/Storage.as
incubator/xap/trunk/src/dojo/src/storage/__package__.js (with props)
incubator/xap/trunk/src/dojo/src/storage/browser.js (with props)
incubator/xap/trunk/src/dojo/src/storage/dashboard.js (with props)
incubator/xap/trunk/src/dojo/src/storage/storage_dialog.fla (with props)
incubator/xap/trunk/src/dojo/src/string/
incubator/xap/trunk/src/dojo/src/string.js
incubator/xap/trunk/src/dojo/src/string/Builder.js (with props)
incubator/xap/trunk/src/dojo/src/string/__package__.js (with props)
incubator/xap/trunk/src/dojo/src/string/common.js (with props)
incubator/xap/trunk/src/dojo/src/string/extras.js
incubator/xap/trunk/src/dojo/src/style.js
incubator/xap/trunk/src/dojo/src/svg.js
incubator/xap/trunk/src/dojo/src/text/
incubator/xap/trunk/src/dojo/src/text/Builder.js (with props)
incubator/xap/trunk/src/dojo/src/text/String.js
incubator/xap/trunk/src/dojo/src/text/Text.js
incubator/xap/trunk/src/dojo/src/text/__package__.js
incubator/xap/trunk/src/dojo/src/text/textDirectory.js (with props)
incubator/xap/trunk/src/dojo/src/undo/
incubator/xap/trunk/src/dojo/src/undo/Manager.js
incubator/xap/trunk/src/dojo/src/undo/__package__.js (with props)
incubator/xap/trunk/src/dojo/src/undo/browser.js (with props)
incubator/xap/trunk/src/dojo/src/uri/
incubator/xap/trunk/src/dojo/src/uri/Uri.js (with props)
incubator/xap/trunk/src/dojo/src/uri/__package__.js (with props)
incubator/xap/trunk/src/dojo/src/uuid/
incubator/xap/trunk/src/dojo/src/uuid/LightweightGenerator.js (with props)
incubator/xap/trunk/src/dojo/src/uuid/NameBasedGenerator.js (with props)
incubator/xap/trunk/src/dojo/src/uuid/NilGenerator.js
incubator/xap/trunk/src/dojo/src/uuid/RandomGenerator.js
incubator/xap/trunk/src/dojo/src/uuid/TimeBasedGenerator.js
incubator/xap/trunk/src/dojo/src/uuid/Uuid.js
incubator/xap/trunk/src/dojo/src/uuid/__package__.js
incubator/xap/trunk/src/dojo/src/validate.js
incubator/xap/trunk/src/dojo/src/widget/AccordionContainer.js (with props)
incubator/xap/trunk/src/dojo/src/widget/AccordionPane.js (with props)
incubator/xap/trunk/src/dojo/src/widget/Button.js
incubator/xap/trunk/src/dojo/src/widget/Button2.js
incubator/xap/trunk/src/dojo/src/widget/Chart.js (with props)
incubator/xap/trunk/src/dojo/src/widget/Checkbox.js (with props)
incubator/xap/trunk/src/dojo/src/widget/CiviCrmDatePicker.js (with props)
incubator/xap/trunk/src/dojo/src/widget/ColorPalette.js (with props)
incubator/xap/trunk/src/dojo/src/widget/ComboBox.js
incubator/xap/trunk/src/dojo/src/widget/ContentPane.js
incubator/xap/trunk/src/dojo/src/widget/ContextMenu.js
incubator/xap/trunk/src/dojo/src/widget/DatePicker.js (with props)
incubator/xap/trunk/src/dojo/src/widget/DebugConsole.js
incubator/xap/trunk/src/dojo/src/widget/DemoEngine.js (with props)
incubator/xap/trunk/src/dojo/src/widget/Dialog.js (with props)
incubator/xap/trunk/src/dojo/src/widget/DocPane.js
incubator/xap/trunk/src/dojo/src/widget/DomWidget.js (with props)
incubator/xap/trunk/src/dojo/src/widget/DropdownButton.js
incubator/xap/trunk/src/dojo/src/widget/DropdownContainer.js
incubator/xap/trunk/src/dojo/src/widget/DropdownDatePicker.js (with props)
incubator/xap/trunk/src/dojo/src/widget/Editor.js (with props)
incubator/xap/trunk/src/dojo/src/widget/Editor2.js (with props)
incubator/xap/trunk/src/dojo/src/widget/Editor2Toolbar.js (with props)
incubator/xap/trunk/src/dojo/src/widget/FisheyeList.js
incubator/xap/trunk/src/dojo/src/widget/FloatingPane.js
incubator/xap/trunk/src/dojo/src/widget/GoogleMap.js
incubator/xap/trunk/src/dojo/src/widget/HslColorPicker.js
incubator/xap/trunk/src/dojo/src/widget/HtmlWidget.js (with props)
incubator/xap/trunk/src/dojo/src/widget/InlineEditBox.js (with props)
incubator/xap/trunk/src/dojo/src/widget/LayoutContainer.js (with props)
incubator/xap/trunk/src/dojo/src/widget/LinkPane.js (with props)
incubator/xap/trunk/src/dojo/src/widget/Manager.js
incubator/xap/trunk/src/dojo/src/widget/Menu.js (with props)
incubator/xap/trunk/src/dojo/src/widget/Menu2.js (with props)
incubator/xap/trunk/src/dojo/src/widget/MenuItem.js (with props)
incubator/xap/trunk/src/dojo/src/widget/MonthlyCalendar.js (with props)
incubator/xap/trunk/src/dojo/src/widget/Parse.js (with props)
incubator/xap/trunk/src/dojo/src/widget/PopUpButton.js (with props)
incubator/xap/trunk/src/dojo/src/widget/ResizableTextarea.js (with props)
incubator/xap/trunk/src/dojo/src/widget/ResizeHandle.js (with props)
incubator/xap/trunk/src/dojo/src/widget/RichText.js
incubator/xap/trunk/src/dojo/src/widget/Rounded.js
incubator/xap/trunk/src/dojo/src/widget/SimpleDropdownButtons.js (with props)
incubator/xap/trunk/src/dojo/src/widget/SlideShow.js (with props)
incubator/xap/trunk/src/dojo/src/widget/SortableTable.js
incubator/xap/trunk/src/dojo/src/widget/SplitContainer.js
incubator/xap/trunk/src/dojo/src/widget/SvgButton.js (with props)
incubator/xap/trunk/src/dojo/src/widget/SvgWidget.js (with props)
incubator/xap/trunk/src/dojo/src/widget/TabContainer.js
incubator/xap/trunk/src/dojo/src/widget/TaskBar.js
incubator/xap/trunk/src/dojo/src/widget/TimePicker.js
incubator/xap/trunk/src/dojo/src/widget/TitlePane.js (with props)
incubator/xap/trunk/src/dojo/src/widget/Toggler.js
incubator/xap/trunk/src/dojo/src/widget/Toolbar.js (with props)
incubator/xap/trunk/src/dojo/src/widget/Tooltip.js
incubator/xap/trunk/src/dojo/src/widget/Tree.js
incubator/xap/trunk/src/dojo/src/widget/TreeBasicController.js
incubator/xap/trunk/src/dojo/src/widget/TreeContextMenu.js (with props)
incubator/xap/trunk/src/dojo/src/widget/TreeControllerExtension.js (with props)
incubator/xap/trunk/src/dojo/src/widget/TreeLoadingController.js (with props)
incubator/xap/trunk/src/dojo/src/widget/TreeNode.js
incubator/xap/trunk/src/dojo/src/widget/TreeRPCController.js (with props)
incubator/xap/trunk/src/dojo/src/widget/TreeSelector.js (with props)
incubator/xap/trunk/src/dojo/src/widget/Widget.js (with props)
incubator/xap/trunk/src/dojo/src/widget/Wizard.js (with props)
incubator/xap/trunk/src/dojo/src/widget/YahooMap.js
incubator/xap/trunk/src/dojo/src/widget/__package__.js (with props)
incubator/xap/trunk/src/dojo/src/widget/html/AccordionPane.js
incubator/xap/trunk/src/dojo/src/widget/html/Button.js (with props)
incubator/xap/trunk/src/dojo/src/widget/html/Button2.js
incubator/xap/trunk/src/dojo/src/widget/html/Checkbox.js (with props)
incubator/xap/trunk/src/dojo/src/widget/html/ComboBox.js (with props)
incubator/xap/trunk/src/dojo/src/widget/html/ContentPane.js (with props)
incubator/xap/trunk/src/dojo/src/widget/html/ContextMenu.js (with props)
incubator/xap/trunk/src/dojo/src/widget/html/DatePicker.js
incubator/xap/trunk/src/dojo/src/widget/html/DebugConsole.js
incubator/xap/trunk/src/dojo/src/widget/html/DemoEngine.js
incubator/xap/trunk/src/dojo/src/widget/html/DocPane.js (with props)
incubator/xap/trunk/src/dojo/src/widget/html/GoogleMap.js
incubator/xap/trunk/src/dojo/src/widget/html/LinkPane.js
incubator/xap/trunk/src/dojo/src/widget/html/Menu.js (with props)
incubator/xap/trunk/src/dojo/src/widget/html/MenuItem.js (with props)
incubator/xap/trunk/src/dojo/src/widget/html/MonthlyCalendar.js (with props)
incubator/xap/trunk/src/dojo/src/widget/html/SortableTable.js (with props)
incubator/xap/trunk/src/dojo/src/widget/html/TaskBar.js
incubator/xap/trunk/src/dojo/src/widget/html/TimePicker.js (with props)
incubator/xap/trunk/src/dojo/src/widget/html/TitlePane.js
incubator/xap/trunk/src/dojo/src/widget/html/Tooltip.js
incubator/xap/trunk/src/dojo/src/widget/html/YahooMap.js
incubator/xap/trunk/src/dojo/src/widget/svg/
incubator/xap/trunk/src/dojo/src/widget/svg/Chart.js
incubator/xap/trunk/src/dojo/src/widget/svg/HslColorPicker.js (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/
incubator/xap/trunk/src/dojo/src/widget/templates/DemoEngine.html (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HslColorPicker.svg (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlButtonTemplate.css (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlButtonTemplate.html (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlCiviCrmDatePicker.html (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlComboBox.css (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlComboBox.html (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlComboButtonTemplate.html (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlContextMenuTemplate.html (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlDatePicker.css (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlDatePicker.html (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlDialog.html (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlDocPane.css (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlDocPane.html (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlDropDownButtonTemplate.html (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlEditorToolbar.css (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlEditorToolbar.html (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlEditorToolbarOneline.html (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlFisheyeList.css (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlFloatingPane.css (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlFloatingPane.html (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlInlineEditBox.css (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlInlineEditBox.html (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlMenu2.css (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlMenuItemTemplate.html (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlMonthlyCalendar.css (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlMonthlyCalendar.html (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlResizableTextarea.css (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlResizableTextarea.html (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlResizeHandle.css (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlSimpleDropdownButtons.css (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlSlideShow.css (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlSlideShow.html (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlSplitContainer.css (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlTabContainer.css (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlTabContainer.html (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlTaskBar.css (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlTaskBarItemTemplate.html (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlTimePicker.css (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlTimePicker.html (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlToolbar.css (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlTooltipTemplate.css (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/HtmlTooltipTemplate.html (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/Menu.css (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/PopUpButton.css (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/TitlePane.html (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/Tree.css (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/Wizard.css (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/Wizard.html (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/-.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/aggregate.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/backcolor.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/bg-fade.png (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/bold.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/cancel.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/copy.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/createlink.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/cut.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/delete.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/forecolor.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/hilitecolor.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/indent.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/inserthorizontalrule.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/insertimage.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/insertorderedlist.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/inserttable.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/insertunorderedlist.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/italic.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/justifycenter.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/justifyfull.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/justifyleft.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/justifyright.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/left_to_right.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/list_bullet_indent.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/list_bullet_outdent.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/list_num_indent.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/list_num_outdent.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/outdent.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/paste.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/redo.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/removeformat.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/right_to_left.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/save.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/space.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/strikethrough.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/subscript.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/superscript.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/underline.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/undo.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/buttons/wikiword.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/check_off.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/check_on.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/decrementMonth.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/decrementWeek.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/grabCorner.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/
incubator/xap/trunk/src/dojo/src/widget/templates/images/Tree/
incubator/xap/trunk/src/dojo/src/widget/templates/images/Tree/Tree.css (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/Tree/blank.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/Tree/closed.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/Tree/document.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/Tree/minus.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/Tree/plus.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/Tree/transparent.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/Tree/treenode_blank.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/Tree/treenode_child.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/Tree/treenode_expand_minus.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/Tree/treenode_expand_plus.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/Tree/treenode_grid_c.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/Tree/treenode_grid_l.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/Tree/treenode_grid_p.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/Tree/treenode_grid_t.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/Tree/treenode_grid_v.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/Tree/treenode_grid_x.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/Tree/treenode_grid_y.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/Tree/treenode_grid_z.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/Tree/treenode_loading.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/Tree/treenode_loading.jpg (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/bdYearBg.1.gif
incubator/xap/trunk/src/dojo/src/widget/templates/images/bdYearBg.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/blank.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/combo_box_arrow.png (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/dateIcon.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/decrementMonth.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/decrementMonth.png (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/dpBg.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/dpCurveBL.png (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/dpCurveBR.png (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/dpCurveTL.png (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/dpCurveTR.png (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/dpHorizLine.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/dpHorizLineFoot.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/dpMonthBg.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/dpMonthBg.png (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/dpVertLine.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/dpYearBg.png (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/dropdownButtonsArrow-disabled.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/dropdownButtonsArrow.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/floatingPaneClose.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/floatingPaneMaximize.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/floatingPaneMinimize.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/floatingPaneRestore.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/hue.png (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/incrementMonth.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/incrementMonth.png (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/no.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/no.svg (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/soriaActive-c.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/soriaActive-l.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/soriaActive-r.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/soriaButton-c.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/soriaButton-l.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/soriaButton-r.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/soriaDisabled-c.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/soriaDisabled-l.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/soriaDisabled-r.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/soriaPressed-c.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/soriaPressed-l.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/soriaPressed-r.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/submenu_off.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/submenu_on.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/tab_bot_left.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/tab_bot_left_curr.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/tab_bot_right.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/tab_bot_right_curr.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/tab_close.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/tab_close_h.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/tab_left.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/tab_left_r.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/tab_left_r_curr.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/tab_right.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/tab_right_r.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/tab_right_r_curr.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/tab_top_left.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/tab_top_right.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/toolbar-bg.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/transparent.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/treenode_blank.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/treenode_child.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/treenode_expand_minus.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/treenode_expand_plus.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/treenode_grid_c.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/treenode_grid_l.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/treenode_grid_p.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/treenode_grid_t.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/treenode_grid_v.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/treenode_grid_x.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/treenode_grid_y.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/treenode_grid_z.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/treenode_node.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/verticalbar.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/images/whiteDownArrow.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/incrementMonth.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/incrementWeek.gif (with props)
incubator/xap/trunk/src/dojo/src/widget/templates/richtextframe.html (with props)
incubator/xap/trunk/src/dojo/src/widget/validate.js (with props)
incubator/xap/trunk/src/dojo/src/widget/vml/
incubator/xap/trunk/src/dojo/src/widget/vml/Chart.js
incubator/xap/trunk/src/dojo/src/xml/
incubator/xap/trunk/src/dojo/src/xml/Parse.js
incubator/xap/trunk/src/dojo/src/xml/__package__.js
incubator/xap/trunk/src/dojo/src/xml/domUtil.js
incubator/xap/trunk/src/dojo/src/xml/htmlUtil.js
incubator/xap/trunk/src/dojo/src/xml/svgUtil.js (with props)
Added: incubator/xap/trunk/src/dojo/src/AdapterRegistry.js
URL: http://svn.apache.org/viewvc/incubator/xap/trunk/src/dojo/src/AdapterRegistry.js?rev=417618&view=auto
==============================================================================
--- incubator/xap/trunk/src/dojo/src/AdapterRegistry.js (added)
+++ incubator/xap/trunk/src/dojo/src/AdapterRegistry.js Tue Jun 27 15:48:54 2006
@@ -0,0 +1,72 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+dojo.provide("dojo.AdapterRegistry");
+dojo.require("dojo.lang.func");
+
+dojo.AdapterRegistry = function(){
+ /***
+ A registry to facilitate adaptation.
+
+ Pairs is an array of [name, check, wrap] triples
+
+ All check/wrap functions in this registry should be of the same arity.
+ ***/
+ this.pairs = [];
+}
+
+dojo.lang.extend(dojo.AdapterRegistry, {
+ register: function (name, check, wrap, /* optional */ override){
+ /***
+ The check function should return true if the given arguments are
+ appropriate for the wrap function.
+
+ If override is given and true, the check function will be given
+ highest priority. Otherwise, it will be the lowest priority
+ adapter.
+ ***/
+
+ if (override) {
+ this.pairs.unshift([name, check, wrap]);
+ } else {
+ this.pairs.push([name, check, wrap]);
+ }
+ },
+
+ match: function (/* ... */) {
+ /***
+ Find an adapter for the given arguments.
+
+ If no suitable adapter is found, throws NotFound.
+ ***/
+ for(var i = 0; i < this.pairs.length; i++){
+ var pair = this.pairs[i];
+ if(pair[1].apply(this, arguments)){
+ return pair[2].apply(this, arguments);
+ }
+ }
+ throw new Error("No match found");
+ // dojo.raise("No match found");
+ },
+
+ unregister: function (name) {
+ /***
+ Remove a named adapter from the registry
+ ***/
+ for(var i = 0; i < this.pairs.length; i++){
+ var pair = this.pairs[i];
+ if(pair[0] == name){
+ this.pairs.splice(i, 1);
+ return true;
+ }
+ }
+ return false;
+ }
+});
Added: incubator/xap/trunk/src/dojo/src/Deferred.js
URL: http://svn.apache.org/viewvc/incubator/xap/trunk/src/dojo/src/Deferred.js?rev=417618&view=auto
==============================================================================
--- incubator/xap/trunk/src/dojo/src/Deferred.js (added)
+++ incubator/xap/trunk/src/dojo/src/Deferred.js Tue Jun 27 15:48:54 2006
@@ -0,0 +1,309 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+dojo.provide("dojo.Deferred");
+dojo.require("dojo.lang.func");
+
+dojo.Deferred = function(/* optional */ canceller){
+ /*
+ NOTE: this namespace and documentation are imported wholesale
+ from MochiKit
+
+ Encapsulates a sequence of callbacks in response to a value that
+ may not yet be available. This is modeled after the Deferred class
+ from Twisted <http://twistedmatrix.com>.
+
+ Why do we want this? JavaScript has no threads, and even if it did,
+ threads are hard. Deferreds are a way of abstracting non-blocking
+ events, such as the final response to an XMLHttpRequest.
+
+ The sequence of callbacks is internally represented as a list
+ of 2-tuples containing the callback/errback pair. For example,
+ the following call sequence::
+
+ var d = new Deferred();
+ d.addCallback(myCallback);
+ d.addErrback(myErrback);
+ d.addBoth(myBoth);
+ d.addCallbacks(myCallback, myErrback);
+
+ is translated into a Deferred with the following internal
+ representation::
+
+ [
+ [myCallback, null],
+ [null, myErrback],
+ [myBoth, myBoth],
+ [myCallback, myErrback]
+ ]
+
+ The Deferred also keeps track of its current status (fired).
+ Its status may be one of three things:
+
+ -1: no value yet (initial condition)
+ 0: success
+ 1: error
+
+ A Deferred will be in the error state if one of the following
+ three conditions are met:
+
+ 1. The result given to callback or errback is "instanceof" Error
+ 2. The previous callback or errback raised an exception while
+ executing
+ 3. The previous callback or errback returned a value "instanceof"
+ Error
+
+ Otherwise, the Deferred will be in the success state. The state of
+ the Deferred determines the next element in the callback sequence to
+ run.
+
+ When a callback or errback occurs with the example deferred chain,
+ something equivalent to the following will happen (imagine that
+ exceptions are caught and returned)::
+
+ // d.callback(result) or d.errback(result)
+ if(!(result instanceof Error)){
+ result = myCallback(result);
+ }
+ if(result instanceof Error){
+ result = myErrback(result);
+ }
+ result = myBoth(result);
+ if(result instanceof Error){
+ result = myErrback(result);
+ }else{
+ result = myCallback(result);
+ }
+
+ The result is then stored away in case another step is added to the
+ callback sequence. Since the Deferred already has a value available,
+ any new callbacks added will be called immediately.
+
+ There are two other "advanced" details about this implementation that
+ are useful:
+
+ Callbacks are allowed to return Deferred instances themselves, so you
+ can build complicated sequences of events with ease.
+
+ The creator of the Deferred may specify a canceller. The canceller
+ is a function that will be called if Deferred.cancel is called before
+ the Deferred fires. You can use this to implement clean aborting of
+ an XMLHttpRequest, etc. Note that cancel will fire the deferred with
+ a CancelledError (unless your canceller returns another kind of
+ error), so the errbacks should be prepared to handle that error for
+ cancellable Deferreds.
+
+ */
+
+ this.chain = [];
+ this.id = this._nextId();
+ this.fired = -1;
+ this.paused = 0;
+ this.results = [null, null];
+ this.canceller = canceller;
+ this.silentlyCancelled = false;
+};
+
+dojo.lang.extend(dojo.Deferred, {
+ getFunctionFromArgs: function(){
+ var a = arguments;
+ if((a[0])&&(!a[1])){
+ if(dojo.lang.isFunction(a[0])){
+ return a[0];
+ }else if(dojo.lang.isString(a[0])){
+ return dj_global[a[0]];
+ }
+ }else if((a[0])&&(a[1])){
+ return dojo.lang.hitch(a[0], a[1]);
+ }
+ return null;
+ },
+
+ repr: function(){
+ var state;
+ if(this.fired == -1){
+ state = 'unfired';
+ }else if(this.fired == 0){
+ state = 'success';
+ } else {
+ state = 'error';
+ }
+ return 'Deferred(' + this.id + ', ' + state + ')';
+ },
+
+ toString: dojo.lang.forward("repr"),
+
+ _nextId: (function(){
+ var n = 1;
+ return function(){ return n++; };
+ })(),
+
+ cancel: function(){
+ /***
+ Cancels a Deferred that has not yet received a value, or is
+ waiting on another Deferred as its value.
+
+ If a canceller is defined, the canceller is called. If the
+ canceller did not return an error, or there was no canceller,
+ then the errback chain is started with CancelledError.
+ ***/
+ if(this.fired == -1){
+ if (this.canceller){
+ this.canceller(this);
+ }else{
+ this.silentlyCancelled = true;
+ }
+ if(this.fired == -1){
+ this.errback(new Error(this.repr()));
+ }
+ }else if( (this.fired == 0)&&
+ (this.results[0] instanceof dojo.Deferred)){
+ this.results[0].cancel();
+ }
+ },
+
+
+ _pause: function(){
+ // Used internally to signal that it's waiting on another Deferred
+ this.paused++;
+ },
+
+ _unpause: function(){
+ // Used internally to signal that it's no longer waiting on
+ // another Deferred.
+ this.paused--;
+ if ((this.paused == 0) && (this.fired >= 0)) {
+ this._fire();
+ }
+ },
+
+ _continue: function(res){
+ // Used internally when a dependent deferred fires.
+ this._resback(res);
+ this._unpause();
+ },
+
+ _resback: function(res){
+ // The primitive that means either callback or errback
+ this.fired = ((res instanceof Error) ? 1 : 0);
+ this.results[this.fired] = res;
+ this._fire();
+ },
+
+ _check: function(){
+ if(this.fired != -1){
+ if(!this.silentlyCancelled){
+ dojo.raise("already called!");
+ }
+ this.silentlyCancelled = false;
+ return;
+ }
+ },
+
+ callback: function(res){
+ /*
+ Begin the callback sequence with a non-error value.
+
+ callback or errback should only be called once on a given
+ Deferred.
+ */
+ this._check();
+ this._resback(res);
+ },
+
+ errback: function(res){
+ // Begin the callback sequence with an error result.
+ this._check();
+ if(!(res instanceof Error)){
+ res = new Error(res);
+ }
+ this._resback(res);
+ },
+
+ addBoth: function(cb, cbfn){
+ /*
+ Add the same function as both a callback and an errback as the
+ next element on the callback sequence. This is useful for code
+ that you want to guarantee to run, e.g. a finalizer.
+ */
+ var enclosed = this.getFunctionFromArgs(cb, cbfn);
+ if(arguments.length > 2){
+ enclosed = dojo.lang.curryArguments(null, enclosed, arguments, 2);
+ }
+ return this.addCallbacks(enclosed, enclosed);
+ },
+
+ addCallback: function(cb, cbfn){
+ // Add a single callback to the end of the callback sequence.
+ var enclosed = this.getFunctionFromArgs(cb, cbfn);
+ if(arguments.length > 2){
+ enclosed = dojo.lang.curryArguments(null, enclosed, arguments, 2);
+ }
+ return this.addCallbacks(enclosed, null);
+ },
+
+ addErrback: function(cb, cbfn){
+ // Add a single callback to the end of the callback sequence.
+ var enclosed = this.getFunctionFromArgs(cb, cbfn);
+ if(arguments.length > 2){
+ enclosed = dojo.lang.curryArguments(null, enclosed, arguments, 2);
+ }
+ return this.addCallbacks(null, enclosed);
+ return this.addCallbacks(null, fn);
+ },
+
+ addCallbacks: function (cb, eb) {
+ // Add separate callback and errback to the end of the callback
+ // sequence.
+ this.chain.push([cb, eb])
+ if (this.fired >= 0) {
+ this._fire();
+ }
+ return this;
+ },
+
+ _fire: function(){
+ // Used internally to exhaust the callback sequence when a result
+ // is available.
+ var chain = this.chain;
+ var fired = this.fired;
+ var res = this.results[fired];
+ var self = this;
+ var cb = null;
+ while (chain.length > 0 && this.paused == 0) {
+ // Array
+ var pair = chain.shift();
+ var f = pair[fired];
+ if (f == null) {
+ continue;
+ }
+ try {
+ res = f(res);
+ fired = ((res instanceof Error) ? 1 : 0);
+ if(res instanceof dojo.Deferred) {
+ cb = function(res){
+ self._continue(res);
+ }
+ this._pause();
+ }
+ }catch(err){
+ fired = 1;
+ res = err;
+ }
+ }
+ this.fired = fired;
+ this.results[fired] = res;
+ if((cb)&&(this.paused)){
+ // this is for "tail recursion" in case the dependent
+ // deferred is already fired
+ res.addBoth(cb);
+ }
+ }
+});
Added: incubator/xap/trunk/src/dojo/src/animation.js
URL: http://svn.apache.org/viewvc/incubator/xap/trunk/src/dojo/src/animation.js?rev=417618&view=auto
==============================================================================
--- incubator/xap/trunk/src/dojo/src/animation.js (added)
+++ incubator/xap/trunk/src/dojo/src/animation.js Tue Jun 27 15:48:54 2006
@@ -0,0 +1,12 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+dojo.provide("dojo.animation");
+dojo.require("dojo.animation.Animation");
Added: incubator/xap/trunk/src/dojo/src/behavior.js
URL: http://svn.apache.org/viewvc/incubator/xap/trunk/src/dojo/src/behavior.js?rev=417618&view=auto
==============================================================================
--- incubator/xap/trunk/src/dojo/src/behavior.js (added)
+++ incubator/xap/trunk/src/dojo/src/behavior.js Tue Jun 27 15:48:54 2006
@@ -0,0 +1,248 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+dojo.provide("dojo.behavior");
+dojo.require("dojo.event.*");
+
+dojo.require("dojo.experimental");
+dojo.experimental("dojo.behavior");
+
+dojo.behavior = new function(){
+ function arrIn(obj, name){
+ if(!obj[name]){ obj[name] = []; }
+ return obj[name];
+ }
+
+ function forIn(obj, scope, func){
+ var tmpObj = {};
+ for(var x in obj){
+ if(typeof tmpObj[x] == "undefined"){
+ if(!func){
+ scope(obj[x], x);
+ }else{
+ func.call(scope, obj[x], x);
+ }
+ }
+ }
+ }
+
+ // FIXME: need a better test so we don't exclude nightly Safari's!
+ this.behaviors = {};
+ this.add = function(behaviorObj){
+ /* behavior objects are specified in the following format:
+ *
+ * {
+ * "#id": {
+ * "found": function(element){
+ * // ...
+ * },
+ *
+ * "onblah": {targetObj: foo, targetFunc: "bar"},
+ *
+ * "onblarg": "/foo/bar/baz/blarg",
+ *
+ * "onevent": function(evt){
+ * },
+ *
+ * "onotherevent: function(evt){
+ * // ...
+ * }
+ * },
+ *
+ * "#id2": {
+ * // ...
+ * },
+ *
+ * "#id3": function(element){
+ * // ...
+ * },
+ *
+ * // publish the match on a topic
+ * "#id4": "/found/topic/name",
+ *
+ * // match all direct descendants
+ * "#id4 > *": function(element){
+ * // ...
+ * },
+ *
+ * // match the first child node that's an element
+ * "#id4 > @firstElement": { ... },
+ *
+ * // match the last child node that's an element
+ * "#id4 > @lastElement": { ... },
+ *
+ * // all elements of type tagname
+ * "tagname": {
+ * // ...
+ * },
+ *
+ * // maps to roughly:
+ * // dojo.lang.forEach(body.getElementsByTagName("tagname1"), function(node){
+ * // dojo.lang.forEach(node.getElementsByTagName("tagname2"), function(node2){
+ * // dojo.lang.forEach(node2.getElementsByTagName("tagname3", function(node3){
+ * // // apply rules
+ * // });
+ * // });
+ * // });
+ * "tagname1 tagname2 tagname3": {
+ * // ...
+ * },
+ *
+ * ".classname": {
+ * // ...
+ * },
+ *
+ * "tagname.classname": {
+ * // ...
+ * },
+ * }
+ *
+ * The "found" method is a generalized handler that's called as soon
+ * as the node matches the selector. Rules for values that follow also
+ * apply to the "found" key.
+ *
+ * The "on*" handlers are attached with dojo.event.connect(). If the
+ * value is not a function but is rather an object, it's assumed to be
+ * the "other half" of a dojo.event.kwConnect() argument object. It
+ * may contain any/all properties of such a connection modifier save
+ * for the sourceObj and sourceFunc properties which are filled in by
+ * the system automatically. If a string is instead encountered, the
+ * node publishes the specified event on the topic contained in the
+ * string value.
+ *
+ * If the value corresponding to the ID key is a function and not a
+ * list, it's treated as though it was the value of "found".
+ *
+ */
+
+ var tmpObj = {};
+ forIn(behaviorObj, this, function(behavior, name){
+ var tBehavior = arrIn(this.behaviors, name);
+ if((dojo.lang.isString(behavior))||(dojo.lang.isFunction(behavior))){
+ behavior = { found: behavior };
+ }
+ forIn(behavior, function(rule, ruleName){
+ arrIn(tBehavior, ruleName).push(rule);
+ });
+ });
+ }
+
+ this.apply = function(){
+ dojo.profile.start("dojo.behavior.apply");
+ var r = dojo.render.html;
+ // note, we apply one way for fast queries and one way for slow
+ // iteration. So be it.
+ var safariGoodEnough = (!r.safari);
+ if(r.safari){
+ // Anything over release #420 should work the fast way
+ var uas = r.UA.split("AppleWebKit/")[1];
+ if(parseInt(uas.match(/[0-9.]{3,}/)) >= 420){
+ safariGoodEnough = true;
+ }
+ }
+ if((dj_undef("behaviorFastParse", djConfig) ? (safariGoodEnough) : djConfig["behaviorFastParse"])){
+ this.applyFast();
+ }else{
+ this.applySlow();
+ }
+ dojo.profile.end("dojo.behavior.apply");
+ }
+
+ this.matchCache = {};
+
+ this.elementsById = function(id, handleRemoved){
+ var removed = [];
+ var added = [];
+ arrIn(this.matchCache, id);
+ if(handleRemoved){
+ var nodes = this.matchCache[id];
+ for(var x=0; x<nodes.length; x++){
+ if(nodes[x].id != ""){
+ removed.push(nodes[x]);
+ nodes.splice(x, 1);
+ x--;
+ }
+ }
+ }
+ var tElem = dojo.byId(id);
+ while(tElem){
+ if(!tElem["idcached"]){
+ added.push(tElem);
+ }
+ tElem.id = "";
+ tElem = dojo.byId(id);
+ }
+ this.matchCache[id] = this.matchCache[id].concat(added);
+ dojo.lang.forEach(this.matchCache[id], function(node){
+ node.id = id;
+ node.idcached = true;
+ });
+ return { "removed": removed, "added": added, "match": this.matchCache[id] };
+ }
+
+ this.applyToNode = function(node, action, ruleSetName){
+ if(typeof action == "string"){
+ dojo.event.topic.registerPublisher(action, node, ruleSetName);
+ }else if(typeof action == "function"){
+ if(ruleSetName == "found"){
+ action(node);
+ }else{
+ dojo.event.connect(node, ruleSetName, action);
+ }
+ }else{
+ action.srcObj = node;
+ action.srcFunc = ruleSetName;
+ dojo.event.kwConnect(action);
+ }
+ }
+
+ this.applyFast = function(){
+ dojo.profile.start("dojo.behavior.applyFast");
+ // fast DOM queries...wheeee!
+ forIn(this.behaviors, function(tBehavior, id){
+ var elems = dojo.behavior.elementsById(id);
+ dojo.lang.forEach(elems.added,
+ function(elem){
+ forIn(tBehavior, function(ruleSet, ruleSetName){
+ if(dojo.lang.isArray(ruleSet)){
+ dojo.lang.forEach(ruleSet, function(action){
+ dojo.behavior.applyToNode(elem, action, ruleSetName);
+ });
+ }
+ });
+ }
+ );
+ });
+ dojo.profile.end("dojo.behavior.applyFast");
+ }
+
+ this.applySlow = function(){
+ // iterate. Ugg.
+ dojo.profile.start("dojo.behavior.applySlow");
+ var all = document.getElementsByTagName("*");
+ var allLen = all.length;
+ for(var x=0; x<allLen; x++){
+ var elem = all[x];
+ if((elem.id)&&(!elem["behaviorAdded"])&&(this.behaviors[elem.id])){
+ elem["behaviorAdded"] = true;
+ forIn(this.behaviors[elem.id], function(ruleSet, ruleSetName){
+ if(dojo.lang.isArray(ruleSet)){
+ dojo.lang.forEach(ruleSet, function(action){
+ dojo.behavior.applyToNode(elem, action, ruleSetName);
+ });
+ }
+ });
+ }
+ }
+ dojo.profile.end("dojo.behavior.applySlow");
+ }
+}
+
+dojo.addOnLoad(dojo.behavior, "apply");
Added: incubator/xap/trunk/src/dojo/src/bootstrap1.js
URL: http://svn.apache.org/viewvc/incubator/xap/trunk/src/dojo/src/bootstrap1.js?rev=417618&view=auto
==============================================================================
--- incubator/xap/trunk/src/dojo/src/bootstrap1.js (added)
+++ incubator/xap/trunk/src/dojo/src/bootstrap1.js Tue Jun 27 15:48:54 2006
@@ -0,0 +1,283 @@
+/**
+* @file bootstrap1.js
+*
+* bootstrap file that runs before hostenv_*.js file.
+*
+* @author Copyright 2004 Mark D. Anderson (mda@discerning.com)
+* @author Licensed under the Academic Free License 2.1 http://www.opensource.org/licenses/afl-2.1.php
+*
+* $Id: bootstrap1.js 3802 2006-05-07 22:33:47Z sjmiles $
+*/
+
+/**
+ * The global djConfig can be set prior to loading the library, to override
+ * certain settings. It does not exist under dojo.* so that it can be set
+ * before the dojo variable exists. Setting any of these variables *after* the
+ * library has loaded does nothing at all. The variables that can be set are
+ * as follows:
+ */
+
+/**
+ * dj_global is an alias for the top-level global object in the host
+ * environment (the "window" object in a browser).
+ */
+var dj_global = this; //typeof window == 'undefined' ? this : window;
+
+/**
+ * True if name is defined, either on obj or globally if obj is false
+ * Note that 'defined' and 'exists' are not the same concept.
+ */
+function dj_undef(name, obj){
+ if(!obj){ obj = dj_global; }
+ // exception if obj is not an Object
+ return (typeof obj[name] == "undefined");
+}
+
+/**
+ * djConfig is the global configuration object
+ */
+if(dj_undef("djConfig")){
+ var djConfig = {};
+}
+
+/**
+ * dojo is the root variable of (almost all) our public symbols.
+ */
+if(dj_undef("dojo")){
+ var dojo = {};
+}
+
+dojo.version = {
+ major: 0, minor: 2, patch: 2, flag: "+",
+ revision: Number("$Rev: 3802 $".match(/[0-9]+/)[0]),
+ toString: function(){
+ with(dojo.version){
+ return major + "." + minor + "." + patch + flag + " (" + revision + ")";
+ }
+ }
+}
+
+/**
+ * get 'obj[name]' if it is defined, otherwise create as Object if 'create' is true, otherwise return null
+ * caveat: 'defined' and 'exists' are not the same concept
+ */
+dojo.evalProp = function(name, obj, create){
+ return (obj && !dj_undef(name, obj) ? obj[name] : (create ? (obj[name]={}) : undefined));
+}
+
+/**
+ * Parse a reference specified as a string descriptor into an object reference and a property name.
+ */
+dojo.parseObjPath = function(objpath, context, create){
+ var obj = (context ? context : dj_global);
+ var names = objpath.split('.');
+ var prop = names.pop();
+ for (var i=0,l=names.length;i<l && obj;i++){
+ obj = dojo.evalProp(names[i], obj, create);
+ }
+ return {obj: obj, prop: prop};
+}
+
+/*
+ * evaluate a string like "A.B" without using eval.
+ */
+dojo.evalObjPath = function(objpath, create){
+ if(typeof objpath != "string"){
+ return dj_global;
+ }
+ // fast path for no periods
+ if(objpath.indexOf('.') == -1){
+ return dojo.evalProp(objpath, dj_global, create);
+ }
+ with (dojo.parseObjPath(objpath, dj_global, create)){
+ return dojo.evalProp(prop, obj, create);
+ }
+}
+
+// ****************************************************************
+// global public utils
+// ****************************************************************
+
+/*
+ * utility to print an Error.
+ * TODO: overriding Error.prototype.toString won't accomplish this?
+ * ... since natively generated Error objects do not always reflect such things?
+ */
+dojo.errorToString = function(excep){
+ return ((!dj_undef("message", excep)) ? excep.message : (dj_undef("description", excep) ? excep : excep.description ));
+}
+
+/**
+* Throws an Error object given the string err. For now, will also do a println
+* to the user first.
+*/
+dojo.raise = function(message, excep){
+ if(excep){
+ message = message + ": "+dojo.errorToString(excep);
+ }
+ var he = dojo.hostenv;
+ if((!dj_undef("hostenv", dojo))&&(!dj_undef("println", dojo.hostenv))){
+ dojo.hostenv.println("FATAL: " + message);
+ }
+ throw Error(message);
+}
+
+//Stub functions so things don't break.
+dojo.debug = function(){}
+dojo.debugShallow = function(obj){}
+dojo.profile = { start: function(){}, end: function(){}, stop: function(){}, dump: function(){} };
+
+/**
+ * We put eval() in this separate function to keep down the size of the trapped
+ * evaluation context.
+ *
+ * Note that:
+ * - JSC eval() takes an optional second argument which can be 'unsafe'.
+ * - Mozilla/SpiderMonkey eval() takes an optional second argument which is the
+ * scope object for new symbols.
+*/
+function dj_eval(s){ return dj_global.eval ? dj_global.eval(s) : eval(s); }
+
+
+/**
+ * Convenience for throwing an exception because some function is not
+ * implemented.
+ */
+dojo.unimplemented = function(funcname, extra){
+ // FIXME: need to move this away from dj_*
+ var mess = "'" + funcname + "' not implemented";
+ if((!dj_undef(extra))&&(extra)){ mess += " " + extra; }
+ dojo.raise(mess);
+}
+
+/**
+ * Convenience for informing of deprecated behaviour.
+ */
+dojo.deprecated = function(behaviour, extra, removal){
+ var mess = "DEPRECATED: " + behaviour;
+ if(extra){ mess += " " + extra; }
+ if(removal){ mess += " -- will be removed in version: " + removal; }
+ dojo.debug(mess);
+}
+
+/**
+ * Does inheritance
+ */
+dojo.inherits = function(subclass, superclass){
+ if(typeof superclass != 'function'){
+ dojo.raise("dojo.inherits: superclass argument ["+superclass+"] must be a function (subclass: [" + subclass + "']");
+ }
+ subclass.prototype = new superclass();
+ subclass.prototype.constructor = subclass;
+ subclass.superclass = superclass.prototype;
+ // DEPRICATED: super is a reserved word, use 'superclass'
+ subclass['super'] = superclass.prototype;
+}
+
+// an object that authors use determine what host we are running under
+dojo.render = (function(){
+
+ function vscaffold(prefs, names){
+ var tmp = {
+ capable: false,
+ support: {
+ builtin: false,
+ plugin: false
+ },
+ prefixes: prefs
+ };
+ for(var x in names){
+ tmp[x] = false;
+ }
+ return tmp;
+ }
+
+ return {
+ name: "",
+ ver: dojo.version,
+ os: { win: false, linux: false, osx: false },
+ html: vscaffold(["html"], ["ie", "opera", "khtml", "safari", "moz"]),
+ svg: vscaffold(["svg"], ["corel", "adobe", "batik"]),
+ vml: vscaffold(["vml"], ["ie"]),
+ swf: vscaffold(["Swf", "Flash", "Mm"], ["mm"]),
+ swt: vscaffold(["Swt"], ["ibm"])
+ };
+})();
+
+// ****************************************************************
+// dojo.hostenv methods that must be defined in hostenv_*.js
+// ****************************************************************
+
+/**
+ * The interface definining the interaction with the EcmaScript host environment.
+*/
+
+/*
+ * None of these methods should ever be called directly by library users.
+ * Instead public methods such as loadModule should be called instead.
+ */
+dojo.hostenv = (function(){
+
+ // default configuration options
+ var config = {
+ isDebug: false,
+ allowQueryConfig: false,
+ baseScriptUri: "",
+ baseRelativePath: "",
+ libraryScriptUri: "",
+ iePreventClobber: false,
+ ieClobberMinimal: true,
+ preventBackButtonFix: true,
+ searchIds: [],
+ parseWidgets: true
+ };
+
+ if (typeof djConfig == "undefined") { djConfig = config; }
+ else {
+ for (var option in config) {
+ if (typeof djConfig[option] == "undefined") {
+ djConfig[option] = config[option];
+ }
+ }
+ }
+
+ return {
+ name_: '(unset)',
+ version_: '(unset)',
+
+ /**
+ * Return the name of the hostenv.
+ */
+ getName: function(){ return this.name_; },
+
+ /**
+ * Return the version of the hostenv.
+ */
+ getVersion: function(){ return this.version_; },
+
+ /**
+ * Read the plain/text contents at the specified uri. If getText() is
+ * not implemented, then it is necessary to override loadUri() with an
+ * implementation that doesn't rely on it.
+ */
+ getText: function(uri){
+ dojo.unimplemented('getText', "uri=" + uri);
+ }
+ };
+})();
+
+/**
+ * Return the base script uri that other scripts are found relative to.
+ * It is either the empty string, or a non-empty string ending in '/'.
+ */
+dojo.hostenv.getBaseScriptUri = function(){
+ if(djConfig.baseScriptUri.length){
+ return djConfig.baseScriptUri;
+ }
+ var uri = new String(djConfig.libraryScriptUri||djConfig.baseRelativePath);
+ if (!uri) { dojo.raise("Nothing returned by getLibraryScriptUri(): " + uri); }
+
+ var lastslash = uri.lastIndexOf('/');
+ djConfig.baseScriptUri = djConfig.baseRelativePath;
+ return djConfig.baseScriptUri;
+}
Added: incubator/xap/trunk/src/dojo/src/bootstrap2.js
URL: http://svn.apache.org/viewvc/incubator/xap/trunk/src/dojo/src/bootstrap2.js?rev=417618&view=auto
==============================================================================
--- incubator/xap/trunk/src/dojo/src/bootstrap2.js (added)
+++ incubator/xap/trunk/src/dojo/src/bootstrap2.js Tue Jun 27 15:48:54 2006
@@ -0,0 +1,66 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+//Semicolon is for when this file is integrated with a custom build on one line
+//with some other file's contents. Sometimes that makes things not get defined
+//properly, particularly with the using the closure below to do all the work.
+;(function(){
+ //Don't do this work if dojo.js has already done it.
+ if(typeof dj_usingBootstrap != "undefined"){
+ return;
+ }
+
+ var isRhino = false;
+ var isSpidermonkey = false;
+ var isDashboard = false;
+ if((typeof this["load"] == "function")&&(typeof this["Packages"] == "function")){
+ isRhino = true;
+ }else if(typeof this["load"] == "function"){
+ isSpidermonkey = true;
+ }else if(window.widget){
+ isDashboard = true;
+ }
+
+ var tmps = [];
+ if((this["djConfig"])&&((djConfig["isDebug"])||(djConfig["debugAtAllCosts"]))){
+ tmps.push("debug.js");
+ }
+
+ if((this["djConfig"])&&(djConfig["debugAtAllCosts"])&&(!isRhino)&&(!isDashboard)){
+ tmps.push("browser_debug.js");
+ }
+
+ //Support compatibility packages. Right now this only allows setting one
+ //compatibility package. Might need to revisit later down the line to support
+ //more than one.
+ if((this["djConfig"])&&(djConfig["compat"])){
+ tmps.push("compat/" + djConfig["compat"] + ".js");
+ }
+
+ var loaderRoot = djConfig["baseScriptUri"];
+ if((this["djConfig"])&&(djConfig["baseLoaderUri"])){
+ loaderRoot = djConfig["baseLoaderUri"];
+ }
+
+ for(var x=0; x < tmps.length; x++){
+ var spath = loaderRoot+"src/"+tmps[x];
+ if(isRhino||isSpidermonkey){
+ load(spath);
+ } else {
+ try {
+ document.write("<scr"+"ipt type='text/javascript' src='"+spath+"'></scr"+"ipt>");
+ } catch (e) {
+ var script = document.createElement("script");
+ script.src = spath;
+ document.getElementsByTagName("head")[0].appendChild(script);
+ }
+ }
+ }
+})();
Added: incubator/xap/trunk/src/dojo/src/browser_debug.js
URL: http://svn.apache.org/viewvc/incubator/xap/trunk/src/dojo/src/browser_debug.js?rev=417618&view=auto
==============================================================================
--- incubator/xap/trunk/src/dojo/src/browser_debug.js (added)
+++ incubator/xap/trunk/src/dojo/src/browser_debug.js Tue Jun 27 15:48:54 2006
@@ -0,0 +1,162 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+dojo.hostenv.loadedUris.push("../src/bootstrap1.js");
+dojo.hostenv.loadedUris.push("../src/loader.js");
+dojo.hostenv.loadedUris.push("../src/hostenv_browser.js");
+dojo.hostenv.loadedUris.push("../src/bootstrap2.js");
+
+function removeComments(contents){
+ contents = new String((!contents) ? "" : contents);
+ // clobber all comments
+ contents = contents.replace( /^(.*?)\/\/(.*)$/mg , "$1");
+ contents = contents.replace( /(\n)/mg , "__DOJONEWLINE");
+ contents = contents.replace( /\/\*(.*?)\*\//g , "");
+ return contents.replace( /__DOJONEWLINE/mg , "\n");
+}
+
+dojo.hostenv.getRequiresAndProvides = function(contents){
+ // FIXME: should probably memoize this!
+ if(!contents){ return []; }
+
+
+ // check to see if we need to load anything else first. Ugg.
+ var deps = [];
+ var tmp;
+ RegExp.lastIndex = 0;
+ var testExp = /dojo.(hostenv.loadModule|hosetnv.require|require|requireIf|kwCompoundRequire|hostenv.conditionalLoadModule|hostenv.startPackage|provide)\([\w\W]*?\)/mg;
+ while((tmp = testExp.exec(contents)) != null){
+ deps.push(tmp[0]);
+ }
+ return deps;
+}
+
+dojo.hostenv.getDelayRequiresAndProvides = function(contents){
+ // FIXME: should probably memoize this!
+ if(!contents){ return []; }
+
+ // check to see if we need to load anything else first. Ugg.
+ var deps = [];
+ var tmp;
+ RegExp.lastIndex = 0;
+ var testExp = /dojo.(requireAfterIf)\([\w\W]*?\)/mg;
+ while((tmp = testExp.exec(contents)) != null){
+ deps.push(tmp[0]);
+ }
+ return deps;
+}
+
+/*
+dojo.getNonExistantDescendants = function(objpath){
+ var ret = [];
+ // fast path for no periods
+ if(typeof objpath != "string"){ return dj_global; }
+ if(objpath.indexOf('.') == -1){
+ if(dj_undef(objpath, dj_global)){
+ ret.push[objpath];
+ }
+ return ret;
+ }
+
+ var syms = objpath.split(/\./);
+ var obj = dj_global;
+ for(var i=0;i<syms.length;++i){
+ if(dj_undef(syms[i], obj)){
+ for(var j=i; j<syms.length; j++){
+ ret.push(syms.slice(0, j+1).join("."));
+ }
+ break;
+ }
+ }
+ return ret;
+}
+*/
+
+dojo.clobberLastObject = function(objpath){
+ if(objpath.indexOf('.') == -1){
+ if(!dj_undef(objpath, dj_global)){
+ delete dj_global[objpath];
+ }
+ return true;
+ }
+
+ var syms = objpath.split(/\./);
+ var base = dojo.evalObjPath(syms.slice(0, -1).join("."), false);
+ var child = syms[syms.length-1];
+ if(!dj_undef(child, base)){
+ // alert(objpath);
+ delete base[child];
+ return true;
+ }
+ return false;
+}
+
+var removals = [];
+
+function zip(arr){
+ var ret = [];
+ var seen = {};
+ for(var x=0; x<arr.length; x++){
+ if(!seen[arr[x]]){
+ ret.push(arr[x]);
+ seen[arr[x]] = true;
+ }
+ }
+ return ret;
+}
+
+// over-write dj_eval to prevent actual loading of subsequent files
+var old_dj_eval = dj_eval;
+dj_eval = function(){ return true; }
+dojo.hostenv.oldLoadUri = dojo.hostenv.loadUri;
+dojo.hostenv.loadUri = function(uri){
+ if(dojo.hostenv.loadedUris[uri]){
+ return true; // fixes endless recursion opera trac 471
+ }
+ try{
+ var text = this.getText(uri, null, true);
+ var requires = dojo.hostenv.getRequiresAndProvides(text);
+ eval(requires.join(";"));
+ dojo.hostenv.loadedUris.push(uri);
+ dojo.hostenv.loadedUris[uri] = true;
+ var delayRequires = dojo.hostenv.getDelayRequiresAndProvides(text);
+ eval(delayRequires.join(";"));
+ }catch(e){
+ alert(e);
+ }
+ return true;
+}
+
+dojo.hostenv.writeIncludes = function(){
+ for(var x=removals.length-1; x>=0; x--){
+ dojo.clobberLastObject(removals[x]);
+ }
+ var depList = [];
+ var seen = {};
+ for(var x=0; x<dojo.hostenv.loadedUris.length; x++){
+ var curi = dojo.hostenv.loadedUris[x];
+ // dojo.debug(curi);
+ if(!seen[curi]){
+ seen[curi] = true;
+ depList.push(curi);
+ }
+ }
+
+ dojo.hostenv._global_omit_module_check = true;
+ for(var x=4; x<depList.length; x++){
+ document.write("<script type='text/javascript' src='"+depList[x]+"'></script>");
+ }
+ document.write("<script type='text/javascript'>dojo.hostenv._global_omit_module_check = false;</script>");
+
+ // turn off debugAtAllCosts, so that dojo.require() calls inside of ContentPane hrefs
+ // work correctly
+ dj_eval = old_dj_eval;
+ dojo.hostenv.loadUri = dojo.hostenv.oldLoadUri;
+}
Added: incubator/xap/trunk/src/dojo/src/crypto.js
URL: http://svn.apache.org/viewvc/incubator/xap/trunk/src/dojo/src/crypto.js?rev=417618&view=auto
==============================================================================
--- incubator/xap/trunk/src/dojo/src/crypto.js (added)
+++ incubator/xap/trunk/src/dojo/src/crypto.js Tue Jun 27 15:48:54 2006
@@ -0,0 +1,15 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+dojo.provide("dojo.crypto");
+
+// enumerations for use in crypto code. Note that 0 == default, for the most part.
+dojo.crypto.cipherModes={ ECB:0, CBC:1, PCBC:2, CFB:3, OFB:4, CTR:5 };
+dojo.crypto.outputTypes={ Base64:0,Hex:1,String:2,Raw:3 };
Added: incubator/xap/trunk/src/dojo/src/data.js
URL: http://svn.apache.org/viewvc/incubator/xap/trunk/src/dojo/src/data.js?rev=417618&view=auto
==============================================================================
--- incubator/xap/trunk/src/dojo/src/data.js (added)
+++ incubator/xap/trunk/src/dojo/src/data.js Tue Jun 27 15:48:54 2006
@@ -0,0 +1,15 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+dojo.provide("dojo.data");
+
+// currently a stub for dojo.data
+
+dojo.data = {};