lpmp 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/LICENSE +3 -0
- data/README +3 -0
- data/Rakefile +45 -0
- data/bin/lpmp +107 -0
- data/config/help.yaml +1 -0
- data/config/hosts.yaml +2 -0
- data/config/log.yaml +1 -0
- data/config/memcache.yaml +5 -0
- data/erb/index.erb +62 -0
- data/lib/bg_pull/caichen.rb +199 -0
- data/lib/bg_pull/lpmp.rb +45 -0
- data/lib/exception.rb +8 -0
- data/lib/lpmp.rb +53 -0
- data/lib/pull/lpmp.rb +355 -0
- data/lib/remote_lmp.rb +129 -0
- data/lib/utils.rb +14 -0
- data/lib/xq_push/caichen.rb +174 -0
- data/lib/xq_push/lpmp.rb +96 -0
- data/log/lpmp1st.log +1 -0
- data/public/css/ext-portal.css +40 -0
- data/public/css/lpmp.css +6 -0
- data/public/designer/caichen.epj +1 -0
- data/public/designer/hostmonitor.epj +1 -0
- data/public/ext-3.0.0/INCLUDE_ORDER.txt +35 -0
- data/public/ext-3.0.0/adapter/ext/ext-base-debug.js +3589 -0
- data/public/ext-3.0.0/adapter/ext/ext-base.js +7 -0
- data/public/ext-3.0.0/adapter/jquery/ext-jquery-adapter-debug.js +2292 -0
- data/public/ext-3.0.0/adapter/jquery/ext-jquery-adapter.js +7 -0
- data/public/ext-3.0.0/adapter/prototype/ext-prototype-adapter-debug.js +2346 -0
- data/public/ext-3.0.0/adapter/prototype/ext-prototype-adapter.js +7 -0
- data/public/ext-3.0.0/adapter/yui/ext-yui-adapter-debug.js +2136 -0
- data/public/ext-3.0.0/adapter/yui/ext-yui-adapter.js +7 -0
- data/public/ext-3.0.0/ext-all-debug.js +65610 -0
- data/public/ext-3.0.0/ext-all.js +11 -0
- data/public/ext-3.0.0/license.txt +42 -0
- data/public/ext-3.0.0/pkgs/cmp-foundation-debug.js +11287 -0
- data/public/ext-3.0.0/pkgs/cmp-foundation.js +7 -0
- data/public/ext-3.0.0/pkgs/data-foundation-debug.js +3853 -0
- data/public/ext-3.0.0/pkgs/data-foundation.js +7 -0
- data/public/ext-3.0.0/pkgs/data-grouping-debug.js +139 -0
- data/public/ext-3.0.0/pkgs/data-grouping.js +7 -0
- data/public/ext-3.0.0/pkgs/data-json-debug.js +582 -0
- data/public/ext-3.0.0/pkgs/data-json.js +7 -0
- data/public/ext-3.0.0/pkgs/data-list-views-debug.js +1278 -0
- data/public/ext-3.0.0/pkgs/data-list-views.js +7 -0
- data/public/ext-3.0.0/pkgs/data-xml-debug.js +234 -0
- data/public/ext-3.0.0/pkgs/data-xml.js +7 -0
- data/public/ext-3.0.0/pkgs/direct-debug.js +1121 -0
- data/public/ext-3.0.0/pkgs/direct.js +7 -0
- data/public/ext-3.0.0/pkgs/ext-dd-debug.js +4567 -0
- data/public/ext-3.0.0/pkgs/ext-dd.js +7 -0
- data/public/ext-3.0.0/pkgs/ext-foundation-debug.js +13417 -0
- data/public/ext-3.0.0/pkgs/ext-foundation.js +7 -0
- data/public/ext-3.0.0/pkgs/pkg-buttons-debug.js +1060 -0
- data/public/ext-3.0.0/pkgs/pkg-buttons.js +7 -0
- data/public/ext-3.0.0/pkgs/pkg-charts-debug.js +1621 -0
- data/public/ext-3.0.0/pkgs/pkg-charts.js +10 -0
- data/public/ext-3.0.0/pkgs/pkg-forms-debug.js +7661 -0
- data/public/ext-3.0.0/pkgs/pkg-forms.js +7 -0
- data/public/ext-3.0.0/pkgs/pkg-grid-editor-debug.js +560 -0
- data/public/ext-3.0.0/pkgs/pkg-grid-editor.js +7 -0
- data/public/ext-3.0.0/pkgs/pkg-grid-foundation-debug.js +4765 -0
- data/public/ext-3.0.0/pkgs/pkg-grid-foundation.js +7 -0
- data/public/ext-3.0.0/pkgs/pkg-grid-grouping-debug.js +517 -0
- data/public/ext-3.0.0/pkgs/pkg-grid-grouping.js +7 -0
- data/public/ext-3.0.0/pkgs/pkg-grid-property-debug.js +370 -0
- data/public/ext-3.0.0/pkgs/pkg-grid-property.js +7 -0
- data/public/ext-3.0.0/pkgs/pkg-history-debug.js +203 -0
- data/public/ext-3.0.0/pkgs/pkg-history.js +7 -0
- data/public/ext-3.0.0/pkgs/pkg-menu-debug.js +1628 -0
- data/public/ext-3.0.0/pkgs/pkg-menu.js +7 -0
- data/public/ext-3.0.0/pkgs/pkg-tabs-debug.js +1100 -0
- data/public/ext-3.0.0/pkgs/pkg-tabs.js +7 -0
- data/public/ext-3.0.0/pkgs/pkg-tips-debug.js +994 -0
- data/public/ext-3.0.0/pkgs/pkg-tips.js +7 -0
- data/public/ext-3.0.0/pkgs/pkg-toolbars-debug.js +1374 -0
- data/public/ext-3.0.0/pkgs/pkg-toolbars.js +7 -0
- data/public/ext-3.0.0/pkgs/pkg-tree-debug.js +4522 -0
- data/public/ext-3.0.0/pkgs/pkg-tree.js +7 -0
- data/public/ext-3.0.0/pkgs/resizable-debug.js +760 -0
- data/public/ext-3.0.0/pkgs/resizable.js +7 -0
- data/public/ext-3.0.0/pkgs/state-debug.js +274 -0
- data/public/ext-3.0.0/pkgs/state.js +7 -0
- data/public/ext-3.0.0/pkgs/window-debug.js +1888 -0
- data/public/ext-3.0.0/pkgs/window.js +7 -0
- data/public/ext-3.0.0/resources/charts.swf +0 -0
- data/public/ext-3.0.0/resources/css/README.txt +3 -0
- data/public/ext-3.0.0/resources/css/ext-all-notheme.css +5345 -0
- data/public/ext-3.0.0/resources/css/ext-all.css +6990 -0
- data/public/ext-3.0.0/resources/css/reset-min.css +7 -0
- data/public/ext-3.0.0/resources/css/structure/borders.css +54 -0
- data/public/ext-3.0.0/resources/css/structure/box.css +80 -0
- data/public/ext-3.0.0/resources/css/structure/button.css +440 -0
- data/public/ext-3.0.0/resources/css/structure/combo.css +45 -0
- data/public/ext-3.0.0/resources/css/structure/core.css +326 -0
- data/public/ext-3.0.0/resources/css/structure/date-picker.css +265 -0
- data/public/ext-3.0.0/resources/css/structure/dd.css +61 -0
- data/public/ext-3.0.0/resources/css/structure/debug.css +26 -0
- data/public/ext-3.0.0/resources/css/structure/dialog.css +62 -0
- data/public/ext-3.0.0/resources/css/structure/editor.css +92 -0
- data/public/ext-3.0.0/resources/css/structure/form.css +562 -0
- data/public/ext-3.0.0/resources/css/structure/grid.css +552 -0
- data/public/ext-3.0.0/resources/css/structure/layout.css +296 -0
- data/public/ext-3.0.0/resources/css/structure/list-view.css +85 -0
- data/public/ext-3.0.0/resources/css/structure/menu.css +205 -0
- data/public/ext-3.0.0/resources/css/structure/panel-reset.css +130 -0
- data/public/ext-3.0.0/resources/css/structure/panel.css +468 -0
- data/public/ext-3.0.0/resources/css/structure/progress.css +42 -0
- data/public/ext-3.0.0/resources/css/structure/qtips.css +153 -0
- data/public/ext-3.0.0/resources/css/structure/reset.css +7 -0
- data/public/ext-3.0.0/resources/css/structure/resizable.css +149 -0
- data/public/ext-3.0.0/resources/css/structure/slider.css +103 -0
- data/public/ext-3.0.0/resources/css/structure/tabs.css +372 -0
- data/public/ext-3.0.0/resources/css/structure/toolbar.css +259 -0
- data/public/ext-3.0.0/resources/css/structure/tree.css +203 -0
- data/public/ext-3.0.0/resources/css/structure/window.css +222 -0
- data/public/ext-3.0.0/resources/css/visual/borders.css +25 -0
- data/public/ext-3.0.0/resources/css/visual/box.css +74 -0
- data/public/ext-3.0.0/resources/css/visual/button.css +94 -0
- data/public/ext-3.0.0/resources/css/visual/combo.css +43 -0
- data/public/ext-3.0.0/resources/css/visual/core.css +76 -0
- data/public/ext-3.0.0/resources/css/visual/date-picker.css +143 -0
- data/public/ext-3.0.0/resources/css/visual/dd.css +29 -0
- data/public/ext-3.0.0/resources/css/visual/debug.css +24 -0
- data/public/ext-3.0.0/resources/css/visual/dialog.css +34 -0
- data/public/ext-3.0.0/resources/css/visual/editor.css +13 -0
- data/public/ext-3.0.0/resources/css/visual/form.css +117 -0
- data/public/ext-3.0.0/resources/css/visual/grid.css +272 -0
- data/public/ext-3.0.0/resources/css/visual/layout.css +53 -0
- data/public/ext-3.0.0/resources/css/visual/list-view.css +37 -0
- data/public/ext-3.0.0/resources/css/visual/menu.css +82 -0
- data/public/ext-3.0.0/resources/css/visual/panel.css +87 -0
- data/public/ext-3.0.0/resources/css/visual/progress.css +32 -0
- data/public/ext-3.0.0/resources/css/visual/qtips.css +44 -0
- data/public/ext-3.0.0/resources/css/visual/resizable.css +43 -0
- data/public/ext-3.0.0/resources/css/visual/slider.css +21 -0
- data/public/ext-3.0.0/resources/css/visual/tabs.css +119 -0
- data/public/ext-3.0.0/resources/css/visual/toolbar.css +103 -0
- data/public/ext-3.0.0/resources/css/visual/tree.css +157 -0
- data/public/ext-3.0.0/resources/css/visual/window.css +86 -0
- data/public/ext-3.0.0/resources/css/xtheme-blue.css +1652 -0
- data/public/ext-3.0.0/resources/expressinstall.swf +0 -0
- data/public/ext-3.0.0/resources/images/default/box/corners-blue.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/box/corners.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/box/l-blue.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/box/l.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/box/r-blue.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/box/r.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/box/tb-blue.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/box/tb.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/button/arrow.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/button/btn.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/button/group-cs.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/button/group-lr.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/button/group-tb.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/button/s-arrow-b-noline.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/button/s-arrow-b.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/button/s-arrow-bo.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/button/s-arrow-noline.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/button/s-arrow-o.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/button/s-arrow.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/dd/drop-add.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/dd/drop-no.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/dd/drop-yes.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/editor/tb-sprite.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/form/checkbox.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/form/clear-trigger.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/form/clear-trigger.psd +0 -0
- data/public/ext-3.0.0/resources/images/default/form/date-trigger.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/form/date-trigger.psd +0 -0
- data/public/ext-3.0.0/resources/images/default/form/error-tip-corners.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/form/exclamation.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/form/radio.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/form/search-trigger.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/form/search-trigger.psd +0 -0
- data/public/ext-3.0.0/resources/images/default/form/text-bg.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/form/trigger-tpl.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/form/trigger.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/form/trigger.psd +0 -0
- data/public/ext-3.0.0/resources/images/default/gradient-bg.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/arrow-left-white.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/arrow-right-white.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/col-move-bottom.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/col-move-top.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/columns.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/dirty.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/done.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/drop-no.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/drop-yes.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/footer-bg.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/grid-blue-hd.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/grid-blue-split.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/grid-hrow.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/grid-loading.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/grid-split.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/grid-vista-hd.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/grid3-hd-btn.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/grid3-hrow-over.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/grid3-hrow.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/grid3-special-col-bg.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/grid3-special-col-sel-bg.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/group-by.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/group-collapse.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/group-expand-sprite.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/group-expand.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/hd-pop.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/hmenu-asc.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/hmenu-desc.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/hmenu-lock.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/hmenu-lock.png +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/hmenu-unlock.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/hmenu-unlock.png +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/invalid_line.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/loading.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/mso-hd.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/nowait.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/page-first-disabled.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/page-first.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/page-last-disabled.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/page-last.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/page-next-disabled.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/page-next.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/page-prev-disabled.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/page-prev.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/pick-button.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/refresh.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/row-check-sprite.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/row-expand-sprite.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/row-over.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/row-sel.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/sort-hd.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/sort_asc.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/sort_desc.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/grid/wait.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/layout/collapse.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/layout/expand.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/layout/gradient-bg.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/layout/mini-bottom.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/layout/mini-left.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/layout/mini-right.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/layout/mini-top.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/layout/ns-collapse.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/layout/ns-expand.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/layout/panel-close.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/layout/panel-title-bg.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/layout/panel-title-light-bg.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/layout/stick.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/layout/stuck.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/layout/tab-close-on.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/layout/tab-close.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/menu/checked.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/menu/group-checked.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/menu/item-over.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/menu/menu-parent.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/menu/menu.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/menu/unchecked.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/panel/corners-sprite.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/panel/left-right.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/panel/light-hd.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/panel/tool-sprite-tpl.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/panel/tool-sprites.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/panel/tools-sprites-trans.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/panel/top-bottom.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/panel/top-bottom.png +0 -0
- data/public/ext-3.0.0/resources/images/default/panel/white-corners-sprite.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/panel/white-left-right.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/panel/white-top-bottom.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/progress/progress-bg.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/qtip/bg.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/qtip/close.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/qtip/tip-anchor-sprite.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/qtip/tip-sprite.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/s.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/shadow-c.png +0 -0
- data/public/ext-3.0.0/resources/images/default/shadow-lr.png +0 -0
- data/public/ext-3.0.0/resources/images/default/shadow.png +0 -0
- data/public/ext-3.0.0/resources/images/default/shared/blue-loading.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/shared/calendar.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/shared/glass-bg.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/shared/hd-sprite.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/shared/large-loading.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/shared/left-btn.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/shared/loading-balls.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/shared/right-btn.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/shared/warning.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/sizer/e-handle-dark.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/sizer/e-handle.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/sizer/ne-handle-dark.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/sizer/ne-handle.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/sizer/nw-handle-dark.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/sizer/nw-handle.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/sizer/s-handle-dark.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/sizer/s-handle.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/sizer/se-handle-dark.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/sizer/se-handle.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/sizer/square.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/sizer/sw-handle-dark.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/sizer/sw-handle.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/slider/slider-bg.png +0 -0
- data/public/ext-3.0.0/resources/images/default/slider/slider-thumb.png +0 -0
- data/public/ext-3.0.0/resources/images/default/slider/slider-v-bg.png +0 -0
- data/public/ext-3.0.0/resources/images/default/slider/slider-v-thumb.png +0 -0
- data/public/ext-3.0.0/resources/images/default/tabs/scroll-left.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tabs/scroll-right.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tabs/scroller-bg.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tabs/tab-btm-inactive-left-bg.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tabs/tab-btm-inactive-right-bg.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tabs/tab-btm-left-bg.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tabs/tab-btm-right-bg.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tabs/tab-close.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tabs/tab-strip-bg.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tabs/tab-strip-bg.png +0 -0
- data/public/ext-3.0.0/resources/images/default/tabs/tab-strip-btm-bg.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tabs/tabs-sprite.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/toolbar/bg.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/toolbar/btn-arrow-light.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/toolbar/btn-arrow.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/toolbar/btn-over-bg.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/toolbar/gray-bg.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/toolbar/more.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/toolbar/tb-bg.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/toolbar/tb-btn-sprite.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/toolbar/tb-xl-btn-sprite.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/toolbar/tb-xl-sep.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tree/arrows.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tree/drop-add.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tree/drop-between.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tree/drop-no.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tree/drop-over.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tree/drop-under.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tree/drop-yes.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tree/elbow-end-minus-nl.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tree/elbow-end-minus.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tree/elbow-end-plus-nl.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tree/elbow-end-plus.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tree/elbow-end.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tree/elbow-line.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tree/elbow-minus-nl.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tree/elbow-minus.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tree/elbow-plus-nl.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tree/elbow-plus.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tree/elbow.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tree/folder-open.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tree/folder.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tree/leaf.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tree/loading.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/tree/s.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/window/icon-error.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/window/icon-info.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/window/icon-question.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/window/icon-warning.gif +0 -0
- data/public/ext-3.0.0/resources/images/default/window/left-corners.png +0 -0
- data/public/ext-3.0.0/resources/images/default/window/left-corners.psd +0 -0
- data/public/ext-3.0.0/resources/images/default/window/left-right.png +0 -0
- data/public/ext-3.0.0/resources/images/default/window/left-right.psd +0 -0
- data/public/ext-3.0.0/resources/images/default/window/right-corners.png +0 -0
- data/public/ext-3.0.0/resources/images/default/window/right-corners.psd +0 -0
- data/public/ext-3.0.0/resources/images/default/window/top-bottom.png +0 -0
- data/public/ext-3.0.0/resources/images/default/window/top-bottom.psd +0 -0
- data/public/ext-3.0.0/resources/images/icon/chart.gif +0 -0
- data/public/ext-3.0.0/src/adapter/core/ext-base-ajax.js +371 -0
- data/public/ext-3.0.0/src/adapter/core/ext-base-anim-extra.js +301 -0
- data/public/ext-3.0.0/src/adapter/core/ext-base-anim.js +477 -0
- data/public/ext-3.0.0/src/adapter/core/ext-base-begin.js +18 -0
- data/public/ext-3.0.0/src/adapter/core/ext-base-dom.js +157 -0
- data/public/ext-3.0.0/src/adapter/core/ext-base-end.js +21 -0
- data/public/ext-3.0.0/src/adapter/core/ext-base-event.js +453 -0
- data/public/ext-3.0.0/src/adapter/core/ext-base-point.js +17 -0
- data/public/ext-3.0.0/src/adapter/core/ext-base-region.js +81 -0
- data/public/ext-3.0.0/src/adapter/ext-base-dom-more.js +9 -0
- data/public/ext-3.0.0/src/adapter/jquery-bridge.js +546 -0
- data/public/ext-3.0.0/src/adapter/prototype-bridge.js +600 -0
- data/public/ext-3.0.0/src/adapter/yui-bridge.js +390 -0
- data/public/ext-3.0.0/src/core/CompositeElement.js +136 -0
- data/public/ext-3.0.0/src/core/CompositeElementLite-more.js +102 -0
- data/public/ext-3.0.0/src/core/DomHelper-more.js +179 -0
- data/public/ext-3.0.0/src/core/Element-more.js +192 -0
- data/public/ext-3.0.0/src/core/Element.alignment.js +370 -0
- data/public/ext-3.0.0/src/core/Element.dd.js +46 -0
- data/public/ext-3.0.0/src/core/Element.fx-more.js +152 -0
- data/public/ext-3.0.0/src/core/Element.insertion-more.js +52 -0
- data/public/ext-3.0.0/src/core/Element.keys.js +48 -0
- data/public/ext-3.0.0/src/core/Element.legacy.js +42 -0
- data/public/ext-3.0.0/src/core/Element.position-more.js +165 -0
- data/public/ext-3.0.0/src/core/Element.scroll-more.js +110 -0
- data/public/ext-3.0.0/src/core/Element.style-more.js +318 -0
- data/public/ext-3.0.0/src/core/Error.js +81 -0
- data/public/ext-3.0.0/src/core/EventManager-more.js +334 -0
- data/public/ext-3.0.0/src/core/Ext-more.js +669 -0
- data/public/ext-3.0.0/src/core/Template-more.js +115 -0
- data/public/ext-3.0.0/src/core/core/CompositeElementLite.js +197 -0
- data/public/ext-3.0.0/src/core/core/DomHelper.js +378 -0
- data/public/ext-3.0.0/src/core/core/DomQuery.js +826 -0
- data/public/ext-3.0.0/src/core/core/Element.fx.js +324 -0
- data/public/ext-3.0.0/src/core/core/Element.insertion.js +147 -0
- data/public/ext-3.0.0/src/core/core/Element.js +945 -0
- data/public/ext-3.0.0/src/core/core/Element.position.js +303 -0
- data/public/ext-3.0.0/src/core/core/Element.scroll.js +58 -0
- data/public/ext-3.0.0/src/core/core/Element.style.js +439 -0
- data/public/ext-3.0.0/src/core/core/Element.traversal.js +176 -0
- data/public/ext-3.0.0/src/core/core/EventManager.js +623 -0
- data/public/ext-3.0.0/src/core/core/Ext.js +922 -0
- data/public/ext-3.0.0/src/core/core/Fx.js +1115 -0
- data/public/ext-3.0.0/src/core/core/Template.js +185 -0
- data/public/ext-3.0.0/src/data/Api.js +210 -0
- data/public/ext-3.0.0/src/data/ArrayReader.js +102 -0
- data/public/ext-3.0.0/src/data/ArrayStore.js +70 -0
- data/public/ext-3.0.0/src/data/DataField.js +249 -0
- data/public/ext-3.0.0/src/data/DataProxy.js +427 -0
- data/public/ext-3.0.0/src/data/DataReader.js +160 -0
- data/public/ext-3.0.0/src/data/DataWriter.js +201 -0
- data/public/ext-3.0.0/src/data/DirectProxy.js +141 -0
- data/public/ext-3.0.0/src/data/DirectStore.js +52 -0
- data/public/ext-3.0.0/src/data/GroupingStore.js +139 -0
- data/public/ext-3.0.0/src/data/HttpProxy.js +276 -0
- data/public/ext-3.0.0/src/data/JsonReader.js +311 -0
- data/public/ext-3.0.0/src/data/JsonStore.js +49 -0
- data/public/ext-3.0.0/src/data/JsonWriter.js +77 -0
- data/public/ext-3.0.0/src/data/MemoryProxy.js +69 -0
- data/public/ext-3.0.0/src/data/Record.js +400 -0
- data/public/ext-3.0.0/src/data/ScriptTagProxy.js +279 -0
- data/public/ext-3.0.0/src/data/SortTypes.js +91 -0
- data/public/ext-3.0.0/src/data/Store.js +1492 -0
- data/public/ext-3.0.0/src/data/StoreMgr.js +72 -0
- data/public/ext-3.0.0/src/data/Tree.js +785 -0
- data/public/ext-3.0.0/src/data/XmlReader.js +128 -0
- data/public/ext-3.0.0/src/data/XmlStore.js +75 -0
- data/public/ext-3.0.0/src/data/XmlWriter.js +45 -0
- data/public/ext-3.0.0/src/data/core/Connection.js +575 -0
- data/public/ext-3.0.0/src/dd/DDCore.js +2992 -0
- data/public/ext-3.0.0/src/dd/DragSource.js +365 -0
- data/public/ext-3.0.0/src/dd/DragTracker.js +217 -0
- data/public/ext-3.0.0/src/dd/DragZone.js +133 -0
- data/public/ext-3.0.0/src/dd/DropTarget.js +115 -0
- data/public/ext-3.0.0/src/dd/DropZone.js +262 -0
- data/public/ext-3.0.0/src/dd/Registry.js +127 -0
- data/public/ext-3.0.0/src/dd/ScrollManager.js +201 -0
- data/public/ext-3.0.0/src/dd/StatusProxy.js +171 -0
- data/public/ext-3.0.0/src/debug.js +906 -0
- data/public/ext-3.0.0/src/direct/Direct.js +235 -0
- data/public/ext-3.0.0/src/direct/Event.js +34 -0
- data/public/ext-3.0.0/src/direct/JsonProvider.js +45 -0
- data/public/ext-3.0.0/src/direct/PollingProvider.js +151 -0
- data/public/ext-3.0.0/src/direct/Provider.js +110 -0
- data/public/ext-3.0.0/src/direct/RemotingProvider.js +373 -0
- data/public/ext-3.0.0/src/direct/Transaction.js +32 -0
- data/public/ext-3.0.0/src/locale/ext-lang-af.js +184 -0
- data/public/ext-3.0.0/src/locale/ext-lang-bg.js +278 -0
- data/public/ext-3.0.0/src/locale/ext-lang-ca.js +315 -0
- data/public/ext-3.0.0/src/locale/ext-lang-cs.js +293 -0
- data/public/ext-3.0.0/src/locale/ext-lang-da.js +296 -0
- data/public/ext-3.0.0/src/locale/ext-lang-de.js +326 -0
- data/public/ext-3.0.0/src/locale/ext-lang-el_GR.js +309 -0
- data/public/ext-3.0.0/src/locale/ext-lang-en.js +335 -0
- data/public/ext-3.0.0/src/locale/ext-lang-en_GB.js +315 -0
- data/public/ext-3.0.0/src/locale/ext-lang-es.js +318 -0
- data/public/ext-3.0.0/src/locale/ext-lang-fa.js +272 -0
- data/public/ext-3.0.0/src/locale/ext-lang-fi.js +302 -0
- data/public/ext-3.0.0/src/locale/ext-lang-fr.js +335 -0
- data/public/ext-3.0.0/src/locale/ext-lang-fr_CA.js +218 -0
- data/public/ext-3.0.0/src/locale/ext-lang-gr.js +175 -0
- data/public/ext-3.0.0/src/locale/ext-lang-he.js +292 -0
- data/public/ext-3.0.0/src/locale/ext-lang-hr.js +295 -0
- data/public/ext-3.0.0/src/locale/ext-lang-hu.js +296 -0
- data/public/ext-3.0.0/src/locale/ext-lang-id.js +302 -0
- data/public/ext-3.0.0/src/locale/ext-lang-it.js +295 -0
- data/public/ext-3.0.0/src/locale/ext-lang-ja.js +318 -0
- data/public/ext-3.0.0/src/locale/ext-lang-ko.js +267 -0
- data/public/ext-3.0.0/src/locale/ext-lang-lt.js +333 -0
- data/public/ext-3.0.0/src/locale/ext-lang-lv.js +176 -0
- data/public/ext-3.0.0/src/locale/ext-lang-mk.js +176 -0
- data/public/ext-3.0.0/src/locale/ext-lang-nl.js +323 -0
- data/public/ext-3.0.0/src/locale/ext-lang-no_NB.js +294 -0
- data/public/ext-3.0.0/src/locale/ext-lang-no_NN.js +294 -0
- data/public/ext-3.0.0/src/locale/ext-lang-pl.js +304 -0
- data/public/ext-3.0.0/src/locale/ext-lang-pt.js +260 -0
- data/public/ext-3.0.0/src/locale/ext-lang-pt_BR.js +302 -0
- data/public/ext-3.0.0/src/locale/ext-lang-pt_PT.js +298 -0
- data/public/ext-3.0.0/src/locale/ext-lang-ro.js +295 -0
- data/public/ext-3.0.0/src/locale/ext-lang-ru.js +319 -0
- data/public/ext-3.0.0/src/locale/ext-lang-sk.js +182 -0
- data/public/ext-3.0.0/src/locale/ext-lang-sl.js +176 -0
- data/public/ext-3.0.0/src/locale/ext-lang-sr.js +179 -0
- data/public/ext-3.0.0/src/locale/ext-lang-sr_RS.js +178 -0
- data/public/ext-3.0.0/src/locale/ext-lang-sv_SE.js +178 -0
- data/public/ext-3.0.0/src/locale/ext-lang-th.js +294 -0
- data/public/ext-3.0.0/src/locale/ext-lang-tr.js +306 -0
- data/public/ext-3.0.0/src/locale/ext-lang-ukr.js +258 -0
- data/public/ext-3.0.0/src/locale/ext-lang-vn.js +181 -0
- data/public/ext-3.0.0/src/locale/ext-lang-zh_CN.js +174 -0
- data/public/ext-3.0.0/src/locale/ext-lang-zh_TW.js +178 -0
- data/public/ext-3.0.0/src/state/CookieProvider.js +91 -0
- data/public/ext-3.0.0/src/state/Provider.js +127 -0
- data/public/ext-3.0.0/src/state/StateManager.js +69 -0
- data/public/ext-3.0.0/src/util/CSS.js +161 -0
- data/public/ext-3.0.0/src/util/ClickRepeater.js +200 -0
- data/public/ext-3.0.0/src/util/Cookies.js +96 -0
- data/public/ext-3.0.0/src/util/Date.js +1317 -0
- data/public/ext-3.0.0/src/util/Format.js +356 -0
- data/public/ext-3.0.0/src/util/History.js +203 -0
- data/public/ext-3.0.0/src/util/KeyMap.js +242 -0
- data/public/ext-3.0.0/src/util/KeyNav.js +161 -0
- data/public/ext-3.0.0/src/util/MixedCollection.js +576 -0
- data/public/ext-3.0.0/src/util/Observable-more.js +178 -0
- data/public/ext-3.0.0/src/util/TextMetrics.js +131 -0
- data/public/ext-3.0.0/src/util/UpdateManager.js +536 -0
- data/public/ext-3.0.0/src/util/XTemplate.js +379 -0
- data/public/ext-3.0.0/src/util/core/DelayedTask.js +68 -0
- data/public/ext-3.0.0/src/util/core/JSON.js +174 -0
- data/public/ext-3.0.0/src/util/core/Observable.js +483 -0
- data/public/ext-3.0.0/src/util/core/TaskMgr.js +174 -0
- data/public/ext-3.0.0/src/widgets/Action.js +252 -0
- data/public/ext-3.0.0/src/widgets/BoxComponent.js +519 -0
- data/public/ext-3.0.0/src/widgets/Button.js +762 -0
- data/public/ext-3.0.0/src/widgets/ButtonGroup.js +103 -0
- data/public/ext-3.0.0/src/widgets/ColorPalette.js +148 -0
- data/public/ext-3.0.0/src/widgets/Component.js +1540 -0
- data/public/ext-3.0.0/src/widgets/ComponentMgr.js +159 -0
- data/public/ext-3.0.0/src/widgets/Container.js +894 -0
- data/public/ext-3.0.0/src/widgets/CycleButton.js +188 -0
- data/public/ext-3.0.0/src/widgets/DataView.js +749 -0
- data/public/ext-3.0.0/src/widgets/DatePicker.js +771 -0
- data/public/ext-3.0.0/src/widgets/Editor.js +385 -0
- data/public/ext-3.0.0/src/widgets/Layer.js +466 -0
- data/public/ext-3.0.0/src/widgets/LoadMask.js +123 -0
- data/public/ext-3.0.0/src/widgets/MessageBox.js +626 -0
- data/public/ext-3.0.0/src/widgets/PagingToolbar.js +502 -0
- data/public/ext-3.0.0/src/widgets/Panel.js +1772 -0
- data/public/ext-3.0.0/src/widgets/PanelDD.js +154 -0
- data/public/ext-3.0.0/src/widgets/ProgressBar.js +289 -0
- data/public/ext-3.0.0/src/widgets/Resizable.js +760 -0
- data/public/ext-3.0.0/src/widgets/Shadow.js +192 -0
- data/public/ext-3.0.0/src/widgets/Slider.js +426 -0
- data/public/ext-3.0.0/src/widgets/SplitBar.js +436 -0
- data/public/ext-3.0.0/src/widgets/SplitButton.js +124 -0
- data/public/ext-3.0.0/src/widgets/TabPanel.js +1100 -0
- data/public/ext-3.0.0/src/widgets/Toolbar.js +781 -0
- data/public/ext-3.0.0/src/widgets/Viewport.js +124 -0
- data/public/ext-3.0.0/src/widgets/Window.js +941 -0
- data/public/ext-3.0.0/src/widgets/WindowManager.js +187 -0
- data/public/ext-3.0.0/src/widgets/chart/Chart.js +721 -0
- data/public/ext-3.0.0/src/widgets/chart/EventProxy.js +20 -0
- data/public/ext-3.0.0/src/widgets/chart/FlashComponent.js +117 -0
- data/public/ext-3.0.0/src/widgets/chart/swfobject.js +783 -0
- data/public/ext-3.0.0/src/widgets/form/Action.js +626 -0
- data/public/ext-3.0.0/src/widgets/form/BasicForm.js +735 -0
- data/public/ext-3.0.0/src/widgets/form/Checkbox.js +177 -0
- data/public/ext-3.0.0/src/widgets/form/CheckboxGroup.js +419 -0
- data/public/ext-3.0.0/src/widgets/form/Combo.js +1232 -0
- data/public/ext-3.0.0/src/widgets/form/DateField.js +389 -0
- data/public/ext-3.0.0/src/widgets/form/DisplayField.js +98 -0
- data/public/ext-3.0.0/src/widgets/form/Field.js +640 -0
- data/public/ext-3.0.0/src/widgets/form/FieldSet.js +305 -0
- data/public/ext-3.0.0/src/widgets/form/Form.js +335 -0
- data/public/ext-3.0.0/src/widgets/form/Hidden.js +39 -0
- data/public/ext-3.0.0/src/widgets/form/HtmlEditor.js +1179 -0
- data/public/ext-3.0.0/src/widgets/form/Label.js +64 -0
- data/public/ext-3.0.0/src/widgets/form/NumberField.js +139 -0
- data/public/ext-3.0.0/src/widgets/form/Radio.js +81 -0
- data/public/ext-3.0.0/src/widgets/form/RadioGroup.js +116 -0
- data/public/ext-3.0.0/src/widgets/form/TextArea.js +117 -0
- data/public/ext-3.0.0/src/widgets/form/TextField.js +491 -0
- data/public/ext-3.0.0/src/widgets/form/TimeField.js +146 -0
- data/public/ext-3.0.0/src/widgets/form/TriggerField.js +328 -0
- data/public/ext-3.0.0/src/widgets/form/VTypes.js +135 -0
- data/public/ext-3.0.0/src/widgets/grid/AbstractSelectionModel.js +57 -0
- data/public/ext-3.0.0/src/widgets/grid/CellSelectionModel.js +262 -0
- data/public/ext-3.0.0/src/widgets/grid/CheckboxSelectionModel.js +103 -0
- data/public/ext-3.0.0/src/widgets/grid/Column.js +406 -0
- data/public/ext-3.0.0/src/widgets/grid/ColumnDD.js +199 -0
- data/public/ext-3.0.0/src/widgets/grid/ColumnModel.js +592 -0
- data/public/ext-3.0.0/src/widgets/grid/ColumnSplitDD.js +62 -0
- data/public/ext-3.0.0/src/widgets/grid/EditorGrid.js +291 -0
- data/public/ext-3.0.0/src/widgets/grid/GridDD.js +95 -0
- data/public/ext-3.0.0/src/widgets/grid/GridEditor.js +21 -0
- data/public/ext-3.0.0/src/widgets/grid/GridPanel.js +952 -0
- data/public/ext-3.0.0/src/widgets/grid/GridView.js +1776 -0
- data/public/ext-3.0.0/src/widgets/grid/GroupingView.js +517 -0
- data/public/ext-3.0.0/src/widgets/grid/PropertyGrid.js +370 -0
- data/public/ext-3.0.0/src/widgets/grid/RowNumberer.js +61 -0
- data/public/ext-3.0.0/src/widgets/grid/RowSelectionModel.js +530 -0
- data/public/ext-3.0.0/src/widgets/layout/AbsoluteLayout.js +82 -0
- data/public/ext-3.0.0/src/widgets/layout/AccordionLayout.js +177 -0
- data/public/ext-3.0.0/src/widgets/layout/AnchorLayout.js +200 -0
- data/public/ext-3.0.0/src/widgets/layout/BorderLayout.js +1108 -0
- data/public/ext-3.0.0/src/widgets/layout/BoxLayout.js +417 -0
- data/public/ext-3.0.0/src/widgets/layout/CardLayout.js +127 -0
- data/public/ext-3.0.0/src/widgets/layout/ColumnLayout.js +130 -0
- data/public/ext-3.0.0/src/widgets/layout/ContainerLayout.js +215 -0
- data/public/ext-3.0.0/src/widgets/layout/FitLayout.js +48 -0
- data/public/ext-3.0.0/src/widgets/layout/FormLayout.js +266 -0
- data/public/ext-3.0.0/src/widgets/layout/TableLayout.js +194 -0
- data/public/ext-3.0.0/src/widgets/list/ColumnResizer.js +123 -0
- data/public/ext-3.0.0/src/widgets/list/ListView.js +357 -0
- data/public/ext-3.0.0/src/widgets/list/Sorter.js +70 -0
- data/public/ext-3.0.0/src/widgets/menu/BaseItem.js +160 -0
- data/public/ext-3.0.0/src/widgets/menu/CheckItem.js +114 -0
- data/public/ext-3.0.0/src/widgets/menu/ColorMenu.js +72 -0
- data/public/ext-3.0.0/src/widgets/menu/DateMenu.js +90 -0
- data/public/ext-3.0.0/src/widgets/menu/Item.js +211 -0
- data/public/ext-3.0.0/src/widgets/menu/Menu.js +733 -0
- data/public/ext-3.0.0/src/widgets/menu/MenuMgr.js +211 -0
- data/public/ext-3.0.0/src/widgets/menu/Separator.js +46 -0
- data/public/ext-3.0.0/src/widgets/menu/TextItem.js +46 -0
- data/public/ext-3.0.0/src/widgets/tips/QuickTip.js +207 -0
- data/public/ext-3.0.0/src/widgets/tips/QuickTips.js +159 -0
- data/public/ext-3.0.0/src/widgets/tips/Tip.js +157 -0
- data/public/ext-3.0.0/src/widgets/tips/ToolTip.js +492 -0
- data/public/ext-3.0.0/src/widgets/tree/AsyncTreeNode.js +114 -0
- data/public/ext-3.0.0/src/widgets/tree/TreeDragZone.js +82 -0
- data/public/ext-3.0.0/src/widgets/tree/TreeDropZone.js +321 -0
- data/public/ext-3.0.0/src/widgets/tree/TreeEditor.js +160 -0
- data/public/ext-3.0.0/src/widgets/tree/TreeEventModel.js +169 -0
- data/public/ext-3.0.0/src/widgets/tree/TreeFilter.js +114 -0
- data/public/ext-3.0.0/src/widgets/tree/TreeLoader.js +342 -0
- data/public/ext-3.0.0/src/widgets/tree/TreeNode.js +546 -0
- data/public/ext-3.0.0/src/widgets/tree/TreeNodeUI.js +633 -0
- data/public/ext-3.0.0/src/widgets/tree/TreePanel.js +918 -0
- data/public/ext-3.0.0/src/widgets/tree/TreeSelectionModel.js +315 -0
- data/public/ext-3.0.0/src/widgets/tree/TreeSorter.js +106 -0
- data/public/js/ext-portal.js +235 -0
- data/public/js/global.js +7 -0
- data/public/js/outerframe.js +47 -0
- data/public/js/portal.js +713 -0
- data/public/js/test_chart.js +152 -0
- data/test/config.rb +62 -0
- data/test/config/hosts.yaml +5 -0
- data/test/config/log.yaml +1 -0
- data/test/config/memcache.yaml +5 -0
- data/test/exception.rb +39 -0
- data/test/method_missing.rb +14 -0
- data/test/module.rb +39 -0
- data/test/remote_lmp.rb +126 -0
- data/test/sinatra.rb +29 -0
- data/test/sinatra_base.rb +16 -0
- metadata +690 -0
|
@@ -0,0 +1,1108 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Ext JS Library 3.0.0
|
|
3
|
+
* Copyright(c) 2006-2009 Ext JS, LLC
|
|
4
|
+
* licensing@extjs.com
|
|
5
|
+
* http://www.extjs.com/license
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* @class Ext.layout.BorderLayout
|
|
9
|
+
* @extends Ext.layout.ContainerLayout
|
|
10
|
+
* <p>This is a multi-pane, application-oriented UI layout style that supports multiple
|
|
11
|
+
* nested panels, automatic {@link Ext.layout.BorderLayout.Region#split split} bars between
|
|
12
|
+
* {@link Ext.layout.BorderLayout.Region#BorderLayout.Region regions} and built-in
|
|
13
|
+
* {@link Ext.layout.BorderLayout.Region#collapsible expanding and collapsing} of regions.</p>
|
|
14
|
+
* <p>This class is intended to be extended or created via the <tt>layout:'border'</tt>
|
|
15
|
+
* {@link Ext.Container#layout} config, and should generally not need to be created directly
|
|
16
|
+
* via the new keyword.</p>
|
|
17
|
+
* <p>BorderLayout does not have any direct config options (other than inherited ones).
|
|
18
|
+
* All configuration options available for customizing the BorderLayout are at the
|
|
19
|
+
* {@link Ext.layout.BorderLayout.Region} and {@link Ext.layout.BorderLayout.SplitRegion}
|
|
20
|
+
* levels.</p>
|
|
21
|
+
* <p>Example usage:</p>
|
|
22
|
+
* <pre><code>
|
|
23
|
+
var myBorderPanel = new Ext.Panel({
|
|
24
|
+
{@link Ext.Component#renderTo renderTo}: document.body,
|
|
25
|
+
{@link Ext.BoxComponent#width width}: 700,
|
|
26
|
+
{@link Ext.BoxComponent#height height}: 500,
|
|
27
|
+
{@link Ext.Panel#title title}: 'Border Layout',
|
|
28
|
+
{@link Ext.Container#layout layout}: 'border',
|
|
29
|
+
{@link Ext.Container#items items}: [{
|
|
30
|
+
{@link Ext.Panel#title title}: 'South Region is resizable',
|
|
31
|
+
{@link Ext.layout.BorderLayout.Region#BorderLayout.Region region}: 'south', // position for region
|
|
32
|
+
{@link Ext.BoxComponent#height height}: 100,
|
|
33
|
+
{@link Ext.layout.BorderLayout.Region#split split}: true, // enable resizing
|
|
34
|
+
{@link Ext.SplitBar#minSize minSize}: 75, // defaults to {@link Ext.layout.BorderLayout.Region#minHeight 50}
|
|
35
|
+
{@link Ext.SplitBar#maxSize maxSize}: 150,
|
|
36
|
+
{@link Ext.layout.BorderLayout.Region#margins margins}: '0 5 5 5'
|
|
37
|
+
},{
|
|
38
|
+
// xtype: 'panel' implied by default
|
|
39
|
+
{@link Ext.Panel#title title}: 'West Region is collapsible',
|
|
40
|
+
{@link Ext.layout.BorderLayout.Region#BorderLayout.Region region}:'west',
|
|
41
|
+
{@link Ext.layout.BorderLayout.Region#margins margins}: '5 0 0 5',
|
|
42
|
+
{@link Ext.BoxComponent#width width}: 200,
|
|
43
|
+
{@link Ext.layout.BorderLayout.Region#collapsible collapsible}: true, // make collapsible
|
|
44
|
+
{@link Ext.layout.BorderLayout.Region#cmargins cmargins}: '5 5 0 5', // adjust top margin when collapsed
|
|
45
|
+
{@link Ext.Component#id id}: 'west-region-container',
|
|
46
|
+
{@link Ext.Container#layout layout}: 'fit',
|
|
47
|
+
{@link Ext.Panel#unstyled unstyled}: true
|
|
48
|
+
},{
|
|
49
|
+
{@link Ext.Panel#title title}: 'Center Region',
|
|
50
|
+
{@link Ext.layout.BorderLayout.Region#BorderLayout.Region region}: 'center', // center region is required, no width/height specified
|
|
51
|
+
{@link Ext.Component#xtype xtype}: 'container',
|
|
52
|
+
{@link Ext.Container#layout layout}: 'fit',
|
|
53
|
+
{@link Ext.layout.BorderLayout.Region#margins margins}: '5 5 0 0'
|
|
54
|
+
}]
|
|
55
|
+
});
|
|
56
|
+
</code></pre>
|
|
57
|
+
* <p><b><u>Notes</u></b>:</p><div class="mdetail-params"><ul>
|
|
58
|
+
* <li>Any container using the BorderLayout <b>must</b> have a child item with <tt>region:'center'</tt>.
|
|
59
|
+
* The child item in the center region will always be resized to fill the remaining space not used by
|
|
60
|
+
* the other regions in the layout.</li>
|
|
61
|
+
* <li>Any child items with a region of <tt>west</tt> or <tt>east</tt> must have <tt>width</tt> defined
|
|
62
|
+
* (an integer representing the number of pixels that the region should take up).</li>
|
|
63
|
+
* <li>Any child items with a region of <tt>north</tt> or <tt>south</tt> must have <tt>height</tt> defined.</li>
|
|
64
|
+
* <li>The regions of a BorderLayout are <b>fixed at render time</b> and thereafter, its child Components may not be removed or added</b>. To add/remove
|
|
65
|
+
* Components within a BorderLayout, have them wrapped by an additional Container which is directly
|
|
66
|
+
* managed by the BorderLayout. If the region is to be collapsible, the Container used directly
|
|
67
|
+
* by the BorderLayout manager should be a Panel. In the following example a Container (an Ext.Panel)
|
|
68
|
+
* is added to the west region:
|
|
69
|
+
* <div style="margin-left:16px"><pre><code>
|
|
70
|
+
wrc = {@link Ext#getCmp Ext.getCmp}('west-region-container');
|
|
71
|
+
wrc.{@link Ext.Panel#removeAll removeAll}();
|
|
72
|
+
wrc.{@link Ext.Container#add add}({
|
|
73
|
+
title: 'Added Panel',
|
|
74
|
+
html: 'Some content'
|
|
75
|
+
});
|
|
76
|
+
wrc.{@link Ext.Container#doLayout doLayout}();
|
|
77
|
+
* </code></pre></div>
|
|
78
|
+
* </li>
|
|
79
|
+
* <li> To reference a {@link Ext.layout.BorderLayout.Region Region}:
|
|
80
|
+
* <div style="margin-left:16px"><pre><code>
|
|
81
|
+
wr = myBorderPanel.layout.west;
|
|
82
|
+
* </code></pre></div>
|
|
83
|
+
* </li>
|
|
84
|
+
* </ul></div>
|
|
85
|
+
*/
|
|
86
|
+
Ext.layout.BorderLayout = Ext.extend(Ext.layout.ContainerLayout, {
|
|
87
|
+
// private
|
|
88
|
+
monitorResize:true,
|
|
89
|
+
// private
|
|
90
|
+
rendered : false,
|
|
91
|
+
|
|
92
|
+
// private
|
|
93
|
+
onLayout : function(ct, target){
|
|
94
|
+
var collapsed;
|
|
95
|
+
if(!this.rendered){
|
|
96
|
+
target.addClass('x-border-layout-ct');
|
|
97
|
+
var items = ct.items.items;
|
|
98
|
+
collapsed = [];
|
|
99
|
+
for(var i = 0, len = items.length; i < len; i++) {
|
|
100
|
+
var c = items[i];
|
|
101
|
+
var pos = c.region;
|
|
102
|
+
if(c.collapsed){
|
|
103
|
+
collapsed.push(c);
|
|
104
|
+
}
|
|
105
|
+
c.collapsed = false;
|
|
106
|
+
if(!c.rendered){
|
|
107
|
+
c.cls = c.cls ? c.cls +' x-border-panel' : 'x-border-panel';
|
|
108
|
+
c.render(target, i);
|
|
109
|
+
}
|
|
110
|
+
this[pos] = pos != 'center' && c.split ?
|
|
111
|
+
new Ext.layout.BorderLayout.SplitRegion(this, c.initialConfig, pos) :
|
|
112
|
+
new Ext.layout.BorderLayout.Region(this, c.initialConfig, pos);
|
|
113
|
+
this[pos].render(target, c);
|
|
114
|
+
}
|
|
115
|
+
this.rendered = true;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
var size = target.getViewSize();
|
|
119
|
+
if(size.width < 20 || size.height < 20){ // display none?
|
|
120
|
+
if(collapsed){
|
|
121
|
+
this.restoreCollapsed = collapsed;
|
|
122
|
+
}
|
|
123
|
+
return;
|
|
124
|
+
}else if(this.restoreCollapsed){
|
|
125
|
+
collapsed = this.restoreCollapsed;
|
|
126
|
+
delete this.restoreCollapsed;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
var w = size.width, h = size.height;
|
|
130
|
+
var centerW = w, centerH = h, centerY = 0, centerX = 0;
|
|
131
|
+
|
|
132
|
+
var n = this.north, s = this.south, west = this.west, e = this.east, c = this.center;
|
|
133
|
+
if(!c && Ext.layout.BorderLayout.WARN !== false){
|
|
134
|
+
throw 'No center region defined in BorderLayout ' + ct.id;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
if(n && n.isVisible()){
|
|
138
|
+
var b = n.getSize();
|
|
139
|
+
var m = n.getMargins();
|
|
140
|
+
b.width = w - (m.left+m.right);
|
|
141
|
+
b.x = m.left;
|
|
142
|
+
b.y = m.top;
|
|
143
|
+
centerY = b.height + b.y + m.bottom;
|
|
144
|
+
centerH -= centerY;
|
|
145
|
+
n.applyLayout(b);
|
|
146
|
+
}
|
|
147
|
+
if(s && s.isVisible()){
|
|
148
|
+
var b = s.getSize();
|
|
149
|
+
var m = s.getMargins();
|
|
150
|
+
b.width = w - (m.left+m.right);
|
|
151
|
+
b.x = m.left;
|
|
152
|
+
var totalHeight = (b.height + m.top + m.bottom);
|
|
153
|
+
b.y = h - totalHeight + m.top;
|
|
154
|
+
centerH -= totalHeight;
|
|
155
|
+
s.applyLayout(b);
|
|
156
|
+
}
|
|
157
|
+
if(west && west.isVisible()){
|
|
158
|
+
var b = west.getSize();
|
|
159
|
+
var m = west.getMargins();
|
|
160
|
+
b.height = centerH - (m.top+m.bottom);
|
|
161
|
+
b.x = m.left;
|
|
162
|
+
b.y = centerY + m.top;
|
|
163
|
+
var totalWidth = (b.width + m.left + m.right);
|
|
164
|
+
centerX += totalWidth;
|
|
165
|
+
centerW -= totalWidth;
|
|
166
|
+
west.applyLayout(b);
|
|
167
|
+
}
|
|
168
|
+
if(e && e.isVisible()){
|
|
169
|
+
var b = e.getSize();
|
|
170
|
+
var m = e.getMargins();
|
|
171
|
+
b.height = centerH - (m.top+m.bottom);
|
|
172
|
+
var totalWidth = (b.width + m.left + m.right);
|
|
173
|
+
b.x = w - totalWidth + m.left;
|
|
174
|
+
b.y = centerY + m.top;
|
|
175
|
+
centerW -= totalWidth;
|
|
176
|
+
e.applyLayout(b);
|
|
177
|
+
}
|
|
178
|
+
if(c){
|
|
179
|
+
var m = c.getMargins();
|
|
180
|
+
var centerBox = {
|
|
181
|
+
x: centerX + m.left,
|
|
182
|
+
y: centerY + m.top,
|
|
183
|
+
width: centerW - (m.left+m.right),
|
|
184
|
+
height: centerH - (m.top+m.bottom)
|
|
185
|
+
};
|
|
186
|
+
c.applyLayout(centerBox);
|
|
187
|
+
}
|
|
188
|
+
if(collapsed){
|
|
189
|
+
for(var i = 0, len = collapsed.length; i < len; i++){
|
|
190
|
+
collapsed[i].collapse(false);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
if(Ext.isIE && Ext.isStrict){ // workaround IE strict repainting issue
|
|
194
|
+
target.repaint();
|
|
195
|
+
}
|
|
196
|
+
},
|
|
197
|
+
|
|
198
|
+
destroy: function() {
|
|
199
|
+
var r = ['north', 'south', 'east', 'west'];
|
|
200
|
+
for (var i = 0; i < r.length; i++) {
|
|
201
|
+
var region = this[r[i]];
|
|
202
|
+
if(region){
|
|
203
|
+
if(region.destroy){
|
|
204
|
+
region.destroy();
|
|
205
|
+
}else if (region.split){
|
|
206
|
+
region.split.destroy(true);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
Ext.layout.BorderLayout.superclass.destroy.call(this);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* @property activeItem
|
|
215
|
+
* @hide
|
|
216
|
+
*/
|
|
217
|
+
});
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* @class Ext.layout.BorderLayout.Region
|
|
221
|
+
* <p>This is a region of a {@link Ext.layout.BorderLayout BorderLayout} that acts as a subcontainer
|
|
222
|
+
* within the layout. Each region has its own {@link Ext.layout.ContainerLayout layout} that is
|
|
223
|
+
* independent of other regions and the containing BorderLayout, and can be any of the
|
|
224
|
+
* {@link Ext.layout.ContainerLayout valid Ext layout types}.</p>
|
|
225
|
+
* <p>Region size is managed automatically and cannot be changed by the user -- for
|
|
226
|
+
* {@link #split resizable regions}, see {@link Ext.layout.BorderLayout.SplitRegion}.</p>
|
|
227
|
+
* @constructor
|
|
228
|
+
* Create a new Region.
|
|
229
|
+
* @param {Layout} layout The {@link Ext.layout.BorderLayout BorderLayout} instance that is managing this Region.
|
|
230
|
+
* @param {Object} config The configuration options
|
|
231
|
+
* @param {String} position The region position. Valid values are: <tt>north</tt>, <tt>south</tt>,
|
|
232
|
+
* <tt>east</tt>, <tt>west</tt> and <tt>center</tt>. Every {@link Ext.layout.BorderLayout BorderLayout}
|
|
233
|
+
* <b>must have a center region</b> for the primary content -- all other regions are optional.
|
|
234
|
+
*/
|
|
235
|
+
Ext.layout.BorderLayout.Region = function(layout, config, pos){
|
|
236
|
+
Ext.apply(this, config);
|
|
237
|
+
this.layout = layout;
|
|
238
|
+
this.position = pos;
|
|
239
|
+
this.state = {};
|
|
240
|
+
if(typeof this.margins == 'string'){
|
|
241
|
+
this.margins = this.layout.parseMargins(this.margins);
|
|
242
|
+
}
|
|
243
|
+
this.margins = Ext.applyIf(this.margins || {}, this.defaultMargins);
|
|
244
|
+
if(this.collapsible){
|
|
245
|
+
if(typeof this.cmargins == 'string'){
|
|
246
|
+
this.cmargins = this.layout.parseMargins(this.cmargins);
|
|
247
|
+
}
|
|
248
|
+
if(this.collapseMode == 'mini' && !this.cmargins){
|
|
249
|
+
this.cmargins = {left:0,top:0,right:0,bottom:0};
|
|
250
|
+
}else{
|
|
251
|
+
this.cmargins = Ext.applyIf(this.cmargins || {},
|
|
252
|
+
pos == 'north' || pos == 'south' ? this.defaultNSCMargins : this.defaultEWCMargins);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
};
|
|
256
|
+
|
|
257
|
+
Ext.layout.BorderLayout.Region.prototype = {
|
|
258
|
+
/**
|
|
259
|
+
* @cfg {Boolean} animFloat
|
|
260
|
+
* When a collapsed region's bar is clicked, the region's panel will be displayed as a floated
|
|
261
|
+
* panel that will close again once the user mouses out of that panel (or clicks out if
|
|
262
|
+
* <tt>{@link #autoHide} = false</tt>). Setting <tt>{@link #animFloat} = false</tt> will
|
|
263
|
+
* prevent the open and close of these floated panels from being animated (defaults to <tt>true</tt>).
|
|
264
|
+
*/
|
|
265
|
+
/**
|
|
266
|
+
* @cfg {Boolean} autoHide
|
|
267
|
+
* When a collapsed region's bar is clicked, the region's panel will be displayed as a floated
|
|
268
|
+
* panel. If <tt>autoHide = true</tt>, the panel will automatically hide after the user mouses
|
|
269
|
+
* out of the panel. If <tt>autoHide = false</tt>, the panel will continue to display until the
|
|
270
|
+
* user clicks outside of the panel (defaults to <tt>true</tt>).
|
|
271
|
+
*/
|
|
272
|
+
/**
|
|
273
|
+
* @cfg {String} collapseMode
|
|
274
|
+
* <tt>collapseMode</tt> supports two configuration values:<div class="mdetail-params"><ul>
|
|
275
|
+
* <li><b><tt>undefined</tt></b> (default)<div class="sub-desc">By default, {@link #collapsible}
|
|
276
|
+
* regions are collapsed by clicking the expand/collapse tool button that renders into the region's
|
|
277
|
+
* title bar.</div></li>
|
|
278
|
+
* <li><b><tt>'mini'</tt></b><div class="sub-desc">Optionally, when <tt>collapseMode</tt> is set to
|
|
279
|
+
* <tt>'mini'</tt> the region's split bar will also display a small collapse button in the center of
|
|
280
|
+
* the bar. In <tt>'mini'</tt> mode the region will collapse to a thinner bar than in normal mode.
|
|
281
|
+
* </div></li>
|
|
282
|
+
* </ul></div></p>
|
|
283
|
+
* <p><b>Note</b>: if a collapsible region does not have a title bar, then set <tt>collapseMode =
|
|
284
|
+
* 'mini'</tt> and <tt>{@link #split} = true</tt> in order for the region to be {@link #collapsible}
|
|
285
|
+
* by the user as the expand/collapse tool button (that would go in the title bar) will not be rendered.</p>
|
|
286
|
+
* <p>See also <tt>{@link #cmargins}</tt>.</p>
|
|
287
|
+
*/
|
|
288
|
+
/**
|
|
289
|
+
* @cfg {Object} margins
|
|
290
|
+
* An object containing margins to apply to the region when in the expanded state in the
|
|
291
|
+
* format:<pre><code>
|
|
292
|
+
{
|
|
293
|
+
top: (top margin),
|
|
294
|
+
right: (right margin),
|
|
295
|
+
bottom: (bottom margin),
|
|
296
|
+
left: (left margin)
|
|
297
|
+
}</code></pre>
|
|
298
|
+
* <p>May also be a string containing space-separated, numeric margin values. The order of the
|
|
299
|
+
* sides associated with each value matches the way CSS processes margin values:</p>
|
|
300
|
+
* <p><div class="mdetail-params"><ul>
|
|
301
|
+
* <li>If there is only one value, it applies to all sides.</li>
|
|
302
|
+
* <li>If there are two values, the top and bottom borders are set to the first value and the
|
|
303
|
+
* right and left are set to the second.</li>
|
|
304
|
+
* <li>If there are three values, the top is set to the first value, the left and right are set
|
|
305
|
+
* to the second, and the bottom is set to the third.</li>
|
|
306
|
+
* <li>If there are four values, they apply to the top, right, bottom, and left, respectively.</li>
|
|
307
|
+
* </ul></div></p>
|
|
308
|
+
* <p>Defaults to:</p><pre><code>
|
|
309
|
+
* {top:0, right:0, bottom:0, left:0}
|
|
310
|
+
* </code></pre>
|
|
311
|
+
*/
|
|
312
|
+
/**
|
|
313
|
+
* @cfg {Object} cmargins
|
|
314
|
+
* An object containing margins to apply to the region when in the collapsed state in the
|
|
315
|
+
* format:<pre><code>
|
|
316
|
+
{
|
|
317
|
+
top: (top margin),
|
|
318
|
+
right: (right margin),
|
|
319
|
+
bottom: (bottom margin),
|
|
320
|
+
left: (left margin)
|
|
321
|
+
}</code></pre>
|
|
322
|
+
* <p>May also be a string containing space-separated, numeric margin values. The order of the
|
|
323
|
+
* sides associated with each value matches the way CSS processes margin values.</p>
|
|
324
|
+
* <p><ul>
|
|
325
|
+
* <li>If there is only one value, it applies to all sides.</li>
|
|
326
|
+
* <li>If there are two values, the top and bottom borders are set to the first value and the
|
|
327
|
+
* right and left are set to the second.</li>
|
|
328
|
+
* <li>If there are three values, the top is set to the first value, the left and right are set
|
|
329
|
+
* to the second, and the bottom is set to the third.</li>
|
|
330
|
+
* <li>If there are four values, they apply to the top, right, bottom, and left, respectively.</li>
|
|
331
|
+
* </ul></p>
|
|
332
|
+
*/
|
|
333
|
+
/**
|
|
334
|
+
* @cfg {Boolean} collapsible
|
|
335
|
+
* <p><tt>true</tt> to allow the user to collapse this region (defaults to <tt>false</tt>). If
|
|
336
|
+
* <tt>true</tt>, an expand/collapse tool button will automatically be rendered into the title
|
|
337
|
+
* bar of the region, otherwise the button will not be shown.</p>
|
|
338
|
+
* <p><b>Note</b>: that a title bar is required to display the collapse/expand toggle button -- if
|
|
339
|
+
* no <tt>title</tt> is specified for the region's panel, the region will only be collapsible if
|
|
340
|
+
* <tt>{@link #collapseMode} = 'mini'</tt> and <tt>{@link #split} = true</tt>.
|
|
341
|
+
*/
|
|
342
|
+
collapsible : false,
|
|
343
|
+
/**
|
|
344
|
+
* @cfg {Boolean} split
|
|
345
|
+
* <p><tt>true</tt> to create a {@link Ext.layout.BorderLayout.SplitRegion SplitRegion} and
|
|
346
|
+
* display a 5px wide {@link Ext.SplitBar} between this region and its neighbor, allowing the user to
|
|
347
|
+
* resize the regions dynamically. Defaults to <tt>false</tt> creating a
|
|
348
|
+
* {@link Ext.layout.BorderLayout.Region Region}.</p><br>
|
|
349
|
+
* <p><b>Notes</b>:</p><div class="mdetail-params"><ul>
|
|
350
|
+
* <li>this configuration option is ignored if <tt>region='center'</tt></li>
|
|
351
|
+
* <li>when <tt>split == true</tt>, it is common to specify a
|
|
352
|
+
* <tt>{@link Ext.SplitBar#minSize minSize}</tt> and <tt>{@link Ext.SplitBar#maxSize maxSize}</tt>
|
|
353
|
+
* for the {@link Ext.BoxComponent BoxComponent} representing the region. These are not native
|
|
354
|
+
* configs of {@link Ext.BoxComponent BoxComponent}, and are used only by this class.</li>
|
|
355
|
+
* <li>if <tt>{@link #collapseMode} = 'mini'</tt> requires <tt>split = true</tt> to reserve space
|
|
356
|
+
* for the collapse tool</tt></li>
|
|
357
|
+
* </ul></div>
|
|
358
|
+
*/
|
|
359
|
+
split:false,
|
|
360
|
+
/**
|
|
361
|
+
* @cfg {Boolean} floatable
|
|
362
|
+
* <tt>true</tt> to allow clicking a collapsed region's bar to display the region's panel floated
|
|
363
|
+
* above the layout, <tt>false</tt> to force the user to fully expand a collapsed region by
|
|
364
|
+
* clicking the expand button to see it again (defaults to <tt>true</tt>).
|
|
365
|
+
*/
|
|
366
|
+
floatable: true,
|
|
367
|
+
/**
|
|
368
|
+
* @cfg {Number} minWidth
|
|
369
|
+
* <p>The minimum allowable width in pixels for this region (defaults to <tt>50</tt>).
|
|
370
|
+
* <tt>maxWidth</tt> may also be specified.</p><br>
|
|
371
|
+
* <p><b>Note</b>: setting the <tt>{@link Ext.SplitBar#minSize minSize}</tt> /
|
|
372
|
+
* <tt>{@link Ext.SplitBar#maxSize maxSize}</tt> supersedes any specified
|
|
373
|
+
* <tt>minWidth</tt> / <tt>maxWidth</tt>.</p>
|
|
374
|
+
*/
|
|
375
|
+
minWidth:50,
|
|
376
|
+
/**
|
|
377
|
+
* @cfg {Number} minHeight
|
|
378
|
+
* The minimum allowable height in pixels for this region (defaults to <tt>50</tt>)
|
|
379
|
+
* <tt>maxHeight</tt> may also be specified.</p><br>
|
|
380
|
+
* <p><b>Note</b>: setting the <tt>{@link Ext.SplitBar#minSize minSize}</tt> /
|
|
381
|
+
* <tt>{@link Ext.SplitBar#maxSize maxSize}</tt> supersedes any specified
|
|
382
|
+
* <tt>minHeight</tt> / <tt>maxHeight</tt>.</p>
|
|
383
|
+
*/
|
|
384
|
+
minHeight:50,
|
|
385
|
+
|
|
386
|
+
// private
|
|
387
|
+
defaultMargins : {left:0,top:0,right:0,bottom:0},
|
|
388
|
+
// private
|
|
389
|
+
defaultNSCMargins : {left:5,top:5,right:5,bottom:5},
|
|
390
|
+
// private
|
|
391
|
+
defaultEWCMargins : {left:5,top:0,right:5,bottom:0},
|
|
392
|
+
floatingZIndex: 100,
|
|
393
|
+
|
|
394
|
+
/**
|
|
395
|
+
* True if this region is collapsed. Read-only.
|
|
396
|
+
* @type Boolean
|
|
397
|
+
* @property
|
|
398
|
+
*/
|
|
399
|
+
isCollapsed : false,
|
|
400
|
+
|
|
401
|
+
/**
|
|
402
|
+
* This region's panel. Read-only.
|
|
403
|
+
* @type Ext.Panel
|
|
404
|
+
* @property panel
|
|
405
|
+
*/
|
|
406
|
+
/**
|
|
407
|
+
* This region's layout. Read-only.
|
|
408
|
+
* @type Layout
|
|
409
|
+
* @property layout
|
|
410
|
+
*/
|
|
411
|
+
/**
|
|
412
|
+
* This region's layout position (north, south, east, west or center). Read-only.
|
|
413
|
+
* @type String
|
|
414
|
+
* @property position
|
|
415
|
+
*/
|
|
416
|
+
|
|
417
|
+
// private
|
|
418
|
+
render : function(ct, p){
|
|
419
|
+
this.panel = p;
|
|
420
|
+
p.el.enableDisplayMode();
|
|
421
|
+
this.targetEl = ct;
|
|
422
|
+
this.el = p.el;
|
|
423
|
+
|
|
424
|
+
var gs = p.getState, ps = this.position;
|
|
425
|
+
p.getState = function(){
|
|
426
|
+
return Ext.apply(gs.call(p) || {}, this.state);
|
|
427
|
+
}.createDelegate(this);
|
|
428
|
+
|
|
429
|
+
if(ps != 'center'){
|
|
430
|
+
p.allowQueuedExpand = false;
|
|
431
|
+
p.on({
|
|
432
|
+
beforecollapse: this.beforeCollapse,
|
|
433
|
+
collapse: this.onCollapse,
|
|
434
|
+
beforeexpand: this.beforeExpand,
|
|
435
|
+
expand: this.onExpand,
|
|
436
|
+
hide: this.onHide,
|
|
437
|
+
show: this.onShow,
|
|
438
|
+
scope: this
|
|
439
|
+
});
|
|
440
|
+
if(this.collapsible || this.floatable){
|
|
441
|
+
p.collapseEl = 'el';
|
|
442
|
+
p.slideAnchor = this.getSlideAnchor();
|
|
443
|
+
}
|
|
444
|
+
if(p.tools && p.tools.toggle){
|
|
445
|
+
p.tools.toggle.addClass('x-tool-collapse-'+ps);
|
|
446
|
+
p.tools.toggle.addClassOnOver('x-tool-collapse-'+ps+'-over');
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
},
|
|
450
|
+
|
|
451
|
+
// private
|
|
452
|
+
getCollapsedEl : function(){
|
|
453
|
+
if(!this.collapsedEl){
|
|
454
|
+
if(!this.toolTemplate){
|
|
455
|
+
var tt = new Ext.Template(
|
|
456
|
+
'<div class="x-tool x-tool-{id}"> </div>'
|
|
457
|
+
);
|
|
458
|
+
tt.disableFormats = true;
|
|
459
|
+
tt.compile();
|
|
460
|
+
Ext.layout.BorderLayout.Region.prototype.toolTemplate = tt;
|
|
461
|
+
}
|
|
462
|
+
this.collapsedEl = this.targetEl.createChild({
|
|
463
|
+
cls: "x-layout-collapsed x-layout-collapsed-"+this.position,
|
|
464
|
+
id: this.panel.id + '-xcollapsed'
|
|
465
|
+
});
|
|
466
|
+
this.collapsedEl.enableDisplayMode('block');
|
|
467
|
+
|
|
468
|
+
if(this.collapseMode == 'mini'){
|
|
469
|
+
this.collapsedEl.addClass('x-layout-cmini-'+this.position);
|
|
470
|
+
this.miniCollapsedEl = this.collapsedEl.createChild({
|
|
471
|
+
cls: "x-layout-mini x-layout-mini-"+this.position, html: " "
|
|
472
|
+
});
|
|
473
|
+
this.miniCollapsedEl.addClassOnOver('x-layout-mini-over');
|
|
474
|
+
this.collapsedEl.addClassOnOver("x-layout-collapsed-over");
|
|
475
|
+
this.collapsedEl.on('click', this.onExpandClick, this, {stopEvent:true});
|
|
476
|
+
}else {
|
|
477
|
+
if(this.collapsible !== false && !this.hideCollapseTool) {
|
|
478
|
+
var t = this.toolTemplate.append(
|
|
479
|
+
this.collapsedEl.dom,
|
|
480
|
+
{id:'expand-'+this.position}, true);
|
|
481
|
+
t.addClassOnOver('x-tool-expand-'+this.position+'-over');
|
|
482
|
+
t.on('click', this.onExpandClick, this, {stopEvent:true});
|
|
483
|
+
}
|
|
484
|
+
if(this.floatable !== false || this.titleCollapse){
|
|
485
|
+
this.collapsedEl.addClassOnOver("x-layout-collapsed-over");
|
|
486
|
+
this.collapsedEl.on("click", this[this.floatable ? 'collapseClick' : 'onExpandClick'], this);
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
return this.collapsedEl;
|
|
491
|
+
},
|
|
492
|
+
|
|
493
|
+
// private
|
|
494
|
+
onExpandClick : function(e){
|
|
495
|
+
if(this.isSlid){
|
|
496
|
+
this.afterSlideIn();
|
|
497
|
+
this.panel.expand(false);
|
|
498
|
+
}else{
|
|
499
|
+
this.panel.expand();
|
|
500
|
+
}
|
|
501
|
+
},
|
|
502
|
+
|
|
503
|
+
// private
|
|
504
|
+
onCollapseClick : function(e){
|
|
505
|
+
this.panel.collapse();
|
|
506
|
+
},
|
|
507
|
+
|
|
508
|
+
// private
|
|
509
|
+
beforeCollapse : function(p, animate){
|
|
510
|
+
this.lastAnim = animate;
|
|
511
|
+
if(this.splitEl){
|
|
512
|
+
this.splitEl.hide();
|
|
513
|
+
}
|
|
514
|
+
this.getCollapsedEl().show();
|
|
515
|
+
this.panel.el.setStyle('z-index', 100);
|
|
516
|
+
this.isCollapsed = true;
|
|
517
|
+
this.layout.layout();
|
|
518
|
+
},
|
|
519
|
+
|
|
520
|
+
// private
|
|
521
|
+
onCollapse : function(animate){
|
|
522
|
+
this.panel.el.setStyle('z-index', 1);
|
|
523
|
+
if(this.lastAnim === false || this.panel.animCollapse === false){
|
|
524
|
+
this.getCollapsedEl().dom.style.visibility = 'visible';
|
|
525
|
+
}else{
|
|
526
|
+
this.getCollapsedEl().slideIn(this.panel.slideAnchor, {duration:.2});
|
|
527
|
+
}
|
|
528
|
+
this.state.collapsed = true;
|
|
529
|
+
this.panel.saveState();
|
|
530
|
+
},
|
|
531
|
+
|
|
532
|
+
// private
|
|
533
|
+
beforeExpand : function(animate){
|
|
534
|
+
var c = this.getCollapsedEl();
|
|
535
|
+
this.el.show();
|
|
536
|
+
if(this.position == 'east' || this.position == 'west'){
|
|
537
|
+
this.panel.setSize(undefined, c.getHeight());
|
|
538
|
+
}else{
|
|
539
|
+
this.panel.setSize(c.getWidth(), undefined);
|
|
540
|
+
}
|
|
541
|
+
c.hide();
|
|
542
|
+
c.dom.style.visibility = 'hidden';
|
|
543
|
+
this.panel.el.setStyle('z-index', this.floatingZIndex);
|
|
544
|
+
},
|
|
545
|
+
|
|
546
|
+
// private
|
|
547
|
+
onExpand : function(){
|
|
548
|
+
this.isCollapsed = false;
|
|
549
|
+
if(this.splitEl){
|
|
550
|
+
this.splitEl.show();
|
|
551
|
+
}
|
|
552
|
+
this.layout.layout();
|
|
553
|
+
this.panel.el.setStyle('z-index', 1);
|
|
554
|
+
this.state.collapsed = false;
|
|
555
|
+
this.panel.saveState();
|
|
556
|
+
},
|
|
557
|
+
|
|
558
|
+
// private
|
|
559
|
+
collapseClick : function(e){
|
|
560
|
+
if(this.isSlid){
|
|
561
|
+
e.stopPropagation();
|
|
562
|
+
this.slideIn();
|
|
563
|
+
}else{
|
|
564
|
+
e.stopPropagation();
|
|
565
|
+
this.slideOut();
|
|
566
|
+
}
|
|
567
|
+
},
|
|
568
|
+
|
|
569
|
+
// private
|
|
570
|
+
onHide : function(){
|
|
571
|
+
if(this.isCollapsed){
|
|
572
|
+
this.getCollapsedEl().hide();
|
|
573
|
+
}else if(this.splitEl){
|
|
574
|
+
this.splitEl.hide();
|
|
575
|
+
}
|
|
576
|
+
},
|
|
577
|
+
|
|
578
|
+
// private
|
|
579
|
+
onShow : function(){
|
|
580
|
+
if(this.isCollapsed){
|
|
581
|
+
this.getCollapsedEl().show();
|
|
582
|
+
}else if(this.splitEl){
|
|
583
|
+
this.splitEl.show();
|
|
584
|
+
}
|
|
585
|
+
},
|
|
586
|
+
|
|
587
|
+
/**
|
|
588
|
+
* True if this region is currently visible, else false.
|
|
589
|
+
* @return {Boolean}
|
|
590
|
+
*/
|
|
591
|
+
isVisible : function(){
|
|
592
|
+
return !this.panel.hidden;
|
|
593
|
+
},
|
|
594
|
+
|
|
595
|
+
/**
|
|
596
|
+
* Returns the current margins for this region. If the region is collapsed, the
|
|
597
|
+
* {@link #cmargins} (collapsed margins) value will be returned, otherwise the
|
|
598
|
+
* {@link #margins} value will be returned.
|
|
599
|
+
* @return {Object} An object containing the element's margins: <tt>{left: (left
|
|
600
|
+
* margin), top: (top margin), right: (right margin), bottom: (bottom margin)}</tt>
|
|
601
|
+
*/
|
|
602
|
+
getMargins : function(){
|
|
603
|
+
return this.isCollapsed && this.cmargins ? this.cmargins : this.margins;
|
|
604
|
+
},
|
|
605
|
+
|
|
606
|
+
/**
|
|
607
|
+
* Returns the current size of this region. If the region is collapsed, the size of the
|
|
608
|
+
* collapsedEl will be returned, otherwise the size of the region's panel will be returned.
|
|
609
|
+
* @return {Object} An object containing the element's size: <tt>{width: (element width),
|
|
610
|
+
* height: (element height)}</tt>
|
|
611
|
+
*/
|
|
612
|
+
getSize : function(){
|
|
613
|
+
return this.isCollapsed ? this.getCollapsedEl().getSize() : this.panel.getSize();
|
|
614
|
+
},
|
|
615
|
+
|
|
616
|
+
/**
|
|
617
|
+
* Sets the specified panel as the container element for this region.
|
|
618
|
+
* @param {Ext.Panel} panel The new panel
|
|
619
|
+
*/
|
|
620
|
+
setPanel : function(panel){
|
|
621
|
+
this.panel = panel;
|
|
622
|
+
},
|
|
623
|
+
|
|
624
|
+
/**
|
|
625
|
+
* Returns the minimum allowable width for this region.
|
|
626
|
+
* @return {Number} The minimum width
|
|
627
|
+
*/
|
|
628
|
+
getMinWidth: function(){
|
|
629
|
+
return this.minWidth;
|
|
630
|
+
},
|
|
631
|
+
|
|
632
|
+
/**
|
|
633
|
+
* Returns the minimum allowable height for this region.
|
|
634
|
+
* @return {Number} The minimum height
|
|
635
|
+
*/
|
|
636
|
+
getMinHeight: function(){
|
|
637
|
+
return this.minHeight;
|
|
638
|
+
},
|
|
639
|
+
|
|
640
|
+
// private
|
|
641
|
+
applyLayoutCollapsed : function(box){
|
|
642
|
+
var ce = this.getCollapsedEl();
|
|
643
|
+
ce.setLeftTop(box.x, box.y);
|
|
644
|
+
ce.setSize(box.width, box.height);
|
|
645
|
+
},
|
|
646
|
+
|
|
647
|
+
// private
|
|
648
|
+
applyLayout : function(box){
|
|
649
|
+
if(this.isCollapsed){
|
|
650
|
+
this.applyLayoutCollapsed(box);
|
|
651
|
+
}else{
|
|
652
|
+
this.panel.setPosition(box.x, box.y);
|
|
653
|
+
this.panel.setSize(box.width, box.height);
|
|
654
|
+
}
|
|
655
|
+
},
|
|
656
|
+
|
|
657
|
+
// private
|
|
658
|
+
beforeSlide: function(){
|
|
659
|
+
this.panel.beforeEffect();
|
|
660
|
+
},
|
|
661
|
+
|
|
662
|
+
// private
|
|
663
|
+
afterSlide : function(){
|
|
664
|
+
this.panel.afterEffect();
|
|
665
|
+
},
|
|
666
|
+
|
|
667
|
+
// private
|
|
668
|
+
initAutoHide : function(){
|
|
669
|
+
if(this.autoHide !== false){
|
|
670
|
+
if(!this.autoHideHd){
|
|
671
|
+
var st = new Ext.util.DelayedTask(this.slideIn, this);
|
|
672
|
+
this.autoHideHd = {
|
|
673
|
+
"mouseout": function(e){
|
|
674
|
+
if(!e.within(this.el, true)){
|
|
675
|
+
st.delay(500);
|
|
676
|
+
}
|
|
677
|
+
},
|
|
678
|
+
"mouseover" : function(e){
|
|
679
|
+
st.cancel();
|
|
680
|
+
},
|
|
681
|
+
scope : this
|
|
682
|
+
};
|
|
683
|
+
}
|
|
684
|
+
this.el.on(this.autoHideHd);
|
|
685
|
+
}
|
|
686
|
+
},
|
|
687
|
+
|
|
688
|
+
// private
|
|
689
|
+
clearAutoHide : function(){
|
|
690
|
+
if(this.autoHide !== false){
|
|
691
|
+
this.el.un("mouseout", this.autoHideHd.mouseout);
|
|
692
|
+
this.el.un("mouseover", this.autoHideHd.mouseover);
|
|
693
|
+
}
|
|
694
|
+
},
|
|
695
|
+
|
|
696
|
+
// private
|
|
697
|
+
clearMonitor : function(){
|
|
698
|
+
Ext.getDoc().un("click", this.slideInIf, this);
|
|
699
|
+
},
|
|
700
|
+
|
|
701
|
+
/**
|
|
702
|
+
* If this Region is {@link #floatable}, this method slides this Region into full visibility <i>over the top
|
|
703
|
+
* of the center Region</i> where it floats until either {@link #slideIn} is called, or other regions of the layout
|
|
704
|
+
* are clicked, or the mouse exits the Region.
|
|
705
|
+
*/
|
|
706
|
+
slideOut : function(){
|
|
707
|
+
if(this.isSlid || this.el.hasActiveFx()){
|
|
708
|
+
return;
|
|
709
|
+
}
|
|
710
|
+
this.isSlid = true;
|
|
711
|
+
var ts = this.panel.tools;
|
|
712
|
+
if(ts && ts.toggle){
|
|
713
|
+
ts.toggle.hide();
|
|
714
|
+
}
|
|
715
|
+
this.el.show();
|
|
716
|
+
if(this.position == 'east' || this.position == 'west'){
|
|
717
|
+
this.panel.setSize(undefined, this.collapsedEl.getHeight());
|
|
718
|
+
}else{
|
|
719
|
+
this.panel.setSize(this.collapsedEl.getWidth(), undefined);
|
|
720
|
+
}
|
|
721
|
+
this.restoreLT = [this.el.dom.style.left, this.el.dom.style.top];
|
|
722
|
+
this.el.alignTo(this.collapsedEl, this.getCollapseAnchor());
|
|
723
|
+
this.el.setStyle("z-index", this.floatingZIndex+2);
|
|
724
|
+
this.panel.el.replaceClass('x-panel-collapsed', 'x-panel-floating');
|
|
725
|
+
if(this.animFloat !== false){
|
|
726
|
+
this.beforeSlide();
|
|
727
|
+
this.el.slideIn(this.getSlideAnchor(), {
|
|
728
|
+
callback: function(){
|
|
729
|
+
this.afterSlide();
|
|
730
|
+
this.initAutoHide();
|
|
731
|
+
Ext.getDoc().on("click", this.slideInIf, this);
|
|
732
|
+
},
|
|
733
|
+
scope: this,
|
|
734
|
+
block: true
|
|
735
|
+
});
|
|
736
|
+
}else{
|
|
737
|
+
this.initAutoHide();
|
|
738
|
+
Ext.getDoc().on("click", this.slideInIf, this);
|
|
739
|
+
}
|
|
740
|
+
},
|
|
741
|
+
|
|
742
|
+
// private
|
|
743
|
+
afterSlideIn : function(){
|
|
744
|
+
this.clearAutoHide();
|
|
745
|
+
this.isSlid = false;
|
|
746
|
+
this.clearMonitor();
|
|
747
|
+
this.el.setStyle("z-index", "");
|
|
748
|
+
this.panel.el.replaceClass('x-panel-floating', 'x-panel-collapsed');
|
|
749
|
+
this.el.dom.style.left = this.restoreLT[0];
|
|
750
|
+
this.el.dom.style.top = this.restoreLT[1];
|
|
751
|
+
|
|
752
|
+
var ts = this.panel.tools;
|
|
753
|
+
if(ts && ts.toggle){
|
|
754
|
+
ts.toggle.show();
|
|
755
|
+
}
|
|
756
|
+
},
|
|
757
|
+
|
|
758
|
+
/**
|
|
759
|
+
* If this Region is {@link #floatable}, and this Region has been slid into floating visibility, then this method slides
|
|
760
|
+
* this region back into its collapsed state.
|
|
761
|
+
*/
|
|
762
|
+
slideIn : function(cb){
|
|
763
|
+
if(!this.isSlid || this.el.hasActiveFx()){
|
|
764
|
+
Ext.callback(cb);
|
|
765
|
+
return;
|
|
766
|
+
}
|
|
767
|
+
this.isSlid = false;
|
|
768
|
+
if(this.animFloat !== false){
|
|
769
|
+
this.beforeSlide();
|
|
770
|
+
this.el.slideOut(this.getSlideAnchor(), {
|
|
771
|
+
callback: function(){
|
|
772
|
+
this.el.hide();
|
|
773
|
+
this.afterSlide();
|
|
774
|
+
this.afterSlideIn();
|
|
775
|
+
Ext.callback(cb);
|
|
776
|
+
},
|
|
777
|
+
scope: this,
|
|
778
|
+
block: true
|
|
779
|
+
});
|
|
780
|
+
}else{
|
|
781
|
+
this.el.hide();
|
|
782
|
+
this.afterSlideIn();
|
|
783
|
+
}
|
|
784
|
+
},
|
|
785
|
+
|
|
786
|
+
// private
|
|
787
|
+
slideInIf : function(e){
|
|
788
|
+
if(!e.within(this.el)){
|
|
789
|
+
this.slideIn();
|
|
790
|
+
}
|
|
791
|
+
},
|
|
792
|
+
|
|
793
|
+
// private
|
|
794
|
+
anchors : {
|
|
795
|
+
"west" : "left",
|
|
796
|
+
"east" : "right",
|
|
797
|
+
"north" : "top",
|
|
798
|
+
"south" : "bottom"
|
|
799
|
+
},
|
|
800
|
+
|
|
801
|
+
// private
|
|
802
|
+
sanchors : {
|
|
803
|
+
"west" : "l",
|
|
804
|
+
"east" : "r",
|
|
805
|
+
"north" : "t",
|
|
806
|
+
"south" : "b"
|
|
807
|
+
},
|
|
808
|
+
|
|
809
|
+
// private
|
|
810
|
+
canchors : {
|
|
811
|
+
"west" : "tl-tr",
|
|
812
|
+
"east" : "tr-tl",
|
|
813
|
+
"north" : "tl-bl",
|
|
814
|
+
"south" : "bl-tl"
|
|
815
|
+
},
|
|
816
|
+
|
|
817
|
+
// private
|
|
818
|
+
getAnchor : function(){
|
|
819
|
+
return this.anchors[this.position];
|
|
820
|
+
},
|
|
821
|
+
|
|
822
|
+
// private
|
|
823
|
+
getCollapseAnchor : function(){
|
|
824
|
+
return this.canchors[this.position];
|
|
825
|
+
},
|
|
826
|
+
|
|
827
|
+
// private
|
|
828
|
+
getSlideAnchor : function(){
|
|
829
|
+
return this.sanchors[this.position];
|
|
830
|
+
},
|
|
831
|
+
|
|
832
|
+
// private
|
|
833
|
+
getAlignAdj : function(){
|
|
834
|
+
var cm = this.cmargins;
|
|
835
|
+
switch(this.position){
|
|
836
|
+
case "west":
|
|
837
|
+
return [0, 0];
|
|
838
|
+
break;
|
|
839
|
+
case "east":
|
|
840
|
+
return [0, 0];
|
|
841
|
+
break;
|
|
842
|
+
case "north":
|
|
843
|
+
return [0, 0];
|
|
844
|
+
break;
|
|
845
|
+
case "south":
|
|
846
|
+
return [0, 0];
|
|
847
|
+
break;
|
|
848
|
+
}
|
|
849
|
+
},
|
|
850
|
+
|
|
851
|
+
// private
|
|
852
|
+
getExpandAdj : function(){
|
|
853
|
+
var c = this.collapsedEl, cm = this.cmargins;
|
|
854
|
+
switch(this.position){
|
|
855
|
+
case "west":
|
|
856
|
+
return [-(cm.right+c.getWidth()+cm.left), 0];
|
|
857
|
+
break;
|
|
858
|
+
case "east":
|
|
859
|
+
return [cm.right+c.getWidth()+cm.left, 0];
|
|
860
|
+
break;
|
|
861
|
+
case "north":
|
|
862
|
+
return [0, -(cm.top+cm.bottom+c.getHeight())];
|
|
863
|
+
break;
|
|
864
|
+
case "south":
|
|
865
|
+
return [0, cm.top+cm.bottom+c.getHeight()];
|
|
866
|
+
break;
|
|
867
|
+
}
|
|
868
|
+
}
|
|
869
|
+
};
|
|
870
|
+
|
|
871
|
+
/**
|
|
872
|
+
* @class Ext.layout.BorderLayout.SplitRegion
|
|
873
|
+
* @extends Ext.layout.BorderLayout.Region
|
|
874
|
+
* <p>This is a specialized type of {@link Ext.layout.BorderLayout.Region BorderLayout region} that
|
|
875
|
+
* has a built-in {@link Ext.SplitBar} for user resizing of regions. The movement of the split bar
|
|
876
|
+
* is configurable to move either {@link #tickSize smooth or incrementally}.</p>
|
|
877
|
+
* @constructor
|
|
878
|
+
* Create a new SplitRegion.
|
|
879
|
+
* @param {Layout} layout The {@link Ext.layout.BorderLayout BorderLayout} instance that is managing this Region.
|
|
880
|
+
* @param {Object} config The configuration options
|
|
881
|
+
* @param {String} position The region position. Valid values are: north, south, east, west and center. Every
|
|
882
|
+
* BorderLayout must have a center region for the primary content -- all other regions are optional.
|
|
883
|
+
*/
|
|
884
|
+
Ext.layout.BorderLayout.SplitRegion = function(layout, config, pos){
|
|
885
|
+
Ext.layout.BorderLayout.SplitRegion.superclass.constructor.call(this, layout, config, pos);
|
|
886
|
+
// prevent switch
|
|
887
|
+
this.applyLayout = this.applyFns[pos];
|
|
888
|
+
};
|
|
889
|
+
|
|
890
|
+
Ext.extend(Ext.layout.BorderLayout.SplitRegion, Ext.layout.BorderLayout.Region, {
|
|
891
|
+
/**
|
|
892
|
+
* @cfg {Number} tickSize
|
|
893
|
+
* The increment, in pixels by which to move this Region's {@link Ext.SplitBar SplitBar}.
|
|
894
|
+
* By default, the {@link Ext.SplitBar SplitBar} moves smoothly.
|
|
895
|
+
*/
|
|
896
|
+
/**
|
|
897
|
+
* @cfg {String} splitTip
|
|
898
|
+
* The tooltip to display when the user hovers over a
|
|
899
|
+
* {@link Ext.layout.BorderLayout.Region#collapsible non-collapsible} region's split bar
|
|
900
|
+
* (defaults to <tt>"Drag to resize."</tt>). Only applies if
|
|
901
|
+
* <tt>{@link #useSplitTips} = true</tt>.
|
|
902
|
+
*/
|
|
903
|
+
splitTip : "Drag to resize.",
|
|
904
|
+
/**
|
|
905
|
+
* @cfg {String} collapsibleSplitTip
|
|
906
|
+
* The tooltip to display when the user hovers over a
|
|
907
|
+
* {@link Ext.layout.BorderLayout.Region#collapsible collapsible} region's split bar
|
|
908
|
+
* (defaults to "Drag to resize. Double click to hide."). Only applies if
|
|
909
|
+
* <tt>{@link #useSplitTips} = true</tt>.
|
|
910
|
+
*/
|
|
911
|
+
collapsibleSplitTip : "Drag to resize. Double click to hide.",
|
|
912
|
+
/**
|
|
913
|
+
* @cfg {Boolean} useSplitTips
|
|
914
|
+
* <tt>true</tt> to display a tooltip when the user hovers over a region's split bar
|
|
915
|
+
* (defaults to <tt>false</tt>). The tooltip text will be the value of either
|
|
916
|
+
* <tt>{@link #splitTip}</tt> or <tt>{@link #collapsibleSplitTip}</tt> as appropriate.
|
|
917
|
+
*/
|
|
918
|
+
useSplitTips : false,
|
|
919
|
+
|
|
920
|
+
// private
|
|
921
|
+
splitSettings : {
|
|
922
|
+
north : {
|
|
923
|
+
orientation: Ext.SplitBar.VERTICAL,
|
|
924
|
+
placement: Ext.SplitBar.TOP,
|
|
925
|
+
maxFn : 'getVMaxSize',
|
|
926
|
+
minProp: 'minHeight',
|
|
927
|
+
maxProp: 'maxHeight'
|
|
928
|
+
},
|
|
929
|
+
south : {
|
|
930
|
+
orientation: Ext.SplitBar.VERTICAL,
|
|
931
|
+
placement: Ext.SplitBar.BOTTOM,
|
|
932
|
+
maxFn : 'getVMaxSize',
|
|
933
|
+
minProp: 'minHeight',
|
|
934
|
+
maxProp: 'maxHeight'
|
|
935
|
+
},
|
|
936
|
+
east : {
|
|
937
|
+
orientation: Ext.SplitBar.HORIZONTAL,
|
|
938
|
+
placement: Ext.SplitBar.RIGHT,
|
|
939
|
+
maxFn : 'getHMaxSize',
|
|
940
|
+
minProp: 'minWidth',
|
|
941
|
+
maxProp: 'maxWidth'
|
|
942
|
+
},
|
|
943
|
+
west : {
|
|
944
|
+
orientation: Ext.SplitBar.HORIZONTAL,
|
|
945
|
+
placement: Ext.SplitBar.LEFT,
|
|
946
|
+
maxFn : 'getHMaxSize',
|
|
947
|
+
minProp: 'minWidth',
|
|
948
|
+
maxProp: 'maxWidth'
|
|
949
|
+
}
|
|
950
|
+
},
|
|
951
|
+
|
|
952
|
+
// private
|
|
953
|
+
applyFns : {
|
|
954
|
+
west : function(box){
|
|
955
|
+
if(this.isCollapsed){
|
|
956
|
+
return this.applyLayoutCollapsed(box);
|
|
957
|
+
}
|
|
958
|
+
var sd = this.splitEl.dom, s = sd.style;
|
|
959
|
+
this.panel.setPosition(box.x, box.y);
|
|
960
|
+
var sw = sd.offsetWidth;
|
|
961
|
+
s.left = (box.x+box.width-sw)+'px';
|
|
962
|
+
s.top = (box.y)+'px';
|
|
963
|
+
s.height = Math.max(0, box.height)+'px';
|
|
964
|
+
this.panel.setSize(box.width-sw, box.height);
|
|
965
|
+
},
|
|
966
|
+
east : function(box){
|
|
967
|
+
if(this.isCollapsed){
|
|
968
|
+
return this.applyLayoutCollapsed(box);
|
|
969
|
+
}
|
|
970
|
+
var sd = this.splitEl.dom, s = sd.style;
|
|
971
|
+
var sw = sd.offsetWidth;
|
|
972
|
+
this.panel.setPosition(box.x+sw, box.y);
|
|
973
|
+
s.left = (box.x)+'px';
|
|
974
|
+
s.top = (box.y)+'px';
|
|
975
|
+
s.height = Math.max(0, box.height)+'px';
|
|
976
|
+
this.panel.setSize(box.width-sw, box.height);
|
|
977
|
+
},
|
|
978
|
+
north : function(box){
|
|
979
|
+
if(this.isCollapsed){
|
|
980
|
+
return this.applyLayoutCollapsed(box);
|
|
981
|
+
}
|
|
982
|
+
var sd = this.splitEl.dom, s = sd.style;
|
|
983
|
+
var sh = sd.offsetHeight;
|
|
984
|
+
this.panel.setPosition(box.x, box.y);
|
|
985
|
+
s.left = (box.x)+'px';
|
|
986
|
+
s.top = (box.y+box.height-sh)+'px';
|
|
987
|
+
s.width = Math.max(0, box.width)+'px';
|
|
988
|
+
this.panel.setSize(box.width, box.height-sh);
|
|
989
|
+
},
|
|
990
|
+
south : function(box){
|
|
991
|
+
if(this.isCollapsed){
|
|
992
|
+
return this.applyLayoutCollapsed(box);
|
|
993
|
+
}
|
|
994
|
+
var sd = this.splitEl.dom, s = sd.style;
|
|
995
|
+
var sh = sd.offsetHeight;
|
|
996
|
+
this.panel.setPosition(box.x, box.y+sh);
|
|
997
|
+
s.left = (box.x)+'px';
|
|
998
|
+
s.top = (box.y)+'px';
|
|
999
|
+
s.width = Math.max(0, box.width)+'px';
|
|
1000
|
+
this.panel.setSize(box.width, box.height-sh);
|
|
1001
|
+
}
|
|
1002
|
+
},
|
|
1003
|
+
|
|
1004
|
+
// private
|
|
1005
|
+
render : function(ct, p){
|
|
1006
|
+
Ext.layout.BorderLayout.SplitRegion.superclass.render.call(this, ct, p);
|
|
1007
|
+
|
|
1008
|
+
var ps = this.position;
|
|
1009
|
+
|
|
1010
|
+
this.splitEl = ct.createChild({
|
|
1011
|
+
cls: "x-layout-split x-layout-split-"+ps, html: " ",
|
|
1012
|
+
id: this.panel.id + '-xsplit'
|
|
1013
|
+
});
|
|
1014
|
+
|
|
1015
|
+
if(this.collapseMode == 'mini'){
|
|
1016
|
+
this.miniSplitEl = this.splitEl.createChild({
|
|
1017
|
+
cls: "x-layout-mini x-layout-mini-"+ps, html: " "
|
|
1018
|
+
});
|
|
1019
|
+
this.miniSplitEl.addClassOnOver('x-layout-mini-over');
|
|
1020
|
+
this.miniSplitEl.on('click', this.onCollapseClick, this, {stopEvent:true});
|
|
1021
|
+
}
|
|
1022
|
+
|
|
1023
|
+
var s = this.splitSettings[ps];
|
|
1024
|
+
|
|
1025
|
+
this.split = new Ext.SplitBar(this.splitEl.dom, p.el, s.orientation);
|
|
1026
|
+
this.split.tickSize = this.tickSize;
|
|
1027
|
+
this.split.placement = s.placement;
|
|
1028
|
+
this.split.getMaximumSize = this[s.maxFn].createDelegate(this);
|
|
1029
|
+
this.split.minSize = this.minSize || this[s.minProp];
|
|
1030
|
+
this.split.on("beforeapply", this.onSplitMove, this);
|
|
1031
|
+
this.split.useShim = this.useShim === true;
|
|
1032
|
+
this.maxSize = this.maxSize || this[s.maxProp];
|
|
1033
|
+
|
|
1034
|
+
if(p.hidden){
|
|
1035
|
+
this.splitEl.hide();
|
|
1036
|
+
}
|
|
1037
|
+
|
|
1038
|
+
if(this.useSplitTips){
|
|
1039
|
+
this.splitEl.dom.title = this.collapsible ? this.collapsibleSplitTip : this.splitTip;
|
|
1040
|
+
}
|
|
1041
|
+
if(this.collapsible){
|
|
1042
|
+
this.splitEl.on("dblclick", this.onCollapseClick, this);
|
|
1043
|
+
}
|
|
1044
|
+
},
|
|
1045
|
+
|
|
1046
|
+
//docs inherit from superclass
|
|
1047
|
+
getSize : function(){
|
|
1048
|
+
if(this.isCollapsed){
|
|
1049
|
+
return this.collapsedEl.getSize();
|
|
1050
|
+
}
|
|
1051
|
+
var s = this.panel.getSize();
|
|
1052
|
+
if(this.position == 'north' || this.position == 'south'){
|
|
1053
|
+
s.height += this.splitEl.dom.offsetHeight;
|
|
1054
|
+
}else{
|
|
1055
|
+
s.width += this.splitEl.dom.offsetWidth;
|
|
1056
|
+
}
|
|
1057
|
+
return s;
|
|
1058
|
+
},
|
|
1059
|
+
|
|
1060
|
+
// private
|
|
1061
|
+
getHMaxSize : function(){
|
|
1062
|
+
var cmax = this.maxSize || 10000;
|
|
1063
|
+
var center = this.layout.center;
|
|
1064
|
+
return Math.min(cmax, (this.el.getWidth()+center.el.getWidth())-center.getMinWidth());
|
|
1065
|
+
},
|
|
1066
|
+
|
|
1067
|
+
// private
|
|
1068
|
+
getVMaxSize : function(){
|
|
1069
|
+
var cmax = this.maxSize || 10000;
|
|
1070
|
+
var center = this.layout.center;
|
|
1071
|
+
return Math.min(cmax, (this.el.getHeight()+center.el.getHeight())-center.getMinHeight());
|
|
1072
|
+
},
|
|
1073
|
+
|
|
1074
|
+
// private
|
|
1075
|
+
onSplitMove : function(split, newSize){
|
|
1076
|
+
var s = this.panel.getSize();
|
|
1077
|
+
this.lastSplitSize = newSize;
|
|
1078
|
+
if(this.position == 'north' || this.position == 'south'){
|
|
1079
|
+
this.panel.setSize(s.width, newSize);
|
|
1080
|
+
this.state.height = newSize;
|
|
1081
|
+
}else{
|
|
1082
|
+
this.panel.setSize(newSize, s.height);
|
|
1083
|
+
this.state.width = newSize;
|
|
1084
|
+
}
|
|
1085
|
+
this.layout.layout();
|
|
1086
|
+
this.panel.saveState();
|
|
1087
|
+
return false;
|
|
1088
|
+
},
|
|
1089
|
+
|
|
1090
|
+
/**
|
|
1091
|
+
* Returns a reference to the split bar in use by this region.
|
|
1092
|
+
* @return {Ext.SplitBar} The split bar
|
|
1093
|
+
*/
|
|
1094
|
+
getSplitBar : function(){
|
|
1095
|
+
return this.split;
|
|
1096
|
+
},
|
|
1097
|
+
|
|
1098
|
+
// inherit docs
|
|
1099
|
+
destroy : function() {
|
|
1100
|
+
Ext.destroy(
|
|
1101
|
+
this.miniSplitEl,
|
|
1102
|
+
this.split,
|
|
1103
|
+
this.splitEl
|
|
1104
|
+
);
|
|
1105
|
+
}
|
|
1106
|
+
});
|
|
1107
|
+
|
|
1108
|
+
Ext.Container.LAYOUTS['border'] = Ext.layout.BorderLayout;
|