yui-rails-asset 2.8.1
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +21 -0
- data/README +17 -0
- data/lib/yui/rails.rb +29 -0
- data/lib/yui/rails/engine.rb +10 -0
- data/lib/yui/rails/version.rb +6 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/animation/animation-debug.js +1396 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/animation/animation-min.js +23 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/animation/animation.js +1392 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/ajax-loader.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/asc.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/autocomplete.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/back-h.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/back-v.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/bar-h.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/bar-v.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/bg-h.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/bg-v.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/blankimage.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/button.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/calendar.css +8 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/carousel.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/check0.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/check1.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/check2.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/colorpicker.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/container.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/datatable.css +8 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/desc.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/dt-arrow-dn.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/dt-arrow-up.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/editor-knob.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/editor-sprite-active.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/editor-sprite.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/editor.css +10 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/header_background.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/hue_bg.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/imagecropper.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/layout.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/layout_sprite.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/loading.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/logger.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/menu-button-arrow-disabled.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/menu-button-arrow.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/menu.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/menubaritem_submenuindicator.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/menubaritem_submenuindicator_disabled.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/menuitem_checkbox.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/menuitem_checkbox_disabled.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/menuitem_submenuindicator.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/menuitem_submenuindicator_disabled.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/paginator.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/picker_mask.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/profilerviewer.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/progressbar.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/resize.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/simpleeditor.css +10 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/skin.css +36 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/slider.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/split-button-arrow-active.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/split-button-arrow-disabled.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/split-button-arrow-focus.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/split-button-arrow-hover.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/split-button-arrow.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/sprite.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/sprite.psd +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/tabview.css +8 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/treeview-loading.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/treeview-sprite.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/treeview.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/wait.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/assets/skins/sam/yuitest.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/autocomplete/assets/autocomplete-core.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/autocomplete/assets/skins/sam/autocomplete-skin.css +57 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/autocomplete/assets/skins/sam/autocomplete.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/autocomplete/autocomplete-debug.js +3009 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/autocomplete/autocomplete-min.js +12 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/autocomplete/autocomplete.js +2966 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/base/base-min.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/base/base.css +131 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/button-core.css +44 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/skins/sam/button-skin.css +219 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/skins/sam/button.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/skins/sam/menu-button-arrow-disabled.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/skins/sam/menu-button-arrow.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/skins/sam/split-button-arrow-active.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/skins/sam/split-button-arrow-disabled.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/skins/sam/split-button-arrow-focus.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/skins/sam/split-button-arrow-hover.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/button/assets/skins/sam/split-button-arrow.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/button/button-debug.js +4694 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/button/button-min.js +11 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/button/button.js +4633 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/calendar/assets/calendar-core.css +132 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/calendar/assets/calendar.css +320 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/calendar/assets/calgrad.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/calendar/assets/callt.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/calendar/assets/calrt.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/calendar/assets/calx.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/calendar/assets/skins/sam/calendar-skin.css +361 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/calendar/assets/skins/sam/calendar.css +8 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/calendar/calendar-debug.js +7324 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/calendar/calendar-min.js +18 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/calendar/calendar.js +7294 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/carousel/assets/ajax-loader.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/carousel/assets/carousel-core.css +88 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/carousel/assets/skins/sam/ajax-loader.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/carousel/assets/skins/sam/carousel-skin.css +142 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/carousel/assets/skins/sam/carousel.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/carousel/carousel-debug.js +4390 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/carousel/carousel-min.js +12 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/carousel/carousel.js +4349 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/charts/assets/charts.swf +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/charts/charts-debug.js +2061 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/charts/charts-min.js +9 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/charts/charts.js +2060 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/assets/colorpicker-core.css +6 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/assets/hue_thumb.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/assets/picker_mask.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/assets/picker_thumb.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/assets/skins/sam/colorpicker-skin.css +105 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/assets/skins/sam/colorpicker.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/assets/skins/sam/hue_bg.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/assets/skins/sam/picker_mask.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/colorpicker-debug.js +1783 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/colorpicker-min.js +9 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/colorpicker/colorpicker.js +1763 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/connection/connection-debug.js +1576 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/connection/connection-min.js +9 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/connection/connection.js +1546 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/connection/connection.swf +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/connection/connection_core-debug.js +980 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/connection/connection_core-min.js +8 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/connection/connection_core.js +957 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/alrt16_1.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/blck16_1.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/close12_1.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/container-core.css +176 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/container.css +324 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/hlp16_1.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/info16_1.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/skins/sam/container-skin.css +242 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/skins/sam/container.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/tip16_1.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/container/assets/warn16_1.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/container/container-debug.js +9076 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/container/container-min.js +19 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/container/container.js +9052 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/container/container_core-debug.js +5136 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/container/container_core-min.js +14 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/container/container_core.js +5126 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/cookie/cookie-debug.js +482 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/cookie/cookie-min.js +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/cookie/cookie.js +482 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/datasource/datasource-debug.js +3067 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/datasource/datasource-min.js +12 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/datasource/datasource.js +2996 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/datatable/assets/datatable-core.css +93 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/datatable/assets/datatable.css +49 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/datatable/assets/skins/sam/datatable-skin.css +240 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/datatable/assets/skins/sam/datatable.css +8 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/datatable/assets/skins/sam/dt-arrow-dn.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/datatable/assets/skins/sam/dt-arrow-up.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/datatable/datatable-debug.js +17360 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/datatable/datatable-min.js +29 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/datatable/datatable.js +17122 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/datemath/datemath-debug.js +408 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/datemath/datemath-min.js +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/datemath/datemath.js +408 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/dom/dom-debug.js +1872 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/dom/dom-min.js +9 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/dom/dom.js +1832 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/dragdrop/dragdrop-debug.js +3710 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/dragdrop/dragdrop-min.js +10 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/dragdrop/dragdrop.js +3601 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/editor-core.css +602 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/simpleeditor-core.css +602 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/skins/sam/blankimage.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/skins/sam/editor-knob.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/skins/sam/editor-skin.css +711 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/skins/sam/editor-sprite-active.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/skins/sam/editor-sprite.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/skins/sam/editor.css +10 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/skins/sam/simpleeditor-skin.css +711 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/editor/assets/skins/sam/simpleeditor.css +10 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/editor/editor-debug.js +9557 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/editor/editor-min.js +30 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/editor/editor.js +9447 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/editor/simpleeditor-debug.js +7493 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/editor/simpleeditor-min.js +24 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/editor/simpleeditor.js +7406 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/element-delegate/element-delegate-debug.js +141 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/element-delegate/element-delegate-min.js +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/element-delegate/element-delegate.js +138 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/element/element-debug.js +1106 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/element/element-min.js +8 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/element/element.js +1090 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/event-delegate/event-delegate-debug.js +283 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/event-delegate/event-delegate-min.js +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/event-delegate/event-delegate.js +281 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/event-mouseenter/event-mouseenter-debug.js +219 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/event-mouseenter/event-mouseenter-min.js +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/event-mouseenter/event-mouseenter.js +219 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/event-simulate/event-simulate-debug.js +622 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/event-simulate/event-simulate-min.js +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/event-simulate/event-simulate.js +622 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/event/event-debug.js +2524 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/event/event-min.js +11 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/event/event.js +2500 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/fonts/fonts-min.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/fonts/fonts.css +56 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/get/get-debug.js +773 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/get/get-min.js +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/get/get.js +755 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/grids/grids-min.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/grids/grids.css +467 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/history/assets/blank.html +1 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/history/history-debug.js +808 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/history/history-min.js +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/history/history.js +808 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/imagecropper/assets/imagecropper-core.css +33 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/imagecropper/assets/skins/sam/imagecropper-skin.css +16 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/imagecropper/assets/skins/sam/imagecropper.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/imagecropper/imagecropper-debug.js +907 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/imagecropper/imagecropper-min.js +8 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/imagecropper/imagecropper.js +889 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/imageloader/imageloader-debug.js +487 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/imageloader/imageloader-min.js +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/imageloader/imageloader.js +481 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/json/json-debug.js +538 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/json/json-min.js +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/json/json.js +538 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/layout/assets/layout-core.css +158 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/layout/assets/skins/sam/layout-skin.css +207 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/layout/assets/skins/sam/layout.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/layout/assets/skins/sam/layout_sprite.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/layout/layout-debug.js +2305 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/layout/layout-min.js +11 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/layout/layout.js +2290 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/logger/assets/logger-core.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/logger/assets/logger.css +57 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/logger/assets/skins/sam/logger-skin.css +55 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/logger/assets/skins/sam/logger.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/logger/logger-debug.js +2104 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/logger/logger-min.js +9 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/logger/logger.js +2104 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menu-core.css +242 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menu.css +503 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menu_down_arrow.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menu_down_arrow_disabled.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menu_up_arrow.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menu_up_arrow_disabled.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menubaritem_submenuindicator.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menubaritem_submenuindicator_disabled.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menubaritem_submenuindicator_selected.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menuitem_checkbox.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menuitem_checkbox_disabled.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menuitem_checkbox_selected.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menuitem_submenuindicator.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menuitem_submenuindicator_disabled.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/menuitem_submenuindicator_selected.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/skins/sam/menu-skin.css +339 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/skins/sam/menu.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/skins/sam/menubaritem_submenuindicator.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/skins/sam/menubaritem_submenuindicator_disabled.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/skins/sam/menuitem_checkbox.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/skins/sam/menuitem_checkbox_disabled.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/skins/sam/menuitem_submenuindicator.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/menu/assets/skins/sam/menuitem_submenuindicator_disabled.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/menu/menu-debug.js +9870 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/menu/menu-min.js +16 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/menu/menu.js +9823 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/paginator/assets/paginator-core.css +6 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/paginator/assets/skins/sam/paginator-skin.css +78 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/paginator/assets/skins/sam/paginator.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/paginator/paginator-debug.js +2393 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/paginator/paginator-min.js +10 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/paginator/paginator.js +2393 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/profiler/profiler-debug.js +557 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/profiler/profiler-min.js +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/profiler/profiler.js +557 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/assets/profilerviewer-core.css +6 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/assets/skins/sam/asc.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/assets/skins/sam/desc.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/assets/skins/sam/header_background.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/assets/skins/sam/profilerviewer-skin.css +167 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/assets/skins/sam/profilerviewer.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/assets/skins/sam/wait.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/profilerviewer-debug.js +1229 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/profilerviewer-min.js +9 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/profilerviewer/profilerviewer.js +1192 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/assets/progressbar-core.css +85 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/assets/skins/sam/back-h.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/assets/skins/sam/back-v.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/assets/skins/sam/bar-h.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/assets/skins/sam/bar-v.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/assets/skins/sam/progressbar-skin.css +56 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/assets/skins/sam/progressbar.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/progressbar-debug.js +691 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/progressbar-min.js +8 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/progressbar/progressbar.js +677 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/reset-fonts-grids/reset-fonts-grids.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/reset-fonts/reset-fonts.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/reset/reset-min.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/reset/reset.css +142 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/resize/assets/resize-core.css +173 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/resize/assets/skins/sam/layout_sprite.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/resize/assets/skins/sam/resize-skin.css +142 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/resize/assets/skins/sam/resize.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/resize/resize-debug.js +1749 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/resize/resize-min.js +10 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/resize/resize.js +1689 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/selector/selector-debug.js +651 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/selector/selector-min.js +8 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/selector/selector.js +644 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/bg-fader.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/bg-h.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/bg-v-e.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/bg-v.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/left-thumb.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/right-thumb.png +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/skins/sam/bg-h.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/skins/sam/bg-v.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/skins/sam/slider-skin.css +24 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/skins/sam/slider.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/slider-core.css +17 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/slider-skin.css +20 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/thumb-bar.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/thumb-e.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/thumb-fader.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/thumb-n.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/thumb-s.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/slider/assets/thumb-w.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/slider/slider-debug.js +2114 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/slider/slider-min.js +9 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/slider/slider.js +2068 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/storage/storage-debug.js +1185 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/storage/storage-min.js +8 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/storage/storage.js +1183 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/stylesheet/stylesheet-debug.js +648 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/stylesheet/stylesheet-min.js +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/stylesheet/stylesheet.js +645 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/swf/swf-debug.js +269 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/swf/swf-min.js +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/swf/swf.js +268 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/swfdetect/swfdetect-debug.js +93 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/swfdetect/swfdetect-min.js +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/swfdetect/swfdetect.js +93 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/swfstore/swf.js +238 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/swfstore/swfstore-debug.js +470 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/swfstore/swfstore-min.js +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/swfstore/swfstore.js +453 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/swfstore/swfstore.swf +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/tabview/assets/border_tabs.css +54 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/tabview/assets/loading.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/tabview/assets/skin-sam.css +77 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/tabview/assets/skins/sam/tabview-skin.css +186 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/tabview/assets/skins/sam/tabview.css +8 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/tabview/assets/tabview-core.css +133 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/tabview/assets/tabview.css +77 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/tabview/tabview-debug.js +995 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/tabview/tabview-min.js +8 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/tabview/tabview.js +987 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/treeview/assets/skins/sam/check0.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/treeview/assets/skins/sam/check1.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/treeview/assets/skins/sam/check2.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/treeview/assets/skins/sam/loading.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/treeview/assets/skins/sam/treeview-loading.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/treeview/assets/skins/sam/treeview-skin.css +249 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/treeview/assets/skins/sam/treeview-sprite.gif +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/treeview/assets/skins/sam/treeview.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/treeview/assets/treeview-core.css +6 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/treeview/treeview-debug.js +4058 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/treeview/treeview-min.js +12 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/treeview/treeview.js +3989 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/uploader/assets/uploader.swf +0 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/uploader/uploader-debug.js +1072 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/uploader/uploader-min.js +15 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/uploader/uploader.js +1069 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/utilities/utilities.js +39 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/yahoo-dom-event/yahoo-dom-event.js +14 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/yahoo/yahoo-debug.js +1075 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/yahoo/yahoo-min.js +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/yahoo/yahoo.js +1075 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/yuiloader-dom-event/yuiloader-dom-event.js +17 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/yuiloader/yuiloader-debug.js +3879 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/yuiloader/yuiloader-min.js +10 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/yuiloader/yuiloader.js +3879 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/assets/skins/sam/yuitest-skin.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/assets/skins/sam/yuitest.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/assets/testlogger.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/assets/yuitest-core.css +7 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/yuitest-debug.js +2741 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/yuitest-min.js +10 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/yuitest.js +2741 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/yuitest_core-debug.js +1976 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/yuitest_core-min.js +9 -0
- data/vendor/assets/javascripts/yui-2.8.1/build/yuitest/yuitest_core.js +1976 -0
- metadata +470 -0
@@ -0,0 +1,7 @@
|
|
1
|
+
/*
|
2
|
+
Copyright (c) 2010, Yahoo! Inc. All rights reserved.
|
3
|
+
Code licensed under the BSD License:
|
4
|
+
http://developer.yahoo.com/yui/license.html
|
5
|
+
version: 2.8.1
|
6
|
+
*/
|
7
|
+
YAHOO.util.History=(function(){var C=null;var K=null;var F=false;var D=[];var B=[];function I(){var M,L;L=top.location.href;M=L.indexOf("#");return M>=0?L.substr(M+1):null;}function A(){var M,N,O=[],L=[];for(M in D){if(YAHOO.lang.hasOwnProperty(D,M)){N=D[M];O.push(M+"="+N.initialState);L.push(M+"="+N.currentState);}}K.value=O.join("&")+"|"+L.join("&");if(YAHOO.env.ua.webkit){K.value+="|"+B.join(",");}}function H(L){var Q,R,M,O,P,T,S,N;if(!L){for(M in D){if(YAHOO.lang.hasOwnProperty(D,M)){O=D[M];O.currentState=O.initialState;O.onStateChange(unescape(O.currentState));}}return;}P=[];T=L.split("&");for(Q=0,R=T.length;Q<R;Q++){S=T[Q].split("=");if(S.length===2){M=S[0];N=S[1];P[M]=N;}}for(M in D){if(YAHOO.lang.hasOwnProperty(D,M)){O=D[M];N=P[M];if(!N||O.currentState!==N){O.currentState=N||O.initialState;O.onStateChange(unescape(O.currentState));}}}}function J(O){var L,N;L='<html><body><div id="state">'+O.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")+"</div></body></html>";try{N=C.contentWindow.document;N.open();N.write(L);N.close();return true;}catch(M){return false;}}function G(){var O,L,N,M;if(!C.contentWindow||!C.contentWindow.document){setTimeout(G,10);return;}O=C.contentWindow.document;L=O.getElementById("state");N=L?L.innerText:null;M=I();setInterval(function(){var U,Q,R,S,T,P;O=C.contentWindow.document;L=O.getElementById("state");U=L?L.innerText:null;T=I();if(U!==N){N=U;H(N);if(!N){Q=[];for(R in D){if(YAHOO.lang.hasOwnProperty(D,R)){S=D[R];Q.push(R+"="+S.initialState);}}T=Q.join("&");}else{T=N;}top.location.hash=T;M=T;A();}else{if(T!==M){M=T;J(T);}}},50);F=true;YAHOO.util.History.onLoadEvent.fire();}function E(){var S,U,Q,W,M,O,V,P,T,N,L,R;Q=K.value.split("|");if(Q.length>1){V=Q[0].split("&");for(S=0,U=V.length;S<U;S++){W=V[S].split("=");if(W.length===2){M=W[0];P=W[1];O=D[M];if(O){O.initialState=P;}}}T=Q[1].split("&");for(S=0,U=T.length;S<U;S++){W=T[S].split("=");if(W.length>=2){M=W[0];N=W[1];O=D[M];if(O){O.currentState=N;}}}}if(Q.length>2){B=Q[2].split(",");}if(YAHOO.env.ua.ie){if(typeof document.documentMode==="undefined"||document.documentMode<8){G();}else{YAHOO.util.Event.on(top,"hashchange",function(){var X=I();H(X);A();});F=true;YAHOO.util.History.onLoadEvent.fire();}}else{L=history.length;R=I();setInterval(function(){var Z,X,Y;X=I();Y=history.length;if(X!==R){R=X;L=Y;H(R);A();}else{if(Y!==L&&YAHOO.env.ua.webkit){R=X;L=Y;Z=B[L-1];H(Z);A();}}},50);F=true;YAHOO.util.History.onLoadEvent.fire();}}return{onLoadEvent:new YAHOO.util.CustomEvent("onLoad"),onReady:function(L,M,N){if(F){setTimeout(function(){var O=window;if(N){if(N===true){O=M;}else{O=N;}}L.call(O,"onLoad",[],M);},0);}else{YAHOO.util.History.onLoadEvent.subscribe(L,M,N);}},register:function(N,L,P,Q,R){var O,M;if(typeof N!=="string"||YAHOO.lang.trim(N)===""||typeof L!=="string"||typeof P!=="function"){throw new Error("Missing or invalid argument");}if(D[N]){return;}if(F){throw new Error("All modules must be registered before calling YAHOO.util.History.initialize");}N=escape(N);L=escape(L);O=null;if(R===true){O=Q;}else{O=R;}M=function(S){return P.call(O,S,Q);};D[N]={name:N,initialState:L,currentState:L,onStateChange:M};},initialize:function(L,M){if(F){return;}if(YAHOO.env.ua.opera&&typeof history.navigationMode!=="undefined"){history.navigationMode="compatible";}if(typeof L==="string"){L=document.getElementById(L);}if(!L||L.tagName.toUpperCase()!=="TEXTAREA"&&(L.tagName.toUpperCase()!=="INPUT"||L.type!=="hidden"&&L.type!=="text")){throw new Error("Missing or invalid argument");}K=L;if(YAHOO.env.ua.ie&&(typeof document.documentMode==="undefined"||document.documentMode<8)){if(typeof M==="string"){M=document.getElementById(M);}if(!M||M.tagName.toUpperCase()!=="IFRAME"){throw new Error("Missing or invalid argument");}C=M;}YAHOO.util.Event.onDOMReady(E);},navigate:function(M,N){var L;if(typeof M!=="string"||typeof N!=="string"){throw new Error("Missing or invalid argument");}L={};L[M]=N;return YAHOO.util.History.multiNavigate(L);},multiNavigate:function(M){var L,N,P,O,Q;if(typeof M!=="object"){throw new Error("Missing or invalid argument");}if(!F){throw new Error("The Browser History Manager is not initialized");}for(N in M){if(!D[N]){throw new Error("The following module has not been registered: "+N);}}L=[];for(N in D){if(YAHOO.lang.hasOwnProperty(D,N)){P=D[N];if(YAHOO.lang.hasOwnProperty(M,N)){O=M[unescape(N)];}else{O=unescape(P.currentState);}N=escape(N);O=escape(O);L.push(N+"="+O);}}Q=L.join("&");if(YAHOO.env.ua.ie&&(typeof document.documentMode==="undefined"||document.documentMode<8)){return J(Q);}else{top.location.hash=Q;if(YAHOO.env.ua.webkit){B[history.length]=Q;A();}return true;}},getCurrentState:function(L){var M;if(typeof L!=="string"){throw new Error("Missing or invalid argument");}if(!F){throw new Error("The Browser History Manager is not initialized");}M=D[L];if(!M){throw new Error("No such registered module: "+L);}return unescape(M.currentState);},getBookmarkedState:function(Q){var P,M,L,S,N,R,O;if(typeof Q!=="string"){throw new Error("Missing or invalid argument");}L=top.location.href.indexOf("#");if(L>=0){S=top.location.href.substr(L+1);N=S.split("&");for(P=0,M=N.length;P<M;P++){R=N[P].split("=");if(R.length===2){O=R[0];if(O===Q){return unescape(R[1]);}}}}return null;},getQueryStringParameter:function(Q,N){var O,M,L,S,R,P;N=N||top.location.href;L=N.indexOf("?");S=L>=0?N.substr(L+1):N;L=S.lastIndexOf("#");S=L>=0?S.substr(0,L):S;R=S.split("&");for(O=0,M=R.length;O<M;O++){P=R[O].split("=");if(P.length>=2){if(P[0]===Q){return unescape(P[1]);}}}return null;}};})();YAHOO.register("history",YAHOO.util.History,{version:"2.8.1",build:"19"});
|
@@ -0,0 +1,808 @@
|
|
1
|
+
/*
|
2
|
+
Copyright (c) 2010, Yahoo! Inc. All rights reserved.
|
3
|
+
Code licensed under the BSD License:
|
4
|
+
http://developer.yahoo.com/yui/license.html
|
5
|
+
version: 2.8.1
|
6
|
+
*/
|
7
|
+
/**
|
8
|
+
* The Browser History Manager provides the ability to use the back/forward
|
9
|
+
* navigation buttons in a DHTML application. It also allows a DHTML
|
10
|
+
* application to be bookmarked in a specific state.
|
11
|
+
*
|
12
|
+
* This library requires the following static markup:
|
13
|
+
*
|
14
|
+
* <iframe id="yui-history-iframe" src="path-to-real-asset-in-same-domain"></iframe>
|
15
|
+
* <input id="yui-history-field" type="hidden">
|
16
|
+
*
|
17
|
+
* @module history
|
18
|
+
* @requires yahoo,event
|
19
|
+
* @namespace YAHOO.util
|
20
|
+
* @title Browser History Manager
|
21
|
+
*/
|
22
|
+
|
23
|
+
/**
|
24
|
+
* The History class provides the ability to use the back/forward navigation
|
25
|
+
* buttons in a DHTML application. It also allows a DHTML application to
|
26
|
+
* be bookmarked in a specific state.
|
27
|
+
*
|
28
|
+
* @class History
|
29
|
+
* @constructor
|
30
|
+
*/
|
31
|
+
YAHOO.util.History = (function () {
|
32
|
+
|
33
|
+
/**
|
34
|
+
* Our hidden IFrame used to store the browsing history.
|
35
|
+
*
|
36
|
+
* @property _histFrame
|
37
|
+
* @type HTMLIFrameElement
|
38
|
+
* @default null
|
39
|
+
* @private
|
40
|
+
*/
|
41
|
+
var _histFrame = null;
|
42
|
+
|
43
|
+
/**
|
44
|
+
* INPUT field (with type="hidden" or type="text") or TEXTAREA.
|
45
|
+
* This field keeps the value of the initial state, current state
|
46
|
+
* the list of all states across pages within a single browser session.
|
47
|
+
*
|
48
|
+
* @property _stateField
|
49
|
+
* @type HTMLInputElement|HTMLTextAreaElement
|
50
|
+
* @default null
|
51
|
+
* @private
|
52
|
+
*/
|
53
|
+
var _stateField = null;
|
54
|
+
|
55
|
+
/**
|
56
|
+
* Flag used to tell whether YAHOO.util.History.initialize has been called.
|
57
|
+
*
|
58
|
+
* @property _initialized
|
59
|
+
* @type boolean
|
60
|
+
* @default false
|
61
|
+
* @private
|
62
|
+
*/
|
63
|
+
var _initialized = false;
|
64
|
+
|
65
|
+
/**
|
66
|
+
* List of registered modules.
|
67
|
+
*
|
68
|
+
* @property _modules
|
69
|
+
* @type array
|
70
|
+
* @default []
|
71
|
+
* @private
|
72
|
+
*/
|
73
|
+
var _modules = [];
|
74
|
+
|
75
|
+
/**
|
76
|
+
* List of fully qualified states. This is used only by Safari.
|
77
|
+
*
|
78
|
+
* @property _fqstates
|
79
|
+
* @type array
|
80
|
+
* @default []
|
81
|
+
* @private
|
82
|
+
*/
|
83
|
+
var _fqstates = [];
|
84
|
+
|
85
|
+
/**
|
86
|
+
* location.hash is a bit buggy on Opera. I have seen instances where
|
87
|
+
* navigating the history using the back/forward buttons, and hence
|
88
|
+
* changing the URL, would not change location.hash. That's ok, the
|
89
|
+
* implementation of an equivalent is trivial.
|
90
|
+
*
|
91
|
+
* @method _getHash
|
92
|
+
* @return {string} The hash portion of the document's location
|
93
|
+
* @private
|
94
|
+
*/
|
95
|
+
function _getHash() {
|
96
|
+
var i, href;
|
97
|
+
href = top.location.href;
|
98
|
+
i = href.indexOf("#");
|
99
|
+
return i >= 0 ? href.substr(i + 1) : null;
|
100
|
+
}
|
101
|
+
|
102
|
+
/**
|
103
|
+
* Stores all the registered modules' initial state and current state.
|
104
|
+
* On Safari, we also store all the fully qualified states visited by
|
105
|
+
* the application within a single browser session. The storage takes
|
106
|
+
* place in the form field specified during initialization.
|
107
|
+
*
|
108
|
+
* @method _storeStates
|
109
|
+
* @private
|
110
|
+
*/
|
111
|
+
function _storeStates() {
|
112
|
+
|
113
|
+
var moduleName, moduleObj, initialStates = [], currentStates = [];
|
114
|
+
|
115
|
+
for (moduleName in _modules) {
|
116
|
+
if (YAHOO.lang.hasOwnProperty(_modules, moduleName)) {
|
117
|
+
moduleObj = _modules[moduleName];
|
118
|
+
initialStates.push(moduleName + "=" + moduleObj.initialState);
|
119
|
+
currentStates.push(moduleName + "=" + moduleObj.currentState);
|
120
|
+
}
|
121
|
+
}
|
122
|
+
|
123
|
+
_stateField.value = initialStates.join("&") + "|" + currentStates.join("&");
|
124
|
+
|
125
|
+
if (YAHOO.env.ua.webkit) {
|
126
|
+
_stateField.value += "|" + _fqstates.join(",");
|
127
|
+
}
|
128
|
+
}
|
129
|
+
|
130
|
+
/**
|
131
|
+
* Sets the new currentState attribute of all modules depending on the new
|
132
|
+
* fully qualified state. Also notifies the modules which current state has
|
133
|
+
* changed.
|
134
|
+
*
|
135
|
+
* @method _handleFQStateChange
|
136
|
+
* @param {string} fqstate Fully qualified state
|
137
|
+
* @private
|
138
|
+
*/
|
139
|
+
function _handleFQStateChange(fqstate) {
|
140
|
+
|
141
|
+
var i, len, moduleName, moduleObj, modules, states, tokens, currentState;
|
142
|
+
|
143
|
+
if (!fqstate) {
|
144
|
+
// Notifies all modules
|
145
|
+
for (moduleName in _modules) {
|
146
|
+
if (YAHOO.lang.hasOwnProperty(_modules, moduleName)) {
|
147
|
+
moduleObj = _modules[moduleName];
|
148
|
+
moduleObj.currentState = moduleObj.initialState;
|
149
|
+
moduleObj.onStateChange(unescape(moduleObj.currentState));
|
150
|
+
}
|
151
|
+
}
|
152
|
+
return;
|
153
|
+
}
|
154
|
+
|
155
|
+
modules = [];
|
156
|
+
states = fqstate.split("&");
|
157
|
+
for (i = 0, len = states.length; i < len; i++) {
|
158
|
+
tokens = states[i].split("=");
|
159
|
+
if (tokens.length === 2) {
|
160
|
+
moduleName = tokens[0];
|
161
|
+
currentState = tokens[1];
|
162
|
+
modules[moduleName] = currentState;
|
163
|
+
}
|
164
|
+
}
|
165
|
+
|
166
|
+
for (moduleName in _modules) {
|
167
|
+
if (YAHOO.lang.hasOwnProperty(_modules, moduleName)) {
|
168
|
+
moduleObj = _modules[moduleName];
|
169
|
+
currentState = modules[moduleName];
|
170
|
+
if (!currentState || moduleObj.currentState !== currentState) {
|
171
|
+
moduleObj.currentState = currentState || moduleObj.initialState;
|
172
|
+
moduleObj.onStateChange(unescape(moduleObj.currentState));
|
173
|
+
}
|
174
|
+
}
|
175
|
+
}
|
176
|
+
}
|
177
|
+
|
178
|
+
/**
|
179
|
+
* Update the IFrame with our new state.
|
180
|
+
*
|
181
|
+
* @method _updateIFrame
|
182
|
+
* @private
|
183
|
+
* @return {boolean} true if successful. false otherwise.
|
184
|
+
*/
|
185
|
+
function _updateIFrame (fqstate) {
|
186
|
+
|
187
|
+
var html, doc;
|
188
|
+
|
189
|
+
html = '<html><body><div id="state">' +
|
190
|
+
fqstate.replace(/&/g,'&').
|
191
|
+
replace(/</g,'<').
|
192
|
+
replace(/>/g,'>').
|
193
|
+
replace(/"/g,'"') +
|
194
|
+
'</div></body></html>';
|
195
|
+
|
196
|
+
try {
|
197
|
+
doc = _histFrame.contentWindow.document;
|
198
|
+
doc.open();
|
199
|
+
doc.write(html);
|
200
|
+
doc.close();
|
201
|
+
return true;
|
202
|
+
} catch (e) {
|
203
|
+
return false;
|
204
|
+
}
|
205
|
+
}
|
206
|
+
|
207
|
+
/**
|
208
|
+
* Periodically checks whether our internal IFrame is ready to be used.
|
209
|
+
*
|
210
|
+
* @method _checkIframeLoaded
|
211
|
+
* @private
|
212
|
+
*/
|
213
|
+
function _checkIframeLoaded() {
|
214
|
+
|
215
|
+
var doc, elem, fqstate, hash;
|
216
|
+
|
217
|
+
if (!_histFrame.contentWindow || !_histFrame.contentWindow.document) {
|
218
|
+
// Check again in 10 msec...
|
219
|
+
setTimeout(_checkIframeLoaded, 10);
|
220
|
+
return;
|
221
|
+
}
|
222
|
+
|
223
|
+
// Start the thread that will have the responsibility to
|
224
|
+
// periodically check whether a navigate operation has been
|
225
|
+
// requested on the main window. This will happen when
|
226
|
+
// YAHOO.util.History.navigate has been called or after
|
227
|
+
// the user has hit the back/forward button.
|
228
|
+
|
229
|
+
doc = _histFrame.contentWindow.document;
|
230
|
+
elem = doc.getElementById("state");
|
231
|
+
// We must use innerText, and not innerHTML because our string contains
|
232
|
+
// the "&" character (which would end up being escaped as "&") and
|
233
|
+
// the string comparison would fail...
|
234
|
+
fqstate = elem ? elem.innerText : null;
|
235
|
+
|
236
|
+
hash = _getHash();
|
237
|
+
|
238
|
+
setInterval(function () {
|
239
|
+
|
240
|
+
var newfqstate, states, moduleName, moduleObj, newHash, historyLength;
|
241
|
+
|
242
|
+
doc = _histFrame.contentWindow.document;
|
243
|
+
elem = doc.getElementById("state");
|
244
|
+
// See my comment above about using innerText instead of innerHTML...
|
245
|
+
newfqstate = elem ? elem.innerText : null;
|
246
|
+
|
247
|
+
newHash = _getHash();
|
248
|
+
|
249
|
+
if (newfqstate !== fqstate) {
|
250
|
+
|
251
|
+
fqstate = newfqstate;
|
252
|
+
_handleFQStateChange(fqstate);
|
253
|
+
|
254
|
+
if (!fqstate) {
|
255
|
+
states = [];
|
256
|
+
for (moduleName in _modules) {
|
257
|
+
if (YAHOO.lang.hasOwnProperty(_modules, moduleName)) {
|
258
|
+
moduleObj = _modules[moduleName];
|
259
|
+
states.push(moduleName + "=" + moduleObj.initialState);
|
260
|
+
}
|
261
|
+
}
|
262
|
+
newHash = states.join("&");
|
263
|
+
} else {
|
264
|
+
newHash = fqstate;
|
265
|
+
}
|
266
|
+
|
267
|
+
// Allow the state to be bookmarked by setting the top window's
|
268
|
+
// URL fragment identifier. Note that here, we are on IE, and
|
269
|
+
// IE does not touch the browser history when setting the hash
|
270
|
+
// (unlike all the other browsers). I used to write:
|
271
|
+
// top.location.replace( "#" + hash );
|
272
|
+
// but this had a side effect when the page was not the top frame.
|
273
|
+
top.location.hash = newHash;
|
274
|
+
hash = newHash;
|
275
|
+
|
276
|
+
_storeStates();
|
277
|
+
|
278
|
+
} else if (newHash !== hash) {
|
279
|
+
|
280
|
+
// The hash has changed. The user might have clicked on a link,
|
281
|
+
// or modified the URL directly, or opened the same application
|
282
|
+
// bookmarked in a specific state using a bookmark. However, we
|
283
|
+
// know the hash change was not caused by a hit on the back or
|
284
|
+
// forward buttons, or by a call to navigate() (because it would
|
285
|
+
// have been handled above) We must handle these cases, which is
|
286
|
+
// why we also need to keep track of hash changes on IE!
|
287
|
+
|
288
|
+
// Note that IE6 has some major issues with this kind of user
|
289
|
+
// interaction (the history stack gets completely messed up)
|
290
|
+
// but it seems to work fine on IE7.
|
291
|
+
|
292
|
+
hash = newHash;
|
293
|
+
|
294
|
+
// Now, store a new history entry. The following will cause the
|
295
|
+
// code above to execute, doing all the dirty work for us...
|
296
|
+
_updateIFrame(newHash);
|
297
|
+
}
|
298
|
+
|
299
|
+
}, 50);
|
300
|
+
|
301
|
+
_initialized = true;
|
302
|
+
YAHOO.util.History.onLoadEvent.fire();
|
303
|
+
}
|
304
|
+
|
305
|
+
/**
|
306
|
+
* Finish up the initialization of the Browser History Manager.
|
307
|
+
*
|
308
|
+
* @method _initialize
|
309
|
+
* @private
|
310
|
+
*/
|
311
|
+
function _initialize() {
|
312
|
+
|
313
|
+
var i, len, parts, tokens, moduleName, moduleObj, initialStates, initialState, currentStates, currentState, counter, hash;
|
314
|
+
|
315
|
+
// Decode the content of our storage field...
|
316
|
+
parts = _stateField.value.split("|");
|
317
|
+
|
318
|
+
if (parts.length > 1) {
|
319
|
+
|
320
|
+
initialStates = parts[0].split("&");
|
321
|
+
for (i = 0, len = initialStates.length; i < len; i++) {
|
322
|
+
tokens = initialStates[i].split("=");
|
323
|
+
if (tokens.length === 2) {
|
324
|
+
moduleName = tokens[0];
|
325
|
+
initialState = tokens[1];
|
326
|
+
moduleObj = _modules[moduleName];
|
327
|
+
if (moduleObj) {
|
328
|
+
moduleObj.initialState = initialState;
|
329
|
+
}
|
330
|
+
}
|
331
|
+
}
|
332
|
+
|
333
|
+
currentStates = parts[1].split("&");
|
334
|
+
for (i = 0, len = currentStates.length; i < len; i++) {
|
335
|
+
tokens = currentStates[i].split("=");
|
336
|
+
if (tokens.length >= 2) {
|
337
|
+
moduleName = tokens[0];
|
338
|
+
currentState = tokens[1];
|
339
|
+
moduleObj = _modules[moduleName];
|
340
|
+
if (moduleObj) {
|
341
|
+
moduleObj.currentState = currentState;
|
342
|
+
}
|
343
|
+
}
|
344
|
+
}
|
345
|
+
}
|
346
|
+
|
347
|
+
if (parts.length > 2) {
|
348
|
+
_fqstates = parts[2].split(",");
|
349
|
+
}
|
350
|
+
|
351
|
+
if (YAHOO.env.ua.ie) {
|
352
|
+
|
353
|
+
if (typeof document.documentMode === "undefined" || document.documentMode < 8) {
|
354
|
+
|
355
|
+
// IE < 8 or IE8 in quirks mode or IE7 standards mode
|
356
|
+
_checkIframeLoaded();
|
357
|
+
|
358
|
+
} else {
|
359
|
+
|
360
|
+
// IE8 in IE8 standards mode
|
361
|
+
YAHOO.util.Event.on(top, "hashchange",
|
362
|
+
function () {
|
363
|
+
var hash = _getHash();
|
364
|
+
_handleFQStateChange(hash);
|
365
|
+
_storeStates();
|
366
|
+
});
|
367
|
+
|
368
|
+
_initialized = true;
|
369
|
+
YAHOO.util.History.onLoadEvent.fire();
|
370
|
+
|
371
|
+
}
|
372
|
+
|
373
|
+
} else {
|
374
|
+
|
375
|
+
// Start the thread that will have the responsibility to
|
376
|
+
// periodically check whether a navigate operation has been
|
377
|
+
// requested on the main window. This will happen when
|
378
|
+
// YAHOO.util.History.navigate has been called or after
|
379
|
+
// the user has hit the back/forward button.
|
380
|
+
|
381
|
+
// On Safari 1.x and 2.0, the only way to catch a back/forward
|
382
|
+
// operation is to watch history.length... We basically exploit
|
383
|
+
// what I consider to be a bug (history.length is not supposed
|
384
|
+
// to change when going back/forward in the history...) This is
|
385
|
+
// why, in the following thread, we first compare the hash,
|
386
|
+
// because the hash thing will be fixed in the next major
|
387
|
+
// version of Safari. So even if they fix the history.length
|
388
|
+
// bug, all this will still work!
|
389
|
+
counter = history.length;
|
390
|
+
|
391
|
+
// On Gecko and Opera, we just need to watch the hash...
|
392
|
+
hash = _getHash();
|
393
|
+
|
394
|
+
setInterval(function () {
|
395
|
+
|
396
|
+
var state, newHash, newCounter;
|
397
|
+
|
398
|
+
newHash = _getHash();
|
399
|
+
newCounter = history.length;
|
400
|
+
if (newHash !== hash) {
|
401
|
+
hash = newHash;
|
402
|
+
counter = newCounter;
|
403
|
+
_handleFQStateChange(hash);
|
404
|
+
_storeStates();
|
405
|
+
} else if (newCounter !== counter && YAHOO.env.ua.webkit) {
|
406
|
+
hash = newHash;
|
407
|
+
counter = newCounter;
|
408
|
+
state = _fqstates[counter - 1];
|
409
|
+
_handleFQStateChange(state);
|
410
|
+
_storeStates();
|
411
|
+
}
|
412
|
+
|
413
|
+
}, 50);
|
414
|
+
|
415
|
+
_initialized = true;
|
416
|
+
YAHOO.util.History.onLoadEvent.fire();
|
417
|
+
}
|
418
|
+
}
|
419
|
+
|
420
|
+
return {
|
421
|
+
|
422
|
+
/**
|
423
|
+
* Fired when the Browser History Manager is ready. If you subscribe to
|
424
|
+
* this event after the Browser History Manager has been initialized,
|
425
|
+
* it will not fire. Therefore, it is recommended to use the onReady
|
426
|
+
* method instead.
|
427
|
+
*
|
428
|
+
* @event onLoadEvent
|
429
|
+
* @see onReady
|
430
|
+
*/
|
431
|
+
onLoadEvent: new YAHOO.util.CustomEvent("onLoad"),
|
432
|
+
|
433
|
+
/**
|
434
|
+
* Executes the supplied callback when the Browser History Manager is
|
435
|
+
* ready. This will execute immediately if called after the Browser
|
436
|
+
* History Manager onLoad event has fired.
|
437
|
+
*
|
438
|
+
* @method onReady
|
439
|
+
* @param {function} fn what to execute when the Browser History Manager is ready.
|
440
|
+
* @param {object} obj an optional object to be passed back as a parameter to fn.
|
441
|
+
* @param {boolean|object} overrideContext If true, the obj passed in becomes fn's execution scope.
|
442
|
+
* @see onLoadEvent
|
443
|
+
*/
|
444
|
+
onReady: function (fn, obj, overrideContext) {
|
445
|
+
|
446
|
+
if (_initialized) {
|
447
|
+
|
448
|
+
setTimeout(function () {
|
449
|
+
var ctx = window;
|
450
|
+
if (overrideContext) {
|
451
|
+
if (overrideContext === true) {
|
452
|
+
ctx = obj;
|
453
|
+
} else {
|
454
|
+
ctx = overrideContext;
|
455
|
+
}
|
456
|
+
}
|
457
|
+
fn.call(ctx, "onLoad", [], obj);
|
458
|
+
}, 0);
|
459
|
+
|
460
|
+
} else {
|
461
|
+
|
462
|
+
YAHOO.util.History.onLoadEvent.subscribe(fn, obj, overrideContext);
|
463
|
+
|
464
|
+
}
|
465
|
+
},
|
466
|
+
|
467
|
+
/**
|
468
|
+
* Registers a new module.
|
469
|
+
*
|
470
|
+
* @method register
|
471
|
+
* @param {string} module Non-empty string uniquely identifying the
|
472
|
+
* module you wish to register.
|
473
|
+
* @param {string} initialState The initial state of the specified
|
474
|
+
* module corresponding to its earliest history entry.
|
475
|
+
* @param {function} onStateChange Callback called when the
|
476
|
+
* state of the specified module has changed.
|
477
|
+
* @param {object} obj An arbitrary object that will be passed as a
|
478
|
+
* parameter to the handler.
|
479
|
+
* @param {boolean} overrideContext If true, the obj passed in becomes the
|
480
|
+
* execution scope of the listener.
|
481
|
+
*/
|
482
|
+
register: function (module, initialState, onStateChange, obj, overrideContext) {
|
483
|
+
|
484
|
+
var scope, wrappedFn;
|
485
|
+
|
486
|
+
if (typeof module !== "string" || YAHOO.lang.trim(module) === "" ||
|
487
|
+
typeof initialState !== "string" ||
|
488
|
+
typeof onStateChange !== "function") {
|
489
|
+
throw new Error("Missing or invalid argument");
|
490
|
+
}
|
491
|
+
|
492
|
+
if (_modules[module]) {
|
493
|
+
// Here, we used to throw an exception. However, users have
|
494
|
+
// complained about this behavior, so we now just return.
|
495
|
+
return;
|
496
|
+
}
|
497
|
+
|
498
|
+
// Note: A module CANNOT be registered after calling
|
499
|
+
// YAHOO.util.History.initialize. Indeed, we set the initial state
|
500
|
+
// of each registered module in YAHOO.util.History.initialize.
|
501
|
+
// If you could register a module after initializing the Browser
|
502
|
+
// History Manager, you would not read the correct state using
|
503
|
+
// YAHOO.util.History.getCurrentState when coming back to the
|
504
|
+
// page using the back button.
|
505
|
+
if (_initialized) {
|
506
|
+
throw new Error("All modules must be registered before calling YAHOO.util.History.initialize");
|
507
|
+
}
|
508
|
+
|
509
|
+
// Make sure the strings passed in do not contain our separators "," and "|"
|
510
|
+
module = escape(module);
|
511
|
+
initialState = escape(initialState);
|
512
|
+
|
513
|
+
// If the user chooses to override the scope, we use the
|
514
|
+
// custom object passed in as the execution scope.
|
515
|
+
scope = null;
|
516
|
+
if (overrideContext === true) {
|
517
|
+
scope = obj;
|
518
|
+
} else {
|
519
|
+
scope = overrideContext;
|
520
|
+
}
|
521
|
+
|
522
|
+
wrappedFn = function (state) {
|
523
|
+
return onStateChange.call(scope, state, obj);
|
524
|
+
};
|
525
|
+
|
526
|
+
_modules[module] = {
|
527
|
+
name: module,
|
528
|
+
initialState: initialState,
|
529
|
+
currentState: initialState,
|
530
|
+
onStateChange: wrappedFn
|
531
|
+
};
|
532
|
+
},
|
533
|
+
|
534
|
+
/**
|
535
|
+
* Initializes the Browser History Manager. Call this method
|
536
|
+
* from a script block located right after the opening body tag.
|
537
|
+
*
|
538
|
+
* @method initialize
|
539
|
+
* @param {string|HTML Element} stateField <input type="hidden"> used
|
540
|
+
* to store application states. Must be in the static markup.
|
541
|
+
* @param {string|HTML Element} histFrame IFrame used to store
|
542
|
+
* the history (only required on Internet Explorer)
|
543
|
+
* @public
|
544
|
+
*/
|
545
|
+
initialize: function (stateField, histFrame) {
|
546
|
+
|
547
|
+
if (_initialized) {
|
548
|
+
// The browser history manager has already been initialized.
|
549
|
+
return;
|
550
|
+
}
|
551
|
+
|
552
|
+
if (YAHOO.env.ua.opera && typeof history.navigationMode !== "undefined") {
|
553
|
+
// Disable Opera's fast back/forward navigation mode and puts
|
554
|
+
// it in compatible mode. This makes anchor-based history
|
555
|
+
// navigation work after the page has been navigated away
|
556
|
+
// from and re-activated, at the cost of slowing down
|
557
|
+
// back/forward navigation to and from that page.
|
558
|
+
history.navigationMode = "compatible";
|
559
|
+
}
|
560
|
+
|
561
|
+
if (typeof stateField === "string") {
|
562
|
+
stateField = document.getElementById(stateField);
|
563
|
+
}
|
564
|
+
|
565
|
+
if (!stateField ||
|
566
|
+
stateField.tagName.toUpperCase() !== "TEXTAREA" &&
|
567
|
+
(stateField.tagName.toUpperCase() !== "INPUT" ||
|
568
|
+
stateField.type !== "hidden" &&
|
569
|
+
stateField.type !== "text")) {
|
570
|
+
throw new Error("Missing or invalid argument");
|
571
|
+
}
|
572
|
+
|
573
|
+
_stateField = stateField;
|
574
|
+
|
575
|
+
// IE < 8 or IE8 in quirks mode or IE7 standards mode
|
576
|
+
if (YAHOO.env.ua.ie && (typeof document.documentMode === "undefined" || document.documentMode < 8)) {
|
577
|
+
|
578
|
+
if (typeof histFrame === "string") {
|
579
|
+
histFrame = document.getElementById(histFrame);
|
580
|
+
}
|
581
|
+
|
582
|
+
if (!histFrame || histFrame.tagName.toUpperCase() !== "IFRAME") {
|
583
|
+
throw new Error("Missing or invalid argument");
|
584
|
+
}
|
585
|
+
|
586
|
+
_histFrame = histFrame;
|
587
|
+
}
|
588
|
+
|
589
|
+
// Note that the event utility MUST be included inline in the page.
|
590
|
+
// If it gets loaded later (which you may want to do to improve the
|
591
|
+
// loading speed of your site), the onDOMReady event never fires,
|
592
|
+
// and the history library never gets fully initialized.
|
593
|
+
YAHOO.util.Event.onDOMReady(_initialize);
|
594
|
+
},
|
595
|
+
|
596
|
+
/**
|
597
|
+
* Call this method when you want to store a new entry in the browser's history.
|
598
|
+
*
|
599
|
+
* @method navigate
|
600
|
+
* @param {string} module Non-empty string representing your module.
|
601
|
+
* @param {string} state String representing the new state of the specified module.
|
602
|
+
* @return {boolean} Indicates whether the new state was successfully added to the history.
|
603
|
+
* @public
|
604
|
+
*/
|
605
|
+
navigate: function (module, state) {
|
606
|
+
|
607
|
+
var states;
|
608
|
+
|
609
|
+
if (typeof module !== "string" || typeof state !== "string") {
|
610
|
+
throw new Error("Missing or invalid argument");
|
611
|
+
}
|
612
|
+
|
613
|
+
states = {};
|
614
|
+
states[module] = state;
|
615
|
+
|
616
|
+
return YAHOO.util.History.multiNavigate(states);
|
617
|
+
},
|
618
|
+
|
619
|
+
/**
|
620
|
+
* Call this method when you want to store a new entry in the browser's history.
|
621
|
+
*
|
622
|
+
* @method multiNavigate
|
623
|
+
* @param {object} states Associative array of module-state pairs to set simultaneously.
|
624
|
+
* @return {boolean} Indicates whether the new state was successfully added to the history.
|
625
|
+
* @public
|
626
|
+
*/
|
627
|
+
multiNavigate: function (states) {
|
628
|
+
|
629
|
+
var currentStates, moduleName, moduleObj, currentState, fqstate;
|
630
|
+
|
631
|
+
if (typeof states !== "object") {
|
632
|
+
throw new Error("Missing or invalid argument");
|
633
|
+
}
|
634
|
+
|
635
|
+
if (!_initialized) {
|
636
|
+
throw new Error("The Browser History Manager is not initialized");
|
637
|
+
}
|
638
|
+
|
639
|
+
for (moduleName in states) {
|
640
|
+
if (!_modules[moduleName]) {
|
641
|
+
throw new Error("The following module has not been registered: " + moduleName);
|
642
|
+
}
|
643
|
+
}
|
644
|
+
|
645
|
+
// Generate our new full state string mod1=xxx&mod2=yyy
|
646
|
+
currentStates = [];
|
647
|
+
|
648
|
+
for (moduleName in _modules) {
|
649
|
+
if (YAHOO.lang.hasOwnProperty(_modules, moduleName)) {
|
650
|
+
moduleObj = _modules[moduleName];
|
651
|
+
if (YAHOO.lang.hasOwnProperty(states, moduleName)) {
|
652
|
+
currentState = states[unescape(moduleName)];
|
653
|
+
} else {
|
654
|
+
currentState = unescape(moduleObj.currentState);
|
655
|
+
}
|
656
|
+
|
657
|
+
// Make sure the strings passed in do not contain our separators "," and "|"
|
658
|
+
moduleName = escape(moduleName);
|
659
|
+
currentState = escape(currentState);
|
660
|
+
|
661
|
+
currentStates.push(moduleName + "=" + currentState);
|
662
|
+
}
|
663
|
+
}
|
664
|
+
|
665
|
+
fqstate = currentStates.join("&");
|
666
|
+
|
667
|
+
if (YAHOO.env.ua.ie && (typeof document.documentMode === "undefined" || document.documentMode < 8)) {
|
668
|
+
|
669
|
+
return _updateIFrame(fqstate);
|
670
|
+
|
671
|
+
} else {
|
672
|
+
|
673
|
+
// Known bug: On Safari 1.x and 2.0, if you have tab browsing
|
674
|
+
// enabled, Safari will show an endless loading icon in the
|
675
|
+
// tab. This has apparently been fixed in recent WebKit builds.
|
676
|
+
// One work around found by Dav Glass is to submit a form that
|
677
|
+
// points to the same document. This indeed works on Safari 1.x
|
678
|
+
// and 2.0 but creates bigger problems on WebKit. So for now,
|
679
|
+
// we'll consider this an acceptable bug, and hope that Apple
|
680
|
+
// comes out with their next version of Safari very soon.
|
681
|
+
top.location.hash = fqstate;
|
682
|
+
if (YAHOO.env.ua.webkit) {
|
683
|
+
// The following two lines are only useful for Safari 1.x
|
684
|
+
// and 2.0. Recent nightly builds of WebKit do not require
|
685
|
+
// that, but unfortunately, it is not easy to differentiate
|
686
|
+
// between the two. Once Safari 2.0 departs the A-grade
|
687
|
+
// list, we can remove the following two lines...
|
688
|
+
_fqstates[history.length] = fqstate;
|
689
|
+
_storeStates();
|
690
|
+
}
|
691
|
+
|
692
|
+
return true;
|
693
|
+
|
694
|
+
}
|
695
|
+
},
|
696
|
+
|
697
|
+
/**
|
698
|
+
* Returns the current state of the specified module.
|
699
|
+
*
|
700
|
+
* @method getCurrentState
|
701
|
+
* @param {string} module Non-empty string representing your module.
|
702
|
+
* @return {string} The current state of the specified module.
|
703
|
+
* @public
|
704
|
+
*/
|
705
|
+
getCurrentState: function (module) {
|
706
|
+
|
707
|
+
var moduleObj;
|
708
|
+
|
709
|
+
if (typeof module !== "string") {
|
710
|
+
throw new Error("Missing or invalid argument");
|
711
|
+
}
|
712
|
+
|
713
|
+
if (!_initialized) {
|
714
|
+
throw new Error("The Browser History Manager is not initialized");
|
715
|
+
}
|
716
|
+
|
717
|
+
moduleObj = _modules[module];
|
718
|
+
if (!moduleObj) {
|
719
|
+
throw new Error("No such registered module: " + module);
|
720
|
+
}
|
721
|
+
|
722
|
+
return unescape(moduleObj.currentState);
|
723
|
+
},
|
724
|
+
|
725
|
+
/**
|
726
|
+
* Returns the state of a module according to the URL fragment
|
727
|
+
* identifier. This method is useful to initialize your modules
|
728
|
+
* if your application was bookmarked from a particular state.
|
729
|
+
*
|
730
|
+
* @method getBookmarkedState
|
731
|
+
* @param {string} module Non-empty string representing your module.
|
732
|
+
* @return {string} The bookmarked state of the specified module.
|
733
|
+
* @public
|
734
|
+
*/
|
735
|
+
getBookmarkedState: function (module) {
|
736
|
+
|
737
|
+
var i, len, idx, hash, states, tokens, moduleName;
|
738
|
+
|
739
|
+
if (typeof module !== "string") {
|
740
|
+
throw new Error("Missing or invalid argument");
|
741
|
+
}
|
742
|
+
|
743
|
+
// Use location.href instead of location.hash which is already
|
744
|
+
// URL-decoded, which creates problems if the state value
|
745
|
+
// contained special characters...
|
746
|
+
idx = top.location.href.indexOf("#");
|
747
|
+
if (idx >= 0) {
|
748
|
+
hash = top.location.href.substr(idx + 1);
|
749
|
+
states = hash.split("&");
|
750
|
+
for (i = 0, len = states.length; i < len; i++) {
|
751
|
+
tokens = states[i].split("=");
|
752
|
+
if (tokens.length === 2) {
|
753
|
+
moduleName = tokens[0];
|
754
|
+
if (moduleName === module) {
|
755
|
+
return unescape(tokens[1]);
|
756
|
+
}
|
757
|
+
}
|
758
|
+
}
|
759
|
+
}
|
760
|
+
|
761
|
+
return null;
|
762
|
+
},
|
763
|
+
|
764
|
+
/**
|
765
|
+
* Returns the value of the specified query string parameter.
|
766
|
+
* This method is not used internally by the Browser History Manager.
|
767
|
+
* However, it is provided here as a helper since many applications
|
768
|
+
* using the Browser History Manager will want to read the value of
|
769
|
+
* url parameters to initialize themselves.
|
770
|
+
*
|
771
|
+
* @method getQueryStringParameter
|
772
|
+
* @param {string} paramName Name of the parameter we want to look up.
|
773
|
+
* @param {string} queryString Optional URL to look at. If not specified,
|
774
|
+
* this method uses the URL in the address bar.
|
775
|
+
* @return {string} The value of the specified parameter, or null.
|
776
|
+
* @public
|
777
|
+
*/
|
778
|
+
getQueryStringParameter: function (paramName, url) {
|
779
|
+
|
780
|
+
var i, len, idx, queryString, params, tokens;
|
781
|
+
|
782
|
+
url = url || top.location.href;
|
783
|
+
|
784
|
+
idx = url.indexOf("?");
|
785
|
+
queryString = idx >= 0 ? url.substr(idx + 1) : url;
|
786
|
+
|
787
|
+
// Remove the hash if any
|
788
|
+
idx = queryString.lastIndexOf("#");
|
789
|
+
queryString = idx >= 0 ? queryString.substr(0, idx) : queryString;
|
790
|
+
|
791
|
+
params = queryString.split("&");
|
792
|
+
|
793
|
+
for (i = 0, len = params.length; i < len; i++) {
|
794
|
+
tokens = params[i].split("=");
|
795
|
+
if (tokens.length >= 2) {
|
796
|
+
if (tokens[0] === paramName) {
|
797
|
+
return unescape(tokens[1]);
|
798
|
+
}
|
799
|
+
}
|
800
|
+
}
|
801
|
+
|
802
|
+
return null;
|
803
|
+
}
|
804
|
+
|
805
|
+
};
|
806
|
+
|
807
|
+
})();
|
808
|
+
YAHOO.register("history", YAHOO.util.History, {version: "2.8.1", build: "19"});
|