dojo_rails 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +88 -0
- data/Rakefile +1 -0
- data/dojo_rails.gemspec +23 -0
- data/lib/dojo_rails/version.rb +3 -0
- data/lib/dojo_rails.rb +6 -0
- data/vendor/assets/images/a11y/colors3x4.png +0 -0
- data/vendor/assets/images/a11y/colors7x10.png +0 -0
- data/vendor/assets/images/a11y/indeterminate_progress.gif +0 -0
- data/vendor/assets/images/claro/form/images/buttonArrows.png +0 -0
- data/vendor/assets/images/claro/form/images/buttonDisabled.png +0 -0
- data/vendor/assets/images/claro/form/images/buttonDisabled.svg +23 -0
- data/vendor/assets/images/claro/form/images/buttonEnabled.png +0 -0
- data/vendor/assets/images/claro/form/images/buttonEnabled.svg +24 -0
- data/vendor/assets/images/claro/form/images/checkboxAndRadioButtons_IE6.png +0 -0
- data/vendor/assets/images/claro/form/images/checkboxRadioButtonStates.png +0 -0
- data/vendor/assets/images/claro/form/images/commonFormArrows.png +0 -0
- data/vendor/assets/images/claro/form/images/error.png +0 -0
- data/vendor/assets/images/claro/form/images/sliderThumbs.png +0 -0
- data/vendor/assets/images/claro/images/activeGradient.png +0 -0
- data/vendor/assets/images/claro/images/activeGradient.svg +19 -0
- data/vendor/assets/images/claro/images/calendar.png +0 -0
- data/vendor/assets/images/claro/images/calendarArrows.png +0 -0
- data/vendor/assets/images/claro/images/calendarArrows8bit.png +0 -0
- data/vendor/assets/images/claro/images/checkmarkNoBorder.gif +0 -0
- data/vendor/assets/images/claro/images/checkmarkNoBorder.png +0 -0
- data/vendor/assets/images/claro/images/dialogCloseIcon.png +0 -0
- data/vendor/assets/images/claro/images/dialogCloseIcon8bit.png +0 -0
- data/vendor/assets/images/claro/images/dnd.png +0 -0
- data/vendor/assets/images/claro/images/loadingAnimation.gif +0 -0
- data/vendor/assets/images/claro/images/progressBarAnim.gif +0 -0
- data/vendor/assets/images/claro/images/progressBarFull.png +0 -0
- data/vendor/assets/images/claro/images/spriteArrows.png +0 -0
- data/vendor/assets/images/claro/images/standardGradient.png +0 -0
- data/vendor/assets/images/claro/images/standardGradient.svg +18 -0
- data/vendor/assets/images/claro/images/tooltip.png +0 -0
- data/vendor/assets/images/claro/images/tooltip8bit.png +0 -0
- data/vendor/assets/images/claro/images/treeExpandImages.png +0 -0
- data/vendor/assets/images/claro/images/treeExpandImages8bit.png +0 -0
- data/vendor/assets/images/nihilo/accordionItemActive.png +0 -0
- data/vendor/assets/images/nihilo/buttonActive.png +0 -0
- data/vendor/assets/images/nihilo/buttonDisabled.png +0 -0
- data/vendor/assets/images/nihilo/buttonEnabled.png +0 -0
- data/vendor/assets/images/nihilo/buttonHover.png +0 -0
- data/vendor/assets/images/nihilo/dndCopy.png +0 -0
- data/vendor/assets/images/nihilo/dndMove.png +0 -0
- data/vendor/assets/images/nihilo/dndNoCopy.png +0 -0
- data/vendor/assets/images/nihilo/dndNoMove.png +0 -0
- data/vendor/assets/images/nihilo/no.gif +0 -0
- data/vendor/assets/images/nihilo/preciseSliderThumb.gif +0 -0
- data/vendor/assets/images/nihilo/preciseSliderThumb.png +0 -0
- data/vendor/assets/images/nihilo/preciseSliderThumbFocus.gif +0 -0
- data/vendor/assets/images/nihilo/preciseSliderThumbFocus.png +0 -0
- data/vendor/assets/images/nihilo/progressBarAnim.gif +0 -0
- data/vendor/assets/images/nihilo/progressBarEmpty.png +0 -0
- data/vendor/assets/images/nihilo/progressBarFull.png +0 -0
- data/vendor/assets/images/nihilo/sliderEmpty.png +0 -0
- data/vendor/assets/images/nihilo/sliderEmptyVertical.png +0 -0
- data/vendor/assets/images/nihilo/sliderFull.png +0 -0
- data/vendor/assets/images/nihilo/sliderFullFocus.png +0 -0
- data/vendor/assets/images/nihilo/sliderFullVertical.png +0 -0
- data/vendor/assets/images/nihilo/sliderFullVerticalFocus.png +0 -0
- data/vendor/assets/images/nihilo/sliderThumb.gif +0 -0
- data/vendor/assets/images/nihilo/sliderThumb.png +0 -0
- data/vendor/assets/images/nihilo/sliderThumbFocus.gif +0 -0
- data/vendor/assets/images/nihilo/sliderThumbFocus.png +0 -0
- data/vendor/assets/images/nihilo/splitContainerSizerH-thumb.png +0 -0
- data/vendor/assets/images/nihilo/splitContainerSizerH.png +0 -0
- data/vendor/assets/images/nihilo/splitContainerSizerV-thumb.png +0 -0
- data/vendor/assets/images/nihilo/splitContainerSizerV.png +0 -0
- data/vendor/assets/images/nihilo/spriteArrows.gif +0 -0
- data/vendor/assets/images/nihilo/spriteArrows.png +0 -0
- data/vendor/assets/images/nihilo/spriteCheckbox.gif +0 -0
- data/vendor/assets/images/nihilo/spriteCheckbox.png +0 -0
- data/vendor/assets/images/nihilo/spriteDivIcons.gif +0 -0
- data/vendor/assets/images/nihilo/spriteDivIcons.png +0 -0
- data/vendor/assets/images/nihilo/spriteRadio.gif +0 -0
- data/vendor/assets/images/nihilo/spriteRadio.png +0 -0
- data/vendor/assets/images/nihilo/spriteRoundedIconsSmall.gif +0 -0
- data/vendor/assets/images/nihilo/spriteRoundedIconsSmall.png +0 -0
- data/vendor/assets/images/nihilo/spriteTree.gif +0 -0
- data/vendor/assets/images/nihilo/spriteTree.png +0 -0
- data/vendor/assets/images/nihilo/spriteTree_rtl.gif +0 -0
- data/vendor/assets/images/nihilo/spriteTree_rtl.png +0 -0
- data/vendor/assets/images/nihilo/tabBottomActiveC.gif +0 -0
- data/vendor/assets/images/nihilo/tabBottomEnabledC.gif +0 -0
- data/vendor/assets/images/nihilo/tabBottomHoverC.gif +0 -0
- data/vendor/assets/images/nihilo/tabContainerSprite.gif +0 -0
- data/vendor/assets/images/nihilo/titleBar.png +0 -0
- data/vendor/assets/images/nihilo/titleBarActive.png +0 -0
- data/vendor/assets/images/nihilo/tooltipConnectorDown.gif +0 -0
- data/vendor/assets/images/nihilo/tooltipConnectorDown.png +0 -0
- data/vendor/assets/images/nihilo/tooltipConnectorLeft.gif +0 -0
- data/vendor/assets/images/nihilo/tooltipConnectorLeft.png +0 -0
- data/vendor/assets/images/nihilo/tooltipConnectorRight.gif +0 -0
- data/vendor/assets/images/nihilo/tooltipConnectorRight.png +0 -0
- data/vendor/assets/images/nihilo/tooltipConnectorUp.gif +0 -0
- data/vendor/assets/images/nihilo/tooltipConnectorUp.png +0 -0
- data/vendor/assets/images/nihilo/treeExpand_loading.gif +0 -0
- data/vendor/assets/images/nihilo/treeHover.png +0 -0
- data/vendor/assets/images/nihilo/treeI.gif +0 -0
- data/vendor/assets/images/nihilo/treeI_half.gif +0 -0
- data/vendor/assets/images/nihilo/treeI_half_rtl.gif +0 -0
- data/vendor/assets/images/nihilo/treeI_rtl.gif +0 -0
- data/vendor/assets/images/nihilo/validationInputBg.gif +0 -0
- data/vendor/assets/images/nihilo/validationInputBg.png +0 -0
- data/vendor/assets/images/nihilo/warning.png +0 -0
- data/vendor/assets/images/soria/accordionItemActive.gif +0 -0
- data/vendor/assets/images/soria/accordionItemActive.png +0 -0
- data/vendor/assets/images/soria/buttonActive.png +0 -0
- data/vendor/assets/images/soria/buttonDisabled.png +0 -0
- data/vendor/assets/images/soria/buttonEnabled.png +0 -0
- data/vendor/assets/images/soria/buttonHover.png +0 -0
- data/vendor/assets/images/soria/dndCopy.png +0 -0
- data/vendor/assets/images/soria/dndMove.png +0 -0
- data/vendor/assets/images/soria/dndNoCopy.png +0 -0
- data/vendor/assets/images/soria/dndNoMove.png +0 -0
- data/vendor/assets/images/soria/preciseSliderThumb.gif +0 -0
- data/vendor/assets/images/soria/preciseSliderThumb.png +0 -0
- data/vendor/assets/images/soria/preciseSliderThumbFocus.gif +0 -0
- data/vendor/assets/images/soria/preciseSliderThumbFocus.png +0 -0
- data/vendor/assets/images/soria/progressBarAnim.gif +0 -0
- data/vendor/assets/images/soria/progressBarEmpty.png +0 -0
- data/vendor/assets/images/soria/progressBarFull.png +0 -0
- data/vendor/assets/images/soria/sliderEmpty.png +0 -0
- data/vendor/assets/images/soria/sliderEmptyVertical.png +0 -0
- data/vendor/assets/images/soria/sliderFull.png +0 -0
- data/vendor/assets/images/soria/sliderFullFocus.png +0 -0
- data/vendor/assets/images/soria/sliderFullVertical.png +0 -0
- data/vendor/assets/images/soria/sliderFullVerticalFocus.png +0 -0
- data/vendor/assets/images/soria/sliderThumb.gif +0 -0
- data/vendor/assets/images/soria/sliderThumb.png +0 -0
- data/vendor/assets/images/soria/sliderThumbFocus.gif +0 -0
- data/vendor/assets/images/soria/sliderThumbFocus.png +0 -0
- data/vendor/assets/images/soria/splitContainerSizerH-thumb.png +0 -0
- data/vendor/assets/images/soria/splitContainerSizerH.png +0 -0
- data/vendor/assets/images/soria/splitContainerSizerV-thumb.png +0 -0
- data/vendor/assets/images/soria/splitContainerSizerV.png +0 -0
- data/vendor/assets/images/soria/spriteArrows.gif +0 -0
- data/vendor/assets/images/soria/spriteArrows.png +0 -0
- data/vendor/assets/images/soria/spriteCheckbox.gif +0 -0
- data/vendor/assets/images/soria/spriteCheckbox.png +0 -0
- data/vendor/assets/images/soria/spriteDivIcons.gif +0 -0
- data/vendor/assets/images/soria/spriteDivIcons.png +0 -0
- data/vendor/assets/images/soria/spriteRadio.gif +0 -0
- data/vendor/assets/images/soria/spriteRadio.png +0 -0
- data/vendor/assets/images/soria/spriteRoundedIconsSmall.gif +0 -0
- data/vendor/assets/images/soria/spriteRoundedIconsSmall.png +0 -0
- data/vendor/assets/images/soria/spriteRoundedIconsSmallBl.gif +0 -0
- data/vendor/assets/images/soria/spriteRoundedIconsSmallBl.png +0 -0
- data/vendor/assets/images/soria/spriteTree.gif +0 -0
- data/vendor/assets/images/soria/spriteTree.png +0 -0
- data/vendor/assets/images/soria/spriteTree_rtl.gif +0 -0
- data/vendor/assets/images/soria/spriteTree_rtl.png +0 -0
- data/vendor/assets/images/soria/tabBottomActiveC.gif +0 -0
- data/vendor/assets/images/soria/tabBottomEnabledC.gif +0 -0
- data/vendor/assets/images/soria/tabBottomEnabledSpriteLR.gif +0 -0
- data/vendor/assets/images/soria/tabBottomHoverC.gif +0 -0
- data/vendor/assets/images/soria/tabContainerSprite.gif +0 -0
- data/vendor/assets/images/soria/tabLeftChecked.gif +0 -0
- data/vendor/assets/images/soria/tabRightChecked.gif +0 -0
- data/vendor/assets/images/soria/titleBar.png +0 -0
- data/vendor/assets/images/soria/titleBarActive.png +0 -0
- data/vendor/assets/images/soria/tooltipConnectorDown.gif +0 -0
- data/vendor/assets/images/soria/tooltipConnectorDown.png +0 -0
- data/vendor/assets/images/soria/tooltipConnectorLeft.gif +0 -0
- data/vendor/assets/images/soria/tooltipConnectorLeft.png +0 -0
- data/vendor/assets/images/soria/tooltipConnectorRight.gif +0 -0
- data/vendor/assets/images/soria/tooltipConnectorRight.png +0 -0
- data/vendor/assets/images/soria/tooltipConnectorUp.gif +0 -0
- data/vendor/assets/images/soria/tooltipConnectorUp.png +0 -0
- data/vendor/assets/images/soria/treeExpand_loading.gif +0 -0
- data/vendor/assets/images/soria/treeHover.png +0 -0
- data/vendor/assets/images/soria/treeI.gif +0 -0
- data/vendor/assets/images/soria/treeI_half.gif +0 -0
- data/vendor/assets/images/soria/treeI_half_rtl.gif +0 -0
- data/vendor/assets/images/soria/treeI_rtl.gif +0 -0
- data/vendor/assets/images/soria/validationInputBg.gif +0 -0
- data/vendor/assets/images/soria/validationInputBg.png +0 -0
- data/vendor/assets/images/soria/warning.png +0 -0
- data/vendor/assets/images/tundra/accordionItemActive.gif +0 -0
- data/vendor/assets/images/tundra/accordionItemHover.gif +0 -0
- data/vendor/assets/images/tundra/buttonActive.png +0 -0
- data/vendor/assets/images/tundra/buttonDisabled.png +0 -0
- data/vendor/assets/images/tundra/buttonEnabled.png +0 -0
- data/vendor/assets/images/tundra/buttonHover.png +0 -0
- data/vendor/assets/images/tundra/calendarDayLabel.png +0 -0
- data/vendor/assets/images/tundra/calendarMonthLabel.png +0 -0
- data/vendor/assets/images/tundra/calendarYearLabel.png +0 -0
- data/vendor/assets/images/tundra/checkmark.gif +0 -0
- data/vendor/assets/images/tundra/checkmark.png +0 -0
- data/vendor/assets/images/tundra/checkmarkNoBorder.gif +0 -0
- data/vendor/assets/images/tundra/checkmarkNoBorder.png +0 -0
- data/vendor/assets/images/tundra/circleIcon.gif +0 -0
- data/vendor/assets/images/tundra/circleIcon.png +0 -0
- data/vendor/assets/images/tundra/comboArrowDown.gif +0 -0
- data/vendor/assets/images/tundra/dijitProgressBarAnim.gif +0 -0
- data/vendor/assets/images/tundra/dijitProgressBarAnim.psd +0 -0
- data/vendor/assets/images/tundra/dndCopy.png +0 -0
- data/vendor/assets/images/tundra/dndMove.png +0 -0
- data/vendor/assets/images/tundra/dndNoCopy.png +0 -0
- data/vendor/assets/images/tundra/dndNoMove.png +0 -0
- data/vendor/assets/images/tundra/dojoTundraGradientBg.gif +0 -0
- data/vendor/assets/images/tundra/dojoTundraGradientBg.png +0 -0
- data/vendor/assets/images/tundra/doubleArrowDown.png +0 -0
- data/vendor/assets/images/tundra/doubleArrowUp.png +0 -0
- data/vendor/assets/images/tundra/folderClosed.gif +0 -0
- data/vendor/assets/images/tundra/folderOpened.gif +0 -0
- data/vendor/assets/images/tundra/i.gif +0 -0
- data/vendor/assets/images/tundra/i_half.gif +0 -0
- data/vendor/assets/images/tundra/i_half_rtl.gif +0 -0
- data/vendor/assets/images/tundra/i_rtl.gif +0 -0
- data/vendor/assets/images/tundra/leaf.gif +0 -0
- data/vendor/assets/images/tundra/loading.gif +0 -0
- data/vendor/assets/images/tundra/menu.png +0 -0
- data/vendor/assets/images/tundra/minusButton.gif +0 -0
- data/vendor/assets/images/tundra/no.gif +0 -0
- data/vendor/assets/images/tundra/noX.gif +0 -0
- data/vendor/assets/images/tundra/plusButton.gif +0 -0
- data/vendor/assets/images/tundra/popupMenuBg.gif +0 -0
- data/vendor/assets/images/tundra/preciseSliderThumb.gif +0 -0
- data/vendor/assets/images/tundra/preciseSliderThumb.png +0 -0
- data/vendor/assets/images/tundra/preciseSliderThumbFocus.gif +0 -0
- data/vendor/assets/images/tundra/preciseSliderThumbFocus.png +0 -0
- data/vendor/assets/images/tundra/progressBarAnim-1.png +0 -0
- data/vendor/assets/images/tundra/progressBarAnim-2.png +0 -0
- data/vendor/assets/images/tundra/progressBarAnim-3.png +0 -0
- data/vendor/assets/images/tundra/progressBarAnim-4.png +0 -0
- data/vendor/assets/images/tundra/progressBarAnim-5.png +0 -0
- data/vendor/assets/images/tundra/progressBarAnim-6.png +0 -0
- data/vendor/assets/images/tundra/progressBarAnim-7.png +0 -0
- data/vendor/assets/images/tundra/progressBarAnim-8.png +0 -0
- data/vendor/assets/images/tundra/progressBarAnim-9.png +0 -0
- data/vendor/assets/images/tundra/progressBarAnim.gif +0 -0
- data/vendor/assets/images/tundra/progressBarAnim.psd +0 -0
- data/vendor/assets/images/tundra/progressBarEmpty.png +0 -0
- data/vendor/assets/images/tundra/progressBarFull.png +0 -0
- data/vendor/assets/images/tundra/radioButtonActive.png +0 -0
- data/vendor/assets/images/tundra/radioButtonActiveDisabled.png +0 -0
- data/vendor/assets/images/tundra/radioButtonActiveHover.png +0 -0
- data/vendor/assets/images/tundra/radioButtonDisabled.png +0 -0
- data/vendor/assets/images/tundra/radioButtonEnabled.png +0 -0
- data/vendor/assets/images/tundra/radioButtonHover.png +0 -0
- data/vendor/assets/images/tundra/sliderEmpty.png +0 -0
- data/vendor/assets/images/tundra/sliderEmptyVertical.png +0 -0
- data/vendor/assets/images/tundra/sliderFull.png +0 -0
- data/vendor/assets/images/tundra/sliderFullFocus.png +0 -0
- data/vendor/assets/images/tundra/sliderFullVertical.png +0 -0
- data/vendor/assets/images/tundra/sliderFullVerticalFocus.png +0 -0
- data/vendor/assets/images/tundra/sliderThumb.png +0 -0
- data/vendor/assets/images/tundra/sliderThumbFocus.gif +0 -0
- data/vendor/assets/images/tundra/sliderThumbFocus.png +0 -0
- data/vendor/assets/images/tundra/smallArrowDown.png +0 -0
- data/vendor/assets/images/tundra/smallArrowUp.png +0 -0
- data/vendor/assets/images/tundra/splitContainerSizerH-thumb.png +0 -0
- data/vendor/assets/images/tundra/splitContainerSizerH.png +0 -0
- data/vendor/assets/images/tundra/splitContainerSizerV-thumb.png +0 -0
- data/vendor/assets/images/tundra/splitContainerSizerV.png +0 -0
- data/vendor/assets/images/tundra/spriteArrows.gif +0 -0
- data/vendor/assets/images/tundra/spriteArrows.png +0 -0
- data/vendor/assets/images/tundra/spriteRoundedIconsSmall.gif +0 -0
- data/vendor/assets/images/tundra/spriteRoundedIconsSmall.png +0 -0
- data/vendor/assets/images/tundra/tabActive.png +0 -0
- data/vendor/assets/images/tundra/tabClose.gif +0 -0
- data/vendor/assets/images/tundra/tabClose.png +0 -0
- data/vendor/assets/images/tundra/tabCloseHover.gif +0 -0
- data/vendor/assets/images/tundra/tabCloseHover.png +0 -0
- data/vendor/assets/images/tundra/tabDisabled.png +0 -0
- data/vendor/assets/images/tundra/tabEnabled.png +0 -0
- data/vendor/assets/images/tundra/tabHover.gif +0 -0
- data/vendor/assets/images/tundra/tabHover.png +0 -0
- data/vendor/assets/images/tundra/titleBar.png +0 -0
- data/vendor/assets/images/tundra/titleBarBg.gif +0 -0
- data/vendor/assets/images/tundra/tooltipConnectorDown.gif +0 -0
- data/vendor/assets/images/tundra/tooltipConnectorDown.png +0 -0
- data/vendor/assets/images/tundra/tooltipConnectorLeft.gif +0 -0
- data/vendor/assets/images/tundra/tooltipConnectorLeft.png +0 -0
- data/vendor/assets/images/tundra/tooltipConnectorRight.gif +0 -0
- data/vendor/assets/images/tundra/tooltipConnectorRight.png +0 -0
- data/vendor/assets/images/tundra/tooltipConnectorUp.gif +0 -0
- data/vendor/assets/images/tundra/tooltipConnectorUp.png +0 -0
- data/vendor/assets/images/tundra/treeExpand_leaf.gif +0 -0
- data/vendor/assets/images/tundra/treeExpand_leaf_rtl.gif +0 -0
- data/vendor/assets/images/tundra/treeExpand_loading.gif +0 -0
- data/vendor/assets/images/tundra/treeExpand_minus.gif +0 -0
- data/vendor/assets/images/tundra/treeExpand_minus_rtl.gif +0 -0
- data/vendor/assets/images/tundra/treeExpand_mius.gif +0 -0
- data/vendor/assets/images/tundra/treeExpand_plus.gif +0 -0
- data/vendor/assets/images/tundra/treeExpand_plus_rtl.gif +0 -0
- data/vendor/assets/images/tundra/treeHover.png +0 -0
- data/vendor/assets/images/tundra/validationInputBg.gif +0 -0
- data/vendor/assets/images/tundra/validationInputBg.png +0 -0
- data/vendor/assets/images/tundra/warning.png +0 -0
- data/vendor/assets/javascripts/dijit/BackgroundIframe.js +63 -0
- data/vendor/assets/javascripts/dijit/BackgroundIframe.js.uncompressed.js +110 -0
- data/vendor/assets/javascripts/dijit/Calendar.js +122 -0
- data/vendor/assets/javascripts/dijit/Calendar.js.uncompressed.js +312 -0
- data/vendor/assets/javascripts/dijit/CalendarLite.js +193 -0
- data/vendor/assets/javascripts/dijit/CalendarLite.js.uncompressed.js +500 -0
- data/vendor/assets/javascripts/dijit/CheckedMenuItem.js +16 -0
- data/vendor/assets/javascripts/dijit/CheckedMenuItem.js.uncompressed.js +53 -0
- data/vendor/assets/javascripts/dijit/ColorPalette.js +23 -0
- data/vendor/assets/javascripts/dijit/ColorPalette.js.uncompressed.js +161 -0
- data/vendor/assets/javascripts/dijit/Declaration.js +29 -0
- data/vendor/assets/javascripts/dijit/Declaration.js.uncompressed.js +105 -0
- data/vendor/assets/javascripts/dijit/Destroyable.js +18 -0
- data/vendor/assets/javascripts/dijit/Destroyable.js.uncompressed.js +59 -0
- data/vendor/assets/javascripts/dijit/Dialog.js +274 -0
- data/vendor/assets/javascripts/dijit/Dialog.js.uncompressed.js +640 -0
- data/vendor/assets/javascripts/dijit/DialogUnderlay.js +29 -0
- data/vendor/assets/javascripts/dijit/DialogUnderlay.js.uncompressed.js +102 -0
- data/vendor/assets/javascripts/dijit/DropDownMenu.js +32 -0
- data/vendor/assets/javascripts/dijit/DropDownMenu.js.uncompressed.js +58 -0
- data/vendor/assets/javascripts/dijit/Editor.js +462 -0
- data/vendor/assets/javascripts/dijit/Editor.js.uncompressed.js +864 -0
- data/vendor/assets/javascripts/dijit/InlineEditBox.js +248 -0
- data/vendor/assets/javascripts/dijit/InlineEditBox.js.uncompressed.js +656 -0
- data/vendor/assets/javascripts/dijit/LICENSE +195 -0
- data/vendor/assets/javascripts/dijit/Menu.js +133 -0
- data/vendor/assets/javascripts/dijit/Menu.js.uncompressed.js +348 -0
- data/vendor/assets/javascripts/dijit/MenuBar.js +35 -0
- data/vendor/assets/javascripts/dijit/MenuBar.js.uncompressed.js +92 -0
- data/vendor/assets/javascripts/dijit/MenuBarItem.js +8 -0
- data/vendor/assets/javascripts/dijit/MenuBarItem.js.uncompressed.js +28 -0
- data/vendor/assets/javascripts/dijit/MenuItem.js +60 -0
- data/vendor/assets/javascripts/dijit/MenuItem.js.uncompressed.js +187 -0
- data/vendor/assets/javascripts/dijit/MenuSeparator.js +10 -0
- data/vendor/assets/javascripts/dijit/MenuSeparator.js.uncompressed.js +35 -0
- data/vendor/assets/javascripts/dijit/PopupMenuBarItem.js +5 -0
- data/vendor/assets/javascripts/dijit/PopupMenuBarItem.js.uncompressed.js +16 -0
- data/vendor/assets/javascripts/dijit/PopupMenuItem.js +34 -0
- data/vendor/assets/javascripts/dijit/PopupMenuItem.js.uncompressed.js +73 -0
- data/vendor/assets/javascripts/dijit/ProgressBar.js +55 -0
- data/vendor/assets/javascripts/dijit/ProgressBar.js.uncompressed.js +171 -0
- data/vendor/assets/javascripts/dijit/TitlePane.js +95 -0
- data/vendor/assets/javascripts/dijit/TitlePane.js.uncompressed.js +266 -0
- data/vendor/assets/javascripts/dijit/Toolbar.js +13 -0
- data/vendor/assets/javascripts/dijit/Toolbar.js.uncompressed.js +43 -0
- data/vendor/assets/javascripts/dijit/ToolbarSeparator.js +9 -0
- data/vendor/assets/javascripts/dijit/ToolbarSeparator.js.uncompressed.js +31 -0
- data/vendor/assets/javascripts/dijit/Tooltip.js +208 -0
- data/vendor/assets/javascripts/dijit/Tooltip.js.uncompressed.js +542 -0
- data/vendor/assets/javascripts/dijit/TooltipDialog.js +60 -0
- data/vendor/assets/javascripts/dijit/TooltipDialog.js.uncompressed.js +174 -0
- data/vendor/assets/javascripts/dijit/Tree.js +791 -0
- data/vendor/assets/javascripts/dijit/Tree.js.uncompressed.js +1909 -0
- data/vendor/assets/javascripts/dijit/Viewport.js +25 -0
- data/vendor/assets/javascripts/dijit/Viewport.js.uncompressed.js +50 -0
- data/vendor/assets/javascripts/dijit/WidgetSet.js +76 -0
- data/vendor/assets/javascripts/dijit/WidgetSet.js.uncompressed.js +247 -0
- data/vendor/assets/javascripts/dijit/_BidiSupport.js +29 -0
- data/vendor/assets/javascripts/dijit/_BidiSupport.js.uncompressed.js +113 -0
- data/vendor/assets/javascripts/dijit/_Calendar.js +5 -0
- data/vendor/assets/javascripts/dijit/_Calendar.js.uncompressed.js +22 -0
- data/vendor/assets/javascripts/dijit/_Contained.js +20 -0
- data/vendor/assets/javascripts/dijit/_Contained.js.uncompressed.js +60 -0
- data/vendor/assets/javascripts/dijit/_Container.js +39 -0
- data/vendor/assets/javascripts/dijit/_Container.js.uncompressed.js +94 -0
- data/vendor/assets/javascripts/dijit/_CssStateMixin.js +172 -0
- data/vendor/assets/javascripts/dijit/_CssStateMixin.js.uncompressed.js +320 -0
- data/vendor/assets/javascripts/dijit/_DialogMixin.js +14 -0
- data/vendor/assets/javascripts/dijit/_DialogMixin.js.uncompressed.js +70 -0
- data/vendor/assets/javascripts/dijit/_FocusMixin.js +11 -0
- data/vendor/assets/javascripts/dijit/_FocusMixin.js.uncompressed.js +66 -0
- data/vendor/assets/javascripts/dijit/_HasDropDown.js +222 -0
- data/vendor/assets/javascripts/dijit/_HasDropDown.js.uncompressed.js +508 -0
- data/vendor/assets/javascripts/dijit/_KeyNavContainer.js +95 -0
- data/vendor/assets/javascripts/dijit/_KeyNavContainer.js.uncompressed.js +257 -0
- data/vendor/assets/javascripts/dijit/_MenuBase.js +174 -0
- data/vendor/assets/javascripts/dijit/_MenuBase.js.uncompressed.js +418 -0
- data/vendor/assets/javascripts/dijit/_OnDijitClickMixin.js +8 -0
- data/vendor/assets/javascripts/dijit/_OnDijitClickMixin.js.uncompressed.js +50 -0
- data/vendor/assets/javascripts/dijit/_PaletteMixin.js +92 -0
- data/vendor/assets/javascripts/dijit/_PaletteMixin.js.uncompressed.js +340 -0
- data/vendor/assets/javascripts/dijit/_Templated.js +27 -0
- data/vendor/assets/javascripts/dijit/_Templated.js.uncompressed.js +64 -0
- data/vendor/assets/javascripts/dijit/_TemplatedMixin.js +140 -0
- data/vendor/assets/javascripts/dijit/_TemplatedMixin.js.uncompressed.js +308 -0
- data/vendor/assets/javascripts/dijit/_TimePicker.js +229 -0
- data/vendor/assets/javascripts/dijit/_TimePicker.js.uncompressed.js +519 -0
- data/vendor/assets/javascripts/dijit/_Widget.js +73 -0
- data/vendor/assets/javascripts/dijit/_Widget.js.uncompressed.js +362 -0
- data/vendor/assets/javascripts/dijit/_WidgetBase.js +338 -0
- data/vendor/assets/javascripts/dijit/_WidgetBase.js.uncompressed.js +1123 -0
- data/vendor/assets/javascripts/dijit/_WidgetsInTemplateMixin.js +22 -0
- data/vendor/assets/javascripts/dijit/_WidgetsInTemplateMixin.js.uncompressed.js +65 -0
- data/vendor/assets/javascripts/dijit/_base/focus.js +162 -0
- data/vendor/assets/javascripts/dijit/_base/focus.js.uncompressed.js +323 -0
- data/vendor/assets/javascripts/dijit/_base/manager.js +10 -0
- data/vendor/assets/javascripts/dijit/_base/manager.js.uncompressed.js +35 -0
- data/vendor/assets/javascripts/dijit/_base/place.js +52 -0
- data/vendor/assets/javascripts/dijit/_base/place.js.uncompressed.js +131 -0
- data/vendor/assets/javascripts/dijit/_base/popup.js +23 -0
- data/vendor/assets/javascripts/dijit/_base/popup.js.uncompressed.js +58 -0
- data/vendor/assets/javascripts/dijit/_base/scroll.js +6 -0
- data/vendor/assets/javascripts/dijit/_base/scroll.js.uncompressed.js +22 -0
- data/vendor/assets/javascripts/dijit/_base/sniff.js +3 -0
- data/vendor/assets/javascripts/dijit/_base/sniff.js.uncompressed.js +12 -0
- data/vendor/assets/javascripts/dijit/_base/typematic.js +3 -0
- data/vendor/assets/javascripts/dijit/_base/typematic.js.uncompressed.js +10 -0
- data/vendor/assets/javascripts/dijit/_base/wai.js +32 -0
- data/vendor/assets/javascripts/dijit/_base/wai.js.uncompressed.js +109 -0
- data/vendor/assets/javascripts/dijit/_base/window.js +6 -0
- data/vendor/assets/javascripts/dijit/_base/window.js.uncompressed.js +18 -0
- data/vendor/assets/javascripts/dijit/_base.js +4 -0
- data/vendor/assets/javascripts/dijit/_base.js.uncompressed.js +27 -0
- data/vendor/assets/javascripts/dijit/_editor/RichText.js +1666 -0
- data/vendor/assets/javascripts/dijit/_editor/RichText.js.uncompressed.js +2874 -0
- data/vendor/assets/javascripts/dijit/_editor/_Plugin.js +104 -0
- data/vendor/assets/javascripts/dijit/_editor/_Plugin.js.uncompressed.js +302 -0
- data/vendor/assets/javascripts/dijit/_editor/html.js +157 -0
- data/vendor/assets/javascripts/dijit/_editor/html.js.uncompressed.js +223 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/FontChoice.js.uncompressed.js +62 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/LinkDialog.js.uncompressed.js +48 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ar/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ar/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ar/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ar/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ar/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ar/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/az/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/az/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/az/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/az/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/az/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/az/commands.js.uncompressed.js +50 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ca/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ca/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ca/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ca/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ca/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ca/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/commands.js.uncompressed.js +85 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/cs/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/cs/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/cs/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/cs/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/cs/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/cs/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/da/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/da/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/da/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/da/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/da/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/da/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/de/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/de/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/de/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/de/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/de/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/de/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/el/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/el/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/el/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/el/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/el/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/el/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/es/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/es/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/es/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/es/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/es/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/es/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/fi/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/fi/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/fi/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/fi/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/fi/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/fi/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/fr/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/fr/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/fr/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/fr/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/fr/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/fr/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/he/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/he/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/he/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/he/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/he/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/he/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/hr/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/hr/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/hr/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/hr/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/hr/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/hr/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/hu/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/hu/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/hu/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/hu/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/hu/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/hu/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/it/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/it/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/it/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/it/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/it/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/it/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ja/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ja/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ja/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ja/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ja/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ja/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/kk/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/kk/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/kk/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/kk/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/kk/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/kk/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ko/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ko/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ko/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ko/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ko/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ko/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/nb/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/nb/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/nb/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/nb/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/nb/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/nb/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/nl/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/nl/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/nl/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/nl/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/nl/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/nl/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/pl/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/pl/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/pl/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/pl/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/pl/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/pl/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/pt/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/pt/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/pt/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/pt/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/pt/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/pt/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/pt-pt/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/pt-pt/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/pt-pt/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/pt-pt/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/pt-pt/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/pt-pt/commands.js.uncompressed.js +49 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ro/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ro/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ro/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ro/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ro/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ro/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ru/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ru/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ru/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ru/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ru/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/ru/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/sk/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/sk/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/sk/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/sk/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/sk/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/sk/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/sl/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/sl/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/sl/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/sl/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/sl/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/sl/commands.js.uncompressed.js +49 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/sv/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/sv/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/sv/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/sv/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/sv/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/sv/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/th/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/th/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/th/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/th/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/th/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/th/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/tr/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/tr/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/tr/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/tr/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/tr/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/tr/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/zh/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/zh/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/zh/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/zh/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/zh/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/zh/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/zh-tw/FontChoice.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/zh-tw/FontChoice.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/zh-tw/LinkDialog.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/zh-tw/LinkDialog.js.uncompressed.js +14 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/zh-tw/commands.js +2 -0
- data/vendor/assets/javascripts/dijit/_editor/nls/zh-tw/commands.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/_editor/plugins/AlwaysShowToolbar.js +110 -0
- data/vendor/assets/javascripts/dijit/_editor/plugins/AlwaysShowToolbar.js.uncompressed.js +191 -0
- data/vendor/assets/javascripts/dijit/_editor/plugins/EnterKeyHandling.js +428 -0
- data/vendor/assets/javascripts/dijit/_editor/plugins/EnterKeyHandling.js.uncompressed.js +622 -0
- data/vendor/assets/javascripts/dijit/_editor/plugins/FontChoice.js +252 -0
- data/vendor/assets/javascripts/dijit/_editor/plugins/FontChoice.js.uncompressed.js +583 -0
- data/vendor/assets/javascripts/dijit/_editor/plugins/FullScreen.js +216 -0
- data/vendor/assets/javascripts/dijit/_editor/plugins/FullScreen.js.uncompressed.js +450 -0
- data/vendor/assets/javascripts/dijit/_editor/plugins/LinkDialog.js +266 -0
- data/vendor/assets/javascripts/dijit/_editor/plugins/LinkDialog.js.uncompressed.js +607 -0
- data/vendor/assets/javascripts/dijit/_editor/plugins/NewPage.js +21 -0
- data/vendor/assets/javascripts/dijit/_editor/plugins/NewPage.js.uncompressed.js +77 -0
- data/vendor/assets/javascripts/dijit/_editor/plugins/Print.js +53 -0
- data/vendor/assets/javascripts/dijit/_editor/plugins/Print.js.uncompressed.js +123 -0
- data/vendor/assets/javascripts/dijit/_editor/plugins/TabIndent.js +23 -0
- data/vendor/assets/javascripts/dijit/_editor/plugins/TabIndent.js.uncompressed.js +60 -0
- data/vendor/assets/javascripts/dijit/_editor/plugins/TextColor.js +62 -0
- data/vendor/assets/javascripts/dijit/_editor/plugins/TextColor.js.uncompressed.js +114 -0
- data/vendor/assets/javascripts/dijit/_editor/plugins/ToggleDir.js +28 -0
- data/vendor/assets/javascripts/dijit/_editor/plugins/ToggleDir.js.uncompressed.js +69 -0
- data/vendor/assets/javascripts/dijit/_editor/plugins/ViewSource.js +294 -0
- data/vendor/assets/javascripts/dijit/_editor/plugins/ViewSource.js.uncompressed.js +577 -0
- data/vendor/assets/javascripts/dijit/_editor/range.js +453 -0
- data/vendor/assets/javascripts/dijit/_editor/range.js.uncompressed.js +559 -0
- data/vendor/assets/javascripts/dijit/_editor/selection.js +254 -0
- data/vendor/assets/javascripts/dijit/_editor/selection.js.uncompressed.js +383 -0
- data/vendor/assets/javascripts/dijit/_tree/dndSource.js +5 -0
- data/vendor/assets/javascripts/dijit/_tree/dndSource.js.uncompressed.js +15 -0
- data/vendor/assets/javascripts/dijit/a11y.js +107 -0
- data/vendor/assets/javascripts/dijit/a11y.js.uncompressed.js +177 -0
- data/vendor/assets/javascripts/dijit/a11yclick.js +65 -0
- data/vendor/assets/javascripts/dijit/a11yclick.js.uncompressed.js +131 -0
- data/vendor/assets/javascripts/dijit/dijit-all.js +15 -0
- data/vendor/assets/javascripts/dijit/dijit-all.js.uncompressed.js +33581 -0
- data/vendor/assets/javascripts/dijit/dijit.js +15 -0
- data/vendor/assets/javascripts/dijit/dijit.js.uncompressed.js +8131 -0
- data/vendor/assets/javascripts/dijit/dijit.profile.js +35 -0
- data/vendor/assets/javascripts/dijit/focus.js +202 -0
- data/vendor/assets/javascripts/dijit/focus.js.uncompressed.js +364 -0
- data/vendor/assets/javascripts/dijit/form/Button.js +41 -0
- data/vendor/assets/javascripts/dijit/form/Button.js.uncompressed.js +121 -0
- data/vendor/assets/javascripts/dijit/form/CheckBox.js +35 -0
- data/vendor/assets/javascripts/dijit/form/CheckBox.js.uncompressed.js +116 -0
- data/vendor/assets/javascripts/dijit/form/ComboBox.js +4 -0
- data/vendor/assets/javascripts/dijit/form/ComboBox.js.uncompressed.js +27 -0
- data/vendor/assets/javascripts/dijit/form/ComboBoxMixin.js +59 -0
- data/vendor/assets/javascripts/dijit/form/ComboBoxMixin.js.uncompressed.js +143 -0
- data/vendor/assets/javascripts/dijit/form/ComboButton.js +19 -0
- data/vendor/assets/javascripts/dijit/form/ComboButton.js.uncompressed.js +85 -0
- data/vendor/assets/javascripts/dijit/form/CurrencyTextBox.js +17 -0
- data/vendor/assets/javascripts/dijit/form/CurrencyTextBox.js.uncompressed.js +85 -0
- data/vendor/assets/javascripts/dijit/form/DataList.js +20 -0
- data/vendor/assets/javascripts/dijit/form/DataList.js.uncompressed.js +69 -0
- data/vendor/assets/javascripts/dijit/form/DateTextBox.js +4 -0
- data/vendor/assets/javascripts/dijit/form/DateTextBox.js.uncompressed.js +28 -0
- data/vendor/assets/javascripts/dijit/form/DropDownButton.js +36 -0
- data/vendor/assets/javascripts/dijit/form/DropDownButton.js.uncompressed.js +99 -0
- data/vendor/assets/javascripts/dijit/form/FilteringSelect.js +101 -0
- data/vendor/assets/javascripts/dijit/form/FilteringSelect.js.uncompressed.js +234 -0
- data/vendor/assets/javascripts/dijit/form/Form.js +45 -0
- data/vendor/assets/javascripts/dijit/form/Form.js.uncompressed.js +163 -0
- data/vendor/assets/javascripts/dijit/form/HorizontalRule.js +29 -0
- data/vendor/assets/javascripts/dijit/form/HorizontalRule.js.uncompressed.js +69 -0
- data/vendor/assets/javascripts/dijit/form/HorizontalRuleLabels.js +28 -0
- data/vendor/assets/javascripts/dijit/form/HorizontalRuleLabels.js.uncompressed.js +92 -0
- data/vendor/assets/javascripts/dijit/form/HorizontalSlider.js +200 -0
- data/vendor/assets/javascripts/dijit/form/HorizontalSlider.js.uncompressed.js +349 -0
- data/vendor/assets/javascripts/dijit/form/MappedTextBox.js +21 -0
- data/vendor/assets/javascripts/dijit/form/MappedTextBox.js.uncompressed.js +81 -0
- data/vendor/assets/javascripts/dijit/form/MultiSelect.js +56 -0
- data/vendor/assets/javascripts/dijit/form/MultiSelect.js.uncompressed.js +134 -0
- data/vendor/assets/javascripts/dijit/form/NumberSpinner.js +28 -0
- data/vendor/assets/javascripts/dijit/form/NumberSpinner.js.uncompressed.js +67 -0
- data/vendor/assets/javascripts/dijit/form/NumberTextBox.js +116 -0
- data/vendor/assets/javascripts/dijit/form/NumberTextBox.js.uncompressed.js +275 -0
- data/vendor/assets/javascripts/dijit/form/RadioButton.js +4 -0
- data/vendor/assets/javascripts/dijit/form/RadioButton.js.uncompressed.js +16 -0
- data/vendor/assets/javascripts/dijit/form/RangeBoundTextBox.js +58 -0
- data/vendor/assets/javascripts/dijit/form/RangeBoundTextBox.js.uncompressed.js +134 -0
- data/vendor/assets/javascripts/dijit/form/Select.js +192 -0
- data/vendor/assets/javascripts/dijit/form/Select.js.uncompressed.js +406 -0
- data/vendor/assets/javascripts/dijit/form/SimpleTextarea.js +46 -0
- data/vendor/assets/javascripts/dijit/form/SimpleTextarea.js.uncompressed.js +92 -0
- data/vendor/assets/javascripts/dijit/form/Slider.js +4 -0
- data/vendor/assets/javascripts/dijit/form/Slider.js.uncompressed.js +23 -0
- data/vendor/assets/javascripts/dijit/form/TextBox.js +97 -0
- data/vendor/assets/javascripts/dijit/form/TextBox.js.uncompressed.js +157 -0
- data/vendor/assets/javascripts/dijit/form/Textarea.js +7 -0
- data/vendor/assets/javascripts/dijit/form/Textarea.js.uncompressed.js +42 -0
- data/vendor/assets/javascripts/dijit/form/TimeTextBox.js +26 -0
- data/vendor/assets/javascripts/dijit/form/TimeTextBox.js.uncompressed.js +79 -0
- data/vendor/assets/javascripts/dijit/form/ToggleButton.js +7 -0
- data/vendor/assets/javascripts/dijit/form/ToggleButton.js.uncompressed.js +26 -0
- data/vendor/assets/javascripts/dijit/form/ValidationTextBox.js +143 -0
- data/vendor/assets/javascripts/dijit/form/ValidationTextBox.js.uncompressed.js +327 -0
- data/vendor/assets/javascripts/dijit/form/VerticalRule.js +4 -0
- data/vendor/assets/javascripts/dijit/form/VerticalRule.js.uncompressed.js +28 -0
- data/vendor/assets/javascripts/dijit/form/VerticalRuleLabels.js +6 -0
- data/vendor/assets/javascripts/dijit/form/VerticalRuleLabels.js.uncompressed.js +26 -0
- data/vendor/assets/javascripts/dijit/form/VerticalSlider.js +7 -0
- data/vendor/assets/javascripts/dijit/form/VerticalSlider.js.uncompressed.js +35 -0
- data/vendor/assets/javascripts/dijit/form/_AutoCompleterMixin.js +266 -0
- data/vendor/assets/javascripts/dijit/form/_AutoCompleterMixin.js.uncompressed.js +581 -0
- data/vendor/assets/javascripts/dijit/form/_ButtonMixin.js +32 -0
- data/vendor/assets/javascripts/dijit/form/_ButtonMixin.js.uncompressed.js +84 -0
- data/vendor/assets/javascripts/dijit/form/_CheckBoxMixin.js +24 -0
- data/vendor/assets/javascripts/dijit/form/_CheckBoxMixin.js.uncompressed.js +78 -0
- data/vendor/assets/javascripts/dijit/form/_ComboBoxMenu.js +64 -0
- data/vendor/assets/javascripts/dijit/form/_ComboBoxMenu.js.uncompressed.js +131 -0
- data/vendor/assets/javascripts/dijit/form/_ComboBoxMenuMixin.js +91 -0
- data/vendor/assets/javascripts/dijit/form/_ComboBoxMenuMixin.js.uncompressed.js +189 -0
- data/vendor/assets/javascripts/dijit/form/_DateTimeTextBox.js +98 -0
- data/vendor/assets/javascripts/dijit/form/_DateTimeTextBox.js.uncompressed.js +259 -0
- data/vendor/assets/javascripts/dijit/form/_ExpandingTextAreaMixin.js +89 -0
- data/vendor/assets/javascripts/dijit/form/_ExpandingTextAreaMixin.js.uncompressed.js +136 -0
- data/vendor/assets/javascripts/dijit/form/_FormMixin.js +165 -0
- data/vendor/assets/javascripts/dijit/form/_FormMixin.js.uncompressed.js +456 -0
- data/vendor/assets/javascripts/dijit/form/_FormSelectWidget.js +352 -0
- data/vendor/assets/javascripts/dijit/form/_FormSelectWidget.js.uncompressed.js +706 -0
- data/vendor/assets/javascripts/dijit/form/_FormValueMixin.js +36 -0
- data/vendor/assets/javascripts/dijit/form/_FormValueMixin.js.uncompressed.js +90 -0
- data/vendor/assets/javascripts/dijit/form/_FormValueWidget.js +24 -0
- data/vendor/assets/javascripts/dijit/form/_FormValueWidget.js.uncompressed.js +51 -0
- data/vendor/assets/javascripts/dijit/form/_FormWidget.js +22 -0
- data/vendor/assets/javascripts/dijit/form/_FormWidget.js.uncompressed.js +71 -0
- data/vendor/assets/javascripts/dijit/form/_FormWidgetMixin.js +100 -0
- data/vendor/assets/javascripts/dijit/form/_FormWidgetMixin.js.uncompressed.js +223 -0
- data/vendor/assets/javascripts/dijit/form/_ListBase.js +71 -0
- data/vendor/assets/javascripts/dijit/form/_ListBase.js.uncompressed.js +135 -0
- data/vendor/assets/javascripts/dijit/form/_ListMouseMixin.js +53 -0
- data/vendor/assets/javascripts/dijit/form/_ListMouseMixin.js.uncompressed.js +79 -0
- data/vendor/assets/javascripts/dijit/form/_RadioButtonMixin.js +42 -0
- data/vendor/assets/javascripts/dijit/form/_RadioButtonMixin.js.uncompressed.js +71 -0
- data/vendor/assets/javascripts/dijit/form/_SearchMixin.js +124 -0
- data/vendor/assets/javascripts/dijit/form/_SearchMixin.js.uncompressed.js +264 -0
- data/vendor/assets/javascripts/dijit/form/_Spinner.js +48 -0
- data/vendor/assets/javascripts/dijit/form/_Spinner.js.uncompressed.js +137 -0
- data/vendor/assets/javascripts/dijit/form/_TextBoxMixin.js +242 -0
- data/vendor/assets/javascripts/dijit/form/_TextBoxMixin.js.uncompressed.js +474 -0
- data/vendor/assets/javascripts/dijit/form/_ToggleButtonMixin.js +18 -0
- data/vendor/assets/javascripts/dijit/form/_ToggleButtonMixin.js.uncompressed.js +49 -0
- data/vendor/assets/javascripts/dijit/form/nls/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/ComboBox.js.uncompressed.js +40 -0
- data/vendor/assets/javascripts/dijit/form/nls/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/Textarea.js.uncompressed.js +43 -0
- data/vendor/assets/javascripts/dijit/form/nls/ar/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/ar/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/ar/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/ar/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/ar/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/ar/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/az/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/az/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/az/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/az/Textarea.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/az/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/az/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/ca/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/ca/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/ca/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/ca/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/ca/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/ca/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/cs/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/cs/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/cs/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/cs/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/cs/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/cs/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/da/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/da/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/da/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/da/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/da/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/da/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/de/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/de/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/de/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/de/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/de/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/de/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/el/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/el/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/el/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/el/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/el/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/el/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/es/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/es/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/es/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/es/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/es/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/es/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/fi/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/fi/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/fi/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/fi/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/fi/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/fi/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/fr/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/fr/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/fr/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/fr/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/fr/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/fr/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/he/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/he/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/he/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/he/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/he/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/he/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/hr/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/hr/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/hr/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/hr/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/hr/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/hr/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/hu/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/hu/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/hu/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/hu/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/hu/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/hu/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/it/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/it/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/it/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/it/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/it/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/it/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/ja/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/ja/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/ja/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/ja/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/ja/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/ja/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/kk/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/kk/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/kk/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/kk/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/kk/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/kk/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/ko/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/ko/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/ko/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/ko/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/ko/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/ko/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/nb/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/nb/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/nb/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/nb/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/nb/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/nb/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/nl/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/nl/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/nl/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/nl/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/nl/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/nl/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/pl/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/pl/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/pl/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/pl/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/pl/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/pl/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/pt/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/pt/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/pt/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/pt/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/pt/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/pt/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/pt-pt/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/pt-pt/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/pt-pt/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/pt-pt/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/pt-pt/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/pt-pt/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/ro/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/ro/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/ro/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/ro/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/ro/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/ro/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/ru/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/ru/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/ru/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/ru/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/ru/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/ru/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/sk/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/sk/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/sk/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/sk/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/sk/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/sk/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/sl/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/sl/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/sl/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/sl/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/sl/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/sl/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/sv/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/sv/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/sv/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/sv/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/sv/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/sv/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/th/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/th/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/th/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/th/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/th/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/th/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/tr/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/tr/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/tr/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/tr/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/tr/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/tr/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/validate.js.uncompressed.js +41 -0
- data/vendor/assets/javascripts/dijit/form/nls/zh/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/zh/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/zh/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/zh/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/zh/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/zh/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/form/nls/zh-tw/ComboBox.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/zh-tw/ComboBox.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/form/nls/zh-tw/Textarea.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/zh-tw/Textarea.js.uncompressed.js +9 -0
- data/vendor/assets/javascripts/dijit/form/nls/zh-tw/validate.js +2 -0
- data/vendor/assets/javascripts/dijit/form/nls/zh-tw/validate.js.uncompressed.js +7 -0
- data/vendor/assets/javascripts/dijit/hccss.js +9 -0
- data/vendor/assets/javascripts/dijit/hccss.js.uncompressed.js +23 -0
- data/vendor/assets/javascripts/dijit/icons/commonIcons.css +151 -0
- data/vendor/assets/javascripts/dijit/icons/commonIcons_rtl.css +114 -0
- data/vendor/assets/javascripts/dijit/icons/editorIcons.css +57 -0
- data/vendor/assets/javascripts/dijit/icons/editorIcons_rtl.css +10 -0
- data/vendor/assets/javascripts/dijit/icons/images/commonIconsObjActDisabled.png +0 -0
- data/vendor/assets/javascripts/dijit/icons/images/commonIconsObjActDisabled_rtl.png +0 -0
- data/vendor/assets/javascripts/dijit/icons/images/commonIconsObjActEnabled.png +0 -0
- data/vendor/assets/javascripts/dijit/icons/images/commonIconsObjActEnabled8bit.png +0 -0
- data/vendor/assets/javascripts/dijit/icons/images/commonIconsObjActEnabled8bit_rtl.png +0 -0
- data/vendor/assets/javascripts/dijit/icons/images/commonIconsObjActEnabled_rtl.png +0 -0
- data/vendor/assets/javascripts/dijit/icons/images/editorIconsDisabled.png +0 -0
- data/vendor/assets/javascripts/dijit/icons/images/editorIconsDisabled_rtl.png +0 -0
- data/vendor/assets/javascripts/dijit/icons/images/editorIconsEnabled.png +0 -0
- data/vendor/assets/javascripts/dijit/icons/images/editorIconsEnabled_rtl.png +0 -0
- data/vendor/assets/javascripts/dijit/icons/images/loadingAnimation_rtl.gif +0 -0
- data/vendor/assets/javascripts/dijit/layout/AccordionContainer.js +214 -0
- data/vendor/assets/javascripts/dijit/layout/AccordionContainer.js.uncompressed.js +540 -0
- data/vendor/assets/javascripts/dijit/layout/AccordionPane.js +7 -0
- data/vendor/assets/javascripts/dijit/layout/AccordionPane.js.uncompressed.js +25 -0
- data/vendor/assets/javascripts/dijit/layout/BorderContainer.js +224 -0
- data/vendor/assets/javascripts/dijit/layout/BorderContainer.js.uncompressed.js +547 -0
- data/vendor/assets/javascripts/dijit/layout/ContentPane.js +233 -0
- data/vendor/assets/javascripts/dijit/layout/ContentPane.js.uncompressed.js +645 -0
- data/vendor/assets/javascripts/dijit/layout/LayoutContainer.js +21 -0
- data/vendor/assets/javascripts/dijit/layout/LayoutContainer.js.uncompressed.js +91 -0
- data/vendor/assets/javascripts/dijit/layout/LinkPane.js +10 -0
- data/vendor/assets/javascripts/dijit/layout/LinkPane.js.uncompressed.js +44 -0
- data/vendor/assets/javascripts/dijit/layout/ScrollingTabController.js +184 -0
- data/vendor/assets/javascripts/dijit/layout/ScrollingTabController.js.uncompressed.js +500 -0
- data/vendor/assets/javascripts/dijit/layout/SplitContainer.js +317 -0
- data/vendor/assets/javascripts/dijit/layout/SplitContainer.js.uncompressed.js +584 -0
- data/vendor/assets/javascripts/dijit/layout/StackContainer.js +156 -0
- data/vendor/assets/javascripts/dijit/layout/StackContainer.js.uncompressed.js +374 -0
- data/vendor/assets/javascripts/dijit/layout/StackController.js +200 -0
- data/vendor/assets/javascripts/dijit/layout/StackController.js.uncompressed.js +389 -0
- data/vendor/assets/javascripts/dijit/layout/TabContainer.js +12 -0
- data/vendor/assets/javascripts/dijit/layout/TabContainer.js.uncompressed.js +77 -0
- data/vendor/assets/javascripts/dijit/layout/TabController.js +53 -0
- data/vendor/assets/javascripts/dijit/layout/TabController.js.uncompressed.js +171 -0
- data/vendor/assets/javascripts/dijit/layout/_ContentPaneResizeMixin.js +97 -0
- data/vendor/assets/javascripts/dijit/layout/_ContentPaneResizeMixin.js.uncompressed.js +234 -0
- data/vendor/assets/javascripts/dijit/layout/_LayoutWidget.js +47 -0
- data/vendor/assets/javascripts/dijit/layout/_LayoutWidget.js.uncompressed.js +185 -0
- data/vendor/assets/javascripts/dijit/layout/_TabContainerBase.js +63 -0
- data/vendor/assets/javascripts/dijit/layout/_TabContainerBase.js.uncompressed.js +146 -0
- data/vendor/assets/javascripts/dijit/layout/utils.js +72 -0
- data/vendor/assets/javascripts/dijit/layout/utils.js.uncompressed.js +145 -0
- data/vendor/assets/javascripts/dijit/main.js +4 -0
- data/vendor/assets/javascripts/dijit/main.js.uncompressed.js +16 -0
- data/vendor/assets/javascripts/dijit/nls/ar/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/ar/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/ar/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/ar/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/az/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/az/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/az/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/az/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/ca/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/ca/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/ca/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/ca/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/common.js.uncompressed.js +42 -0
- data/vendor/assets/javascripts/dijit/nls/cs/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/cs/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/cs/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/cs/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/da/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/da/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/da/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/da/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/de/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/de/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/de/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/de/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_ROOT.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_ROOT.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_ar.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_ar.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_ca.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_ca.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_cs.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_cs.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_da.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_da.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_de.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_de.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_el.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_el.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_en-gb.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_en-gb.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_en-us.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_en-us.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_es-es.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_es-es.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_fi-fi.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_fi-fi.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_fr-fr.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_fr-fr.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_he-il.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_he-il.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_hu.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_hu.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_it-it.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_it-it.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_ja-jp.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_ja-jp.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_ko-kr.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_ko-kr.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_nb.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_nb.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_nl-nl.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_nl-nl.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_pl.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_pl.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_pt-br.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_pt-br.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_pt-pt.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_pt-pt.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_ru.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_ru.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_sk.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_sk.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_sl.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_sl.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_sv.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_sv.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_th.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_th.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_tr.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_tr.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_zh-cn.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_zh-cn.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_zh-tw.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/dijit-all_zh-tw.js.uncompressed.js +21 -0
- data/vendor/assets/javascripts/dijit/nls/el/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/el/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/el/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/el/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/es/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/es/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/es/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/es/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/fi/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/fi/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/fi/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/fi/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/fr/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/fr/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/fr/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/fr/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/he/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/he/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/he/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/he/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/hr/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/hr/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/hr/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/hr/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/hu/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/hu/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/hu/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/hu/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/it/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/it/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/it/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/it/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/ja/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/ja/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/ja/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/ja/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/kk/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/kk/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/kk/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/kk/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/ko/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/ko/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/ko/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/ko/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/loading.js.uncompressed.js +40 -0
- data/vendor/assets/javascripts/dijit/nls/nb/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/nb/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/nb/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/nb/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/nl/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/nl/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/nl/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/nl/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/pl/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/pl/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/pl/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/pl/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/pt/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/pt/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/pt/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/pt/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/pt-pt/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/pt-pt/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/pt-pt/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/pt-pt/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/ro/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/ro/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/ro/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/ro/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/ru/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/ru/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/ru/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/ru/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/sk/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/sk/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/sk/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/sk/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/sl/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/sl/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/sl/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/sl/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/sv/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/sv/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/sv/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/sv/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/th/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/th/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/th/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/th/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/tr/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/tr/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/tr/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/tr/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/zh/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/zh/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/zh/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/zh/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/nls/zh-tw/common.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/zh-tw/common.js.uncompressed.js +8 -0
- data/vendor/assets/javascripts/dijit/nls/zh-tw/loading.js +2 -0
- data/vendor/assets/javascripts/dijit/nls/zh-tw/loading.js.uncompressed.js +6 -0
- data/vendor/assets/javascripts/dijit/package.json +26 -0
- data/vendor/assets/javascripts/dijit/place.js +126 -0
- data/vendor/assets/javascripts/dijit/place.js.uncompressed.js +367 -0
- data/vendor/assets/javascripts/dijit/popup.js +101 -0
- data/vendor/assets/javascripts/dijit/popup.js.uncompressed.js +318 -0
- data/vendor/assets/javascripts/dijit/registry.js +79 -0
- data/vendor/assets/javascripts/dijit/registry.js.uncompressed.js +161 -0
- data/vendor/assets/javascripts/dijit/tree/ForestStoreModel.js +77 -0
- data/vendor/assets/javascripts/dijit/tree/ForestStoreModel.js.uncompressed.js +279 -0
- data/vendor/assets/javascripts/dijit/tree/ObjectStoreModel.js +68 -0
- data/vendor/assets/javascripts/dijit/tree/ObjectStoreModel.js.uncompressed.js +252 -0
- data/vendor/assets/javascripts/dijit/tree/TreeStoreModel.js +146 -0
- data/vendor/assets/javascripts/dijit/tree/TreeStoreModel.js.uncompressed.js +379 -0
- data/vendor/assets/javascripts/dijit/tree/_dndContainer.js +35 -0
- data/vendor/assets/javascripts/dijit/tree/_dndContainer.js.uncompressed.js +165 -0
- data/vendor/assets/javascripts/dijit/tree/_dndSelector.js +186 -0
- data/vendor/assets/javascripts/dijit/tree/_dndSelector.js.uncompressed.js +352 -0
- data/vendor/assets/javascripts/dijit/tree/dndSource.js +256 -0
- data/vendor/assets/javascripts/dijit/tree/dndSource.js.uncompressed.js +564 -0
- data/vendor/assets/javascripts/dijit/tree/model.js +16 -0
- data/vendor/assets/javascripts/dijit/tree/model.js.uncompressed.js +150 -0
- data/vendor/assets/javascripts/dijit/typematic.js +103 -0
- data/vendor/assets/javascripts/dijit/typematic.js.uncompressed.js +201 -0
- data/vendor/assets/javascripts/dojo/AdapterRegistry.js +106 -0
- data/vendor/assets/javascripts/dojo/Deferred.js +320 -0
- data/vendor/assets/javascripts/dojo/DeferredList.js +84 -0
- data/vendor/assets/javascripts/dojo/Evented.js +35 -0
- data/vendor/assets/javascripts/dojo/LICENSE +195 -0
- data/vendor/assets/javascripts/dojo/NodeList-data.js +198 -0
- data/vendor/assets/javascripts/dojo/NodeList-dom.js +509 -0
- data/vendor/assets/javascripts/dojo/NodeList-fx.js +221 -0
- data/vendor/assets/javascripts/dojo/NodeList-html.js +53 -0
- data/vendor/assets/javascripts/dojo/NodeList-manipulate.js +724 -0
- data/vendor/assets/javascripts/dojo/NodeList-traverse.js +503 -0
- data/vendor/assets/javascripts/dojo/NodeList.js +6 -0
- data/vendor/assets/javascripts/dojo/OpenAjax.js +192 -0
- data/vendor/assets/javascripts/dojo/Stateful.js +213 -0
- data/vendor/assets/javascripts/dojo/_base/Color.js +214 -0
- data/vendor/assets/javascripts/dojo/_base/Deferred.js +349 -0
- data/vendor/assets/javascripts/dojo/_base/NodeList.js +110 -0
- data/vendor/assets/javascripts/dojo/_base/array.js +343 -0
- data/vendor/assets/javascripts/dojo/_base/browser.js +28 -0
- data/vendor/assets/javascripts/dojo/_base/config.js +187 -0
- data/vendor/assets/javascripts/dojo/_base/configFirefoxExtension.js +336 -0
- data/vendor/assets/javascripts/dojo/_base/configNode.js +87 -0
- data/vendor/assets/javascripts/dojo/_base/configRhino.js +121 -0
- data/vendor/assets/javascripts/dojo/_base/configSpidermonkey.js +80 -0
- data/vendor/assets/javascripts/dojo/_base/connect.js +374 -0
- data/vendor/assets/javascripts/dojo/_base/declare.js +1045 -0
- data/vendor/assets/javascripts/dojo/_base/event.js +59 -0
- data/vendor/assets/javascripts/dojo/_base/fx.js +670 -0
- data/vendor/assets/javascripts/dojo/_base/html.js +392 -0
- data/vendor/assets/javascripts/dojo/_base/json.js +91 -0
- data/vendor/assets/javascripts/dojo/_base/kernel.js +299 -0
- data/vendor/assets/javascripts/dojo/_base/lang.js +605 -0
- data/vendor/assets/javascripts/dojo/_base/loader.js +776 -0
- data/vendor/assets/javascripts/dojo/_base/query.js +13 -0
- data/vendor/assets/javascripts/dojo/_base/sniff.js +96 -0
- data/vendor/assets/javascripts/dojo/_base/unload.js +82 -0
- data/vendor/assets/javascripts/dojo/_base/url.js +109 -0
- data/vendor/assets/javascripts/dojo/_base/window.js +134 -0
- data/vendor/assets/javascripts/dojo/_base/xhr.js +710 -0
- data/vendor/assets/javascripts/dojo/_firebug/LICENSE +37 -0
- data/vendor/assets/javascripts/dojo/_firebug/errorIcon.png +0 -0
- data/vendor/assets/javascripts/dojo/_firebug/firebug.css +211 -0
- data/vendor/assets/javascripts/dojo/_firebug/firebug.js +1191 -0
- data/vendor/assets/javascripts/dojo/_firebug/infoIcon.png +0 -0
- data/vendor/assets/javascripts/dojo/_firebug/tab_lft_norm.png +0 -0
- data/vendor/assets/javascripts/dojo/_firebug/tab_lft_over.png +0 -0
- data/vendor/assets/javascripts/dojo/_firebug/tab_rgt_norm.png +0 -0
- data/vendor/assets/javascripts/dojo/_firebug/tab_rgt_over.png +0 -0
- data/vendor/assets/javascripts/dojo/_firebug/warningIcon.png +0 -0
- data/vendor/assets/javascripts/dojo/aspect.js +216 -0
- data/vendor/assets/javascripts/dojo/back.js +397 -0
- data/vendor/assets/javascripts/dojo/behavior.js +249 -0
- data/vendor/assets/javascripts/dojo/cache.js +7 -0
- data/vendor/assets/javascripts/dojo/cldr/LICENSE +29 -0
- data/vendor/assets/javascripts/dojo/cldr/README +18 -0
- data/vendor/assets/javascripts/dojo/cldr/monetary.js +40 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ar/buddhist.js +201 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ar/currency.js +23 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ar/gregorian.js +280 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ar/hebrew.js +180 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ar/islamic.js +217 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ar/number.js +22 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/buddhist.js +287 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ca/buddhist.js +231 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ca/currency.js +23 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ca/gregorian.js +281 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ca/number.js +22 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/cs/buddhist.js +186 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/cs/currency.js +23 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/cs/gregorian.js +279 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/cs/islamic.js +115 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/cs/number.js +22 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/currency.js +50 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/da/buddhist.js +226 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/da/currency.js +23 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/da/gregorian.js +284 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/da/islamic.js +146 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/da/number.js +22 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/de/buddhist.js +212 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/de/currency.js +23 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/de/gregorian.js +290 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/de/islamic.js +134 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/de/number.js +22 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/el/buddhist.js +212 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/el/currency.js +16 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/el/gregorian.js +287 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/el/hebrew.js +136 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/el/number.js +21 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/en/buddhist.js +123 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/en/currency.js +17 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/en/gregorian.js +265 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/en/islamic.js +92 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/en/number.js +22 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/en-au/currency.js +8 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/en-au/gregorian.js +24 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/en-au/number.js +7 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/en-ca/currency.js +8 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/en-ca/gregorian.js +10 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/en-gb/buddhist.js +119 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/en-gb/currency.js +18 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/en-gb/gregorian.js +54 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/en-gb/islamic.js +79 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/en-gb/number.js +8 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/es/buddhist.js +176 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/es/currency.js +16 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/es/gregorian.js +283 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/es/islamic.js +126 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/es/number.js +22 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/fi/buddhist.js +232 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/fi/currency.js +23 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/fi/gregorian.js +287 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/fi/hebrew.js +229 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/fi/islamic.js +209 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/fi/number.js +22 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/fr/buddhist.js +230 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/fr/currency.js +23 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/fr/gregorian.js +294 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/fr/hebrew.js +181 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/fr/islamic.js +238 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/fr/number.js +22 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/fr-ch/gregorian.js +9 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/fr-ch/number.js +9 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/gregorian.js +314 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/he/currency.js +15 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/he/gregorian.js +282 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/he/hebrew.js +202 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/he/islamic.js +179 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/he/number.js +22 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/hebrew.js +289 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/hu/buddhist.js +224 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/hu/currency.js +23 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/hu/gregorian.js +276 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/hu/hebrew.js +203 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/hu/islamic.js +214 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/hu/number.js +22 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/islamic.js +287 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/it/buddhist.js +213 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/it/currency.js +17 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/it/gregorian.js +281 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/it/islamic.js +125 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/it/number.js +22 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ja/buddhist.js +132 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ja/currency.js +23 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ja/gregorian.js +269 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ja/hebrew.js +195 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ja/islamic.js +183 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ja/number.js +22 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ko/buddhist.js +145 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ko/currency.js +16 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ko/gregorian.js +283 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ko/number.js +22 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/nb/buddhist.js +224 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/nb/currency.js +17 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/nb/gregorian.js +283 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/nb/islamic.js +151 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/nb/number.js +22 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/nl/buddhist.js +218 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/nl/currency.js +22 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/nl/gregorian.js +284 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/nl/hebrew.js +180 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/nl/islamic.js +220 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/nl/number.js +22 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/number.js +63 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/pl/buddhist.js +227 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/pl/currency.js +16 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/pl/gregorian.js +287 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/pl/hebrew.js +193 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/pl/islamic.js +222 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/pl/number.js +22 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/pt/buddhist.js +221 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/pt/currency.js +23 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/pt/gregorian.js +291 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/pt/hebrew.js +184 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/pt/islamic.js +150 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/pt/number.js +22 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/pt-pt/buddhist.js +216 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/pt-pt/currency.js +8 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/pt-pt/gregorian.js +194 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/pt-pt/islamic.js +133 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/pt-pt/number.js +11 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ro/buddhist.js +225 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ro/currency.js +16 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ro/gregorian.js +281 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ro/hebrew.js +199 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ro/islamic.js +135 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ro/number.js +22 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ru/buddhist.js +233 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ru/currency.js +17 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ru/gregorian.js +282 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ru/hebrew.js +199 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ru/islamic.js +227 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/ru/number.js +22 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/sk/currency.js +23 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/sk/gregorian.js +281 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/sk/number.js +22 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/sl/currency.js +17 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/sl/gregorian.js +271 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/sl/number.js +22 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/sv/buddhist.js +233 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/sv/currency.js +23 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/sv/gregorian.js +287 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/sv/hebrew.js +188 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/sv/islamic.js +210 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/sv/number.js +24 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/th/buddhist.js +236 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/th/currency.js +23 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/th/gregorian.js +282 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/th/hebrew.js +202 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/th/islamic.js +236 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/th/number.js +22 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/tr/buddhist.js +235 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/tr/currency.js +23 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/tr/gregorian.js +282 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/tr/hebrew.js +193 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/tr/islamic.js +227 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/tr/number.js +22 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/zh/buddhist.js +213 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/zh/currency.js +23 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/zh/gregorian.js +297 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/zh/hebrew.js +209 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/zh/islamic.js +241 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/zh/number.js +22 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/zh-hant/buddhist.js +212 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/zh-hant/currency.js +23 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/zh-hant/gregorian.js +265 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/zh-hant/hebrew.js +211 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/zh-hant/islamic.js +243 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/zh-hant/number.js +22 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/zh-hk/currency.js +16 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/zh-hk/gregorian.js +99 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/zh-hk/number.js +9 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/zh-tw/currency.js +16 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/zh-tw/gregorian.js +99 -0
- data/vendor/assets/javascripts/dojo/cldr/nls/zh-tw/number.js +9 -0
- data/vendor/assets/javascripts/dojo/cldr/supplemental.js +84 -0
- data/vendor/assets/javascripts/dojo/colors.js +232 -0
- data/vendor/assets/javascripts/dojo/cookie.js +98 -0
- data/vendor/assets/javascripts/dojo/currency.js +130 -0
- data/vendor/assets/javascripts/dojo/data/ItemFileReadStore.js +951 -0
- data/vendor/assets/javascripts/dojo/data/ItemFileWriteStore.js +816 -0
- data/vendor/assets/javascripts/dojo/data/ObjectStore.js +544 -0
- data/vendor/assets/javascripts/dojo/data/api/Identity.js +109 -0
- data/vendor/assets/javascripts/dojo/data/api/Item.js +13 -0
- data/vendor/assets/javascripts/dojo/data/api/Notification.js +110 -0
- data/vendor/assets/javascripts/dojo/data/api/Read.js +486 -0
- data/vendor/assets/javascripts/dojo/data/api/Request.js +33 -0
- data/vendor/assets/javascripts/dojo/data/api/Write.js +206 -0
- data/vendor/assets/javascripts/dojo/data/util/filter.js +77 -0
- data/vendor/assets/javascripts/dojo/data/util/simpleFetch.js +240 -0
- data/vendor/assets/javascripts/dojo/data/util/sorter.js +99 -0
- data/vendor/assets/javascripts/dojo/date/locale.js +694 -0
- data/vendor/assets/javascripts/dojo/date/stamp.js +144 -0
- data/vendor/assets/javascripts/dojo/date.js +346 -0
- data/vendor/assets/javascripts/dojo/dnd/AutoSource.js +12 -0
- data/vendor/assets/javascripts/dojo/dnd/Avatar.js +122 -0
- data/vendor/assets/javascripts/dojo/dnd/Container.js +456 -0
- data/vendor/assets/javascripts/dojo/dnd/Manager.js +223 -0
- data/vendor/assets/javascripts/dojo/dnd/Moveable.js +185 -0
- data/vendor/assets/javascripts/dojo/dnd/Mover.js +124 -0
- data/vendor/assets/javascripts/dojo/dnd/Selector.js +331 -0
- data/vendor/assets/javascripts/dojo/dnd/Source.js +506 -0
- data/vendor/assets/javascripts/dojo/dnd/Target.js +13 -0
- data/vendor/assets/javascripts/dojo/dnd/TimedMoveable.js +64 -0
- data/vendor/assets/javascripts/dojo/dnd/autoscroll.js +149 -0
- data/vendor/assets/javascripts/dojo/dnd/common.js +42 -0
- data/vendor/assets/javascripts/dojo/dnd/move.js +147 -0
- data/vendor/assets/javascripts/dojo/dojo.js +1968 -0
- data/vendor/assets/javascripts/dojo/dojo.profile.js +40 -0
- data/vendor/assets/javascripts/dojo/dom-attr.js +220 -0
- data/vendor/assets/javascripts/dojo/dom-class.js +326 -0
- data/vendor/assets/javascripts/dojo/dom-construct.js +329 -0
- data/vendor/assets/javascripts/dojo/dom-form.js +149 -0
- data/vendor/assets/javascripts/dojo/dom-geometry.js +605 -0
- data/vendor/assets/javascripts/dojo/dom-prop.js +181 -0
- data/vendor/assets/javascripts/dojo/dom-style.js +306 -0
- data/vendor/assets/javascripts/dojo/dom.js +185 -0
- data/vendor/assets/javascripts/dojo/domReady.js +97 -0
- data/vendor/assets/javascripts/dojo/errors/CancelError.js +13 -0
- data/vendor/assets/javascripts/dojo/errors/RequestError.js +15 -0
- data/vendor/assets/javascripts/dojo/errors/RequestTimeoutError.js +15 -0
- data/vendor/assets/javascripts/dojo/errors/create.js +41 -0
- data/vendor/assets/javascripts/dojo/fx/Toggler.js +101 -0
- data/vendor/assets/javascripts/dojo/fx/easing.js +276 -0
- data/vendor/assets/javascripts/dojo/fx.js +419 -0
- data/vendor/assets/javascripts/dojo/gears.js +65 -0
- data/vendor/assets/javascripts/dojo/has.js +173 -0
- data/vendor/assets/javascripts/dojo/hash.js +256 -0
- data/vendor/assets/javascripts/dojo/hccss.js +54 -0
- data/vendor/assets/javascripts/dojo/html.js +374 -0
- data/vendor/assets/javascripts/dojo/i18n.js +550 -0
- data/vendor/assets/javascripts/dojo/io/iframe.js +190 -0
- data/vendor/assets/javascripts/dojo/io/script.js +249 -0
- data/vendor/assets/javascripts/dojo/io-query.js +97 -0
- data/vendor/assets/javascripts/dojo/jaxer.js +17 -0
- data/vendor/assets/javascripts/dojo/json.js +162 -0
- data/vendor/assets/javascripts/dojo/keys.js +77 -0
- data/vendor/assets/javascripts/dojo/loadInit.js +7 -0
- data/vendor/assets/javascripts/dojo/main.js +52 -0
- data/vendor/assets/javascripts/dojo/mouse.js +171 -0
- data/vendor/assets/javascripts/dojo/nls/ar/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/az/colors.js +151 -0
- data/vendor/assets/javascripts/dojo/nls/ca/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/colors.js +191 -0
- data/vendor/assets/javascripts/dojo/nls/cs/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/da/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/de/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/el/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/es/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/fi/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/fr/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/he/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/hr/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/hu/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/it/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/ja/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/kk/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/ko/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/nb/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/nl/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/pl/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/pt/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/pt-pt/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/ro/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/ru/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/sk/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/sl/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/sv/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/th/colors.js +157 -0
- data/vendor/assets/javascripts/dojo/nls/tr/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/zh/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/nls/zh-tw/colors.js +156 -0
- data/vendor/assets/javascripts/dojo/node.js +27 -0
- data/vendor/assets/javascripts/dojo/number.js +553 -0
- data/vendor/assets/javascripts/dojo/on.js +514 -0
- data/vendor/assets/javascripts/dojo/package.json +23 -0
- data/vendor/assets/javascripts/dojo/parser.js +865 -0
- data/vendor/assets/javascripts/dojo/promise/Promise.js +133 -0
- data/vendor/assets/javascripts/dojo/promise/all.js +76 -0
- data/vendor/assets/javascripts/dojo/promise/first.js +49 -0
- data/vendor/assets/javascripts/dojo/promise/instrumentation.js +105 -0
- data/vendor/assets/javascripts/dojo/promise/tracer.js +85 -0
- data/vendor/assets/javascripts/dojo/query.js +705 -0
- data/vendor/assets/javascripts/dojo/ready.js +136 -0
- data/vendor/assets/javascripts/dojo/regexp.js +70 -0
- data/vendor/assets/javascripts/dojo/request/default.js +32 -0
- data/vendor/assets/javascripts/dojo/request/handlers.js +62 -0
- data/vendor/assets/javascripts/dojo/request/iframe.js +430 -0
- data/vendor/assets/javascripts/dojo/request/node.js +191 -0
- data/vendor/assets/javascripts/dojo/request/notify.js +74 -0
- data/vendor/assets/javascripts/dojo/request/registry.js +85 -0
- data/vendor/assets/javascripts/dojo/request/script.js +218 -0
- data/vendor/assets/javascripts/dojo/request/util.js +145 -0
- data/vendor/assets/javascripts/dojo/request/watch.js +109 -0
- data/vendor/assets/javascripts/dojo/request/xhr.js +316 -0
- data/vendor/assets/javascripts/dojo/request.js +81 -0
- data/vendor/assets/javascripts/dojo/require.js +7 -0
- data/vendor/assets/javascripts/dojo/resources/LICENSE +30 -0
- data/vendor/assets/javascripts/dojo/resources/blank.gif +0 -0
- data/vendor/assets/javascripts/dojo/resources/blank.html +1 -0
- data/vendor/assets/javascripts/dojo/resources/dnd.css +16 -0
- data/vendor/assets/javascripts/dojo/resources/dojo.css +196 -0
- data/vendor/assets/javascripts/dojo/resources/iframe_history.html +44 -0
- data/vendor/assets/javascripts/dojo/resources/images/dndCopy.png +0 -0
- data/vendor/assets/javascripts/dojo/resources/images/dndMove.png +0 -0
- data/vendor/assets/javascripts/dojo/resources/images/dndNoCopy.png +0 -0
- data/vendor/assets/javascripts/dojo/resources/images/dndNoMove.png +0 -0
- data/vendor/assets/javascripts/dojo/robot.js +170 -0
- data/vendor/assets/javascripts/dojo/robotx.js +195 -0
- data/vendor/assets/javascripts/dojo/router/RouterBase.js +350 -0
- data/vendor/assets/javascripts/dojo/router.js +28 -0
- data/vendor/assets/javascripts/dojo/rpc/JsonService.js +87 -0
- data/vendor/assets/javascripts/dojo/rpc/JsonpService.js +66 -0
- data/vendor/assets/javascripts/dojo/rpc/RpcService.js +178 -0
- data/vendor/assets/javascripts/dojo/selector/_loader.js +47 -0
- data/vendor/assets/javascripts/dojo/selector/acme.js +1493 -0
- data/vendor/assets/javascripts/dojo/selector/lite.js +283 -0
- data/vendor/assets/javascripts/dojo/sniff.js +70 -0
- data/vendor/assets/javascripts/dojo/store/Cache.js +146 -0
- data/vendor/assets/javascripts/dojo/store/DataStore.js +202 -0
- data/vendor/assets/javascripts/dojo/store/JsonRest.js +189 -0
- data/vendor/assets/javascripts/dojo/store/Memory.js +164 -0
- data/vendor/assets/javascripts/dojo/store/Observable.js +187 -0
- data/vendor/assets/javascripts/dojo/store/README +6 -0
- data/vendor/assets/javascripts/dojo/store/api/Store.js +287 -0
- data/vendor/assets/javascripts/dojo/store/util/QueryResults.js +63 -0
- data/vendor/assets/javascripts/dojo/store/util/SimpleQueryEngine.js +110 -0
- data/vendor/assets/javascripts/dojo/string.js +162 -0
- data/vendor/assets/javascripts/dojo/tests/AdapterRegistry.js +72 -0
- data/vendor/assets/javascripts/dojo/tests/Deferred.js +477 -0
- data/vendor/assets/javascripts/dojo/tests/DeferredList.js +193 -0
- data/vendor/assets/javascripts/dojo/tests/NodeList-data.html +202 -0
- data/vendor/assets/javascripts/dojo/tests/NodeList-data.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/NodeList-fx.html +166 -0
- data/vendor/assets/javascripts/dojo/tests/NodeList-manipulate.html +369 -0
- data/vendor/assets/javascripts/dojo/tests/NodeList-manipulate.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/NodeList-traverse.html +160 -0
- data/vendor/assets/javascripts/dojo/tests/NodeList-traverse.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/Stateful.js +221 -0
- data/vendor/assets/javascripts/dojo/tests/TODO +10 -0
- data/vendor/assets/javascripts/dojo/tests/_base/Color.js +30 -0
- data/vendor/assets/javascripts/dojo/tests/_base/Deferred.js +305 -0
- data/vendor/assets/javascripts/dojo/tests/_base/NodeList.html +715 -0
- data/vendor/assets/javascripts/dojo/tests/_base/abs.html +102 -0
- data/vendor/assets/javascripts/dojo/tests/_base/absQuirk.html +101 -0
- data/vendor/assets/javascripts/dojo/tests/_base/absQuirksIframe.html +10 -0
- data/vendor/assets/javascripts/dojo/tests/_base/absStrictIframe.html +10 -0
- data/vendor/assets/javascripts/dojo/tests/_base/array.js +303 -0
- data/vendor/assets/javascripts/dojo/tests/_base/connect.js +246 -0
- data/vendor/assets/javascripts/dojo/tests/_base/connectKey.html +27 -0
- data/vendor/assets/javascripts/dojo/tests/_base/connectLeaks.html +93 -0
- data/vendor/assets/javascripts/dojo/tests/_base/declare.js +471 -0
- data/vendor/assets/javascripts/dojo/tests/_base/eventKeyPress.html +84 -0
- data/vendor/assets/javascripts/dojo/tests/_base/eventKeyPressRobot.html +167 -0
- data/vendor/assets/javascripts/dojo/tests/_base/eventMouse.html +114 -0
- data/vendor/assets/javascripts/dojo/tests/_base/eventMouseRobot.html +160 -0
- data/vendor/assets/javascripts/dojo/tests/_base/fx.html +559 -0
- data/vendor/assets/javascripts/dojo/tests/_base/fx.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/_base/fx_delay.html +22 -0
- data/vendor/assets/javascripts/dojo/tests/_base/html.html +870 -0
- data/vendor/assets/javascripts/dojo/tests/_base/html.js +14 -0
- data/vendor/assets/javascripts/dojo/tests/_base/html_box.html +204 -0
- data/vendor/assets/javascripts/dojo/tests/_base/html_box_quirks.html +202 -0
- data/vendor/assets/javascripts/dojo/tests/_base/html_docScroll.html +101 -0
- data/vendor/assets/javascripts/dojo/tests/_base/html_element.html +305 -0
- data/vendor/assets/javascripts/dojo/tests/_base/html_id.html +92 -0
- data/vendor/assets/javascripts/dojo/tests/_base/html_isBodyLtr.html +50 -0
- data/vendor/assets/javascripts/dojo/tests/_base/html_quirks.html +328 -0
- data/vendor/assets/javascripts/dojo/tests/_base/html_rtl.html +158 -0
- data/vendor/assets/javascripts/dojo/tests/_base/i18nExhaustive.js +107 -0
- data/vendor/assets/javascripts/dojo/tests/_base/json.js +60 -0
- data/vendor/assets/javascripts/dojo/tests/_base/lang.js +279 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/14808/App.js +10 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/14808/Module.js +9 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/14808.html +24 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/8976.html +35 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/a.js +3 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/addLoadEvents.html +45 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/afterOnLoad.html +79 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/amdModule.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/amdModule1.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/amdModule2.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/amdModuleDep.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/amdModuleDep1.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/amdModuleDep2.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/asyncWithDojoRequire.html +103 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/boot-sniffConfig.html +33 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/boot-userConfig.html +23 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/bootstrap.js +157 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/cdnTest.html +74 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/cdnTest.js +39 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/config/someModule.js +11 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/config/someModuleConfiggedPriorToBoot.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/config/test.html +122 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/config-has.html +59 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/config-sniff-djConfig.html +50 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/config-sniff.html +48 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/config.html +156 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/configApi.html +93 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/coolio/calendar-amd.js +7 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/coolio/calendar.js +6 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/coolio/calendar1.js +6 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/coolio/coolio-built.html +64 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/coolio/coolio-dev-async-with-packageMap.html +70 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/coolio/coolio-dev-async.html +73 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/coolio/coolio-dev-legacy-async-with-packageMap.html +83 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/coolio/coolio-dev-legacy-async.html +86 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/coolio/coolio-dev-legacy.html +46 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/coolio/coolio.profile.js +58 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/coolio/test.html +58 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/core.js +18 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/debugConsole.html +47 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/declareStepsOnProvide.html +24 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/declareStepsOnProvide.js +14 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/declareStepsOnProvideAmd.js +3 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/fastbackTest.html +34 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/getText.txt +1 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/hostenv_rhino.js +13 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/hostenv_spidermonkey.js +11 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build/legacyModule.js +50 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build/nls/ab/legacyBundle.js +1 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build/nls/ab-cd-ef/legacyBundle.js +1 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build/nls/legacyBundle.js +1 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers/legacyModule.js +60 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers/nls/ab/legacyBundle.js +1 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers/nls/ab-cd-ef/legacyBundle.js +1 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers/nls/legacyBundle.js +1 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers/nls/legacyModule_ROOT.js +1 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers/nls/legacyModule_en-us.js +1 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers/nls/legacyModule_en.js +1 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers-and-preloads/legacyModule.js +60 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers-and-preloads/nls/ab/legacyBundle.js +1 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers-and-preloads/nls/ab-cd-ef/legacyBundle.js +1 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers-and-preloads/nls/legacyBundle.js +1 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers-and-preloads/nls/legacyModule_ROOT.js +1 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers-and-preloads/nls/legacyModule_ab-cd-ef.js +1 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers-and-preloads/nls/legacyModule_ab-cd.js +1 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers-and-preloads/nls/legacyModule_ab.js +1 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers-and-preloads/nls/legacyModule_xx.js +1 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/amdModule.js +41 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/build-test-targets.sh +7 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/i18n-test-with-layers-and-preloads.profile.js +37 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/i18n-test-with-layers.profile.js +35 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/i18n-test.profile.js +30 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/legacyModule.js +75 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/nls/ab/amdBundle.js +4 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/nls/ab/legacyBundle.js +4 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/nls/ab-cd-ef/amdBundle.js +4 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/nls/ab-cd-ef/legacyBundle.js +4 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/nls/amdBundle.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/nls/legacyBundle.js +4 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/unit.html +94 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/test-instructions.md +64 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/moduleIds.js +210 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/modulePaths.html +37 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/modules/anon.js +6 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/modules/data.js +4 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/modules/factoryArity.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/modules/factoryArityExports.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/modules/full.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/modules/idFactoryArity.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/modules/idFactoryArityExports.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/modules/impliedDep1.js +3 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/modules/impliedDep2.js +3 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/modules/impliedDep3.js +3 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/modules/impliedDep4.js +3 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/modules/wrapped.js +15 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/modules.js +43 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/myTopLevelModule/myModule.js +2 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/myTopLevelModule.js +3 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/nls/ab/amdBundle.js +3 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/nls/ab/syncBundle.js +3 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/nls/ab-cd-ef/amdBundle.js +3 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/nls/ab-cd-ef/syncBundle.js +3 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/nls/amdBundle.js +7 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/nls/syncBundle.js +3 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/onerror.html +151 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/package.html +11 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/paths.html +52 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/pub1.js +3 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/pub2.js +3 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/publishRequireResult.html +34 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/ready.html +32 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/require/m1.js +13 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/require/m2.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/require/test-require-plugin.html +33 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/bar +5 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/circular-tests.js +29 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/circular.html +13 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/config.html +41 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/dataMain.html +12 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/dataMain.js +16 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/depoverlap.html +14 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/depoverlap.js +34 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/dimple.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/dos.js +13 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/exports/assign.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/exports/assign2.js +4 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/exports/exports-tests.js +24 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/exports/exports.html +18 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/exports/funcSet.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/exports/implicitModule.js +7 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/exports/simpleReturn.js +10 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/exports/usethis.js +3 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/exports/vanilla.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/foo +5 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/func.js +7 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/funcFour.js +14 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/funcOne.js +15 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/funcThree.js +14 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/funcTwo.js +15 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/i18n/common.html +53 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/i18n/commonA.js +3 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/i18n/commonB.js +3 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/i18n/i18n.html +62 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/i18n/i18n.js +4 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/i18n/nls/colors.js +9 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/i18n/nls/en-us-surfer/colors.js +3 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/i18n/nls/fr/colors.js +4 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/i18n/testModule.js +4 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/layers/allplugins-text.html +33 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/layers/build.sh +1 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/layers/epsilon.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/layers/helloWorld.txt +1 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/layers/layer1.js +31 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/layers/layers.html +67 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/map.js +7 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/one.js +13 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/paths/first.js/first.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/paths/first.js/second.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/paths/paths.html +59 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/relative/foo/bar/message.txt +1 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/relative/foo/bar/one.js +10 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/relative/foo/bar/two.js +3 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/relative/foo/three.js +3 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/relative/relative-tests.js +23 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/relative/relative.html +22 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/requirejs-setup.js +32 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/simple-badbase.html +55 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/simple-nohead.html +24 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/simple-tests.js +23 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/simple.html +35 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/simple.js +7 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/text/local.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/text/resources/local.html +1 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/text/resources/sample.html +8 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/text/subwidget.html +8 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/text/subwidget.js +10 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/text/subwidget2.html +1 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/text/text.html +58 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/text/textOnly.html +42 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/text/widget.html +1 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/text/widget.js +11 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/tres.js +7 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/two.js +12 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/uniques/one.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/uniques/three.js +3 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/uniques/two.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/uniques/uniques.html +43 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/uno.js +14 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/urlfetch/one.js +3 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/urlfetch/three.js +10 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/urlfetch/two.js +10 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/urlfetch/urlfetch.html +69 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/scope04.html +80 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/stripStrict.html +23 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/syncFromAsyncModule.js +4 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/syncFromAsyncModuleDep.js +2 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/syncModule.js +9 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/syncModule1.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/syncModule2.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/syncModuleDep.js +4 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/syncModuleDep1.js +4 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/syncModuleDep2.js +4 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/traceApi.html +21 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/xdomain/local1-browser-skip.js +1 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/xdomain/local1-browser.js +4 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/xdomain/local1-dep.js +4 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/xdomain/local1-runtimeDependent1.js +4 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/xdomain/local1.js +82 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/xdomain/local2.js +13 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/xdomain/local3.js +10 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader/xdomain/xdomain.html +290 -0
- data/vendor/assets/javascripts/dojo/tests/_base/loader.js +146 -0
- data/vendor/assets/javascripts/dojo/tests/_base/object.js +42 -0
- data/vendor/assets/javascripts/dojo/tests/_base/query.html +368 -0
- data/vendor/assets/javascripts/dojo/tests/_base/query.js +6 -0
- data/vendor/assets/javascripts/dojo/tests/_base/queryPortability.html +24 -0
- data/vendor/assets/javascripts/dojo/tests/_base/runTests.html +9 -0
- data/vendor/assets/javascripts/dojo/tests/_base/scrollingIframe.js +103 -0
- data/vendor/assets/javascripts/dojo/tests/_base/scrollingQuirksIframe.html +6 -0
- data/vendor/assets/javascripts/dojo/tests/_base/scrollingStrictIframe.html +6 -0
- data/vendor/assets/javascripts/dojo/tests/_base/sniff.html +36 -0
- data/vendor/assets/javascripts/dojo/tests/_base/timeout.php +7 -0
- data/vendor/assets/javascripts/dojo/tests/_base/window.html +106 -0
- data/vendor/assets/javascripts/dojo/tests/_base/window.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/_base/window_iframe_quirks.html +11 -0
- data/vendor/assets/javascripts/dojo/tests/_base/window_iframe_standards.html +15 -0
- data/vendor/assets/javascripts/dojo/tests/_base/xhr.html +520 -0
- data/vendor/assets/javascripts/dojo/tests/_base/xhr.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/_base/xhr.xml +2 -0
- data/vendor/assets/javascripts/dojo/tests/_base/xhrDummyMethod.php +7 -0
- data/vendor/assets/javascripts/dojo/tests/_base/xhtml.php +29 -0
- data/vendor/assets/javascripts/dojo/tests/_base.js +23 -0
- data/vendor/assets/javascripts/dojo/tests/aspect.js +141 -0
- data/vendor/assets/javascripts/dojo/tests/back-hash.js +25 -0
- data/vendor/assets/javascripts/dojo/tests/back.html +110 -0
- data/vendor/assets/javascripts/dojo/tests/back.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/baseonly.js +1 -0
- data/vendor/assets/javascripts/dojo/tests/behavior.html +117 -0
- data/vendor/assets/javascripts/dojo/tests/behavior.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/cache/object.html +11 -0
- data/vendor/assets/javascripts/dojo/tests/cache/regular.html +1 -0
- data/vendor/assets/javascripts/dojo/tests/cache/sanitized.html +11 -0
- data/vendor/assets/javascripts/dojo/tests/cache.js +29 -0
- data/vendor/assets/javascripts/dojo/tests/cldr.js +11 -0
- data/vendor/assets/javascripts/dojo/tests/colors.js +42 -0
- data/vendor/assets/javascripts/dojo/tests/cookie.html +78 -0
- data/vendor/assets/javascripts/dojo/tests/cookie.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/currency.js +67 -0
- data/vendor/assets/javascripts/dojo/tests/data/ItemFileReadStore.js +7 -0
- data/vendor/assets/javascripts/dojo/tests/data/ItemFileWriteStore.js +1591 -0
- data/vendor/assets/javascripts/dojo/tests/data/ObjectStore.js +131 -0
- data/vendor/assets/javascripts/dojo/tests/data/countries.json +11 -0
- data/vendor/assets/javascripts/dojo/tests/data/countries_commentFiltered.json +12 -0
- data/vendor/assets/javascripts/dojo/tests/data/countries_idcollision.json +10 -0
- data/vendor/assets/javascripts/dojo/tests/data/countries_references.json +44 -0
- data/vendor/assets/javascripts/dojo/tests/data/countries_withBoolean.json +11 -0
- data/vendor/assets/javascripts/dojo/tests/data/countries_withDates.json +21 -0
- data/vendor/assets/javascripts/dojo/tests/data/countries_withNull.json +10 -0
- data/vendor/assets/javascripts/dojo/tests/data/countries_withoutid.json +10 -0
- data/vendor/assets/javascripts/dojo/tests/data/data_multitype.json +18 -0
- data/vendor/assets/javascripts/dojo/tests/data/geography_hierarchy_large.json +44 -0
- data/vendor/assets/javascripts/dojo/tests/data/geography_hierarchy_small.json +19 -0
- data/vendor/assets/javascripts/dojo/tests/data/readOnlyItemFileTestTemplates.js +3188 -0
- data/vendor/assets/javascripts/dojo/tests/data/reference_integrity.json +27 -0
- data/vendor/assets/javascripts/dojo/tests/data/runTests.html +9 -0
- data/vendor/assets/javascripts/dojo/tests/data/utils.js +199 -0
- data/vendor/assets/javascripts/dojo/tests/data.js +10 -0
- data/vendor/assets/javascripts/dojo/tests/date/locale.js +445 -0
- data/vendor/assets/javascripts/dojo/tests/date/stamp.js +98 -0
- data/vendor/assets/javascripts/dojo/tests/date.js +706 -0
- data/vendor/assets/javascripts/dojo/tests/dnd/dndDefault.css +81 -0
- data/vendor/assets/javascripts/dojo/tests/dnd/flickr_viewer.html +170 -0
- data/vendor/assets/javascripts/dojo/tests/dnd/robot/test_dnd.html +100 -0
- data/vendor/assets/javascripts/dojo/tests/dnd/test_autoscroll.html +202 -0
- data/vendor/assets/javascripts/dojo/tests/dnd/test_box_constraints.html +59 -0
- data/vendor/assets/javascripts/dojo/tests/dnd/test_container.html +76 -0
- data/vendor/assets/javascripts/dojo/tests/dnd/test_container_markup.html +69 -0
- data/vendor/assets/javascripts/dojo/tests/dnd/test_custom_constraints.html +53 -0
- data/vendor/assets/javascripts/dojo/tests/dnd/test_dnd.html +235 -0
- data/vendor/assets/javascripts/dojo/tests/dnd/test_dnd_handles.html +65 -0
- data/vendor/assets/javascripts/dojo/tests/dnd/test_form.html +92 -0
- data/vendor/assets/javascripts/dojo/tests/dnd/test_moveable.html +108 -0
- data/vendor/assets/javascripts/dojo/tests/dnd/test_moveable_markup.html +85 -0
- data/vendor/assets/javascripts/dojo/tests/dnd/test_params.html +63 -0
- data/vendor/assets/javascripts/dojo/tests/dnd/test_parent_constraints.html +55 -0
- data/vendor/assets/javascripts/dojo/tests/dnd/test_parent_constraints_margins.html +52 -0
- data/vendor/assets/javascripts/dojo/tests/dnd/test_selector.html +82 -0
- data/vendor/assets/javascripts/dojo/tests/dnd/test_selector_markup.html +73 -0
- data/vendor/assets/javascripts/dojo/tests/dnd/test_timed_moveable.html +114 -0
- data/vendor/assets/javascripts/dojo/tests/dom-style.html +42 -0
- data/vendor/assets/javascripts/dojo/tests/dom-style.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/errors.js +47 -0
- data/vendor/assets/javascripts/dojo/tests/fx.html +484 -0
- data/vendor/assets/javascripts/dojo/tests/fx.js +7 -0
- data/vendor/assets/javascripts/dojo/tests/hash.js +321 -0
- data/vendor/assets/javascripts/dojo/tests/html/test_set.html +558 -0
- data/vendor/assets/javascripts/dojo/tests/html.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/i18n.html +70 -0
- data/vendor/assets/javascripts/dojo/tests/i18n.js +55 -0
- data/vendor/assets/javascripts/dojo/tests/io/iframe.html +271 -0
- data/vendor/assets/javascripts/dojo/tests/io/iframe.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/io/iframeResponse.html +8 -0
- data/vendor/assets/javascripts/dojo/tests/io/iframeResponse.js.html +7 -0
- data/vendor/assets/javascripts/dojo/tests/io/iframeResponse.json.html +7 -0
- data/vendor/assets/javascripts/dojo/tests/io/iframeResponse.text.html +7 -0
- data/vendor/assets/javascripts/dojo/tests/io/iframeResponse.xml +17 -0
- data/vendor/assets/javascripts/dojo/tests/io/iframeUploadTest.html +50 -0
- data/vendor/assets/javascripts/dojo/tests/io/script.html +110 -0
- data/vendor/assets/javascripts/dojo/tests/io/script.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/io/scriptJsonp.js +57 -0
- data/vendor/assets/javascripts/dojo/tests/io/scriptLoad.js +2 -0
- data/vendor/assets/javascripts/dojo/tests/io/scriptSimple.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/io/scriptTimeout.html +67 -0
- data/vendor/assets/javascripts/dojo/tests/io/upload.cgi +62 -0
- data/vendor/assets/javascripts/dojo/tests/json.js +171 -0
- data/vendor/assets/javascripts/dojo/tests/module.js +44 -0
- data/vendor/assets/javascripts/dojo/tests/mouse.js +56 -0
- data/vendor/assets/javascripts/dojo/tests/nls/ar/salutations.js +12 -0
- data/vendor/assets/javascripts/dojo/tests/nls/cs/salutations.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/nls/de/salutations.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/nls/el/salutations.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/nls/en-au/salutations.js +7 -0
- data/vendor/assets/javascripts/dojo/tests/nls/en-us-hawaii/salutations.js +7 -0
- data/vendor/assets/javascripts/dojo/tests/nls/en-us-new_york-brooklyn/salutations.js +7 -0
- data/vendor/assets/javascripts/dojo/tests/nls/en-us-texas/salutations.js +7 -0
- data/vendor/assets/javascripts/dojo/tests/nls/es/salutations.js +9 -0
- data/vendor/assets/javascripts/dojo/tests/nls/fa/salutations.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/nls/fr/salutations.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/nls/he/salutations.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/nls/hi/salutations.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/nls/it/salutations.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/nls/ja/salutations.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/nls/ko/salutations.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/nls/pl/salutations.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/nls/pt/salutations.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/nls/ru/salutations.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/nls/salutations.js +62 -0
- data/vendor/assets/javascripts/dojo/tests/nls/sw/salutations.js +7 -0
- data/vendor/assets/javascripts/dojo/tests/nls/th/salutations.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/nls/tr/salutations.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/nls/yi/salutations.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/nls/zh-cn/salutations.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/nls/zh-tw/salutations.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/node.js +47 -0
- data/vendor/assets/javascripts/dojo/tests/number.js +1134 -0
- data/vendor/assets/javascripts/dojo/tests/on/bench.html +98 -0
- data/vendor/assets/javascripts/dojo/tests/on/on.js +266 -0
- data/vendor/assets/javascripts/dojo/tests/on.js +3 -0
- data/vendor/assets/javascripts/dojo/tests/parser/bench.html +311 -0
- data/vendor/assets/javascripts/dojo/tests/parser/parseOnLoadAutoRequire.html +43 -0
- data/vendor/assets/javascripts/dojo/tests/parser/parseOnLoadDeclarativeRequire.html +62 -0
- data/vendor/assets/javascripts/dojo/tests/parser/parser-args.html +59 -0
- data/vendor/assets/javascripts/dojo/tests/parser/parser.html +1131 -0
- data/vendor/assets/javascripts/dojo/tests/parser/runTests.html +10 -0
- data/vendor/assets/javascripts/dojo/tests/parser.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/promise/Promise.js +60 -0
- data/vendor/assets/javascripts/dojo/tests/promise/all.js +104 -0
- data/vendor/assets/javascripts/dojo/tests/promise/first.js +100 -0
- data/vendor/assets/javascripts/dojo/tests/promise/tracer.js +106 -0
- data/vendor/assets/javascripts/dojo/tests/promise.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/query/query.html +454 -0
- data/vendor/assets/javascripts/dojo/tests/query/queryQuirks.html +455 -0
- data/vendor/assets/javascripts/dojo/tests/query/runTests.html +9 -0
- data/vendor/assets/javascripts/dojo/tests/query/xml.xhtml +19 -0
- data/vendor/assets/javascripts/dojo/tests/query.js +27 -0
- data/vendor/assets/javascripts/dojo/tests/regexp.js +11 -0
- data/vendor/assets/javascripts/dojo/tests/request/handlers.js +87 -0
- data/vendor/assets/javascripts/dojo/tests/request/iframe.html +205 -0
- data/vendor/assets/javascripts/dojo/tests/request/iframeDummyMethod.php +109 -0
- data/vendor/assets/javascripts/dojo/tests/request/node.js +45 -0
- data/vendor/assets/javascripts/dojo/tests/request/notify.html +191 -0
- data/vendor/assets/javascripts/dojo/tests/request/registry.html +101 -0
- data/vendor/assets/javascripts/dojo/tests/request/script.html +92 -0
- data/vendor/assets/javascripts/dojo/tests/request/scriptDummyMethod.php +21 -0
- data/vendor/assets/javascripts/dojo/tests/request/xhr.html +279 -0
- data/vendor/assets/javascripts/dojo/tests/request/xhrDummyMethod.php +72 -0
- data/vendor/assets/javascripts/dojo/tests/request.js +14 -0
- data/vendor/assets/javascripts/dojo/tests/resources/AMDMixin.js +10 -0
- data/vendor/assets/javascripts/dojo/tests/resources/AMDWidget.js +9 -0
- data/vendor/assets/javascripts/dojo/tests/resources/AMDWidget2.js +14 -0
- data/vendor/assets/javascripts/dojo/tests/resources/AMDWidget3.js +9 -0
- data/vendor/assets/javascripts/dojo/tests/resources/ApplicationState.js +28 -0
- data/vendor/assets/javascripts/dojo/tests/resources/JSON.php +724 -0
- data/vendor/assets/javascripts/dojo/tests/resources/amdmodule.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/resources/nodemod/m.js +7 -0
- data/vendor/assets/javascripts/dojo/tests/resources/nodemod/package.json +4 -0
- data/vendor/assets/javascripts/dojo/tests/resources/nodemodule.js +7 -0
- data/vendor/assets/javascripts/dojo/tests/resources/noderequire.js +5 -0
- data/vendor/assets/javascripts/dojo/tests/resources/testClass.php +20 -0
- data/vendor/assets/javascripts/dojo/tests/resources/testClass.smd +39 -0
- data/vendor/assets/javascripts/dojo/tests/resources/test_JsonRPCMediator.php +43 -0
- data/vendor/assets/javascripts/dojo/tests/resources/test_css.html +100 -0
- data/vendor/assets/javascripts/dojo/tests/resources/yahoo_smd_v1.smd +268 -0
- data/vendor/assets/javascripts/dojo/tests/router.js +272 -0
- data/vendor/assets/javascripts/dojo/tests/rpc.js +140 -0
- data/vendor/assets/javascripts/dojo/tests/runTests.html +9 -0
- data/vendor/assets/javascripts/dojo/tests/smoke-dojo-sie.html +11 -0
- data/vendor/assets/javascripts/dojo/tests/sniff.html +35 -0
- data/vendor/assets/javascripts/dojo/tests/store/Cache.js +96 -0
- data/vendor/assets/javascripts/dojo/tests/store/DataStore.js +71 -0
- data/vendor/assets/javascripts/dojo/tests/store/JsonRest.js +102 -0
- data/vendor/assets/javascripts/dojo/tests/store/Memory.js +119 -0
- data/vendor/assets/javascripts/dojo/tests/store/Observable.js +154 -0
- data/vendor/assets/javascripts/dojo/tests/store/index.php +23 -0
- data/vendor/assets/javascripts/dojo/tests/store/node1.1 +4 -0
- data/vendor/assets/javascripts/dojo/tests/store/node1.2 +1 -0
- data/vendor/assets/javascripts/dojo/tests/store/runTests.html +9 -0
- data/vendor/assets/javascripts/dojo/tests/store/treeTestRoot +10 -0
- data/vendor/assets/javascripts/dojo/tests/store.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/string.js +92 -0
- data/vendor/assets/javascripts/dojo/tests/test_FirebugLite.html +101 -0
- data/vendor/assets/javascripts/dojo/tests/test_FirebugLitePopup.html +102 -0
- data/vendor/assets/javascripts/dojo/tests/test_dom_setSelectable.html +74 -0
- data/vendor/assets/javascripts/dojo/tests/test_fx.html +107 -0
- data/vendor/assets/javascripts/dojo/tests/test_touch.html +183 -0
- data/vendor/assets/javascripts/dojo/tests/touch.js +6 -0
- data/vendor/assets/javascripts/dojo/tests/uacss/sniffQuirks.html +62 -0
- data/vendor/assets/javascripts/dojo/tests/uacss/sniffStandards.html +61 -0
- data/vendor/assets/javascripts/dojo/tests/uacss.js +8 -0
- data/vendor/assets/javascripts/dojo/tests/when.js +95 -0
- data/vendor/assets/javascripts/dojo/tests/window/test_scroll.html +628 -0
- data/vendor/assets/javascripts/dojo/tests/window/test_scrollNoDTD.html +74 -0
- data/vendor/assets/javascripts/dojo/tests/window/test_scrollStrictDTD.html +76 -0
- data/vendor/assets/javascripts/dojo/tests/window/viewport.html +75 -0
- data/vendor/assets/javascripts/dojo/tests/window/viewportQuirks.html +5 -0
- data/vendor/assets/javascripts/dojo/tests/window.js +6 -0
- data/vendor/assets/javascripts/dojo/tests.js +13 -0
- data/vendor/assets/javascripts/dojo/text.js +214 -0
- data/vendor/assets/javascripts/dojo/topic.js +38 -0
- data/vendor/assets/javascripts/dojo/touch.js +209 -0
- data/vendor/assets/javascripts/dojo/uacss.js +77 -0
- data/vendor/assets/javascripts/dojo/when.js +55 -0
- data/vendor/assets/javascripts/dojo/window.js +168 -0
- data/vendor/assets/javascripts/dojo.js +1968 -0
- data/vendor/assets/stylesheets/claro/Calendar.css +230 -0
- data/vendor/assets/stylesheets/claro/Calendar_rtl.css +18 -0
- data/vendor/assets/stylesheets/claro/ColorPalette.css +17 -0
- data/vendor/assets/stylesheets/claro/Common.css +93 -0
- data/vendor/assets/stylesheets/claro/Dialog.css +170 -0
- data/vendor/assets/stylesheets/claro/Dialog_rtl.css +9 -0
- data/vendor/assets/stylesheets/claro/Editor.css +34 -0
- data/vendor/assets/stylesheets/claro/Editor_rtl.css +4 -0
- data/vendor/assets/stylesheets/claro/Editor_rtl.less +9 -0
- data/vendor/assets/stylesheets/claro/InlineEditBox.css +11 -0
- data/vendor/assets/stylesheets/claro/Menu.css +144 -0
- data/vendor/assets/stylesheets/claro/Menu_rtl.css +8 -0
- data/vendor/assets/stylesheets/claro/ProgressBar.css +40 -0
- data/vendor/assets/stylesheets/claro/README +11 -0
- data/vendor/assets/stylesheets/claro/TimePicker.css +104 -0
- data/vendor/assets/stylesheets/claro/TimePicker_rtl.css +9 -0
- data/vendor/assets/stylesheets/claro/TitlePane.css +61 -0
- data/vendor/assets/stylesheets/claro/TitlePane_rtl.css +4 -0
- data/vendor/assets/stylesheets/claro/Toolbar.css +167 -0
- data/vendor/assets/stylesheets/claro/Toolbar_rtl.css +26 -0
- data/vendor/assets/stylesheets/claro/Tree.css +107 -0
- data/vendor/assets/stylesheets/claro/claro.css +4838 -0
- data/vendor/assets/stylesheets/claro/claro_rtl.css +354 -0
- data/vendor/assets/stylesheets/claro/document.css +133 -0
- data/vendor/assets/stylesheets/claro/form/Button.css +133 -0
- data/vendor/assets/stylesheets/claro/form/Button_rtl.css +12 -0
- data/vendor/assets/stylesheets/claro/form/Checkbox.css +44 -0
- data/vendor/assets/stylesheets/claro/form/Common.css +181 -0
- data/vendor/assets/stylesheets/claro/form/Common_rtl.css +5 -0
- data/vendor/assets/stylesheets/claro/form/NumberSpinner.css +115 -0
- data/vendor/assets/stylesheets/claro/form/RadioButton.css +51 -0
- data/vendor/assets/stylesheets/claro/form/Select.css +72 -0
- data/vendor/assets/stylesheets/claro/form/Slider.css +266 -0
- data/vendor/assets/stylesheets/claro/form/Slider_rtl.css +24 -0
- data/vendor/assets/stylesheets/claro/layout/AccordionContainer.css +94 -0
- data/vendor/assets/stylesheets/claro/layout/AccordionContainer.less +109 -0
- data/vendor/assets/stylesheets/claro/layout/BorderContainer.css +70 -0
- data/vendor/assets/stylesheets/claro/layout/BorderContainer.less +124 -0
- data/vendor/assets/stylesheets/claro/layout/ContentPane.css +16 -0
- data/vendor/assets/stylesheets/claro/layout/ContentPane.less +43 -0
- data/vendor/assets/stylesheets/claro/layout/TabContainer.css +322 -0
- data/vendor/assets/stylesheets/claro/layout/TabContainer.less +366 -0
- data/vendor/assets/stylesheets/claro/layout/TabContainer_rtl.css +4 -0
- data/vendor/assets/stylesheets/claro/layout/TabContainer_rtl.less +7 -0
- data/vendor/assets/stylesheets/claro/layout/images/tabBottomSelected.png +0 -0
- data/vendor/assets/stylesheets/claro/layout/images/tabBottomSelected.svg +18 -0
- data/vendor/assets/stylesheets/claro/layout/images/tabBottomUnselected.png +0 -0
- data/vendor/assets/stylesheets/claro/layout/images/tabBottomUnselected.svg +19 -0
- data/vendor/assets/stylesheets/claro/layout/images/tabClose.png +0 -0
- data/vendor/assets/stylesheets/claro/layout/images/tabLeftSelected.png +0 -0
- data/vendor/assets/stylesheets/claro/layout/images/tabLeftSelected.svg +17 -0
- data/vendor/assets/stylesheets/claro/layout/images/tabLeftUnselected.png +0 -0
- data/vendor/assets/stylesheets/claro/layout/images/tabLeftUnselected.svg +16 -0
- data/vendor/assets/stylesheets/claro/layout/images/tabNested.png +0 -0
- data/vendor/assets/stylesheets/claro/layout/images/tabRightSelected.png +0 -0
- data/vendor/assets/stylesheets/claro/layout/images/tabRightSelected.svg +17 -0
- data/vendor/assets/stylesheets/claro/layout/images/tabRightUnselected.png +0 -0
- data/vendor/assets/stylesheets/claro/layout/images/tabRightUnselected.svg +16 -0
- data/vendor/assets/stylesheets/claro/layout/images/tabTopSelected.png +0 -0
- data/vendor/assets/stylesheets/claro/layout/images/tabTopSelected.svg +18 -0
- data/vendor/assets/stylesheets/claro/layout/images/tabTopUnselected.png +0 -0
- data/vendor/assets/stylesheets/claro/layout/images/tabTopUnselected.svg +19 -0
- data/vendor/assets/stylesheets/dijit.css +1758 -0
- data/vendor/assets/stylesheets/dijit_rtl.css +115 -0
- data/vendor/assets/stylesheets/nihilo/Calendar.css +135 -0
- data/vendor/assets/stylesheets/nihilo/Calendar_rtl.css +7 -0
- data/vendor/assets/stylesheets/nihilo/ColorPalette.css +5 -0
- data/vendor/assets/stylesheets/nihilo/Common.css +12 -0
- data/vendor/assets/stylesheets/nihilo/Dialog.css +123 -0
- data/vendor/assets/stylesheets/nihilo/Dialog_rtl.css +5 -0
- data/vendor/assets/stylesheets/nihilo/Editor.css +13 -0
- data/vendor/assets/stylesheets/nihilo/Editor_rtl.css +7 -0
- data/vendor/assets/stylesheets/nihilo/Menu.css +63 -0
- data/vendor/assets/stylesheets/nihilo/Menu_rtl.css +8 -0
- data/vendor/assets/stylesheets/nihilo/ProgressBar.css +24 -0
- data/vendor/assets/stylesheets/nihilo/TimePicker.css +42 -0
- data/vendor/assets/stylesheets/nihilo/TimePicker_rtl.css +4 -0
- data/vendor/assets/stylesheets/nihilo/TitlePane.css +45 -0
- data/vendor/assets/stylesheets/nihilo/TitlePane_rtl.css +6 -0
- data/vendor/assets/stylesheets/nihilo/Toolbar.css +56 -0
- data/vendor/assets/stylesheets/nihilo/Tree.css +75 -0
- data/vendor/assets/stylesheets/nihilo/Tree_rtl.css +18 -0
- data/vendor/assets/stylesheets/nihilo/form/Button.css +108 -0
- data/vendor/assets/stylesheets/nihilo/form/Button_rtl.css +3 -0
- data/vendor/assets/stylesheets/nihilo/form/Checkbox.css +40 -0
- data/vendor/assets/stylesheets/nihilo/form/Common.css +60 -0
- data/vendor/assets/stylesheets/nihilo/form/RadioButton.css +40 -0
- data/vendor/assets/stylesheets/nihilo/form/Select.css +39 -0
- data/vendor/assets/stylesheets/nihilo/form/Slider.css +120 -0
- data/vendor/assets/stylesheets/nihilo/form/Slider_rtl.css +29 -0
- data/vendor/assets/stylesheets/nihilo/form/TimeTextBox.css +1 -0
- data/vendor/assets/stylesheets/nihilo/layout/AccordionContainer.css +35 -0
- data/vendor/assets/stylesheets/nihilo/layout/AccordionContainer_rtl.css +7 -0
- data/vendor/assets/stylesheets/nihilo/layout/BorderContainer.css +59 -0
- data/vendor/assets/stylesheets/nihilo/layout/ContentPane.css +17 -0
- data/vendor/assets/stylesheets/nihilo/layout/SplitContainer.css +27 -0
- data/vendor/assets/stylesheets/nihilo/layout/TabContainer.css +364 -0
- data/vendor/assets/stylesheets/nihilo/layout/TabContainer_rtl.css +34 -0
- data/vendor/assets/stylesheets/nihilo/nihilo.css +3450 -0
- data/vendor/assets/stylesheets/nihilo/nihilo_rtl.css +247 -0
- data/vendor/assets/stylesheets/soria/Calendar.css +135 -0
- data/vendor/assets/stylesheets/soria/Calendar_rtl.css +7 -0
- data/vendor/assets/stylesheets/soria/ColorPalette.css +5 -0
- data/vendor/assets/stylesheets/soria/Common.css +17 -0
- data/vendor/assets/stylesheets/soria/Dialog.css +126 -0
- data/vendor/assets/stylesheets/soria/Dialog_rtl.css +5 -0
- data/vendor/assets/stylesheets/soria/Editor.css +13 -0
- data/vendor/assets/stylesheets/soria/Editor_rtl.css +7 -0
- data/vendor/assets/stylesheets/soria/Menu.css +63 -0
- data/vendor/assets/stylesheets/soria/Menu_rtl.css +8 -0
- data/vendor/assets/stylesheets/soria/ProgressBar.css +24 -0
- data/vendor/assets/stylesheets/soria/TimePicker.css +42 -0
- data/vendor/assets/stylesheets/soria/TimePicker_rtl.css +4 -0
- data/vendor/assets/stylesheets/soria/TitlePane.css +48 -0
- data/vendor/assets/stylesheets/soria/TitlePane_rtl.css +6 -0
- data/vendor/assets/stylesheets/soria/Toolbar.css +56 -0
- data/vendor/assets/stylesheets/soria/Tree.css +78 -0
- data/vendor/assets/stylesheets/soria/Tree_rtl.css +18 -0
- data/vendor/assets/stylesheets/soria/form/Button.css +105 -0
- data/vendor/assets/stylesheets/soria/form/Button_rtl.css +3 -0
- data/vendor/assets/stylesheets/soria/form/Checkbox.css +40 -0
- data/vendor/assets/stylesheets/soria/form/Common.css +60 -0
- data/vendor/assets/stylesheets/soria/form/RadioButton.css +40 -0
- data/vendor/assets/stylesheets/soria/form/Select.css +41 -0
- data/vendor/assets/stylesheets/soria/form/Slider.css +122 -0
- data/vendor/assets/stylesheets/soria/form/Slider_rtl.css +29 -0
- data/vendor/assets/stylesheets/soria/form/TimeTextBox.css +1 -0
- data/vendor/assets/stylesheets/soria/layout/AccordionContainer.css +35 -0
- data/vendor/assets/stylesheets/soria/layout/AccordionContainer_rtl.css +7 -0
- data/vendor/assets/stylesheets/soria/layout/BorderContainer.css +59 -0
- data/vendor/assets/stylesheets/soria/layout/ContentPane.css +17 -0
- data/vendor/assets/stylesheets/soria/layout/SplitContainer.css +27 -0
- data/vendor/assets/stylesheets/soria/layout/TabContainer.css +297 -0
- data/vendor/assets/stylesheets/soria/layout/TabContainer_rtl.css +34 -0
- data/vendor/assets/stylesheets/soria/soria.css +3396 -0
- data/vendor/assets/stylesheets/soria/soria_rtl.css +248 -0
- data/vendor/assets/stylesheets/tundra/Calendar.css +136 -0
- data/vendor/assets/stylesheets/tundra/Calendar_rtl.css +7 -0
- data/vendor/assets/stylesheets/tundra/ColorPalette.css +5 -0
- data/vendor/assets/stylesheets/tundra/Common.css +27 -0
- data/vendor/assets/stylesheets/tundra/Dialog.css +129 -0
- data/vendor/assets/stylesheets/tundra/Dialog_rtl.css +5 -0
- data/vendor/assets/stylesheets/tundra/Editor.css +14 -0
- data/vendor/assets/stylesheets/tundra/Editor_rtl.css +7 -0
- data/vendor/assets/stylesheets/tundra/Menu.css +62 -0
- data/vendor/assets/stylesheets/tundra/Menu_rtl.css +3 -0
- data/vendor/assets/stylesheets/tundra/ProgressBar.css +23 -0
- data/vendor/assets/stylesheets/tundra/TimePicker.css +42 -0
- data/vendor/assets/stylesheets/tundra/TimePicker_rtl.css +4 -0
- data/vendor/assets/stylesheets/tundra/TitlePane.css +34 -0
- data/vendor/assets/stylesheets/tundra/TitlePane_rtl.css +3 -0
- data/vendor/assets/stylesheets/tundra/Toolbar.css +64 -0
- data/vendor/assets/stylesheets/tundra/Tree.css +72 -0
- data/vendor/assets/stylesheets/tundra/Tree_rtl.css +13 -0
- data/vendor/assets/stylesheets/tundra/form/Button.css +120 -0
- data/vendor/assets/stylesheets/tundra/form/Checkbox.css +45 -0
- data/vendor/assets/stylesheets/tundra/form/Common.css +56 -0
- data/vendor/assets/stylesheets/tundra/form/RadioButton.css +44 -0
- data/vendor/assets/stylesheets/tundra/form/Select.css +41 -0
- data/vendor/assets/stylesheets/tundra/form/Slider.css +129 -0
- data/vendor/assets/stylesheets/tundra/form/Slider_rtl.css +26 -0
- data/vendor/assets/stylesheets/tundra/layout/AccordionContainer.css +20 -0
- data/vendor/assets/stylesheets/tundra/layout/BorderContainer.css +55 -0
- data/vendor/assets/stylesheets/tundra/layout/ContentPane.css +17 -0
- data/vendor/assets/stylesheets/tundra/layout/SplitContainer.css +28 -0
- data/vendor/assets/stylesheets/tundra/layout/TabContainer.css +234 -0
- data/vendor/assets/stylesheets/tundra/layout/TabContainer_rtl.css +3 -0
- data/vendor/assets/stylesheets/tundra/tundra.css +3540 -0
- data/vendor/assets/stylesheets/tundra/tundra_rtl.css +192 -0
- metadata +2314 -0
|
@@ -0,0 +1,2874 @@
|
|
|
1
|
+
define("dijit/_editor/RichText", [
|
|
2
|
+
"dojo/_base/array", // array.forEach array.indexOf array.some
|
|
3
|
+
"dojo/_base/config", // config
|
|
4
|
+
"dojo/_base/declare", // declare
|
|
5
|
+
"dojo/_base/Deferred", // Deferred
|
|
6
|
+
"dojo/dom", // dom.byId
|
|
7
|
+
"dojo/dom-attr", // domAttr.set or get
|
|
8
|
+
"dojo/dom-class", // domClass.add domClass.remove
|
|
9
|
+
"dojo/dom-construct", // domConstruct.create domConstruct.destroy domConstruct.place
|
|
10
|
+
"dojo/dom-geometry", // domGeometry.position
|
|
11
|
+
"dojo/dom-style", // domStyle.getComputedStyle domStyle.set
|
|
12
|
+
"dojo/_base/event", // event.stop
|
|
13
|
+
"dojo/_base/kernel", // kernel.deprecated
|
|
14
|
+
"dojo/keys", // keys.BACKSPACE keys.TAB
|
|
15
|
+
"dojo/_base/lang", // lang.clone lang.hitch lang.isArray lang.isFunction lang.isString lang.trim
|
|
16
|
+
"dojo/on", // on()
|
|
17
|
+
"dojo/query", // query
|
|
18
|
+
"dojo/ready", // ready
|
|
19
|
+
"dojo/sniff", // has("ie") has("mozilla") has("opera") has("safari") has("webkit")
|
|
20
|
+
"dojo/topic", // topic.publish() (publish)
|
|
21
|
+
"dojo/_base/unload", // unload
|
|
22
|
+
"dojo/_base/url", // url
|
|
23
|
+
"dojo/_base/window", // win.global
|
|
24
|
+
"../_Widget",
|
|
25
|
+
"../_CssStateMixin",
|
|
26
|
+
"./selection",
|
|
27
|
+
"./range",
|
|
28
|
+
"./html",
|
|
29
|
+
"../focus",
|
|
30
|
+
"../main" // dijit._scopeName
|
|
31
|
+
], function(array, config, declare, Deferred, dom, domAttr, domClass, domConstruct, domGeometry, domStyle,
|
|
32
|
+
event, kernel, keys, lang, on, query, ready, has, topic, unload, _Url, win,
|
|
33
|
+
_Widget, _CssStateMixin, selectionapi, rangeapi, htmlapi, focus, dijit){
|
|
34
|
+
|
|
35
|
+
// module:
|
|
36
|
+
// dijit/_editor/RichText
|
|
37
|
+
// summary:
|
|
38
|
+
// dijit/_editor/RichText is the core of dijit/Editor, which provides basic
|
|
39
|
+
// WYSIWYG editing features.
|
|
40
|
+
|
|
41
|
+
// if you want to allow for rich text saving with back/forward actions, you must add a text area to your page with
|
|
42
|
+
// the id==dijit._scopeName + "._editor.RichText.value" (typically "dijit/_editor/RichText.value). For example,
|
|
43
|
+
// something like this will work:
|
|
44
|
+
//
|
|
45
|
+
// <textarea id="dijit._editor.RichText.value" style="display:none;position:absolute;top:-100px;left:-100px;height:3px;width:3px;overflow:hidden;"></textarea>
|
|
46
|
+
//
|
|
47
|
+
|
|
48
|
+
var RichText = declare("dijit._editor.RichText", [_Widget, _CssStateMixin], {
|
|
49
|
+
// summary:
|
|
50
|
+
// dijit/_editor/RichText is the core of dijit.Editor, which provides basic
|
|
51
|
+
// WYSIWYG editing features.
|
|
52
|
+
//
|
|
53
|
+
// description:
|
|
54
|
+
// dijit/_editor/RichText is the core of dijit.Editor, which provides basic
|
|
55
|
+
// WYSIWYG editing features. It also encapsulates the differences
|
|
56
|
+
// of different js engines for various browsers. Do not use this widget
|
|
57
|
+
// with an HTML <TEXTAREA> tag, since the browser unescapes XML escape characters,
|
|
58
|
+
// like <. This can have unexpected behavior and lead to security issues
|
|
59
|
+
// such as scripting attacks.
|
|
60
|
+
//
|
|
61
|
+
// tags:
|
|
62
|
+
// private
|
|
63
|
+
|
|
64
|
+
constructor: function(params /*===== , srcNodeRef =====*/){
|
|
65
|
+
// summary:
|
|
66
|
+
// Create the widget.
|
|
67
|
+
// params: Object|null
|
|
68
|
+
// Initial settings for any of the widget attributes, except readonly attributes.
|
|
69
|
+
// srcNodeRef: DOMNode
|
|
70
|
+
// The widget replaces the specified DOMNode.
|
|
71
|
+
|
|
72
|
+
// contentPreFilters: Function(String)[]
|
|
73
|
+
// Pre content filter function register array.
|
|
74
|
+
// these filters will be executed before the actual
|
|
75
|
+
// editing area gets the html content.
|
|
76
|
+
this.contentPreFilters = [];
|
|
77
|
+
|
|
78
|
+
// contentPostFilters: Function(String)[]
|
|
79
|
+
// post content filter function register array.
|
|
80
|
+
// These will be used on the resulting html
|
|
81
|
+
// from contentDomPostFilters. The resulting
|
|
82
|
+
// content is the final html (returned by getValue()).
|
|
83
|
+
this.contentPostFilters = [];
|
|
84
|
+
|
|
85
|
+
// contentDomPreFilters: Function(DomNode)[]
|
|
86
|
+
// Pre content dom filter function register array.
|
|
87
|
+
// These filters are applied after the result from
|
|
88
|
+
// contentPreFilters are set to the editing area.
|
|
89
|
+
this.contentDomPreFilters = [];
|
|
90
|
+
|
|
91
|
+
// contentDomPostFilters: Function(DomNode)[]
|
|
92
|
+
// Post content dom filter function register array.
|
|
93
|
+
// These filters are executed on the editing area dom.
|
|
94
|
+
// The result from these will be passed to contentPostFilters.
|
|
95
|
+
this.contentDomPostFilters = [];
|
|
96
|
+
|
|
97
|
+
// editingAreaStyleSheets: dojo._URL[]
|
|
98
|
+
// array to store all the stylesheets applied to the editing area
|
|
99
|
+
this.editingAreaStyleSheets = [];
|
|
100
|
+
|
|
101
|
+
// Make a copy of this.events before we start writing into it, otherwise we
|
|
102
|
+
// will modify the prototype which leads to bad things on pages w/multiple editors
|
|
103
|
+
this.events = [].concat(this.events);
|
|
104
|
+
|
|
105
|
+
this._keyHandlers = {};
|
|
106
|
+
|
|
107
|
+
if(params && lang.isString(params.value)){
|
|
108
|
+
this.value = params.value;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
this.onLoadDeferred = new Deferred();
|
|
112
|
+
},
|
|
113
|
+
|
|
114
|
+
baseClass: "dijitEditor",
|
|
115
|
+
|
|
116
|
+
// inheritWidth: Boolean
|
|
117
|
+
// whether to inherit the parent's width or simply use 100%
|
|
118
|
+
inheritWidth: false,
|
|
119
|
+
|
|
120
|
+
// focusOnLoad: [deprecated] Boolean
|
|
121
|
+
// Focus into this widget when the page is loaded
|
|
122
|
+
focusOnLoad: false,
|
|
123
|
+
|
|
124
|
+
// name: String?
|
|
125
|
+
// Specifies the name of a (hidden) `<textarea>` node on the page that's used to save
|
|
126
|
+
// the editor content on page leave. Used to restore editor contents after navigating
|
|
127
|
+
// to a new page and then hitting the back button.
|
|
128
|
+
name: "",
|
|
129
|
+
|
|
130
|
+
// styleSheets: [const] String
|
|
131
|
+
// semicolon (";") separated list of css files for the editing area
|
|
132
|
+
styleSheets: "",
|
|
133
|
+
|
|
134
|
+
// height: String
|
|
135
|
+
// Set height to fix the editor at a specific height, with scrolling.
|
|
136
|
+
// By default, this is 300px. If you want to have the editor always
|
|
137
|
+
// resizes to accommodate the content, use AlwaysShowToolbar plugin
|
|
138
|
+
// and set height="". If this editor is used within a layout widget,
|
|
139
|
+
// set height="100%".
|
|
140
|
+
height: "300px",
|
|
141
|
+
|
|
142
|
+
// minHeight: String
|
|
143
|
+
// The minimum height that the editor should have.
|
|
144
|
+
minHeight: "1em",
|
|
145
|
+
|
|
146
|
+
// isClosed: [private] Boolean
|
|
147
|
+
isClosed: true,
|
|
148
|
+
|
|
149
|
+
// isLoaded: [private] Boolean
|
|
150
|
+
isLoaded: false,
|
|
151
|
+
|
|
152
|
+
// _SEPARATOR: [private] String
|
|
153
|
+
// Used to concat contents from multiple editors into a single string,
|
|
154
|
+
// so they can be saved into a single `<textarea>` node. See "name" attribute.
|
|
155
|
+
_SEPARATOR: "@@**%%__RICHTEXTBOUNDRY__%%**@@",
|
|
156
|
+
|
|
157
|
+
// _NAME_CONTENT_SEP: [private] String
|
|
158
|
+
// USed to separate name from content. Just a colon isn't safe.
|
|
159
|
+
_NAME_CONTENT_SEP: "@@**%%:%%**@@",
|
|
160
|
+
|
|
161
|
+
// onLoadDeferred: [readonly] dojo.Deferred
|
|
162
|
+
// Deferred which is fired when the editor finishes loading.
|
|
163
|
+
// Call myEditor.onLoadDeferred.then(callback) it to be informed
|
|
164
|
+
// when the rich-text area initialization is finalized.
|
|
165
|
+
onLoadDeferred: null,
|
|
166
|
+
|
|
167
|
+
// isTabIndent: Boolean
|
|
168
|
+
// Make tab key and shift-tab indent and outdent rather than navigating.
|
|
169
|
+
// Caution: sing this makes web pages inaccessible to users unable to use a mouse.
|
|
170
|
+
isTabIndent: false,
|
|
171
|
+
|
|
172
|
+
// disableSpellCheck: [const] Boolean
|
|
173
|
+
// When true, disables the browser's native spell checking, if supported.
|
|
174
|
+
// Works only in Firefox.
|
|
175
|
+
disableSpellCheck: false,
|
|
176
|
+
|
|
177
|
+
postCreate: function(){
|
|
178
|
+
if("textarea" === this.domNode.tagName.toLowerCase()){
|
|
179
|
+
console.warn("RichText should not be used with the TEXTAREA tag. See dijit._editor.RichText docs.");
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
// Push in the builtin filters now, making them the first executed, but not over-riding anything
|
|
183
|
+
// users passed in. See: #6062
|
|
184
|
+
this.contentPreFilters = [lang.hitch(this, "_preFixUrlAttributes")].concat(this.contentPreFilters);
|
|
185
|
+
if(has("mozilla")){
|
|
186
|
+
this.contentPreFilters = [this._normalizeFontStyle].concat(this.contentPreFilters);
|
|
187
|
+
this.contentPostFilters = [this._removeMozBogus].concat(this.contentPostFilters);
|
|
188
|
+
}
|
|
189
|
+
if(has("webkit")){
|
|
190
|
+
// Try to clean up WebKit bogus artifacts. The inserted classes
|
|
191
|
+
// made by WebKit sometimes messes things up.
|
|
192
|
+
this.contentPreFilters = [this._removeWebkitBogus].concat(this.contentPreFilters);
|
|
193
|
+
this.contentPostFilters = [this._removeWebkitBogus].concat(this.contentPostFilters);
|
|
194
|
+
}
|
|
195
|
+
if(has("ie")){
|
|
196
|
+
// IE generates <strong> and <em> but we want to normalize to <b> and <i>
|
|
197
|
+
this.contentPostFilters = [this._normalizeFontStyle].concat(this.contentPostFilters);
|
|
198
|
+
this.contentDomPostFilters = [lang.hitch(this, this._stripBreakerNodes)].concat(this.contentDomPostFilters);
|
|
199
|
+
}
|
|
200
|
+
this.inherited(arguments);
|
|
201
|
+
|
|
202
|
+
topic.publish(dijit._scopeName + "._editor.RichText::init", this);
|
|
203
|
+
this.open();
|
|
204
|
+
this.setupDefaultShortcuts();
|
|
205
|
+
},
|
|
206
|
+
|
|
207
|
+
setupDefaultShortcuts: function(){
|
|
208
|
+
// summary:
|
|
209
|
+
// Add some default key handlers
|
|
210
|
+
// description:
|
|
211
|
+
// Overwrite this to setup your own handlers. The default
|
|
212
|
+
// implementation does not use Editor commands, but directly
|
|
213
|
+
// executes the builtin commands within the underlying browser
|
|
214
|
+
// support.
|
|
215
|
+
// tags:
|
|
216
|
+
// protected
|
|
217
|
+
var exec = lang.hitch(this, function(cmd, arg){
|
|
218
|
+
return function(){
|
|
219
|
+
return !this.execCommand(cmd,arg);
|
|
220
|
+
};
|
|
221
|
+
});
|
|
222
|
+
|
|
223
|
+
var ctrlKeyHandlers = {
|
|
224
|
+
b: exec("bold"),
|
|
225
|
+
i: exec("italic"),
|
|
226
|
+
u: exec("underline"),
|
|
227
|
+
a: exec("selectall"),
|
|
228
|
+
s: function(){ this.save(true); },
|
|
229
|
+
m: function(){ this.isTabIndent = !this.isTabIndent; },
|
|
230
|
+
|
|
231
|
+
"1": exec("formatblock", "h1"),
|
|
232
|
+
"2": exec("formatblock", "h2"),
|
|
233
|
+
"3": exec("formatblock", "h3"),
|
|
234
|
+
"4": exec("formatblock", "h4"),
|
|
235
|
+
|
|
236
|
+
"\\": exec("insertunorderedlist")
|
|
237
|
+
};
|
|
238
|
+
|
|
239
|
+
if(!has("ie")){
|
|
240
|
+
ctrlKeyHandlers.Z = exec("redo"); //FIXME: undo?
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
var key;
|
|
244
|
+
for(key in ctrlKeyHandlers){
|
|
245
|
+
this.addKeyHandler(key, true, false, ctrlKeyHandlers[key]);
|
|
246
|
+
}
|
|
247
|
+
},
|
|
248
|
+
|
|
249
|
+
// events: [private] String[]
|
|
250
|
+
// events which should be connected to the underlying editing area
|
|
251
|
+
events: ["onKeyPress", "onKeyDown", "onKeyUp"], // onClick handled specially
|
|
252
|
+
|
|
253
|
+
// captureEvents: [deprecated] String[]
|
|
254
|
+
// Events which should be connected to the underlying editing
|
|
255
|
+
// area, events in this array will be addListener with
|
|
256
|
+
// capture=true.
|
|
257
|
+
// TODO: looking at the code I don't see any distinction between events and captureEvents,
|
|
258
|
+
// so get rid of this for 2.0 if not sooner
|
|
259
|
+
captureEvents: [],
|
|
260
|
+
|
|
261
|
+
_editorCommandsLocalized: false,
|
|
262
|
+
_localizeEditorCommands: function(){
|
|
263
|
+
// summary:
|
|
264
|
+
// When IE is running in a non-English locale, the API actually changes,
|
|
265
|
+
// so that we have to say (for example) danraku instead of p (for paragraph).
|
|
266
|
+
// Handle that here.
|
|
267
|
+
// tags:
|
|
268
|
+
// private
|
|
269
|
+
if(RichText._editorCommandsLocalized){
|
|
270
|
+
// Use the already generate cache of mappings.
|
|
271
|
+
this._local2NativeFormatNames = RichText._local2NativeFormatNames;
|
|
272
|
+
this._native2LocalFormatNames = RichText._native2LocalFormatNames;
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
RichText._editorCommandsLocalized = true;
|
|
276
|
+
RichText._local2NativeFormatNames = {};
|
|
277
|
+
RichText._native2LocalFormatNames = {};
|
|
278
|
+
this._local2NativeFormatNames = RichText._local2NativeFormatNames;
|
|
279
|
+
this._native2LocalFormatNames = RichText._native2LocalFormatNames;
|
|
280
|
+
//in IE, names for blockformat is locale dependent, so we cache the values here
|
|
281
|
+
|
|
282
|
+
//put p after div, so if IE returns Normal, we show it as paragraph
|
|
283
|
+
//We can distinguish p and div if IE returns Normal, however, in order to detect that,
|
|
284
|
+
//we have to call this.document.selection.createRange().parentElement() or such, which
|
|
285
|
+
//could slow things down. Leave it as it is for now
|
|
286
|
+
var formats = ['div', 'p', 'pre', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ol', 'ul', 'address'];
|
|
287
|
+
var localhtml = "", format, i=0;
|
|
288
|
+
while((format=formats[i++])){
|
|
289
|
+
//append a <br> after each element to separate the elements more reliably
|
|
290
|
+
if(format.charAt(1) !== 'l'){
|
|
291
|
+
localhtml += "<"+format+"><span>content</span></"+format+"><br/>";
|
|
292
|
+
}else{
|
|
293
|
+
localhtml += "<"+format+"><li>content</li></"+format+"><br/>";
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
// queryCommandValue returns empty if we hide editNode, so move it out of screen temporary
|
|
297
|
+
// Also, IE9 does weird stuff unless we do it inside the editor iframe.
|
|
298
|
+
var style = { position: "absolute", top: "0px", zIndex: 10, opacity: 0.01 };
|
|
299
|
+
var div = domConstruct.create('div', {style: style, innerHTML: localhtml});
|
|
300
|
+
this.ownerDocumentBody.appendChild(div);
|
|
301
|
+
|
|
302
|
+
// IE9 has a timing issue with doing this right after setting
|
|
303
|
+
// the inner HTML, so put a delay in.
|
|
304
|
+
var inject = lang.hitch(this, function(){
|
|
305
|
+
var node = div.firstChild;
|
|
306
|
+
while(node){
|
|
307
|
+
try{
|
|
308
|
+
this._sCall("selectElement", [node.firstChild]);
|
|
309
|
+
var nativename = node.tagName.toLowerCase();
|
|
310
|
+
this._local2NativeFormatNames[nativename] = document.queryCommandValue("formatblock");
|
|
311
|
+
this._native2LocalFormatNames[this._local2NativeFormatNames[nativename]] = nativename;
|
|
312
|
+
node = node.nextSibling.nextSibling;
|
|
313
|
+
//console.log("Mapped: ", nativename, " to: ", this._local2NativeFormatNames[nativename]);
|
|
314
|
+
}catch(e){ /*Sqelch the occasional IE9 error */ }
|
|
315
|
+
}
|
|
316
|
+
domConstruct.destroy(div);
|
|
317
|
+
});
|
|
318
|
+
this.defer(inject);
|
|
319
|
+
},
|
|
320
|
+
|
|
321
|
+
open: function(/*DomNode?*/ element){
|
|
322
|
+
// summary:
|
|
323
|
+
// Transforms the node referenced in this.domNode into a rich text editing
|
|
324
|
+
// node.
|
|
325
|
+
// description:
|
|
326
|
+
// Sets up the editing area asynchronously. This will result in
|
|
327
|
+
// the creation and replacement with an iframe.
|
|
328
|
+
// tags:
|
|
329
|
+
// private
|
|
330
|
+
|
|
331
|
+
if(!this.onLoadDeferred || this.onLoadDeferred.fired >= 0){
|
|
332
|
+
this.onLoadDeferred = new Deferred();
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
if(!this.isClosed){ this.close(); }
|
|
336
|
+
topic.publish(dijit._scopeName + "._editor.RichText::open", this);
|
|
337
|
+
|
|
338
|
+
if(arguments.length === 1 && element.nodeName){ // else unchanged
|
|
339
|
+
this.domNode = element;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
var dn = this.domNode;
|
|
343
|
+
|
|
344
|
+
// "html" will hold the innerHTML of the srcNodeRef and will be used to
|
|
345
|
+
// initialize the editor.
|
|
346
|
+
var html;
|
|
347
|
+
|
|
348
|
+
if(lang.isString(this.value)){
|
|
349
|
+
// Allow setting the editor content programmatically instead of
|
|
350
|
+
// relying on the initial content being contained within the target
|
|
351
|
+
// domNode.
|
|
352
|
+
html = this.value;
|
|
353
|
+
delete this.value;
|
|
354
|
+
dn.innerHTML = "";
|
|
355
|
+
}else if(dn.nodeName && dn.nodeName.toLowerCase() == "textarea"){
|
|
356
|
+
// if we were created from a textarea, then we need to create a
|
|
357
|
+
// new editing harness node.
|
|
358
|
+
var ta = (this.textarea = dn);
|
|
359
|
+
this.name = ta.name;
|
|
360
|
+
html = ta.value;
|
|
361
|
+
dn = this.domNode = this.ownerDocument.createElement("div");
|
|
362
|
+
dn.setAttribute('widgetId', this.id);
|
|
363
|
+
ta.removeAttribute('widgetId');
|
|
364
|
+
dn.cssText = ta.cssText;
|
|
365
|
+
dn.className += " " + ta.className;
|
|
366
|
+
domConstruct.place(dn, ta, "before");
|
|
367
|
+
var tmpFunc = lang.hitch(this, function(){
|
|
368
|
+
//some browsers refuse to submit display=none textarea, so
|
|
369
|
+
//move the textarea off screen instead
|
|
370
|
+
domStyle.set(ta, {
|
|
371
|
+
display: "block",
|
|
372
|
+
position: "absolute",
|
|
373
|
+
top: "-1000px"
|
|
374
|
+
});
|
|
375
|
+
|
|
376
|
+
if(has("ie")){ //nasty IE bug: abnormal formatting if overflow is not hidden
|
|
377
|
+
var s = ta.style;
|
|
378
|
+
this.__overflow = s.overflow;
|
|
379
|
+
s.overflow = "hidden";
|
|
380
|
+
}
|
|
381
|
+
});
|
|
382
|
+
if(has("ie")){
|
|
383
|
+
this.defer(tmpFunc, 10);
|
|
384
|
+
}else{
|
|
385
|
+
tmpFunc();
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
if(ta.form){
|
|
389
|
+
var resetValue = ta.value;
|
|
390
|
+
this.reset = function(){
|
|
391
|
+
var current = this.getValue();
|
|
392
|
+
if(current !== resetValue){
|
|
393
|
+
this.replaceValue(resetValue);
|
|
394
|
+
}
|
|
395
|
+
};
|
|
396
|
+
on(ta.form, "submit", lang.hitch(this, function(){
|
|
397
|
+
// Copy value to the <textarea> so it gets submitted along with form.
|
|
398
|
+
// FIXME: should we be calling close() here instead?
|
|
399
|
+
domAttr.set(ta, 'disabled', this.disabled); // don't submit the value if disabled
|
|
400
|
+
ta.value = this.getValue();
|
|
401
|
+
}));
|
|
402
|
+
}
|
|
403
|
+
}else{
|
|
404
|
+
html = htmlapi.getChildrenHtml(dn);
|
|
405
|
+
dn.innerHTML = "";
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
this.value = html;
|
|
409
|
+
|
|
410
|
+
// If we're a list item we have to put in a blank line to force the
|
|
411
|
+
// bullet to nicely align at the top of text
|
|
412
|
+
if(dn.nodeName && dn.nodeName === "LI"){
|
|
413
|
+
dn.innerHTML = " <br>";
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
// Construct the editor div structure.
|
|
417
|
+
this.header = dn.ownerDocument.createElement("div");
|
|
418
|
+
dn.appendChild(this.header);
|
|
419
|
+
this.editingArea = dn.ownerDocument.createElement("div");
|
|
420
|
+
dn.appendChild(this.editingArea);
|
|
421
|
+
this.footer = dn.ownerDocument.createElement("div");
|
|
422
|
+
dn.appendChild(this.footer);
|
|
423
|
+
|
|
424
|
+
if(!this.name){
|
|
425
|
+
this.name = this.id + "_AUTOGEN";
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
// User has pressed back/forward button so we lost the text in the editor, but it's saved
|
|
429
|
+
// in a hidden <textarea> (which contains the data for all the editors on this page),
|
|
430
|
+
// so get editor value from there
|
|
431
|
+
if(this.name !== "" && (!config["useXDomain"] || config["allowXdRichTextSave"])){
|
|
432
|
+
var saveTextarea = dom.byId(dijit._scopeName + "._editor.RichText.value");
|
|
433
|
+
if(saveTextarea && saveTextarea.value !== ""){
|
|
434
|
+
var datas = saveTextarea.value.split(this._SEPARATOR), i=0, dat;
|
|
435
|
+
while((dat=datas[i++])){
|
|
436
|
+
var data = dat.split(this._NAME_CONTENT_SEP);
|
|
437
|
+
if(data[0] === this.name){
|
|
438
|
+
html = data[1];
|
|
439
|
+
datas = datas.splice(i, 1);
|
|
440
|
+
saveTextarea.value = datas.join(this._SEPARATOR);
|
|
441
|
+
break;
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
if(!RichText._globalSaveHandler){
|
|
447
|
+
RichText._globalSaveHandler = {};
|
|
448
|
+
unload.addOnUnload(function(){
|
|
449
|
+
var id;
|
|
450
|
+
for(id in RichText._globalSaveHandler){
|
|
451
|
+
var f = RichText._globalSaveHandler[id];
|
|
452
|
+
if(lang.isFunction(f)){
|
|
453
|
+
f();
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
});
|
|
457
|
+
}
|
|
458
|
+
RichText._globalSaveHandler[this.id] = lang.hitch(this, "_saveContent");
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
this.isClosed = false;
|
|
462
|
+
|
|
463
|
+
var ifr = (this.editorObject = this.iframe = this.ownerDocument.createElement('iframe'));
|
|
464
|
+
ifr.id = this.id+"_iframe";
|
|
465
|
+
ifr.style.border = "none";
|
|
466
|
+
ifr.style.width = "100%";
|
|
467
|
+
if(this._layoutMode){
|
|
468
|
+
// iframe should be 100% height, thus getting it's height from surrounding
|
|
469
|
+
// <div> (which has the correct height set by Editor)
|
|
470
|
+
ifr.style.height = "100%";
|
|
471
|
+
}else{
|
|
472
|
+
if(has("ie") >= 7){
|
|
473
|
+
if(this.height){
|
|
474
|
+
ifr.style.height = this.height;
|
|
475
|
+
}
|
|
476
|
+
if(this.minHeight){
|
|
477
|
+
ifr.style.minHeight = this.minHeight;
|
|
478
|
+
}
|
|
479
|
+
}else{
|
|
480
|
+
ifr.style.height = this.height ? this.height : this.minHeight;
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
ifr.frameBorder = 0;
|
|
484
|
+
ifr._loadFunc = lang.hitch( this, function(w){
|
|
485
|
+
this.window = w;
|
|
486
|
+
this.document = this.window.document;
|
|
487
|
+
|
|
488
|
+
if(has("ie")){
|
|
489
|
+
this._localizeEditorCommands();
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
// Do final setup and set initial contents of editor
|
|
493
|
+
this.onLoad(html);
|
|
494
|
+
});
|
|
495
|
+
|
|
496
|
+
// Set the iframe's initial (blank) content.
|
|
497
|
+
var src = this._getIframeDocTxt(),
|
|
498
|
+
s = "javascript: '" + src.replace(/\\/g, "\\\\").replace(/'/g, "\\'") + "'";
|
|
499
|
+
ifr.setAttribute('src', s);
|
|
500
|
+
this.editingArea.appendChild(ifr);
|
|
501
|
+
|
|
502
|
+
if(has("safari") <= 4){
|
|
503
|
+
src = ifr.getAttribute("src");
|
|
504
|
+
if(!src || src.indexOf("javascript") === -1){
|
|
505
|
+
// Safari 4 and earlier sometimes act oddly
|
|
506
|
+
// So we have to set it again.
|
|
507
|
+
this.defer(function(){ ifr.setAttribute('src', s); });
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
// TODO: this is a guess at the default line-height, kinda works
|
|
512
|
+
if(dn.nodeName === "LI"){
|
|
513
|
+
dn.lastChild.style.marginTop = "-1.2em";
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
domClass.add(this.domNode, this.baseClass);
|
|
517
|
+
},
|
|
518
|
+
|
|
519
|
+
//static cache variables shared among all instance of this class
|
|
520
|
+
_local2NativeFormatNames: {},
|
|
521
|
+
_native2LocalFormatNames: {},
|
|
522
|
+
|
|
523
|
+
_getIframeDocTxt: function(){
|
|
524
|
+
// summary:
|
|
525
|
+
// Generates the boilerplate text of the document inside the iframe (ie, `<html><head>...</head><body/></html>`).
|
|
526
|
+
// Editor content (if not blank) should be added afterwards.
|
|
527
|
+
// tags:
|
|
528
|
+
// private
|
|
529
|
+
var _cs = domStyle.getComputedStyle(this.domNode);
|
|
530
|
+
|
|
531
|
+
// The contents inside of <body>. The real contents are set later via a call to setValue().
|
|
532
|
+
var html = "";
|
|
533
|
+
var setBodyId = true;
|
|
534
|
+
if(has("ie") || has("webkit") || (!this.height && !has("mozilla"))){
|
|
535
|
+
// In auto-expand mode, need a wrapper div for AlwaysShowToolbar plugin to correctly
|
|
536
|
+
// expand/contract the editor as the content changes.
|
|
537
|
+
html = "<div id='dijitEditorBody'></div>";
|
|
538
|
+
setBodyId = false;
|
|
539
|
+
}else if(has("mozilla")){
|
|
540
|
+
// workaround bug where can't select then delete text (until user types something
|
|
541
|
+
// into the editor)... and/or issue where typing doesn't erase selected text
|
|
542
|
+
this._cursorToStart = true;
|
|
543
|
+
html = " "; //
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
var font = [ _cs.fontWeight, _cs.fontSize, _cs.fontFamily ].join(" ");
|
|
547
|
+
|
|
548
|
+
// line height is tricky - applying a units value will mess things up.
|
|
549
|
+
// if we can't get a non-units value, bail out.
|
|
550
|
+
var lineHeight = _cs.lineHeight;
|
|
551
|
+
if(lineHeight.indexOf("px") >= 0){
|
|
552
|
+
lineHeight = parseFloat(lineHeight)/parseFloat(_cs.fontSize);
|
|
553
|
+
// console.debug(lineHeight);
|
|
554
|
+
}else if(lineHeight.indexOf("em")>=0){
|
|
555
|
+
lineHeight = parseFloat(lineHeight);
|
|
556
|
+
}else{
|
|
557
|
+
// If we can't get a non-units value, just default
|
|
558
|
+
// it to the CSS spec default of 'normal'. Seems to
|
|
559
|
+
// work better, esp on IE, than '1.0'
|
|
560
|
+
lineHeight = "normal";
|
|
561
|
+
}
|
|
562
|
+
var userStyle = "";
|
|
563
|
+
var self = this;
|
|
564
|
+
this.style.replace(/(^|;)\s*(line-|font-?)[^;]+/ig, function(match){
|
|
565
|
+
match = match.replace(/^;/ig,"") + ';';
|
|
566
|
+
var s = match.split(":")[0];
|
|
567
|
+
if(s){
|
|
568
|
+
s = lang.trim(s);
|
|
569
|
+
s = s.toLowerCase();
|
|
570
|
+
var i;
|
|
571
|
+
var sC = "";
|
|
572
|
+
for(i = 0; i < s.length; i++){
|
|
573
|
+
var c = s.charAt(i);
|
|
574
|
+
switch(c){
|
|
575
|
+
case "-":
|
|
576
|
+
i++;
|
|
577
|
+
c = s.charAt(i).toUpperCase();
|
|
578
|
+
default:
|
|
579
|
+
sC += c;
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
domStyle.set(self.domNode, sC, "");
|
|
583
|
+
}
|
|
584
|
+
userStyle += match + ';';
|
|
585
|
+
});
|
|
586
|
+
|
|
587
|
+
|
|
588
|
+
// need to find any associated label element and update iframe document title
|
|
589
|
+
var label=query('label[for="'+this.id+'"]');
|
|
590
|
+
|
|
591
|
+
return [
|
|
592
|
+
this.isLeftToRight() ? "<html>\n<head>\n" : "<html dir='rtl'>\n<head>\n",
|
|
593
|
+
(has("mozilla") && label.length ? "<title>" + label[0].innerHTML + "</title>\n" : ""),
|
|
594
|
+
"<meta http-equiv='Content-Type' content='text/html'>\n",
|
|
595
|
+
"<style>\n",
|
|
596
|
+
"\tbody,html {\n",
|
|
597
|
+
"\t\tbackground:transparent;\n",
|
|
598
|
+
"\t\tpadding: 1px 0 0 0;\n",
|
|
599
|
+
"\t\tmargin: -1px 0 0 0;\n", // remove extraneous vertical scrollbar on safari and firefox
|
|
600
|
+
|
|
601
|
+
// Set the html/body sizing. Webkit always needs this, other browsers
|
|
602
|
+
// only set it when height is defined (not auto-expanding), otherwise
|
|
603
|
+
// scrollers do not appear.
|
|
604
|
+
((has("webkit"))?"\t\twidth: 100%;\n":""),
|
|
605
|
+
((has("webkit"))?"\t\theight: 100%;\n":""),
|
|
606
|
+
"\t}\n",
|
|
607
|
+
|
|
608
|
+
// TODO: left positioning will cause contents to disappear out of view
|
|
609
|
+
// if it gets too wide for the visible area
|
|
610
|
+
"\tbody{\n",
|
|
611
|
+
"\t\ttop:0px;\n",
|
|
612
|
+
"\t\tleft:0px;\n",
|
|
613
|
+
"\t\tright:0px;\n",
|
|
614
|
+
"\t\tfont:", font, ";\n",
|
|
615
|
+
((this.height||has("opera")) ? "" : "\t\tposition: fixed;\n"),
|
|
616
|
+
// FIXME: IE 6 won't understand min-height?
|
|
617
|
+
"\t\tmin-height:", this.minHeight, ";\n",
|
|
618
|
+
"\t\tline-height:", lineHeight,";\n",
|
|
619
|
+
"\t}\n",
|
|
620
|
+
"\tp{ margin: 1em 0; }\n",
|
|
621
|
+
|
|
622
|
+
// Determine how scrollers should be applied. In autoexpand mode (height = "") no scrollers on y at all.
|
|
623
|
+
// But in fixed height mode we want both x/y scrollers. Also, if it's using wrapping div and in auto-expand
|
|
624
|
+
// (Mainly IE) we need to kill the y scroller on body and html.
|
|
625
|
+
(!setBodyId && !this.height ? "\tbody,html {overflow-y: hidden;}\n" : ""),
|
|
626
|
+
"\t#dijitEditorBody{overflow-x: auto; overflow-y:" + (this.height ? "auto;" : "hidden;") + " outline: 0px;}\n",
|
|
627
|
+
"\tli > ul:-moz-first-node, li > ol:-moz-first-node{ padding-top: 1.2em; }\n",
|
|
628
|
+
// Can't set min-height in IE9, it puts layout on li, which puts move/resize handles.
|
|
629
|
+
(!has("ie") ? "\tli{ min-height:1.2em; }\n" : ""),
|
|
630
|
+
"</style>\n",
|
|
631
|
+
this._applyEditingAreaStyleSheets(),"\n",
|
|
632
|
+
"</head>\n<body ",
|
|
633
|
+
(setBodyId?"id='dijitEditorBody' ":""),
|
|
634
|
+
|
|
635
|
+
// Onload handler fills in real editor content.
|
|
636
|
+
// On IE9, sometimes onload is called twice, and the first time frameElement is null (test_FullScreen.html)
|
|
637
|
+
"onload='frameElement && frameElement._loadFunc(window,document)' ",
|
|
638
|
+
"style='"+userStyle+"'>", html, "</body>\n</html>"
|
|
639
|
+
].join(""); // String
|
|
640
|
+
},
|
|
641
|
+
|
|
642
|
+
_applyEditingAreaStyleSheets: function(){
|
|
643
|
+
// summary:
|
|
644
|
+
// apply the specified css files in styleSheets
|
|
645
|
+
// tags:
|
|
646
|
+
// private
|
|
647
|
+
var files = [];
|
|
648
|
+
if(this.styleSheets){
|
|
649
|
+
files = this.styleSheets.split(';');
|
|
650
|
+
this.styleSheets = '';
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
//empty this.editingAreaStyleSheets here, as it will be filled in addStyleSheet
|
|
654
|
+
files = files.concat(this.editingAreaStyleSheets);
|
|
655
|
+
this.editingAreaStyleSheets = [];
|
|
656
|
+
|
|
657
|
+
var text='', i=0, url;
|
|
658
|
+
while((url=files[i++])){
|
|
659
|
+
var abstring = (new _Url(win.global.location, url)).toString();
|
|
660
|
+
this.editingAreaStyleSheets.push(abstring);
|
|
661
|
+
text += '<link rel="stylesheet" type="text/css" href="'+abstring+'"/>';
|
|
662
|
+
}
|
|
663
|
+
return text;
|
|
664
|
+
},
|
|
665
|
+
|
|
666
|
+
addStyleSheet: function(/*dojo/_base/url*/ uri){
|
|
667
|
+
// summary:
|
|
668
|
+
// add an external stylesheet for the editing area
|
|
669
|
+
// uri:
|
|
670
|
+
// Url of the external css file
|
|
671
|
+
var url=uri.toString();
|
|
672
|
+
|
|
673
|
+
//if uri is relative, then convert it to absolute so that it can be resolved correctly in iframe
|
|
674
|
+
if(url.charAt(0) === '.' || (url.charAt(0) !== '/' && !uri.host)){
|
|
675
|
+
url = (new _Url(win.global.location, url)).toString();
|
|
676
|
+
}
|
|
677
|
+
|
|
678
|
+
if(array.indexOf(this.editingAreaStyleSheets, url) > -1){
|
|
679
|
+
// console.debug("dijit/_editor/RichText.addStyleSheet(): Style sheet "+url+" is already applied");
|
|
680
|
+
return;
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
this.editingAreaStyleSheets.push(url);
|
|
684
|
+
this.onLoadDeferred.then(lang.hitch(this, function(){
|
|
685
|
+
if(this.document.createStyleSheet){ //IE
|
|
686
|
+
this.document.createStyleSheet(url);
|
|
687
|
+
}else{ //other browser
|
|
688
|
+
var head = this.document.getElementsByTagName("head")[0];
|
|
689
|
+
var stylesheet = this.document.createElement("link");
|
|
690
|
+
stylesheet.rel="stylesheet";
|
|
691
|
+
stylesheet.type="text/css";
|
|
692
|
+
stylesheet.href=url;
|
|
693
|
+
head.appendChild(stylesheet);
|
|
694
|
+
}
|
|
695
|
+
}));
|
|
696
|
+
},
|
|
697
|
+
|
|
698
|
+
removeStyleSheet: function(/*dojo/_base/url*/ uri){
|
|
699
|
+
// summary:
|
|
700
|
+
// remove an external stylesheet for the editing area
|
|
701
|
+
var url=uri.toString();
|
|
702
|
+
//if uri is relative, then convert it to absolute so that it can be resolved correctly in iframe
|
|
703
|
+
if(url.charAt(0) === '.' || (url.charAt(0) !== '/' && !uri.host)){
|
|
704
|
+
url = (new _Url(win.global.location, url)).toString();
|
|
705
|
+
}
|
|
706
|
+
var index = array.indexOf(this.editingAreaStyleSheets, url);
|
|
707
|
+
if(index === -1){
|
|
708
|
+
// console.debug("dijit/_editor/RichText.removeStyleSheet(): Style sheet "+url+" has not been applied");
|
|
709
|
+
return;
|
|
710
|
+
}
|
|
711
|
+
delete this.editingAreaStyleSheets[index];
|
|
712
|
+
query('link:[href="'+url+'"]', this.window.document).orphan();
|
|
713
|
+
},
|
|
714
|
+
|
|
715
|
+
// disabled: Boolean
|
|
716
|
+
// The editor is disabled; the text cannot be changed.
|
|
717
|
+
disabled: false,
|
|
718
|
+
|
|
719
|
+
_mozSettingProps: {'styleWithCSS':false},
|
|
720
|
+
_setDisabledAttr: function(/*Boolean*/ value){
|
|
721
|
+
value = !!value;
|
|
722
|
+
this._set("disabled", value);
|
|
723
|
+
if(!this.isLoaded){ return; } // this method requires init to be complete
|
|
724
|
+
if(has("ie") || has("webkit") || has("opera")){
|
|
725
|
+
var preventIEfocus = has("ie") && (this.isLoaded || !this.focusOnLoad);
|
|
726
|
+
if(preventIEfocus){ this.editNode.unselectable = "on"; }
|
|
727
|
+
this.editNode.contentEditable = !value;
|
|
728
|
+
if(preventIEfocus){
|
|
729
|
+
this.defer(function(){
|
|
730
|
+
if(this.editNode){ // guard in case widget destroyed before timeout
|
|
731
|
+
this.editNode.unselectable = "off";
|
|
732
|
+
}
|
|
733
|
+
});
|
|
734
|
+
}
|
|
735
|
+
}else{ //moz
|
|
736
|
+
try{
|
|
737
|
+
this.document.designMode=(value?'off':'on');
|
|
738
|
+
}catch(e){ return; } // ! _disabledOK
|
|
739
|
+
if(!value && this._mozSettingProps){
|
|
740
|
+
var ps = this._mozSettingProps;
|
|
741
|
+
var n;
|
|
742
|
+
for(n in ps){
|
|
743
|
+
if(ps.hasOwnProperty(n)){
|
|
744
|
+
try{
|
|
745
|
+
this.document.execCommand(n,false,ps[n]);
|
|
746
|
+
}catch(e2){}
|
|
747
|
+
}
|
|
748
|
+
}
|
|
749
|
+
}
|
|
750
|
+
// this.document.execCommand('contentReadOnly', false, value);
|
|
751
|
+
// if(value){
|
|
752
|
+
// this.blur(); //to remove the blinking caret
|
|
753
|
+
// }
|
|
754
|
+
}
|
|
755
|
+
this._disabledOK = true;
|
|
756
|
+
},
|
|
757
|
+
|
|
758
|
+
/* Event handlers
|
|
759
|
+
*****************/
|
|
760
|
+
|
|
761
|
+
onLoad: function(/*String*/ html){
|
|
762
|
+
// summary:
|
|
763
|
+
// Handler after the iframe finishes loading.
|
|
764
|
+
// html: String
|
|
765
|
+
// Editor contents should be set to this value
|
|
766
|
+
// tags:
|
|
767
|
+
// protected
|
|
768
|
+
|
|
769
|
+
// TODO: rename this to _onLoad, make empty public onLoad() method, deprecate/make protected onLoadDeferred handler?
|
|
770
|
+
|
|
771
|
+
if(!this.window.__registeredWindow){
|
|
772
|
+
this.window.__registeredWindow = true;
|
|
773
|
+
this._iframeRegHandle = focus.registerIframe(this.iframe);
|
|
774
|
+
}
|
|
775
|
+
if(!has("ie") && !has("webkit") && (this.height || has("mozilla"))){
|
|
776
|
+
this.editNode=this.document.body;
|
|
777
|
+
}else{
|
|
778
|
+
// there's a wrapper div around the content, see _getIframeDocTxt().
|
|
779
|
+
this.editNode=this.document.body.firstChild;
|
|
780
|
+
var _this = this;
|
|
781
|
+
if(has("ie")){ // #4996 IE wants to focus the BODY tag
|
|
782
|
+
this.tabStop = domConstruct.create('div', { tabIndex: -1 }, this.editingArea);
|
|
783
|
+
this.iframe.onfocus = function(){ _this.editNode.setActive(); };
|
|
784
|
+
}
|
|
785
|
+
}
|
|
786
|
+
this.focusNode = this.editNode; // for InlineEditBox
|
|
787
|
+
|
|
788
|
+
|
|
789
|
+
var events = this.events.concat(this.captureEvents);
|
|
790
|
+
var ap = this.iframe ? this.document : this.editNode;
|
|
791
|
+
array.forEach(events, function(item){
|
|
792
|
+
this.connect(ap, item.toLowerCase(), item);
|
|
793
|
+
}, this);
|
|
794
|
+
|
|
795
|
+
this.connect(ap, "onmouseup", "onClick"); // mouseup in the margin does not generate an onclick event
|
|
796
|
+
|
|
797
|
+
if(has("ie")){ // IE contentEditable
|
|
798
|
+
this.connect(this.document, "onmousedown", "_onIEMouseDown"); // #4996 fix focus
|
|
799
|
+
|
|
800
|
+
// give the node Layout on IE
|
|
801
|
+
// TODO: this may no longer be needed, since we've reverted IE to using an iframe,
|
|
802
|
+
// not contentEditable. Removing it would also probably remove the need for creating
|
|
803
|
+
// the extra <div> in _getIframeDocTxt()
|
|
804
|
+
this.editNode.style.zoom = 1.0;
|
|
805
|
+
}else{
|
|
806
|
+
this.connect(this.document, "onmousedown", function(){
|
|
807
|
+
// Clear the moveToStart focus, as mouse
|
|
808
|
+
// down will set cursor point. Required to properly
|
|
809
|
+
// work with selection/position driven plugins and clicks in
|
|
810
|
+
// the window. refs: #10678
|
|
811
|
+
delete this._cursorToStart;
|
|
812
|
+
});
|
|
813
|
+
}
|
|
814
|
+
|
|
815
|
+
if(has("webkit")){
|
|
816
|
+
//WebKit sometimes doesn't fire right on selections, so the toolbar
|
|
817
|
+
//doesn't update right. Therefore, help it out a bit with an additional
|
|
818
|
+
//listener. A mouse up will typically indicate a display change, so fire this
|
|
819
|
+
//and get the toolbar to adapt. Reference: #9532
|
|
820
|
+
this._webkitListener = this.connect(this.document, "onmouseup", "onDisplayChanged");
|
|
821
|
+
this.connect(this.document, "onmousedown", function(e){
|
|
822
|
+
var t = e.target;
|
|
823
|
+
if(t && (t === this.document.body || t === this.document)){
|
|
824
|
+
// Since WebKit uses the inner DIV, we need to check and set position.
|
|
825
|
+
// See: #12024 as to why the change was made.
|
|
826
|
+
this.defer("placeCursorAtEnd");
|
|
827
|
+
}
|
|
828
|
+
});
|
|
829
|
+
}
|
|
830
|
+
|
|
831
|
+
if(has("ie")){
|
|
832
|
+
// Try to make sure 'hidden' elements aren't visible in edit mode (like browsers other than IE
|
|
833
|
+
// do). See #9103
|
|
834
|
+
try{
|
|
835
|
+
this.document.execCommand('RespectVisibilityInDesign', true, null);
|
|
836
|
+
}catch(e){/* squelch */}
|
|
837
|
+
}
|
|
838
|
+
|
|
839
|
+
this.isLoaded = true;
|
|
840
|
+
|
|
841
|
+
this.set('disabled', this.disabled); // initialize content to editable (or not)
|
|
842
|
+
|
|
843
|
+
// Note that setValue() call will only work after isLoaded is set to true (above)
|
|
844
|
+
|
|
845
|
+
// Set up a function to allow delaying the setValue until a callback is fired
|
|
846
|
+
// This ensures extensions like dijit.Editor have a way to hold the value set
|
|
847
|
+
// until plugins load (and do things like register filters).
|
|
848
|
+
var setContent = lang.hitch(this, function(){
|
|
849
|
+
this.setValue(html);
|
|
850
|
+
if(this.onLoadDeferred){
|
|
851
|
+
this.onLoadDeferred.resolve(true);
|
|
852
|
+
}
|
|
853
|
+
this.onDisplayChanged();
|
|
854
|
+
if(this.focusOnLoad){
|
|
855
|
+
// after the document loads, then set focus after updateInterval expires so that
|
|
856
|
+
// onNormalizedDisplayChanged has run to avoid input caret issues
|
|
857
|
+
ready(lang.hitch(this, "defer", "focus", this.updateInterval));
|
|
858
|
+
}
|
|
859
|
+
// Save off the initial content now
|
|
860
|
+
this.value = this.getValue(true);
|
|
861
|
+
});
|
|
862
|
+
if(this.setValueDeferred){
|
|
863
|
+
this.setValueDeferred.then(setContent);
|
|
864
|
+
}else{
|
|
865
|
+
setContent();
|
|
866
|
+
}
|
|
867
|
+
},
|
|
868
|
+
|
|
869
|
+
onKeyDown: function(/* Event */ e){
|
|
870
|
+
// summary:
|
|
871
|
+
// Handler for onkeydown event
|
|
872
|
+
// tags:
|
|
873
|
+
// protected
|
|
874
|
+
|
|
875
|
+
// we need this event at the moment to get the events from control keys
|
|
876
|
+
// such as the backspace. It might be possible to add this to Dojo, so that
|
|
877
|
+
// keyPress events can be emulated by the keyDown and keyUp detection.
|
|
878
|
+
|
|
879
|
+
if(e.keyCode === keys.TAB && this.isTabIndent ){
|
|
880
|
+
event.stop(e); //prevent tab from moving focus out of editor
|
|
881
|
+
|
|
882
|
+
// FIXME: this is a poor-man's indent/outdent. It would be
|
|
883
|
+
// better if it added 4 " " chars in an undoable way.
|
|
884
|
+
// Unfortunately pasteHTML does not prove to be undoable
|
|
885
|
+
if(this.queryCommandEnabled((e.shiftKey ? "outdent" : "indent"))){
|
|
886
|
+
this.execCommand((e.shiftKey ? "outdent" : "indent"));
|
|
887
|
+
}
|
|
888
|
+
}
|
|
889
|
+
if(has("ie")){
|
|
890
|
+
if(e.keyCode == keys.TAB && !this.isTabIndent){
|
|
891
|
+
if(e.shiftKey && !e.ctrlKey && !e.altKey){
|
|
892
|
+
// focus the BODY so the browser will tab away from it instead
|
|
893
|
+
this.iframe.focus();
|
|
894
|
+
}else if(!e.shiftKey && !e.ctrlKey && !e.altKey){
|
|
895
|
+
// focus the BODY so the browser will tab away from it instead
|
|
896
|
+
this.tabStop.focus();
|
|
897
|
+
}
|
|
898
|
+
}else if(e.keyCode === keys.BACKSPACE && this.document.selection.type === "Control"){
|
|
899
|
+
// IE has a bug where if a non-text object is selected in the editor,
|
|
900
|
+
// hitting backspace would act as if the browser's back button was
|
|
901
|
+
// clicked instead of deleting the object. see #1069
|
|
902
|
+
event.stop(e);
|
|
903
|
+
this.execCommand("delete");
|
|
904
|
+
}else if((65 <= e.keyCode && e.keyCode <= 90) ||
|
|
905
|
+
(e.keyCode>=37 && e.keyCode<=40) // FIXME: get this from connect() instead!
|
|
906
|
+
){ //arrow keys
|
|
907
|
+
e.charCode = e.keyCode;
|
|
908
|
+
this.onKeyPress(e);
|
|
909
|
+
}
|
|
910
|
+
}
|
|
911
|
+
if(has("ff")){
|
|
912
|
+
if(e.keyCode === keys.PAGE_UP || e.keyCode === keys.PAGE_DOWN ){
|
|
913
|
+
if(this.editNode.clientHeight >= this.editNode.scrollHeight){
|
|
914
|
+
// Stop the event to prevent firefox from trapping the cursor when there is no scroll bar.
|
|
915
|
+
e.preventDefault();
|
|
916
|
+
}
|
|
917
|
+
}
|
|
918
|
+
}
|
|
919
|
+
return true;
|
|
920
|
+
},
|
|
921
|
+
|
|
922
|
+
onKeyUp: function(/*===== e =====*/){
|
|
923
|
+
// summary:
|
|
924
|
+
// Handler for onkeyup event
|
|
925
|
+
// tags:
|
|
926
|
+
// callback
|
|
927
|
+
},
|
|
928
|
+
|
|
929
|
+
setDisabled: function(/*Boolean*/ disabled){
|
|
930
|
+
// summary:
|
|
931
|
+
// Deprecated, use set('disabled', ...) instead.
|
|
932
|
+
// tags:
|
|
933
|
+
// deprecated
|
|
934
|
+
kernel.deprecated('dijit.Editor::setDisabled is deprecated','use dijit.Editor::attr("disabled",boolean) instead', 2.0);
|
|
935
|
+
this.set('disabled',disabled);
|
|
936
|
+
},
|
|
937
|
+
_setValueAttr: function(/*String*/ value){
|
|
938
|
+
// summary:
|
|
939
|
+
// Registers that attr("value", foo) should call setValue(foo)
|
|
940
|
+
this.setValue(value);
|
|
941
|
+
},
|
|
942
|
+
_setDisableSpellCheckAttr: function(/*Boolean*/ disabled){
|
|
943
|
+
if(this.document){
|
|
944
|
+
domAttr.set(this.document.body, "spellcheck", !disabled);
|
|
945
|
+
}else{
|
|
946
|
+
// try again after the editor is finished loading
|
|
947
|
+
this.onLoadDeferred.then(lang.hitch(this, function(){
|
|
948
|
+
domAttr.set(this.document.body, "spellcheck", !disabled);
|
|
949
|
+
}));
|
|
950
|
+
}
|
|
951
|
+
this._set("disableSpellCheck", disabled);
|
|
952
|
+
},
|
|
953
|
+
|
|
954
|
+
onKeyPress: function(e){
|
|
955
|
+
// summary:
|
|
956
|
+
// Handle the various key events
|
|
957
|
+
// tags:
|
|
958
|
+
// protected
|
|
959
|
+
|
|
960
|
+
var c = (e.keyChar && e.keyChar.toLowerCase()) || e.keyCode,
|
|
961
|
+
handlers = this._keyHandlers[c],
|
|
962
|
+
args = arguments;
|
|
963
|
+
|
|
964
|
+
if(handlers && !e.altKey){
|
|
965
|
+
array.some(handlers, function(h){
|
|
966
|
+
// treat meta- same as ctrl-, for benefit of mac users
|
|
967
|
+
if(!(h.shift ^ e.shiftKey) && !(h.ctrl ^ (e.ctrlKey||e.metaKey))){
|
|
968
|
+
if(!h.handler.apply(this, args)){
|
|
969
|
+
e.preventDefault();
|
|
970
|
+
}
|
|
971
|
+
return true;
|
|
972
|
+
}
|
|
973
|
+
}, this);
|
|
974
|
+
}
|
|
975
|
+
|
|
976
|
+
// function call after the character has been inserted
|
|
977
|
+
if(!this._onKeyHitch){
|
|
978
|
+
this._onKeyHitch = lang.hitch(this, "onKeyPressed");
|
|
979
|
+
}
|
|
980
|
+
this.defer("_onKeyHitch", 1);
|
|
981
|
+
return true;
|
|
982
|
+
},
|
|
983
|
+
|
|
984
|
+
addKeyHandler: function(/*String*/ key, /*Boolean*/ ctrl, /*Boolean*/ shift, /*Function*/ handler){
|
|
985
|
+
// summary:
|
|
986
|
+
// Add a handler for a keyboard shortcut
|
|
987
|
+
// description:
|
|
988
|
+
// The key argument should be in lowercase if it is a letter character
|
|
989
|
+
// tags:
|
|
990
|
+
// protected
|
|
991
|
+
if(!lang.isArray(this._keyHandlers[key])){
|
|
992
|
+
this._keyHandlers[key] = [];
|
|
993
|
+
}
|
|
994
|
+
//TODO: would be nice to make this a hash instead of an array for quick lookups
|
|
995
|
+
this._keyHandlers[key].push({
|
|
996
|
+
shift: shift || false,
|
|
997
|
+
ctrl: ctrl || false,
|
|
998
|
+
handler: handler
|
|
999
|
+
});
|
|
1000
|
+
},
|
|
1001
|
+
|
|
1002
|
+
onKeyPressed: function(){
|
|
1003
|
+
// summary:
|
|
1004
|
+
// Handler for after the user has pressed a key, and the display has been updated.
|
|
1005
|
+
// (Runs on a timer so that it runs after the display is updated)
|
|
1006
|
+
// tags:
|
|
1007
|
+
// private
|
|
1008
|
+
this.onDisplayChanged(/*e*/); // can't pass in e
|
|
1009
|
+
},
|
|
1010
|
+
|
|
1011
|
+
onClick: function(/*Event*/ e){
|
|
1012
|
+
// summary:
|
|
1013
|
+
// Handler for when the user clicks.
|
|
1014
|
+
// tags:
|
|
1015
|
+
// private
|
|
1016
|
+
|
|
1017
|
+
// console.info('onClick',this._tryDesignModeOn);
|
|
1018
|
+
this.onDisplayChanged(e);
|
|
1019
|
+
},
|
|
1020
|
+
|
|
1021
|
+
_onIEMouseDown: function(){
|
|
1022
|
+
// summary:
|
|
1023
|
+
// IE only to prevent 2 clicks to focus
|
|
1024
|
+
// tags:
|
|
1025
|
+
// protected
|
|
1026
|
+
|
|
1027
|
+
if(!this.focused && !this.disabled){
|
|
1028
|
+
this.focus();
|
|
1029
|
+
}
|
|
1030
|
+
},
|
|
1031
|
+
|
|
1032
|
+
_onBlur: function(e){
|
|
1033
|
+
// summary:
|
|
1034
|
+
// Called from focus manager when focus has moved away from this editor
|
|
1035
|
+
// tags:
|
|
1036
|
+
// protected
|
|
1037
|
+
|
|
1038
|
+
// console.info('_onBlur')
|
|
1039
|
+
|
|
1040
|
+
this.inherited(arguments);
|
|
1041
|
+
|
|
1042
|
+
var newValue = this.getValue(true);
|
|
1043
|
+
if(newValue !== this.value){
|
|
1044
|
+
this.onChange(newValue);
|
|
1045
|
+
}
|
|
1046
|
+
this._set("value", newValue);
|
|
1047
|
+
},
|
|
1048
|
+
|
|
1049
|
+
_onFocus: function(/*Event*/ e){
|
|
1050
|
+
// summary:
|
|
1051
|
+
// Called from focus manager when focus has moved into this editor
|
|
1052
|
+
// tags:
|
|
1053
|
+
// protected
|
|
1054
|
+
|
|
1055
|
+
// console.info('_onFocus')
|
|
1056
|
+
if(!this.disabled){
|
|
1057
|
+
if(!this._disabledOK){
|
|
1058
|
+
this.set('disabled', false);
|
|
1059
|
+
}
|
|
1060
|
+
this.inherited(arguments);
|
|
1061
|
+
}
|
|
1062
|
+
},
|
|
1063
|
+
|
|
1064
|
+
// TODO: remove in 2.0
|
|
1065
|
+
blur: function(){
|
|
1066
|
+
// summary:
|
|
1067
|
+
// Remove focus from this instance.
|
|
1068
|
+
// tags:
|
|
1069
|
+
// deprecated
|
|
1070
|
+
if(!has("ie") && this.window.document.documentElement && this.window.document.documentElement.focus){
|
|
1071
|
+
this.window.document.documentElement.focus();
|
|
1072
|
+
}else if(this.ownerDocumentBody.focus){
|
|
1073
|
+
this.ownerDocumentBody.focus();
|
|
1074
|
+
}
|
|
1075
|
+
},
|
|
1076
|
+
|
|
1077
|
+
focus: function(){
|
|
1078
|
+
// summary:
|
|
1079
|
+
// Move focus to this editor
|
|
1080
|
+
if(!this.isLoaded){
|
|
1081
|
+
this.focusOnLoad = true;
|
|
1082
|
+
return;
|
|
1083
|
+
}
|
|
1084
|
+
if(this._cursorToStart){
|
|
1085
|
+
delete this._cursorToStart;
|
|
1086
|
+
if(this.editNode.childNodes){
|
|
1087
|
+
this.placeCursorAtStart(); // this calls focus() so return
|
|
1088
|
+
return;
|
|
1089
|
+
}
|
|
1090
|
+
}
|
|
1091
|
+
if(!has("ie")){
|
|
1092
|
+
focus.focus(this.iframe);
|
|
1093
|
+
}else if(this.editNode && this.editNode.focus){
|
|
1094
|
+
// editNode may be hidden in display:none div, lets just punt in this case
|
|
1095
|
+
//this.editNode.focus(); -> causes IE to scroll always (strict and quirks mode) to the top the Iframe
|
|
1096
|
+
// if we fire the event manually and let the browser handle the focusing, the latest
|
|
1097
|
+
// cursor position is focused like in FF
|
|
1098
|
+
this.iframe.fireEvent('onfocus', document.createEventObject()); // createEventObject only in IE
|
|
1099
|
+
// }else{
|
|
1100
|
+
// TODO: should we throw here?
|
|
1101
|
+
// console.debug("Have no idea how to focus into the editor!");
|
|
1102
|
+
}
|
|
1103
|
+
},
|
|
1104
|
+
|
|
1105
|
+
// _lastUpdate: 0,
|
|
1106
|
+
updateInterval: 200,
|
|
1107
|
+
_updateTimer: null,
|
|
1108
|
+
onDisplayChanged: function(/*Event*/ /*===== e =====*/){
|
|
1109
|
+
// summary:
|
|
1110
|
+
// This event will be fired every time the display context
|
|
1111
|
+
// changes and the result needs to be reflected in the UI.
|
|
1112
|
+
// description:
|
|
1113
|
+
// If you don't want to have update too often,
|
|
1114
|
+
// onNormalizedDisplayChanged should be used instead
|
|
1115
|
+
// tags:
|
|
1116
|
+
// private
|
|
1117
|
+
|
|
1118
|
+
// var _t=new Date();
|
|
1119
|
+
if(this._updateTimer){
|
|
1120
|
+
this._updateTimer.remove();
|
|
1121
|
+
}
|
|
1122
|
+
this._updateTimer = this.defer("onNormalizedDisplayChanged", this.updateInterval);
|
|
1123
|
+
|
|
1124
|
+
// Technically this should trigger a call to watch("value", ...) registered handlers,
|
|
1125
|
+
// but getValue() is too slow to call on every keystroke so we don't.
|
|
1126
|
+
},
|
|
1127
|
+
onNormalizedDisplayChanged: function(){
|
|
1128
|
+
// summary:
|
|
1129
|
+
// This event is fired every updateInterval ms or more
|
|
1130
|
+
// description:
|
|
1131
|
+
// If something needs to happen immediately after a
|
|
1132
|
+
// user change, please use onDisplayChanged instead.
|
|
1133
|
+
// tags:
|
|
1134
|
+
// private
|
|
1135
|
+
delete this._updateTimer;
|
|
1136
|
+
},
|
|
1137
|
+
onChange: function(/*===== newContent =====*/){
|
|
1138
|
+
// summary:
|
|
1139
|
+
// This is fired if and only if the editor loses focus and
|
|
1140
|
+
// the content is changed.
|
|
1141
|
+
},
|
|
1142
|
+
_normalizeCommand: function(/*String*/ cmd, /*Anything?*/argument){
|
|
1143
|
+
// summary:
|
|
1144
|
+
// Used as the advice function to map our
|
|
1145
|
+
// normalized set of commands to those supported by the target
|
|
1146
|
+
// browser.
|
|
1147
|
+
// tags:
|
|
1148
|
+
// private
|
|
1149
|
+
|
|
1150
|
+
var command = cmd.toLowerCase();
|
|
1151
|
+
if(command === "formatblock"){
|
|
1152
|
+
if(has("safari") && argument === undefined){ command = "heading"; }
|
|
1153
|
+
}else if(command === "hilitecolor" && !has("mozilla")){
|
|
1154
|
+
command = "backcolor";
|
|
1155
|
+
}
|
|
1156
|
+
|
|
1157
|
+
return command;
|
|
1158
|
+
},
|
|
1159
|
+
|
|
1160
|
+
_qcaCache: {},
|
|
1161
|
+
queryCommandAvailable: function(/*String*/ command){
|
|
1162
|
+
// summary:
|
|
1163
|
+
// Tests whether a command is supported by the host. Clients
|
|
1164
|
+
// SHOULD check whether a command is supported before attempting
|
|
1165
|
+
// to use it, behaviour for unsupported commands is undefined.
|
|
1166
|
+
// command:
|
|
1167
|
+
// The command to test for
|
|
1168
|
+
// tags:
|
|
1169
|
+
// private
|
|
1170
|
+
|
|
1171
|
+
// memoizing version. See _queryCommandAvailable for computing version
|
|
1172
|
+
var ca = this._qcaCache[command];
|
|
1173
|
+
if(ca !== undefined){ return ca; }
|
|
1174
|
+
return (this._qcaCache[command] = this._queryCommandAvailable(command));
|
|
1175
|
+
},
|
|
1176
|
+
|
|
1177
|
+
_queryCommandAvailable: function(/*String*/ command){
|
|
1178
|
+
// summary:
|
|
1179
|
+
// See queryCommandAvailable().
|
|
1180
|
+
// tags:
|
|
1181
|
+
// private
|
|
1182
|
+
|
|
1183
|
+
var ie = 1;
|
|
1184
|
+
var mozilla = 1 << 1;
|
|
1185
|
+
var webkit = 1 << 2;
|
|
1186
|
+
var opera = 1 << 3;
|
|
1187
|
+
|
|
1188
|
+
function isSupportedBy(browsers){
|
|
1189
|
+
return {
|
|
1190
|
+
ie: Boolean(browsers & ie),
|
|
1191
|
+
mozilla: Boolean(browsers & mozilla),
|
|
1192
|
+
webkit: Boolean(browsers & webkit),
|
|
1193
|
+
opera: Boolean(browsers & opera)
|
|
1194
|
+
};
|
|
1195
|
+
}
|
|
1196
|
+
|
|
1197
|
+
var supportedBy = null;
|
|
1198
|
+
|
|
1199
|
+
switch(command.toLowerCase()){
|
|
1200
|
+
case "bold": case "italic": case "underline":
|
|
1201
|
+
case "subscript": case "superscript":
|
|
1202
|
+
case "fontname": case "fontsize":
|
|
1203
|
+
case "forecolor": case "hilitecolor":
|
|
1204
|
+
case "justifycenter": case "justifyfull": case "justifyleft":
|
|
1205
|
+
case "justifyright": case "delete": case "selectall": case "toggledir":
|
|
1206
|
+
supportedBy = isSupportedBy(mozilla | ie | webkit | opera);
|
|
1207
|
+
break;
|
|
1208
|
+
|
|
1209
|
+
case "createlink": case "unlink": case "removeformat":
|
|
1210
|
+
case "inserthorizontalrule": case "insertimage":
|
|
1211
|
+
case "insertorderedlist": case "insertunorderedlist":
|
|
1212
|
+
case "indent": case "outdent": case "formatblock":
|
|
1213
|
+
case "inserthtml": case "undo": case "redo": case "strikethrough": case "tabindent":
|
|
1214
|
+
supportedBy = isSupportedBy(mozilla | ie | opera | webkit);
|
|
1215
|
+
break;
|
|
1216
|
+
|
|
1217
|
+
case "blockdirltr": case "blockdirrtl":
|
|
1218
|
+
case "dirltr": case "dirrtl":
|
|
1219
|
+
case "inlinedirltr": case "inlinedirrtl":
|
|
1220
|
+
supportedBy = isSupportedBy(ie);
|
|
1221
|
+
break;
|
|
1222
|
+
case "cut": case "copy": case "paste":
|
|
1223
|
+
supportedBy = isSupportedBy( ie | mozilla | webkit | opera);
|
|
1224
|
+
break;
|
|
1225
|
+
|
|
1226
|
+
case "inserttable":
|
|
1227
|
+
supportedBy = isSupportedBy(mozilla | ie);
|
|
1228
|
+
break;
|
|
1229
|
+
|
|
1230
|
+
case "insertcell": case "insertcol": case "insertrow":
|
|
1231
|
+
case "deletecells": case "deletecols": case "deleterows":
|
|
1232
|
+
case "mergecells": case "splitcell":
|
|
1233
|
+
supportedBy = isSupportedBy(ie | mozilla);
|
|
1234
|
+
break;
|
|
1235
|
+
|
|
1236
|
+
default: return false;
|
|
1237
|
+
}
|
|
1238
|
+
|
|
1239
|
+
return (has("ie") && supportedBy.ie) ||
|
|
1240
|
+
(has("mozilla") && supportedBy.mozilla) ||
|
|
1241
|
+
(has("webkit") && supportedBy.webkit) ||
|
|
1242
|
+
(has("opera") && supportedBy.opera); // Boolean return true if the command is supported, false otherwise
|
|
1243
|
+
},
|
|
1244
|
+
|
|
1245
|
+
execCommand: function(/*String*/ command, argument){
|
|
1246
|
+
// summary:
|
|
1247
|
+
// Executes a command in the Rich Text area
|
|
1248
|
+
// command:
|
|
1249
|
+
// The command to execute
|
|
1250
|
+
// argument:
|
|
1251
|
+
// An optional argument to the command
|
|
1252
|
+
// tags:
|
|
1253
|
+
// protected
|
|
1254
|
+
var returnValue;
|
|
1255
|
+
|
|
1256
|
+
//focus() is required for IE to work
|
|
1257
|
+
//In addition, focus() makes sure after the execution of
|
|
1258
|
+
//the command, the editor receives the focus as expected
|
|
1259
|
+
this.focus();
|
|
1260
|
+
|
|
1261
|
+
command = this._normalizeCommand(command, argument);
|
|
1262
|
+
|
|
1263
|
+
if(argument !== undefined){
|
|
1264
|
+
if(command === "heading"){
|
|
1265
|
+
throw new Error("unimplemented");
|
|
1266
|
+
}else if((command === "formatblock") && has("ie")){
|
|
1267
|
+
argument = '<'+argument+'>';
|
|
1268
|
+
}
|
|
1269
|
+
}
|
|
1270
|
+
|
|
1271
|
+
//Check to see if we have any over-rides for commands, they will be functions on this
|
|
1272
|
+
//widget of the form _commandImpl. If we don't, fall through to the basic native
|
|
1273
|
+
//exec command of the browser.
|
|
1274
|
+
var implFunc = "_" + command + "Impl";
|
|
1275
|
+
if(this[implFunc]){
|
|
1276
|
+
returnValue = this[implFunc](argument);
|
|
1277
|
+
}else{
|
|
1278
|
+
argument = arguments.length > 1 ? argument : null;
|
|
1279
|
+
if(argument || command !== "createlink"){
|
|
1280
|
+
returnValue = this.document.execCommand(command, false, argument);
|
|
1281
|
+
}
|
|
1282
|
+
}
|
|
1283
|
+
|
|
1284
|
+
this.onDisplayChanged();
|
|
1285
|
+
return returnValue;
|
|
1286
|
+
},
|
|
1287
|
+
|
|
1288
|
+
queryCommandEnabled: function(/*String*/ command){
|
|
1289
|
+
// summary:
|
|
1290
|
+
// Check whether a command is enabled or not.
|
|
1291
|
+
// command:
|
|
1292
|
+
// The command to execute
|
|
1293
|
+
// tags:
|
|
1294
|
+
// protected
|
|
1295
|
+
if(this.disabled || !this._disabledOK){ return false; }
|
|
1296
|
+
|
|
1297
|
+
command = this._normalizeCommand(command);
|
|
1298
|
+
|
|
1299
|
+
//Check to see if we have any over-rides for commands, they will be functions on this
|
|
1300
|
+
//widget of the form _commandEnabledImpl. If we don't, fall through to the basic native
|
|
1301
|
+
//command of the browser.
|
|
1302
|
+
var implFunc = "_" + command + "EnabledImpl";
|
|
1303
|
+
|
|
1304
|
+
if(this[implFunc]){
|
|
1305
|
+
return this[implFunc](command);
|
|
1306
|
+
}else{
|
|
1307
|
+
return this._browserQueryCommandEnabled(command);
|
|
1308
|
+
}
|
|
1309
|
+
},
|
|
1310
|
+
|
|
1311
|
+
queryCommandState: function(command){
|
|
1312
|
+
// summary:
|
|
1313
|
+
// Check the state of a given command and returns true or false.
|
|
1314
|
+
// tags:
|
|
1315
|
+
// protected
|
|
1316
|
+
|
|
1317
|
+
if(this.disabled || !this._disabledOK){ return false; }
|
|
1318
|
+
command = this._normalizeCommand(command);
|
|
1319
|
+
try{
|
|
1320
|
+
return this.document.queryCommandState(command);
|
|
1321
|
+
}catch(e){
|
|
1322
|
+
//Squelch, occurs if editor is hidden on FF 3 (and maybe others.)
|
|
1323
|
+
return false;
|
|
1324
|
+
}
|
|
1325
|
+
},
|
|
1326
|
+
|
|
1327
|
+
queryCommandValue: function(command){
|
|
1328
|
+
// summary:
|
|
1329
|
+
// Check the value of a given command. This matters most for
|
|
1330
|
+
// custom selections and complex values like font value setting.
|
|
1331
|
+
// tags:
|
|
1332
|
+
// protected
|
|
1333
|
+
|
|
1334
|
+
if(this.disabled || !this._disabledOK){ return false; }
|
|
1335
|
+
var r;
|
|
1336
|
+
command = this._normalizeCommand(command);
|
|
1337
|
+
if(has("ie") && command === "formatblock"){
|
|
1338
|
+
r = this._native2LocalFormatNames[this.document.queryCommandValue(command)];
|
|
1339
|
+
}else if(has("mozilla") && command === "hilitecolor"){
|
|
1340
|
+
var oldValue;
|
|
1341
|
+
try{
|
|
1342
|
+
oldValue = this.document.queryCommandValue("styleWithCSS");
|
|
1343
|
+
}catch(e){
|
|
1344
|
+
oldValue = false;
|
|
1345
|
+
}
|
|
1346
|
+
this.document.execCommand("styleWithCSS", false, true);
|
|
1347
|
+
r = this.document.queryCommandValue(command);
|
|
1348
|
+
this.document.execCommand("styleWithCSS", false, oldValue);
|
|
1349
|
+
}else{
|
|
1350
|
+
r = this.document.queryCommandValue(command);
|
|
1351
|
+
}
|
|
1352
|
+
return r;
|
|
1353
|
+
},
|
|
1354
|
+
|
|
1355
|
+
// Misc.
|
|
1356
|
+
|
|
1357
|
+
_sCall: function(name, args){
|
|
1358
|
+
// summary:
|
|
1359
|
+
// Run the named method of dijit/_editor/selection over the
|
|
1360
|
+
// current editor instance's window, with the passed args.
|
|
1361
|
+
// tags:
|
|
1362
|
+
// private
|
|
1363
|
+
return win.withGlobal(this.window, name, selectionapi, args);
|
|
1364
|
+
},
|
|
1365
|
+
|
|
1366
|
+
// FIXME: this is a TON of code duplication. Why?
|
|
1367
|
+
|
|
1368
|
+
placeCursorAtStart: function(){
|
|
1369
|
+
// summary:
|
|
1370
|
+
// Place the cursor at the start of the editing area.
|
|
1371
|
+
// tags:
|
|
1372
|
+
// private
|
|
1373
|
+
|
|
1374
|
+
this.focus();
|
|
1375
|
+
|
|
1376
|
+
//see comments in placeCursorAtEnd
|
|
1377
|
+
var isvalid=false;
|
|
1378
|
+
if(has("mozilla")){
|
|
1379
|
+
// TODO: Is this branch even necessary?
|
|
1380
|
+
var first=this.editNode.firstChild;
|
|
1381
|
+
while(first){
|
|
1382
|
+
if(first.nodeType === 3){
|
|
1383
|
+
if(first.nodeValue.replace(/^\s+|\s+$/g, "").length>0){
|
|
1384
|
+
isvalid=true;
|
|
1385
|
+
this._sCall("selectElement", [ first ]);
|
|
1386
|
+
break;
|
|
1387
|
+
}
|
|
1388
|
+
}else if(first.nodeType === 1){
|
|
1389
|
+
isvalid=true;
|
|
1390
|
+
var tg = first.tagName ? first.tagName.toLowerCase() : "";
|
|
1391
|
+
// Collapse before childless tags.
|
|
1392
|
+
if(/br|input|img|base|meta|area|basefont|hr|link/.test(tg)){
|
|
1393
|
+
this._sCall("selectElement", [ first ]);
|
|
1394
|
+
}else{
|
|
1395
|
+
// Collapse inside tags with children.
|
|
1396
|
+
this._sCall("selectElementChildren", [ first ]);
|
|
1397
|
+
}
|
|
1398
|
+
break;
|
|
1399
|
+
}
|
|
1400
|
+
first = first.nextSibling;
|
|
1401
|
+
}
|
|
1402
|
+
}else{
|
|
1403
|
+
isvalid=true;
|
|
1404
|
+
this._sCall("selectElementChildren", [ this.editNode ]);
|
|
1405
|
+
}
|
|
1406
|
+
if(isvalid){
|
|
1407
|
+
this._sCall("collapse", [ true ]);
|
|
1408
|
+
}
|
|
1409
|
+
},
|
|
1410
|
+
|
|
1411
|
+
placeCursorAtEnd: function(){
|
|
1412
|
+
// summary:
|
|
1413
|
+
// Place the cursor at the end of the editing area.
|
|
1414
|
+
// tags:
|
|
1415
|
+
// private
|
|
1416
|
+
|
|
1417
|
+
this.focus();
|
|
1418
|
+
|
|
1419
|
+
//In mozilla, if last child is not a text node, we have to use
|
|
1420
|
+
// selectElementChildren on this.editNode.lastChild otherwise the
|
|
1421
|
+
// cursor would be placed at the end of the closing tag of
|
|
1422
|
+
//this.editNode.lastChild
|
|
1423
|
+
var isvalid=false;
|
|
1424
|
+
if(has("mozilla")){
|
|
1425
|
+
var last=this.editNode.lastChild;
|
|
1426
|
+
while(last){
|
|
1427
|
+
if(last.nodeType === 3){
|
|
1428
|
+
if(last.nodeValue.replace(/^\s+|\s+$/g, "").length>0){
|
|
1429
|
+
isvalid=true;
|
|
1430
|
+
this._sCall("selectElement", [ last ]);
|
|
1431
|
+
break;
|
|
1432
|
+
}
|
|
1433
|
+
}else if(last.nodeType === 1){
|
|
1434
|
+
isvalid=true;
|
|
1435
|
+
this._sCall("selectElement", [ last.lastChild || last]);
|
|
1436
|
+
break;
|
|
1437
|
+
}
|
|
1438
|
+
last = last.previousSibling;
|
|
1439
|
+
}
|
|
1440
|
+
}else{
|
|
1441
|
+
isvalid=true;
|
|
1442
|
+
this._sCall("selectElementChildren", [ this.editNode ]);
|
|
1443
|
+
}
|
|
1444
|
+
if(isvalid){
|
|
1445
|
+
this._sCall("collapse", [ false ]);
|
|
1446
|
+
}
|
|
1447
|
+
},
|
|
1448
|
+
|
|
1449
|
+
getValue: function(/*Boolean?*/ nonDestructive){
|
|
1450
|
+
// summary:
|
|
1451
|
+
// Return the current content of the editing area (post filters
|
|
1452
|
+
// are applied). Users should call get('value') instead.
|
|
1453
|
+
// nonDestructive:
|
|
1454
|
+
// defaults to false. Should the post-filtering be run over a copy
|
|
1455
|
+
// of the live DOM? Most users should pass "true" here unless they
|
|
1456
|
+
// *really* know that none of the installed filters are going to
|
|
1457
|
+
// mess up the editing session.
|
|
1458
|
+
// tags:
|
|
1459
|
+
// private
|
|
1460
|
+
if(this.textarea){
|
|
1461
|
+
if(this.isClosed || !this.isLoaded){
|
|
1462
|
+
return this.textarea.value;
|
|
1463
|
+
}
|
|
1464
|
+
}
|
|
1465
|
+
|
|
1466
|
+
return this._postFilterContent(null, nonDestructive);
|
|
1467
|
+
},
|
|
1468
|
+
_getValueAttr: function(){
|
|
1469
|
+
// summary:
|
|
1470
|
+
// Hook to make attr("value") work
|
|
1471
|
+
return this.getValue(true);
|
|
1472
|
+
},
|
|
1473
|
+
|
|
1474
|
+
setValue: function(/*String*/ html){
|
|
1475
|
+
// summary:
|
|
1476
|
+
// This function sets the content. No undo history is preserved.
|
|
1477
|
+
// Users should use set('value', ...) instead.
|
|
1478
|
+
// tags:
|
|
1479
|
+
// deprecated
|
|
1480
|
+
|
|
1481
|
+
// TODO: remove this and getValue() for 2.0, and move code to _setValueAttr()
|
|
1482
|
+
|
|
1483
|
+
if(!this.isLoaded){
|
|
1484
|
+
// try again after the editor is finished loading
|
|
1485
|
+
this.onLoadDeferred.then(lang.hitch(this, function(){
|
|
1486
|
+
this.setValue(html);
|
|
1487
|
+
}));
|
|
1488
|
+
return;
|
|
1489
|
+
}
|
|
1490
|
+
this._cursorToStart = true;
|
|
1491
|
+
if(this.textarea && (this.isClosed || !this.isLoaded)){
|
|
1492
|
+
this.textarea.value=html;
|
|
1493
|
+
}else{
|
|
1494
|
+
html = this._preFilterContent(html);
|
|
1495
|
+
var node = this.isClosed ? this.domNode : this.editNode;
|
|
1496
|
+
if(html && has("mozilla") && html.toLowerCase() === "<p></p>"){
|
|
1497
|
+
html = "<p> </p>"; //
|
|
1498
|
+
}
|
|
1499
|
+
|
|
1500
|
+
// Use to avoid webkit problems where editor is disabled until the user clicks it
|
|
1501
|
+
if(!html && has("webkit")){
|
|
1502
|
+
html = " "; //
|
|
1503
|
+
}
|
|
1504
|
+
node.innerHTML = html;
|
|
1505
|
+
this._preDomFilterContent(node);
|
|
1506
|
+
}
|
|
1507
|
+
|
|
1508
|
+
this.onDisplayChanged();
|
|
1509
|
+
this._set("value", this.getValue(true));
|
|
1510
|
+
},
|
|
1511
|
+
|
|
1512
|
+
replaceValue: function(/*String*/ html){
|
|
1513
|
+
// summary:
|
|
1514
|
+
// This function set the content while trying to maintain the undo stack
|
|
1515
|
+
// (now only works fine with Moz, this is identical to setValue in all
|
|
1516
|
+
// other browsers)
|
|
1517
|
+
// tags:
|
|
1518
|
+
// protected
|
|
1519
|
+
|
|
1520
|
+
if(this.isClosed){
|
|
1521
|
+
this.setValue(html);
|
|
1522
|
+
}else if(this.window && this.window.getSelection && !has("mozilla")){ // Safari
|
|
1523
|
+
// look ma! it's a totally f'd browser!
|
|
1524
|
+
this.setValue(html);
|
|
1525
|
+
}else if(this.window && this.window.getSelection){ // Moz
|
|
1526
|
+
html = this._preFilterContent(html);
|
|
1527
|
+
this.execCommand("selectall");
|
|
1528
|
+
if(!html){
|
|
1529
|
+
this._cursorToStart = true;
|
|
1530
|
+
html = " "; //
|
|
1531
|
+
}
|
|
1532
|
+
this.execCommand("inserthtml", html);
|
|
1533
|
+
this._preDomFilterContent(this.editNode);
|
|
1534
|
+
}else if(this.document && this.document.selection){//IE
|
|
1535
|
+
//In IE, when the first element is not a text node, say
|
|
1536
|
+
//an <a> tag, when replacing the content of the editing
|
|
1537
|
+
//area, the <a> tag will be around all the content
|
|
1538
|
+
//so for now, use setValue for IE too
|
|
1539
|
+
this.setValue(html);
|
|
1540
|
+
}
|
|
1541
|
+
|
|
1542
|
+
this._set("value", this.getValue(true));
|
|
1543
|
+
},
|
|
1544
|
+
|
|
1545
|
+
_preFilterContent: function(/*String*/ html){
|
|
1546
|
+
// summary:
|
|
1547
|
+
// Filter the input before setting the content of the editing
|
|
1548
|
+
// area. DOM pre-filtering may happen after this
|
|
1549
|
+
// string-based filtering takes place but as of 1.2, this is not
|
|
1550
|
+
// guaranteed for operations such as the inserthtml command.
|
|
1551
|
+
// tags:
|
|
1552
|
+
// private
|
|
1553
|
+
|
|
1554
|
+
var ec = html;
|
|
1555
|
+
array.forEach(this.contentPreFilters, function(ef){ if(ef){ ec = ef(ec); } });
|
|
1556
|
+
return ec;
|
|
1557
|
+
},
|
|
1558
|
+
_preDomFilterContent: function(/*DomNode*/ dom){
|
|
1559
|
+
// summary:
|
|
1560
|
+
// filter the input's live DOM. All filter operations should be
|
|
1561
|
+
// considered to be "live" and operating on the DOM that the user
|
|
1562
|
+
// will be interacting with in their editing session.
|
|
1563
|
+
// tags:
|
|
1564
|
+
// private
|
|
1565
|
+
dom = dom || this.editNode;
|
|
1566
|
+
array.forEach(this.contentDomPreFilters, function(ef){
|
|
1567
|
+
if(ef && lang.isFunction(ef)){
|
|
1568
|
+
ef(dom);
|
|
1569
|
+
}
|
|
1570
|
+
}, this);
|
|
1571
|
+
},
|
|
1572
|
+
|
|
1573
|
+
_postFilterContent: function(
|
|
1574
|
+
/*DomNode|DomNode[]|String?*/ dom,
|
|
1575
|
+
/*Boolean?*/ nonDestructive){
|
|
1576
|
+
// summary:
|
|
1577
|
+
// filter the output after getting the content of the editing area
|
|
1578
|
+
//
|
|
1579
|
+
// description:
|
|
1580
|
+
// post-filtering allows plug-ins and users to specify any number
|
|
1581
|
+
// of transforms over the editor's content, enabling many common
|
|
1582
|
+
// use-cases such as transforming absolute to relative URLs (and
|
|
1583
|
+
// vice-versa), ensuring conformance with a particular DTD, etc.
|
|
1584
|
+
// The filters are registered in the contentDomPostFilters and
|
|
1585
|
+
// contentPostFilters arrays. Each item in the
|
|
1586
|
+
// contentDomPostFilters array is a function which takes a DOM
|
|
1587
|
+
// Node or array of nodes as its only argument and returns the
|
|
1588
|
+
// same. It is then passed down the chain for further filtering.
|
|
1589
|
+
// The contentPostFilters array behaves the same way, except each
|
|
1590
|
+
// member operates on strings. Together, the DOM and string-based
|
|
1591
|
+
// filtering allow the full range of post-processing that should
|
|
1592
|
+
// be necessaray to enable even the most agressive of post-editing
|
|
1593
|
+
// conversions to take place.
|
|
1594
|
+
//
|
|
1595
|
+
// If nonDestructive is set to "true", the nodes are cloned before
|
|
1596
|
+
// filtering proceeds to avoid potentially destructive transforms
|
|
1597
|
+
// to the content which may still needed to be edited further.
|
|
1598
|
+
// Once DOM filtering has taken place, the serialized version of
|
|
1599
|
+
// the DOM which is passed is run through each of the
|
|
1600
|
+
// contentPostFilters functions.
|
|
1601
|
+
//
|
|
1602
|
+
// dom:
|
|
1603
|
+
// a node, set of nodes, which to filter using each of the current
|
|
1604
|
+
// members of the contentDomPostFilters and contentPostFilters arrays.
|
|
1605
|
+
//
|
|
1606
|
+
// nonDestructive:
|
|
1607
|
+
// defaults to "false". If true, ensures that filtering happens on
|
|
1608
|
+
// a clone of the passed-in content and not the actual node
|
|
1609
|
+
// itself.
|
|
1610
|
+
//
|
|
1611
|
+
// tags:
|
|
1612
|
+
// private
|
|
1613
|
+
|
|
1614
|
+
var ec;
|
|
1615
|
+
if(!lang.isString(dom)){
|
|
1616
|
+
dom = dom || this.editNode;
|
|
1617
|
+
if(this.contentDomPostFilters.length){
|
|
1618
|
+
if(nonDestructive){
|
|
1619
|
+
dom = lang.clone(dom);
|
|
1620
|
+
}
|
|
1621
|
+
array.forEach(this.contentDomPostFilters, function(ef){
|
|
1622
|
+
dom = ef(dom);
|
|
1623
|
+
});
|
|
1624
|
+
}
|
|
1625
|
+
ec = htmlapi.getChildrenHtml(dom);
|
|
1626
|
+
}else{
|
|
1627
|
+
ec = dom;
|
|
1628
|
+
}
|
|
1629
|
+
|
|
1630
|
+
if(!lang.trim(ec.replace(/^\xA0\xA0*/, '').replace(/\xA0\xA0*$/, '')).length){
|
|
1631
|
+
ec = "";
|
|
1632
|
+
}
|
|
1633
|
+
|
|
1634
|
+
// if(has("ie")){
|
|
1635
|
+
// //removing appended <P> </P> for IE
|
|
1636
|
+
// ec = ec.replace(/(?:<p> </p>[\n\r]*)+$/i,"");
|
|
1637
|
+
// }
|
|
1638
|
+
array.forEach(this.contentPostFilters, function(ef){
|
|
1639
|
+
ec = ef(ec);
|
|
1640
|
+
});
|
|
1641
|
+
|
|
1642
|
+
return ec;
|
|
1643
|
+
},
|
|
1644
|
+
|
|
1645
|
+
_saveContent: function(){
|
|
1646
|
+
// summary:
|
|
1647
|
+
// Saves the content in an onunload event if the editor has not been closed
|
|
1648
|
+
// tags:
|
|
1649
|
+
// private
|
|
1650
|
+
|
|
1651
|
+
var saveTextarea = dom.byId(dijit._scopeName + "._editor.RichText.value");
|
|
1652
|
+
if(saveTextarea){
|
|
1653
|
+
if(saveTextarea.value){
|
|
1654
|
+
saveTextarea.value += this._SEPARATOR;
|
|
1655
|
+
}
|
|
1656
|
+
saveTextarea.value += this.name + this._NAME_CONTENT_SEP + this.getValue(true);
|
|
1657
|
+
}
|
|
1658
|
+
},
|
|
1659
|
+
|
|
1660
|
+
|
|
1661
|
+
escapeXml: function(/*String*/ str, /*Boolean*/ noSingleQuotes){
|
|
1662
|
+
// summary:
|
|
1663
|
+
// Adds escape sequences for special characters in XML.
|
|
1664
|
+
// Optionally skips escapes for single quotes
|
|
1665
|
+
// tags:
|
|
1666
|
+
// private
|
|
1667
|
+
|
|
1668
|
+
str = str.replace(/&/gm, "&").replace(/</gm, "<").replace(/>/gm, ">").replace(/"/gm, """);
|
|
1669
|
+
if(!noSingleQuotes){
|
|
1670
|
+
str = str.replace(/'/gm, "'");
|
|
1671
|
+
}
|
|
1672
|
+
return str; // string
|
|
1673
|
+
},
|
|
1674
|
+
|
|
1675
|
+
getNodeHtml: function(/* DomNode */ node){
|
|
1676
|
+
// summary:
|
|
1677
|
+
// Deprecated. Use dijit/_editor/html::_getNodeHtml() instead.
|
|
1678
|
+
// tags:
|
|
1679
|
+
// deprecated
|
|
1680
|
+
kernel.deprecated('dijit.Editor::getNodeHtml is deprecated','use dijit/_editor/html::getNodeHtml instead', 2);
|
|
1681
|
+
return htmlapi.getNodeHtml(node); // String
|
|
1682
|
+
},
|
|
1683
|
+
|
|
1684
|
+
getNodeChildrenHtml: function(/* DomNode */ dom){
|
|
1685
|
+
// summary:
|
|
1686
|
+
// Deprecated. Use dijit/_editor/html::getChildrenHtml() instead.
|
|
1687
|
+
// tags:
|
|
1688
|
+
// deprecated
|
|
1689
|
+
kernel.deprecated('dijit.Editor::getNodeChildrenHtml is deprecated','use dijit/_editor/html::getChildrenHtml instead', 2);
|
|
1690
|
+
return htmlapi.getChildrenHtml(dom);
|
|
1691
|
+
},
|
|
1692
|
+
|
|
1693
|
+
close: function(/*Boolean?*/ save){
|
|
1694
|
+
// summary:
|
|
1695
|
+
// Kills the editor and optionally writes back the modified contents to the
|
|
1696
|
+
// element from which it originated.
|
|
1697
|
+
// save:
|
|
1698
|
+
// Whether or not to save the changes. If false, the changes are discarded.
|
|
1699
|
+
// tags:
|
|
1700
|
+
// private
|
|
1701
|
+
|
|
1702
|
+
if(this.isClosed){ return; }
|
|
1703
|
+
|
|
1704
|
+
if(!arguments.length){ save = true; }
|
|
1705
|
+
if(save){
|
|
1706
|
+
this._set("value", this.getValue(true));
|
|
1707
|
+
}
|
|
1708
|
+
|
|
1709
|
+
// line height is squashed for iframes
|
|
1710
|
+
// FIXME: why was this here? if(this.iframe){ this.domNode.style.lineHeight = null; }
|
|
1711
|
+
|
|
1712
|
+
if(this.interval){ clearInterval(this.interval); }
|
|
1713
|
+
|
|
1714
|
+
if(this._webkitListener){
|
|
1715
|
+
//Cleaup of WebKit fix: #9532
|
|
1716
|
+
this.disconnect(this._webkitListener);
|
|
1717
|
+
delete this._webkitListener;
|
|
1718
|
+
}
|
|
1719
|
+
|
|
1720
|
+
// Guard against memory leaks on IE (see #9268)
|
|
1721
|
+
if(has("ie")){
|
|
1722
|
+
this.iframe.onfocus = null;
|
|
1723
|
+
}
|
|
1724
|
+
this.iframe._loadFunc = null;
|
|
1725
|
+
|
|
1726
|
+
if(this._iframeRegHandle){
|
|
1727
|
+
this._iframeRegHandle.remove();
|
|
1728
|
+
delete this._iframeRegHandle;
|
|
1729
|
+
}
|
|
1730
|
+
|
|
1731
|
+
if(this.textarea){
|
|
1732
|
+
var s = this.textarea.style;
|
|
1733
|
+
s.position = "";
|
|
1734
|
+
s.left = s.top = "";
|
|
1735
|
+
if(has("ie")){
|
|
1736
|
+
s.overflow = this.__overflow;
|
|
1737
|
+
this.__overflow = null;
|
|
1738
|
+
}
|
|
1739
|
+
this.textarea.value = this.value;
|
|
1740
|
+
domConstruct.destroy(this.domNode);
|
|
1741
|
+
this.domNode = this.textarea;
|
|
1742
|
+
}else{
|
|
1743
|
+
// Note that this destroys the iframe
|
|
1744
|
+
this.domNode.innerHTML = this.value;
|
|
1745
|
+
}
|
|
1746
|
+
delete this.iframe;
|
|
1747
|
+
|
|
1748
|
+
domClass.remove(this.domNode, this.baseClass);
|
|
1749
|
+
this.isClosed = true;
|
|
1750
|
+
this.isLoaded = false;
|
|
1751
|
+
|
|
1752
|
+
delete this.editNode;
|
|
1753
|
+
delete this.focusNode;
|
|
1754
|
+
|
|
1755
|
+
if(this.window && this.window._frameElement){
|
|
1756
|
+
this.window._frameElement = null;
|
|
1757
|
+
}
|
|
1758
|
+
|
|
1759
|
+
this.window = null;
|
|
1760
|
+
this.document = null;
|
|
1761
|
+
this.editingArea = null;
|
|
1762
|
+
this.editorObject = null;
|
|
1763
|
+
},
|
|
1764
|
+
|
|
1765
|
+
destroy: function(){
|
|
1766
|
+
if(!this.isClosed){ this.close(false); }
|
|
1767
|
+
if(this._updateTimer){
|
|
1768
|
+
this._updateTimer.remove();
|
|
1769
|
+
}
|
|
1770
|
+
this.inherited(arguments);
|
|
1771
|
+
if(RichText._globalSaveHandler){
|
|
1772
|
+
delete RichText._globalSaveHandler[this.id];
|
|
1773
|
+
}
|
|
1774
|
+
},
|
|
1775
|
+
|
|
1776
|
+
_removeMozBogus: function(/* String */ html){
|
|
1777
|
+
// summary:
|
|
1778
|
+
// Post filter to remove unwanted HTML attributes generated by mozilla
|
|
1779
|
+
// tags:
|
|
1780
|
+
// private
|
|
1781
|
+
return html.replace(/\stype="_moz"/gi, '').replace(/\s_moz_dirty=""/gi, '').replace(/_moz_resizing="(true|false)"/gi,''); // String
|
|
1782
|
+
},
|
|
1783
|
+
_removeWebkitBogus: function(/* String */ html){
|
|
1784
|
+
// summary:
|
|
1785
|
+
// Post filter to remove unwanted HTML attributes generated by webkit
|
|
1786
|
+
// tags:
|
|
1787
|
+
// private
|
|
1788
|
+
html = html.replace(/\sclass="webkit-block-placeholder"/gi, '');
|
|
1789
|
+
html = html.replace(/\sclass="apple-style-span"/gi, '');
|
|
1790
|
+
// For some reason copy/paste sometime adds extra meta tags for charset on
|
|
1791
|
+
// webkit (chrome) on mac.They need to be removed. See: #12007"
|
|
1792
|
+
html = html.replace(/<meta charset=\"utf-8\" \/>/gi, '');
|
|
1793
|
+
return html; // String
|
|
1794
|
+
},
|
|
1795
|
+
_normalizeFontStyle: function(/* String */ html){
|
|
1796
|
+
// summary:
|
|
1797
|
+
// Convert 'strong' and 'em' to 'b' and 'i'.
|
|
1798
|
+
// description:
|
|
1799
|
+
// Moz can not handle strong/em tags correctly, so to help
|
|
1800
|
+
// mozilla and also to normalize output, convert them to 'b' and 'i'.
|
|
1801
|
+
//
|
|
1802
|
+
// Note the IE generates 'strong' and 'em' rather than 'b' and 'i'
|
|
1803
|
+
// tags:
|
|
1804
|
+
// private
|
|
1805
|
+
return html.replace(/<(\/)?strong([ \>])/gi, '<$1b$2')
|
|
1806
|
+
.replace(/<(\/)?em([ \>])/gi, '<$1i$2' ); // String
|
|
1807
|
+
},
|
|
1808
|
+
|
|
1809
|
+
_preFixUrlAttributes: function(/* String */ html){
|
|
1810
|
+
// summary:
|
|
1811
|
+
// Pre-filter to do fixing to href attributes on `<a>` and `<img>` tags
|
|
1812
|
+
// tags:
|
|
1813
|
+
// private
|
|
1814
|
+
return html.replace(/(?:(<a(?=\s).*?\shref=)("|')(.*?)\2)|(?:(<a\s.*?href=)([^"'][^ >]+))/gi,
|
|
1815
|
+
'$1$4$2$3$5$2 _djrealurl=$2$3$5$2')
|
|
1816
|
+
.replace(/(?:(<img(?=\s).*?\ssrc=)("|')(.*?)\2)|(?:(<img\s.*?src=)([^"'][^ >]+))/gi,
|
|
1817
|
+
'$1$4$2$3$5$2 _djrealurl=$2$3$5$2'); // String
|
|
1818
|
+
},
|
|
1819
|
+
|
|
1820
|
+
/*****************************************************************************
|
|
1821
|
+
The following functions implement HTML manipulation commands for various
|
|
1822
|
+
browser/contentEditable implementations. The goal of them is to enforce
|
|
1823
|
+
standard behaviors of them.
|
|
1824
|
+
******************************************************************************/
|
|
1825
|
+
|
|
1826
|
+
/*** queryCommandEnabled implementations ***/
|
|
1827
|
+
|
|
1828
|
+
_browserQueryCommandEnabled: function(command){
|
|
1829
|
+
// summary:
|
|
1830
|
+
// Implementation to call to the native queryCommandEnabled of the browser.
|
|
1831
|
+
// command:
|
|
1832
|
+
// The command to check.
|
|
1833
|
+
// tags:
|
|
1834
|
+
// protected
|
|
1835
|
+
if(!command) { return false; }
|
|
1836
|
+
var elem = has("ie") ? this.document.selection.createRange() : this.document;
|
|
1837
|
+
try{
|
|
1838
|
+
return elem.queryCommandEnabled(command);
|
|
1839
|
+
}catch(e){
|
|
1840
|
+
return false;
|
|
1841
|
+
}
|
|
1842
|
+
},
|
|
1843
|
+
|
|
1844
|
+
_createlinkEnabledImpl: function(/*===== argument =====*/){
|
|
1845
|
+
// summary:
|
|
1846
|
+
// This function implements the test for if the create link
|
|
1847
|
+
// command should be enabled or not.
|
|
1848
|
+
// argument:
|
|
1849
|
+
// arguments to the exec command, if any.
|
|
1850
|
+
// tags:
|
|
1851
|
+
// protected
|
|
1852
|
+
var enabled = true;
|
|
1853
|
+
if(has("opera")){
|
|
1854
|
+
var sel = this.window.getSelection();
|
|
1855
|
+
if(sel.isCollapsed){
|
|
1856
|
+
enabled = true;
|
|
1857
|
+
}else{
|
|
1858
|
+
enabled = this.document.queryCommandEnabled("createlink");
|
|
1859
|
+
}
|
|
1860
|
+
}else{
|
|
1861
|
+
enabled = this._browserQueryCommandEnabled("createlink");
|
|
1862
|
+
}
|
|
1863
|
+
return enabled;
|
|
1864
|
+
},
|
|
1865
|
+
|
|
1866
|
+
_unlinkEnabledImpl: function(/*===== argument =====*/){
|
|
1867
|
+
// summary:
|
|
1868
|
+
// This function implements the test for if the unlink
|
|
1869
|
+
// command should be enabled or not.
|
|
1870
|
+
// argument:
|
|
1871
|
+
// arguments to the exec command, if any.
|
|
1872
|
+
// tags:
|
|
1873
|
+
// protected
|
|
1874
|
+
var enabled = true;
|
|
1875
|
+
if(has("mozilla") || has("webkit")){
|
|
1876
|
+
enabled = this._sCall("hasAncestorElement", ["a"]);
|
|
1877
|
+
}else{
|
|
1878
|
+
enabled = this._browserQueryCommandEnabled("unlink");
|
|
1879
|
+
}
|
|
1880
|
+
return enabled;
|
|
1881
|
+
},
|
|
1882
|
+
|
|
1883
|
+
_inserttableEnabledImpl: function(/*===== argument =====*/){
|
|
1884
|
+
// summary:
|
|
1885
|
+
// This function implements the test for if the inserttable
|
|
1886
|
+
// command should be enabled or not.
|
|
1887
|
+
// argument:
|
|
1888
|
+
// arguments to the exec command, if any.
|
|
1889
|
+
// tags:
|
|
1890
|
+
// protected
|
|
1891
|
+
var enabled = true;
|
|
1892
|
+
if(has("mozilla") || has("webkit")){
|
|
1893
|
+
enabled = true;
|
|
1894
|
+
}else{
|
|
1895
|
+
enabled = this._browserQueryCommandEnabled("inserttable");
|
|
1896
|
+
}
|
|
1897
|
+
return enabled;
|
|
1898
|
+
},
|
|
1899
|
+
|
|
1900
|
+
_cutEnabledImpl: function(/*===== argument =====*/){
|
|
1901
|
+
// summary:
|
|
1902
|
+
// This function implements the test for if the cut
|
|
1903
|
+
// command should be enabled or not.
|
|
1904
|
+
// argument:
|
|
1905
|
+
// arguments to the exec command, if any.
|
|
1906
|
+
// tags:
|
|
1907
|
+
// protected
|
|
1908
|
+
var enabled = true;
|
|
1909
|
+
if(has("webkit")){
|
|
1910
|
+
// WebKit deems clipboard activity as a security threat and natively would return false
|
|
1911
|
+
var sel = this.window.getSelection();
|
|
1912
|
+
if(sel){ sel = sel.toString(); }
|
|
1913
|
+
enabled = !!sel;
|
|
1914
|
+
}else{
|
|
1915
|
+
enabled = this._browserQueryCommandEnabled("cut");
|
|
1916
|
+
}
|
|
1917
|
+
return enabled;
|
|
1918
|
+
},
|
|
1919
|
+
|
|
1920
|
+
_copyEnabledImpl: function(/*===== argument =====*/){
|
|
1921
|
+
// summary:
|
|
1922
|
+
// This function implements the test for if the copy
|
|
1923
|
+
// command should be enabled or not.
|
|
1924
|
+
// argument:
|
|
1925
|
+
// arguments to the exec command, if any.
|
|
1926
|
+
// tags:
|
|
1927
|
+
// protected
|
|
1928
|
+
var enabled = true;
|
|
1929
|
+
if(has("webkit")){
|
|
1930
|
+
// WebKit deems clipboard activity as a security threat and natively would return false
|
|
1931
|
+
var sel = this.window.getSelection();
|
|
1932
|
+
if(sel){ sel = sel.toString(); }
|
|
1933
|
+
enabled = !!sel;
|
|
1934
|
+
}else{
|
|
1935
|
+
enabled = this._browserQueryCommandEnabled("copy");
|
|
1936
|
+
}
|
|
1937
|
+
return enabled;
|
|
1938
|
+
},
|
|
1939
|
+
|
|
1940
|
+
_pasteEnabledImpl: function(/*===== argument =====*/){
|
|
1941
|
+
// summary:c
|
|
1942
|
+
// This function implements the test for if the paste
|
|
1943
|
+
// command should be enabled or not.
|
|
1944
|
+
// argument:
|
|
1945
|
+
// arguments to the exec command, if any.
|
|
1946
|
+
// tags:
|
|
1947
|
+
// protected
|
|
1948
|
+
var enabled = true;
|
|
1949
|
+
if(has("webkit")){
|
|
1950
|
+
return true;
|
|
1951
|
+
}else{
|
|
1952
|
+
enabled = this._browserQueryCommandEnabled("paste");
|
|
1953
|
+
}
|
|
1954
|
+
return enabled;
|
|
1955
|
+
},
|
|
1956
|
+
|
|
1957
|
+
/*** execCommand implementations ***/
|
|
1958
|
+
|
|
1959
|
+
_inserthorizontalruleImpl: function(argument){
|
|
1960
|
+
// summary:
|
|
1961
|
+
// This function implements the insertion of HTML 'HR' tags.
|
|
1962
|
+
// into a point on the page. IE doesn't to it right, so
|
|
1963
|
+
// we have to use an alternate form
|
|
1964
|
+
// argument:
|
|
1965
|
+
// arguments to the exec command, if any.
|
|
1966
|
+
// tags:
|
|
1967
|
+
// protected
|
|
1968
|
+
if(has("ie")){
|
|
1969
|
+
return this._inserthtmlImpl("<hr>");
|
|
1970
|
+
}
|
|
1971
|
+
return this.document.execCommand("inserthorizontalrule", false, argument);
|
|
1972
|
+
},
|
|
1973
|
+
|
|
1974
|
+
_unlinkImpl: function(argument){
|
|
1975
|
+
// summary:
|
|
1976
|
+
// This function implements the unlink of an 'a' tag.
|
|
1977
|
+
// argument:
|
|
1978
|
+
// arguments to the exec command, if any.
|
|
1979
|
+
// tags:
|
|
1980
|
+
// protected
|
|
1981
|
+
if((this.queryCommandEnabled("unlink")) && (has("mozilla") || has("webkit"))){
|
|
1982
|
+
var a = this._sCall("getAncestorElement", [ "a" ]);
|
|
1983
|
+
this._sCall("selectElement", [ a ]);
|
|
1984
|
+
return this.document.execCommand("unlink", false, null);
|
|
1985
|
+
}
|
|
1986
|
+
return this.document.execCommand("unlink", false, argument);
|
|
1987
|
+
},
|
|
1988
|
+
|
|
1989
|
+
_hilitecolorImpl: function(argument){
|
|
1990
|
+
// summary:
|
|
1991
|
+
// This function implements the hilitecolor command
|
|
1992
|
+
// argument:
|
|
1993
|
+
// arguments to the exec command, if any.
|
|
1994
|
+
// tags:
|
|
1995
|
+
// protected
|
|
1996
|
+
var returnValue;
|
|
1997
|
+
var isApplied = this._handleTextColorOrProperties("hilitecolor", argument);
|
|
1998
|
+
if(!isApplied){
|
|
1999
|
+
if(has("mozilla")){
|
|
2000
|
+
// mozilla doesn't support hilitecolor properly when useCSS is
|
|
2001
|
+
// set to false (bugzilla #279330)
|
|
2002
|
+
this.document.execCommand("styleWithCSS", false, true);
|
|
2003
|
+
console.log("Executing color command.");
|
|
2004
|
+
returnValue = this.document.execCommand("hilitecolor", false, argument);
|
|
2005
|
+
this.document.execCommand("styleWithCSS", false, false);
|
|
2006
|
+
}else{
|
|
2007
|
+
returnValue = this.document.execCommand("hilitecolor", false, argument);
|
|
2008
|
+
}
|
|
2009
|
+
}
|
|
2010
|
+
return returnValue;
|
|
2011
|
+
},
|
|
2012
|
+
|
|
2013
|
+
_backcolorImpl: function(argument){
|
|
2014
|
+
// summary:
|
|
2015
|
+
// This function implements the backcolor command
|
|
2016
|
+
// argument:
|
|
2017
|
+
// arguments to the exec command, if any.
|
|
2018
|
+
// tags:
|
|
2019
|
+
// protected
|
|
2020
|
+
if(has("ie")){
|
|
2021
|
+
// Tested under IE 6 XP2, no problem here, comment out
|
|
2022
|
+
// IE weirdly collapses ranges when we exec these commands, so prevent it
|
|
2023
|
+
// var tr = this.document.selection.createRange();
|
|
2024
|
+
argument = argument ? argument : null;
|
|
2025
|
+
}
|
|
2026
|
+
var isApplied = this._handleTextColorOrProperties("backcolor", argument);
|
|
2027
|
+
if(!isApplied){
|
|
2028
|
+
isApplied = this.document.execCommand("backcolor", false, argument);
|
|
2029
|
+
}
|
|
2030
|
+
return isApplied;
|
|
2031
|
+
},
|
|
2032
|
+
|
|
2033
|
+
_forecolorImpl: function(argument){
|
|
2034
|
+
// summary:
|
|
2035
|
+
// This function implements the forecolor command
|
|
2036
|
+
// argument:
|
|
2037
|
+
// arguments to the exec command, if any.
|
|
2038
|
+
// tags:
|
|
2039
|
+
// protected
|
|
2040
|
+
if(has("ie")){
|
|
2041
|
+
// Tested under IE 6 XP2, no problem here, comment out
|
|
2042
|
+
// IE weirdly collapses ranges when we exec these commands, so prevent it
|
|
2043
|
+
// var tr = this.document.selection.createRange();
|
|
2044
|
+
argument = argument? argument : null;
|
|
2045
|
+
}
|
|
2046
|
+
var isApplied = false;
|
|
2047
|
+
isApplied = this._handleTextColorOrProperties("forecolor", argument);
|
|
2048
|
+
if(!isApplied){
|
|
2049
|
+
isApplied = this.document.execCommand("forecolor", false, argument);
|
|
2050
|
+
}
|
|
2051
|
+
return isApplied;
|
|
2052
|
+
},
|
|
2053
|
+
|
|
2054
|
+
_inserthtmlImpl: function(argument){
|
|
2055
|
+
// summary:
|
|
2056
|
+
// This function implements the insertion of HTML content into
|
|
2057
|
+
// a point on the page.
|
|
2058
|
+
// argument:
|
|
2059
|
+
// The content to insert, if any.
|
|
2060
|
+
// tags:
|
|
2061
|
+
// protected
|
|
2062
|
+
argument = this._preFilterContent(argument);
|
|
2063
|
+
var rv = true;
|
|
2064
|
+
if(has("ie")){
|
|
2065
|
+
var insertRange = this.document.selection.createRange();
|
|
2066
|
+
if(this.document.selection.type.toUpperCase() === 'CONTROL'){
|
|
2067
|
+
var n=insertRange.item(0);
|
|
2068
|
+
while(insertRange.length){
|
|
2069
|
+
insertRange.remove(insertRange.item(0));
|
|
2070
|
+
}
|
|
2071
|
+
n.outerHTML=argument;
|
|
2072
|
+
}else{
|
|
2073
|
+
insertRange.pasteHTML(argument);
|
|
2074
|
+
}
|
|
2075
|
+
insertRange.select();
|
|
2076
|
+
//insertRange.collapse(true);
|
|
2077
|
+
}else if(has("mozilla") && !argument.length){
|
|
2078
|
+
//mozilla can not inserthtml an empty html to delete current selection
|
|
2079
|
+
//so we delete the selection instead in this case
|
|
2080
|
+
this._sCall("remove"); // FIXME
|
|
2081
|
+
}else{
|
|
2082
|
+
rv = this.document.execCommand("inserthtml", false, argument);
|
|
2083
|
+
}
|
|
2084
|
+
return rv;
|
|
2085
|
+
},
|
|
2086
|
+
|
|
2087
|
+
_boldImpl: function(argument){
|
|
2088
|
+
// summary:
|
|
2089
|
+
// This function implements an over-ride of the bold command.
|
|
2090
|
+
// argument:
|
|
2091
|
+
// Not used, operates by selection.
|
|
2092
|
+
// tags:
|
|
2093
|
+
// protected
|
|
2094
|
+
var applied = false;
|
|
2095
|
+
if(has("ie")){
|
|
2096
|
+
this._adaptIESelection();
|
|
2097
|
+
applied = this._adaptIEFormatAreaAndExec("bold");
|
|
2098
|
+
}
|
|
2099
|
+
if(!applied){
|
|
2100
|
+
applied = this.document.execCommand("bold", false, argument);
|
|
2101
|
+
}
|
|
2102
|
+
return applied;
|
|
2103
|
+
},
|
|
2104
|
+
|
|
2105
|
+
_italicImpl: function(argument){
|
|
2106
|
+
// summary:
|
|
2107
|
+
// This function implements an over-ride of the italic command.
|
|
2108
|
+
// argument:
|
|
2109
|
+
// Not used, operates by selection.
|
|
2110
|
+
// tags:
|
|
2111
|
+
// protected
|
|
2112
|
+
var applied = false;
|
|
2113
|
+
if(has("ie")){
|
|
2114
|
+
this._adaptIESelection();
|
|
2115
|
+
applied = this._adaptIEFormatAreaAndExec("italic");
|
|
2116
|
+
}
|
|
2117
|
+
if(!applied){
|
|
2118
|
+
applied = this.document.execCommand("italic", false, argument);
|
|
2119
|
+
}
|
|
2120
|
+
return applied;
|
|
2121
|
+
},
|
|
2122
|
+
|
|
2123
|
+
_underlineImpl: function(argument){
|
|
2124
|
+
// summary:
|
|
2125
|
+
// This function implements an over-ride of the underline command.
|
|
2126
|
+
// argument:
|
|
2127
|
+
// Not used, operates by selection.
|
|
2128
|
+
// tags:
|
|
2129
|
+
// protected
|
|
2130
|
+
var applied = false;
|
|
2131
|
+
if(has("ie")){
|
|
2132
|
+
this._adaptIESelection();
|
|
2133
|
+
applied = this._adaptIEFormatAreaAndExec("underline");
|
|
2134
|
+
}
|
|
2135
|
+
if(!applied){
|
|
2136
|
+
applied = this.document.execCommand("underline", false, argument);
|
|
2137
|
+
}
|
|
2138
|
+
return applied;
|
|
2139
|
+
},
|
|
2140
|
+
|
|
2141
|
+
_strikethroughImpl: function(argument){
|
|
2142
|
+
// summary:
|
|
2143
|
+
// This function implements an over-ride of the strikethrough command.
|
|
2144
|
+
// argument:
|
|
2145
|
+
// Not used, operates by selection.
|
|
2146
|
+
// tags:
|
|
2147
|
+
// protected
|
|
2148
|
+
var applied = false;
|
|
2149
|
+
if(has("ie")){
|
|
2150
|
+
this._adaptIESelection();
|
|
2151
|
+
applied = this._adaptIEFormatAreaAndExec("strikethrough");
|
|
2152
|
+
}
|
|
2153
|
+
if(!applied){
|
|
2154
|
+
applied = this.document.execCommand("strikethrough", false, argument);
|
|
2155
|
+
}
|
|
2156
|
+
return applied;
|
|
2157
|
+
},
|
|
2158
|
+
|
|
2159
|
+
_superscriptImpl: function(argument){
|
|
2160
|
+
// summary:
|
|
2161
|
+
// This function implements an over-ride of the superscript command.
|
|
2162
|
+
// argument:
|
|
2163
|
+
// Not used, operates by selection.
|
|
2164
|
+
// tags:
|
|
2165
|
+
// protected
|
|
2166
|
+
var applied = false;
|
|
2167
|
+
if(has("ie")){
|
|
2168
|
+
this._adaptIESelection();
|
|
2169
|
+
applied = this._adaptIEFormatAreaAndExec("superscript");
|
|
2170
|
+
}
|
|
2171
|
+
if(!applied){
|
|
2172
|
+
applied = this.document.execCommand("superscript", false, argument);
|
|
2173
|
+
}
|
|
2174
|
+
return applied;
|
|
2175
|
+
},
|
|
2176
|
+
|
|
2177
|
+
_subscriptImpl: function(argument){
|
|
2178
|
+
// summary:
|
|
2179
|
+
// This function implements an over-ride of the superscript command.
|
|
2180
|
+
// argument:
|
|
2181
|
+
// Not used, operates by selection.
|
|
2182
|
+
// tags:
|
|
2183
|
+
// protected
|
|
2184
|
+
var applied = false;
|
|
2185
|
+
if(has("ie")){
|
|
2186
|
+
this._adaptIESelection();
|
|
2187
|
+
applied = this._adaptIEFormatAreaAndExec("subscript");
|
|
2188
|
+
|
|
2189
|
+
}
|
|
2190
|
+
if(!applied){
|
|
2191
|
+
applied = this.document.execCommand("subscript", false, argument);
|
|
2192
|
+
}
|
|
2193
|
+
return applied;
|
|
2194
|
+
},
|
|
2195
|
+
|
|
2196
|
+
_fontnameImpl: function(argument){
|
|
2197
|
+
// summary:
|
|
2198
|
+
// This function implements the fontname command
|
|
2199
|
+
// argument:
|
|
2200
|
+
// arguments to the exec command, if any.
|
|
2201
|
+
// tags:
|
|
2202
|
+
// protected
|
|
2203
|
+
var isApplied;
|
|
2204
|
+
if(has("ie")){
|
|
2205
|
+
isApplied = this._handleTextColorOrProperties("fontname", argument);
|
|
2206
|
+
}
|
|
2207
|
+
if(!isApplied){
|
|
2208
|
+
isApplied = this.document.execCommand("fontname", false, argument);
|
|
2209
|
+
}
|
|
2210
|
+
return isApplied;
|
|
2211
|
+
},
|
|
2212
|
+
|
|
2213
|
+
_fontsizeImpl: function(argument){
|
|
2214
|
+
// summary:
|
|
2215
|
+
// This function implements the fontsize command
|
|
2216
|
+
// argument:
|
|
2217
|
+
// arguments to the exec command, if any.
|
|
2218
|
+
// tags:
|
|
2219
|
+
// protected
|
|
2220
|
+
var isApplied;
|
|
2221
|
+
if(has("ie")){
|
|
2222
|
+
isApplied = this._handleTextColorOrProperties("fontsize", argument);
|
|
2223
|
+
}
|
|
2224
|
+
if(!isApplied){
|
|
2225
|
+
isApplied = this.document.execCommand("fontsize", false, argument);
|
|
2226
|
+
}
|
|
2227
|
+
return isApplied;
|
|
2228
|
+
},
|
|
2229
|
+
|
|
2230
|
+
_insertorderedlistImpl: function(argument){
|
|
2231
|
+
// summary:
|
|
2232
|
+
// This function implements the insertorderedlist command
|
|
2233
|
+
// argument:
|
|
2234
|
+
// arguments to the exec command, if any.
|
|
2235
|
+
// tags:
|
|
2236
|
+
// protected
|
|
2237
|
+
var applied = false;
|
|
2238
|
+
if(has("ie")){
|
|
2239
|
+
applied = this._adaptIEList("insertorderedlist", argument);
|
|
2240
|
+
}
|
|
2241
|
+
if(!applied){
|
|
2242
|
+
applied = this.document.execCommand("insertorderedlist", false, argument);
|
|
2243
|
+
}
|
|
2244
|
+
return applied;
|
|
2245
|
+
},
|
|
2246
|
+
|
|
2247
|
+
_insertunorderedlistImpl: function(argument){
|
|
2248
|
+
// summary:
|
|
2249
|
+
// This function implements the insertunorderedlist command
|
|
2250
|
+
// argument:
|
|
2251
|
+
// arguments to the exec command, if any.
|
|
2252
|
+
// tags:
|
|
2253
|
+
// protected
|
|
2254
|
+
var applied = false;
|
|
2255
|
+
if(has("ie")){
|
|
2256
|
+
applied = this._adaptIEList("insertunorderedlist", argument);
|
|
2257
|
+
}
|
|
2258
|
+
if(!applied){
|
|
2259
|
+
applied = this.document.execCommand("insertunorderedlist", false, argument);
|
|
2260
|
+
}
|
|
2261
|
+
return applied;
|
|
2262
|
+
},
|
|
2263
|
+
|
|
2264
|
+
getHeaderHeight: function(){
|
|
2265
|
+
// summary:
|
|
2266
|
+
// A function for obtaining the height of the header node
|
|
2267
|
+
return this._getNodeChildrenHeight(this.header); // Number
|
|
2268
|
+
},
|
|
2269
|
+
|
|
2270
|
+
getFooterHeight: function(){
|
|
2271
|
+
// summary:
|
|
2272
|
+
// A function for obtaining the height of the footer node
|
|
2273
|
+
return this._getNodeChildrenHeight(this.footer); // Number
|
|
2274
|
+
},
|
|
2275
|
+
|
|
2276
|
+
_getNodeChildrenHeight: function(node){
|
|
2277
|
+
// summary:
|
|
2278
|
+
// An internal function for computing the cumulative height of all child nodes of 'node'
|
|
2279
|
+
// node:
|
|
2280
|
+
// The node to process the children of;
|
|
2281
|
+
var h = 0;
|
|
2282
|
+
if(node && node.childNodes){
|
|
2283
|
+
// IE didn't compute it right when position was obtained on the node directly is some cases,
|
|
2284
|
+
// so we have to walk over all the children manually.
|
|
2285
|
+
var i;
|
|
2286
|
+
for(i = 0; i < node.childNodes.length; i++){
|
|
2287
|
+
var size = domGeometry.position(node.childNodes[i]);
|
|
2288
|
+
h += size.h;
|
|
2289
|
+
}
|
|
2290
|
+
}
|
|
2291
|
+
return h; // Number
|
|
2292
|
+
},
|
|
2293
|
+
|
|
2294
|
+
_isNodeEmpty: function(node, startOffset){
|
|
2295
|
+
// summary:
|
|
2296
|
+
// Function to test if a node is devoid of real content.
|
|
2297
|
+
// node:
|
|
2298
|
+
// The node to check.
|
|
2299
|
+
// tags:
|
|
2300
|
+
// private.
|
|
2301
|
+
if(node.nodeType === 1/*element*/){
|
|
2302
|
+
if(node.childNodes.length > 0){
|
|
2303
|
+
return this._isNodeEmpty(node.childNodes[0], startOffset);
|
|
2304
|
+
}
|
|
2305
|
+
return true;
|
|
2306
|
+
}else if(node.nodeType === 3/*text*/){
|
|
2307
|
+
return (node.nodeValue.substring(startOffset) === "");
|
|
2308
|
+
}
|
|
2309
|
+
return false;
|
|
2310
|
+
},
|
|
2311
|
+
|
|
2312
|
+
_removeStartingRangeFromRange: function(node, range){
|
|
2313
|
+
// summary:
|
|
2314
|
+
// Function to adjust selection range by removing the current
|
|
2315
|
+
// start node.
|
|
2316
|
+
// node:
|
|
2317
|
+
// The node to remove from the starting range.
|
|
2318
|
+
// range:
|
|
2319
|
+
// The range to adapt.
|
|
2320
|
+
// tags:
|
|
2321
|
+
// private
|
|
2322
|
+
if(node.nextSibling){
|
|
2323
|
+
range.setStart(node.nextSibling,0);
|
|
2324
|
+
}else{
|
|
2325
|
+
var parent = node.parentNode;
|
|
2326
|
+
while(parent && parent.nextSibling == null){
|
|
2327
|
+
//move up the tree until we find a parent that has another node, that node will be the next node
|
|
2328
|
+
parent = parent.parentNode;
|
|
2329
|
+
}
|
|
2330
|
+
if(parent){
|
|
2331
|
+
range.setStart(parent.nextSibling,0);
|
|
2332
|
+
}
|
|
2333
|
+
}
|
|
2334
|
+
return range;
|
|
2335
|
+
},
|
|
2336
|
+
|
|
2337
|
+
_adaptIESelection: function(){
|
|
2338
|
+
// summary:
|
|
2339
|
+
// Function to adapt the IE range by removing leading 'newlines'
|
|
2340
|
+
// Needed to fix issue with bold/italics/underline not working if
|
|
2341
|
+
// range included leading 'newlines'.
|
|
2342
|
+
// In IE, if a user starts a selection at the very end of a line,
|
|
2343
|
+
// then the native browser commands will fail to execute correctly.
|
|
2344
|
+
// To work around the issue, we can remove all empty nodes from
|
|
2345
|
+
// the start of the range selection.
|
|
2346
|
+
var selection = rangeapi.getSelection(this.window);
|
|
2347
|
+
if(selection && selection.rangeCount && !selection.isCollapsed){
|
|
2348
|
+
var range = selection.getRangeAt(0);
|
|
2349
|
+
var firstNode = range.startContainer;
|
|
2350
|
+
var startOffset = range.startOffset;
|
|
2351
|
+
|
|
2352
|
+
while(firstNode.nodeType === 3/*text*/ && startOffset >= firstNode.length && firstNode.nextSibling){
|
|
2353
|
+
//traverse the text nodes until we get to the one that is actually highlighted
|
|
2354
|
+
startOffset = startOffset - firstNode.length;
|
|
2355
|
+
firstNode = firstNode.nextSibling;
|
|
2356
|
+
}
|
|
2357
|
+
|
|
2358
|
+
//Remove the starting ranges until the range does not start with an empty node.
|
|
2359
|
+
var lastNode=null;
|
|
2360
|
+
while(this._isNodeEmpty(firstNode, startOffset) && firstNode !== lastNode){
|
|
2361
|
+
lastNode =firstNode; //this will break the loop in case we can't find the next sibling
|
|
2362
|
+
range = this._removeStartingRangeFromRange(firstNode, range); //move the start container to the next node in the range
|
|
2363
|
+
firstNode = range.startContainer;
|
|
2364
|
+
startOffset = 0; //start at the beginning of the new starting range
|
|
2365
|
+
}
|
|
2366
|
+
selection.removeAllRanges();// this will work as long as users cannot select multiple ranges. I have not been able to do that in the editor.
|
|
2367
|
+
selection.addRange(range);
|
|
2368
|
+
}
|
|
2369
|
+
},
|
|
2370
|
+
|
|
2371
|
+
_adaptIEFormatAreaAndExec: function(command){
|
|
2372
|
+
// summary:
|
|
2373
|
+
// Function to handle IE's quirkiness regarding how it handles
|
|
2374
|
+
// format commands on a word. This involves a lit of node splitting
|
|
2375
|
+
// and format cloning.
|
|
2376
|
+
// command:
|
|
2377
|
+
// The format command, needed to check if the desired
|
|
2378
|
+
// command is true or not.
|
|
2379
|
+
var selection = rangeapi.getSelection(this.window);
|
|
2380
|
+
var doc = this.document;
|
|
2381
|
+
var rs, ret, range, txt, startNode, endNode, breaker, sNode;
|
|
2382
|
+
if(command && selection && selection.isCollapsed){
|
|
2383
|
+
var isApplied = this.queryCommandValue(command);
|
|
2384
|
+
if(isApplied){
|
|
2385
|
+
|
|
2386
|
+
// We have to split backwards until we hit the format
|
|
2387
|
+
var nNames = this._tagNamesForCommand(command);
|
|
2388
|
+
range = selection.getRangeAt(0);
|
|
2389
|
+
var fs = range.startContainer;
|
|
2390
|
+
if(fs.nodeType === 3){
|
|
2391
|
+
var offset = range.endOffset;
|
|
2392
|
+
if(fs.length < offset){
|
|
2393
|
+
//We are not looking from the right node, try to locate the correct one
|
|
2394
|
+
ret = this._adjustNodeAndOffset(rs, offset);
|
|
2395
|
+
fs = ret.node;
|
|
2396
|
+
offset = ret.offset;
|
|
2397
|
+
}
|
|
2398
|
+
}
|
|
2399
|
+
var topNode;
|
|
2400
|
+
while(fs && fs !== this.editNode){
|
|
2401
|
+
// We have to walk back and see if this is still a format or not.
|
|
2402
|
+
// Hm, how do I do this?
|
|
2403
|
+
var tName = fs.tagName? fs.tagName.toLowerCase() : "";
|
|
2404
|
+
if(array.indexOf(nNames, tName) > -1){
|
|
2405
|
+
topNode = fs;
|
|
2406
|
+
break;
|
|
2407
|
+
}
|
|
2408
|
+
fs = fs.parentNode;
|
|
2409
|
+
}
|
|
2410
|
+
|
|
2411
|
+
// Okay, we have a stopping place, time to split things apart.
|
|
2412
|
+
if(topNode){
|
|
2413
|
+
// Okay, we know how far we have to split backwards, so we have to split now.
|
|
2414
|
+
rs = range.startContainer;
|
|
2415
|
+
var newblock = doc.createElement(topNode.tagName);
|
|
2416
|
+
domConstruct.place(newblock, topNode, "after");
|
|
2417
|
+
if(rs && rs.nodeType === 3){
|
|
2418
|
+
// Text node, we have to split it.
|
|
2419
|
+
var nodeToMove, tNode;
|
|
2420
|
+
var endOffset = range.endOffset;
|
|
2421
|
+
if(rs.length < endOffset){
|
|
2422
|
+
//We are not splitting the right node, try to locate the correct one
|
|
2423
|
+
ret = this._adjustNodeAndOffset(rs, endOffset);
|
|
2424
|
+
rs = ret.node;
|
|
2425
|
+
endOffset = ret.offset;
|
|
2426
|
+
}
|
|
2427
|
+
|
|
2428
|
+
txt = rs.nodeValue;
|
|
2429
|
+
startNode = doc.createTextNode(txt.substring(0, endOffset));
|
|
2430
|
+
var endText = txt.substring(endOffset, txt.length);
|
|
2431
|
+
if(endText){
|
|
2432
|
+
endNode = doc.createTextNode(endText);
|
|
2433
|
+
}
|
|
2434
|
+
// Place the split, then remove original nodes.
|
|
2435
|
+
domConstruct.place(startNode, rs, "before");
|
|
2436
|
+
if(endNode){
|
|
2437
|
+
breaker = doc.createElement("span");
|
|
2438
|
+
breaker.className = "ieFormatBreakerSpan";
|
|
2439
|
+
domConstruct.place(breaker, rs, "after");
|
|
2440
|
+
domConstruct.place(endNode, breaker, "after");
|
|
2441
|
+
endNode = breaker;
|
|
2442
|
+
}
|
|
2443
|
+
domConstruct.destroy(rs);
|
|
2444
|
+
|
|
2445
|
+
// Okay, we split the text. Now we need to see if we're
|
|
2446
|
+
// parented to the block element we're splitting and if
|
|
2447
|
+
// not, we have to split all the way up. Ugh.
|
|
2448
|
+
var parentC = startNode.parentNode;
|
|
2449
|
+
var tagList = [];
|
|
2450
|
+
var tagData;
|
|
2451
|
+
while(parentC !== topNode){
|
|
2452
|
+
var tg = parentC.tagName;
|
|
2453
|
+
tagData = {tagName: tg};
|
|
2454
|
+
tagList.push(tagData);
|
|
2455
|
+
|
|
2456
|
+
var newTg = doc.createElement(tg);
|
|
2457
|
+
// Clone over any 'style' data.
|
|
2458
|
+
if(parentC.style){
|
|
2459
|
+
if(newTg.style){
|
|
2460
|
+
if(parentC.style.cssText){
|
|
2461
|
+
newTg.style.cssText = parentC.style.cssText;
|
|
2462
|
+
tagData.cssText = parentC.style.cssText;
|
|
2463
|
+
}
|
|
2464
|
+
}
|
|
2465
|
+
}
|
|
2466
|
+
// If font also need to clone over any font data.
|
|
2467
|
+
if(parentC.tagName === "FONT"){
|
|
2468
|
+
if(parentC.color){
|
|
2469
|
+
newTg.color = parentC.color;
|
|
2470
|
+
tagData.color = parentC.color;
|
|
2471
|
+
}
|
|
2472
|
+
if(parentC.face){
|
|
2473
|
+
newTg.face = parentC.face;
|
|
2474
|
+
tagData.face = parentC.face;
|
|
2475
|
+
}
|
|
2476
|
+
if(parentC.size){ // this check was necessary on IE
|
|
2477
|
+
newTg.size = parentC.size;
|
|
2478
|
+
tagData.size = parentC.size;
|
|
2479
|
+
}
|
|
2480
|
+
}
|
|
2481
|
+
if(parentC.className){
|
|
2482
|
+
newTg.className = parentC.className;
|
|
2483
|
+
tagData.className = parentC.className;
|
|
2484
|
+
}
|
|
2485
|
+
|
|
2486
|
+
// Now move end node and every sibling
|
|
2487
|
+
// after it over into the new tag.
|
|
2488
|
+
if(endNode){
|
|
2489
|
+
nodeToMove = endNode;
|
|
2490
|
+
while(nodeToMove){
|
|
2491
|
+
tNode = nodeToMove.nextSibling;
|
|
2492
|
+
newTg.appendChild(nodeToMove);
|
|
2493
|
+
nodeToMove = tNode;
|
|
2494
|
+
}
|
|
2495
|
+
}
|
|
2496
|
+
if(newTg.tagName == parentC.tagName){
|
|
2497
|
+
breaker = doc.createElement("span");
|
|
2498
|
+
breaker.className = "ieFormatBreakerSpan";
|
|
2499
|
+
domConstruct.place(breaker, parentC, "after");
|
|
2500
|
+
domConstruct.place(newTg, breaker, "after");
|
|
2501
|
+
}else{
|
|
2502
|
+
domConstruct.place(newTg, parentC, "after");
|
|
2503
|
+
}
|
|
2504
|
+
startNode = parentC;
|
|
2505
|
+
endNode = newTg;
|
|
2506
|
+
parentC = parentC.parentNode;
|
|
2507
|
+
}
|
|
2508
|
+
|
|
2509
|
+
// Lastly, move the split out all the split tags
|
|
2510
|
+
// to the new block as they should now be split properly.
|
|
2511
|
+
if(endNode){
|
|
2512
|
+
nodeToMove = endNode;
|
|
2513
|
+
if(nodeToMove.nodeType === 1 || (nodeToMove.nodeType === 3 && nodeToMove.nodeValue)){
|
|
2514
|
+
// Non-blank text and non-text nodes need to clear out that blank space
|
|
2515
|
+
// before moving the contents.
|
|
2516
|
+
newblock.innerHTML = "";
|
|
2517
|
+
}
|
|
2518
|
+
while(nodeToMove){
|
|
2519
|
+
tNode = nodeToMove.nextSibling;
|
|
2520
|
+
newblock.appendChild(nodeToMove);
|
|
2521
|
+
nodeToMove = tNode;
|
|
2522
|
+
}
|
|
2523
|
+
}
|
|
2524
|
+
|
|
2525
|
+
// We had intermediate tags, we have to now recreate them inbetween the split
|
|
2526
|
+
// and restore what styles, classnames, etc, we can.
|
|
2527
|
+
var newrange;
|
|
2528
|
+
if(tagList.length){
|
|
2529
|
+
tagData = tagList.pop();
|
|
2530
|
+
var newContTag = doc.createElement(tagData.tagName);
|
|
2531
|
+
if(tagData.cssText && newContTag.style){
|
|
2532
|
+
newContTag.style.cssText = tagData.cssText;
|
|
2533
|
+
}
|
|
2534
|
+
if(tagData.className){
|
|
2535
|
+
newContTag.className = tagData.className;
|
|
2536
|
+
}
|
|
2537
|
+
if(tagData.tagName === "FONT"){
|
|
2538
|
+
if(tagData.color){
|
|
2539
|
+
newContTag.color = tagData.color;
|
|
2540
|
+
}
|
|
2541
|
+
if(tagData.face){
|
|
2542
|
+
newContTag.face = tagData.face;
|
|
2543
|
+
}
|
|
2544
|
+
if(tagData.size){
|
|
2545
|
+
newContTag.size = tagData.size;
|
|
2546
|
+
}
|
|
2547
|
+
}
|
|
2548
|
+
domConstruct.place(newContTag, newblock, "before");
|
|
2549
|
+
while(tagList.length){
|
|
2550
|
+
tagData = tagList.pop();
|
|
2551
|
+
var newTgNode = doc.createElement(tagData.tagName);
|
|
2552
|
+
if(tagData.cssText && newTgNode.style){
|
|
2553
|
+
newTgNode.style.cssText = tagData.cssText;
|
|
2554
|
+
}
|
|
2555
|
+
if(tagData.className){
|
|
2556
|
+
newTgNode.className = tagData.className;
|
|
2557
|
+
}
|
|
2558
|
+
if(tagData.tagName === "FONT"){
|
|
2559
|
+
if(tagData.color){
|
|
2560
|
+
newTgNode.color = tagData.color;
|
|
2561
|
+
}
|
|
2562
|
+
if(tagData.face){
|
|
2563
|
+
newTgNode.face = tagData.face;
|
|
2564
|
+
}
|
|
2565
|
+
if(tagData.size){
|
|
2566
|
+
newTgNode.size = tagData.size;
|
|
2567
|
+
}
|
|
2568
|
+
}
|
|
2569
|
+
newContTag.appendChild(newTgNode);
|
|
2570
|
+
newContTag = newTgNode;
|
|
2571
|
+
}
|
|
2572
|
+
|
|
2573
|
+
// Okay, everything is theoretically split apart and removed from the content
|
|
2574
|
+
// so insert the dummy text to select, select it, then
|
|
2575
|
+
// clear to position cursor.
|
|
2576
|
+
sNode = doc.createTextNode(".");
|
|
2577
|
+
breaker.appendChild(sNode);
|
|
2578
|
+
newContTag.appendChild(sNode);
|
|
2579
|
+
newrange = rangeapi.create(this.window);
|
|
2580
|
+
newrange.setStart(sNode, 0);
|
|
2581
|
+
newrange.setEnd(sNode, sNode.length);
|
|
2582
|
+
selection.removeAllRanges();
|
|
2583
|
+
selection.addRange(newrange);
|
|
2584
|
+
this._sCall("collapse", [false]);
|
|
2585
|
+
sNode.parentNode.innerHTML = "";
|
|
2586
|
+
}else{
|
|
2587
|
+
// No extra tags, so we have to insert a breaker point and rely
|
|
2588
|
+
// on filters to remove it later.
|
|
2589
|
+
breaker = doc.createElement("span");
|
|
2590
|
+
breaker.className="ieFormatBreakerSpan";
|
|
2591
|
+
sNode = doc.createTextNode(".");
|
|
2592
|
+
breaker.appendChild(sNode);
|
|
2593
|
+
domConstruct.place(breaker, newblock, "before");
|
|
2594
|
+
newrange = rangeapi.create(this.window);
|
|
2595
|
+
newrange.setStart(sNode, 0);
|
|
2596
|
+
newrange.setEnd(sNode, sNode.length);
|
|
2597
|
+
selection.removeAllRanges();
|
|
2598
|
+
selection.addRange(newrange);
|
|
2599
|
+
this._sCall("collapse", [false]);
|
|
2600
|
+
sNode.parentNode.innerHTML = "";
|
|
2601
|
+
}
|
|
2602
|
+
if(!newblock.firstChild){
|
|
2603
|
+
// Empty, we don't need it. Split was at end or similar
|
|
2604
|
+
// So, remove it.
|
|
2605
|
+
domConstruct.destroy(newblock);
|
|
2606
|
+
}
|
|
2607
|
+
return true;
|
|
2608
|
+
}
|
|
2609
|
+
}
|
|
2610
|
+
return false;
|
|
2611
|
+
}else{
|
|
2612
|
+
range = selection.getRangeAt(0);
|
|
2613
|
+
rs = range.startContainer;
|
|
2614
|
+
if(rs && rs.nodeType === 3){
|
|
2615
|
+
// Text node, we have to split it.
|
|
2616
|
+
var offset = range.startOffset;
|
|
2617
|
+
if(rs.length < offset){
|
|
2618
|
+
//We are not splitting the right node, try to locate the correct one
|
|
2619
|
+
ret = this._adjustNodeAndOffset(rs, offset);
|
|
2620
|
+
rs = ret.node;
|
|
2621
|
+
offset = ret.offset;
|
|
2622
|
+
}
|
|
2623
|
+
txt = rs.nodeValue;
|
|
2624
|
+
startNode = doc.createTextNode(txt.substring(0, offset));
|
|
2625
|
+
var endText = txt.substring(offset);
|
|
2626
|
+
if(endText !== ""){
|
|
2627
|
+
endNode = doc.createTextNode(txt.substring(offset));
|
|
2628
|
+
}
|
|
2629
|
+
// Create a space, we'll select and bold it, so
|
|
2630
|
+
// the whole word doesn't get bolded
|
|
2631
|
+
breaker = doc.createElement("span");
|
|
2632
|
+
sNode = doc.createTextNode(".");
|
|
2633
|
+
breaker.appendChild(sNode);
|
|
2634
|
+
if(startNode.length){
|
|
2635
|
+
domConstruct.place(startNode, rs, "after");
|
|
2636
|
+
}else{
|
|
2637
|
+
startNode = rs;
|
|
2638
|
+
}
|
|
2639
|
+
domConstruct.place(breaker, startNode, "after");
|
|
2640
|
+
if(endNode){
|
|
2641
|
+
domConstruct.place(endNode, breaker, "after");
|
|
2642
|
+
}
|
|
2643
|
+
domConstruct.destroy(rs);
|
|
2644
|
+
var newrange = rangeapi.create(this.window);
|
|
2645
|
+
newrange.setStart(sNode, 0);
|
|
2646
|
+
newrange.setEnd(sNode, sNode.length);
|
|
2647
|
+
selection.removeAllRanges();
|
|
2648
|
+
selection.addRange(newrange);
|
|
2649
|
+
doc.execCommand(command);
|
|
2650
|
+
domConstruct.place(breaker.firstChild, breaker, "before");
|
|
2651
|
+
domConstruct.destroy(breaker);
|
|
2652
|
+
newrange.setStart(sNode, 0);
|
|
2653
|
+
newrange.setEnd(sNode, sNode.length);
|
|
2654
|
+
selection.removeAllRanges();
|
|
2655
|
+
selection.addRange(newrange);
|
|
2656
|
+
this._sCall("collapse", [false]);
|
|
2657
|
+
sNode.parentNode.innerHTML = "";
|
|
2658
|
+
return true;
|
|
2659
|
+
}
|
|
2660
|
+
}
|
|
2661
|
+
}else{
|
|
2662
|
+
return false;
|
|
2663
|
+
}
|
|
2664
|
+
},
|
|
2665
|
+
|
|
2666
|
+
_adaptIEList: function(command /*===== , argument =====*/){
|
|
2667
|
+
// summary:
|
|
2668
|
+
// This function handles normalizing the IE list behavior as
|
|
2669
|
+
// much as possible.
|
|
2670
|
+
// command:
|
|
2671
|
+
// The list command to execute.
|
|
2672
|
+
// argument:
|
|
2673
|
+
// Any additional argument.
|
|
2674
|
+
// tags:
|
|
2675
|
+
// private
|
|
2676
|
+
var selection = rangeapi.getSelection(this.window);
|
|
2677
|
+
if(selection.isCollapsed){
|
|
2678
|
+
// In the case of no selection, lets commonize the behavior and
|
|
2679
|
+
// make sure that it indents if needed.
|
|
2680
|
+
if(selection.rangeCount && !this.queryCommandValue(command)){
|
|
2681
|
+
var range = selection.getRangeAt(0);
|
|
2682
|
+
var sc = range.startContainer;
|
|
2683
|
+
if(sc && sc.nodeType == 3){
|
|
2684
|
+
// text node. Lets see if there is a node before it that isn't
|
|
2685
|
+
// some sort of breaker.
|
|
2686
|
+
if(!range.startOffset){
|
|
2687
|
+
// We're at the beginning of a text area. It may have been br split
|
|
2688
|
+
// Who knows? In any event, we must create the list manually
|
|
2689
|
+
// or IE may shove too much into the list element. It seems to
|
|
2690
|
+
// grab content before the text node too if it's br split.
|
|
2691
|
+
// Why can't IE work like everyone else?
|
|
2692
|
+
|
|
2693
|
+
// Create a space, we'll select and bold it, so
|
|
2694
|
+
// the whole word doesn't get bolded
|
|
2695
|
+
var lType = "ul";
|
|
2696
|
+
if(command === "insertorderedlist"){
|
|
2697
|
+
lType = "ol";
|
|
2698
|
+
}
|
|
2699
|
+
var list = this.document.createElement(lType);
|
|
2700
|
+
var li = domConstruct.create("li", null, list);
|
|
2701
|
+
domConstruct.place(list, sc, "before");
|
|
2702
|
+
// Move in the text node as part of the li.
|
|
2703
|
+
li.appendChild(sc);
|
|
2704
|
+
// We need a br after it or the enter key handler
|
|
2705
|
+
// sometimes throws errors.
|
|
2706
|
+
domConstruct.create("br", null, list, "after");
|
|
2707
|
+
// Okay, now lets move our cursor to the beginning.
|
|
2708
|
+
var newrange = rangeapi.create(this.window);
|
|
2709
|
+
newrange.setStart(sc, 0);
|
|
2710
|
+
newrange.setEnd(sc, sc.length);
|
|
2711
|
+
selection.removeAllRanges();
|
|
2712
|
+
selection.addRange(newrange);
|
|
2713
|
+
this._sCall("collapse", [true]);
|
|
2714
|
+
return true;
|
|
2715
|
+
}
|
|
2716
|
+
}
|
|
2717
|
+
}
|
|
2718
|
+
}
|
|
2719
|
+
return false;
|
|
2720
|
+
},
|
|
2721
|
+
|
|
2722
|
+
_handleTextColorOrProperties: function(command, argument){
|
|
2723
|
+
// summary:
|
|
2724
|
+
// This function handles appplying text color as best it is
|
|
2725
|
+
// able to do so when the selection is collapsed, making the
|
|
2726
|
+
// behavior cross-browser consistent. It also handles the name
|
|
2727
|
+
// and size for IE.
|
|
2728
|
+
// command:
|
|
2729
|
+
// The command.
|
|
2730
|
+
// argument:
|
|
2731
|
+
// Any additional arguments.
|
|
2732
|
+
// tags:
|
|
2733
|
+
// private
|
|
2734
|
+
var selection = rangeapi.getSelection(this.window);
|
|
2735
|
+
var doc = this.document;
|
|
2736
|
+
var rs, ret, range, txt, startNode, endNode, breaker, sNode;
|
|
2737
|
+
argument = argument || null;
|
|
2738
|
+
if(command && selection && selection.isCollapsed){
|
|
2739
|
+
if(selection.rangeCount){
|
|
2740
|
+
range = selection.getRangeAt(0);
|
|
2741
|
+
rs = range.startContainer;
|
|
2742
|
+
if(rs && rs.nodeType === 3){
|
|
2743
|
+
// Text node, we have to split it.
|
|
2744
|
+
var offset = range.startOffset;
|
|
2745
|
+
if(rs.length < offset){
|
|
2746
|
+
//We are not splitting the right node, try to locate the correct one
|
|
2747
|
+
ret = this._adjustNodeAndOffset(rs, offset);
|
|
2748
|
+
rs = ret.node;
|
|
2749
|
+
offset = ret.offset;
|
|
2750
|
+
}
|
|
2751
|
+
txt = rs.nodeValue;
|
|
2752
|
+
startNode = doc.createTextNode(txt.substring(0, offset));
|
|
2753
|
+
var endText = txt.substring(offset);
|
|
2754
|
+
if(endText !== ""){
|
|
2755
|
+
endNode = doc.createTextNode(txt.substring(offset));
|
|
2756
|
+
}
|
|
2757
|
+
// Create a space, we'll select and bold it, so
|
|
2758
|
+
// the whole word doesn't get bolded
|
|
2759
|
+
breaker = doc.createElement("span");
|
|
2760
|
+
sNode = doc.createTextNode(".");
|
|
2761
|
+
breaker.appendChild(sNode);
|
|
2762
|
+
// Create a junk node to avoid it trying to style the breaker.
|
|
2763
|
+
// This will get destroyed later.
|
|
2764
|
+
var extraSpan = doc.createElement("span");
|
|
2765
|
+
breaker.appendChild(extraSpan);
|
|
2766
|
+
if(startNode.length){
|
|
2767
|
+
domConstruct.place(startNode, rs, "after");
|
|
2768
|
+
}else{
|
|
2769
|
+
startNode = rs;
|
|
2770
|
+
}
|
|
2771
|
+
domConstruct.place(breaker, startNode, "after");
|
|
2772
|
+
if(endNode){
|
|
2773
|
+
domConstruct.place(endNode, breaker, "after");
|
|
2774
|
+
}
|
|
2775
|
+
domConstruct.destroy(rs);
|
|
2776
|
+
var newrange = rangeapi.create(this.window);
|
|
2777
|
+
newrange.setStart(sNode, 0);
|
|
2778
|
+
newrange.setEnd(sNode, sNode.length);
|
|
2779
|
+
selection.removeAllRanges();
|
|
2780
|
+
selection.addRange(newrange);
|
|
2781
|
+
if(has("webkit")){
|
|
2782
|
+
// WebKit is frustrating with positioning the cursor.
|
|
2783
|
+
// It stinks to have a selected space, but there really
|
|
2784
|
+
// isn't much choice here.
|
|
2785
|
+
var style = "color";
|
|
2786
|
+
if(command === "hilitecolor" || command === "backcolor"){
|
|
2787
|
+
style = "backgroundColor";
|
|
2788
|
+
}
|
|
2789
|
+
domStyle.set(breaker, style, argument);
|
|
2790
|
+
this._sCall("remove", []);
|
|
2791
|
+
domConstruct.destroy(extraSpan);
|
|
2792
|
+
breaker.innerHTML = " "; //
|
|
2793
|
+
this._sCall("selectElement", [breaker]);
|
|
2794
|
+
this.focus();
|
|
2795
|
+
}else{
|
|
2796
|
+
this.execCommand(command, argument);
|
|
2797
|
+
domConstruct.place(breaker.firstChild, breaker, "before");
|
|
2798
|
+
domConstruct.destroy(breaker);
|
|
2799
|
+
newrange.setStart(sNode, 0);
|
|
2800
|
+
newrange.setEnd(sNode, sNode.length);
|
|
2801
|
+
selection.removeAllRanges();
|
|
2802
|
+
selection.addRange(newrange);
|
|
2803
|
+
this._sCall("collapse", [false]);
|
|
2804
|
+
sNode.parentNode.removeChild(sNode);
|
|
2805
|
+
}
|
|
2806
|
+
return true;
|
|
2807
|
+
}
|
|
2808
|
+
}
|
|
2809
|
+
}
|
|
2810
|
+
return false;
|
|
2811
|
+
},
|
|
2812
|
+
|
|
2813
|
+
_adjustNodeAndOffset: function(/*DomNode*/node, /*Int*/offset){
|
|
2814
|
+
// summary:
|
|
2815
|
+
// In the case there are multiple text nodes in a row the offset may not be within the node.
|
|
2816
|
+
// If the offset is larger than the node length, it will attempt to find
|
|
2817
|
+
// the next text sibling until it locates the text node in which the offset refers to
|
|
2818
|
+
// node:
|
|
2819
|
+
// The node to check.
|
|
2820
|
+
// offset:
|
|
2821
|
+
// The position to find within the text node
|
|
2822
|
+
// tags:
|
|
2823
|
+
// private.
|
|
2824
|
+
while(node.length < offset && node.nextSibling && node.nextSibling.nodeType === 3){
|
|
2825
|
+
//Adjust the offset and node in the case of multiple text nodes in a row
|
|
2826
|
+
offset = offset - node.length;
|
|
2827
|
+
node = node.nextSibling;
|
|
2828
|
+
}
|
|
2829
|
+
return {"node": node, "offset": offset};
|
|
2830
|
+
},
|
|
2831
|
+
|
|
2832
|
+
_tagNamesForCommand: function(command){
|
|
2833
|
+
// summary:
|
|
2834
|
+
// Function to return the tab names that are associated
|
|
2835
|
+
// with a particular style.
|
|
2836
|
+
// command: String
|
|
2837
|
+
// The command to return tags for.
|
|
2838
|
+
// tags:
|
|
2839
|
+
// private
|
|
2840
|
+
if(command === "bold"){
|
|
2841
|
+
return ["b", "strong"];
|
|
2842
|
+
}else if(command === "italic"){
|
|
2843
|
+
return ["i","em"];
|
|
2844
|
+
}else if(command === "strikethrough"){
|
|
2845
|
+
return ["s", "strike"];
|
|
2846
|
+
}else if(command === "superscript"){
|
|
2847
|
+
return ["sup"];
|
|
2848
|
+
}else if(command === "subscript"){
|
|
2849
|
+
return ["sub"];
|
|
2850
|
+
}else if(command === "underline"){
|
|
2851
|
+
return ["u"];
|
|
2852
|
+
}
|
|
2853
|
+
return [];
|
|
2854
|
+
},
|
|
2855
|
+
|
|
2856
|
+
_stripBreakerNodes: function(/*DOMNode*/ node){
|
|
2857
|
+
// summary:
|
|
2858
|
+
// Function for stripping out the breaker spans inserted by the formatting command.
|
|
2859
|
+
// Registered as a filter for IE, handles the breaker spans needed to fix up
|
|
2860
|
+
// How bold/italic/etc, work when selection is collapsed (single cursor).
|
|
2861
|
+
if(!this.isLoaded){ return; } // this method requires init to be complete
|
|
2862
|
+
query(".ieFormatBreakerSpan", node).forEach(function(b){
|
|
2863
|
+
while(b.firstChild){
|
|
2864
|
+
domConstruct.place(b.firstChild, b, "before");
|
|
2865
|
+
}
|
|
2866
|
+
domConstruct.destroy(b);
|
|
2867
|
+
});
|
|
2868
|
+
return node;
|
|
2869
|
+
}
|
|
2870
|
+
});
|
|
2871
|
+
|
|
2872
|
+
return RichText;
|
|
2873
|
+
|
|
2874
|
+
});
|