Best JavaScript code snippet using playwright-internal
ext.jsb
Source: ext.jsb
1<?xml version="1.0" encoding="utf-8"?>2<project path="" name="Ext - JS Lib" author="Ext JS, LLC" version="2.0 RC 1" copyright="Ext JS Library $version
Copyright(c) 2006-2007, $author.
licensing@extjs.com

http://extjs.com/license" output="C:\apps\www\deploy\ext-2.0-rc1\" source="True" source-dir="$output\source" minify="True" min-dir="$output\build" doc="False" doc-dir="$output\docs" min-dair="$output\build">3 <directory name="" />4 <target name="Core" file="$output\ext-core.js" debug="True" shorthand="False" shorthand-list="YAHOO.util.Dom.setStyle
YAHOO.util.Dom.getStyle
YAHOO.util.Dom.getRegion
YAHOO.util.Dom.getViewportHeight
YAHOO.util.Dom.getViewportWidth
YAHOO.util.Dom.get
YAHOO.util.Dom.getXY
YAHOO.util.Dom.setXY
YAHOO.util.CustomEvent
YAHOO.util.Event.addListener
YAHOO.util.Event.getEvent
YAHOO.util.Event.getTarget
YAHOO.util.Event.preventDefault
YAHOO.util.Event.stopEvent
YAHOO.util.Event.stopPropagation
YAHOO.util.Event.stopEvent
YAHOO.util.Anim
YAHOO.util.Motion
YAHOO.util.Connect.asyncRequest
YAHOO.util.Connect.setForm
YAHOO.util.Dom
YAHOO.util.Event">5 <include name="core\DomHelper.js" />6 <include name="core\Template.js" />7 <include name="core\DomQuery.js" />8 <include name="util\Observable.js" />9 <include name="core\EventManager.js" />10 <include name="core\Element.js" />11 <include name="core\Fx.js" />12 <include name="core\CompositeElement.js" />13 <include name="data\Connection.js" />14 <include name="core\UpdateManager.js" />15 <include name="util\DelayedTask.js" />16 </target>17 <target name="Everything" file="$output\ext-all.js" debug="True" shorthand="False" shorthand-list="YAHOO.util.Dom.setStyle
YAHOO.util.Dom.getStyle
YAHOO.util.Dom.getRegion
YAHOO.util.Dom.getViewportHeight
YAHOO.util.Dom.getViewportWidth
YAHOO.util.Dom.get
YAHOO.util.Dom.getXY
YAHOO.util.Dom.setXY
YAHOO.util.CustomEvent
YAHOO.util.Event.addListener
YAHOO.util.Event.getEvent
YAHOO.util.Event.getTarget
YAHOO.util.Event.preventDefault
YAHOO.util.Event.stopEvent
YAHOO.util.Event.stopPropagation
YAHOO.util.Event.stopEvent
YAHOO.util.Anim
YAHOO.util.Motion
YAHOO.util.Connect.asyncRequest
YAHOO.util.Connect.setForm
YAHOO.util.Dom
YAHOO.util.Event">18 <include name="core\DomHelper.js" />19 <include name="core\Template.js" />20 <include name="core\DomQuery.js" />21 <include name="util\Observable.js" />22 <include name="core\EventManager.js" />23 <include name="core\Element.js" />24 <include name="core\Fx.js" />25 <include name="core\CompositeElement.js" />26 <include name="data\Connection.js" />27 <include name="core\UpdateManager.js" />28 <include name="util\Date.js" />29 <include name="util\DelayedTask.js" />30 <include name="util\TaskMgr.js" />31 <include name="util\MixedCollection.js" />32 <include name="util\JSON.js" />33 <include name="util\Format.js" />34 <include name="util\XTemplate.js" />35 <include name="util\CSS.js" />36 <include name="util\ClickRepeater.js" />37 <include name="util\KeyNav.js" />38 <include name="util\KeyMap.js" />39 <include name="util\TextMetrics.js" />40 <include name="dd\DDCore.js" />41 <include name="dd\DragTracker.js" />42 <include name="dd\ScrollManager.js" />43 <include name="dd\Registry.js" />44 <include name="dd\StatusProxy.js" />45 <include name="dd\DragSource.js" />46 <include name="dd\DropTarget.js" />47 <include name="dd\DragZone.js" />48 <include name="dd\DropZone.js" />49 <include name="data\SortTypes.js" />50 <include name="data\Record.js" />51 <include name="data\StoreMgr.js" />52 <include name="data\Store.js" />53 <include name="data\SimpleStore.js" />54 <include name="data\JsonStore.js" />55 <include name="data\DataField.js" />56 <include name="data\DataReader.js" />57 <include name="data\DataProxy.js" />58 <include name="data\MemoryProxy.js" />59 <include name="data\HttpProxy.js" />60 <include name="data\ScriptTagProxy.js" />61 <include name="data\JsonReader.js" />62 <include name="data\XmlReader.js" />63 <include name="data\ArrayReader.js" />64 <include name="data\Tree.js" />65 <include name="data\GroupingStore.js" />66 <include name="widgets\ComponentMgr.js" />67 <include name="widgets\Component.js" />68 <include name="widgets\Action.js" />69 <include name="widgets\Layer.js" />70 <include name="widgets\Shadow.js" />71 <include name="widgets\BoxComponent.js" />72 <include name="widgets\SplitBar.js" />73 <include name="widgets\Container.js" />74 <include name="widgets\layout\ContainerLayout.js" />75 <include name="widgets\layout\FitLayout.js" />76 <include name="widgets\layout\CardLayout.js" />77 <include name="widgets\layout\AnchorLayout.js" />78 <include name="widgets\layout\ColumnLayout.js" />79 <include name="widgets\layout\BorderLayout.js" />80 <include name="widgets\layout\FormLayout.js" />81 <include name="widgets\layout\AccordionLayout.js" />82 <include name="widgets\layout\TableLayout.js" />83 <include name="widgets\layout\AbsoluteLayout.js" />84 <include name="widgets\Viewport.js" />85 <include name="widgets\Panel.js" />86 <include name="widgets\Window.js" />87 <include name="widgets\WindowManager.js" />88 <include name="widgets\PanelDD.js" />89 <include name="state\Provider.js" />90 <include name="state\StateManager.js" />91 <include name="state\CookieProvider.js" />92 <include name="widgets\DataView.js" />93 <include name="widgets\ColorPalette.js" />94 <include name="widgets\DatePicker.js" />95 <include name="widgets\TabPanel.js" />96 <include name="widgets\Button.js" />97 <include name="widgets\SplitButton.js" />98 <include name="widgets\CycleButton.js" />99 <include name="widgets\Toolbar.js" />100 <include name="widgets\PagingToolbar.js" />101 <include name="widgets\Resizable.js" />102 <include name="widgets\Editor.js" />103 <include name="widgets\MessageBox.js" />104 <include name="widgets\tips\Tip.js" />105 <include name="widgets\tips\ToolTip.js" />106 <include name="widgets\tips\QuickTip.js" />107 <include name="widgets\tips\QuickTips.js" />108 <include name="widgets\tree\TreePanel.js" />109 <include name="widgets\tree\TreeEventModel.js" />110 <include name="widgets\tree\TreeSelectionModel.js" />111 <include name="widgets\tree\TreeNode.js" />112 <include name="widgets\tree\AsyncTreeNode.js" />113 <include name="widgets\tree\TreeNodeUI.js" />114 <include name="widgets\tree\TreeLoader.js" />115 <include name="widgets\tree\TreeFilter.js" />116 <include name="widgets\tree\TreeSorter.js" />117 <include name="widgets\tree\TreeDropZone.js" />118 <include name="widgets\tree\TreeDragZone.js" />119 <include name="widgets\tree\TreeEditor.js" />120 <include name="widgets\menu\Menu.js" />121 <include name="widgets\menu\MenuMgr.js" />122 <include name="widgets\menu\BaseItem.js" />123 <include name="widgets\menu\TextItem.js" />124 <include name="widgets\menu\Separator.js" />125 <include name="widgets\menu\Item.js" />126 <include name="widgets\menu\CheckItem.js" />127 <include name="widgets\menu\Adapter.js" />128 <include name="widgets\menu\DateItem.js" />129 <include name="widgets\menu\ColorItem.js" />130 <include name="widgets\menu\DateMenu.js" />131 <include name="widgets\menu\ColorMenu.js" />132 <include name="widgets\form\Field.js" />133 <include name="widgets\form\TextField.js" />134 <include name="widgets\form\TriggerField.js" />135 <include name="widgets\form\TextArea.js" />136 <include name="widgets\form\NumberField.js" />137 <include name="widgets\form\DateField.js" />138 <include name="widgets\form\Combo.js" />139 <include name="widgets\form\Checkbox.js" />140 <include name="widgets\form\Radio.js" />141 <include name="widgets\form\Hidden.js" />142 <include name="widgets\form\BasicForm.js" />143 <include name="widgets\form\Form.js" />144 <include name="widgets\form\FieldSet.js" />145 <include name="widgets\form\HtmlEditor.js" />146 <include name="widgets\form\TimeField.js" />147 <include name="widgets\form\Action.js" />148 <include name="widgets\form\VTypes.js" />149 <include name="widgets\grid\GridPanel.js" />150 <include name="widgets\grid\GridView.js" />151 <include name="widgets\grid\GroupingView.js" />152 <include name="widgets\grid\ColumnDD.js" />153 <include name="widgets\grid\ColumnSplitDD.js" />154 <include name="widgets\grid\GridDD.js" />155 <include name="widgets\grid\ColumnModel.js" />156 <include name="widgets\grid\AbstractSelectionModel.js" />157 <include name="widgets\grid\RowSelectionModel.js" />158 <include name="widgets\grid\CellSelectionModel.js" />159 <include name="widgets\grid\EditorGrid.js" />160 <include name="widgets\grid\GridEditor.js" />161 <include name="widgets\grid\PropertyGrid.js" />162 <include name="widgets\grid\RowNumberer.js" />163 <include name="widgets\grid\CheckboxSelectionModel.js" />164 <include name="widgets\LoadMask.js" />165 <include name="widgets\ProgressBar.js" />166 <include name="debug.js" />167 </target>168 <file name="layout\LayoutRegionLite.js" path="layout" />169 <file name="DDScrollManager.js" path="" />170 <file name="grid\AbstractColumnModel.js" path="grid" />171 <file name="data\ArrayAdapter.js" path="data" />172 <file name="data\DataAdapter.js" path="data" />173 <file name="data\HttpAdapter.js" path="data" />174 <file name="data\JsonAdapter.js" path="data" />175 <file name="data\ArrayProxy.js" path="data" />176 <file name="widgets\SimpleMenu.js" path="widgets" />177 <file name="CSS.js" path="" />178 <file name="CustomTagReader.js" path="" />179 <file name="Format.js" path="" />180 <file name="JSON.js" path="" />181 <file name="MixedCollection.js" path="" />182 <file name="data\DataSource.js" path="data" />183 <file name="license.txt" path="" />184 <file name="yui-ext-dl.jsb" path="" />185 <file name="yui-ext.jsb" path="" />186 <file name="form\FloatingEditor.js" path="form" />187 <file name="anim\Actor.js" path="anim" />188 <file name="anim\Animator.js" path="anim" />189 <file name="data\AbstractDataModel.js" path="data" />190 <file name="data\DataModel.js" path="data" />191 <file name="data\DataSet.js" path="data" />192 <file name="data\DataStore.js" path="data" />193 <file name="data\DefaultDataModel.js" path="data" />194 <file name="data\JSONDataModel.js" path="data" />195 <file name="data\LoadableDataModel.js" path="data" />196 <file name="data\Set.js" path="data" />197 <file name="data\TableModel.js" path="data" />198 <file name="data\XMLDataModel.js" path="data" />199 <file name="form\DateField.js" path="form" />200 <file name="form\Field.js" path="form" />201 <file name="form\FieldGroup.js" path="form" />202 <file name="form\Form.js" path="form" />203 <file name="form\NumberField.js" path="form" />204 <file name="form\Select.js" path="form" />205 <file name="form\TextArea.js" path="form" />206 <file name="form\TextField.js" path="form" />207 <file name="grid\editor\CellEditor.js" path="grid\editor" />208 <file name="grid\editor\CheckboxEditor.js" path="grid\editor" />209 <file name="grid\editor\DateEditor.js" path="grid\editor" />210 <file name="grid\editor\NumberEditor.js" path="grid\editor" />211 <file name="grid\editor\SelectEditor.js" path="grid\editor" />212 <file name="grid\editor\TextEditor.js" path="grid\editor" />213 <file name="grid\AbstractGridView.js" path="grid" />214 <file name="grid\AbstractSelectionModel.js" path="grid" />215 <file name="grid\CellSelectionModel.js" path="grid" />216 <file name="grid\DefaultColumnModel.js" path="grid" />217 <file name="grid\EditorGrid.js" path="grid" />218 <file name="grid\EditorSelectionModel.js" path="grid" />219 <file name="grid\Grid.js" path="grid" />220 <file name="grid\GridDD.js" path="grid" />221 <file name="grid\GridEditor.js" path="grid" />222 <file name="grid\GridView.js" path="grid" />223 <file name="grid\GridViewLite.js" path="grid" />224 <file name="grid\PagedGridView.js" path="grid" />225 <file name="grid\RowSelectionModel.js" path="grid" />226 <file name="grid\SelectionModel.js" path="grid" />227 <file name="layout\BasicLayoutRegion.js" path="layout" />228 <file name="layout\BorderLayout.js" path="layout" />229 <file name="layout\BorderLayoutRegions.js" path="layout" />230 <file name="layout\ContentPanels.js" path="layout" />231 <file name="layout\LayoutManager.js" path="layout" />232 <file name="layout\LayoutRegion.js" path="layout" />233 <file name="layout\LayoutStateManager.js" path="layout" />234 <file name="layout\SplitLayoutRegion.js" path="layout" />235 <file name="menu\Adapter.js" path="menu" />236 <file name="menu\BaseItem.js" path="menu" />237 <file name="menu\CheckItem.js" path="menu" />238 <file name="menu\ColorItem.js" path="menu" />239 <file name="menu\DateItem.js" path="menu" />240 <file name="menu\DateMenu.js" path="menu" />241 <file name="menu\Item.js" path="menu" />242 <file name="menu\Menu.js" path="menu" />243 <file name="menu\MenuMgr.js" path="menu" />244 <file name="menu\Separator.js" path="menu" />245 <file name="menu\TextItem.js" path="menu" />246 <file name="tree\AsyncTreeNode.js" path="tree" />247 <file name="tree\TreeDragZone.js" path="tree" />248 <file name="tree\TreeDropZone.js" path="tree" />249 <file name="tree\TreeFilter.js" path="tree" />250 <file name="tree\TreeLoader.js" path="tree" />251 <file name="tree\TreeNode.js" path="tree" />252 <file name="tree\TreeNodeUI.js" path="tree" />253 <file name="tree\TreePanel.js" path="tree" />254 <file name="tree\TreeSelectionModel.js" path="tree" />255 <file name="tree\TreeSorter.js" path="tree" />256 <file name="widgets\BasicDialog2.js" path="widgets" />257 <file name="widgets\InlineEditor.js" path="widgets" />258 <file name="widgets\TaskPanel.js" path="widgets" />259 <file name="widgets\TemplateView.js" path="widgets" />260 <file name="Anims.js" path="" />261 <file name="Bench.js" path="" />262 <file name="compat.js" path="" />263 <file name="CompositeElement.js" path="" />264 <file name="Date.js" path="" />265 <file name="DomHelper.js" path="" />266 <file name="DomQuery.js" path="" />267 <file name="Element.js" path="" />268 <file name="EventManager.js" path="" />269 <file name="Ext.js" path="" />270 <file name="Fx.js" path="" />271 <file name="KeyMap.js" path="" />272 <file name="KeyNav.js" path="" />273 <file name="Layer.js" path="" />274 <file name="State.js" path="" />275 <file name="Template.js" path="" />276 <file name="UpdateManager.js" path="" />277 <file name="yutil.js" path="" />278 <file name=".DS_Store" path="" />279 <target name="YUI utilities" file="$output\adapter\yui\yui-utilities.js" debug="False" shorthand="False" shorthand-list="YAHOO.util.Dom.setStyle
YAHOO.util.Dom.getStyle
YAHOO.util.Dom.getRegion
YAHOO.util.Dom.getViewportHeight
YAHOO.util.Dom.getViewportWidth
YAHOO.util.Dom.get
YAHOO.util.Dom.getXY
YAHOO.util.Dom.setXY
YAHOO.util.CustomEvent
YAHOO.util.Event.addListener
YAHOO.util.Event.getEvent
YAHOO.util.Event.getTarget
YAHOO.util.Event.preventDefault
YAHOO.util.Event.stopEvent
YAHOO.util.Event.stopPropagation
YAHOO.util.Event.stopEvent
YAHOO.util.Anim
YAHOO.util.Motion
YAHOO.util.Connect.asyncRequest
YAHOO.util.Connect.setForm
YAHOO.util.Dom
YAHOO.util.Event">280 <include name="yui\yahoo.js" />281 <include name="yui\dom.js" />282 <include name="yui\event.js" />283 <include name="yui\connection.js" />284 <include name="yui\animation.js" />285 </target>286 <file name="widgets\form\Select.js" path="widgets\form" />287 <file name="widgets\Notifier.js" path="widgets" />288 <file name="yui\dragdrop.js" path="yui" />289 <file name="yui-overrides.js" path="" />290 <target name="YUI" file="$output\adapter\yui\ext-yui-adapter.js" debug="False" shorthand="False" shorthand-list="YAHOO.util.Dom.setStyle
YAHOO.util.Dom.getStyle
YAHOO.util.Dom.getRegion
YAHOO.util.Dom.getViewportHeight
YAHOO.util.Dom.getViewportWidth
YAHOO.util.Dom.get
YAHOO.util.Dom.getXY
YAHOO.util.Dom.setXY
YAHOO.util.CustomEvent
YAHOO.util.Event.addListener
YAHOO.util.Event.getEvent
YAHOO.util.Event.getTarget
YAHOO.util.Event.preventDefault
YAHOO.util.Event.stopEvent
YAHOO.util.Event.stopPropagation
YAHOO.util.Event.stopEvent
YAHOO.util.Anim
YAHOO.util.Motion
YAHOO.util.Connect.asyncRequest
YAHOO.util.Connect.setForm
YAHOO.util.Dom
YAHOO.util.Event">291 <include name="core\Ext.js" />292 <include name="adapter\yui-bridge.js" />293 </target>294 <target name="Menus" file="$output\package\menu\menus.js" debug="False" shorthand="False" shorthand-list="YAHOO.util.Dom.setStyle
YAHOO.util.Dom.getStyle
YAHOO.util.Dom.getRegion
YAHOO.util.Dom.getViewportHeight
YAHOO.util.Dom.getViewportWidth
YAHOO.util.Dom.get
YAHOO.util.Dom.getXY
YAHOO.util.Dom.setXY
YAHOO.util.CustomEvent
YAHOO.util.Event.addListener
YAHOO.util.Event.getEvent
YAHOO.util.Event.getTarget
YAHOO.util.Event.preventDefault
YAHOO.util.Event.stopEvent
YAHOO.util.Event.stopPropagation
YAHOO.util.Event.stopEvent
YAHOO.util.Anim
YAHOO.util.Motion
YAHOO.util.Connect.asyncRequest
YAHOO.util.Connect.setForm
YAHOO.util.Dom
YAHOO.util.Event">295 <include name="widgets\menu\Menu.js" />296 <include name="widgets\menu\MenuMgr.js" />297 <include name="widgets\menu\BaseItem.js" />298 <include name="widgets\menu\TextItem.js" />299 <include name="widgets\menu\Separator.js" />300 <include name="widgets\menu\Item.js" />301 <include name="widgets\menu\CheckItem.js" />302 <include name="widgets\menu\Adapter.js" />303 <include name="widgets\menu\DateItem.js" />304 <include name="widgets\menu\ColorItem.js" />305 <include name="widgets\menu\DateMenu.js" />306 <include name="widgets\menu\ColorMenu.js" />307 </target>308 <target name="Tree" file="$output\package\tree\tree.js" debug="False" shorthand="False" shorthand-list="YAHOO.util.Dom.setStyle
YAHOO.util.Dom.getStyle
YAHOO.util.Dom.getRegion
YAHOO.util.Dom.getViewportHeight
YAHOO.util.Dom.getViewportWidth
YAHOO.util.Dom.get
YAHOO.util.Dom.getXY
YAHOO.util.Dom.setXY
YAHOO.util.CustomEvent
YAHOO.util.Event.addListener
YAHOO.util.Event.getEvent
YAHOO.util.Event.getTarget
YAHOO.util.Event.preventDefault
YAHOO.util.Event.stopEvent
YAHOO.util.Event.stopPropagation
YAHOO.util.Event.stopEvent
YAHOO.util.Anim
YAHOO.util.Motion
YAHOO.util.Connect.asyncRequest
YAHOO.util.Connect.setForm
YAHOO.util.Dom
YAHOO.util.Event">309 <include name="data\Tree.js" />310 <include name="widgets\tree\TreeEventModel.js" />311 <include name="widgets\tree\TreePanel.js" />312 <include name="widgets\tree\TreeSelectionModel.js" />313 <include name="widgets\tree\TreeNode.js" />314 <include name="widgets\tree\AsyncTreeNode.js" />315 <include name="widgets\tree\TreeNodeUI.js" />316 <include name="widgets\tree\TreeLoader.js" />317 <include name="widgets\tree\TreeFilter.js" />318 <include name="widgets\tree\TreeSorter.js" />319 <include name="widgets\tree\TreeDropZone.js" />320 <include name="widgets\tree\TreeDragZone.js" />321 <include name="widgets\tree\TreeEditor.js" />322 </target>323 <target name="Grid" file="$output\package\grid\grid.js" debug="False" shorthand="False" shorthand-list="YAHOO.util.Dom.setStyle
YAHOO.util.Dom.getStyle
YAHOO.util.Dom.getRegion
YAHOO.util.Dom.getViewportHeight
YAHOO.util.Dom.getViewportWidth
YAHOO.util.Dom.get
YAHOO.util.Dom.getXY
YAHOO.util.Dom.setXY
YAHOO.util.CustomEvent
YAHOO.util.Event.addListener
YAHOO.util.Event.getEvent
YAHOO.util.Event.getTarget
YAHOO.util.Event.preventDefault
YAHOO.util.Event.stopEvent
YAHOO.util.Event.stopPropagation
YAHOO.util.Event.stopEvent
YAHOO.util.Anim
YAHOO.util.Motion
YAHOO.util.Connect.asyncRequest
YAHOO.util.Connect.setForm
YAHOO.util.Dom
YAHOO.util.Event">324 <include name="widgets\grid\Grid.js" />325 <include name="widgets\grid\AbstractGridView.js" />326 <include name="widgets\grid\GridView.js" />327 <include name="widgets\grid\ColumnModel.js" />328 <include name="widgets\grid\AbstractSelectionModel.js" />329 <include name="widgets\grid\RowSelectionModel.js" />330 <include name="widgets\grid\CellSelectionModel.js" />331 <include name="widgets\grid\ColumnDD.js" />332 <include name="widgets\grid\ColumnSplitDD.js" />333 <include name="widgets\grid\GridDD.js" />334 </target>335 <target name="Dialog" file="$output\package\dialog\dialogs.js" debug="True" shorthand="False" shorthand-list="YAHOO.util.Dom.setStyle
YAHOO.util.Dom.getStyle
YAHOO.util.Dom.getRegion
YAHOO.util.Dom.getViewportHeight
YAHOO.util.Dom.getViewportWidth
YAHOO.util.Dom.get
YAHOO.util.Dom.getXY
YAHOO.util.Dom.setXY
YAHOO.util.CustomEvent
YAHOO.util.Event.addListener
YAHOO.util.Event.getEvent
YAHOO.util.Event.getTarget
YAHOO.util.Event.preventDefault
YAHOO.util.Event.stopEvent
YAHOO.util.Event.stopPropagation
YAHOO.util.Event.stopEvent
YAHOO.util.Anim
YAHOO.util.Motion
YAHOO.util.Connect.asyncRequest
YAHOO.util.Connect.setForm
YAHOO.util.Dom
YAHOO.util.Event">336 <include name="widgets\BasicDialog.js" />337 <include name="widgets\MessageBox.js" />338 </target>339 <target name="Form" file="$output\package\form\form.js" debug="True" shorthand="False" shorthand-list="YAHOO.util.Dom.setStyle
YAHOO.util.Dom.getStyle
YAHOO.util.Dom.getRegion
YAHOO.util.Dom.getViewportHeight
YAHOO.util.Dom.getViewportWidth
YAHOO.util.Dom.get
YAHOO.util.Dom.getXY
YAHOO.util.Dom.setXY
YAHOO.util.CustomEvent
YAHOO.util.Event.addListener
YAHOO.util.Event.getEvent
YAHOO.util.Event.getTarget
YAHOO.util.Event.preventDefault
YAHOO.util.Event.stopEvent
YAHOO.util.Event.stopPropagation
YAHOO.util.Event.stopEvent
YAHOO.util.Anim
YAHOO.util.Motion
YAHOO.util.Connect.asyncRequest
YAHOO.util.Connect.setForm
YAHOO.util.Dom
YAHOO.util.Event">340 <include name="widgets\form\Field.js" />341 <include name="widgets\form\TextField.js" />342 <include name="widgets\form\TriggerField.js" />343 <include name="widgets\form\TextArea.js" />344 <include name="widgets\form\NumberField.js" />345 <include name="widgets\form\DateField.js" />346 <include name="widgets\form\Checkbox.js" />347 <include name="widgets\form\Radio.js" />348 <include name="widgets\form\Combo.js" />349 <include name="widgets\Editor.js" />350 <include name="widgets\form\BasicForm.js" />351 <include name="widgets\form\Form.js" />352 <include name="widgets\form\Action.js" />353 <include name="widgets\form\Layout.js" />354 <include name="widgets\form\VTypes.js" />355 </target>356 <target name="Button" file="$output\package\button\button.js" debug="True" shorthand="False" shorthand-list="YAHOO.util.Dom.setStyle
YAHOO.util.Dom.getStyle
YAHOO.util.Dom.getRegion
YAHOO.util.Dom.getViewportHeight
YAHOO.util.Dom.getViewportWidth
YAHOO.util.Dom.get
YAHOO.util.Dom.getXY
YAHOO.util.Dom.setXY
YAHOO.util.CustomEvent
YAHOO.util.Event.addListener
YAHOO.util.Event.getEvent
YAHOO.util.Event.getTarget
YAHOO.util.Event.preventDefault
YAHOO.util.Event.stopEvent
YAHOO.util.Event.stopPropagation
YAHOO.util.Event.stopEvent
YAHOO.util.Anim
YAHOO.util.Motion
YAHOO.util.Connect.asyncRequest
YAHOO.util.Connect.setForm
YAHOO.util.Dom
YAHOO.util.Event">357 <include name="widgets\Button.js" />358 <include name="widgets\SplitButton.js" />359 </target>360 <target name="Grid - Edit" file="$output\package\grid\edit-grid.js" debug="True" shorthand="False" shorthand-list="YAHOO.util.Dom.setStyle
YAHOO.util.Dom.getStyle
YAHOO.util.Dom.getRegion
YAHOO.util.Dom.getViewportHeight
YAHOO.util.Dom.getViewportWidth
YAHOO.util.Dom.get
YAHOO.util.Dom.getXY
YAHOO.util.Dom.setXY
YAHOO.util.CustomEvent
YAHOO.util.Event.addListener
YAHOO.util.Event.getEvent
YAHOO.util.Event.getTarget
YAHOO.util.Event.preventDefault
YAHOO.util.Event.stopEvent
YAHOO.util.Event.stopPropagation
YAHOO.util.Event.stopEvent
YAHOO.util.Anim
YAHOO.util.Motion
YAHOO.util.Connect.asyncRequest
YAHOO.util.Connect.setForm
YAHOO.util.Dom
YAHOO.util.Event">361 <include name="widgets\grid\EditorGrid.js" />362 <include name="widgets\grid\GridEditor.js" />363 <include name="widgets\grid\PropertyGrid.js" />364 </target>365 <target name="JQUERY" file="$output\adapter\jquery\ext-jquery-adapter.js" debug="False" shorthand="False" shorthand-list="YAHOO.util.Dom.setStyle
YAHOO.util.Dom.getStyle
YAHOO.util.Dom.getRegion
YAHOO.util.Dom.getViewportHeight
YAHOO.util.Dom.getViewportWidth
YAHOO.util.Dom.get
YAHOO.util.Dom.getXY
YAHOO.util.Dom.setXY
YAHOO.util.CustomEvent
YAHOO.util.Event.addListener
YAHOO.util.Event.getEvent
YAHOO.util.Event.getTarget
YAHOO.util.Event.preventDefault
YAHOO.util.Event.stopEvent
YAHOO.util.Event.stopPropagation
YAHOO.util.Event.stopEvent
YAHOO.util.Anim
YAHOO.util.Motion
YAHOO.util.Connect.asyncRequest
YAHOO.util.Connect.setForm
YAHOO.util.Dom
YAHOO.util.Event">366 <include name="core\Ext.js" />367 <include name="adapter\jquery-bridge.js" />368 </target>369 <target name="Utilities" file="$output\package\util.js" debug="False" shorthand="False" shorthand-list="YAHOO.util.Dom.setStyle
YAHOO.util.Dom.getStyle
YAHOO.util.Dom.getRegion
YAHOO.util.Dom.getViewportHeight
YAHOO.util.Dom.getViewportWidth
YAHOO.util.Dom.get
YAHOO.util.Dom.getXY
YAHOO.util.Dom.setXY
YAHOO.util.CustomEvent
YAHOO.util.Event.addListener
YAHOO.util.Event.getEvent
YAHOO.util.Event.getTarget
YAHOO.util.Event.preventDefault
YAHOO.util.Event.stopEvent
YAHOO.util.Event.stopPropagation
YAHOO.util.Event.stopEvent
YAHOO.util.Anim
YAHOO.util.Motion
YAHOO.util.Connect.asyncRequest
YAHOO.util.Connect.setForm
YAHOO.util.Dom
YAHOO.util.Event">370 <include name="util\DelayedTask.js" />371 <include name="util\MixedCollection.js" />372 <include name="util\JSON.js" />373 <include name="util\Format.js" />374 <include name="util\CSS.js" />375 <include name="util\ClickRepeater.js" />376 <include name="util\KeyNav.js" />377 <include name="util\KeyMap.js" />378 <include name="util\TextMetrics.js" />379 </target>380 <target name="Drag Drop" file="$output\package\dragdrop\dragdrop.js" debug="False" shorthand="False" shorthand-list="YAHOO.util.Dom.setStyle
YAHOO.util.Dom.getStyle
YAHOO.util.Dom.getRegion
YAHOO.util.Dom.getViewportHeight
YAHOO.util.Dom.getViewportWidth
YAHOO.util.Dom.get
YAHOO.util.Dom.getXY
YAHOO.util.Dom.setXY
YAHOO.util.CustomEvent
YAHOO.util.Event.addListener
YAHOO.util.Event.getEvent
YAHOO.util.Event.getTarget
YAHOO.util.Event.preventDefault
YAHOO.util.Event.stopEvent
YAHOO.util.Event.stopPropagation
YAHOO.util.Event.stopEvent
YAHOO.util.Anim
YAHOO.util.Motion
YAHOO.util.Connect.asyncRequest
YAHOO.util.Connect.setForm
YAHOO.util.Dom
YAHOO.util.Event">381 <include name="dd\DDCore.js" />382 <include name="dd\ScrollManager.js" />383 <include name="dd\Registry.js" />384 <include name="dd\StatusProxy.js" />385 <include name="dd\DragSource.js" />386 <include name="dd\DropTarget.js" />387 <include name="dd\DragZone.js" />388 <include name="dd\DropZone.js" />389 </target>390 <target name="Data" file="$output\package\data\data.js" debug="False" shorthand="False" shorthand-list="YAHOO.util.Dom.setStyle
YAHOO.util.Dom.getStyle
YAHOO.util.Dom.getRegion
YAHOO.util.Dom.getViewportHeight
YAHOO.util.Dom.getViewportWidth
YAHOO.util.Dom.get
YAHOO.util.Dom.getXY
YAHOO.util.Dom.setXY
YAHOO.util.CustomEvent
YAHOO.util.Event.addListener
YAHOO.util.Event.getEvent
YAHOO.util.Event.getTarget
YAHOO.util.Event.preventDefault
YAHOO.util.Event.stopEvent
YAHOO.util.Event.stopPropagation
YAHOO.util.Event.stopEvent
YAHOO.util.Anim
YAHOO.util.Motion
YAHOO.util.Connect.asyncRequest
YAHOO.util.Connect.setForm
YAHOO.util.Dom
YAHOO.util.Event">391 <include name="data\SortTypes.js" />392 <include name="data\Record.js" />393 <include name="data\StoreMgr.js" />394 <include name="data\Store.js" />395 <include name="data\SimpleStore.js" />396 <include name="data\Connection.js" />397 <include name="data\DataField.js" />398 <include name="data\DataReader.js" />399 <include name="data\DataProxy.js" />400 <include name="data\MemoryProxy.js" />401 <include name="data\HttpProxy.js" />402 <include name="data\ScriptTagProxy.js" />403 <include name="data\JsonReader.js" />404 <include name="data\XmlReader.js" />405 <include name="data\ArrayReader.js" />406 </target>407 <target name="Widget Core" file="$output\package\widget-core.js" debug="False" shorthand="False" shorthand-list="YAHOO.util.Dom.setStyle
YAHOO.util.Dom.getStyle
YAHOO.util.Dom.getRegion
YAHOO.util.Dom.getViewportHeight
YAHOO.util.Dom.getViewportWidth
YAHOO.util.Dom.get
YAHOO.util.Dom.getXY
YAHOO.util.Dom.setXY
YAHOO.util.CustomEvent
YAHOO.util.Event.addListener
YAHOO.util.Event.getEvent
YAHOO.util.Event.getTarget
YAHOO.util.Event.preventDefault
YAHOO.util.Event.stopEvent
YAHOO.util.Event.stopPropagation
YAHOO.util.Event.stopEvent
YAHOO.util.Anim
YAHOO.util.Motion
YAHOO.util.Connect.asyncRequest
YAHOO.util.Connect.setForm
YAHOO.util.Dom
YAHOO.util.Event">408 <include name="widgets\ComponentMgr.js" />409 <include name="widgets\Component.js" />410 <include name="widgets\BoxComponent.js" />411 <include name="widgets\Layer.js" />412 <include name="widgets\Shadow.js" />413 </target>414 <target name="color-palette" file="$output\package\color-palette.js" debug="False" shorthand="False" shorthand-list="YAHOO.util.Dom.setStyle
YAHOO.util.Dom.getStyle
YAHOO.util.Dom.getRegion
YAHOO.util.Dom.getViewportHeight
YAHOO.util.Dom.getViewportWidth
YAHOO.util.Dom.get
YAHOO.util.Dom.getXY
YAHOO.util.Dom.setXY
YAHOO.util.CustomEvent
YAHOO.util.Event.addListener
YAHOO.util.Event.getEvent
YAHOO.util.Event.getTarget
YAHOO.util.Event.preventDefault
YAHOO.util.Event.stopEvent
YAHOO.util.Event.stopPropagation
YAHOO.util.Event.stopEvent
YAHOO.util.Anim
YAHOO.util.Motion
YAHOO.util.Connect.asyncRequest
YAHOO.util.Connect.setForm
YAHOO.util.Dom
YAHOO.util.Event">415 <include name="widgets\ColorPalette.js" />416 </target>417 <target name="Date Picker" file="$output\package\datepicker\datepicker.js" debug="False" shorthand="False" shorthand-list="YAHOO.util.Dom.setStyle
YAHOO.util.Dom.getStyle
YAHOO.util.Dom.getRegion
YAHOO.util.Dom.getViewportHeight
YAHOO.util.Dom.getViewportWidth
YAHOO.util.Dom.get
YAHOO.util.Dom.getXY
YAHOO.util.Dom.setXY
YAHOO.util.CustomEvent
YAHOO.util.Event.addListener
YAHOO.util.Event.getEvent
YAHOO.util.Event.getTarget
YAHOO.util.Event.preventDefault
YAHOO.util.Event.stopEvent
YAHOO.util.Event.stopPropagation
YAHOO.util.Event.stopEvent
YAHOO.util.Anim
YAHOO.util.Motion
YAHOO.util.Connect.asyncRequest
YAHOO.util.Connect.setForm
YAHOO.util.Dom
YAHOO.util.Event">418 <include name="widgets\DatePicker.js" />419 </target>420 <target name="Tabs" file="$output\package\tabs\tabs.js" debug="False" shorthand="False" shorthand-list="YAHOO.util.Dom.setStyle
YAHOO.util.Dom.getStyle
YAHOO.util.Dom.getRegion
YAHOO.util.Dom.getViewportHeight
YAHOO.util.Dom.getViewportWidth
YAHOO.util.Dom.get
YAHOO.util.Dom.getXY
YAHOO.util.Dom.setXY
YAHOO.util.CustomEvent
YAHOO.util.Event.addListener
YAHOO.util.Event.getEvent
YAHOO.util.Event.getTarget
YAHOO.util.Event.preventDefault
YAHOO.util.Event.stopEvent
YAHOO.util.Event.stopPropagation
YAHOO.util.Event.stopEvent
YAHOO.util.Anim
YAHOO.util.Motion
YAHOO.util.Connect.asyncRequest
YAHOO.util.Connect.setForm
YAHOO.util.Dom
YAHOO.util.Event">421 <include name="widgets\TabPanel.js" />422 </target>423 <target name="Toolbar" file="$output\package\toolbar\toolbar.js" debug="False" shorthand="False" shorthand-list="YAHOO.util.Dom.setStyle
YAHOO.util.Dom.getStyle
YAHOO.util.Dom.getRegion
YAHOO.util.Dom.getViewportHeight
YAHOO.util.Dom.getViewportWidth
YAHOO.util.Dom.get
YAHOO.util.Dom.getXY
YAHOO.util.Dom.setXY
YAHOO.util.CustomEvent
YAHOO.util.Event.addListener
YAHOO.util.Event.getEvent
YAHOO.util.Event.getTarget
YAHOO.util.Event.preventDefault
YAHOO.util.Event.stopEvent
YAHOO.util.Event.stopPropagation
YAHOO.util.Event.stopEvent
YAHOO.util.Anim
YAHOO.util.Motion
YAHOO.util.Connect.asyncRequest
YAHOO.util.Connect.setForm
YAHOO.util.Dom
YAHOO.util.Event">424 <include name="widgets\Toolbar.js" />425 <include name="widgets\PagingToolbar.js" />426 </target>427 <target name="Resizable" file="$output\package\resizable.js" debug="False" shorthand="False" shorthand-list="YAHOO.util.Dom.setStyle
YAHOO.util.Dom.getStyle
YAHOO.util.Dom.getRegion
YAHOO.util.Dom.getViewportHeight
YAHOO.util.Dom.getViewportWidth
YAHOO.util.Dom.get
YAHOO.util.Dom.getXY
YAHOO.util.Dom.setXY
YAHOO.util.CustomEvent
YAHOO.util.Event.addListener
YAHOO.util.Event.getEvent
YAHOO.util.Event.getTarget
YAHOO.util.Event.preventDefault
YAHOO.util.Event.stopEvent
YAHOO.util.Event.stopPropagation
YAHOO.util.Event.stopEvent
YAHOO.util.Anim
YAHOO.util.Motion
YAHOO.util.Connect.asyncRequest
YAHOO.util.Connect.setForm
YAHOO.util.Dom
YAHOO.util.Event">428 <include name="widgets\Resizable.js" />429 </target>430 <target name="SplitBar" file="$output\package\splitbar.js" debug="False" shorthand="False" shorthand-list="YAHOO.util.Dom.setStyle
YAHOO.util.Dom.getStyle
YAHOO.util.Dom.getRegion
YAHOO.util.Dom.getViewportHeight
YAHOO.util.Dom.getViewportWidth
YAHOO.util.Dom.get
YAHOO.util.Dom.getXY
YAHOO.util.Dom.setXY
YAHOO.util.CustomEvent
YAHOO.util.Event.addListener
YAHOO.util.Event.getEvent
YAHOO.util.Event.getTarget
YAHOO.util.Event.preventDefault
YAHOO.util.Event.stopEvent
YAHOO.util.Event.stopPropagation
YAHOO.util.Event.stopEvent
YAHOO.util.Anim
YAHOO.util.Motion
YAHOO.util.Connect.asyncRequest
YAHOO.util.Connect.setForm
YAHOO.util.Dom
YAHOO.util.Event">431 <include name="widgets\SplitBar.js" />432 </target>433 <target name="QTips" file="$output\package\qtips\qtips.js" debug="False" shorthand="False" shorthand-list="YAHOO.util.Dom.setStyle
YAHOO.util.Dom.getStyle
YAHOO.util.Dom.getRegion
YAHOO.util.Dom.getViewportHeight
YAHOO.util.Dom.getViewportWidth
YAHOO.util.Dom.get
YAHOO.util.Dom.getXY
YAHOO.util.Dom.setXY
YAHOO.util.CustomEvent
YAHOO.util.Event.addListener
YAHOO.util.Event.getEvent
YAHOO.util.Event.getTarget
YAHOO.util.Event.preventDefault
YAHOO.util.Event.stopEvent
YAHOO.util.Event.stopPropagation
YAHOO.util.Event.stopEvent
YAHOO.util.Anim
YAHOO.util.Motion
YAHOO.util.Connect.asyncRequest
YAHOO.util.Connect.setForm
YAHOO.util.Dom
YAHOO.util.Event">434 <include name="widgets\tips\Tip.js" />435 <include name="widgets\tips\ToolTip.js" />436 <include name="widgets\tips\QuickTip.js" />437 <include name="widgets\tips\QuickTips.js" />438 </target>439 <file name="util\CustomTagReader.js" path="util" />440 <target name="Date" file="$output\package\date.js" debug="False" shorthand="False" shorthand-list="YAHOO.util.Dom.setStyle
YAHOO.util.Dom.getStyle
YAHOO.util.Dom.getRegion
YAHOO.util.Dom.getViewportHeight
YAHOO.util.Dom.getViewportWidth
YAHOO.util.Dom.get
YAHOO.util.Dom.getXY
YAHOO.util.Dom.setXY
YAHOO.util.CustomEvent
YAHOO.util.Event.addListener
YAHOO.util.Event.getEvent
YAHOO.util.Event.getTarget
YAHOO.util.Event.preventDefault
YAHOO.util.Event.stopEvent
YAHOO.util.Event.stopPropagation
YAHOO.util.Event.stopEvent
YAHOO.util.Anim
YAHOO.util.Motion
YAHOO.util.Connect.asyncRequest
YAHOO.util.Connect.setForm
YAHOO.util.Dom
YAHOO.util.Event">441 <include name="util\Date.js" />442 </target>443 <file name="widgets\Combo.js" path="widgets" />444 <target name="Prototype" file="$output\adapter\prototype\ext-prototype-adapter.js" debug="False" shorthand="False" shorthand-list="YAHOO.util.Dom.setStyle
YAHOO.util.Dom.getStyle
YAHOO.util.Dom.getRegion
YAHOO.util.Dom.getViewportHeight
YAHOO.util.Dom.getViewportWidth
YAHOO.util.Dom.get
YAHOO.util.Dom.getXY
YAHOO.util.Dom.setXY
YAHOO.util.CustomEvent
YAHOO.util.Event.addListener
YAHOO.util.Event.getEvent
YAHOO.util.Event.getTarget
YAHOO.util.Event.preventDefault
YAHOO.util.Event.stopEvent
YAHOO.util.Event.stopPropagation
YAHOO.util.Event.stopEvent
YAHOO.util.Anim
YAHOO.util.Motion
YAHOO.util.Connect.asyncRequest
YAHOO.util.Connect.setForm
YAHOO.util.Dom
YAHOO.util.Event">445 <include name="core\Ext.js" />446 <include name="adapter\prototype-bridge.js" />447 </target>448 <file name="widgets\form\Validators.js" path="widgets\form" />449 <file name="experimental\ext-lang-en.js" path="experimental" />450 <file name="experimental\jquery-bridge.js" path="experimental" />451 <file name="experimental\prototype-bridge.js" path="experimental" />452 <file name="experimental\yui-bridge.js" path="experimental" />453 <file name="widgets\Frame.js" path="widgets" />454 <file name="widgets\.DS_Store" path="widgets" />455 <file name="widgets\layout\AutoLayout.js" path="widgets\layout" />456 <file name="widgets\TabPanel2.js" path="widgets" />457 <file name="widgets\panel\ButtonPanel.js" path="widgets\panel" />458 <file name="widgets\._.DS_Store" path="widgets" />459 <file name="._.DS_Store" path="" />460 <file name="experimental\Ajax.js" path="experimental" />461 <file name="experimental\Anims.js" path="experimental" />462 <file name="experimental\BasicDialog2.js" path="experimental" />463 <file name="experimental\BasicGridView.js" path="experimental" />464 <file name="experimental\GridView3.js" path="experimental" />465 <file name="experimental\GridViewUI.js" path="experimental" />466 <file name="experimental\ModelEventHandler.js" path="experimental" />467 <file name="experimental\TaskPanel.js" path="experimental" />468 <file name="experimental\UIEventHandler.js" path="experimental" />469 <file name="legacy\Actor.js" path="legacy" />470 <file name="legacy\Animator.js" path="legacy" />471 <file name="legacy\compat.js" path="legacy" />472 <file name="legacy\InlineEditor.js" path="legacy" />473 <file name="widgets\grid\Grid.js" path="widgets\grid" />474 <file name="widgets\panel\AutoLayout.js" path="widgets\panel" />475 <file name="widgets\panel\BorderLayout.js" path="widgets\panel" />476 <file name="widgets\panel\Container.js" path="widgets\panel" />477 <file name="widgets\panel\ContainerLayout.js" path="widgets\panel" />478 <file name="widgets\panel\Grid.js" path="widgets\panel" />479 <file name="widgets\panel\Panel.js" path="widgets\panel" />480 <file name="widgets\panel\TabPanel.js" path="widgets\panel" />481 <file name="widgets\panel\TreePanel.js" path="widgets\panel" />482 <file name="widgets\panel\Viewport.js" path="widgets\panel" />483 <file name="widgets\panel\Window.js" path="widgets\panel" />484 <file name="widgets\panel\WindowManager.js" path="widgets\panel" />485 <file name="widgets\BasicDialog.js" path="widgets" />486 <file name="experimental\GridExtensions.js" path="experimental" />487 <file name="widgets\layout\BasicLayoutRegion.js" path="widgets\layout" />488 <file name="widgets\layout\BorderLayoutRegions.js" path="widgets\layout" />489 <file name="widgets\layout\ContentPanels.js" path="widgets\layout" />490 <file name="widgets\layout\LayoutManager.js" path="widgets\layout" />491 <file name="widgets\layout\LayoutRegion.js" path="widgets\layout" />492 <file name="widgets\layout\LayoutStateManager.js" path="widgets\layout" />493 <file name="widgets\layout\ReaderLayout.js" path="widgets\layout" />494 <file name="widgets\layout\SplitLayoutRegion.js" path="widgets\layout" />495 <target name="Ext Base" file="$output\adapter\ext\ext-base.js" debug="False" shorthand="False" shorthand-list="YAHOO.util.Dom.setStyle
YAHOO.util.Dom.getStyle
YAHOO.util.Dom.getRegion
YAHOO.util.Dom.getViewportHeight
YAHOO.util.Dom.getViewportWidth
YAHOO.util.Dom.get
YAHOO.util.Dom.getXY
YAHOO.util.Dom.setXY
YAHOO.util.CustomEvent
YAHOO.util.Event.addListener
YAHOO.util.Event.getEvent
YAHOO.util.Event.getTarget
YAHOO.util.Event.preventDefault
YAHOO.util.Event.stopEvent
YAHOO.util.Event.stopPropagation
YAHOO.util.Event.stopEvent
YAHOO.util.Anim
YAHOO.util.Motion
YAHOO.util.Connect.asyncRequest
YAHOO.util.Connect.setForm
YAHOO.util.Dom
YAHOO.util.Event">496 <include name="core\Ext.js" />497 <include name="adapter\ext-base.js" />498 </target>499 <file name="widgets\form\Editor.js" path="widgets\form" />500 <file name="experimental\ext-base.js" path="experimental" />501 <file name="ext.jsb" path="" />502 <file name="widgets\ViewPanel.js" path="widgets" />503 <file name="util\MasterTemplate.js" path="util" />504 <file name="widgets\form\Layout.js" path="widgets\form" />505 <file name="widgets\BorderLayout.js" path="widgets" />506 <file name="widgets\ColumnLayout.js" path="widgets" />507 <file name="widgets\ContainerLayout.js" path="widgets" />508 <file name="widgets\JsonView.js" path="widgets" />509 <file name="widgets\MenuButton.js" path="widgets" />510 <file name="widgets\View.js" path="widgets" />511 <file name="widgets\grid\AbstractGridView.js" path="widgets\grid" />512 <file name="state\State.js" path="state" />513 <file name="widgets\layout\AccordianLayout.js" path="widgets\layout" />514 <file name="widgets\QuickTips.js" path="widgets" />
...
loader_xd.js
Source: loader_xd.js
1if(!dojo._hasResource["dojo._base._loader.loader_xd"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.2dojo._hasResource["dojo._base._loader.loader_xd"] = true;3//Cross-domain resource loader.4dojo.provide("dojo._base._loader.loader_xd");5dojo._xdReset = function(){6 //summary: Internal xd loader function. Resets the xd state.7 //This flag indicates where or not we have crossed into xdomain territory. Once any resource says8 //it is cross domain, then the rest of the resources have to be treated as xdomain because we need9 //to evaluate resources in order. If there is a xdomain resource followed by a xhr resource, we can't load10 //the xhr resource until the one before it finishes loading. The text of the xhr resource will be converted11 //to match the format for a xd resource and put in the xd load queue.12 this._isXDomain = dojo.config.useXDomain || false;13 this._xdTimer = 0;14 this._xdInFlight = {};15 this._xdOrderedReqs = [];16 this._xdDepMap = {};17 this._xdContents = [];18 this._xdDefList = [];19}20//Call reset immediately to set the state.21dojo._xdReset();22dojo._xdCreateResource = function(/*String*/contents, /*String*/resourceName, /*String*/resourcePath){23 //summary: Internal xd loader function. Creates an xd module source given an24 //non-xd module contents.25 //Remove comments. Not perfect, but good enough for dependency resolution.26 var depContents = contents.replace(/(\/\*([\s\S]*?)\*\/|\/\/(.*)$)/mg , "");27 //Find dependencies.28 var deps = [];29 var depRegExp = /dojo.(require|requireIf|provide|requireAfterIf|platformRequire|requireLocalization)\(([\w\W]*?)\)/mg;30 var match;31 while((match = depRegExp.exec(depContents)) != null){32 if(match[1] == "requireLocalization"){33 //Need to load the local bundles asap, since they are not34 //part of the list of modules watched for loading.35 eval(match[0]);36 }else{37 deps.push('"' + match[1] + '", ' + match[2]);38 }39 }40 //Create resource object and the call to _xdResourceLoaded.41 var output = [];42 output.push(dojo._scopeName + "._xdResourceLoaded({\n");43 //Add dependencies44 if(deps.length > 0){45 output.push("depends: [");46 for(var i = 0; i < deps.length; i++){47 if(i > 0){48 output.push(",\n");49 }50 output.push("[" + deps[i] + "]");51 }52 output.push("],");53 }54 //Add the contents of the file inside a function.55 //Pass in scope arguments so we can support multiple versions of the56 //same module on a page.57 output.push("\ndefineResource: function(" + dojo._scopePrefixArgs + "){");58 //Don't put in the contents in the debugAtAllCosts case59 //since the contents may have syntax errors. Let those60 //get pushed up when the script tags are added to the page61 //in the debugAtAllCosts case.62 if(!dojo.config["debugAtAllCosts"] || resourceName == "dojo._base._loader.loader_debug"){63 output.push(contents);64 }65 //Add isLocal property so we know if we have to do something different66 //in debugAtAllCosts situations.67 output.push("\n}, resourceName: '" + resourceName + "', resourcePath: '" + resourcePath + "'});");68 69 return output.join(""); //String70}71dojo._xdIsXDomainPath = function(/*string*/relpath) {72 //summary: Figure out whether the path is local or x-domain73 //If there is a colon before the first / then, we have a URL with a protocol.74 75 var colonIndex = relpath.indexOf(":");76 var slashIndex = relpath.indexOf("/");77 if(colonIndex > 0 && colonIndex < slashIndex){78 return true;79 }else{80 //Is the base script URI-based URL a cross domain URL?81 //If so, then the relpath will be evaluated relative to82 //baseUrl, and therefore qualify as xdomain.83 //Only treat it as xdomain if the page does not have a84 //host (file:// url) or if the baseUrl does not match the85 //current window's domain.86 var url = this.baseUrl;87 colonIndex = url.indexOf(":");88 slashIndex = url.indexOf("/");89 if(colonIndex > 0 && colonIndex < slashIndex && (!location.host || url.indexOf("http://" + location.host) != 0)){90 return true;91 }92 }93 return false; 94}95dojo._loadPath = function(/*String*/relpath, /*String?*/module, /*Function?*/cb){96 //summary: Internal xd loader function. Overrides loadPath() from loader.js.97 //xd loading requires slightly different behavior from loadPath().98 var currentIsXDomain = this._xdIsXDomainPath(relpath);99 this._isXDomain |= currentIsXDomain;100 var uri = ((relpath.charAt(0) == '/' || relpath.match(/^\w+:/)) ? "" : this.baseUrl) + relpath;101 try{102 return ((!module || this._isXDomain) ? this._loadUri(uri, cb, currentIsXDomain, module) : this._loadUriAndCheck(uri, module, cb)); //Boolean103 }catch(e){104 console.debug(e);105 return false; //Boolean106 }107}108dojo._loadUri = function(/*String*/uri, /*Function?*/cb, /*boolean*/currentIsXDomain, /*String?*/module){109 //summary: Internal xd loader function. Overrides loadUri() from loader.js.110 // xd loading requires slightly different behavior from loadPath().111 //description: Wanted to override getText(), but it is used by112 // the widget code in too many, synchronous ways right now.113 if(this._loadedUrls[uri]){114 return 1; //Boolean115 }116 //Add the module (resource) to the list of modules.117 //Only do this work if we have a modlue name. Otherwise, 118 //it is a non-xd i18n bundle, which can load immediately and does not 119 //need to be tracked. Also, don't track dojo.i18n, since it is a prerequisite120 //and will be loaded correctly if we load it right away: it has no dependencies.121 if(this._isXDomain && module && module != "dojo.i18n"){122 this._xdOrderedReqs.push(module);123 //Add to waiting resources if it is an xdomain resource.124 //Don't add non-xdomain i18n bundles, those get evaled immediately.125 if(currentIsXDomain || uri.indexOf("/nls/") == -1){126 this._xdInFlight[module] = true;127 //Increment inFlightCount128 //This will stop the modulesLoaded from firing all the way.129 this._inFlightCount++;130 }131 //Start timer132 if(!this._xdTimer){133 if(dojo.isAIR){134 this._xdTimer = setInterval(function(){dojo._xdWatchInFlight();}, 100);135 }else{136 this._xdTimer = setInterval(dojo._scopeName + "._xdWatchInFlight();", 100);137 }138 }139 this._xdStartTime = (new Date()).getTime();140 }141 if (currentIsXDomain){142 //Fix name to be a .xd.fileextension name.143 var lastIndex = uri.lastIndexOf('.');144 if(lastIndex <= 0){145 lastIndex = uri.length - 1;146 }147 var xdUri = uri.substring(0, lastIndex) + ".xd";148 if(lastIndex != uri.length - 1){149 xdUri += uri.substring(lastIndex, uri.length);150 }151 if (dojo.isAIR){152 xdUri = xdUri.replace("app:/", "/");153 }154 //Add to script src155 var element = document.createElement("script");156 element.type = "text/javascript";157 element.src = xdUri;158 if(!this.headElement){159 this._headElement = document.getElementsByTagName("head")[0];160 //Head element may not exist, particularly in html161 //html 4 or tag soup cases where the page does not162 //have a head tag in it. Use html element, since that will exist.163 //Seems to be an issue mostly with Opera 9 and to lesser extent Safari 2164 if(!this._headElement){165 this._headElement = document.getElementsByTagName("html")[0];166 }167 }168 this._headElement.appendChild(element);169 }else{170 var contents = this._getText(uri, null, true);171 if(contents == null){ return 0; /*boolean*/}172 173 //If this is not xdomain, or if loading a i18n resource bundle, then send it down174 //the normal eval/callback path.175 if(this._isXDomain176 && uri.indexOf("/nls/") == -1177 && module != "dojo.i18n"){178 var res = this._xdCreateResource(contents, module, uri);179 dojo.eval(res);180 }else{181 if(cb){182 contents = '('+contents+')';183 }else{184 //Only do the scoping if no callback. If a callback is specified,185 //it is most likely the i18n bundle stuff.186 contents = this._scopePrefix + contents + this._scopeSuffix;187 }188 var value = dojo["eval"](contents+"\r\n//@ sourceURL="+uri);189 if(cb){190 cb(value);191 }192 }193 }194 //These steps are done in the non-xd loader version of this function.195 //Maintain these steps to fit in with the existing system.196 this._loadedUrls[uri] = true;197 this._loadedUrls.push(uri);198 return true; //Boolean199}200dojo._xdResourceLoaded = function(/*Object*/res){201 //summary: Internal xd loader function. Called by an xd module resource when202 //it has been loaded via a script tag.203 var deps = res.depends;204 var requireList = null;205 var requireAfterList = null;206 var provideList = [];207 if(deps && deps.length > 0){208 var dep = null;209 var insertHint = 0;210 var attachedResource = false;211 for(var i = 0; i < deps.length; i++){212 dep = deps[i];213 //Look for specific dependency indicators.214 if (dep[0] == "provide"){215 provideList.push(dep[1]);216 }else{217 if(!requireList){218 requireList = [];219 }220 if(!requireAfterList){221 requireAfterList = [];222 }223 var unpackedDeps = this._xdUnpackDependency(dep);224 if(unpackedDeps.requires){225 requireList = requireList.concat(unpackedDeps.requires);226 }227 if(unpackedDeps.requiresAfter){228 requireAfterList = requireAfterList.concat(unpackedDeps.requiresAfter);229 }230 }231 //Call the dependency indicator to allow for the normal dojo setup.232 //Only allow for one dot reference, for the i18n._preloadLocalizations calls233 //(and maybe future, one-dot things).234 var depType = dep[0];235 var objPath = depType.split(".");236 if(objPath.length == 2){237 dojo[objPath[0]][objPath[1]].apply(dojo[objPath[0]], dep.slice(1));238 }else{239 dojo[depType].apply(dojo, dep.slice(1));240 }241 }242 //If loading the debugAtAllCosts module, eval it right away since we need243 //its functions to properly load the other modules.244 if(provideList.length == 1 && provideList[0] == "dojo._base._loader.loader_debug"){245 res.defineResource(dojo);246 }else{247 //Save off the resource contents for definition later.248 var contentIndex = this._xdContents.push({249 content: res.defineResource,250 resourceName: res["resourceName"],251 resourcePath: res["resourcePath"],252 isDefined: false253 }) - 1;254 255 //Add provide/requires to dependency map.256 for(var i = 0; i < provideList.length; i++){257 this._xdDepMap[provideList[i]] = { requires: requireList, requiresAfter: requireAfterList, contentIndex: contentIndex };258 }259 }260 //Now update the inflight status for any provided resources in this loaded resource.261 //Do this at the very end (in a *separate* for loop) to avoid shutting down the 262 //inflight timer check too soon.263 for(var i = 0; i < provideList.length; i++){264 this._xdInFlight[provideList[i]] = false;265 }266 }267}268dojo._xdLoadFlattenedBundle = function(/*String*/moduleName, /*String*/bundleName, /*String?*/locale, /*Object*/bundleData){269 //summary: Internal xd loader function. Used when loading270 //a flattened localized bundle via a script tag.271 locale = locale || "root";272 var jsLoc = dojo.i18n.normalizeLocale(locale).replace('-', '_');273 var bundleResource = [moduleName, "nls", bundleName].join(".");274 var bundle = dojo["provide"](bundleResource);275 bundle[jsLoc] = bundleData;276 277 //Assign the bundle for the original locale(s) we wanted.278 var mapName = [moduleName, jsLoc, bundleName].join(".");279 var bundleMap = dojo._xdBundleMap[mapName];280 if(bundleMap){281 for(var param in bundleMap){282 bundle[param] = bundleData;283 }284 }285};286dojo._xdInitExtraLocales = function(){287 // Simulate the extra locale work that dojo.requireLocalization does.288 var extra = dojo.config.extraLocale;289 if(extra){290 if(!extra instanceof Array){291 extra = [extra];292 }293 dojo._xdReqLoc = dojo.xdRequireLocalization;294 dojo.xdRequireLocalization = function(m, b, locale, fLocales){295 dojo._xdReqLoc(m,b,locale, fLocales);296 if(locale){return;}297 for(var i=0; i<extra.length; i++){298 dojo._xdReqLoc(m,b,extra[i], fLocales);299 }300 };301 }302}303dojo._xdBundleMap = {};304dojo.xdRequireLocalization = function(/*String*/moduleName, /*String*/bundleName, /*String?*/locale, /*String*/availableFlatLocales){305 //summary: Internal xd loader function. The xd version of dojo.requireLocalization.306 307 //Account for allowing multiple extra locales. Do this here inside the function308 //since dojo._xdInitExtraLocales() depends on djConfig being set up, but that only309 //happens after hostenv_browser runs. loader_xd has to come before hostenv_browser310 //though since hostenv_browser can do a dojo.require for the debug module.311 if(dojo._xdInitExtraLocales){312 dojo._xdInitExtraLocales();313 dojo._xdInitExtraLocales = null;314 dojo.xdRequireLocalization.apply(dojo, arguments);315 return;316 }317 var locales = availableFlatLocales.split(",");318 319 //Find the best-match locale to load.320 //Assumes dojo.i18n has already been loaded. This is true for xdomain builds,321 //since it is included in dojo.xd.js.322 var jsLoc = dojo.i18n.normalizeLocale(locale);323 var bestLocale = "";324 for(var i = 0; i < locales.length; i++){325 //Locale must match from start of string.326 if(jsLoc.indexOf(locales[i]) == 0){327 if(locales[i].length > bestLocale.length){328 bestLocale = locales[i];329 }330 }331 }332 var fixedBestLocale = bestLocale.replace('-', '_');333 //See if the bundle we are going to use is already loaded.334 var bundleResource = dojo.getObject([moduleName, "nls", bundleName].join("."));335 if(bundleResource && bundleResource[fixedBestLocale]){336 bundle[jsLoc.replace('-', '_')] = bundleResource[fixedBestLocale];337 }else{338 //Need to remember what locale we wanted and which one we actually use.339 //Then when we load the one we are actually using, use that bundle for the one340 //we originally wanted.341 var mapName = [moduleName, (fixedBestLocale||"root"), bundleName].join(".");342 var bundleMap = dojo._xdBundleMap[mapName];343 if(!bundleMap){344 bundleMap = dojo._xdBundleMap[mapName] = {};345 }346 bundleMap[jsLoc.replace('-', '_')] = true;347 348 //Do just a normal dojo.require so the resource tracking stuff works as usual.349 dojo.require(moduleName + ".nls" + (bestLocale ? "." + bestLocale : "") + "." + bundleName);350 }351}352// Replace dojo.requireLocalization with a wrapper353dojo._xdRealRequireLocalization = dojo.requireLocalization;354dojo.requireLocalization = function(/*String*/moduleName, /*String*/bundleName, /*String?*/locale, /*String*/availableFlatLocales){355 // summary: loads a bundle intelligently based on whether the module is 356 // local or xd. Overrides the local-case implementation.357 358 var modulePath = this.moduleUrl(moduleName).toString();359 if (this._xdIsXDomainPath(modulePath)) {360 // call cross-domain loader361 return dojo.xdRequireLocalization.apply(dojo, arguments);362 } else {363 // call local-loader364 return dojo._xdRealRequireLocalization.apply(dojo, arguments);365 }366}367//This is a bit brittle: it has to know about the dojo methods that deal with dependencies368//It would be ideal to intercept the actual methods and do something fancy at that point,369//but I have concern about knowing which provide to match to the dependency in that case,370//since scripts can load whenever they want, and trigger new calls to dojo._xdResourceLoaded().371dojo._xdUnpackDependency = function(/*Array*/dep){372 //summary: Internal xd loader function. Determines what to do with a dependency373 //that was listed in an xd version of a module contents.374 //Extract the dependency(ies).375 var newDeps = null;376 var newAfterDeps = null;377 switch(dep[0]){378 case "requireIf":379 case "requireAfterIf":380 //First arg (dep[1]) is the test. Depedency is dep[2].381 if(dep[1] === true){382 newDeps = [{name: dep[2], content: null}];383 }384 break;385 case "platformRequire":386 var modMap = dep[1];387 var common = modMap["common"]||[];388 var newDeps = (modMap[dojo.hostenv.name_]) ? common.concat(modMap[dojo.hostenv.name_]||[]) : common.concat(modMap["default"]||[]); 389 //Flatten the array of arrays into a one-level deep array.390 //Each result could be an array of 3 elements (the 3 arguments to dojo.require).391 //We only need the first one.392 if(newDeps){393 for(var i = 0; i < newDeps.length; i++){394 if(newDeps[i] instanceof Array){395 newDeps[i] = {name: newDeps[i][0], content: null};396 }else{397 newDeps[i] = {name: newDeps[i], content: null};398 }399 }400 }401 break;402 case "require":403 //Just worry about dep[1]404 newDeps = [{name: dep[1], content: null}];405 break;406 case "i18n._preloadLocalizations":407 //We can eval these immediately, since they load i18n bundles.408 //Since i18n bundles have no dependencies, whenever they are loaded409 //in a script tag, they are evaluated immediately, so we do not have to410 //treat them has an explicit dependency for the dependency mapping.411 //We can call it immediately since dojo.i18n is part of dojo.xd.js.412 dojo.i18n._preloadLocalizations.apply(dojo.i18n._preloadLocalizations, dep.slice(1));413 break;414 }415 //The requireIf and requireAfterIf needs to be evaluated after the current resource is evaluated.416 if(dep[0] == "requireAfterIf" || dep[0] == "requireIf"){417 newAfterDeps = newDeps;418 newDeps = null;419 }420 return {requires: newDeps, requiresAfter: newAfterDeps}; //Object421}422dojo._xdWalkReqs = function(){423 //summary: Internal xd loader function. 424 //Walks the requires and evaluates module resource contents in425 //the right order.426 var reqChain = null;427 var req;428 for(var i = 0; i < this._xdOrderedReqs.length; i++){429 req = this._xdOrderedReqs[i];430 if(this._xdDepMap[req]){431 reqChain = [req];432 reqChain[req] = true; //Allow for fast lookup of the req in the array433 this._xdEvalReqs(reqChain);434 }435 }436}437dojo._xdEvalReqs = function(/*Array*/reqChain){438 //summary: Internal xd loader function. 439 //Does a depth first, breadth second search and eval of required modules.440 while(reqChain.length > 0){441 var req = reqChain[reqChain.length - 1];442 var res = this._xdDepMap[req];443 if(res){444 //Trace down any requires for this resource.445 //START dojo._xdTraceReqs() inlining for small Safari 2.0 call stack446 var reqs = res.requires;447 if(reqs && reqs.length > 0){448 var nextReq;449 for(var i = 0; i < reqs.length; i++){450 nextReq = reqs[i].name;451 if(nextReq && !reqChain[nextReq]){452 //New req depedency. Follow it down.453 reqChain.push(nextReq);454 reqChain[nextReq] = true;455 this._xdEvalReqs(reqChain);456 }457 }458 }459 //END dojo._xdTraceReqs() inlining for small Safari 2.0 call stack460 //Evaluate the resource.461 var contents = this._xdContents[res.contentIndex];462 if(!contents.isDefined){463 var content = contents.content;464 content["resourceName"] = contents["resourceName"];465 content["resourcePath"] = contents["resourcePath"];466 this._xdDefList.push(content);467 contents.isDefined = true;468 }469 this._xdDepMap[req] = null;470 //Trace down any requireAfters for this resource.471 //START dojo._xdTraceReqs() inlining for small Safari 2.0 call stack472 var reqs = res.requiresAfter;473 if(reqs && reqs.length > 0){474 var nextReq;475 for(var i = 0; i < reqs.length; i++){476 nextReq = reqs[i].name;477 if(nextReq && !reqChain[nextReq]){478 //New req depedency. Follow it down.479 reqChain.push(nextReq);480 reqChain[nextReq] = true;481 this._xdEvalReqs(reqChain);482 }483 }484 }485 //END dojo._xdTraceReqs() inlining for small Safari 2.0 call stack486 }487 //Done with that require. Remove it and go to the next one.488 reqChain.pop();489 }490}491dojo._xdClearInterval = function(){492 //summary: Internal xd loader function.493 //Clears the interval timer used to check on the494 //status of in-flight xd module resource requests.495 clearInterval(this._xdTimer);496 this._xdTimer = 0;497}498dojo._xdWatchInFlight = function(){499 //summary: Internal xd loader function.500 //Monitors in-flight requests for xd module resources.501 var noLoads = "";502 var waitInterval = (dojo.config.xdWaitSeconds || 15) * 1000;503 var expired = (this._xdStartTime + waitInterval) < (new Date()).getTime();504 //If any xdInFlight are true, then still waiting for something to load.505 //Come back later. If we timed out, report the things that did not load.506 for(var param in this._xdInFlight){507 if(this._xdInFlight[param] === true){508 if(expired){509 noLoads += param + " ";510 }else{511 return;512 }513 }514 }515 //All done. Clean up and notify.516 this._xdClearInterval();517 if(expired){518 throw "Could not load cross-domain resources: " + noLoads;519 }520 this._xdWalkReqs();521 522 var defLength = this._xdDefList.length;523 for(var i= 0; i < defLength; i++){524 var content = dojo._xdDefList[i];525 if(dojo.config["debugAtAllCosts"] && content["resourceName"]){526 if(!this["_xdDebugQueue"]){527 this._xdDebugQueue = [];528 }529 this._xdDebugQueue.push({resourceName: content.resourceName, resourcePath: content.resourcePath});530 }else{531 //Evaluate the resource to bring it into being.532 //Pass in scope args to allow multiple versions of modules in a page. 533 content.apply(dojo.global, dojo._scopeArgs);534 }535 }536 //Evaluate any resources that were not evaled before.537 //This normally shouldn't happen with proper dojo.provide and dojo.require538 //usage, but providing it just in case. Note that these may not be executed539 //in the original order that the developer intended.540 for(var i = 0; i < this._xdContents.length; i++){541 var current = this._xdContents[i];542 if(current.content && !current.isDefined){543 //Pass in scope args to allow multiple versions of modules in a page. 544 current.content.apply(dojo.global, dojo._scopeArgs);545 }546 }547 //Clean up for the next round of xd loading.548 this._xdReset();549 if(this["_xdDebugQueue"] && this._xdDebugQueue.length > 0){550 this._xdDebugFileLoaded();551 }else{552 this._xdNotifyLoaded();553 }554}555dojo._xdNotifyLoaded = function(){556 //Clear inflight count so we will finally do finish work.557 this._inFlightCount = 0; 558 559 //Only trigger call loaded if dj_load_init has run. 560 if(this._initFired && !this._loadNotifying){ 561 this._callLoaded();562 }563}...
buildUtilXd.js
Source: buildUtilXd.js
1//The functions in this file assume that buildUtil.js have been loaded.2var buildUtilXd = {};3buildUtilXd.setXdDojoConfig = function(/*String*/fileContents, /*String*/url){4 //summary: sets sets up xdomain loading for a particular URL.5 //parameters:6 // fileContents: be a built dojo.js (can be uncompressed or compressed).7 // url: value should be the url to the directory that contains the dojo,8 // dijit and dojox directories.9 // Example: "http://some.domain.com/dojo090" (no ending slash)10 //This function will inject some contents after the dojo.registerModulePath() definition.11 //The contents of fileName should have been a dojo.js that includes the contents12 //of loader_xd.js (specify loader=xdomain in the build command).13 //This code is not very robust. It will break if dojo.registerModulePath definition14 //changes to anything more advanced.15 var match = fileContents.match(/(dojo\.registerModulePath\s*=\s*function.*\{)/);16 17 //Find the next two } braces and in inject code after that.18 var endIndex = fileContents.indexOf("}", match.index);19 endIndex = fileContents.indexOf("}", endIndex + 1);20 if(fileContents.charAt(endIndex + 1) == ";"){21 endIndex += 1;22 }23 endIndex +=1;24 var lineSeparator = fileUtil.getLineSeparator();25 return fileContents.substring(0, endIndex)26 + lineSeparator27 + "if(typeof dojo.config[\"useXDomain\"] == \"undefined\"){"28 + "dojo.config.useXDomain = true;};\ndojo.registerModulePath(\"dojo\", \""29 + url + "/dojo"30 + "\");\ndojo.registerModulePath(\"dijit\", \""31 + url + "/dijit"32 + "\");\ndojo.registerModulePath(\"dojox\", \""33 + url + "/dojox"34 + "\");"35 + lineSeparator36 + fileContents.substring(endIndex, fileContents.length);37}38buildUtilXd.xdgen = function(39 /*String*/prefixName,40 /*String*/prefixPath,41 /*Array*/prefixes,42 /*RegExp*/optimizeIgnoreRegExp,43 /*Object*/kwArgs44){45 //summary: generates the .xd.js files for a build.46 var jsFileNames = fileUtil.getFilteredFileList(prefixPath, /\.js$/, true);47 48 //Construct a regexp to avoid xd generating loader_xd.js, since shrinksafe49 //does not like the resulting javascript that is generated, because of50 //bug http://trac.dojotoolkit.org/ticket/276651 var loaderIgnoreRegExp = /dojo\/_base\/_loader\/loader_xd/;52 for(var i = 0; i < jsFileNames.length; i++){53 var jsFileName = jsFileNames[i];54 //Some files, like the layer files, have already been xd55 //processed, so be sure to skip those.56 if(!jsFileName.match(optimizeIgnoreRegExp) && !jsFileName.match(loaderIgnoreRegExp)){57 var xdFileName = jsFileName.replace(/\.js$/, ".xd.js");58 var fileContents = fileUtil.readFile(jsFileName);59 //Files in nls directories, except for the ones that have multiple60 //bundles flattened (therefore have a dojo.provide call),61 //need to have special xd contents.62 if(jsFileName.match(/\/nls\//) && fileContents.indexOf("dojo.provide(") == -1){63 var xdContents = buildUtilXd.makeXdBundleContents(prefixName, prefixPath, jsFileName, fileContents, prefixes, kwArgs); 64 }else{65 xdContents = buildUtilXd.makeXdContents(fileContents, prefixes, kwArgs);66 }67 fileUtil.saveUtf8File(xdFileName, xdContents);68 }69 }70}71//Function that generates the XD version of the module file's contents72buildUtilXd.makeXdContents = function(fileContents, prefixes, kwArgs){73 var dependencies = [];74 //Use the regexps to find resource dependencies for this module file.75 var depMatches = buildUtil.removeComments(fileContents).match(buildUtil.globalDependencyRegExp);76 if(depMatches){77 for(var i = 0; i < depMatches.length; i++){78 var partMatches = depMatches[i].match(buildUtil.dependencyPartsRegExp);79 var depCall = partMatches[1];80 var depArgs = partMatches[2];81 if(depCall == "requireLocalization"){82 //Need to find out what locales are available so the dojo loader83 //only has to do one script request for the closest matching locale.84 var reqArgs = i18nUtil.getRequireLocalizationArgsFromString(depArgs);85 if(reqArgs.moduleName){86 //Find the list of locales supported by looking at the path names.87 var locales = i18nUtil.getLocalesForBundle(reqArgs.moduleName, reqArgs.bundleName, prefixes);88 //Add the supported locales to the requireLocalization arguments.89 if(!reqArgs.localeName){90 depArgs += ", null";91 }92 depCall = "requireLocalization";93 depArgs += ', "' + locales.join(",") + '"';94 }else{95 //Malformed requireLocalization call. Skip it. May be a comment.96 continue;97 }98 }99 100 dependencies.push('"' + depCall + '", ' + depArgs);101 }102 }103 //Build the xd file contents.104 var xdContentsBuffer = [];105 var scopeArgs = kwArgs.xdScopeArgs || "dojo, dijit, dojox";106 //Start the module function wrapper.107 xdContentsBuffer.push((kwArgs.xdDojoScopeName || "dojo") + "._xdResourceLoaded(function(" + scopeArgs + "){\n");108 //See if there are any dojo.loadInit calls109 var loadInitCalls = buildUtilXd.extractLoadInits(fileContents);110 if(loadInitCalls){111 //Adjust fileContents since extractLoadInits removed something.112 fileContents = loadInitCalls[0];113 //Add any loadInit calls to an array passed _xdResourceLoaded114 for(i = 1; i < loadInitCalls.length; i++){115 xdContentsBuffer.push(loadInitCalls[i] + ";\n");116 }117 }118 xdContentsBuffer.push("return {");119 //Add in dependencies section.120 if(dependencies.length > 0){121 xdContentsBuffer.push("depends: [");122 for(i = 0; i < dependencies.length; i++){123 if(i > 0){124 xdContentsBuffer.push(",\n");125 }126 xdContentsBuffer.push("[" + dependencies[i] + "]");127 }128 xdContentsBuffer.push("],");129 }130 131 //Add the contents of the file inside a function.132 //Pass in module names to allow for multiple versions of modules in a page.133 xdContentsBuffer.push("\ndefineResource: function(" + scopeArgs + "){");134 //Remove requireLocalization calls, since that will mess things up.135 //String() part is needed since fileContents is a Java object.136 xdContentsBuffer.push(String(fileContents).replace(/dojo\.(requireLocalization|i18n\._preloadLocalizations)\([^\)]*\)/g, ""));137 xdContentsBuffer.push("\n}};});");138 return xdContentsBuffer.join("");139}140buildUtilXd.makeXdBundleContents = function(prefix, prefixPath, srcFileName, fileContents, prefixes, kwArgs){141 //logger.info("Flattening bundle: " + srcFileName);142 var bundleParts = i18nUtil.getBundlePartsFromFileName(prefix, prefixPath, srcFileName);143 if(!bundleParts){144 return null;145 }146 var moduleName = bundleParts.moduleName;147 var bundleName = bundleParts.bundleName;148 var localeName = bundleParts.localeName;149 150 //logger.trace("## moduleName: " + moduleName + ", bundleName: " + bundleName + ", localeName: " + localeName);151 152 //If this is a dojo bundle, it will have already been flattened via the normal build process.153 //If it is an external bundle, then we didn't flatten it during the normal build process since154 //right now, we don't make copies of the external module source files. Need to figure that out at some155 //point, but for now, need to get flattened contents for external modules.156 fileContents = (prefix.indexOf("dojo") == 0) ? fileContents : i18nUtil.makeFlatBundleContents(prefix, prefixPath, srcFileName);157 //Final XD file contents.158 fileContents = 'dojo.provide("' + moduleName + '.nls.' + (localeName ? localeName + '.' : '') + bundleName + '");'159 + 'dojo._xdLoadFlattenedBundle("' + moduleName + '", "' + bundleName160 + '", "' + localeName + '", ' + fileContents + ');';161 //Now make a proper xd.js file out of the content.162 return buildUtilXd.makeXdContents(fileContents, prefixes, kwArgs);163}164buildUtilXd.loadInitRegExp = /dojo\.loadInit\s*\(/g;165buildUtilXd.extractLoadInits = function(/*String*/fileContents){166 return buildUtil.extractMatchedParens(buildUtilXd.loadInitRegExp, fileContents);...
utils.js
Source: utils.js
1export const checkName = (value) => {2 const reg =3 /^([A-Z][a-zA-Za-zżźÄÅóÅÄÄ
ÅŻŹÄÄÅÄÅÃÅ]+([ ]?[a-z]?['-]?[A-Z][a-z]+)*)$/;4 if (!value.match(reg)) {5 alert("Podaj poprawne imie");6 } else return true;7};8export const checkSurname = (value) => {9 const reg =10 /^([A-Z][a-zA-Za-zżźÄÅóÅÄÄ
ÅŻŹÄÄÅÄÅÃÅ]+([ ]?[a-z]?['-]?[A-Z][a-z]+)*)$/;11 if (!value.match(reg)) {12 alert("Podaj poprawne nazwisko");13 } else return true;14};15export const checkOccupation = (value) => {16 if (value.length < 3) {17 alert("Podaj poprawne stanowisko");18 } else return true;19};20export const checkEmail = (value) => {21 const reg = /^[\w-.]+@([\w-]+\.)+[\w-]{2,4}$/;22 if (!value.match(reg)) {23 alert("Wprowadź poprawny adres email");24 } else return true;25};26export const sortByNameAZ = (value) => {27 let xd = [...value];28 xd = xd.sort((a, b) => {29 return a.name.localeCompare(b.name);30 });31 return xd;32};33export const sortByNameZA = (value) => {34 let xd = [...value];35 xd = xd.sort((a, b) => {36 return b.name.localeCompare(a.name);37 });38 return xd;39};40export const sortBySurnameAZ = (value) => {41 let xd = [...value];42 xd = xd.sort((a, b) => {43 return a.surname.localeCompare(b.surname);44 });45 return xd;46};47export const sortBySurnameZA = (value) => {48 let xd = [...value];49 xd = xd.sort((a, b) => {50 return b.surname.localeCompare(a.surname);51 });52 return xd;53};54export const sortByOccAZ = (value) => {55 let xd = [...value];56 xd = xd.sort((a, b) => {57 return a.occupation.localeCompare(b.occupation);58 });59 return xd;60};61export const sortByOccZA = (value) => {62 let xd = [...value];63 xd = xd.sort((a, b) => {64 return b.occupation.localeCompare(a.occupation);65 });66 return xd;67};68export const sortByEmailAZ = (value) => {69 let xd = [...value];70 xd = xd.sort((a, b) => {71 return a.email.localeCompare(b.email);72 });73 return xd;74};75export const sortByEmailZA = (value) => {76 let xd = [...value];77 xd = xd.sort((a, b) => {78 return b.email.localeCompare(a.email);79 });80 return xd;81};82export const sortBySalaryAZ = (value) => {83 let xd = [...value];84 xd = xd.sort((a, b) => a.salary - b.salary);85 return xd;86};87export const sortBySalaryZA = (value) => {88 let xd = [...value];89 xd = xd.sort((a, b) => b.salary - a.salary);90 return xd;...
nativeArray.js
Source: nativeArray.js
1//-------------------------------------------------------------------------------------------------------2// Copyright (C) Microsoft. All rights reserved.3// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.4//-------------------------------------------------------------------------------------------------------5var xi = [2, 1, 0];6var xd = [2.5, 1.5, 0.5];7WScript.SetTimeout(testFunction, 50);8/////////////////9function testFunction()10{11 telemetryLog(`Array.isArray(xi): ${Array.isArray(xi)}`, true); //true12 telemetryLog(`xi.length: ${xi.length}`, true); //313 telemetryLog(`xi[1]: ${xi[1]}`, true); //114 ////15 xi[1] = 5;16 xi.push(10);17 ////18 telemetryLog(`post update -- xi[1]: ${xi[1]}`, true); //519 telemetryLog(`post update -- xi.length: ${xi.length}`, true); //420 telemetryLog(`post update -- xi[3]: ${xi[3]}`, true); //1021 telemetryLog(`post update -- xi[5]: ${xi[5]}`, true); //undefined22 telemetryLog(`Array.isArray(xd): ${Array.isArray(xd)}`, true); //true23 telemetryLog(`xd.length: ${xd.length}`, true); //324 telemetryLog(`xd[1]: ${xd[1]}`, true); //1.525 ////26 xd[1] = 5.0;27 xd.push(10.0);28 xd[10] = 10.0;29 ////30 telemetryLog(`post update -- xd[1]: ${xd[1]}`, true); //5.031 telemetryLog(`post update -- xd.length: ${xd.length}`, true); //1132 telemetryLog(`post update -- xd[3]: ${xd[3]}`, true); //10.033 telemetryLog(`post update -- xd[5]: ${xd[5]}`, true); //undefined34 telemetryLog(`post update -- xd[10]: ${xd[10]}`, true); //10.0...
Using AI Code Generation
1const {chromium} = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.screenshot({ path: `example.png` });7 await browser.close();8})();9const {chromium} = require('playwright');10(async () => {11 const browser = await chromium.launch();12 const context = await browser.newContext();13 const page = await context.newPage();14 await page.screenshot({ path: `example.png` });15 await browser.close();16})();17const {chromium} = require('playwright');18(async () => {19 const browser = await chromium.launch();20 const context = await browser.newContext();21 const page = await context.newPage();22 await page.screenshot({ path: `example.png` });23 await browser.close();24})();25const {chromium} = require('playwright');26(async () => {27 const browser = await chromium.launch();28 const context = await browser.newContext();29 const page = await context.newPage();30 await page.screenshot({ path: `example.png` });31 await browser.close();32})();33const {chromium} = require('playwright');34(async () => {35 const browser = await chromium.launch();36 const context = await browser.newContext();37 const page = await context.newPage();38 await page.screenshot({ path: `example.png` });39 await browser.close();40})();41const {chromium} = require('playwright');42(async () => {43 const browser = await chromium.launch();44 const context = await browser.newContext();45 const page = await context.newPage();
Using AI Code Generation
1const {chromium} = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.screenshot({path: 'google.png'});7 await browser.close();8})();9const {chromium} = require('playwright');10(async () => {11 const browser = await chromium.launch();12 const context = await browser.newContext();13 const page = await context.newPage();14 await page.screenshot({path: 'google.png'});15 await browser.close();16})();
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const page = await browser.newPage();5 await page.screenshot({ path: 'google.png' });6 await browser.close();7})();8const { chromium } = require('playwright');9(async () => {10 const browser = await chromium.launch();11 const page = await browser.newPage();12 await page.screenshot({ path: 'google.png' });13 await browser.close();14})();15const { chromium } = require('playwright');16(async () => {17 const browser = await chromium.launch();18 const page = await browser.newPage();19 await page.screenshot({ path: 'google.png' });20 await browser.close();21})();22const { chromium } = require('playwright');23(async () => {24 const browser = await chromium.launch();25 const page = await browser.newPage();26 await page.screenshot({ path: 'google.png' });27 await browser.close();28})();29const { chromium } = require('playwright');30(async () => {31 const browser = await chromium.launch();32 const page = await browser.newPage();33 await page.screenshot({ path: 'google.png' });34 await browser.close();35})();36const { chromium } = require('playwright');37(async () => {38 const browser = await chromium.launch();39 const page = await browser.newPage();40 await page.screenshot({ path: 'google.png' });41 await browser.close();42})();43const { chromium } = require('playwright');44(async () => {
Using AI Code Generation
1const {chromium} = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const page = await browser.newPage();5 await page.screenshot({ path: `example.png` });6 await browser.close();7})();
Using AI Code Generation
1const { _electron: electron } = require('playwright');2const { ElectronApplication } = electron;3const { _electron: electron } = require('playwright');4const { ElectronApplication } = electron;5const { _electron: electron } = require('playwright');6const { ElectronApplication } = electron;7const { _electron: electron } = require('playwright');8const { ElectronApplication } = electron;9const { _electron: electron } = require('playwright');10const { ElectronApplication } = electron;11const { _electron: electron } = require('playwright');12const { ElectronApplication } = electron;13const { _electron: electron } = require('playwright');14const { ElectronApplication } = electron;15const { _electron: electron } = require('playwright');16const { ElectronApplication } = electron;17const { _electron: electron } = require('playwright');18const { ElectronApplication } = electron;19const { _electron: electron } = require('playwright');20const { ElectronApplication } = electron;21const { _electron: electron } = require('playwright');22const { ElectronApplication } = electron;23const { _electron: electron } = require('playwright');24const { ElectronApplication } = electron;25const { _electron: electron } = require('playwright');26const { ElectronApplication } = electron;27const { _electron: electron } = require('playwright');28const { ElectronApplication } = electron;29const { _electron: electron } = require('playwright');30const { ElectronApplication } = electron;
Using AI Code Generation
1const { test, expect } = require('@playwright/test');2test('Test Xd method', async ({ page }) => {3 await page.click('text=Get started');4 await page.waitForSelector('text=Playwright');5 const { x, y } = await page.evaluate(() => {6 const element = document.querySelector('text=Playwright');7 return { x: element.x, y: element.y };8 });9 console.log(x, y);10});11const { test, expect } = require('@playwright/test');12test('Test Xd method', async ({ page }) => {13 await page.click('text=Get started');14 await page.waitForSelector('text=Playwright');15 const { x, y } = await page.evaluate(() => {16 const element = document.querySelector('text=Playwright');17 return { x: element.x, y: element.y };18 });19 console.log(x, y);20});21const { test, expect } = require('@playwright/test');22test('Test Xd method', async ({ page }) => {23 await page.click('text=Get started');24 await page.waitForSelector('text=Playwright');25 const { x, y } = await page.evaluate(() => {26 const element = document.querySelector('text=Playwright');27 return { x: element.x, y: element.y };28 });29 console.log(x, y);30});31const { test, expect } = require('@playwright/test');32test('Test Xd method', async ({ page }) => {33 await page.click('text=Get started');34 await page.waitForSelector('text=Playwright');35 const { x, y } = await page.evaluate(() => {36 const element = document.querySelector('text=Playwright');37 return { x: element.x, y: element.y };38 });39 console.log(x, y);40});41const { test, expect } = require('@playwright/test');42test('Test X
Using AI Code Generation
1const { Xd } = require(“playwright”);2const { Page } = require(“playwright”);3const { Xd } = require(“playwright”);4const { Page } = require(“playwright”);5const { Xd } = require(“playwright”);6const { Page } = require(“playwright”);7const { Xd } = require(“playwright”);8const { Page } = require(“playwright”);9const { Xd } = require(“playwright”);10const { Page } = require(“playwright”);11const { Xd } = require(“playwright”);12const { Page } = require(“playwright”);13const { Xd } = require(“playwright”);14const { Page } = require(“playwright”);15const { Xd } = require(“playwright”);16const { Page } = require(“playwright”);17const { Xd } = require(“playwright”);18const { Page } = require(“playwright”);19const { Xd } = require(“playwright”);20const { Page } = require(“playwright”);21const { Xd } = require(“playwright”);22const { Page } = require(“playwright”);23const { Xd } = require(“playwright”);24const { Page } = require(“playwright”);25const { Xd } = require(“playwright”);26const { Page } = require(“playwright”);27const { X
Jest + Playwright - Test callbacks of event-based DOM library
firefox browser does not start in playwright
Is it possible to get the selector from a locator object in playwright?
How to run a list of test suites in a single file concurrently in jest?
Running Playwright in Azure Function
firefox browser does not start in playwright
This question is quite close to a "need more focus" question. But let's try to give it some focus:
Does Playwright has access to the cPicker object on the page? Does it has access to the window object?
Yes, you can access both cPicker and the window object inside an evaluate call.
Should I trigger the events from the HTML file itself, and in the callbacks, print in the DOM the result, in some dummy-element, and then infer from that dummy element text that the callbacks fired?
Exactly, or you can assign values to a javascript variable:
const cPicker = new ColorPicker({
onClickOutside(e){
},
onInput(color){
window['color'] = color;
},
onChange(color){
window['result'] = color;
}
})
And then
it('Should call all callbacks with correct arguments', async() => {
await page.goto(`http://localhost:5000/tests/visual/basic.html`, {waitUntil:'load'})
// Wait until the next frame
await page.evaluate(() => new Promise(requestAnimationFrame))
// Act
// Assert
const result = await page.evaluate(() => window['color']);
// Check the value
})
Check out the latest blogs from LambdaTest on this topic:
Native apps are developed specifically for one platform. Hence they are fast and deliver superior performance. They can be downloaded from various app stores and are not accessible through browsers.
One of the essential parts when performing automated UI testing, whether using Selenium or another framework, is identifying the correct web elements the tests will interact with. However, if the web elements are not located correctly, you might get NoSuchElementException in Selenium. This would cause a false negative result because we won’t get to the actual functionality check. Instead, our test will fail simply because it failed to interact with the correct element.
Smartphones have changed the way humans interact with technology. Be it travel, fitness, lifestyle, video games, or even services, it’s all just a few touches away (quite literally so). We only need to look at the growing throngs of smartphone or tablet users vs. desktop users to grasp this reality.
As part of one of my consulting efforts, I worked with a mid-sized company that was looking to move toward a more agile manner of developing software. As with any shift in work style, there is some bewilderment and, for some, considerable anxiety. People are being challenged to leave their comfort zones and embrace a continuously changing, dynamic working environment. And, dare I say it, testing may be the most ‘disturbed’ of the software roles in agile development.
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!