locomotive-aloha-rails 0.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/LICENSE +18 -0
- data/README.md +48 -0
- data/Rakefile +60 -0
- data/app/assets/javascripts/aloha/preinit.js.erb +1 -0
- data/app/assets/javascripts/aloha.js +2 -0
- data/lib/aloha/rails/engine.rb +9 -0
- data/lib/aloha/rails/sprockets_monkeypatch.rb +13 -0
- data/lib/aloha/rails/version.rb +7 -0
- data/lib/aloha/rails.rb +3 -0
- data/lib/aloha-rails.rb +1 -0
- data/vendor/assets/javascripts/aloha/css/aloha-core.css +44 -0
- data/vendor/assets/javascripts/aloha/css/aloha-sidebar.css +284 -0
- data/vendor/assets/javascripts/aloha/css/aloha.css +7774 -0
- data/vendor/assets/javascripts/aloha/css/ext-aloha-reset.css +33 -0
- data/vendor/assets/javascripts/aloha/css/ext-aloha.css +357 -0
- data/vendor/assets/javascripts/aloha/img/arrow-down.png +0 -0
- data/vendor/assets/javascripts/aloha/img/arrow-left.png +0 -0
- data/vendor/assets/javascripts/aloha/img/arrow.png +0 -0
- data/vendor/assets/javascripts/aloha/img/base-big.png +0 -0
- data/vendor/assets/javascripts/aloha/img/base-multi.png +0 -0
- data/vendor/assets/javascripts/aloha/img/base.png +0 -0
- data/vendor/assets/javascripts/aloha/img/bg.png +0 -0
- data/vendor/assets/javascripts/aloha/img/breadcrumb-divider.png +0 -0
- data/vendor/assets/javascripts/aloha/img/fade-in.png +0 -0
- data/vendor/assets/javascripts/aloha/img/fade-out.png +0 -0
- data/vendor/assets/javascripts/aloha/img/gentics-logo.png +0 -0
- data/vendor/assets/javascripts/aloha/img/grabhandle.png +0 -0
- data/vendor/assets/javascripts/aloha/img/maximize.png +0 -0
- data/vendor/assets/javascripts/aloha/img/multisplit-base.jpg +0 -0
- data/vendor/assets/javascripts/aloha/img/multisplit-close.gif +0 -0
- data/vendor/assets/javascripts/aloha/img/multisplit-open.gif +0 -0
- data/vendor/assets/javascripts/aloha/img/pin.png +0 -0
- data/vendor/assets/javascripts/aloha/img/removeformat.png +0 -0
- data/vendor/assets/javascripts/aloha/img/text_indent.png +0 -0
- data/vendor/assets/javascripts/aloha/img/text_indent_remove.png +0 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/command.js +246 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/console.js +330 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/contenthandlermanager.js +65 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/core.js +560 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/ecma5.js +194 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/ecma5shims.js +280 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/editable.js +854 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/engine.js +8306 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/ext-alohaproxy.js +86 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/ext-alohareader.js +50 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/ext-alohatreeloader.js +77 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/ext.js +32 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/floatingmenu.js +1304 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/ierange-m2.js +546 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/jquery.aloha.js +324 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/jquery.js +24 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/jquery.patch.js +115 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/markup.js +977 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/message.js +115 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/nls/de/i18n.js +10 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/nls/i18n.js +20 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/observable.js +106 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/plugin.js +276 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/pluginmanager.js +146 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/rangy-core.js +3242 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/registry.js +59 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/repository.js +241 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/repositorymanager.js +570 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/repositoryobjects.js +146 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/selection.js +2083 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/sidebar.js +1133 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/ui-attributefield.js +530 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/ui-browser.js +214 -0
- data/vendor/assets/javascripts/aloha/lib/aloha/ui.js +889 -0
- data/vendor/assets/javascripts/aloha/lib/aloha-bootstrap.js +27645 -0
- data/vendor/assets/javascripts/aloha/lib/aloha.js +88750 -0
- data/vendor/assets/javascripts/aloha/lib/css.js +313 -0
- data/vendor/assets/javascripts/aloha/lib/i18n.js +153 -0
- data/vendor/assets/javascripts/aloha/lib/jquery-plugin.js +46 -0
- data/vendor/assets/javascripts/aloha/lib/order.js +140 -0
- data/vendor/assets/javascripts/aloha/lib/require.js +2013 -0
- data/vendor/assets/javascripts/aloha/lib/text.js +262 -0
- data/vendor/assets/javascripts/aloha/lib/util/class.js +80 -0
- data/vendor/assets/javascripts/aloha/lib/util/dom.js +1673 -0
- data/vendor/assets/javascripts/aloha/lib/util/json2.js +481 -0
- data/vendor/assets/javascripts/aloha/lib/util/lang.js +66 -0
- data/vendor/assets/javascripts/aloha/lib/util/position.js +158 -0
- data/vendor/assets/javascripts/aloha/lib/util/range.js +923 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/adapter/jquery/ext-jquery-adapter-debug.js +2470 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/adapter/jquery/ext-jquery-adapter.js +7 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/ext-all-debug.js +47684 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/ext-all.js +13 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/gpl-3.0.txt +674 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/license.txt +42 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/charts.swf +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/css/ext-all.css +5903 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/css/ext-all.less +6795 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/css/xtheme-gray.css +1692 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/expressinstall.swf +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/box/corners-blue.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/box/corners.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/box/l-blue.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/box/l.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/box/r-blue.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/box/r.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/box/tb-blue.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/box/tb.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/button/arrow.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/button/btn.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/button/group-cs.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/button/group-lr.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/button/group-tb.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/button/s-arrow-b-noline.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/button/s-arrow-b.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/button/s-arrow-bo.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/button/s-arrow-noline.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/button/s-arrow-o.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/button/s-arrow.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/dd/drop-add.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/dd/drop-no.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/dd/drop-yes.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/editor/tb-sprite.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/checkbox.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/clear-trigger.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/clear-trigger.psd +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/date-trigger.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/date-trigger.psd +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/error-tip-corners.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/exclamation.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/radio.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/search-trigger.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/search-trigger.psd +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/text-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/trigger-square.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/trigger-square.psd +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/trigger-tpl.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/trigger.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/trigger.psd +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/gradient-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/arrow-left-white.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/arrow-right-white.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/col-move-bottom.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/col-move-top.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/columns.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/dirty.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/done.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/drop-no.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/drop-yes.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/footer-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/grid-blue-hd.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/grid-blue-split.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/grid-hrow.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/grid-loading.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/grid-split.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/grid-vista-hd.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/grid3-hd-btn.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/grid3-hrow-over.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/grid3-hrow.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/grid3-special-col-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/grid3-special-col-sel-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/group-by.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/group-collapse.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/group-expand-sprite.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/group-expand.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/hd-pop.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/hmenu-asc.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/hmenu-desc.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/hmenu-lock.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/hmenu-lock.png +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/hmenu-unlock.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/hmenu-unlock.png +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/invalid_line.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/loading.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/mso-hd.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/nowait.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/page-first-disabled.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/page-first.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/page-last-disabled.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/page-last.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/page-next-disabled.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/page-next.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/page-prev-disabled.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/page-prev.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/pick-button.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/refresh.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/row-check-sprite.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/row-expand-sprite.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/row-over.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/row-sel.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/sort-hd.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/sort_asc.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/sort_desc.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/wait.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/collapse.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/expand.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/gradient-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/mini-bottom.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/mini-left.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/mini-right.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/mini-top.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/ns-collapse.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/ns-expand.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/panel-close.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/panel-title-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/panel-title-light-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/stick.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/stuck.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/tab-close-on.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/tab-close.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/menu/checked.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/menu/group-checked.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/menu/item-over.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/menu/menu-parent.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/menu/menu.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/menu/unchecked.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/panel/corners-sprite.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/panel/left-right.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/panel/light-hd.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/panel/tool-sprite-tpl.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/panel/tool-sprites.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/panel/tools-sprites-trans.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/panel/top-bottom.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/panel/top-bottom.png +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/panel/white-corners-sprite.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/panel/white-left-right.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/panel/white-top-bottom.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/progress/progress-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/qtip/bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/qtip/close.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/qtip/tip-anchor-sprite.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/qtip/tip-sprite.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/s.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/shadow-c.png +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/shadow-lr.png +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/shadow.png +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/shared/blue-loading.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/shared/calendar.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/shared/glass-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/shared/hd-sprite.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/shared/large-loading.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/shared/left-btn.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/shared/loading-balls.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/shared/right-btn.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/shared/warning.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/sizer/e-handle-dark.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/sizer/e-handle.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/sizer/ne-handle-dark.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/sizer/ne-handle.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/sizer/nw-handle-dark.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/sizer/nw-handle.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/sizer/s-handle-dark.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/sizer/s-handle.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/sizer/se-handle-dark.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/sizer/se-handle.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/sizer/square.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/sizer/sw-handle-dark.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/sizer/sw-handle.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/slider/slider-bg.png +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/slider/slider-thumb.png +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/slider/slider-v-bg.png +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/slider/slider-v-thumb.png +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/scroll-left.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/scroll-right.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/scroller-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/tab-btm-inactive-left-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/tab-btm-inactive-right-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/tab-btm-left-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/tab-btm-over-left-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/tab-btm-over-right-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/tab-btm-right-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/tab-close.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/tab-strip-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/tab-strip-bg.png +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/tab-strip-btm-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/tabs-sprite.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/toolbar/bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/toolbar/btn-arrow-light.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/toolbar/btn-arrow.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/toolbar/btn-over-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/toolbar/gray-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/toolbar/more.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/toolbar/tb-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/toolbar/tb-btn-sprite.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/toolbar/tb-xl-btn-sprite.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/toolbar/tb-xl-sep.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/arrows.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/drop-add.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/drop-between.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/drop-no.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/drop-over.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/drop-under.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/drop-yes.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/elbow-end-minus-nl.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/elbow-end-minus.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/elbow-end-plus-nl.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/elbow-end-plus.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/elbow-end.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/elbow-line.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/elbow-minus-nl.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/elbow-minus.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/elbow-plus-nl.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/elbow-plus.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/elbow.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/folder-open.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/folder.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/leaf.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/loading.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/s.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/window/icon-error.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/window/icon-info.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/window/icon-question.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/window/icon-warning.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/window/left-corners.png +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/window/left-corners.psd +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/window/left-right.png +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/window/left-right.psd +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/window/right-corners.png +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/window/right-corners.psd +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/window/top-bottom.png +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/window/top-bottom.psd +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/button/btn-arrow.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/button/btn-sprite.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/button/btn.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/button/group-cs.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/button/group-lr.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/button/group-tb.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/button/s-arrow-bo.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/button/s-arrow-o.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/form/clear-trigger.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/form/date-trigger.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/form/search-trigger.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/form/trigger-square.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/form/trigger.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/gradient-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/col-move-bottom.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/col-move-top.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/grid3-hd-btn.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/grid3-hrow-over.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/grid3-hrow-over2.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/grid3-hrow.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/grid3-hrow2.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/grid3-special-col-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/grid3-special-col-bg2.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/grid3-special-col-sel-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/group-collapse.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/group-expand-sprite.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/group-expand.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/page-first.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/page-last.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/page-next.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/page-prev.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/refresh.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/row-expand-sprite.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/sort_asc.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/sort_desc.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/menu/group-checked.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/menu/item-over-disabled.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/menu/item-over.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/menu/menu-parent.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/panel/corners-sprite.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/panel/left-right.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/panel/light-hd.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/panel/tool-sprite-tpl.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/panel/tool-sprites.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/panel/tools-sprites-trans.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/panel/top-bottom.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/panel/top-bottom.png +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/panel/white-corners-sprite.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/panel/white-left-right.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/panel/white-top-bottom.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/progress/progress-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/qtip/bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/qtip/close.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/qtip/tip-anchor-sprite.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/qtip/tip-sprite.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/s.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/shared/hd-sprite.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/shared/left-btn.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/shared/right-btn.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/sizer/e-handle.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/sizer/ne-handle.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/sizer/nw-handle.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/sizer/s-handle.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/sizer/se-handle.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/sizer/square.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/sizer/sw-handle.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/slider/slider-thumb.png +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/slider/slider-v-thumb.png +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/scroll-left.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/scroll-right.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/scroller-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/tab-btm-inactive-left-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/tab-btm-inactive-right-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/tab-btm-left-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/tab-btm-over-left-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/tab-btm-over-right-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/tab-btm-right-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/tab-close.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/tab-strip-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/tab-strip-bg.png +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/tab-strip-btm-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/tabs-sprite.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/toolbar/bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/toolbar/btn-arrow-light.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/toolbar/btn-arrow.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/toolbar/btn-over-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/toolbar/gray-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/toolbar/more.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/toolbar/tb-bg.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/toolbar/tb-btn-sprite.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tree/arrows.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tree/elbow-end-minus-nl.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tree/elbow-end-minus.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tree/elbow-end-plus-nl.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tree/elbow-end-plus.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/window/icon-error.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/window/icon-info.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/window/icon-question.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/window/icon-warning.gif +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/window/left-corners.png +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/window/left-corners.pspimage +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/window/left-right.png +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/window/right-corners.png +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/window/top-bottom.png +0 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/resources.jsb +507 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/jquery-1.6.1.js +8936 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/jquery.json-2.2.min.js +33 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/jquery.store.js +446 -0
- data/vendor/assets/javascripts/aloha/lib/vendor/sanitize.js +267 -0
- data/vendor/assets/javascripts/aloha/plugins/common/abbr/css/abbr.css +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/abbr/lib/abbr-plugin.js +293 -0
- data/vendor/assets/javascripts/aloha/plugins/common/abbr/nls/de/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/abbr/nls/i18n.js +4 -0
- data/vendor/assets/javascripts/aloha/plugins/common/abbr/package.json +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/align/LICENSE +166 -0
- data/vendor/assets/javascripts/aloha/plugins/common/align/README +12 -0
- data/vendor/assets/javascripts/aloha/plugins/common/align/css/align.css +19 -0
- data/vendor/assets/javascripts/aloha/plugins/common/align/img/align.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/align/lib/align-plugin.js +345 -0
- data/vendor/assets/javascripts/aloha/plugins/common/align/nls/en/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/align/nls/fr/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/align/nls/i18n.js +6 -0
- data/vendor/assets/javascripts/aloha/plugins/common/align/package.json +2 -0
- data/vendor/assets/javascripts/aloha/plugins/common/block/README +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/block/css/block.css +51 -0
- data/vendor/assets/javascripts/aloha/plugins/common/block/img/toolbar-draghandle.gif +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/block/lib/block-plugin.js +104 -0
- data/vendor/assets/javascripts/aloha/plugins/common/block/lib/block.js +442 -0
- data/vendor/assets/javascripts/aloha/plugins/common/block/lib/blockcontenthandler.js +58 -0
- data/vendor/assets/javascripts/aloha/plugins/common/block/lib/blockmanager.js +242 -0
- data/vendor/assets/javascripts/aloha/plugins/common/block/lib/editor.js +209 -0
- data/vendor/assets/javascripts/aloha/plugins/common/block/lib/editormanager.js +34 -0
- data/vendor/assets/javascripts/aloha/plugins/common/block/lib/sidebarattributeeditor.js +119 -0
- data/vendor/assets/javascripts/aloha/plugins/common/block/package.json +11 -0
- data/vendor/assets/javascripts/aloha/plugins/common/characterpicker/css/characterpicker.css +38 -0
- data/vendor/assets/javascripts/aloha/plugins/common/characterpicker/img/icon.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/characterpicker/lib/characterpicker-plugin.js +227 -0
- data/vendor/assets/javascripts/aloha/plugins/common/characterpicker/nls/de/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/characterpicker/nls/i18n.js +4 -0
- data/vendor/assets/javascripts/aloha/plugins/common/commands/css/abbr.css +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/commands/lib/commands-plugin.js +15 -0
- data/vendor/assets/javascripts/aloha/plugins/common/commands/lib/inserthtml.js +107 -0
- data/vendor/assets/javascripts/aloha/plugins/common/commands/package.json +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/contenthandler/README.md +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/contenthandler/lib/contenthandler-plugin.js +54 -0
- data/vendor/assets/javascripts/aloha/plugins/common/contenthandler/lib/genericcontenthandler.js +255 -0
- data/vendor/assets/javascripts/aloha/plugins/common/contenthandler/lib/oembedcontenthandler.js +276 -0
- data/vendor/assets/javascripts/aloha/plugins/common/contenthandler/lib/sanitizecontenthandler.js +136 -0
- data/vendor/assets/javascripts/aloha/plugins/common/contenthandler/lib/wordcontenthandler.js +279 -0
- data/vendor/assets/javascripts/aloha/plugins/common/contenthandler/package.json +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/format/css/format.css +8 -0
- data/vendor/assets/javascripts/aloha/plugins/common/format/img/em.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/format/img/strong.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/format/lib/format-plugin.js +303 -0
- data/vendor/assets/javascripts/aloha/plugins/common/format/nls/de/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/format/nls/eo/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/format/nls/fi/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/format/nls/fr/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/format/nls/i18n.js +10 -0
- data/vendor/assets/javascripts/aloha/plugins/common/format/nls/it/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/format/nls/pl/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/format/nls/ru/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/highlighteditables/css/highlighteditables.css +14 -0
- data/vendor/assets/javascripts/aloha/plugins/common/highlighteditables/lib/highlighteditables-plugin.js +72 -0
- data/vendor/assets/javascripts/aloha/plugins/common/highlighteditables/package.json +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/horizontalruler/css/horizontalruler.css +4 -0
- data/vendor/assets/javascripts/aloha/plugins/common/horizontalruler/img/icon.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/horizontalruler/lib/horizontalruler-plugin.js +55 -0
- data/vendor/assets/javascripts/aloha/plugins/common/horizontalruler/nls/de/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/horizontalruler/nls/i18n.js +4 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/AGPL3 +661 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/LICENSE +25 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/README.md +83 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/css/image.css +124 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/demo/crop.html +76 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/demo/crop.php +21 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/demo/cropnresize.jpg +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/demo/index.html +120 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/img/blank.jpg +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/img/cropnresize.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/img/handle-sw.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/img/image-align-left.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/img/image-align-none.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/img/image-align-right.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/img/image-border.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/img/image-title.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/img/image.gif +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/img/padding-decrease.gif +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/img/padding-increase.gif +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/img/page.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/img/size-decrease.gif +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/img/size-increase.gif +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/lib/image-plugin.js +1615 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/nls/cz/i18n.js +16 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/nls/de/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/nls/fr/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/nls/i18n.js +7 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/nls/ru/i18n.js +16 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/package.json +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/test/test.css +12 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/test/test.html +40 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/jcrop/jcrop.gif +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/jcrop/jquery.jcrop.css +35 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/jcrop/jquery.jcrop.min.js +163 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/mousewheel/mousewheel.js +60 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/jquery-ui-1.8.10.custom.min.js +97 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-bg_flat_10_000000_40x100.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-icons_222222_256x240.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-icons_228ef1_256x240.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-icons_ef8c08_256x240.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-icons_ffd27a_256x240.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-icons_ffffff_256x240.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/jquery-ui-1.8.10.cropnresize.css +33 -0
- data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/jquery-ui-1.8.10.custom.css +314 -0
- data/vendor/assets/javascripts/aloha/plugins/common/link/css/link.css +55 -0
- data/vendor/assets/javascripts/aloha/plugins/common/link/demo/background.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/link/demo/external-link-ltr-icon.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/link/demo/index.css +91 -0
- data/vendor/assets/javascripts/aloha/plugins/common/link/demo/index.html +91 -0
- data/vendor/assets/javascripts/aloha/plugins/common/link/extra/delicious.js +246 -0
- data/vendor/assets/javascripts/aloha/plugins/common/link/extra/linklist.js +227 -0
- data/vendor/assets/javascripts/aloha/plugins/common/link/extra/slowlinklist.js +228 -0
- data/vendor/assets/javascripts/aloha/plugins/common/link/lib/link-plugin.js +759 -0
- data/vendor/assets/javascripts/aloha/plugins/common/link/nls/de/i18n.js +13 -0
- data/vendor/assets/javascripts/aloha/plugins/common/link/nls/fr/i18n.js +6 -0
- data/vendor/assets/javascripts/aloha/plugins/common/link/nls/i18n.js +9 -0
- data/vendor/assets/javascripts/aloha/plugins/common/link/nls/pl/i18n.js +6 -0
- data/vendor/assets/javascripts/aloha/plugins/common/link/nls/ru/i18n.js +6 -0
- data/vendor/assets/javascripts/aloha/plugins/common/list/lib/list-plugin.js +849 -0
- data/vendor/assets/javascripts/aloha/plugins/common/list/nls/de/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/list/nls/eo/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/list/nls/fi/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/list/nls/fr/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/list/nls/i18n.js +9 -0
- data/vendor/assets/javascripts/aloha/plugins/common/list/nls/it/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/list/nls/ru/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/list/package.json +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/paste/README.md +3 -0
- data/vendor/assets/javascripts/aloha/plugins/common/paste/lib/paste-plugin.js +221 -0
- data/vendor/assets/javascripts/aloha/plugins/common/paste/package.json +8 -0
- data/vendor/assets/javascripts/aloha/plugins/common/table/css/table.css +160 -0
- data/vendor/assets/javascripts/aloha/plugins/common/table/img/down.cur +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/table/img/left.cur +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/table/img/table_layout.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/table/img/wai-green.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/table/img/wai-red.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/common/table/lib/table-cell.js +463 -0
- data/vendor/assets/javascripts/aloha/plugins/common/table/lib/table-create-layer.js +210 -0
- data/vendor/assets/javascripts/aloha/plugins/common/table/lib/table-plugin-utils.js +355 -0
- data/vendor/assets/javascripts/aloha/plugins/common/table/lib/table-plugin.js +1498 -0
- data/vendor/assets/javascripts/aloha/plugins/common/table/lib/table-selection.js +374 -0
- data/vendor/assets/javascripts/aloha/plugins/common/table/lib/table.js +1529 -0
- data/vendor/assets/javascripts/aloha/plugins/common/table/nls/de/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/table/nls/eo/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/table/nls/fi/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/table/nls/fr/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/table/nls/i18n.js +11 -0
- data/vendor/assets/javascripts/aloha/plugins/common/table/nls/it/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/table/nls/pl/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/table/nls/ru/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/table/package.json +1 -0
- data/vendor/assets/javascripts/aloha/plugins/common/undo/demo/index.css +49 -0
- data/vendor/assets/javascripts/aloha/plugins/common/undo/demo/index.html +85 -0
- data/vendor/assets/javascripts/aloha/plugins/common/undo/lib/undo-plugin.js +134 -0
- data/vendor/assets/javascripts/aloha/plugins/common/undo/package.json +7 -0
- data/vendor/assets/javascripts/aloha/plugins/common/undo/vendor/diff_match_patch_uncompressed.js +2155 -0
- data/vendor/assets/javascripts/aloha/plugins/common/undo/vendor/undo.js +119 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/attributes/README +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/attributes/css/attributes.css +12 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/attributes/lib/attributes-plugin.js +217 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/attributes/nls/de/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/attributes/nls/en/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/attributes/nls/i18n.js +5 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/README +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/browser.css +360 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/browser.jqgrid.css +374 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/browsercombined.css +752 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/images/ui-icons_222222_256x240.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/images/ui-icons_2e83ff_256x240.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/images/ui-icons_454545_256x240.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/images/ui-icons_888888_256x240.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/jquery-ui-1.8.13.custom.css +319 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/jstree.css +88 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/throbber.gif +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/ui.jqgrid.css +148 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/arrow-000-medium.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/arrow-180.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/arrow-315-medium.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/arrow-stop-180.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/arrow-stop.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/arrow.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/control-stop-square-small.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/folder-horizontal-open.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/folder-open.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/gcn-icons/gcn-icon-file.gif +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/gcn-icons/gcn-icon-image.gif +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/gcn-icons/gcn-icon-page.gif +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/magnifier-left.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/page.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/picture.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/sort-alphabet-descending.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/sort-alphabet.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/throbber.gif +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/lib/browser-plugin.js +10 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/lib/browser.js +1103 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/lib/locale.js +26 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/nls/de/i18n.js +18 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/nls/de.json +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/nls/en/i18n.js +18 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/nls/en.json +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/nls/i18n.js +4 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/vendor/grid.locale.de.js +134 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/vendor/grid.locale.en.js +129 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/vendor/jquery.jqGrid.js +467 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/vendor/jquery.jstree.js +4544 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/vendor/jquery.ui.js +756 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/browser/vendor/ui-layout.js +108 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/cite/README +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/cite/css/cite.css +49 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/cite/img/blockquote.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/cite/img/icon_cite.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/cite/lib/cite-plugin.js +539 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/cite/nls/de/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/cite/nls/en/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/cite/nls/i18n.js +4 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/cite/package.json +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/comments/img/add-icon.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/comments/img/add.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/comments/img/comments.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/comments/img/hr.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/comments/img/textbox.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/comments/package.json +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/comments/src/comments.css +442 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/comments/src/comments.js +669 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/AGPL3 +661 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/LICENSE +25 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/README.md +5 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/TODO.md +2 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/demo/index.css +47 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/demo/index.html +101 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/demo/migration/index.css +189 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/demo/migration/index.html +321 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/demo/specs/DragnDropnImage.graphml +677 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/demo/style.css +47 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/demo/upload.php +26 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/i18n/en.json +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/i18n/fr.json +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/img/cross.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/img/hourglass.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/img/loading.gif +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/img/page.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/img/tick.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/lib/draganddropfiles-plugin.js +4 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/lib/dragndropfiles.css +110 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/lib/dragndropfiles.js +349 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/lib/dropfilesrepository.js +365 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/package.json +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/formatlesspaste/README.md +3 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/formatlesspaste/css/formatless.css +7 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/formatlesspaste/img/button.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/formatlesspaste/lib/formatlesshandler.js +67 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/formatlesspaste/lib/formatlesspaste-plugin.js +103 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/formatlesspaste/nls/de/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/formatlesspaste/nls/i18n.js +7 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/formatlesspaste/package.json +8 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/headerids/README +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/headerids/css/headerids.css +8 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/headerids/lib/headerids-plugin.js +127 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/headerids/nls/de/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/headerids/nls/en/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/headerids/nls/i18n.js +5 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/hints/dep/jquery.poshytip.js +470 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/hints/i18n/de.json +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/hints/i18n/en.json +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/hints/img/tip-twitter_arrows.gif +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/hints/package.json +9 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/hints/src/hints.css +61 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/hints/src/hints.js +49 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/README +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ad.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ae.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/af.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ag.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ai.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/al.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/am.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/an.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ao.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ar.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/as.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/at.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/au.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/aw.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ax.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/az.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ba.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bb.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bd.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/be.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bf.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bg.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bh.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bi.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bj.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bm.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bn.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bo.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/br.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bs.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bt.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bv.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bw.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/by.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bz.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ca.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/catalonia.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cc.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cd.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cf.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cg.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ch.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ci.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ck.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cl.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cm.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cn.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/co.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cr.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cs.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cu.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cv.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cx.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cy.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cz.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/de.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/dj.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/dk.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/dm.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/do.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/dz.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ec.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ee.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/eg.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/eh.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/en.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/er.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/es.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/et.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/europeanunion.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/fam.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/fi.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/fj.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/fk.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/fm.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/fo.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/fr.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ga.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gb.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gd.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ge.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gf.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gh.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gi.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gl.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gm.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gn.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gp.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gq.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gr.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gs.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gt.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gu.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gw.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gy.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/hk.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/hm.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/hn.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/hr.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ht.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/hu.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/id.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ie.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/il.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/in.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/io.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/iq.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ir.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/is.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/it.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/jm.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/jo.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/jp.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ke.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/kg.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/kh.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ki.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/km.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/kn.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/kp.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/kr.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/kw.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ky.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/kz.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/la.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/lb.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/lc.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/li.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/lk.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/lr.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ls.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/lt.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/lu.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/lv.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ly.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ma.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mc.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/md.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/me.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mg.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mh.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mk.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ml.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mm.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mn.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mo.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mp.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mq.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mr.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ms.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mt.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mu.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mv.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mw.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mx.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/my.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mz.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/na.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/nc.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ne.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/nf.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ng.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ni.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/nl.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/no.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/np.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/nr.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/nu.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/nz.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/om.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/pa.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/pe.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/pf.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/pg.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ph.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/pk.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/pl.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/pm.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/pn.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/pr.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ps.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/pt.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/pw.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/py.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/qa.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/re.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ro.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/rs.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ru.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/rw.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sa.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sb.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sc.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/scotland.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sd.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/se.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sg.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sh.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/si.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sj.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sk.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sl.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sm.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sn.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/so.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sr.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/st.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sv.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sy.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sz.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/tc.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/td.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/tf.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/tg.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/th.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/tj.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/tk.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/tl.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/tm.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/tn.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/to.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/tr.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/tt.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/tv.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/tw.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/tz.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ua.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ug.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/um.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/us.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/uy.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/uz.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/va.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/vc.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ve.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/vg.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/vi.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/vn.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/vu.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/wales.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/wf.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ws.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ye.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/yt.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/za.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/zm.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/zw.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/lib/linkbrowser-plugin.js +153 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/nls/de/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/nls/fr/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/nls/i18n.js +7 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/nls/pl/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/nls/ru/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkchecker/demo/index.css +49 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkchecker/demo/index.html +82 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkchecker/i18n/en.json +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkchecker/package.json +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkchecker/proxy.php +244 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkchecker/src/linkchecker.css +14 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/linkchecker/src/linkchecker.js +256 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/listenforcer/lib/listenforcer-plugin.js +165 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/README +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/css/metaview.css +86 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/anchor.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/blockquote.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/button.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/caption.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/cite.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/dd.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/div.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/dl.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/dt.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/h1.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/h2.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/h3.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/h4.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/h5.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/h6.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/icon_cite.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/p.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/pre.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/table.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/td.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/th.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/lib/metaview-plugin.js +82 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/nls/de/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/nls/de.json +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/nls/en/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/nls/en.json +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/metaview/nls/i18n.js +5 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/numerated-headers/README +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/numerated-headers/css/numerated-headers.css +7 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/numerated-headers/demo/index.css +189 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/numerated-headers/demo/index.html +139 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/numerated-headers/demo/js/aloha-config.js +115 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/numerated-headers/img/headers.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/numerated-headers/lib/numerated-headers-plugin.js +233 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/numerated-headers/nls/de/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/numerated-headers/nls/en/i18n.js +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/numerated-headers/nls/i18n.js +5 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/profiler/css/profiler.css +34 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/profiler/lib/profiler-plugin.js +285 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/ribbon/LICENSE.md +662 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/ribbon/README.md +8 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/ribbon/css/ribbon.css +10 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/ribbon/lib/ribbon-plugin.js +186 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/ribbon/package.json +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/toc/i18n/de.json +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/toc/i18n/en.json +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/toc/package.json +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/toc/src/toc.js +350 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/vie/LICENSE +22 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/vie/README.markdown +65 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/vie/demo/index.html +93 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/vie/img/cms-decoupled-communications.png +0 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/vie/package.json +1 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/vie/src/backbone-min.js +27 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/vie/src/underscore-min.js +25 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/vie/src/vie-aloha.js +74 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/vie/src/vie-collectionmanager.js +70 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/vie/src/vie-containermanager.js +263 -0
- data/vendor/assets/javascripts/aloha/plugins/extra/vie/src/vie.js +20 -0
- metadata +1105 -0
@@ -0,0 +1,374 @@
|
|
1
|
+
define(
|
2
|
+
['aloha', 'aloha/jquery', 'table/table-plugin-utils', 'table/table-cell', 'i18n!table/nls/i18n'],
|
3
|
+
function (Aloha, $, Utils, TableCell, i18n) {
|
4
|
+
/**
|
5
|
+
* The TableSelection object is a helper-object
|
6
|
+
*/
|
7
|
+
var TableSelection = function (table) {
|
8
|
+
this.table = table;
|
9
|
+
};
|
10
|
+
|
11
|
+
/**
|
12
|
+
* Gives the type of the cell-selection
|
13
|
+
* possible values are "row" or "col"
|
14
|
+
* also possible value is 'cell', which defines custom cell selections
|
15
|
+
*/
|
16
|
+
TableSelection.prototype.selectionType = undefined;
|
17
|
+
|
18
|
+
/**
|
19
|
+
* Holds all currently selected table cells as an array of DOM "td" representations
|
20
|
+
*/
|
21
|
+
TableSelection.prototype.selectedCells = new Array();
|
22
|
+
|
23
|
+
/**
|
24
|
+
* Holds all table columnIdx if selectiontype is column
|
25
|
+
*/
|
26
|
+
TableSelection.prototype.selectedColumnIdxs = new Array();
|
27
|
+
|
28
|
+
/**
|
29
|
+
* Holds all table rowIds if selectiontype is column
|
30
|
+
*/
|
31
|
+
TableSelection.prototype.selectedRowIdxs = new Array();
|
32
|
+
|
33
|
+
/**
|
34
|
+
* Holds the active/disabled state of cell selection mode
|
35
|
+
*/
|
36
|
+
TableSelection.prototype.cellSelectionMode = false;
|
37
|
+
|
38
|
+
/**
|
39
|
+
* Gives the position of the base cell of a selection - [row, column]
|
40
|
+
*/
|
41
|
+
TableSelection.prototype.baseCellPosition = null;
|
42
|
+
|
43
|
+
/**
|
44
|
+
* Gives the range of last cell selection - [row, column]
|
45
|
+
*/
|
46
|
+
TableSelection.prototype.lastSelectionRange = null;
|
47
|
+
|
48
|
+
/**
|
49
|
+
* Marks all cells of the specified column or columns as selected
|
50
|
+
*
|
51
|
+
* @return void
|
52
|
+
*/
|
53
|
+
TableSelection.prototype.selectColumns = function ( columnsToSelect ) {
|
54
|
+
this.unselectCells();
|
55
|
+
|
56
|
+
var rows = this.table.getRows();
|
57
|
+
// first row is the selection row (dump it, it's not needed)
|
58
|
+
rows.shift();
|
59
|
+
|
60
|
+
var grid = Utils.makeGrid(rows);
|
61
|
+
for (var j = 0; j < columnsToSelect.length; j++) {
|
62
|
+
// check if this column is already selected.
|
63
|
+
if ( -1 !== $.inArray(columnsToSelect[j], this.selectedColumnIdxs) ) {
|
64
|
+
continue;
|
65
|
+
}
|
66
|
+
this.selectedColumnIdxs.push( columnsToSelect[j] );
|
67
|
+
for (var i = 0; i < grid.length; i++) {
|
68
|
+
var cellInfo = grid[i][columnsToSelect[j]];
|
69
|
+
if ( Utils.containsDomCell(cellInfo) ) {
|
70
|
+
$(cellInfo.cell).addClass(this.table.get('classCellSelected'));
|
71
|
+
this.selectedCells.push( cellInfo.cell );
|
72
|
+
}
|
73
|
+
}
|
74
|
+
}
|
75
|
+
|
76
|
+
this.selectionType = 'column';
|
77
|
+
};
|
78
|
+
|
79
|
+
/**
|
80
|
+
* Marks all cells of the specified row or rows as selected
|
81
|
+
*
|
82
|
+
* @return void
|
83
|
+
*/
|
84
|
+
TableSelection.prototype.selectRows = function ( rowsToSelect ) {
|
85
|
+
this.unselectCells();
|
86
|
+
|
87
|
+
var rows = this.table.getRows();
|
88
|
+
|
89
|
+
rowsToSelect.sort( function ( a, b ) { return a - b; } );
|
90
|
+
|
91
|
+
for (var i = 0; i < rowsToSelect.length; i++) {
|
92
|
+
if ( rows[ rowsToSelect[i] ] ) {
|
93
|
+
// check if this row is already selected.
|
94
|
+
for ( var z = 0; z < this.selectedRowIdxs.length; z++ ) {
|
95
|
+
if ( rowsToSelect[i] == this.selectedRowIdxs[z] ) {
|
96
|
+
return;
|
97
|
+
}
|
98
|
+
}
|
99
|
+
this.selectedRowIdxs.push( rowsToSelect[i] );
|
100
|
+
// to not select first cell, which is a control cell
|
101
|
+
for ( var j = 1; j < rows[ rowsToSelect[i] ].cells.length; j++ ) {
|
102
|
+
this.selectedCells.push( rows[ rowsToSelect[i] ].cells[j] );
|
103
|
+
// TODO make proper cell selection method
|
104
|
+
$( rows[ rowsToSelect[i] ].cells[j] ).addClass( this.table.get('classCellSelected') );
|
105
|
+
}
|
106
|
+
}
|
107
|
+
}
|
108
|
+
|
109
|
+
this.selectionType = 'row';
|
110
|
+
};
|
111
|
+
|
112
|
+
TableSelection.prototype.selectAll = function () {
|
113
|
+
var rowIndices = $.map( this.table.getRows(), function ( item, i ) {
|
114
|
+
return i;
|
115
|
+
});
|
116
|
+
|
117
|
+
//getRows() returns all rows, even the header row which we must not select
|
118
|
+
rowIndices.shift();
|
119
|
+
|
120
|
+
this.selectRows( rowIndices );
|
121
|
+
};
|
122
|
+
|
123
|
+
/**
|
124
|
+
* To be called when cells of the table were selected
|
125
|
+
* @see selectRows, selectColumns, selectCellRange
|
126
|
+
* TODO this should be private
|
127
|
+
*/
|
128
|
+
TableSelection.prototype.notifyCellsSelected = function () {
|
129
|
+
Aloha.trigger( 'aloha-table-selection-changed' );
|
130
|
+
|
131
|
+
// the UI feels more consisten when we remove the non-table
|
132
|
+
// selection when cells are selected
|
133
|
+
// TODO this code doesn't work right in IE as it causes the table
|
134
|
+
// scope of the floating menu to be lost. Maybe this can be
|
135
|
+
// handled by testing for an empty selection in the
|
136
|
+
// aloha-selection-changed event.
|
137
|
+
//Aloha.getSelection().removeAllRanges();
|
138
|
+
};
|
139
|
+
|
140
|
+
/**
|
141
|
+
* To be called when a cell-selection is entirely removed
|
142
|
+
* @see unselectCells
|
143
|
+
*/
|
144
|
+
TableSelection.prototype._notifyCellsUnselected = function () {
|
145
|
+
Aloha.trigger( 'aloha-table-selection-changed' );
|
146
|
+
};
|
147
|
+
|
148
|
+
/**
|
149
|
+
* This method return true if all sellected cells are TH cells.
|
150
|
+
*
|
151
|
+
* @return boolean
|
152
|
+
*/
|
153
|
+
TableSelection.prototype.isHeader = function ( ) {
|
154
|
+
|
155
|
+
if ( this.selectedCells.length == 0 ) {
|
156
|
+
return false;
|
157
|
+
}
|
158
|
+
|
159
|
+
// take 1 column to detect if the header button is pressd
|
160
|
+
for (var i = 0; i < this.selectedCells.length; i++) {
|
161
|
+
if ( !this.selectedCells[i] || this.selectedCells[i].nodeName.toLowerCase() != 'th' ) {
|
162
|
+
return false;
|
163
|
+
}
|
164
|
+
}
|
165
|
+
return true;
|
166
|
+
}
|
167
|
+
|
168
|
+
/**
|
169
|
+
* This method removes the "selected" class from all selected cells
|
170
|
+
*
|
171
|
+
* @return void
|
172
|
+
*/
|
173
|
+
TableSelection.prototype.unselectCells = function(){
|
174
|
+
var rows;
|
175
|
+
|
176
|
+
//don't unselect cells if cellSelectionMode is active
|
177
|
+
if ( this.cellSelectionMode ) {
|
178
|
+
return;
|
179
|
+
}
|
180
|
+
|
181
|
+
if (this.selectedCells.length > 0) {
|
182
|
+
|
183
|
+
rows = this.table.getRows();
|
184
|
+
|
185
|
+
for (var i = 0; i < rows.length; i++) {
|
186
|
+
for ( var j = 1; j < rows[i].cells.length; j++ ) {
|
187
|
+
// TODO make proper cell selection method
|
188
|
+
$( rows[i].cells[j] ).removeClass( this.table.get('classCellSelected') );
|
189
|
+
}
|
190
|
+
}
|
191
|
+
|
192
|
+
this.selectedCells = new Array();
|
193
|
+
this.selectedColumnIdxs = new Array();
|
194
|
+
this.selectedRowIdxs = new Array();
|
195
|
+
|
196
|
+
//we keep 'cell' as the default selection type instead of
|
197
|
+
//unsetting the selectionType to avoid an edge-case where a
|
198
|
+
//click into a cell doesn't trigger a call to
|
199
|
+
//TableCell.editableFocs (which would set the 'cell'
|
200
|
+
//selection type) which would result in the FloatingMenu
|
201
|
+
//losing the table scope.
|
202
|
+
this.selectionType = 'cell';
|
203
|
+
|
204
|
+
this._notifyCellsUnselected();
|
205
|
+
}
|
206
|
+
};
|
207
|
+
|
208
|
+
/**
|
209
|
+
* Returns the index of a given cell, in selectedCells
|
210
|
+
* returns -1 if the given cell is not in selectedCells
|
211
|
+
* @params cell
|
212
|
+
* DOMElement
|
213
|
+
*
|
214
|
+
* @return integer
|
215
|
+
*/
|
216
|
+
TableSelection.prototype.selectionIndex = function(cell){
|
217
|
+
for(var i = 0; i < this.selectedCells.length; i++){
|
218
|
+
if(this.selectedCells[i] === cell){
|
219
|
+
return i;
|
220
|
+
}
|
221
|
+
}
|
222
|
+
return -1;
|
223
|
+
};
|
224
|
+
|
225
|
+
|
226
|
+
/**
|
227
|
+
* Given a contour creates a object representing a rectangle.
|
228
|
+
* This function only gives a useful return value if the given
|
229
|
+
* contour rectangular.
|
230
|
+
*
|
231
|
+
* @param {object} contour
|
232
|
+
* a rectangular contour
|
233
|
+
* @return {object}
|
234
|
+
* an object with the properties top, right, bottom, left,
|
235
|
+
* representing the rectangular contour.
|
236
|
+
*/
|
237
|
+
function getRectFromContour( contour ) {
|
238
|
+
return {
|
239
|
+
'top' : contour.top[0],
|
240
|
+
'right' : contour.right[0] + 1,
|
241
|
+
'bottom': contour.bottom[0] + 1,
|
242
|
+
'left' : contour.left[0]
|
243
|
+
};
|
244
|
+
}
|
245
|
+
|
246
|
+
/**
|
247
|
+
* Given a grid and contour, determines whether the contour is
|
248
|
+
* rectangular, and each cell in the rectangle is selected.
|
249
|
+
*
|
250
|
+
* @param {array} grid
|
251
|
+
* a two-dimensional array representing a grid see Utils.makeGrid
|
252
|
+
* @param {object} contour
|
253
|
+
* an object reprensenting a contour see Utils.makeContour
|
254
|
+
* @param {function} isSelected
|
255
|
+
* a function that determines whether a cell in the given grid
|
256
|
+
* is selected for merging.
|
257
|
+
* @return {boolean}
|
258
|
+
* true if all cells inside the contour are selected and can
|
259
|
+
* be merged.
|
260
|
+
*/
|
261
|
+
function isMergeable(grid, contour, isSelected) {
|
262
|
+
var mergeable = true;
|
263
|
+
if ( -1 !== Utils.indexOfAnyBut( contour.top , contour.top[0] )
|
264
|
+
|| -1 !== Utils.indexOfAnyBut( contour.right , contour.right[0] )
|
265
|
+
|| -1 !== Utils.indexOfAnyBut( contour.bottom, contour.bottom[0] )
|
266
|
+
|| -1 !== Utils.indexOfAnyBut( contour.left , contour.left[0] ) ) {
|
267
|
+
// the outside of the selected area is jagged (not a rectangle)
|
268
|
+
mergeable = false;
|
269
|
+
} else {
|
270
|
+
// the outside of the selected area is a rectangle, but we
|
271
|
+
// must also ensore that there are no holes in the selection
|
272
|
+
var rect = getRectFromContour( contour )
|
273
|
+
Utils.walkGridInsideRect( grid, rect, function ( cellInfo ) {
|
274
|
+
if ( ! isSelected( cellInfo ) ) {
|
275
|
+
mergeable = false;
|
276
|
+
return false;
|
277
|
+
}
|
278
|
+
});
|
279
|
+
}
|
280
|
+
return mergeable;
|
281
|
+
}
|
282
|
+
|
283
|
+
/**
|
284
|
+
* This method merges all selected cells
|
285
|
+
*
|
286
|
+
* @return void
|
287
|
+
*/
|
288
|
+
TableSelection.prototype.mergeCells = function(){
|
289
|
+
|
290
|
+
var selectedCells = this.selectedCells;
|
291
|
+
if ( 0 === selectedCells.length ) {
|
292
|
+
return;
|
293
|
+
}
|
294
|
+
|
295
|
+
var isSelected = function ( cellInfo ) {
|
296
|
+
return -1 != $.inArray( cellInfo.cell, selectedCells );
|
297
|
+
};
|
298
|
+
|
299
|
+
var grid = Utils.makeGrid( this.table.getRows() );
|
300
|
+
var contour = Utils.makeContour( grid, isSelected );
|
301
|
+
|
302
|
+
if ( ! isMergeable( grid, contour, isSelected ) ) {
|
303
|
+
Aloha.showMessage(new Aloha.Message({
|
304
|
+
title : i18n.t('Table'),
|
305
|
+
text : i18n.t('table.mergeCells.notRectangular'),
|
306
|
+
type : Aloha.Message.Type.ALERT
|
307
|
+
}));
|
308
|
+
return;
|
309
|
+
}
|
310
|
+
|
311
|
+
var selectedRect = getRectFromContour( contour );
|
312
|
+
var $firstCell = $( grid[ selectedRect.top ][ selectedRect.left ].cell );
|
313
|
+
var $firstContainer = $( TableCell.getContainer( $firstCell.get( 0 ) ) );
|
314
|
+
|
315
|
+
Utils.walkGridInsideRect( grid, selectedRect, function ( cellInfo, x, y ) {
|
316
|
+
if ( x - cellInfo.spannedX === selectedRect.left
|
317
|
+
&& y - cellInfo.spannedY === selectedRect.top ) {
|
318
|
+
return;
|
319
|
+
}
|
320
|
+
var cell = cellInfo.cell;
|
321
|
+
var contents = $( TableCell.getContainer( cell ) ).contents();
|
322
|
+
// only append the delimiting space if there is some non-whitespace
|
323
|
+
for ( var i = 0; i < contents.length; i++ ) {
|
324
|
+
if ( "string" !== typeof contents[i]
|
325
|
+
|| "" !== $.trim( contents[i] ) ) {
|
326
|
+
$firstContainer.append( " " );
|
327
|
+
$firstContainer.append( contents );
|
328
|
+
break;
|
329
|
+
}
|
330
|
+
}
|
331
|
+
$( cell ).remove();
|
332
|
+
});
|
333
|
+
|
334
|
+
$firstCell.attr({ 'rowspan': selectedRect.bottom - selectedRect.top,
|
335
|
+
'colspan': selectedRect.right - selectedRect.left });
|
336
|
+
|
337
|
+
//select the merged cell
|
338
|
+
this.selectedCells = [ $firstCell.get( 0 ) ];
|
339
|
+
|
340
|
+
//reset flags
|
341
|
+
this.cellSelectionMode = false;
|
342
|
+
this.baseCellPosition = null;
|
343
|
+
this.lastSelectionRange = null;
|
344
|
+
this.selectionType = 'cell';
|
345
|
+
};
|
346
|
+
|
347
|
+
/**
|
348
|
+
* This method splits all selected cells (if they are already have row or column spans)
|
349
|
+
*
|
350
|
+
* @return void
|
351
|
+
*/
|
352
|
+
TableSelection.prototype.splitCells = function(){
|
353
|
+
var selection = this;
|
354
|
+
|
355
|
+
// split the selected cells or currently active cell
|
356
|
+
var cells_to_split = this.selectedCells;
|
357
|
+
if (cells_to_split.length > 0) {
|
358
|
+
|
359
|
+
$(cells_to_split).each(function(){
|
360
|
+
Utils.splitCell(this, function () {
|
361
|
+
return selection.table.newActiveCell().obj;
|
362
|
+
});
|
363
|
+
});
|
364
|
+
|
365
|
+
//reset flags
|
366
|
+
this.cellSelectionMode = false;
|
367
|
+
this.baseCellPosition = null;
|
368
|
+
this.lastSelectionRange = null;
|
369
|
+
this.selectionType = 'cell';
|
370
|
+
}
|
371
|
+
};
|
372
|
+
|
373
|
+
return TableSelection;
|
374
|
+
});
|
@@ -0,0 +1,1529 @@
|
|
1
|
+
/**
|
2
|
+
* Place selection outside of table.
|
3
|
+
* Select a column and delete it.
|
4
|
+
* Now try and click another column.
|
5
|
+
* You get and index out of bounds error caused
|
6
|
+
* the fact that the selection is gone
|
7
|
+
*/
|
8
|
+
|
9
|
+
/**
|
10
|
+
* Aloha Table Plugin
|
11
|
+
* ------------------
|
12
|
+
* This plugin provides advanced support for manipulating tables in Aloha
|
13
|
+
* Editables.
|
14
|
+
* Nested tables are not support. If nested tables are pasted into the
|
15
|
+
* editable, they will simply be left alone.
|
16
|
+
* Each (non-nested) table in the editable will have a corresponding Aloha
|
17
|
+
* Table instance created for it, which will maintain internal state, and
|
18
|
+
* information related to its DOM element.
|
19
|
+
*
|
20
|
+
* @todo: - selectRow/selectColumn should take into account the helper row/column.
|
21
|
+
* ie: selectRow(0) and selectColumn(0), should be zero indexed
|
22
|
+
*/
|
23
|
+
|
24
|
+
define( [
|
25
|
+
'aloha',
|
26
|
+
'aloha/jquery',
|
27
|
+
'aloha/floatingmenu',
|
28
|
+
'i18n!table/nls/i18n',
|
29
|
+
'table/table-cell',
|
30
|
+
'table/table-selection',
|
31
|
+
'table/table-plugin-utils'
|
32
|
+
], function ( Aloha, jQuery, FloatingMenu, i18n, TableCell, TableSelection,
|
33
|
+
Utils ) {
|
34
|
+
var undefined = void 0;
|
35
|
+
var GENTICS = window.GENTICS;
|
36
|
+
|
37
|
+
/**
|
38
|
+
* Constructor of the table object
|
39
|
+
*
|
40
|
+
* @param table
|
41
|
+
* the dom-representation of the held table
|
42
|
+
* @return void
|
43
|
+
*/
|
44
|
+
var Table = function ( table, tablePlugin ) {
|
45
|
+
// set the table attribut "obj" as a jquery represenation of the dom-table
|
46
|
+
this.obj = jQuery( table );
|
47
|
+
|
48
|
+
correctTableStructure( this );
|
49
|
+
|
50
|
+
if ( !this.obj.attr( 'id' ) ) {
|
51
|
+
this.obj.attr( 'id', GENTICS.Utils.guid() );
|
52
|
+
}
|
53
|
+
|
54
|
+
this.tablePlugin = tablePlugin;
|
55
|
+
this.selection = new TableSelection( this );
|
56
|
+
this.refresh();
|
57
|
+
};
|
58
|
+
|
59
|
+
jQuery.extend( Table.prototype, {
|
60
|
+
/**
|
61
|
+
* Attribute holding the jQuery-table-represenation
|
62
|
+
*/
|
63
|
+
obj: undefined,
|
64
|
+
|
65
|
+
/**
|
66
|
+
* The DOM-element of the outest div-container wrapped around the cell
|
67
|
+
*/
|
68
|
+
tableWrapper: undefined,
|
69
|
+
|
70
|
+
/**
|
71
|
+
* An array of all Cells contained in the Table
|
72
|
+
*
|
73
|
+
* @see TableCell
|
74
|
+
*/
|
75
|
+
cells: undefined,
|
76
|
+
|
77
|
+
/**
|
78
|
+
* Number of rows of the table
|
79
|
+
*/
|
80
|
+
numRows: undefined,
|
81
|
+
|
82
|
+
/**
|
83
|
+
* Number of rows of the table
|
84
|
+
*/
|
85
|
+
numCols: undefined,
|
86
|
+
|
87
|
+
/**
|
88
|
+
* Flag wether the table is active or not
|
89
|
+
*/
|
90
|
+
isActive: false,
|
91
|
+
|
92
|
+
/**
|
93
|
+
* Flag wether the table is focused or not
|
94
|
+
*/
|
95
|
+
hasFocus: false,
|
96
|
+
|
97
|
+
/**
|
98
|
+
* The editable which contains the table
|
99
|
+
*/
|
100
|
+
parentEditable: undefined,
|
101
|
+
|
102
|
+
/**
|
103
|
+
* Flag to check if the mouse was pressed. For row- and column-selection.
|
104
|
+
*/
|
105
|
+
mousedown: false,
|
106
|
+
|
107
|
+
/**
|
108
|
+
* ID of the column which was pressed when selecting columns
|
109
|
+
*/
|
110
|
+
clickedColumnId: -1,
|
111
|
+
|
112
|
+
/**
|
113
|
+
* ID of the row which was pressed when selecting rows
|
114
|
+
*/
|
115
|
+
clickedRowId: -1,
|
116
|
+
|
117
|
+
/**
|
118
|
+
* collection of columnindexes of the columns which should be selected
|
119
|
+
*/
|
120
|
+
columnsToSelect: [],
|
121
|
+
|
122
|
+
/**
|
123
|
+
* collection of rowindexes of the rows which should be selected
|
124
|
+
*/
|
125
|
+
rowsToSelect: [],
|
126
|
+
|
127
|
+
/**
|
128
|
+
* contains the plugin id used for interaction with the floating menu
|
129
|
+
*/
|
130
|
+
fmPluginId: undefined
|
131
|
+
} );
|
132
|
+
|
133
|
+
/**
|
134
|
+
* @hide
|
135
|
+
*/
|
136
|
+
Table.prototype.refresh = function () {
|
137
|
+
// find the dimensions of the table
|
138
|
+
this.numCols = this.countVirtualCols();
|
139
|
+
|
140
|
+
var rows = this.getRows();
|
141
|
+
this.numRows = rows.length;
|
142
|
+
|
143
|
+
// init the cell-attribute with an empty array
|
144
|
+
this.cells = [];
|
145
|
+
|
146
|
+
// iterate over table cells and create Cell-objects
|
147
|
+
for ( var i = 0; i < rows.length; i++ ) {
|
148
|
+
var row = jQuery(rows[i]);
|
149
|
+
var cols = row.children();
|
150
|
+
for ( var j = 0; j < cols.length; j++ ) {
|
151
|
+
var col = cols[j];
|
152
|
+
var Cell = this.newCell( col );
|
153
|
+
}
|
154
|
+
}
|
155
|
+
};
|
156
|
+
|
157
|
+
Table.prototype.countVirtualCols = function () {
|
158
|
+
var $firstRow = this.obj.children().children( 'tr:first-child' ).children();
|
159
|
+
return $firstRow.length - $firstRow.filter( '.' + this.get( 'classLeftUpperCorner' ) ).length;
|
160
|
+
};
|
161
|
+
|
162
|
+
/**
|
163
|
+
* Wrapper-Mehotd to return a property of TablePlugin.get
|
164
|
+
*
|
165
|
+
* @see TablePlugin.get
|
166
|
+
* @param property
|
167
|
+
* the property whichs value should be return
|
168
|
+
* @return the value associated with the property
|
169
|
+
*/
|
170
|
+
Table.prototype.get = function(property) {
|
171
|
+
return this.tablePlugin.get(property);
|
172
|
+
};
|
173
|
+
|
174
|
+
/**
|
175
|
+
* Wrapper-Method for TablePlugin.set
|
176
|
+
*
|
177
|
+
* @see TablePlugin.set
|
178
|
+
* @param key
|
179
|
+
* the key whichs value should be set
|
180
|
+
* @param value
|
181
|
+
* the value for the key
|
182
|
+
* @return void
|
183
|
+
*/
|
184
|
+
Table.prototype.set = function(key, value) {
|
185
|
+
this.tablePlugin.set(key, value);
|
186
|
+
};
|
187
|
+
|
188
|
+
/**
|
189
|
+
* Given an unbalanced table structure, pad it with the necessary cells to
|
190
|
+
* make it perfectly rectangular
|
191
|
+
*
|
192
|
+
* @param {Aloha.Table} tableObj
|
193
|
+
*/
|
194
|
+
function correctTableStructure ( tableObj ) {
|
195
|
+
var table = tableObj.obj,
|
196
|
+
|
197
|
+
i,
|
198
|
+
row,
|
199
|
+
rows = tableObj.getRows(),
|
200
|
+
rowsNum = rows.length,
|
201
|
+
|
202
|
+
cols,
|
203
|
+
colsNum,
|
204
|
+
|
205
|
+
colsCount,
|
206
|
+
maxColsCount = 0,
|
207
|
+
cachedColsCounts = [],
|
208
|
+
colsCountDiff,
|
209
|
+
colSpan;
|
210
|
+
|
211
|
+
for ( i = 0; i < rowsNum; i++ ) {
|
212
|
+
row = jQuery( rows[ i ] );
|
213
|
+
cols = row.children( 'td, th' );
|
214
|
+
colsNum = cols.length;
|
215
|
+
colsCount = Utils.cellIndexToGridColumn( rows, i, colsNum - 1 ) + 1;
|
216
|
+
|
217
|
+
// Check if the last cell in this row has a col span, to account
|
218
|
+
// for it in the total number of colums in this row
|
219
|
+
|
220
|
+
colSpan = parseInt( cols.last().attr( 'colspan' ), 10 );
|
221
|
+
|
222
|
+
if ( colSpan == 0 ) {
|
223
|
+
// TODO: support colspan=0
|
224
|
+
// http://dev.w3.org/html5/markup/td.html#td.attrs.colspan
|
225
|
+
// http://www.w3.org/TR/html401/struct/tables.html#adef-colspan
|
226
|
+
// The value zero ("0") means that the cell spans all columns
|
227
|
+
// from the current column to the last column of the column
|
228
|
+
// group (COLGROUP) in which the cel
|
229
|
+
} else if ( !isNaN( colSpan ) ) {
|
230
|
+
// The default value of this attribute is one ("1"), so where this
|
231
|
+
// is the case, we will remove such superfluous colspan attributes
|
232
|
+
if ( colSpan == 1 ) {
|
233
|
+
cols.last().removeAttr( 'colspan' );
|
234
|
+
}
|
235
|
+
|
236
|
+
colsCount += ( colSpan - 1 );
|
237
|
+
}
|
238
|
+
|
239
|
+
cachedColsCounts.push( colsCount );
|
240
|
+
|
241
|
+
if ( colsCount > maxColsCount ) {
|
242
|
+
maxColsCount = colsCount;
|
243
|
+
}
|
244
|
+
}
|
245
|
+
|
246
|
+
for ( i = 0; i < rowsNum; i++ ) {
|
247
|
+
colsCountDiff = maxColsCount - cachedColsCounts[ i ];
|
248
|
+
if ( colsCountDiff > 0 ) {
|
249
|
+
// Create as many td's as we need to complete the row
|
250
|
+
jQuery( rows[ i ] ).append(
|
251
|
+
( new Array( colsCountDiff + 1 ) ).join( '<td></td>' )
|
252
|
+
);
|
253
|
+
}
|
254
|
+
}
|
255
|
+
};
|
256
|
+
|
257
|
+
/**
|
258
|
+
* Transforms the existing dom-table into an editable aloha-table. In fact it
|
259
|
+
* replaces the td-elements with equivalent TableCell-elements
|
260
|
+
* with attached events.
|
261
|
+
* Furthermore it creates wrapping divs to realize a click-area for row- and
|
262
|
+
* column selection and also attaches events.
|
263
|
+
*
|
264
|
+
* @return void
|
265
|
+
*/
|
266
|
+
Table.prototype.activate = function () {
|
267
|
+
if ( this.isActive ) {
|
268
|
+
return;
|
269
|
+
}
|
270
|
+
|
271
|
+
var that = this,
|
272
|
+
htmlTableWrapper,
|
273
|
+
tableWrapper;
|
274
|
+
|
275
|
+
// alter the table attributes
|
276
|
+
this.obj.addClass( this.get( 'className' ) );
|
277
|
+
this.obj.contentEditable( false );
|
278
|
+
|
279
|
+
// set an id to the table if not already set
|
280
|
+
if ( this.obj.attr( 'id' ) == '' ) {
|
281
|
+
this.obj.attr( 'id', GENTICS.Utils.guid() );
|
282
|
+
}
|
283
|
+
|
284
|
+
// unset the selection type
|
285
|
+
this.selection.selectionType = undefined;
|
286
|
+
|
287
|
+
this.obj.bind( 'keydown', function ( jqEvent ) {
|
288
|
+
if ( !jqEvent.ctrlKey && !jqEvent.shiftKey ) {
|
289
|
+
if ( that.selection.selectedCells.length > 0 &&
|
290
|
+
that.selection.selectedCells[ 0 ].length > 0 ) {
|
291
|
+
that.selection.selectedCells[ 0 ][ 0 ].firstChild.focus();
|
292
|
+
}
|
293
|
+
}
|
294
|
+
} );
|
295
|
+
|
296
|
+
/*
|
297
|
+
We need to make sure that when the user has selected text inside a
|
298
|
+
table cell we do not delete the entire row, before we activate this
|
299
|
+
|
300
|
+
this.obj.bind( 'keyup', function ( $event ) {
|
301
|
+
if ( $event.keyCode == 46 ) {
|
302
|
+
if ( that.selection.selectedColumnIdxs.length ) {
|
303
|
+
that.deleteColumns();
|
304
|
+
$event.stopPropagation();
|
305
|
+
} else if ( that.selection.selectedRowIdxs.length ) {
|
306
|
+
that.deleteRows();
|
307
|
+
$event.stopPropagation();
|
308
|
+
} else {
|
309
|
+
// Nothing to delete
|
310
|
+
}
|
311
|
+
}
|
312
|
+
} );
|
313
|
+
*/
|
314
|
+
|
315
|
+
// handle click event of the table
|
316
|
+
// this.obj.bind('click', function(e){
|
317
|
+
// // stop bubbling the event to the outer divs, a click in the table
|
318
|
+
// // should only be handled in the table
|
319
|
+
// e.stopPropagation();
|
320
|
+
// return false;
|
321
|
+
// });
|
322
|
+
|
323
|
+
this.obj.bind( 'mousedown', function ( jqEvent ) {
|
324
|
+
// focus the table if not already done
|
325
|
+
if ( !that.hasFocus ) {
|
326
|
+
that.focus();
|
327
|
+
}
|
328
|
+
|
329
|
+
// DEACTIVATED by Haymo prevents selecting rows
|
330
|
+
// // if a mousedown is done on the table, just focus the first cell of the table
|
331
|
+
// setTimeout(function() {
|
332
|
+
// var firstCell = that.obj.find('tr:nth-child(2) td:nth-child(2)').children('div[contenteditable=true]').get(0);
|
333
|
+
// TableSelection.unselectCells();
|
334
|
+
// jQuery(firstCell).get(0).focus();
|
335
|
+
// // move focus in first cell
|
336
|
+
// that.obj.cells[0].wrapper.get(0).focus();
|
337
|
+
// }, 0);
|
338
|
+
|
339
|
+
// stop bubbling and default-behaviour
|
340
|
+
jqEvent.stopPropagation();
|
341
|
+
jqEvent.preventDefault();
|
342
|
+
return false;
|
343
|
+
} );
|
344
|
+
|
345
|
+
// ### create a wrapper for the table (@see HINT below)
|
346
|
+
// wrapping div for the table to suppress the display of the resize-controls of
|
347
|
+
// the editable divs within the cells
|
348
|
+
tableWrapper = jQuery(
|
349
|
+
'<div class="' + this.get( 'classTableWrapper' ) + '"></div>'
|
350
|
+
);
|
351
|
+
tableWrapper.contentEditable( false );
|
352
|
+
|
353
|
+
// wrap the tableWrapper around the table
|
354
|
+
this.obj.wrap( tableWrapper );
|
355
|
+
|
356
|
+
// :HINT The outest div (Editable) of the table is still in an editable
|
357
|
+
// div. So IE will surround the the wrapper div with a resize-border
|
358
|
+
// Workaround => just disable the handles so hopefully won't happen any ugly stuff.
|
359
|
+
// Disable resize and selection of the controls (only IE)
|
360
|
+
// Events only can be set to elements which are loaded from the DOM (if they
|
361
|
+
// were created dynamically before) ;)
|
362
|
+
htmlTableWrapper = this.obj.parents( '.' + this.get( 'classTableWrapper' ) );
|
363
|
+
htmlTableWrapper.get( 0 ).onresizestart = function ( e ) { return false; };
|
364
|
+
htmlTableWrapper.get( 0 ).oncontrolselect = function ( e ) { return false; };
|
365
|
+
htmlTableWrapper.get( 0 ).ondragstart = function ( e ) { return false; };
|
366
|
+
htmlTableWrapper.get( 0 ).onmovestart = function ( e ) { return false; };
|
367
|
+
htmlTableWrapper.get( 0 ).onselectstart = function ( e ) { return false; };
|
368
|
+
|
369
|
+
this.tableWrapper = this.obj.parents( '.' + this.get( 'classTableWrapper' ) ).get( 0 );
|
370
|
+
|
371
|
+
jQuery( this.cells ).each( function () {
|
372
|
+
this.activate();
|
373
|
+
} );
|
374
|
+
|
375
|
+
// after the cells where replaced with contentEditables ... add selection cells
|
376
|
+
// first add the additional columns on the left side
|
377
|
+
this.attachSelectionColumn();
|
378
|
+
// then add the additional row at the top
|
379
|
+
this.attachSelectionRow();
|
380
|
+
this.makeCaptionEditable();
|
381
|
+
this.checkWai();
|
382
|
+
this.isActive = true;
|
383
|
+
|
384
|
+
Aloha.trigger( 'aloha-table-activated' );
|
385
|
+
};
|
386
|
+
|
387
|
+
/**
|
388
|
+
* Make the table caption editable (if present)
|
389
|
+
*/
|
390
|
+
Table.prototype.makeCaptionEditable = function() {
|
391
|
+
var caption = this.obj.find('caption').eq(0);
|
392
|
+
if (caption) {
|
393
|
+
this.tablePlugin.makeCaptionEditable(caption);
|
394
|
+
}
|
395
|
+
};
|
396
|
+
|
397
|
+
/**
|
398
|
+
* check the WAI conformity of the table and sets the attribute.
|
399
|
+
*/
|
400
|
+
Table.prototype.checkWai = function () {
|
401
|
+
var w = this.wai;
|
402
|
+
|
403
|
+
w.removeClass(this.get('waiGreen'));
|
404
|
+
w.removeClass(this.get('waiRed'));
|
405
|
+
|
406
|
+
// Y U NO explain why we must check that summary is longer than 5 characters?
|
407
|
+
// http://cdn3.knowyourmeme.com/i/000/089/665/original/tumblr_l96b01l36p1qdhmifo1_500.jpg
|
408
|
+
|
409
|
+
if (this.obj[0].summary.trim() != '') {
|
410
|
+
w.addClass(this.get('waiGreen'));
|
411
|
+
} else {
|
412
|
+
w.addClass(this.get('waiRed'));
|
413
|
+
}
|
414
|
+
};
|
415
|
+
|
416
|
+
/**
|
417
|
+
* Add the selection-column to the left side of the table and attach the events
|
418
|
+
* for selection rows
|
419
|
+
*
|
420
|
+
* @return void
|
421
|
+
*/
|
422
|
+
Table.prototype.attachSelectionColumn = function() {
|
423
|
+
// create an empty cell
|
424
|
+
var emptyCell = jQuery('<td>'),
|
425
|
+
rowIndex, columnToInsert, rowObj, that = this, rows, i;
|
426
|
+
|
427
|
+
// set the unicode ' ' code
|
428
|
+
emptyCell.html('\u00a0');
|
429
|
+
|
430
|
+
that = this;
|
431
|
+
rows = this.obj.context.rows;
|
432
|
+
|
433
|
+
// add a column before each first cell of each row
|
434
|
+
for ( i = 0; i < rows.length; i++) {
|
435
|
+
rowObj = jQuery(rows[i]);
|
436
|
+
columnToInsert = emptyCell.clone();
|
437
|
+
columnToInsert.addClass(this.get('classSelectionColumn'));
|
438
|
+
columnToInsert.css('width', this.get('selectionArea') + 'px');
|
439
|
+
//rowObj.find('td:first').before(columnToInsert);
|
440
|
+
rowObj.prepend(columnToInsert);
|
441
|
+
// rowIndex + 1 because an addtional row is still added
|
442
|
+
rowIndex = i + 1;
|
443
|
+
|
444
|
+
// this method sets the selection-events to the cell
|
445
|
+
this.attachRowSelectionEventsToCell(columnToInsert);
|
446
|
+
}
|
447
|
+
};
|
448
|
+
|
449
|
+
/**
|
450
|
+
* Binds the needed selection-mouse events to the given cell
|
451
|
+
*
|
452
|
+
* @param cell
|
453
|
+
* The jquery object of the table-data field
|
454
|
+
* @return void
|
455
|
+
*/
|
456
|
+
Table.prototype.attachRowSelectionEventsToCell = function(cell){
|
457
|
+
var that = this;
|
458
|
+
|
459
|
+
// unbind eventually existing events of this cell
|
460
|
+
cell.unbind('mousedown');
|
461
|
+
cell.unbind('mouseover');
|
462
|
+
|
463
|
+
// prevent ie from selecting the contents of the table
|
464
|
+
cell.get(0).onselectstart = function() { return false; };
|
465
|
+
|
466
|
+
cell.bind('mousedown', function(e){
|
467
|
+
// set flag that the mouse is pressed
|
468
|
+
//TODO to implement the mousedown-select effect not only must the
|
469
|
+
//mousedown be set here but also be unset when the mouse button is
|
470
|
+
//released.
|
471
|
+
// that.mousedown = true;
|
472
|
+
return that.rowSelectionMouseDown(e);
|
473
|
+
});
|
474
|
+
|
475
|
+
cell.bind('mouseover', function(e){
|
476
|
+
// only select more crows if the mouse is pressed
|
477
|
+
if ( that.mousedown ) {
|
478
|
+
return that.rowSelectionMouseOver(e);
|
479
|
+
}
|
480
|
+
});
|
481
|
+
};
|
482
|
+
|
483
|
+
/**
|
484
|
+
* Mouse-Down event for the selection-cells on the left side of the table
|
485
|
+
*
|
486
|
+
* @param jqEvent
|
487
|
+
* the jquery-event object
|
488
|
+
* @return void
|
489
|
+
*/
|
490
|
+
Table.prototype.rowSelectionMouseDown = function ( jqEvent ) {
|
491
|
+
// focus the table (if not already done)
|
492
|
+
this.focus();
|
493
|
+
|
494
|
+
// if no cells are selected, reset the selection-array
|
495
|
+
if ( this.selection.selectedCells.length == 0 ) {
|
496
|
+
this.rowsToSelect = [];
|
497
|
+
}
|
498
|
+
|
499
|
+
// set the origin-rowId of the mouse-click
|
500
|
+
this.clickedRowId = jqEvent.currentTarget.parentNode.rowIndex;
|
501
|
+
|
502
|
+
// set single column selection
|
503
|
+
if ( jqEvent.metaKey ) {
|
504
|
+
var arrayIndex = jQuery.inArray( this.clickedRowId, this.rowsToSelect );
|
505
|
+
if ( arrayIndex >= 0 ) {
|
506
|
+
this.rowsToSelect.splice( arrayIndex, 1 );
|
507
|
+
} else {
|
508
|
+
this.rowsToSelect.push( this.clickedRowId );
|
509
|
+
}
|
510
|
+
// block of columns selection
|
511
|
+
} else if ( jqEvent.shiftKey ) {
|
512
|
+
this.rowsToSelect.sort( function( a, b ) { return a - b; } );
|
513
|
+
var start = this.rowsToSelect[ 0 ];
|
514
|
+
var end = this.clickedRowId;
|
515
|
+
if ( start > end ) {
|
516
|
+
start = end;
|
517
|
+
end = this.rowsToSelect[ 0 ];
|
518
|
+
}
|
519
|
+
this.rowsToSelect = [];
|
520
|
+
for ( var i = start; i <= end; i++ ) {
|
521
|
+
this.rowsToSelect.push( i );
|
522
|
+
}
|
523
|
+
// single column
|
524
|
+
} else {
|
525
|
+
this.rowsToSelect = [ this.clickedRowId ];
|
526
|
+
}
|
527
|
+
|
528
|
+
// mark the selection visual
|
529
|
+
this.selectRows();
|
530
|
+
|
531
|
+
// prevent browser from selecting the table
|
532
|
+
jqEvent.preventDefault();
|
533
|
+
|
534
|
+
// stop bubble, otherwise the mousedown of the table is called ...
|
535
|
+
jqEvent.stopPropagation();
|
536
|
+
|
537
|
+
// prevent ff/chrome/safare from selecting the contents of the table
|
538
|
+
return false;
|
539
|
+
};
|
540
|
+
|
541
|
+
/**
|
542
|
+
* The mouse-over event for the selection-cells on the left side of the table.
|
543
|
+
* On mouse-over check which column was clicked, calculate the span between
|
544
|
+
* clicked and mouse-overed cell and mark them as selected
|
545
|
+
*
|
546
|
+
* @param jqEvent
|
547
|
+
* the jquery-event object
|
548
|
+
* @return void
|
549
|
+
*/
|
550
|
+
Table.prototype.rowSelectionMouseOver = function (jqEvent) {
|
551
|
+
var rowIndex = jqEvent.currentTarget.parentNode.rowIndex,
|
552
|
+
indexInArray, start, end, i;
|
553
|
+
|
554
|
+
// only select the row if the mouse was clicked and the clickedRowId isn't
|
555
|
+
// from the selection-row (row-id = 0)
|
556
|
+
if (this.mousedown && this.clickedRowId >= 0) {
|
557
|
+
|
558
|
+
// select first cell
|
559
|
+
// var firstCell = this.obj.find('tr:nth-child(2) td:nth-child(2)').children('div[contenteditable=true]').get(0);
|
560
|
+
// jQuery(firstCell).get(0).focus();
|
561
|
+
|
562
|
+
indexInArray = jQuery.inArray(rowIndex, this.rowsToSelect);
|
563
|
+
|
564
|
+
start = (rowIndex < this.clickedRowId) ? rowIndex : this.clickedRowId;
|
565
|
+
end = (rowIndex < this.clickedRowId) ? this.clickedRowId : rowIndex;
|
566
|
+
|
567
|
+
this.rowsToSelect = new Array();
|
568
|
+
for ( i = start; i <= end; i++) {
|
569
|
+
this.rowsToSelect.push(i);
|
570
|
+
}
|
571
|
+
|
572
|
+
// this actually selects the rows
|
573
|
+
this.selectRows();
|
574
|
+
|
575
|
+
// prevent browser from selecting the table
|
576
|
+
jqEvent.preventDefault();
|
577
|
+
|
578
|
+
// stop bubble, otherwise the mousedown of the table is called ...
|
579
|
+
jqEvent.stopPropagation();
|
580
|
+
|
581
|
+
// prevent ff/chrome/safare from selecting the contents of the table
|
582
|
+
return false;
|
583
|
+
}
|
584
|
+
};
|
585
|
+
|
586
|
+
/**
|
587
|
+
* Binds the needed selection-mouse events to the given cell
|
588
|
+
*
|
589
|
+
* @param cell
|
590
|
+
* The jquery object of the table-data field
|
591
|
+
* @return void
|
592
|
+
*/
|
593
|
+
Table.prototype.attachSelectionRow = function () {
|
594
|
+
var that = this;
|
595
|
+
|
596
|
+
// create an empty td
|
597
|
+
var emptyCell = jQuery('<td>');
|
598
|
+
emptyCell.html('\u00a0');
|
599
|
+
|
600
|
+
// get the number of columns in the table (first row)
|
601
|
+
// iterate through all rows and find the maximum number of columns to add
|
602
|
+
var numColumns = 0;
|
603
|
+
for( var i = 0; i < this.obj.context.rows.length; i++ ){
|
604
|
+
var curNumColumns = 0;
|
605
|
+
|
606
|
+
for( var j = 0; j < this.obj.context.rows[i].cells.length; j++ ){
|
607
|
+
var colspan = Utils.colspan( this.obj.context.rows[i].cells[j] );
|
608
|
+
curNumColumns += colspan;
|
609
|
+
}
|
610
|
+
|
611
|
+
if( numColumns < curNumColumns ) {
|
612
|
+
numColumns = curNumColumns;
|
613
|
+
}
|
614
|
+
}
|
615
|
+
|
616
|
+
var selectionRow = jQuery('<tr>');
|
617
|
+
selectionRow.addClass(this.get('classSelectionRow'));
|
618
|
+
selectionRow.css('height', this.get('selectionArea') + 'px');
|
619
|
+
|
620
|
+
for (var i = 0; i < numColumns; i++) {
|
621
|
+
|
622
|
+
var columnToInsert = emptyCell.clone();
|
623
|
+
// the first cell should have no function, so only attach the events for
|
624
|
+
// the rest
|
625
|
+
if (i > 0) {
|
626
|
+
// bind all mouse-events to the cell
|
627
|
+
this.attachColumnSelectEventsToCell(columnToInsert);
|
628
|
+
//set the colspan of selection column to match the colspan of first row columns
|
629
|
+
} else {
|
630
|
+
var columnToInsert = jQuery('<td>').clone();
|
631
|
+
columnToInsert.addClass(this.get('classLeftUpperCorner'));
|
632
|
+
var clickHandler = function (e) {
|
633
|
+
// select the Table
|
634
|
+
that.focus();
|
635
|
+
that.selection.selectAll();
|
636
|
+
|
637
|
+
// set the selection type before updateing the scope
|
638
|
+
that.tablePlugin.activeTable.selection.selectionType = 'cell';
|
639
|
+
that.tablePlugin.updateFloatingMenuScope();
|
640
|
+
|
641
|
+
FloatingMenu.activateTabOfButton('rowheader');
|
642
|
+
|
643
|
+
// As side-effect of the following call the focus
|
644
|
+
// will be set on the first selected cell.
|
645
|
+
// This will be overwritten with the summary
|
646
|
+
// attribute-field, if the setting summaryinsidebar
|
647
|
+
// is false.
|
648
|
+
that._removeCursorSelection();
|
649
|
+
|
650
|
+
// jump in Summary field
|
651
|
+
// attempting to focus on summary input field will occasionally result in the
|
652
|
+
// following exception:
|
653
|
+
//uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMHTMLInputElement.setSelectionRange]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: src/dep/ext-3.2.1/ext-all.js :: <TOP_LEVEL> :: line 11" data: no]
|
654
|
+
// this occurs when the tab in which the summary field is contained is not visible
|
655
|
+
// TODO: I'm adding a try catch clause here for the time being, but a proper solution, which addresses the problem of how to handle invisible fields ought to be persued.
|
656
|
+
|
657
|
+
try {
|
658
|
+
that.tablePlugin.summary.focus();
|
659
|
+
e.stopPropagation();
|
660
|
+
e.preventDefault();
|
661
|
+
} catch (e) {
|
662
|
+
}
|
663
|
+
|
664
|
+
return false;
|
665
|
+
};
|
666
|
+
this.wai = jQuery('<div/>').width(25).height(12).click(clickHandler);
|
667
|
+
columnToInsert.append(this.wai);
|
668
|
+
}
|
669
|
+
|
670
|
+
// add the cell to the row
|
671
|
+
selectionRow.append(columnToInsert);
|
672
|
+
}
|
673
|
+
|
674
|
+
// global mouseup event to reset the selection properties
|
675
|
+
jQuery(document).bind('mouseup', function(e) { that.columnSelectionMouseUp(e) } );
|
676
|
+
|
677
|
+
this.obj.find('tr:first').before( selectionRow );
|
678
|
+
};
|
679
|
+
|
680
|
+
/**
|
681
|
+
* Binds the events for the column selection to the given cell.
|
682
|
+
*
|
683
|
+
* @param cell
|
684
|
+
* the jquery object of the td-field
|
685
|
+
* @return void
|
686
|
+
*/
|
687
|
+
Table.prototype.attachColumnSelectEventsToCell = function ( cell ) {
|
688
|
+
var that = this;
|
689
|
+
|
690
|
+
// unbind eventually existing events of this cell
|
691
|
+
cell.unbind( 'mousedown' );
|
692
|
+
cell.unbind( 'mouseover' );
|
693
|
+
|
694
|
+
// prevent ie from selecting the contents of the table
|
695
|
+
cell.get( 0 ).onselectstart = function () { return false; };
|
696
|
+
|
697
|
+
cell.bind( 'mousedown', function ( e ) { that.columnSelectionMouseDown( e ) } );
|
698
|
+
cell.bind( 'mouseover', function ( e ) { that.columnSelectionMouseOver( e ) } );
|
699
|
+
};
|
700
|
+
|
701
|
+
/**
|
702
|
+
* Handles the mouse-down event for the selection-cells on the top of the
|
703
|
+
* menu
|
704
|
+
*
|
705
|
+
* @param {jQuery:Event} jqEvent - the jquery-event object
|
706
|
+
* @return void
|
707
|
+
*/
|
708
|
+
Table.prototype.columnSelectionMouseDown = function ( jqEvent ) {
|
709
|
+
// focus the table (if not already done)
|
710
|
+
this.focus();
|
711
|
+
|
712
|
+
// if no cells are selected, reset the selection-array
|
713
|
+
if ( this.selection.selectedCells.length == 0 ) {
|
714
|
+
this.columnsToSelect = [];
|
715
|
+
}
|
716
|
+
|
717
|
+
// set the origin-columnId of the mouse-click
|
718
|
+
this.clickedColumnId = jQuery( jqEvent.currentTarget.parentNode )
|
719
|
+
.children().index( jqEvent.currentTarget );
|
720
|
+
|
721
|
+
// set single column selection
|
722
|
+
if ( jqEvent.metaKey ) {
|
723
|
+
var arrayIndex = jQuery.inArray( this.clickedColumnId, this.columnsToSelect );
|
724
|
+
if ( arrayIndex >= 0 ) {
|
725
|
+
this.columnsToSelect.splice( arrayIndex, 1 );
|
726
|
+
} else {
|
727
|
+
this.columnsToSelect.push( this.clickedColumnId );
|
728
|
+
}
|
729
|
+
// block of columns selection
|
730
|
+
} else if ( jqEvent.shiftKey ) {
|
731
|
+
this.columnsToSelect.sort( function( a, b ) { return a - b; } );
|
732
|
+
var start = this.columnsToSelect[ 0 ];
|
733
|
+
var end = this.clickedColumnId;
|
734
|
+
if ( start > end ) {
|
735
|
+
start = end;
|
736
|
+
end = this.columnsToSelect[ 0 ];
|
737
|
+
}
|
738
|
+
this.columnsToSelect = [];
|
739
|
+
for ( var i = start; i <= end; i++ ) {
|
740
|
+
this.columnsToSelect.push( i );
|
741
|
+
}
|
742
|
+
// single column
|
743
|
+
} else {
|
744
|
+
this.columnsToSelect = [ this.clickedColumnId ];
|
745
|
+
}
|
746
|
+
|
747
|
+
// mark the selection visual
|
748
|
+
this.selectColumns();
|
749
|
+
|
750
|
+
// prevent browser from selecting the table
|
751
|
+
jqEvent.preventDefault();
|
752
|
+
|
753
|
+
// stop bubble, otherwise the mousedown of the table is called ...
|
754
|
+
jqEvent.stopPropagation();
|
755
|
+
|
756
|
+
// prevent ff/chrome/safare from selecting the contents of the table
|
757
|
+
return false;
|
758
|
+
};
|
759
|
+
|
760
|
+
/**
|
761
|
+
* Mouseover-event for the column-selection cell. This method calcluates the
|
762
|
+
* span between the clicked column and the mouse-overed cell and selects the
|
763
|
+
* columns inbetween. and mark them as selected
|
764
|
+
*
|
765
|
+
* @param jqEvent
|
766
|
+
* the jquery-event object
|
767
|
+
* @return void
|
768
|
+
*/
|
769
|
+
Table.prototype.columnSelectionMouseOver = function (jqEvent) {
|
770
|
+
|
771
|
+
var
|
772
|
+
colIdx = jqEvent.currentTarget.cellIndex,
|
773
|
+
columnsToSelect = [],
|
774
|
+
start,
|
775
|
+
end;
|
776
|
+
|
777
|
+
// select all columns from the last clicked to the hoverd
|
778
|
+
if ( this.mouseDownColIdx ) {
|
779
|
+
start = (colIdx < this.mouseDownColIdx) ? colIdx : this.mouseDownColIdx;
|
780
|
+
end = (colIdx < this.mouseDownColIdx) ? this.mouseDownColIdx : colIdx;
|
781
|
+
for (var i = start; i <= end; i++) {
|
782
|
+
columnsToSelect.push(i);
|
783
|
+
}
|
784
|
+
this.selectColumns( columnsToSelect );
|
785
|
+
}
|
786
|
+
};
|
787
|
+
|
788
|
+
/**
|
789
|
+
* MouseUp-event for the column-selection. This method resets the
|
790
|
+
* selection mode
|
791
|
+
*
|
792
|
+
* @param jqEvent
|
793
|
+
* the jquery-event object
|
794
|
+
* @return void
|
795
|
+
*/
|
796
|
+
Table.prototype.columnSelectionMouseUp = function (jqEvent) {
|
797
|
+
this.mouseDownColIdx = false;
|
798
|
+
};
|
799
|
+
|
800
|
+
/**
|
801
|
+
* Deletes the selected rows. If no row are selected, delete the row, where the
|
802
|
+
* cursor is positioned. If all rows of the table should be deleted, the whole
|
803
|
+
* table is deletet and removed from the tableRegistry.
|
804
|
+
*
|
805
|
+
* @return void
|
806
|
+
*/
|
807
|
+
Table.prototype.deleteRows = function() {
|
808
|
+
var
|
809
|
+
rowIDs = [],
|
810
|
+
rowsToDelete = {},
|
811
|
+
table = this;
|
812
|
+
|
813
|
+
// if a selection was made, delete the selected cells
|
814
|
+
if (0 === this.selection.selectedCells.length) {
|
815
|
+
return;
|
816
|
+
}
|
817
|
+
|
818
|
+
for (var i = 0; i < this.selection.selectedCells.length; i++) {
|
819
|
+
rowsToDelete[this.selection.selectedCells[i].parentNode.rowIndex] = true;
|
820
|
+
}
|
821
|
+
|
822
|
+
for (rowId in rowsToDelete) {
|
823
|
+
rowIDs.push(rowId);
|
824
|
+
}
|
825
|
+
|
826
|
+
// if all rows should be deleted, set a flag to remove the WHOLE table
|
827
|
+
var deleteTable = false;
|
828
|
+
if (rowIDs.length == this.numRows) {
|
829
|
+
deleteTable = true;
|
830
|
+
}
|
831
|
+
|
832
|
+
// delete the whole table
|
833
|
+
if (deleteTable) {
|
834
|
+
var that = this;
|
835
|
+
Aloha.showMessage(new Aloha.Message({
|
836
|
+
title : i18n.t('Table'),
|
837
|
+
text : i18n.t('deletetable.confirm'),
|
838
|
+
type : Aloha.Message.Type.CONFIRM,
|
839
|
+
callback : function (sel) {
|
840
|
+
if (sel == 'yes') {
|
841
|
+
that.deleteTable();
|
842
|
+
}
|
843
|
+
}
|
844
|
+
}));
|
845
|
+
} else {
|
846
|
+
|
847
|
+
rowIDs.sort(function(a,b){return a - b;});
|
848
|
+
|
849
|
+
// check which cell should be focused after the deletion
|
850
|
+
var focusRowId = rowIDs[0];
|
851
|
+
if (focusRowId > (this.numRows - rowIDs.length)) {
|
852
|
+
focusRowId --;
|
853
|
+
}
|
854
|
+
|
855
|
+
// get all rows
|
856
|
+
var rows = this.getRows();
|
857
|
+
|
858
|
+
//splits all cells on the rows to be deleted
|
859
|
+
jQuery.each( rowIDs, function ( unused, rowId ) {
|
860
|
+
var row = rows[ rowId ];
|
861
|
+
for (var i = 0; i < row.cells.length; i++) {
|
862
|
+
Utils.splitCell( row.cells[i], function () {
|
863
|
+
return table.newActiveCell().obj;
|
864
|
+
});
|
865
|
+
}
|
866
|
+
});
|
867
|
+
|
868
|
+
//decreases rowspans of cells that span the row to be deleted
|
869
|
+
//and removes the row
|
870
|
+
var grid = Utils.makeGrid( rows );
|
871
|
+
jQuery.each( rowIDs, function ( unused, rowId ) {
|
872
|
+
var row = grid[ rowId ];
|
873
|
+
for ( var j = 0; j < row.length; ) {
|
874
|
+
var cellInfo = row[ j ];
|
875
|
+
var rowspan = Utils.rowspan( cellInfo.cell );
|
876
|
+
if ( 1 < rowspan ) {
|
877
|
+
jQuery( cellInfo.cell ).attr( 'rowspan', rowspan - 1);
|
878
|
+
}
|
879
|
+
j += cellInfo.colspan;
|
880
|
+
}
|
881
|
+
jQuery( rows[ rowId ] ).remove();
|
882
|
+
});
|
883
|
+
|
884
|
+
// reduce the attribute storing the number of rows in the table
|
885
|
+
this.numRows -= rowIDs.length;
|
886
|
+
|
887
|
+
// IE needs a timeout to work properly
|
888
|
+
setTimeout( function() {
|
889
|
+
var lastCell = jQuery( rows[1].cells[ focusRowId +1 ] );
|
890
|
+
lastCell.focus()
|
891
|
+
}, 5);
|
892
|
+
|
893
|
+
// finally unselect the marked cells
|
894
|
+
this.selection.unselectCells();
|
895
|
+
}
|
896
|
+
};
|
897
|
+
|
898
|
+
/**
|
899
|
+
* Deletes the selected columns. If no columns are selected, delete the column, where the
|
900
|
+
* cursor is positioned. If all columns of the table should be deleted, the whole
|
901
|
+
* table is deleted from the dom and removed from the tableRegistry.
|
902
|
+
*
|
903
|
+
* @return void
|
904
|
+
*/
|
905
|
+
Table.prototype.deleteColumns = function() {
|
906
|
+
var
|
907
|
+
colIDs = [],
|
908
|
+
cellToDelete = [],
|
909
|
+
// get all rows to iterate
|
910
|
+
rows = this.getRows(),
|
911
|
+
that = this,
|
912
|
+
changeColspan = [],
|
913
|
+
focusColID,
|
914
|
+
cells,
|
915
|
+
cellInfo;
|
916
|
+
|
917
|
+
var grid = Utils.makeGrid(rows);
|
918
|
+
var selectColWidth = 1; //width of the select-row column
|
919
|
+
|
920
|
+
// if all columns should be deleted, remove the WHOLE table
|
921
|
+
// delete the whole table
|
922
|
+
if ( this.selection.selectedColumnIdxs.length == grid[0].length - selectColWidth ) {
|
923
|
+
|
924
|
+
Aloha.showMessage(new Aloha.Message({
|
925
|
+
title : i18n.t('Table'),
|
926
|
+
text : i18n.t('deletetable.confirm'),
|
927
|
+
type : Aloha.Message.Type.CONFIRM,
|
928
|
+
callback : function (sel) {
|
929
|
+
if (sel == 'yes') {
|
930
|
+
that.deleteTable();
|
931
|
+
}
|
932
|
+
}
|
933
|
+
}));
|
934
|
+
|
935
|
+
} else {
|
936
|
+
|
937
|
+
colIDs.sort(function(a,b) {return a - b;} );
|
938
|
+
|
939
|
+
// TODO check which cell should be focused after the deletion
|
940
|
+
// focusColID = colIDs[0];
|
941
|
+
// if ( focusColID > (this.numCols - colIDs.length) ) {
|
942
|
+
// focusColID --;
|
943
|
+
// }
|
944
|
+
|
945
|
+
//TODO there is a bug that that occurs if a column is
|
946
|
+
//selected and deleted, and then a column with a greater
|
947
|
+
//x-index is selected and deleted.
|
948
|
+
|
949
|
+
//sorted so we delete from right to left to minimize interfernce of deleted rows
|
950
|
+
var gridColumns = this.selection.selectedColumnIdxs.sort(function(a,b){ return b - a; });
|
951
|
+
for (var i = 0; i < gridColumns.length; i++) {
|
952
|
+
var gridColumn = gridColumns[i];
|
953
|
+
for (var j = 0; j < rows.length; j++) {
|
954
|
+
var cellInfo = grid[j][gridColumn];
|
955
|
+
if ( ! cellInfo ) {
|
956
|
+
//TODO this case occurred because of a bug somewhere which should be fixed
|
957
|
+
continue;
|
958
|
+
}
|
959
|
+
if ( 0 === cellInfo.spannedX ) {
|
960
|
+
if (1 < cellInfo.colspan) {
|
961
|
+
var nCell = this.newActiveCell().obj;
|
962
|
+
jQuery( cellInfo.cell ).after(nCell);
|
963
|
+
nCell.attr('rowspan', cellInfo.rowspan);
|
964
|
+
nCell.attr('colspan', cellInfo.colspan - 1);
|
965
|
+
}
|
966
|
+
jQuery( cellInfo.cell ).remove();
|
967
|
+
} else {
|
968
|
+
jQuery( cellInfo.cell ).attr('colspan', cellInfo.colspan - 1);
|
969
|
+
}
|
970
|
+
//ensures that always 0 === cellInfo.spannedY
|
971
|
+
j += cellInfo.rowspan - 1;
|
972
|
+
}
|
973
|
+
//rebuild the grid to reflect the table structure change
|
974
|
+
grid = Utils.makeGrid(rows);
|
975
|
+
}
|
976
|
+
|
977
|
+
// reduce the attribute storing the number of rows in the table
|
978
|
+
this.numCols -= colIDs.length;
|
979
|
+
|
980
|
+
// IE needs a timeout to work properly
|
981
|
+
setTimeout( function() {
|
982
|
+
var lastCell = jQuery( rows[1].cells[ focusColID +1 ] );
|
983
|
+
lastCell.focus()
|
984
|
+
}, 5);
|
985
|
+
|
986
|
+
this.selection.unselectCells();
|
987
|
+
}
|
988
|
+
};
|
989
|
+
|
990
|
+
/**
|
991
|
+
* Deletes the table from the dom and remove it from the tableRegistry.
|
992
|
+
*
|
993
|
+
* @return void
|
994
|
+
*/
|
995
|
+
Table.prototype.deleteTable = function() {
|
996
|
+
var deleteIndex = -1;
|
997
|
+
for (var i = 0; i < this.tablePlugin.TableRegistry.length; i++){
|
998
|
+
if (this.tablePlugin.TableRegistry[i].obj.attr('id') == this.obj.attr('id')) {
|
999
|
+
deleteIndex = i;
|
1000
|
+
break;
|
1001
|
+
}
|
1002
|
+
}
|
1003
|
+
if (deleteIndex >= 0) {
|
1004
|
+
// before deleting the table, deactivate it
|
1005
|
+
this.deactivate();
|
1006
|
+
|
1007
|
+
this.selection.selectionType = undefined;
|
1008
|
+
this.tablePlugin.TableRegistry.splice(i, 1);
|
1009
|
+
|
1010
|
+
// we will set the cursor right before the removed table
|
1011
|
+
var newRange = Aloha.Selection.rangeObject;
|
1012
|
+
// TODO set the correct range here (cursor shall be right before the removed table)
|
1013
|
+
newRange.startContainer = newRange.endContainer = this.obj.get(0).parentNode;
|
1014
|
+
newRange.startOffset = newRange.endOffset = GENTICS.Utils.Dom.getIndexInParent(this.obj.get(0).parentNode);
|
1015
|
+
newRange.clearCaches();
|
1016
|
+
|
1017
|
+
this.obj.remove();
|
1018
|
+
this.parentEditable.obj.focus();
|
1019
|
+
// select the new range
|
1020
|
+
newRange.correctRange();
|
1021
|
+
newRange.select();
|
1022
|
+
}
|
1023
|
+
};
|
1024
|
+
|
1025
|
+
/**
|
1026
|
+
* @param {string} position
|
1027
|
+
* could be 'after' or 'before'. defines the position where the new
|
1028
|
+
* rows should be inserted
|
1029
|
+
*/
|
1030
|
+
function rowIndexFromSelection( position, selection ) {
|
1031
|
+
|
1032
|
+
var newRowIndex = -1;
|
1033
|
+
|
1034
|
+
// get the index where the new rows should be inserted
|
1035
|
+
var cellOfInterest = null;
|
1036
|
+
if ( 'before' === position ) {
|
1037
|
+
cellOfInterest = selection.selectedCells[ 0 ];
|
1038
|
+
} else if ( 'after' === position ) {
|
1039
|
+
var offset = selection.selectedCells.length - 1;
|
1040
|
+
cellOfInterest = selection.selectedCells[ offset ];
|
1041
|
+
}
|
1042
|
+
|
1043
|
+
if (cellOfInterest && cellOfInterest.nodeType == 1) {
|
1044
|
+
newRowIndex = cellOfInterest.parentNode.rowIndex;
|
1045
|
+
}
|
1046
|
+
|
1047
|
+
return newRowIndex;
|
1048
|
+
}
|
1049
|
+
|
1050
|
+
/**
|
1051
|
+
* Wrapper function for this.addRow to add a row before the active row
|
1052
|
+
*
|
1053
|
+
* @see Table.prototype.addRow
|
1054
|
+
*/
|
1055
|
+
Table.prototype.addRowBeforeSelection = function(highlightNewRows) {
|
1056
|
+
var newRowIndex = rowIndexFromSelection( 'before', this.selection );
|
1057
|
+
if ( -1 !== newRowIndex ) {
|
1058
|
+
this.addRow( newRowIndex );
|
1059
|
+
}
|
1060
|
+
};
|
1061
|
+
|
1062
|
+
/**
|
1063
|
+
* Wrapper function for this.addRow to add a row after the active row
|
1064
|
+
*
|
1065
|
+
* @see Table.prototype.addRow
|
1066
|
+
*/
|
1067
|
+
Table.prototype.addRowAfterSelection = function() {
|
1068
|
+
var newRowIndex = rowIndexFromSelection( 'after', this.selection );
|
1069
|
+
if ( -1 !== newRowIndex ) {
|
1070
|
+
this.addRow( newRowIndex + 1 );
|
1071
|
+
}
|
1072
|
+
};
|
1073
|
+
|
1074
|
+
/**
|
1075
|
+
* Adds a new row to the table.
|
1076
|
+
*
|
1077
|
+
* @param {int} rowIndex
|
1078
|
+
* the index at which the new row shall be inserted
|
1079
|
+
*/
|
1080
|
+
Table.prototype.addRow = function(newRowIndex) {
|
1081
|
+
|
1082
|
+
var that = this;
|
1083
|
+
var rowsToInsert = 1;
|
1084
|
+
|
1085
|
+
var numCols = this.countVirtualCols();
|
1086
|
+
var $rows = this.obj.children().children('tr');
|
1087
|
+
for (var j = 0; j < rowsToInsert; j++) {
|
1088
|
+
var insertionRow = jQuery('<tr>');
|
1089
|
+
|
1090
|
+
// create the first column, the "select row" column
|
1091
|
+
var selectionColumn = jQuery('<td>');
|
1092
|
+
selectionColumn.addClass(this.get('classSelectionColumn'));
|
1093
|
+
this.attachRowSelectionEventsToCell(selectionColumn);
|
1094
|
+
insertionRow.append(selectionColumn);
|
1095
|
+
|
1096
|
+
var grid = Utils.makeGrid($rows);
|
1097
|
+
var selectColOffset = 1;
|
1098
|
+
if ( newRowIndex >= grid.length ) {
|
1099
|
+
for (var i = selectColOffset; i < grid[0].length; i++) {
|
1100
|
+
insertionRow.append(this.newActiveCell().obj);
|
1101
|
+
}
|
1102
|
+
} else {
|
1103
|
+
for (var i = selectColOffset; i < grid[newRowIndex].length; ) {
|
1104
|
+
var cellInfo = grid[newRowIndex][i];
|
1105
|
+
if (Utils.containsDomCell(cellInfo)) {
|
1106
|
+
var colspan = cellInfo.colspan;
|
1107
|
+
while (colspan--) {
|
1108
|
+
insertionRow.append(this.newActiveCell().obj);
|
1109
|
+
}
|
1110
|
+
} else {
|
1111
|
+
jQuery( cellInfo.cell ).attr('rowspan', cellInfo.rowspan + 1);
|
1112
|
+
}
|
1113
|
+
i += cellInfo.colspan;
|
1114
|
+
}
|
1115
|
+
}
|
1116
|
+
|
1117
|
+
if ( newRowIndex >= $rows.length ) {
|
1118
|
+
$rows.eq( $rows.length - 1 ).after( insertionRow );
|
1119
|
+
} else {
|
1120
|
+
$rows.eq( newRowIndex ).before( insertionRow );
|
1121
|
+
}
|
1122
|
+
}
|
1123
|
+
|
1124
|
+
this.numRows += rowsToInsert;
|
1125
|
+
};
|
1126
|
+
|
1127
|
+
/**
|
1128
|
+
* Wrapper method to add columns on the right side
|
1129
|
+
*
|
1130
|
+
* @see Table.addColumns
|
1131
|
+
* @return void
|
1132
|
+
*/
|
1133
|
+
Table.prototype.addColumnsRight = function () {
|
1134
|
+
this.addColumns('right');
|
1135
|
+
};
|
1136
|
+
|
1137
|
+
/**
|
1138
|
+
* Wrapper method to add columns on the left side
|
1139
|
+
*
|
1140
|
+
* @see Table.addColumns
|
1141
|
+
* @return void
|
1142
|
+
*/
|
1143
|
+
Table.prototype.addColumnsLeft = function() {
|
1144
|
+
this.addColumns('left');
|
1145
|
+
};
|
1146
|
+
|
1147
|
+
/**
|
1148
|
+
* Inserts new columns into the table. Either on the right or left side. If
|
1149
|
+
* columns are selected, the amount of selected columns will be inserted on the
|
1150
|
+
* 'right' or 'left' side. If no cells are selected, 1 new column will be
|
1151
|
+
* inserted before/after the column of the last active cell.
|
1152
|
+
* As well all column-selection events must be bound to the firsts row-cell.
|
1153
|
+
*
|
1154
|
+
* @param position
|
1155
|
+
* could be 'left' or 'right'. defines the position where the new
|
1156
|
+
* columns should be inserted
|
1157
|
+
* @return void
|
1158
|
+
*/
|
1159
|
+
Table.prototype.addColumns = function( position ) {
|
1160
|
+
var
|
1161
|
+
that = this,
|
1162
|
+
emptyCell = jQuery( '<td>' ),
|
1163
|
+
rows = this.getRows(),
|
1164
|
+
cell,
|
1165
|
+
currentColIdx,
|
1166
|
+
columnsToSelect = [],
|
1167
|
+
selectedColumnIdxs = this.selection.selectedColumnIdxs;
|
1168
|
+
|
1169
|
+
if ( 0 === selectedColumnIdxs.length ) {
|
1170
|
+
return;
|
1171
|
+
}
|
1172
|
+
|
1173
|
+
selectedColumnIdxs.sort( function ( a, b ) { return a - b; } );
|
1174
|
+
|
1175
|
+
// refuse to insert a column unless a consecutive range has been selected
|
1176
|
+
if ( ! Utils.isConsecutive( selectedColumnIdxs ) ) {
|
1177
|
+
Aloha.showMessage( new Aloha.Message( {
|
1178
|
+
title : i18n.t( 'Table' ),
|
1179
|
+
text : i18n.t( 'table.addColumns.nonConsecutive' ),
|
1180
|
+
type : Aloha.Message.Type.ALERT
|
1181
|
+
} ) );
|
1182
|
+
return;
|
1183
|
+
}
|
1184
|
+
|
1185
|
+
if ( 'left' === position ) {
|
1186
|
+
currentColIdx = selectedColumnIdxs[ 0 ];
|
1187
|
+
// inserting a row before the selected column indicies moves
|
1188
|
+
// all selected columns one to the right
|
1189
|
+
for ( var i = 0; i < this.selection.selectedColumnIdxs.length; i++ ) {
|
1190
|
+
this.selection.selectedColumnIdxs[ i ] += 1;
|
1191
|
+
}
|
1192
|
+
} else {//"right" == position
|
1193
|
+
currentColIdx = selectedColumnIdxs[ selectedColumnIdxs.length - 1 ];
|
1194
|
+
}
|
1195
|
+
|
1196
|
+
var grid = Utils.makeGrid( rows );
|
1197
|
+
|
1198
|
+
for ( var i = 0; i < rows.length; i++ ) {
|
1199
|
+
// prepare the cell to be inserted
|
1200
|
+
cell = emptyCell.clone();
|
1201
|
+
cell.html( '\u00a0' );
|
1202
|
+
|
1203
|
+
// on first row correct the position of the selected columns
|
1204
|
+
if ( i == 0 ) {
|
1205
|
+
// this is the first row, so make a column-selection cell
|
1206
|
+
this.attachColumnSelectEventsToCell( cell );
|
1207
|
+
} else {
|
1208
|
+
// activate the cell for this table
|
1209
|
+
cellObj = this.newActiveCell( cell.get(0) );
|
1210
|
+
cell = cellObj.obj;
|
1211
|
+
}
|
1212
|
+
|
1213
|
+
var leftCell = Utils.leftDomCell( grid, i, currentColIdx );
|
1214
|
+
if ( null == leftCell ) {
|
1215
|
+
jQuery( rows[i] ).prepend( cell );
|
1216
|
+
} else {
|
1217
|
+
if ( 'left' === position && Utils.containsDomCell( grid[ i ][ currentColIdx ] ) ) {
|
1218
|
+
jQuery( leftCell ).before( cell );
|
1219
|
+
} else {//right
|
1220
|
+
jQuery( leftCell ).after( cell );
|
1221
|
+
}
|
1222
|
+
}
|
1223
|
+
|
1224
|
+
this.numCols++;
|
1225
|
+
}
|
1226
|
+
};
|
1227
|
+
|
1228
|
+
/**
|
1229
|
+
* Helper method to set the focus-attribute of the table to true
|
1230
|
+
*
|
1231
|
+
* @return void
|
1232
|
+
*/
|
1233
|
+
Table.prototype.focus = function() {
|
1234
|
+
if (!this.hasFocus) {
|
1235
|
+
if (!this.parentEditable.isActive) {
|
1236
|
+
this.parentEditable.obj.focus();
|
1237
|
+
}
|
1238
|
+
|
1239
|
+
this.tablePlugin.setFocusedTable(this);
|
1240
|
+
|
1241
|
+
// select first cell
|
1242
|
+
// TODO put cursor in first cell without selecting
|
1243
|
+
// var firstCell = this.obj.find('tr:nth-child(2) td:nth-child(2)').children('div[contenteditable=true]').get(0);
|
1244
|
+
// jQuery(firstCell).get(0).focus();
|
1245
|
+
|
1246
|
+
}
|
1247
|
+
|
1248
|
+
// TODO workaround - fix this. the selection is updated later on by the browser
|
1249
|
+
// using setTimeout here is hideous, but a simple execution-time call will fail
|
1250
|
+
// DEACTIVATED by Haymo prevents selecting rows
|
1251
|
+
// setTimeout('Aloha.Selection.updateSelection(false, true)', 50);
|
1252
|
+
|
1253
|
+
};
|
1254
|
+
|
1255
|
+
/**
|
1256
|
+
* Helper method to set the focus-attribute of the table to false
|
1257
|
+
*
|
1258
|
+
* @return void
|
1259
|
+
*/
|
1260
|
+
Table.prototype.focusOut = function() {
|
1261
|
+
if (this.hasFocus) {
|
1262
|
+
this.tablePlugin.setFocusedTable(undefined);
|
1263
|
+
this.selection.selectionType = undefined;
|
1264
|
+
}
|
1265
|
+
};
|
1266
|
+
|
1267
|
+
/**
|
1268
|
+
* Undoes the cursor-selection after cells have been selected. This
|
1269
|
+
* is done to be more consistent in the UI - there should either be
|
1270
|
+
* a cursor-selection or a cell-selection, but not both.
|
1271
|
+
*/
|
1272
|
+
Table.prototype._removeCursorSelection = function() {
|
1273
|
+
// We can't remove the selection on IE because whenever a
|
1274
|
+
// row/column is selected, and then another row/column is
|
1275
|
+
// selected, the browser windows scrolls to the top of the page
|
1276
|
+
// (som kind of browser bug).
|
1277
|
+
|
1278
|
+
// This is no problem for IE because IE removes the
|
1279
|
+
// cursor-selection by itself and shows a frame around the
|
1280
|
+
// table, with resize handles (the frame seems useless).
|
1281
|
+
|
1282
|
+
// On other browsers, we can't remove the selection because the
|
1283
|
+
// floating menu will disappear when one selects a rows/column
|
1284
|
+
// and types a key (that's the same effect as when one clicks
|
1285
|
+
// outside the editable).
|
1286
|
+
|
1287
|
+
//TODO: currently, removing the cursor selection can't be
|
1288
|
+
// reliably implemented.
|
1289
|
+
//if ( ! jQuery.browser.msie ) {
|
1290
|
+
// Aloha.getSelection().removeAllRanges();
|
1291
|
+
//}
|
1292
|
+
|
1293
|
+
// The following is a workaround for the above because we can't
|
1294
|
+
// leave the cursor-selection outside of the table, since
|
1295
|
+
// otherwise the floating menu scope will be incorrect when one
|
1296
|
+
// CTRL-clicks on the rows or columns.
|
1297
|
+
var selection = Aloha.getSelection();
|
1298
|
+
|
1299
|
+
if ( !selection ||
|
1300
|
+
!selection._nativeSelection ||
|
1301
|
+
selection._nativeSelection._ranges.length == 0 ) {
|
1302
|
+
return;
|
1303
|
+
}
|
1304
|
+
|
1305
|
+
var range = selection.getRangeAt( 0 );
|
1306
|
+
if ( null == range.startContainer ) {
|
1307
|
+
return;
|
1308
|
+
}
|
1309
|
+
|
1310
|
+
// if the selection is already in the table, do nothing
|
1311
|
+
if ( 0 !== jQuery( range.startContainer ).closest('table').length ) {
|
1312
|
+
return;
|
1313
|
+
}
|
1314
|
+
|
1315
|
+
// if no cells are selected, do nothing
|
1316
|
+
if ( 0 === this.selection.selectedCells.length ) {
|
1317
|
+
return;
|
1318
|
+
}
|
1319
|
+
|
1320
|
+
// set the foces to the first selected cell
|
1321
|
+
var container = TableCell.getContainer( this.selection.selectedCells[ 0 ] );
|
1322
|
+
jQuery( container ).focus();
|
1323
|
+
}
|
1324
|
+
|
1325
|
+
/**
|
1326
|
+
* Marks all cells of the specified column as marked (adds a special class)
|
1327
|
+
*
|
1328
|
+
* @return void
|
1329
|
+
*/
|
1330
|
+
Table.prototype.selectColumns = function ( columns ) {
|
1331
|
+
var columnsToSelect;
|
1332
|
+
|
1333
|
+
if ( columns ) {
|
1334
|
+
columnsToSelect = columns;
|
1335
|
+
} else {
|
1336
|
+
columnsToSelect = this.columnsToSelect;
|
1337
|
+
}
|
1338
|
+
|
1339
|
+
// ====== BEGIN UI specific code - should be handled on event aloha-table-selection-changed by UI =======
|
1340
|
+
// activate all column formatting button
|
1341
|
+
for ( var i = 0; i < this.tablePlugin.columnMSItems.length; i++ ) {
|
1342
|
+
this.tablePlugin.columnMSButton.showItem(this.tablePlugin.columnMSItems[i].name);
|
1343
|
+
}
|
1344
|
+
|
1345
|
+
FloatingMenu.setScope(this.tablePlugin.name + '.column');
|
1346
|
+
|
1347
|
+
this.tablePlugin.columnHeader.setPressed( this.selection.isHeader() );
|
1348
|
+
|
1349
|
+
var rows = this.getRows();
|
1350
|
+
|
1351
|
+
// set the first class found as active item in the multisplit button
|
1352
|
+
this.tablePlugin.columnMSButton.setActiveItem();
|
1353
|
+
for (var k = 0; k < this.tablePlugin.columnConfig.length; k++) {
|
1354
|
+
if ( jQuery(rows[0].cells[0]).hasClass(this.tablePlugin.columnConfig[k].cssClass) ) {
|
1355
|
+
this.tablePlugin.columnMSButton.setActiveItem(this.tablePlugin.columnConfig[k].name);
|
1356
|
+
k = this.tablePlugin.columnConfig.length;
|
1357
|
+
}
|
1358
|
+
}
|
1359
|
+
|
1360
|
+
// ====== END UI specific code - should be handled by UI =======
|
1361
|
+
|
1362
|
+
// blur all editables within the table
|
1363
|
+
this.obj.find('div.aloha-ui-table-cell-editable').blur();
|
1364
|
+
|
1365
|
+
this.selection.selectColumns( columnsToSelect );
|
1366
|
+
|
1367
|
+
this.selection.notifyCellsSelected();
|
1368
|
+
this._removeCursorSelection();
|
1369
|
+
};
|
1370
|
+
|
1371
|
+
/**
|
1372
|
+
* Marks all cells of the specified row as marked (adds a special class)
|
1373
|
+
*
|
1374
|
+
* @return void
|
1375
|
+
*/
|
1376
|
+
Table.prototype.selectRows = function () {
|
1377
|
+
|
1378
|
+
// // get the class which selected cells should have
|
1379
|
+
// var selectClass = this.get('classCellSelected');
|
1380
|
+
//
|
1381
|
+
// // unselect selected cells
|
1382
|
+
// TableSelection.unselectCells();
|
1383
|
+
|
1384
|
+
// activate all row formatting button
|
1385
|
+
for (var i = 0; i < this.tablePlugin.rowMSItems.length; i++ ) {
|
1386
|
+
this.tablePlugin.rowMSButton.showItem(this.tablePlugin.rowMSItems[i].name);
|
1387
|
+
}
|
1388
|
+
|
1389
|
+
// this.rowsToSelect.sort(function (a,b) {return a - b;});
|
1390
|
+
|
1391
|
+
|
1392
|
+
// set the status of the table header button to the status of the
|
1393
|
+
// frist 2 selected cells (index 1+2). First cell is for selection.
|
1394
|
+
// if ( this.rowsToSelect && this.rowsToSelect.length > 0 &&
|
1395
|
+
// rowCells && rowCells[0] ) {
|
1396
|
+
// if ( rowCells[1] ) {
|
1397
|
+
// TablePlugin.rowHeader.setPressed(
|
1398
|
+
// // take 1 column to detect if the header button is pressd
|
1399
|
+
// rowsCells[1].nodeName.toLowerCase() == 'th' &&
|
1400
|
+
// rowsCells[2].nodeName.toLowerCase() == 'th'
|
1401
|
+
// );
|
1402
|
+
// } else {
|
1403
|
+
// TablePlugin.rowHeader.setPressed( rowCells[1].nodeName.toLowerCase() == 'th');
|
1404
|
+
// }
|
1405
|
+
// }
|
1406
|
+
//
|
1407
|
+
for (var i = 0; i < this.rowsToSelect.length; i++) {
|
1408
|
+
var rowId = this.rowsToSelect[i];
|
1409
|
+
var rowCells = jQuery(this.getRows()[rowId].cells).toArray();
|
1410
|
+
|
1411
|
+
if (i == 0) {
|
1412
|
+
// set the status of the table header button to the status of the first 2 selected
|
1413
|
+
// cells (index 1 + 2). The first cell is the selection-helper
|
1414
|
+
// TablePlugin.rowHeader.setPressed(
|
1415
|
+
// rowCells[1].nodeName.toLowerCase() == 'th' &&
|
1416
|
+
// rowCells[2].nodeName.toLowerCase() == 'th'
|
1417
|
+
//// jQuery(rowCells[1]).attr('scope') == 'col'
|
1418
|
+
// );
|
1419
|
+
|
1420
|
+
// set the first class found as active item in the multisplit button
|
1421
|
+
for (var j = 0; j < rowCells.length; j++) {
|
1422
|
+
this.tablePlugin.rowMSButton.setActiveItem();
|
1423
|
+
for ( var k = 0; k < this.tablePlugin.rowConfig.length; k++) {
|
1424
|
+
if (jQuery(rowCells[j]).hasClass(this.tablePlugin.rowConfig[k].cssClass) ) {
|
1425
|
+
this.tablePlugin.rowMSButton.setActiveItem(this.tablePlugin.rowConfig[k].name);
|
1426
|
+
k = this.tablePlugin.rowConfig.length;
|
1427
|
+
}
|
1428
|
+
}
|
1429
|
+
}
|
1430
|
+
}
|
1431
|
+
|
1432
|
+
// // shift the first element (which is a selection-helper cell)
|
1433
|
+
// rowCells.shift();
|
1434
|
+
//
|
1435
|
+
// TableSelection.selectedCells = TableSelection.selectedCells.concat(rowCells);
|
1436
|
+
//
|
1437
|
+
// jQuery(rowCells).addClass(this.get('classCellSelected'));
|
1438
|
+
}
|
1439
|
+
|
1440
|
+
// TableSelection.selectionType = 'row';
|
1441
|
+
FloatingMenu.setScope(this.tablePlugin.name + '.row');
|
1442
|
+
|
1443
|
+
this.selection.selectRows( this.rowsToSelect );
|
1444
|
+
this.tablePlugin.columnHeader.setPressed( this.selection.isHeader() );
|
1445
|
+
|
1446
|
+
// blur all editables within the table
|
1447
|
+
this.obj.find('div.aloha-ui-table-cell-editable').blur();
|
1448
|
+
|
1449
|
+
this.selection.notifyCellsSelected();
|
1450
|
+
this._removeCursorSelection();
|
1451
|
+
};
|
1452
|
+
|
1453
|
+
/**
|
1454
|
+
* Deactivation of a Aloha-table. Clean up ... remove the wrapping div and the
|
1455
|
+
* selection-helper divs
|
1456
|
+
*
|
1457
|
+
* @return void
|
1458
|
+
*/
|
1459
|
+
Table.prototype.deactivate = function() {
|
1460
|
+
this.obj.removeClass(this.get('className'));
|
1461
|
+
if (jQuery.trim(this.obj.attr('class')) == '') {
|
1462
|
+
this.obj.removeAttr('class');
|
1463
|
+
}
|
1464
|
+
this.obj.removeAttr('contenteditable');
|
1465
|
+
// this.obj.removeAttr('id');
|
1466
|
+
|
1467
|
+
// unwrap the selectionLeft-div if available
|
1468
|
+
if (this.obj.parents('.' + this.get('classTableWrapper')).length){
|
1469
|
+
this.obj.unwrap();
|
1470
|
+
}
|
1471
|
+
|
1472
|
+
// remove the selection row
|
1473
|
+
this.obj.find('tr.' + this.get('classSelectionRow') + ':first').remove();
|
1474
|
+
// remove the selection column (first column left)
|
1475
|
+
var that = this;
|
1476
|
+
jQuery.each(this.obj.context.rows, function(){
|
1477
|
+
jQuery(this).children('td.' + that.get('classSelectionColumn')).remove();
|
1478
|
+
});
|
1479
|
+
|
1480
|
+
// remove the "selection class" from all td and th in the table
|
1481
|
+
this.obj.find('td, th').removeClass(this.get('classCellSelected'));
|
1482
|
+
|
1483
|
+
this.obj.unbind();
|
1484
|
+
// wrap the inner html of the contentEditable div to its outer html
|
1485
|
+
for (var i = 0; i < this.cells.length; i++) {
|
1486
|
+
var Cell = this.cells[i];
|
1487
|
+
Cell.deactivate();
|
1488
|
+
}
|
1489
|
+
|
1490
|
+
// remove editable span in caption (if any)
|
1491
|
+
this.obj.find('caption div').each(function() {
|
1492
|
+
jQuery(this).contents().unwrap();
|
1493
|
+
});
|
1494
|
+
|
1495
|
+
// better unset ;-) otherwise activate() may think you're activated.
|
1496
|
+
this.isActive = false;
|
1497
|
+
};
|
1498
|
+
|
1499
|
+
/**
|
1500
|
+
* toString-method for Table object
|
1501
|
+
*
|
1502
|
+
* @return void
|
1503
|
+
*/
|
1504
|
+
Table.prototype.toString = function() {
|
1505
|
+
return 'Table';
|
1506
|
+
};
|
1507
|
+
|
1508
|
+
Table.prototype.newCell = function(domElement) {
|
1509
|
+
return new TableCell(domElement, this);
|
1510
|
+
};
|
1511
|
+
|
1512
|
+
Table.prototype.newActiveCell = function(domElement) {
|
1513
|
+
var cell = new TableCell(domElement, this);
|
1514
|
+
cell.activate();
|
1515
|
+
return cell;
|
1516
|
+
};
|
1517
|
+
|
1518
|
+
/**
|
1519
|
+
* @return the rows of the table as an array of DOM nodes
|
1520
|
+
*/
|
1521
|
+
Table.prototype.getRows = function () {
|
1522
|
+
//W3C DOM property .rows supported by all modern browsers
|
1523
|
+
var rows = this.obj.get( 0 ).rows;
|
1524
|
+
//converts the HTMLCollection to a real array
|
1525
|
+
return jQuery.makeArray( rows );
|
1526
|
+
};
|
1527
|
+
|
1528
|
+
return Table;
|
1529
|
+
});
|