tinymce-rails 3.4.4 → 3.4.4.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +18 -0
- data/README.md +1 -1
- data/Rakefile +34 -36
- data/assets/integration/tinymce-jquery.js +3 -0
- data/assets/integration/tinymce.js +1 -1
- data/assets/integration/tinymce/preinit.js.erb +5 -0
- data/assets/{vendor → precompiled}/tinymce/jquery.tinymce.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/langs/en.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/license.txt +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/advhr/css/advhr.css +0 -0
- data/assets/precompiled/tinymce/plugins/advhr/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/advhr/editor_plugin.js → precompiled/tinymce/plugins/advhr/editor_plugin_src.js} +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/advhr/js/rule.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/advhr/langs/en_dlg.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/advhr/rule.htm +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/advimage/css/advimage.css +0 -0
- data/assets/precompiled/tinymce/plugins/advimage/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/advimage/editor_plugin.js → precompiled/tinymce/plugins/advimage/editor_plugin_src.js} +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/advimage/image.htm +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/advimage/img/sample.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/advimage/js/image.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/advimage/langs/en_dlg.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/advlink/css/advlink.css +0 -0
- data/assets/precompiled/tinymce/plugins/advlink/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/advlink/editor_plugin.js → precompiled/tinymce/plugins/advlink/editor_plugin_src.js} +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/advlink/js/advlink.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/advlink/langs/en_dlg.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/advlink/link.htm +0 -0
- data/assets/precompiled/tinymce/plugins/advlist/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/advlist/editor_plugin.js → precompiled/tinymce/plugins/advlist/editor_plugin_src.js} +0 -0
- data/assets/precompiled/tinymce/plugins/autolink/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/autolink/editor_plugin.js → precompiled/tinymce/plugins/autolink/editor_plugin_src.js} +0 -0
- data/assets/precompiled/tinymce/plugins/autoresize/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/autoresize/editor_plugin.js → precompiled/tinymce/plugins/autoresize/editor_plugin_src.js} +0 -0
- data/assets/precompiled/tinymce/plugins/autosave/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/autosave/editor_plugin.js → precompiled/tinymce/plugins/autosave/editor_plugin_src.js} +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/autosave/langs/en.js +0 -0
- data/assets/precompiled/tinymce/plugins/bbcode/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/bbcode/editor_plugin.js → precompiled/tinymce/plugins/bbcode/editor_plugin_src.js} +0 -0
- data/assets/precompiled/tinymce/plugins/contextmenu/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/contextmenu/editor_plugin.js → precompiled/tinymce/plugins/contextmenu/editor_plugin_src.js} +0 -0
- data/assets/precompiled/tinymce/plugins/directionality/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/directionality/editor_plugin.js → precompiled/tinymce/plugins/directionality/editor_plugin_src.js} +0 -0
- data/assets/precompiled/tinymce/plugins/emotions/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/emotions/editor_plugin.js → precompiled/tinymce/plugins/emotions/editor_plugin_src.js} +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/emotions/emotions.htm +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/emotions/img/smiley-cool.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/emotions/img/smiley-cry.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/emotions/img/smiley-embarassed.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/emotions/img/smiley-foot-in-mouth.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/emotions/img/smiley-frown.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/emotions/img/smiley-innocent.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/emotions/img/smiley-kiss.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/emotions/img/smiley-laughing.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/emotions/img/smiley-money-mouth.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/emotions/img/smiley-sealed.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/emotions/img/smiley-smile.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/emotions/img/smiley-surprised.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/emotions/img/smiley-tongue-out.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/emotions/img/smiley-undecided.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/emotions/img/smiley-wink.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/emotions/img/smiley-yell.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/emotions/js/emotions.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/emotions/langs/en_dlg.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/example/dialog.htm +0 -0
- data/assets/precompiled/tinymce/plugins/example/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/example/editor_plugin.js → precompiled/tinymce/plugins/example/editor_plugin_src.js} +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/example/img/example.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/example/js/dialog.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/example/langs/en.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/example/langs/en_dlg.js +0 -0
- data/assets/precompiled/tinymce/plugins/example_dependency/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/example_dependency/editor_plugin.js → precompiled/tinymce/plugins/example_dependency/editor_plugin_src.js} +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/fullpage/css/fullpage.css +0 -0
- data/assets/precompiled/tinymce/plugins/fullpage/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/fullpage/editor_plugin.js → precompiled/tinymce/plugins/fullpage/editor_plugin_src.js} +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/fullpage/fullpage.htm +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/fullpage/js/fullpage.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/fullpage/langs/en_dlg.js +0 -0
- data/assets/precompiled/tinymce/plugins/fullscreen/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/fullscreen/editor_plugin.js → precompiled/tinymce/plugins/fullscreen/editor_plugin_src.js} +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/fullscreen/fullscreen.htm +0 -0
- data/assets/precompiled/tinymce/plugins/iespell/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/iespell/editor_plugin.js → precompiled/tinymce/plugins/iespell/editor_plugin_src.js} +0 -0
- data/assets/precompiled/tinymce/plugins/inlinepopups/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/inlinepopups/editor_plugin.js → precompiled/tinymce/plugins/inlinepopups/editor_plugin_src.js} +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/inlinepopups/skins/clearlooks2/window.css +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/inlinepopups/template.htm +0 -0
- data/assets/precompiled/tinymce/plugins/insertdatetime/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/insertdatetime/editor_plugin.js → precompiled/tinymce/plugins/insertdatetime/editor_plugin_src.js} +0 -0
- data/assets/precompiled/tinymce/plugins/layer/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/layer/editor_plugin.js → precompiled/tinymce/plugins/layer/editor_plugin_src.js} +0 -0
- data/assets/precompiled/tinymce/plugins/legacyoutput/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/legacyoutput/editor_plugin.js → precompiled/tinymce/plugins/legacyoutput/editor_plugin_src.js} +0 -0
- data/assets/precompiled/tinymce/plugins/lists/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/lists/editor_plugin.js → precompiled/tinymce/plugins/lists/editor_plugin_src.js} +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/media/css/media.css +0 -0
- data/assets/precompiled/tinymce/plugins/media/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/media/editor_plugin.js → precompiled/tinymce/plugins/media/editor_plugin_src.js} +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/media/js/embed.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/media/js/media.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/media/langs/en_dlg.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/media/media.htm +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/media/moxieplayer.swf +0 -0
- data/assets/precompiled/tinymce/plugins/nonbreaking/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/nonbreaking/editor_plugin.js → precompiled/tinymce/plugins/nonbreaking/editor_plugin_src.js} +0 -0
- data/assets/precompiled/tinymce/plugins/noneditable/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/noneditable/editor_plugin.js → precompiled/tinymce/plugins/noneditable/editor_plugin_src.js} +0 -0
- data/assets/precompiled/tinymce/plugins/pagebreak/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/pagebreak/editor_plugin.js → precompiled/tinymce/plugins/pagebreak/editor_plugin_src.js} +0 -0
- data/assets/precompiled/tinymce/plugins/paste/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/paste/editor_plugin.js → precompiled/tinymce/plugins/paste/editor_plugin_src.js} +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/paste/js/pastetext.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/paste/js/pasteword.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/paste/langs/en_dlg.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/paste/pastetext.htm +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/paste/pasteword.htm +0 -0
- data/assets/precompiled/tinymce/plugins/preview/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/preview/editor_plugin.js → precompiled/tinymce/plugins/preview/editor_plugin_src.js} +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/preview/example.html +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/preview/jscripts/embed.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/preview/preview.html +0 -0
- data/assets/precompiled/tinymce/plugins/print/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/print/editor_plugin.js → precompiled/tinymce/plugins/print/editor_plugin_src.js} +0 -0
- data/assets/precompiled/tinymce/plugins/save/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/save/editor_plugin.js → precompiled/tinymce/plugins/save/editor_plugin_src.js} +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/searchreplace/css/searchreplace.css +0 -0
- data/assets/precompiled/tinymce/plugins/searchreplace/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/searchreplace/editor_plugin.js → precompiled/tinymce/plugins/searchreplace/editor_plugin_src.js} +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/searchreplace/js/searchreplace.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/searchreplace/langs/en_dlg.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/searchreplace/searchreplace.htm +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/spellchecker/css/content.css +0 -0
- data/assets/precompiled/tinymce/plugins/spellchecker/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/spellchecker/editor_plugin.js → precompiled/tinymce/plugins/spellchecker/editor_plugin_src.js} +1 -1
- data/assets/{vendor → precompiled}/tinymce/plugins/spellchecker/img/wline.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/style/css/props.css +0 -0
- data/assets/precompiled/tinymce/plugins/style/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/style/editor_plugin.js → precompiled/tinymce/plugins/style/editor_plugin_src.js} +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/style/js/props.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/style/langs/en_dlg.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/style/props.htm +0 -0
- data/assets/precompiled/tinymce/plugins/tabfocus/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/tabfocus/editor_plugin.js → precompiled/tinymce/plugins/tabfocus/editor_plugin_src.js} +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/table/cell.htm +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/table/css/cell.css +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/table/css/row.css +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/table/css/table.css +0 -0
- data/assets/precompiled/tinymce/plugins/table/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/table/editor_plugin.js → precompiled/tinymce/plugins/table/editor_plugin_src.js} +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/table/js/cell.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/table/js/merge_cells.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/table/js/row.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/table/js/table.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/table/langs/en_dlg.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/table/merge_cells.htm +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/table/row.htm +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/table/table.htm +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/template/blank.htm +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/template/css/template.css +0 -0
- data/assets/precompiled/tinymce/plugins/template/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/template/editor_plugin.js → precompiled/tinymce/plugins/template/editor_plugin_src.js} +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/template/js/template.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/template/langs/en_dlg.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/template/template.htm +0 -0
- data/assets/precompiled/tinymce/plugins/visualchars/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/visualchars/editor_plugin.js → precompiled/tinymce/plugins/visualchars/editor_plugin_src.js} +0 -0
- data/assets/precompiled/tinymce/plugins/wordcount/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/wordcount/editor_plugin.js → precompiled/tinymce/plugins/wordcount/editor_plugin_src.js} +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/xhtmlxtras/abbr.htm +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/xhtmlxtras/acronym.htm +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/xhtmlxtras/attributes.htm +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/xhtmlxtras/cite.htm +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/xhtmlxtras/css/attributes.css +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/xhtmlxtras/css/popup.css +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/xhtmlxtras/del.htm +0 -0
- data/assets/precompiled/tinymce/plugins/xhtmlxtras/editor_plugin.js +1 -0
- data/assets/{vendor/tinymce/plugins/xhtmlxtras/editor_plugin.js → precompiled/tinymce/plugins/xhtmlxtras/editor_plugin_src.js} +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/xhtmlxtras/ins.htm +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/xhtmlxtras/js/abbr.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/xhtmlxtras/js/acronym.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/xhtmlxtras/js/attributes.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/xhtmlxtras/js/cite.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/xhtmlxtras/js/del.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/xhtmlxtras/js/element_common.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/xhtmlxtras/js/ins.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/plugins/xhtmlxtras/langs/en_dlg.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/about.htm +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/anchor.htm +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/charmap.htm +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/color_picker.htm +0 -0
- data/assets/precompiled/tinymce/themes/advanced/editor_template.js +1 -0
- data/assets/{vendor/tinymce/themes/advanced/editor_template.js → precompiled/tinymce/themes/advanced/editor_template_src.js} +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/image.htm +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/img/colorpicker.jpg +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/img/flash.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/img/icons.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/img/iframe.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/img/pagebreak.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/img/quicktime.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/img/realmedia.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/img/shockwave.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/img/trans.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/img/video.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/img/windowsmedia.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/js/about.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/js/anchor.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/js/charmap.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/js/color_picker.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/js/image.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/js/link.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/js/source_editor.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/langs/en.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/langs/en_dlg.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/link.htm +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/shortcuts.htm +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/skins/default/content.css +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/skins/default/dialog.css +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/skins/default/img/buttons.png +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/skins/default/img/items.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/skins/default/img/menu_check.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/skins/default/img/progress.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/skins/default/img/tabs.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/skins/default/ui.css +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/skins/highcontrast/content.css +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/skins/highcontrast/dialog.css +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/skins/highcontrast/ui.css +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/skins/o2k7/content.css +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/skins/o2k7/dialog.css +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/skins/o2k7/ui.css +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/skins/o2k7/ui_black.css +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/skins/o2k7/ui_silver.css +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/advanced/source_editor.htm +0 -0
- data/assets/precompiled/tinymce/themes/simple/editor_template.js +1 -0
- data/assets/{vendor/tinymce/themes/simple/editor_template.js → precompiled/tinymce/themes/simple/editor_template_src.js} +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/simple/img/icons.gif +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/simple/langs/en.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/simple/skins/default/content.css +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/simple/skins/default/ui.css +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/simple/skins/o2k7/content.css +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/simple/skins/o2k7/img/button_bg.png +0 -0
- data/assets/{vendor → precompiled}/tinymce/themes/simple/skins/o2k7/ui.css +0 -0
- data/assets/precompiled/tinymce/tiny_mce.js +1 -0
- data/assets/precompiled/tinymce/tiny_mce_jquery.js +1 -0
- data/assets/precompiled/tinymce/tiny_mce_jquery_src.js +15519 -0
- data/assets/{vendor → precompiled}/tinymce/tiny_mce_popup.js +0 -0
- data/assets/precompiled/tinymce/tiny_mce_src.js +16342 -0
- data/assets/{vendor → precompiled}/tinymce/utils/editable_selects.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/utils/form_utils.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/utils/mctabs.js +0 -0
- data/assets/{vendor → precompiled}/tinymce/utils/validate.js +0 -0
- data/assets/vendor/tinymce/jquery-tinymce.js +1 -0
- data/assets/vendor/tinymce/tiny_mce.js +1202 -379
- data/assets/vendor/tinymce/tiny_mce_jquery.js +15519 -0
- data/lib/tinymce/assets.rake +12 -0
- data/lib/tinymce/railtie.rb +13 -4
- data/lib/tinymce/version.rb +2 -1
- metadata +272 -237
- data/assets/integration/tinymce.jquery.js +0 -3
- data/assets/integration/tinymce.preinit.js.erb +0 -1
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
(function(b){var e,d,a=[],c=window;b.fn.tinymce=function(j){var p=this,g,k,h,m,i,l="",n="";if(!p.length){return p}if(!j){return tinyMCE.get(p[0].id)}p.css("visibility","hidden");function o(){var r=[],q=0;if(f){f();f=null}p.each(function(t,u){var s,w=u.id,v=j.oninit;if(!w){u.id=w=tinymce.DOM.uniqueId()}s=new tinymce.Editor(w,j);r.push(s);s.onInit.add(function(){var x,y=v;p.css("visibility","");if(v){if(++q==r.length){if(tinymce.is(y,"string")){x=(y.indexOf(".")===-1)?null:tinymce.resolve(y.replace(/\.\w+$/,""));y=tinymce.resolve(y)}y.apply(x||tinymce,r)}}})});b.each(r,function(t,s){s.render()})}if(!c.tinymce&&!d&&(g=j.script_url)){d=1;h=g.substring(0,g.lastIndexOf("/"));if(/_(src|dev)\.js/g.test(g)){n="_src"}m=g.lastIndexOf("?");if(m!=-1){l=g.substring(m+1)}c.tinyMCEPreInit=c.tinyMCEPreInit||{base:h,suffix:n,query:l};if(g.indexOf("gzip")!=-1){i=j.language||"en";g=g+(/\?/.test(g)?"&":"?")+"js=true&core=true&suffix="+escape(n)+"&themes="+escape(j.theme)+"&plugins="+escape(j.plugins)+"&languages="+i;if(!c.tinyMCE_GZ){tinyMCE_GZ={start:function(){tinymce.suffix=n;function q(r){tinymce.ScriptLoader.markDone(tinyMCE.baseURI.toAbsolute(r))}q("langs/"+i+".js");q("themes/"+j.theme+"/editor_template"+n+".js");q("themes/"+j.theme+"/langs/"+i+".js");b.each(j.plugins.split(","),function(s,r){if(r){q("plugins/"+r+"/editor_plugin"+n+".js");q("plugins/"+r+"/langs/"+i+".js")}})},end:function(){}}}}b.ajax({type:"GET",url:g,dataType:"script",cache:true,success:function(){tinymce.dom.Event.domLoaded=1;d=2;if(j.script_loaded){j.script_loaded()}o();b.each(a,function(q,r){r()})}})}else{if(d===1){a.push(o)}else{o()}}return p};b.extend(b.expr[":"],{tinymce:function(g){return g.id&&!!tinyMCE.get(g.id)}});function f(){function i(l){if(l==="remove"){this.each(function(n,o){var m=h(o);if(m){m.remove()}})}this.find("span.mceEditor,div.mceEditor").each(function(n,o){var m=tinyMCE.get(o.id.replace(/_parent$/,""));if(m){m.remove()}})}function k(n){var m=this,l;if(n!==e){i.call(m);m.each(function(p,q){var o;if(o=tinyMCE.get(q.id)){o.setContent(n)}})}else{if(m.length>0){if(l=tinyMCE.get(m[0].id)){return l.getContent()}}}}function h(m){var l=null;(m)&&(m.id)&&(c.tinymce)&&(l=tinyMCE.get(m.id));return l}function g(l){return !!((l)&&(l.length)&&(c.tinymce)&&(l.is(":tinymce")))}var j={};b.each(["text","html","val"],function(n,l){var o=j[l]=b.fn[l],m=(l==="text");b.fn[l]=function(s){var p=this;if(!g(p)){return o.apply(p,arguments)}if(s!==e){k.call(p.filter(":tinymce"),s);o.apply(p.not(":tinymce"),arguments);return p}else{var r="";var q=arguments;(m?p:p.eq(0)).each(function(u,v){var t=h(v);r+=t?(m?t.getContent().replace(/<(?:"[^"]*"|'[^']*'|[^'">])*>/g,""):t.getContent()):o.apply(b(v),q)});return r}}});b.each(["append","prepend"],function(n,m){var o=j[m]=b.fn[m],l=(m==="prepend");b.fn[m]=function(q){var p=this;if(!g(p)){return o.apply(p,arguments)}if(q!==e){p.filter(":tinymce").each(function(s,t){var r=h(t);r&&r.setContent(l?q+r.getContent():r.getContent()+q)});o.apply(p.not(":tinymce"),arguments);return p}}});b.each(["remove","replaceWith","replaceAll","empty"],function(m,l){var n=j[l]=b.fn[l];b.fn[l]=function(){i.call(this,l);return n.apply(this,arguments)}});j.attr=b.fn.attr;b.fn.attr=function(n,q,o){var m=this;if((!n)||(n!=="value")||(!g(m))){return j.attr.call(m,n,q,o)}if(q!==e){k.call(m.filter(":tinymce"),q);j.attr.call(m.not(":tinymce"),n,q,o);return m}else{var p=m[0],l=h(p);return l?l.getContent():j.attr.call(b(p),n,q,o)}}}})(jQuery);
|
@@ -157,6 +157,56 @@
|
|
157
157
|
},
|
158
158
|
|
159
159
|
|
160
|
+
map : function(a, f) {
|
161
|
+
var o = [];
|
162
|
+
|
163
|
+
tinymce.each(a, function(v) {
|
164
|
+
o.push(f(v));
|
165
|
+
});
|
166
|
+
|
167
|
+
return o;
|
168
|
+
},
|
169
|
+
|
170
|
+
grep : function(a, f) {
|
171
|
+
var o = [];
|
172
|
+
|
173
|
+
tinymce.each(a, function(v) {
|
174
|
+
if (!f || f(v))
|
175
|
+
o.push(v);
|
176
|
+
});
|
177
|
+
|
178
|
+
return o;
|
179
|
+
},
|
180
|
+
|
181
|
+
inArray : function(a, v) {
|
182
|
+
var i, l;
|
183
|
+
|
184
|
+
if (a) {
|
185
|
+
for (i = 0, l = a.length; i < l; i++) {
|
186
|
+
if (a[i] === v)
|
187
|
+
return i;
|
188
|
+
}
|
189
|
+
}
|
190
|
+
|
191
|
+
return -1;
|
192
|
+
},
|
193
|
+
|
194
|
+
extend : function(o, e) {
|
195
|
+
var i, l, a = arguments;
|
196
|
+
|
197
|
+
for (i = 1, l = a.length; i < l; i++) {
|
198
|
+
e = a[i];
|
199
|
+
|
200
|
+
tinymce.each(e, function(v, n) {
|
201
|
+
if (v !== undefined)
|
202
|
+
o[n] = v;
|
203
|
+
});
|
204
|
+
}
|
205
|
+
|
206
|
+
return o;
|
207
|
+
},
|
208
|
+
|
209
|
+
|
160
210
|
trim : function(s) {
|
161
211
|
return (s ? '' + s : '').replace(whiteSpaceRe, '');
|
162
212
|
},
|
@@ -442,331 +492,6 @@
|
|
442
492
|
})(window);
|
443
493
|
|
444
494
|
|
445
|
-
(function($, tinymce) {
|
446
|
-
var is = tinymce.is, attrRegExp = /^(href|src|style)$/i, undefined;
|
447
|
-
|
448
|
-
// jQuery is undefined
|
449
|
-
if (!$ && window.console) {
|
450
|
-
return console.log("Load jQuery first!");
|
451
|
-
}
|
452
|
-
|
453
|
-
// Stick jQuery into the tinymce namespace
|
454
|
-
tinymce.$ = $;
|
455
|
-
|
456
|
-
// Setup adapter
|
457
|
-
tinymce.adapter = {
|
458
|
-
patchEditor : function(editor) {
|
459
|
-
var fn = $.fn;
|
460
|
-
|
461
|
-
// Adapt the css function to make sure that the data-mce-style
|
462
|
-
// attribute gets updated with the new style information
|
463
|
-
function css(name, value) {
|
464
|
-
var self = this;
|
465
|
-
|
466
|
-
// Remove data-mce-style when set operation occurs
|
467
|
-
if (value)
|
468
|
-
self.removeAttr('data-mce-style');
|
469
|
-
|
470
|
-
return fn.css.apply(self, arguments);
|
471
|
-
};
|
472
|
-
|
473
|
-
// Apapt the attr function to make sure that it uses the data-mce- prefixed variants
|
474
|
-
function attr(name, value) {
|
475
|
-
var self = this;
|
476
|
-
|
477
|
-
// Update/retrive data-mce- attribute variants
|
478
|
-
if (attrRegExp.test(name)) {
|
479
|
-
if (value !== undefined) {
|
480
|
-
// Use TinyMCE behavior when setting the specifc attributes
|
481
|
-
self.each(function(i, node) {
|
482
|
-
editor.dom.setAttrib(node, name, value);
|
483
|
-
});
|
484
|
-
|
485
|
-
return self;
|
486
|
-
} else
|
487
|
-
return self.attr('data-mce-' + name);
|
488
|
-
}
|
489
|
-
|
490
|
-
// Default behavior
|
491
|
-
return fn.attr.apply(self, arguments);
|
492
|
-
};
|
493
|
-
|
494
|
-
function htmlPatchFunc(func) {
|
495
|
-
// Returns a modified function that processes
|
496
|
-
// the HTML before executing the action this makes sure
|
497
|
-
// that href/src etc gets moved into the data-mce- variants
|
498
|
-
return function(content) {
|
499
|
-
if (content)
|
500
|
-
content = editor.dom.processHTML(content);
|
501
|
-
|
502
|
-
return func.call(this, content);
|
503
|
-
};
|
504
|
-
};
|
505
|
-
|
506
|
-
// Patch various jQuery functions to handle tinymce specific attribute and content behavior
|
507
|
-
// we don't patch the jQuery.fn directly since it will most likely break compatibility
|
508
|
-
// with other jQuery logic on the page. Only instances created by TinyMCE should be patched.
|
509
|
-
function patch(jq) {
|
510
|
-
// Patch some functions, only patch the object once
|
511
|
-
if (jq.css !== css) {
|
512
|
-
// Patch css/attr to use the data-mce- prefixed attribute variants
|
513
|
-
jq.css = css;
|
514
|
-
jq.attr = attr;
|
515
|
-
|
516
|
-
// Patch HTML functions to use the DOMUtils.processHTML filter logic
|
517
|
-
jq.html = htmlPatchFunc(fn.html);
|
518
|
-
jq.append = htmlPatchFunc(fn.append);
|
519
|
-
jq.prepend = htmlPatchFunc(fn.prepend);
|
520
|
-
jq.after = htmlPatchFunc(fn.after);
|
521
|
-
jq.before = htmlPatchFunc(fn.before);
|
522
|
-
jq.replaceWith = htmlPatchFunc(fn.replaceWith);
|
523
|
-
jq.tinymce = editor;
|
524
|
-
|
525
|
-
// Each pushed jQuery instance needs to be patched
|
526
|
-
// as well for example when traversing the DOM
|
527
|
-
jq.pushStack = function() {
|
528
|
-
return patch(fn.pushStack.apply(this, arguments));
|
529
|
-
};
|
530
|
-
}
|
531
|
-
|
532
|
-
return jq;
|
533
|
-
};
|
534
|
-
|
535
|
-
// Add a $ function on each editor instance this one is scoped for the editor document object
|
536
|
-
// this way you can do chaining like this tinymce.get(0).$('p').append('text').css('color', 'red');
|
537
|
-
editor.$ = function(selector, scope) {
|
538
|
-
var doc = editor.getDoc();
|
539
|
-
|
540
|
-
return patch($(selector || doc, doc || scope));
|
541
|
-
};
|
542
|
-
}
|
543
|
-
};
|
544
|
-
|
545
|
-
// Patch in core NS functions
|
546
|
-
tinymce.extend = $.extend;
|
547
|
-
tinymce.extend(tinymce, {
|
548
|
-
map : $.map,
|
549
|
-
grep : function(a, f) {return $.grep(a, f || function(){return 1;});},
|
550
|
-
inArray : function(a, v) {return $.inArray(v, a || []);}
|
551
|
-
|
552
|
-
/* Didn't iterate stylesheets
|
553
|
-
each : function(o, cb, s) {
|
554
|
-
if (!o)
|
555
|
-
return 0;
|
556
|
-
|
557
|
-
var r = 1;
|
558
|
-
|
559
|
-
$.each(o, function(nr, el){
|
560
|
-
if (cb.call(s, el, nr, o) === false) {
|
561
|
-
r = 0;
|
562
|
-
return false;
|
563
|
-
}
|
564
|
-
});
|
565
|
-
|
566
|
-
return r;
|
567
|
-
}*/
|
568
|
-
});
|
569
|
-
|
570
|
-
// Patch in functions in various clases
|
571
|
-
// Add a "#ifndefjquery" statement around each core API function you add below
|
572
|
-
var patches = {
|
573
|
-
'tinymce.dom.DOMUtils' : {
|
574
|
-
/*
|
575
|
-
addClass : function(e, c) {
|
576
|
-
if (is(e, 'array') && is(e[0], 'string'))
|
577
|
-
e = e.join(',#');
|
578
|
-
return (e && $(is(e, 'string') ? '#' + e : e)
|
579
|
-
.addClass(c)
|
580
|
-
.attr('class')) || false;
|
581
|
-
},
|
582
|
-
|
583
|
-
hasClass : function(n, c) {
|
584
|
-
return $(is(n, 'string') ? '#' + n : n).hasClass(c);
|
585
|
-
},
|
586
|
-
|
587
|
-
removeClass : function(e, c) {
|
588
|
-
if (!e)
|
589
|
-
return false;
|
590
|
-
|
591
|
-
var r = [];
|
592
|
-
|
593
|
-
$(is(e, 'string') ? '#' + e : e)
|
594
|
-
.removeClass(c)
|
595
|
-
.each(function(){
|
596
|
-
r.push(this.className);
|
597
|
-
});
|
598
|
-
|
599
|
-
return r.length == 1 ? r[0] : r;
|
600
|
-
},
|
601
|
-
*/
|
602
|
-
|
603
|
-
select : function(pattern, scope) {
|
604
|
-
var t = this;
|
605
|
-
|
606
|
-
return $.find(pattern, t.get(scope) || t.get(t.settings.root_element) || t.doc, []);
|
607
|
-
},
|
608
|
-
|
609
|
-
is : function(n, patt) {
|
610
|
-
return $(this.get(n)).is(patt);
|
611
|
-
}
|
612
|
-
|
613
|
-
/*
|
614
|
-
show : function(e) {
|
615
|
-
if (is(e, 'array') && is(e[0], 'string'))
|
616
|
-
e = e.join(',#');
|
617
|
-
|
618
|
-
$(is(e, 'string') ? '#' + e : e).css('display', 'block');
|
619
|
-
},
|
620
|
-
|
621
|
-
hide : function(e) {
|
622
|
-
if (is(e, 'array') && is(e[0], 'string'))
|
623
|
-
e = e.join(',#');
|
624
|
-
|
625
|
-
$(is(e, 'string') ? '#' + e : e).css('display', 'none');
|
626
|
-
},
|
627
|
-
|
628
|
-
isHidden : function(e) {
|
629
|
-
return $(is(e, 'string') ? '#' + e : e).is(':hidden');
|
630
|
-
},
|
631
|
-
|
632
|
-
insertAfter : function(n, e) {
|
633
|
-
return $(is(e, 'string') ? '#' + e : e).after(n);
|
634
|
-
},
|
635
|
-
|
636
|
-
replace : function(o, n, k) {
|
637
|
-
n = $(is(n, 'string') ? '#' + n : n);
|
638
|
-
|
639
|
-
if (k)
|
640
|
-
n.children().appendTo(o);
|
641
|
-
|
642
|
-
n.replaceWith(o);
|
643
|
-
},
|
644
|
-
|
645
|
-
setStyle : function(n, na, v) {
|
646
|
-
if (is(n, 'array') && is(n[0], 'string'))
|
647
|
-
n = n.join(',#');
|
648
|
-
|
649
|
-
$(is(n, 'string') ? '#' + n : n).css(na, v);
|
650
|
-
},
|
651
|
-
|
652
|
-
getStyle : function(n, na, c) {
|
653
|
-
return $(is(n, 'string') ? '#' + n : n).css(na);
|
654
|
-
},
|
655
|
-
|
656
|
-
setStyles : function(e, o) {
|
657
|
-
if (is(e, 'array') && is(e[0], 'string'))
|
658
|
-
e = e.join(',#');
|
659
|
-
$(is(e, 'string') ? '#' + e : e).css(o);
|
660
|
-
},
|
661
|
-
|
662
|
-
setAttrib : function(e, n, v) {
|
663
|
-
var t = this, s = t.settings;
|
664
|
-
|
665
|
-
if (is(e, 'array') && is(e[0], 'string'))
|
666
|
-
e = e.join(',#');
|
667
|
-
|
668
|
-
e = $(is(e, 'string') ? '#' + e : e);
|
669
|
-
|
670
|
-
switch (n) {
|
671
|
-
case "style":
|
672
|
-
e.each(function(i, v){
|
673
|
-
if (s.keep_values)
|
674
|
-
$(v).attr('data-mce-style', v);
|
675
|
-
|
676
|
-
v.style.cssText = v;
|
677
|
-
});
|
678
|
-
break;
|
679
|
-
|
680
|
-
case "class":
|
681
|
-
e.each(function(){
|
682
|
-
this.className = v;
|
683
|
-
});
|
684
|
-
break;
|
685
|
-
|
686
|
-
case "src":
|
687
|
-
case "href":
|
688
|
-
e.each(function(i, v){
|
689
|
-
if (s.keep_values) {
|
690
|
-
if (s.url_converter)
|
691
|
-
v = s.url_converter.call(s.url_converter_scope || t, v, n, v);
|
692
|
-
|
693
|
-
t.setAttrib(v, 'data-mce-' + n, v);
|
694
|
-
}
|
695
|
-
});
|
696
|
-
|
697
|
-
break;
|
698
|
-
}
|
699
|
-
|
700
|
-
if (v !== null && v.length !== 0)
|
701
|
-
e.attr(n, '' + v);
|
702
|
-
else
|
703
|
-
e.removeAttr(n);
|
704
|
-
},
|
705
|
-
|
706
|
-
setAttribs : function(e, o) {
|
707
|
-
var t = this;
|
708
|
-
|
709
|
-
$.each(o, function(n, v){
|
710
|
-
t.setAttrib(e,n,v);
|
711
|
-
});
|
712
|
-
}
|
713
|
-
*/
|
714
|
-
}
|
715
|
-
|
716
|
-
/*
|
717
|
-
'tinymce.dom.Event' : {
|
718
|
-
add : function (o, n, f, s) {
|
719
|
-
var lo, cb;
|
720
|
-
|
721
|
-
cb = function(e) {
|
722
|
-
e.target = e.target || this;
|
723
|
-
f.call(s || this, e);
|
724
|
-
};
|
725
|
-
|
726
|
-
if (is(o, 'array') && is(o[0], 'string'))
|
727
|
-
o = o.join(',#');
|
728
|
-
o = $(is(o, 'string') ? '#' + o : o);
|
729
|
-
if (n == 'init') {
|
730
|
-
o.ready(cb, s);
|
731
|
-
} else {
|
732
|
-
if (s) {
|
733
|
-
o.bind(n, s, cb);
|
734
|
-
} else {
|
735
|
-
o.bind(n, cb);
|
736
|
-
}
|
737
|
-
}
|
738
|
-
|
739
|
-
lo = this._jqLookup || (this._jqLookup = []);
|
740
|
-
lo.push({func : f, cfunc : cb});
|
741
|
-
|
742
|
-
return cb;
|
743
|
-
},
|
744
|
-
|
745
|
-
remove : function(o, n, f) {
|
746
|
-
// Find cfunc
|
747
|
-
$(this._jqLookup).each(function() {
|
748
|
-
if (this.func === f)
|
749
|
-
f = this.cfunc;
|
750
|
-
});
|
751
|
-
|
752
|
-
if (is(o, 'array') && is(o[0], 'string'))
|
753
|
-
o = o.join(',#');
|
754
|
-
|
755
|
-
$(is(o, 'string') ? '#' + o : o).unbind(n,f);
|
756
|
-
|
757
|
-
return true;
|
758
|
-
}
|
759
|
-
}
|
760
|
-
*/
|
761
|
-
};
|
762
|
-
|
763
|
-
// Patch functions after a class is created
|
764
|
-
tinymce.onCreate = function(ty, c, p) {
|
765
|
-
tinymce.extend(p, patches[c]);
|
766
|
-
};
|
767
|
-
})(window.jQuery, tinymce);
|
768
|
-
|
769
|
-
|
770
495
|
|
771
496
|
tinymce.create('tinymce.util.Dispatcher', {
|
772
497
|
scope : null,
|
@@ -3808,6 +3533,39 @@ tinymce.html.Writer = function(settings) {
|
|
3808
3533
|
},
|
3809
3534
|
|
3810
3535
|
|
3536
|
+
select : function(pa, s) {
|
3537
|
+
var t = this;
|
3538
|
+
|
3539
|
+
return tinymce.dom.Sizzle(pa, t.get(s) || t.get(t.settings.root_element) || t.doc, []);
|
3540
|
+
},
|
3541
|
+
|
3542
|
+
is : function(n, selector) {
|
3543
|
+
var i;
|
3544
|
+
|
3545
|
+
// If it isn't an array then try to do some simple selectors instead of Sizzle for to boost performance
|
3546
|
+
if (n.length === undefined) {
|
3547
|
+
// Simple all selector
|
3548
|
+
if (selector === '*')
|
3549
|
+
return n.nodeType == 1;
|
3550
|
+
|
3551
|
+
// Simple selector just elements
|
3552
|
+
if (simpleSelectorRe.test(selector)) {
|
3553
|
+
selector = selector.toLowerCase().split(/,/);
|
3554
|
+
n = n.nodeName.toLowerCase();
|
3555
|
+
|
3556
|
+
for (i = selector.length - 1; i >= 0; i--) {
|
3557
|
+
if (selector[i] == n)
|
3558
|
+
return true;
|
3559
|
+
}
|
3560
|
+
|
3561
|
+
return false;
|
3562
|
+
}
|
3563
|
+
}
|
3564
|
+
|
3565
|
+
return tinymce.dom.Sizzle.matches(selector, n.nodeType ? [n] : n).length > 0;
|
3566
|
+
},
|
3567
|
+
|
3568
|
+
|
3811
3569
|
add : function(p, n, a, h, c) {
|
3812
3570
|
var t = this;
|
3813
3571
|
|
@@ -5985,72 +5743,1142 @@ tinymce.html.Writer = function(settings) {
|
|
5985
5743
|
})();
|
5986
5744
|
|
5987
5745
|
|
5988
|
-
|
5989
|
-
|
5990
|
-
|
5746
|
+
/*
|
5747
|
+
* Sizzle CSS Selector Engine - v1.0
|
5748
|
+
* Copyright 2009, The Dojo Foundation
|
5749
|
+
* Released under the MIT, BSD, and GPL Licenses.
|
5750
|
+
* More information: http://sizzlejs.com/
|
5751
|
+
*/
|
5752
|
+
(function(){
|
5753
|
+
|
5754
|
+
var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
|
5755
|
+
done = 0,
|
5756
|
+
toString = Object.prototype.toString,
|
5757
|
+
hasDuplicate = false,
|
5758
|
+
baseHasDuplicate = true;
|
5759
|
+
|
5760
|
+
// Here we check if the JavaScript engine is using some sort of
|
5761
|
+
// optimization where it does not always call our comparision
|
5762
|
+
// function. If that is the case, discard the hasDuplicate value.
|
5763
|
+
// Thus far that includes Google Chrome.
|
5764
|
+
[0, 0].sort(function(){
|
5765
|
+
baseHasDuplicate = false;
|
5766
|
+
return 0;
|
5767
|
+
});
|
5991
5768
|
|
5992
|
-
|
5993
|
-
|
5994
|
-
|
5995
|
-
this.events = [];
|
5996
|
-
},
|
5769
|
+
var Sizzle = function(selector, context, results, seed) {
|
5770
|
+
results = results || [];
|
5771
|
+
context = context || document;
|
5997
5772
|
|
5998
|
-
|
5999
|
-
var cb, t = this, el = t.events, r;
|
5773
|
+
var origContext = context;
|
6000
5774
|
|
6001
|
-
|
6002
|
-
|
5775
|
+
if ( context.nodeType !== 1 && context.nodeType !== 9 ) {
|
5776
|
+
return [];
|
5777
|
+
}
|
5778
|
+
|
5779
|
+
if ( !selector || typeof selector !== "string" ) {
|
5780
|
+
return results;
|
5781
|
+
}
|
6003
5782
|
|
6004
|
-
|
6005
|
-
|
6006
|
-
|
5783
|
+
var parts = [], m, set, checkSet, extra, prune = true, contextXML = Sizzle.isXML(context),
|
5784
|
+
soFar = selector, ret, cur, pop, i;
|
5785
|
+
|
5786
|
+
// Reset the position of the chunker regexp (start from head)
|
5787
|
+
do {
|
5788
|
+
chunker.exec("");
|
5789
|
+
m = chunker.exec(soFar);
|
6007
5790
|
|
6008
|
-
|
5791
|
+
if ( m ) {
|
5792
|
+
soFar = m[3];
|
5793
|
+
|
5794
|
+
parts.push( m[1] );
|
5795
|
+
|
5796
|
+
if ( m[2] ) {
|
5797
|
+
extra = m[3];
|
5798
|
+
break;
|
6009
5799
|
}
|
5800
|
+
}
|
5801
|
+
} while ( m );
|
6010
5802
|
|
6011
|
-
|
6012
|
-
|
6013
|
-
|
5803
|
+
if ( parts.length > 1 && origPOS.exec( selector ) ) {
|
5804
|
+
if ( parts.length === 2 && Expr.relative[ parts[0] ] ) {
|
5805
|
+
set = posProcess( parts[0] + parts[1], context );
|
5806
|
+
} else {
|
5807
|
+
set = Expr.relative[ parts[0] ] ?
|
5808
|
+
[ context ] :
|
5809
|
+
Sizzle( parts.shift(), context );
|
6014
5810
|
|
6015
|
-
|
6016
|
-
|
6017
|
-
r.push(t.add(o, n, f, s));
|
6018
|
-
});
|
5811
|
+
while ( parts.length ) {
|
5812
|
+
selector = parts.shift();
|
6019
5813
|
|
6020
|
-
|
5814
|
+
if ( Expr.relative[ selector ] ) {
|
5815
|
+
selector += parts.shift();
|
5816
|
+
}
|
5817
|
+
|
5818
|
+
set = posProcess( selector, set );
|
6021
5819
|
}
|
5820
|
+
}
|
5821
|
+
} else {
|
5822
|
+
// Take a shortcut and set the context if the root selector is an ID
|
5823
|
+
// (but not if it'll be faster if the inner selector is an ID)
|
5824
|
+
if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML &&
|
5825
|
+
Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) {
|
5826
|
+
ret = Sizzle.find( parts.shift(), context, contextXML );
|
5827
|
+
context = ret.expr ? Sizzle.filter( ret.expr, ret.set )[0] : ret.set[0];
|
5828
|
+
}
|
6022
5829
|
|
6023
|
-
|
6024
|
-
|
6025
|
-
|
6026
|
-
|
6027
|
-
|
6028
|
-
// Setup event callback
|
6029
|
-
cb = function(e) {
|
6030
|
-
// Is all events disabled
|
6031
|
-
if (t.disabled)
|
6032
|
-
return;
|
5830
|
+
if ( context ) {
|
5831
|
+
ret = seed ?
|
5832
|
+
{ expr: parts.pop(), set: makeArray(seed) } :
|
5833
|
+
Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML );
|
5834
|
+
set = ret.expr ? Sizzle.filter( ret.expr, ret.set ) : ret.set;
|
6033
5835
|
|
6034
|
-
|
5836
|
+
if ( parts.length > 0 ) {
|
5837
|
+
checkSet = makeArray(set);
|
5838
|
+
} else {
|
5839
|
+
prune = false;
|
5840
|
+
}
|
6035
5841
|
|
6036
|
-
|
6037
|
-
|
6038
|
-
|
6039
|
-
e.target = e.srcElement;
|
5842
|
+
while ( parts.length ) {
|
5843
|
+
cur = parts.pop();
|
5844
|
+
pop = cur;
|
6040
5845
|
|
6041
|
-
|
6042
|
-
|
5846
|
+
if ( !Expr.relative[ cur ] ) {
|
5847
|
+
cur = "";
|
5848
|
+
} else {
|
5849
|
+
pop = parts.pop();
|
6043
5850
|
}
|
6044
5851
|
|
6045
|
-
if (
|
6046
|
-
|
6047
|
-
|
6048
|
-
return f.call(s, e);
|
6049
|
-
};
|
5852
|
+
if ( pop == null ) {
|
5853
|
+
pop = context;
|
5854
|
+
}
|
6050
5855
|
|
6051
|
-
|
6052
|
-
|
6053
|
-
|
5856
|
+
Expr.relative[ cur ]( checkSet, pop, contextXML );
|
5857
|
+
}
|
5858
|
+
} else {
|
5859
|
+
checkSet = parts = [];
|
5860
|
+
}
|
5861
|
+
}
|
5862
|
+
|
5863
|
+
if ( !checkSet ) {
|
5864
|
+
checkSet = set;
|
5865
|
+
}
|
5866
|
+
|
5867
|
+
if ( !checkSet ) {
|
5868
|
+
Sizzle.error( cur || selector );
|
5869
|
+
}
|
5870
|
+
|
5871
|
+
if ( toString.call(checkSet) === "[object Array]" ) {
|
5872
|
+
if ( !prune ) {
|
5873
|
+
results.push.apply( results, checkSet );
|
5874
|
+
} else if ( context && context.nodeType === 1 ) {
|
5875
|
+
for ( i = 0; checkSet[i] != null; i++ ) {
|
5876
|
+
if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) {
|
5877
|
+
results.push( set[i] );
|
5878
|
+
}
|
5879
|
+
}
|
5880
|
+
} else {
|
5881
|
+
for ( i = 0; checkSet[i] != null; i++ ) {
|
5882
|
+
if ( checkSet[i] && checkSet[i].nodeType === 1 ) {
|
5883
|
+
results.push( set[i] );
|
5884
|
+
}
|
5885
|
+
}
|
5886
|
+
}
|
5887
|
+
} else {
|
5888
|
+
makeArray( checkSet, results );
|
5889
|
+
}
|
5890
|
+
|
5891
|
+
if ( extra ) {
|
5892
|
+
Sizzle( extra, origContext, results, seed );
|
5893
|
+
Sizzle.uniqueSort( results );
|
5894
|
+
}
|
5895
|
+
|
5896
|
+
return results;
|
5897
|
+
};
|
5898
|
+
|
5899
|
+
Sizzle.uniqueSort = function(results){
|
5900
|
+
if ( sortOrder ) {
|
5901
|
+
hasDuplicate = baseHasDuplicate;
|
5902
|
+
results.sort(sortOrder);
|
5903
|
+
|
5904
|
+
if ( hasDuplicate ) {
|
5905
|
+
for ( var i = 1; i < results.length; i++ ) {
|
5906
|
+
if ( results[i] === results[i-1] ) {
|
5907
|
+
results.splice(i--, 1);
|
5908
|
+
}
|
5909
|
+
}
|
5910
|
+
}
|
5911
|
+
}
|
5912
|
+
|
5913
|
+
return results;
|
5914
|
+
};
|
5915
|
+
|
5916
|
+
Sizzle.matches = function(expr, set){
|
5917
|
+
return Sizzle(expr, null, null, set);
|
5918
|
+
};
|
5919
|
+
|
5920
|
+
Sizzle.find = function(expr, context, isXML){
|
5921
|
+
var set;
|
5922
|
+
|
5923
|
+
if ( !expr ) {
|
5924
|
+
return [];
|
5925
|
+
}
|
5926
|
+
|
5927
|
+
for ( var i = 0, l = Expr.order.length; i < l; i++ ) {
|
5928
|
+
var type = Expr.order[i], match;
|
5929
|
+
|
5930
|
+
if ( (match = Expr.leftMatch[ type ].exec( expr )) ) {
|
5931
|
+
var left = match[1];
|
5932
|
+
match.splice(1,1);
|
5933
|
+
|
5934
|
+
if ( left.substr( left.length - 1 ) !== "\\" ) {
|
5935
|
+
match[1] = (match[1] || "").replace(/\\/g, "");
|
5936
|
+
set = Expr.find[ type ]( match, context, isXML );
|
5937
|
+
if ( set != null ) {
|
5938
|
+
expr = expr.replace( Expr.match[ type ], "" );
|
5939
|
+
break;
|
5940
|
+
}
|
5941
|
+
}
|
5942
|
+
}
|
5943
|
+
}
|
5944
|
+
|
5945
|
+
if ( !set ) {
|
5946
|
+
set = context.getElementsByTagName("*");
|
5947
|
+
}
|
5948
|
+
|
5949
|
+
return {set: set, expr: expr};
|
5950
|
+
};
|
5951
|
+
|
5952
|
+
Sizzle.filter = function(expr, set, inplace, not){
|
5953
|
+
var old = expr, result = [], curLoop = set, match, anyFound,
|
5954
|
+
isXMLFilter = set && set[0] && Sizzle.isXML(set[0]);
|
5955
|
+
|
5956
|
+
while ( expr && set.length ) {
|
5957
|
+
for ( var type in Expr.filter ) {
|
5958
|
+
if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) {
|
5959
|
+
var filter = Expr.filter[ type ], found, item, left = match[1];
|
5960
|
+
anyFound = false;
|
5961
|
+
|
5962
|
+
match.splice(1,1);
|
5963
|
+
|
5964
|
+
if ( left.substr( left.length - 1 ) === "\\" ) {
|
5965
|
+
continue;
|
5966
|
+
}
|
5967
|
+
|
5968
|
+
if ( curLoop === result ) {
|
5969
|
+
result = [];
|
5970
|
+
}
|
5971
|
+
|
5972
|
+
if ( Expr.preFilter[ type ] ) {
|
5973
|
+
match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter );
|
5974
|
+
|
5975
|
+
if ( !match ) {
|
5976
|
+
anyFound = found = true;
|
5977
|
+
} else if ( match === true ) {
|
5978
|
+
continue;
|
5979
|
+
}
|
5980
|
+
}
|
5981
|
+
|
5982
|
+
if ( match ) {
|
5983
|
+
for ( var i = 0; (item = curLoop[i]) != null; i++ ) {
|
5984
|
+
if ( item ) {
|
5985
|
+
found = filter( item, match, i, curLoop );
|
5986
|
+
var pass = not ^ !!found;
|
5987
|
+
|
5988
|
+
if ( inplace && found != null ) {
|
5989
|
+
if ( pass ) {
|
5990
|
+
anyFound = true;
|
5991
|
+
} else {
|
5992
|
+
curLoop[i] = false;
|
5993
|
+
}
|
5994
|
+
} else if ( pass ) {
|
5995
|
+
result.push( item );
|
5996
|
+
anyFound = true;
|
5997
|
+
}
|
5998
|
+
}
|
5999
|
+
}
|
6000
|
+
}
|
6001
|
+
|
6002
|
+
if ( found !== undefined ) {
|
6003
|
+
if ( !inplace ) {
|
6004
|
+
curLoop = result;
|
6005
|
+
}
|
6006
|
+
|
6007
|
+
expr = expr.replace( Expr.match[ type ], "" );
|
6008
|
+
|
6009
|
+
if ( !anyFound ) {
|
6010
|
+
return [];
|
6011
|
+
}
|
6012
|
+
|
6013
|
+
break;
|
6014
|
+
}
|
6015
|
+
}
|
6016
|
+
}
|
6017
|
+
|
6018
|
+
// Improper expression
|
6019
|
+
if ( expr === old ) {
|
6020
|
+
if ( anyFound == null ) {
|
6021
|
+
Sizzle.error( expr );
|
6022
|
+
} else {
|
6023
|
+
break;
|
6024
|
+
}
|
6025
|
+
}
|
6026
|
+
|
6027
|
+
old = expr;
|
6028
|
+
}
|
6029
|
+
|
6030
|
+
return curLoop;
|
6031
|
+
};
|
6032
|
+
|
6033
|
+
Sizzle.error = function( msg ) {
|
6034
|
+
throw "Syntax error, unrecognized expression: " + msg;
|
6035
|
+
};
|
6036
|
+
|
6037
|
+
var Expr = Sizzle.selectors = {
|
6038
|
+
order: [ "ID", "NAME", "TAG" ],
|
6039
|
+
match: {
|
6040
|
+
ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
|
6041
|
+
CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
|
6042
|
+
NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,
|
6043
|
+
ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,
|
6044
|
+
TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,
|
6045
|
+
CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/,
|
6046
|
+
POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,
|
6047
|
+
PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
|
6048
|
+
},
|
6049
|
+
leftMatch: {},
|
6050
|
+
attrMap: {
|
6051
|
+
"class": "className",
|
6052
|
+
"for": "htmlFor"
|
6053
|
+
},
|
6054
|
+
attrHandle: {
|
6055
|
+
href: function(elem){
|
6056
|
+
return elem.getAttribute("href");
|
6057
|
+
}
|
6058
|
+
},
|
6059
|
+
relative: {
|
6060
|
+
"+": function(checkSet, part){
|
6061
|
+
var isPartStr = typeof part === "string",
|
6062
|
+
isTag = isPartStr && !/\W/.test(part),
|
6063
|
+
isPartStrNotTag = isPartStr && !isTag;
|
6064
|
+
|
6065
|
+
if ( isTag ) {
|
6066
|
+
part = part.toLowerCase();
|
6067
|
+
}
|
6068
|
+
|
6069
|
+
for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) {
|
6070
|
+
if ( (elem = checkSet[i]) ) {
|
6071
|
+
while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {}
|
6072
|
+
|
6073
|
+
checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ?
|
6074
|
+
elem || false :
|
6075
|
+
elem === part;
|
6076
|
+
}
|
6077
|
+
}
|
6078
|
+
|
6079
|
+
if ( isPartStrNotTag ) {
|
6080
|
+
Sizzle.filter( part, checkSet, true );
|
6081
|
+
}
|
6082
|
+
},
|
6083
|
+
">": function(checkSet, part){
|
6084
|
+
var isPartStr = typeof part === "string",
|
6085
|
+
elem, i = 0, l = checkSet.length;
|
6086
|
+
|
6087
|
+
if ( isPartStr && !/\W/.test(part) ) {
|
6088
|
+
part = part.toLowerCase();
|
6089
|
+
|
6090
|
+
for ( ; i < l; i++ ) {
|
6091
|
+
elem = checkSet[i];
|
6092
|
+
if ( elem ) {
|
6093
|
+
var parent = elem.parentNode;
|
6094
|
+
checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false;
|
6095
|
+
}
|
6096
|
+
}
|
6097
|
+
} else {
|
6098
|
+
for ( ; i < l; i++ ) {
|
6099
|
+
elem = checkSet[i];
|
6100
|
+
if ( elem ) {
|
6101
|
+
checkSet[i] = isPartStr ?
|
6102
|
+
elem.parentNode :
|
6103
|
+
elem.parentNode === part;
|
6104
|
+
}
|
6105
|
+
}
|
6106
|
+
|
6107
|
+
if ( isPartStr ) {
|
6108
|
+
Sizzle.filter( part, checkSet, true );
|
6109
|
+
}
|
6110
|
+
}
|
6111
|
+
},
|
6112
|
+
"": function(checkSet, part, isXML){
|
6113
|
+
var doneName = done++, checkFn = dirCheck, nodeCheck;
|
6114
|
+
|
6115
|
+
if ( typeof part === "string" && !/\W/.test(part) ) {
|
6116
|
+
part = part.toLowerCase();
|
6117
|
+
nodeCheck = part;
|
6118
|
+
checkFn = dirNodeCheck;
|
6119
|
+
}
|
6120
|
+
|
6121
|
+
checkFn("parentNode", part, doneName, checkSet, nodeCheck, isXML);
|
6122
|
+
},
|
6123
|
+
"~": function(checkSet, part, isXML){
|
6124
|
+
var doneName = done++, checkFn = dirCheck, nodeCheck;
|
6125
|
+
|
6126
|
+
if ( typeof part === "string" && !/\W/.test(part) ) {
|
6127
|
+
part = part.toLowerCase();
|
6128
|
+
nodeCheck = part;
|
6129
|
+
checkFn = dirNodeCheck;
|
6130
|
+
}
|
6131
|
+
|
6132
|
+
checkFn("previousSibling", part, doneName, checkSet, nodeCheck, isXML);
|
6133
|
+
}
|
6134
|
+
},
|
6135
|
+
find: {
|
6136
|
+
ID: function(match, context, isXML){
|
6137
|
+
if ( typeof context.getElementById !== "undefined" && !isXML ) {
|
6138
|
+
var m = context.getElementById(match[1]);
|
6139
|
+
return m ? [m] : [];
|
6140
|
+
}
|
6141
|
+
},
|
6142
|
+
NAME: function(match, context){
|
6143
|
+
if ( typeof context.getElementsByName !== "undefined" ) {
|
6144
|
+
var ret = [], results = context.getElementsByName(match[1]);
|
6145
|
+
|
6146
|
+
for ( var i = 0, l = results.length; i < l; i++ ) {
|
6147
|
+
if ( results[i].getAttribute("name") === match[1] ) {
|
6148
|
+
ret.push( results[i] );
|
6149
|
+
}
|
6150
|
+
}
|
6151
|
+
|
6152
|
+
return ret.length === 0 ? null : ret;
|
6153
|
+
}
|
6154
|
+
},
|
6155
|
+
TAG: function(match, context){
|
6156
|
+
return context.getElementsByTagName(match[1]);
|
6157
|
+
}
|
6158
|
+
},
|
6159
|
+
preFilter: {
|
6160
|
+
CLASS: function(match, curLoop, inplace, result, not, isXML){
|
6161
|
+
match = " " + match[1].replace(/\\/g, "") + " ";
|
6162
|
+
|
6163
|
+
if ( isXML ) {
|
6164
|
+
return match;
|
6165
|
+
}
|
6166
|
+
|
6167
|
+
for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) {
|
6168
|
+
if ( elem ) {
|
6169
|
+
if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n]/g, " ").indexOf(match) >= 0) ) {
|
6170
|
+
if ( !inplace ) {
|
6171
|
+
result.push( elem );
|
6172
|
+
}
|
6173
|
+
} else if ( inplace ) {
|
6174
|
+
curLoop[i] = false;
|
6175
|
+
}
|
6176
|
+
}
|
6177
|
+
}
|
6178
|
+
|
6179
|
+
return false;
|
6180
|
+
},
|
6181
|
+
ID: function(match){
|
6182
|
+
return match[1].replace(/\\/g, "");
|
6183
|
+
},
|
6184
|
+
TAG: function(match, curLoop){
|
6185
|
+
return match[1].toLowerCase();
|
6186
|
+
},
|
6187
|
+
CHILD: function(match){
|
6188
|
+
if ( match[1] === "nth" ) {
|
6189
|
+
// parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6'
|
6190
|
+
var test = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(
|
6191
|
+
match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" ||
|
6192
|
+
!/\D/.test( match[2] ) && "0n+" + match[2] || match[2]);
|
6193
|
+
|
6194
|
+
// calculate the numbers (first)n+(last) including if they are negative
|
6195
|
+
match[2] = (test[1] + (test[2] || 1)) - 0;
|
6196
|
+
match[3] = test[3] - 0;
|
6197
|
+
}
|
6198
|
+
|
6199
|
+
// TODO: Move to normal caching system
|
6200
|
+
match[0] = done++;
|
6201
|
+
|
6202
|
+
return match;
|
6203
|
+
},
|
6204
|
+
ATTR: function(match, curLoop, inplace, result, not, isXML){
|
6205
|
+
var name = match[1].replace(/\\/g, "");
|
6206
|
+
|
6207
|
+
if ( !isXML && Expr.attrMap[name] ) {
|
6208
|
+
match[1] = Expr.attrMap[name];
|
6209
|
+
}
|
6210
|
+
|
6211
|
+
if ( match[2] === "~=" ) {
|
6212
|
+
match[4] = " " + match[4] + " ";
|
6213
|
+
}
|
6214
|
+
|
6215
|
+
return match;
|
6216
|
+
},
|
6217
|
+
PSEUDO: function(match, curLoop, inplace, result, not){
|
6218
|
+
if ( match[1] === "not" ) {
|
6219
|
+
// If we're dealing with a complex expression, or a simple one
|
6220
|
+
if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) {
|
6221
|
+
match[3] = Sizzle(match[3], null, null, curLoop);
|
6222
|
+
} else {
|
6223
|
+
var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not);
|
6224
|
+
if ( !inplace ) {
|
6225
|
+
result.push.apply( result, ret );
|
6226
|
+
}
|
6227
|
+
return false;
|
6228
|
+
}
|
6229
|
+
} else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) {
|
6230
|
+
return true;
|
6231
|
+
}
|
6232
|
+
|
6233
|
+
return match;
|
6234
|
+
},
|
6235
|
+
POS: function(match){
|
6236
|
+
match.unshift( true );
|
6237
|
+
return match;
|
6238
|
+
}
|
6239
|
+
},
|
6240
|
+
filters: {
|
6241
|
+
enabled: function(elem){
|
6242
|
+
return elem.disabled === false && elem.type !== "hidden";
|
6243
|
+
},
|
6244
|
+
disabled: function(elem){
|
6245
|
+
return elem.disabled === true;
|
6246
|
+
},
|
6247
|
+
checked: function(elem){
|
6248
|
+
return elem.checked === true;
|
6249
|
+
},
|
6250
|
+
selected: function(elem){
|
6251
|
+
// Accessing this property makes selected-by-default
|
6252
|
+
// options in Safari work properly
|
6253
|
+
elem.parentNode.selectedIndex;
|
6254
|
+
return elem.selected === true;
|
6255
|
+
},
|
6256
|
+
parent: function(elem){
|
6257
|
+
return !!elem.firstChild;
|
6258
|
+
},
|
6259
|
+
empty: function(elem){
|
6260
|
+
return !elem.firstChild;
|
6261
|
+
},
|
6262
|
+
has: function(elem, i, match){
|
6263
|
+
return !!Sizzle( match[3], elem ).length;
|
6264
|
+
},
|
6265
|
+
header: function(elem){
|
6266
|
+
return (/h\d/i).test( elem.nodeName );
|
6267
|
+
},
|
6268
|
+
text: function(elem){
|
6269
|
+
return "text" === elem.type;
|
6270
|
+
},
|
6271
|
+
radio: function(elem){
|
6272
|
+
return "radio" === elem.type;
|
6273
|
+
},
|
6274
|
+
checkbox: function(elem){
|
6275
|
+
return "checkbox" === elem.type;
|
6276
|
+
},
|
6277
|
+
file: function(elem){
|
6278
|
+
return "file" === elem.type;
|
6279
|
+
},
|
6280
|
+
password: function(elem){
|
6281
|
+
return "password" === elem.type;
|
6282
|
+
},
|
6283
|
+
submit: function(elem){
|
6284
|
+
return "submit" === elem.type;
|
6285
|
+
},
|
6286
|
+
image: function(elem){
|
6287
|
+
return "image" === elem.type;
|
6288
|
+
},
|
6289
|
+
reset: function(elem){
|
6290
|
+
return "reset" === elem.type;
|
6291
|
+
},
|
6292
|
+
button: function(elem){
|
6293
|
+
return "button" === elem.type || elem.nodeName.toLowerCase() === "button";
|
6294
|
+
},
|
6295
|
+
input: function(elem){
|
6296
|
+
return (/input|select|textarea|button/i).test(elem.nodeName);
|
6297
|
+
}
|
6298
|
+
},
|
6299
|
+
setFilters: {
|
6300
|
+
first: function(elem, i){
|
6301
|
+
return i === 0;
|
6302
|
+
},
|
6303
|
+
last: function(elem, i, match, array){
|
6304
|
+
return i === array.length - 1;
|
6305
|
+
},
|
6306
|
+
even: function(elem, i){
|
6307
|
+
return i % 2 === 0;
|
6308
|
+
},
|
6309
|
+
odd: function(elem, i){
|
6310
|
+
return i % 2 === 1;
|
6311
|
+
},
|
6312
|
+
lt: function(elem, i, match){
|
6313
|
+
return i < match[3] - 0;
|
6314
|
+
},
|
6315
|
+
gt: function(elem, i, match){
|
6316
|
+
return i > match[3] - 0;
|
6317
|
+
},
|
6318
|
+
nth: function(elem, i, match){
|
6319
|
+
return match[3] - 0 === i;
|
6320
|
+
},
|
6321
|
+
eq: function(elem, i, match){
|
6322
|
+
return match[3] - 0 === i;
|
6323
|
+
}
|
6324
|
+
},
|
6325
|
+
filter: {
|
6326
|
+
PSEUDO: function(elem, match, i, array){
|
6327
|
+
var name = match[1], filter = Expr.filters[ name ];
|
6328
|
+
|
6329
|
+
if ( filter ) {
|
6330
|
+
return filter( elem, i, match, array );
|
6331
|
+
} else if ( name === "contains" ) {
|
6332
|
+
return (elem.textContent || elem.innerText || Sizzle.getText([ elem ]) || "").indexOf(match[3]) >= 0;
|
6333
|
+
} else if ( name === "not" ) {
|
6334
|
+
var not = match[3];
|
6335
|
+
|
6336
|
+
for ( var j = 0, l = not.length; j < l; j++ ) {
|
6337
|
+
if ( not[j] === elem ) {
|
6338
|
+
return false;
|
6339
|
+
}
|
6340
|
+
}
|
6341
|
+
|
6342
|
+
return true;
|
6343
|
+
} else {
|
6344
|
+
Sizzle.error( "Syntax error, unrecognized expression: " + name );
|
6345
|
+
}
|
6346
|
+
},
|
6347
|
+
CHILD: function(elem, match){
|
6348
|
+
var type = match[1], node = elem;
|
6349
|
+
switch (type) {
|
6350
|
+
case 'only':
|
6351
|
+
case 'first':
|
6352
|
+
while ( (node = node.previousSibling) ) {
|
6353
|
+
if ( node.nodeType === 1 ) {
|
6354
|
+
return false;
|
6355
|
+
}
|
6356
|
+
}
|
6357
|
+
if ( type === "first" ) {
|
6358
|
+
return true;
|
6359
|
+
}
|
6360
|
+
node = elem;
|
6361
|
+
case 'last':
|
6362
|
+
while ( (node = node.nextSibling) ) {
|
6363
|
+
if ( node.nodeType === 1 ) {
|
6364
|
+
return false;
|
6365
|
+
}
|
6366
|
+
}
|
6367
|
+
return true;
|
6368
|
+
case 'nth':
|
6369
|
+
var first = match[2], last = match[3];
|
6370
|
+
|
6371
|
+
if ( first === 1 && last === 0 ) {
|
6372
|
+
return true;
|
6373
|
+
}
|
6374
|
+
|
6375
|
+
var doneName = match[0],
|
6376
|
+
parent = elem.parentNode;
|
6377
|
+
|
6378
|
+
if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) {
|
6379
|
+
var count = 0;
|
6380
|
+
for ( node = parent.firstChild; node; node = node.nextSibling ) {
|
6381
|
+
if ( node.nodeType === 1 ) {
|
6382
|
+
node.nodeIndex = ++count;
|
6383
|
+
}
|
6384
|
+
}
|
6385
|
+
parent.sizcache = doneName;
|
6386
|
+
}
|
6387
|
+
|
6388
|
+
var diff = elem.nodeIndex - last;
|
6389
|
+
if ( first === 0 ) {
|
6390
|
+
return diff === 0;
|
6391
|
+
} else {
|
6392
|
+
return ( diff % first === 0 && diff / first >= 0 );
|
6393
|
+
}
|
6394
|
+
}
|
6395
|
+
},
|
6396
|
+
ID: function(elem, match){
|
6397
|
+
return elem.nodeType === 1 && elem.getAttribute("id") === match;
|
6398
|
+
},
|
6399
|
+
TAG: function(elem, match){
|
6400
|
+
return (match === "*" && elem.nodeType === 1) || elem.nodeName.toLowerCase() === match;
|
6401
|
+
},
|
6402
|
+
CLASS: function(elem, match){
|
6403
|
+
return (" " + (elem.className || elem.getAttribute("class")) + " ")
|
6404
|
+
.indexOf( match ) > -1;
|
6405
|
+
},
|
6406
|
+
ATTR: function(elem, match){
|
6407
|
+
var name = match[1],
|
6408
|
+
result = Expr.attrHandle[ name ] ?
|
6409
|
+
Expr.attrHandle[ name ]( elem ) :
|
6410
|
+
elem[ name ] != null ?
|
6411
|
+
elem[ name ] :
|
6412
|
+
elem.getAttribute( name ),
|
6413
|
+
value = result + "",
|
6414
|
+
type = match[2],
|
6415
|
+
check = match[4];
|
6416
|
+
|
6417
|
+
return result == null ?
|
6418
|
+
type === "!=" :
|
6419
|
+
type === "=" ?
|
6420
|
+
value === check :
|
6421
|
+
type === "*=" ?
|
6422
|
+
value.indexOf(check) >= 0 :
|
6423
|
+
type === "~=" ?
|
6424
|
+
(" " + value + " ").indexOf(check) >= 0 :
|
6425
|
+
!check ?
|
6426
|
+
value && result !== false :
|
6427
|
+
type === "!=" ?
|
6428
|
+
value !== check :
|
6429
|
+
type === "^=" ?
|
6430
|
+
value.indexOf(check) === 0 :
|
6431
|
+
type === "$=" ?
|
6432
|
+
value.substr(value.length - check.length) === check :
|
6433
|
+
type === "|=" ?
|
6434
|
+
value === check || value.substr(0, check.length + 1) === check + "-" :
|
6435
|
+
false;
|
6436
|
+
},
|
6437
|
+
POS: function(elem, match, i, array){
|
6438
|
+
var name = match[2], filter = Expr.setFilters[ name ];
|
6439
|
+
|
6440
|
+
if ( filter ) {
|
6441
|
+
return filter( elem, i, match, array );
|
6442
|
+
}
|
6443
|
+
}
|
6444
|
+
}
|
6445
|
+
};
|
6446
|
+
|
6447
|
+
var origPOS = Expr.match.POS,
|
6448
|
+
fescape = function(all, num){
|
6449
|
+
return "\\" + (num - 0 + 1);
|
6450
|
+
};
|
6451
|
+
|
6452
|
+
for ( var type in Expr.match ) {
|
6453
|
+
Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) );
|
6454
|
+
Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) );
|
6455
|
+
}
|
6456
|
+
|
6457
|
+
var makeArray = function(array, results) {
|
6458
|
+
array = Array.prototype.slice.call( array, 0 );
|
6459
|
+
|
6460
|
+
if ( results ) {
|
6461
|
+
results.push.apply( results, array );
|
6462
|
+
return results;
|
6463
|
+
}
|
6464
|
+
|
6465
|
+
return array;
|
6466
|
+
};
|
6467
|
+
|
6468
|
+
// Perform a simple check to determine if the browser is capable of
|
6469
|
+
// converting a NodeList to an array using builtin methods.
|
6470
|
+
// Also verifies that the returned array holds DOM nodes
|
6471
|
+
// (which is not the case in the Blackberry browser)
|
6472
|
+
try {
|
6473
|
+
Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType;
|
6474
|
+
|
6475
|
+
// Provide a fallback method if it does not work
|
6476
|
+
} catch(e){
|
6477
|
+
makeArray = function(array, results) {
|
6478
|
+
var ret = results || [], i = 0;
|
6479
|
+
|
6480
|
+
if ( toString.call(array) === "[object Array]" ) {
|
6481
|
+
Array.prototype.push.apply( ret, array );
|
6482
|
+
} else {
|
6483
|
+
if ( typeof array.length === "number" ) {
|
6484
|
+
for ( var l = array.length; i < l; i++ ) {
|
6485
|
+
ret.push( array[i] );
|
6486
|
+
}
|
6487
|
+
} else {
|
6488
|
+
for ( ; array[i]; i++ ) {
|
6489
|
+
ret.push( array[i] );
|
6490
|
+
}
|
6491
|
+
}
|
6492
|
+
}
|
6493
|
+
|
6494
|
+
return ret;
|
6495
|
+
};
|
6496
|
+
}
|
6497
|
+
|
6498
|
+
var sortOrder;
|
6499
|
+
|
6500
|
+
if ( document.documentElement.compareDocumentPosition ) {
|
6501
|
+
sortOrder = function( a, b ) {
|
6502
|
+
if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) {
|
6503
|
+
if ( a == b ) {
|
6504
|
+
hasDuplicate = true;
|
6505
|
+
}
|
6506
|
+
return a.compareDocumentPosition ? -1 : 1;
|
6507
|
+
}
|
6508
|
+
|
6509
|
+
var ret = a.compareDocumentPosition(b) & 4 ? -1 : a === b ? 0 : 1;
|
6510
|
+
if ( ret === 0 ) {
|
6511
|
+
hasDuplicate = true;
|
6512
|
+
}
|
6513
|
+
return ret;
|
6514
|
+
};
|
6515
|
+
} else if ( "sourceIndex" in document.documentElement ) {
|
6516
|
+
sortOrder = function( a, b ) {
|
6517
|
+
if ( !a.sourceIndex || !b.sourceIndex ) {
|
6518
|
+
if ( a == b ) {
|
6519
|
+
hasDuplicate = true;
|
6520
|
+
}
|
6521
|
+
return a.sourceIndex ? -1 : 1;
|
6522
|
+
}
|
6523
|
+
|
6524
|
+
var ret = a.sourceIndex - b.sourceIndex;
|
6525
|
+
if ( ret === 0 ) {
|
6526
|
+
hasDuplicate = true;
|
6527
|
+
}
|
6528
|
+
return ret;
|
6529
|
+
};
|
6530
|
+
} else if ( document.createRange ) {
|
6531
|
+
sortOrder = function( a, b ) {
|
6532
|
+
if ( !a.ownerDocument || !b.ownerDocument ) {
|
6533
|
+
if ( a == b ) {
|
6534
|
+
hasDuplicate = true;
|
6535
|
+
}
|
6536
|
+
return a.ownerDocument ? -1 : 1;
|
6537
|
+
}
|
6538
|
+
|
6539
|
+
var aRange = a.ownerDocument.createRange(), bRange = b.ownerDocument.createRange();
|
6540
|
+
aRange.setStart(a, 0);
|
6541
|
+
aRange.setEnd(a, 0);
|
6542
|
+
bRange.setStart(b, 0);
|
6543
|
+
bRange.setEnd(b, 0);
|
6544
|
+
var ret = aRange.compareBoundaryPoints(Range.START_TO_END, bRange);
|
6545
|
+
if ( ret === 0 ) {
|
6546
|
+
hasDuplicate = true;
|
6547
|
+
}
|
6548
|
+
return ret;
|
6549
|
+
};
|
6550
|
+
}
|
6551
|
+
|
6552
|
+
// Utility function for retreiving the text value of an array of DOM nodes
|
6553
|
+
Sizzle.getText = function( elems ) {
|
6554
|
+
var ret = "", elem;
|
6555
|
+
|
6556
|
+
for ( var i = 0; elems[i]; i++ ) {
|
6557
|
+
elem = elems[i];
|
6558
|
+
|
6559
|
+
// Get the text from text nodes and CDATA nodes
|
6560
|
+
if ( elem.nodeType === 3 || elem.nodeType === 4 ) {
|
6561
|
+
ret += elem.nodeValue;
|
6562
|
+
|
6563
|
+
// Traverse everything else, except comment nodes
|
6564
|
+
} else if ( elem.nodeType !== 8 ) {
|
6565
|
+
ret += Sizzle.getText( elem.childNodes );
|
6566
|
+
}
|
6567
|
+
}
|
6568
|
+
|
6569
|
+
return ret;
|
6570
|
+
};
|
6571
|
+
|
6572
|
+
// Check to see if the browser returns elements by name when
|
6573
|
+
// querying by getElementById (and provide a workaround)
|
6574
|
+
(function(){
|
6575
|
+
// We're going to inject a fake input element with a specified name
|
6576
|
+
var form = document.createElement("div"),
|
6577
|
+
id = "script" + (new Date()).getTime();
|
6578
|
+
form.innerHTML = "<a name='" + id + "'/>";
|
6579
|
+
|
6580
|
+
// Inject it into the root element, check its status, and remove it quickly
|
6581
|
+
var root = document.documentElement;
|
6582
|
+
root.insertBefore( form, root.firstChild );
|
6583
|
+
|
6584
|
+
// The workaround has to do additional checks after a getElementById
|
6585
|
+
// Which slows things down for other browsers (hence the branching)
|
6586
|
+
if ( document.getElementById( id ) ) {
|
6587
|
+
Expr.find.ID = function(match, context, isXML){
|
6588
|
+
if ( typeof context.getElementById !== "undefined" && !isXML ) {
|
6589
|
+
var m = context.getElementById(match[1]);
|
6590
|
+
return m ? m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? [m] : undefined : [];
|
6591
|
+
}
|
6592
|
+
};
|
6593
|
+
|
6594
|
+
Expr.filter.ID = function(elem, match){
|
6595
|
+
var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id");
|
6596
|
+
return elem.nodeType === 1 && node && node.nodeValue === match;
|
6597
|
+
};
|
6598
|
+
}
|
6599
|
+
|
6600
|
+
root.removeChild( form );
|
6601
|
+
root = form = null; // release memory in IE
|
6602
|
+
})();
|
6603
|
+
|
6604
|
+
(function(){
|
6605
|
+
// Check to see if the browser returns only elements
|
6606
|
+
// when doing getElementsByTagName("*")
|
6607
|
+
|
6608
|
+
// Create a fake element
|
6609
|
+
var div = document.createElement("div");
|
6610
|
+
div.appendChild( document.createComment("") );
|
6611
|
+
|
6612
|
+
// Make sure no comments are found
|
6613
|
+
if ( div.getElementsByTagName("*").length > 0 ) {
|
6614
|
+
Expr.find.TAG = function(match, context){
|
6615
|
+
var results = context.getElementsByTagName(match[1]);
|
6616
|
+
|
6617
|
+
// Filter out possible comments
|
6618
|
+
if ( match[1] === "*" ) {
|
6619
|
+
var tmp = [];
|
6620
|
+
|
6621
|
+
for ( var i = 0; results[i]; i++ ) {
|
6622
|
+
if ( results[i].nodeType === 1 ) {
|
6623
|
+
tmp.push( results[i] );
|
6624
|
+
}
|
6625
|
+
}
|
6626
|
+
|
6627
|
+
results = tmp;
|
6628
|
+
}
|
6629
|
+
|
6630
|
+
return results;
|
6631
|
+
};
|
6632
|
+
}
|
6633
|
+
|
6634
|
+
// Check to see if an attribute returns normalized href attributes
|
6635
|
+
div.innerHTML = "<a href='#'></a>";
|
6636
|
+
if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" &&
|
6637
|
+
div.firstChild.getAttribute("href") !== "#" ) {
|
6638
|
+
Expr.attrHandle.href = function(elem){
|
6639
|
+
return elem.getAttribute("href", 2);
|
6640
|
+
};
|
6641
|
+
}
|
6642
|
+
|
6643
|
+
div = null; // release memory in IE
|
6644
|
+
})();
|
6645
|
+
|
6646
|
+
if ( document.querySelectorAll ) {
|
6647
|
+
(function(){
|
6648
|
+
var oldSizzle = Sizzle, div = document.createElement("div");
|
6649
|
+
div.innerHTML = "<p class='TEST'></p>";
|
6650
|
+
|
6651
|
+
// Safari can't handle uppercase or unicode characters when
|
6652
|
+
// in quirks mode.
|
6653
|
+
if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) {
|
6654
|
+
return;
|
6655
|
+
}
|
6656
|
+
|
6657
|
+
Sizzle = function(query, context, extra, seed){
|
6658
|
+
context = context || document;
|
6659
|
+
|
6660
|
+
// Only use querySelectorAll on non-XML documents
|
6661
|
+
// (ID selectors don't work in non-HTML documents)
|
6662
|
+
if ( !seed && context.nodeType === 9 && !Sizzle.isXML(context) ) {
|
6663
|
+
try {
|
6664
|
+
return makeArray( context.querySelectorAll(query), extra );
|
6665
|
+
} catch(e){}
|
6666
|
+
}
|
6667
|
+
|
6668
|
+
return oldSizzle(query, context, extra, seed);
|
6669
|
+
};
|
6670
|
+
|
6671
|
+
for ( var prop in oldSizzle ) {
|
6672
|
+
Sizzle[ prop ] = oldSizzle[ prop ];
|
6673
|
+
}
|
6674
|
+
|
6675
|
+
div = null; // release memory in IE
|
6676
|
+
})();
|
6677
|
+
}
|
6678
|
+
|
6679
|
+
(function(){
|
6680
|
+
var div = document.createElement("div");
|
6681
|
+
|
6682
|
+
div.innerHTML = "<div class='test e'></div><div class='test'></div>";
|
6683
|
+
|
6684
|
+
// Opera can't find a second classname (in 9.6)
|
6685
|
+
// Also, make sure that getElementsByClassName actually exists
|
6686
|
+
if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) {
|
6687
|
+
return;
|
6688
|
+
}
|
6689
|
+
|
6690
|
+
// Safari caches class attributes, doesn't catch changes (in 3.2)
|
6691
|
+
div.lastChild.className = "e";
|
6692
|
+
|
6693
|
+
if ( div.getElementsByClassName("e").length === 1 ) {
|
6694
|
+
return;
|
6695
|
+
}
|
6696
|
+
|
6697
|
+
Expr.order.splice(1, 0, "CLASS");
|
6698
|
+
Expr.find.CLASS = function(match, context, isXML) {
|
6699
|
+
if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) {
|
6700
|
+
return context.getElementsByClassName(match[1]);
|
6701
|
+
}
|
6702
|
+
};
|
6703
|
+
|
6704
|
+
div = null; // release memory in IE
|
6705
|
+
})();
|
6706
|
+
|
6707
|
+
function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
|
6708
|
+
for ( var i = 0, l = checkSet.length; i < l; i++ ) {
|
6709
|
+
var elem = checkSet[i];
|
6710
|
+
if ( elem ) {
|
6711
|
+
elem = elem[dir];
|
6712
|
+
var match = false;
|
6713
|
+
|
6714
|
+
while ( elem ) {
|
6715
|
+
if ( elem.sizcache === doneName ) {
|
6716
|
+
match = checkSet[elem.sizset];
|
6717
|
+
break;
|
6718
|
+
}
|
6719
|
+
|
6720
|
+
if ( elem.nodeType === 1 && !isXML ){
|
6721
|
+
elem.sizcache = doneName;
|
6722
|
+
elem.sizset = i;
|
6723
|
+
}
|
6724
|
+
|
6725
|
+
if ( elem.nodeName.toLowerCase() === cur ) {
|
6726
|
+
match = elem;
|
6727
|
+
break;
|
6728
|
+
}
|
6729
|
+
|
6730
|
+
elem = elem[dir];
|
6731
|
+
}
|
6732
|
+
|
6733
|
+
checkSet[i] = match;
|
6734
|
+
}
|
6735
|
+
}
|
6736
|
+
}
|
6737
|
+
|
6738
|
+
function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
|
6739
|
+
for ( var i = 0, l = checkSet.length; i < l; i++ ) {
|
6740
|
+
var elem = checkSet[i];
|
6741
|
+
if ( elem ) {
|
6742
|
+
elem = elem[dir];
|
6743
|
+
var match = false;
|
6744
|
+
|
6745
|
+
while ( elem ) {
|
6746
|
+
if ( elem.sizcache === doneName ) {
|
6747
|
+
match = checkSet[elem.sizset];
|
6748
|
+
break;
|
6749
|
+
}
|
6750
|
+
|
6751
|
+
if ( elem.nodeType === 1 ) {
|
6752
|
+
if ( !isXML ) {
|
6753
|
+
elem.sizcache = doneName;
|
6754
|
+
elem.sizset = i;
|
6755
|
+
}
|
6756
|
+
if ( typeof cur !== "string" ) {
|
6757
|
+
if ( elem === cur ) {
|
6758
|
+
match = true;
|
6759
|
+
break;
|
6760
|
+
}
|
6761
|
+
|
6762
|
+
} else if ( Sizzle.filter( cur, [elem] ).length > 0 ) {
|
6763
|
+
match = elem;
|
6764
|
+
break;
|
6765
|
+
}
|
6766
|
+
}
|
6767
|
+
|
6768
|
+
elem = elem[dir];
|
6769
|
+
}
|
6770
|
+
|
6771
|
+
checkSet[i] = match;
|
6772
|
+
}
|
6773
|
+
}
|
6774
|
+
}
|
6775
|
+
|
6776
|
+
Sizzle.contains = document.compareDocumentPosition ? function(a, b){
|
6777
|
+
return !!(a.compareDocumentPosition(b) & 16);
|
6778
|
+
} : function(a, b){
|
6779
|
+
return a !== b && (a.contains ? a.contains(b) : true);
|
6780
|
+
};
|
6781
|
+
|
6782
|
+
Sizzle.isXML = function(elem){
|
6783
|
+
// documentElement is verified for cases where it doesn't yet exist
|
6784
|
+
// (such as loading iframes in IE - #4833)
|
6785
|
+
var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement;
|
6786
|
+
return documentElement ? documentElement.nodeName !== "HTML" : false;
|
6787
|
+
};
|
6788
|
+
|
6789
|
+
var posProcess = function(selector, context){
|
6790
|
+
var tmpSet = [], later = "", match,
|
6791
|
+
root = context.nodeType ? [context] : context;
|
6792
|
+
|
6793
|
+
// Position selectors must be done after the filter
|
6794
|
+
// And so must :not(positional) so we move all PSEUDOs to the end
|
6795
|
+
while ( (match = Expr.match.PSEUDO.exec( selector )) ) {
|
6796
|
+
later += match[0];
|
6797
|
+
selector = selector.replace( Expr.match.PSEUDO, "" );
|
6798
|
+
}
|
6799
|
+
|
6800
|
+
selector = Expr.relative[selector] ? selector + "*" : selector;
|
6801
|
+
|
6802
|
+
for ( var i = 0, l = root.length; i < l; i++ ) {
|
6803
|
+
Sizzle( selector, root[i], tmpSet );
|
6804
|
+
}
|
6805
|
+
|
6806
|
+
return Sizzle.filter( later, tmpSet );
|
6807
|
+
};
|
6808
|
+
|
6809
|
+
// EXPOSE
|
6810
|
+
|
6811
|
+
window.tinymce.dom.Sizzle = Sizzle;
|
6812
|
+
|
6813
|
+
})();
|
6814
|
+
|
6815
|
+
|
6816
|
+
(function(tinymce) {
|
6817
|
+
// Shorten names
|
6818
|
+
var each = tinymce.each, DOM = tinymce.DOM, isIE = tinymce.isIE, isWebKit = tinymce.isWebKit, Event;
|
6819
|
+
|
6820
|
+
tinymce.create('tinymce.dom.EventUtils', {
|
6821
|
+
EventUtils : function() {
|
6822
|
+
this.inits = [];
|
6823
|
+
this.events = [];
|
6824
|
+
},
|
6825
|
+
|
6826
|
+
add : function(o, n, f, s) {
|
6827
|
+
var cb, t = this, el = t.events, r;
|
6828
|
+
|
6829
|
+
if (n instanceof Array) {
|
6830
|
+
r = [];
|
6831
|
+
|
6832
|
+
each(n, function(n) {
|
6833
|
+
r.push(t.add(o, n, f, s));
|
6834
|
+
});
|
6835
|
+
|
6836
|
+
return r;
|
6837
|
+
}
|
6838
|
+
|
6839
|
+
// Handle array
|
6840
|
+
if (o && o.hasOwnProperty && o instanceof Array) {
|
6841
|
+
r = [];
|
6842
|
+
|
6843
|
+
each(o, function(o) {
|
6844
|
+
o = DOM.get(o);
|
6845
|
+
r.push(t.add(o, n, f, s));
|
6846
|
+
});
|
6847
|
+
|
6848
|
+
return r;
|
6849
|
+
}
|
6850
|
+
|
6851
|
+
o = DOM.get(o);
|
6852
|
+
|
6853
|
+
if (!o)
|
6854
|
+
return;
|
6855
|
+
|
6856
|
+
// Setup event callback
|
6857
|
+
cb = function(e) {
|
6858
|
+
// Is all events disabled
|
6859
|
+
if (t.disabled)
|
6860
|
+
return;
|
6861
|
+
|
6862
|
+
e = e || window.event;
|
6863
|
+
|
6864
|
+
// Patch in target, preventDefault and stopPropagation in IE it's W3C valid
|
6865
|
+
if (e && isIE) {
|
6866
|
+
if (!e.target)
|
6867
|
+
e.target = e.srcElement;
|
6868
|
+
|
6869
|
+
// Patch in preventDefault, stopPropagation methods for W3C compatibility
|
6870
|
+
tinymce.extend(e, t._stoppers);
|
6871
|
+
}
|
6872
|
+
|
6873
|
+
if (!s)
|
6874
|
+
return f(e);
|
6875
|
+
|
6876
|
+
return f.call(s, e);
|
6877
|
+
};
|
6878
|
+
|
6879
|
+
if (n == 'unload') {
|
6880
|
+
tinymce.unloads.unshift({func : cb});
|
6881
|
+
return cb;
|
6054
6882
|
}
|
6055
6883
|
|
6056
6884
|
if (n == 'init') {
|
@@ -9928,11 +10756,6 @@ tinymce.create('tinymce.ui.Toolbar:tinymce.ui.Container', {
|
|
9928
10756
|
self.onAddEditor.dispatch(self, editor);
|
9929
10757
|
|
9930
10758
|
|
9931
|
-
// Patch the tinymce.Editor instance with jQuery adapter logic
|
9932
|
-
if (tinymce.adapter)
|
9933
|
-
tinymce.adapter.patchEditor(editor);
|
9934
|
-
|
9935
|
-
|
9936
10759
|
return editor;
|
9937
10760
|
},
|
9938
10761
|
|