From ff54dfa57bea9b95e201e4f1332a8afa0644b3a9 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 10 Aug 2011 18:59:32 +0300 Subject: [PATCH] beta version textEditor and updated webBrowser with iCell and Calculator --- .../config.xml | 10 +- .../TextEditor.wgt/css/content.css | 105 + .../interactive/TextEditor.wgt/css/word.css | 53 + .../icon.png | Bin .../interactive/TextEditor.wgt/index.html | 65 + .../jscripts/tiny_mce/langs/en.js | 223 + .../jscripts/tiny_mce/license.txt | 504 + .../tiny_mce/plugins/advhr/css/advhr.css | 5 + .../tiny_mce/plugins/advhr/editor_plugin.js | 1 + .../plugins/advhr/editor_plugin_src.js | 57 + .../tiny_mce/plugins/advhr/js/rule.js | 43 + .../tiny_mce/plugins/advhr/langs/en_dlg.js | 7 + .../jscripts/tiny_mce/plugins/advhr/rule.htm | 58 + .../plugins/advimage/css/advimage.css | 13 + .../plugins/advimage/editor_plugin.js | 1 + .../plugins/advimage/editor_plugin_src.js | 50 + .../tiny_mce/plugins/advimage/image.htm | 235 + .../tiny_mce/plugins/advimage/img/sample.gif | Bin 0 -> 1624 bytes .../tiny_mce/plugins/advimage/js/image.js | 458 + .../tiny_mce/plugins/advimage/langs/en_dlg.js | 45 + .../tiny_mce/plugins/advlink/css/advlink.css | 8 + .../tiny_mce/plugins/advlink/editor_plugin.js | 1 + .../plugins/advlink/editor_plugin_src.js | 61 + .../tiny_mce/plugins/advlink/js/advlink.js | 532 + .../tiny_mce/plugins/advlink/langs/en_dlg.js | 54 + .../tiny_mce/plugins/advlink/link.htm | 338 + .../tiny_mce/plugins/advlist/editor_plugin.js | 1 + .../plugins/advlist/editor_plugin_src.js | 176 + .../plugins/autolink/editor_plugin.js | 1 + .../plugins/autolink/editor_plugin_src.js | 172 + .../plugins/autoresize/editor_plugin.js | 1 + .../plugins/autoresize/editor_plugin_src.js | 137 + .../plugins/autosave/editor_plugin.js | 1 + .../plugins/autosave/editor_plugin_src.js | 431 + .../tiny_mce/plugins/autosave/langs/en.js | 4 + .../tiny_mce/plugins/bbcode/editor_plugin.js | 1 + .../plugins/bbcode/editor_plugin_src.js | 120 + .../plugins/contextmenu/editor_plugin.js | 1 + .../plugins/contextmenu/editor_plugin_src.js | 160 + .../plugins/directionality/editor_plugin.js | 1 + .../directionality/editor_plugin_src.js | 82 + .../plugins/emotions/editor_plugin.js | 1 + .../plugins/emotions/editor_plugin_src.js | 43 + .../tiny_mce/plugins/emotions/emotions.htm | 41 + .../plugins/emotions/img/smiley-cool.gif | Bin 0 -> 354 bytes .../plugins/emotions/img/smiley-cool.png | Bin 0 -> 1054 bytes .../plugins/emotions/img/smiley-cry.gif | Bin 0 -> 329 bytes .../plugins/emotions/img/smiley-cry.png | Bin 0 -> 1039 bytes .../emotions/img/smiley-embarassed.gif | Bin 0 -> 331 bytes .../emotions/img/smiley-embarassed.png | Bin 0 -> 1038 bytes .../emotions/img/smiley-foot-in-mouth.gif | Bin 0 -> 342 bytes .../emotions/img/smiley-foot-in-mouth.png | Bin 0 -> 1045 bytes .../plugins/emotions/img/smiley-frown.gif | Bin 0 -> 340 bytes .../plugins/emotions/img/smiley-frown.png | Bin 0 -> 1046 bytes .../plugins/emotions/img/smiley-innocent.gif | Bin 0 -> 336 bytes .../plugins/emotions/img/smiley-innocent.png | Bin 0 -> 1046 bytes .../plugins/emotions/img/smiley-kiss.gif | Bin 0 -> 338 bytes .../plugins/emotions/img/smiley-kiss.png | Bin 0 -> 1047 bytes .../plugins/emotions/img/smiley-laughing.gif | Bin 0 -> 343 bytes .../plugins/emotions/img/smiley-laughing.png | Bin 0 -> 1041 bytes .../emotions/img/smiley-money-mouth.gif | Bin 0 -> 321 bytes .../emotions/img/smiley-money-mouth.png} | Bin 929 -> 1027 bytes .../plugins/emotions/img/smiley-sealed.gif | Bin 0 -> 323 bytes .../plugins/emotions/img/smiley-sealed.png | Bin 0 -> 1028 bytes .../plugins/emotions/img/smiley-smile.gif | Bin 0 -> 344 bytes .../plugins/emotions/img/smiley-smile.png | Bin 0 -> 1045 bytes .../plugins/emotions/img/smiley-surprised.gif | Bin 0 -> 338 bytes .../plugins/emotions/img/smiley-surprised.png | Bin 0 -> 1044 bytes .../emotions/img/smiley-tongue-out.gif | Bin 0 -> 328 bytes .../emotions/img/smiley-tongue-out.png | Bin 0 -> 1037 bytes .../plugins/emotions/img/smiley-undecided.gif | Bin 0 -> 337 bytes .../plugins/emotions/img/smiley-undecided.png | Bin 0 -> 1044 bytes .../plugins/emotions/img/smiley-wink.gif | Bin 0 -> 350 bytes .../plugins/emotions/img/smiley-wink.png | Bin 0 -> 1050 bytes .../plugins/emotions/img/smiley-yell.gif | Bin 0 -> 336 bytes .../plugins/emotions/img/smiley-yell.png | Bin 0 -> 1046 bytes .../tiny_mce/plugins/emotions/js/emotions.js | 22 + .../tiny_mce/plugins/emotions/langs/en_dlg.js | 20 + .../tiny_mce/plugins/example/dialog.htm | 22 + .../tiny_mce/plugins/example/editor_plugin.js | 1 + .../plugins/example/editor_plugin_src.js | 84 + .../tiny_mce/plugins/example/img/example.gif | Bin 0 -> 87 bytes .../tiny_mce/plugins/example/js/dialog.js | 19 + .../tiny_mce/plugins/example/langs/en.js | 3 + .../tiny_mce/plugins/example/langs/en_dlg.js | 3 + .../example_dependency/editor_plugin.js | 1 + .../example_dependency/editor_plugin_src.js | 50 + .../plugins/fullpage/css/fullpage.css | 143 + .../plugins/fullpage/editor_plugin.js | 1 + .../plugins/fullpage/editor_plugin_src.js | 399 + .../tiny_mce/plugins/fullpage/fullpage.htm | 259 + .../tiny_mce/plugins/fullpage/js/fullpage.js | 232 + .../tiny_mce/plugins/fullpage/langs/en_dlg.js | 85 + .../plugins/fullscreen/editor_plugin.js | 1 + .../plugins/fullscreen/editor_plugin_src.js | 159 + .../plugins/fullscreen/fullscreen.htm | 109 + .../tiny_mce/plugins/iespell/editor_plugin.js | 1 + .../plugins/iespell/editor_plugin_src.js | 54 + .../plugins/inlinepopups/editor_plugin.js | 1 + .../plugins/inlinepopups/editor_plugin_src.js | 699 + .../skins/clearlooks2/img/alert.gif | Bin 0 -> 810 bytes .../skins/clearlooks2/img/alert.png | Bin 0 -> 1233 bytes .../skins/clearlooks2/img/button.gif | Bin 0 -> 272 bytes .../skins/clearlooks2/img/button.png | Bin 0 -> 179 bytes .../skins/clearlooks2/img/buttons.gif | Bin 0 -> 1195 bytes .../skins/clearlooks2/img/buttons.png | Bin 0 -> 1359 bytes .../skins/clearlooks2/img/confirm.gif | Bin 0 -> 907 bytes .../skins/clearlooks2/img/confirm.png | Bin 0 -> 1365 bytes .../skins/clearlooks2/img/corners.gif | Bin 0 -> 909 bytes .../skins/clearlooks2/img/corners.png | Bin 0 -> 1175 bytes .../skins/clearlooks2/img/horizontal.gif | Bin 0 -> 769 bytes .../skins/clearlooks2/img/horizontal.png | Bin 0 -> 986 bytes .../skins/clearlooks2/img/vertical.gif | Bin 0 -> 84 bytes .../skins/clearlooks2/img/vertical.png | Bin 0 -> 134 bytes .../inlinepopups/skins/clearlooks2/window.css | 90 + .../plugins/inlinepopups/template.htm | 387 + .../plugins/insertdatetime/editor_plugin.js | 1 + .../insertdatetime/editor_plugin_src.js | 83 + .../tiny_mce/plugins/layer/editor_plugin.js | 1 + .../plugins/layer/editor_plugin_src.js | 214 + .../plugins/legacyoutput/editor_plugin.js | 1 + .../plugins/legacyoutput/editor_plugin_src.js | 139 + .../tiny_mce/plugins/lists/editor_plugin.js | 1 + .../plugins/lists/editor_plugin_src.js | 769 + .../tiny_mce/plugins/media/css/media.css | 17 + .../tiny_mce/plugins/media/editor_plugin.js | 1 + .../plugins/media/editor_plugin_src.js | 822 + .../tiny_mce/plugins/media/js/embed.js | 73 + .../tiny_mce/plugins/media/js/media.js | 389 + .../tiny_mce/plugins/media/langs/en_dlg.js | 112 + .../jscripts/tiny_mce/plugins/media/media.htm | 897 + .../tiny_mce/plugins/media/moxieplayer.swf | Bin 0 -> 33931 bytes .../plugins/nonbreaking/editor_plugin.js | 1 + .../plugins/nonbreaking/editor_plugin_src.js | 53 + .../plugins/noneditable/editor_plugin.js | 1 + .../plugins/noneditable/editor_plugin_src.js | 95 + .../plugins/pagebreak/editor_plugin.js | 1 + .../plugins/pagebreak/editor_plugin_src.js | 74 + .../tiny_mce/plugins/paste/editor_plugin.js | 1 + .../plugins/paste/editor_plugin_src.js | 942 + .../tiny_mce/plugins/paste/js/pastetext.js | 36 + .../tiny_mce/plugins/paste/js/pasteword.js | 51 + .../tiny_mce/plugins/paste/langs/en_dlg.js | 5 + .../tiny_mce/plugins/paste/pastetext.htm | 27 + .../tiny_mce/plugins/paste/pasteword.htm | 21 + .../tiny_mce/plugins/preview/editor_plugin.js | 1 + .../plugins/preview/editor_plugin_src.js | 53 + .../tiny_mce/plugins/preview/example.html | 28 + .../plugins/preview/jscripts/embed.js | 73 + .../tiny_mce/plugins/preview/preview.html | 17 + .../tiny_mce/plugins/print/editor_plugin.js | 1 + .../plugins/print/editor_plugin_src.js | 34 + .../tiny_mce/plugins/save/editor_plugin.js | 1 + .../plugins/save/editor_plugin_src.js | 101 + .../searchreplace/css/searchreplace.css | 6 + .../plugins/searchreplace/editor_plugin.js | 1 + .../searchreplace/editor_plugin_src.js | 61 + .../plugins/searchreplace/js/searchreplace.js | 142 + .../plugins/searchreplace/langs/en_dlg.js | 16 + .../plugins/searchreplace/searchreplace.htm | 100 + .../plugins/spellchecker/css/content.css | 1 + .../plugins/spellchecker/editor_plugin.js | 1 + .../plugins/spellchecker/editor_plugin_src.js | 434 + .../plugins/spellchecker/img/wline.gif | Bin 0 -> 46 bytes .../plugins/spellchecker/img/wline.png | Bin 0 -> 89 bytes .../tiny_mce/plugins/style/css/props.css | 13 + .../tiny_mce/plugins/style/editor_plugin.js | 1 + .../plugins/style/editor_plugin_src.js | 55 + .../tiny_mce/plugins/style/js/props.js | 635 + .../tiny_mce/plugins/style/langs/en_dlg.js | 70 + .../jscripts/tiny_mce/plugins/style/props.htm | 840 + .../plugins/tabfocus/editor_plugin.js | 1 + .../plugins/tabfocus/editor_plugin_src.js | 122 + .../jscripts/tiny_mce/plugins/table/cell.htm | 180 + .../tiny_mce/plugins/table/css/cell.css | 17 + .../tiny_mce/plugins/table/css/row.css | 25 + .../tiny_mce/plugins/table/css/table.css | 13 + .../tiny_mce/plugins/table/editor_plugin.js | 1 + .../plugins/table/editor_plugin_src.js | 1363 ++ .../tiny_mce/plugins/table/js/cell.js | 319 + .../tiny_mce/plugins/table/js/merge_cells.js | 27 + .../jscripts/tiny_mce/plugins/table/js/row.js | 237 + .../tiny_mce/plugins/table/js/table.js | 450 + .../tiny_mce/plugins/table/langs/en_dlg.js | 75 + .../tiny_mce/plugins/table/merge_cells.htm | 32 + .../jscripts/tiny_mce/plugins/table/row.htm | 158 + .../jscripts/tiny_mce/plugins/table/table.htm | 188 + .../tiny_mce/plugins/template/blank.htm | 12 + .../plugins/template/css/template.css | 23 + .../plugins/template/editor_plugin.js | 1 + .../plugins/template/editor_plugin_src.js | 159 + .../tiny_mce/plugins/template/js/template.js | 106 + .../tiny_mce/plugins/template/langs/en_dlg.js | 15 + .../tiny_mce/plugins/template/template.htm | 31 + .../plugins/visualchars/editor_plugin.js | 1 + .../plugins/visualchars/editor_plugin_src.js | 83 + .../plugins/wordcount/editor_plugin.js | 1 + .../plugins/wordcount/editor_plugin_src.js | 114 + .../tiny_mce/plugins/xhtmlxtras/abbr.htm | 142 + .../tiny_mce/plugins/xhtmlxtras/acronym.htm | 142 + .../plugins/xhtmlxtras/attributes.htm | 149 + .../tiny_mce/plugins/xhtmlxtras/cite.htm | 142 + .../plugins/xhtmlxtras/css/attributes.css | 11 + .../tiny_mce/plugins/xhtmlxtras/css/popup.css | 9 + .../tiny_mce/plugins/xhtmlxtras/del.htm | 162 + .../plugins/xhtmlxtras/editor_plugin.js | 1 + .../plugins/xhtmlxtras/editor_plugin_src.js | 132 + .../tiny_mce/plugins/xhtmlxtras/ins.htm | 162 + .../tiny_mce/plugins/xhtmlxtras/js/abbr.js | 28 + .../tiny_mce/plugins/xhtmlxtras/js/acronym.js | 28 + .../plugins/xhtmlxtras/js/attributes.js | 111 + .../tiny_mce/plugins/xhtmlxtras/js/cite.js | 28 + .../tiny_mce/plugins/xhtmlxtras/js/del.js | 53 + .../plugins/xhtmlxtras/js/element_common.js | 229 + .../tiny_mce/plugins/xhtmlxtras/js/ins.js | 53 + .../plugins/xhtmlxtras/langs/en_dlg.js | 32 + .../tiny_mce/themes/advanced/about.htm | 52 + .../tiny_mce/themes/advanced/anchor.htm | 26 + .../tiny_mce/themes/advanced/charmap.htm | 51 + .../tiny_mce/themes/advanced/color_picker.htm | 74 + .../themes/advanced/editor_template.js | 1 + .../themes/advanced/editor_template_src.js | 1358 ++ .../tiny_mce/themes/advanced/image.htm | 80 + .../themes/advanced/img/colorpicker.jpg | Bin 0 -> 2584 bytes .../tiny_mce/themes/advanced/img/flash.png | Bin 0 -> 276 bytes .../tiny_mce/themes/advanced/img/icons.png | Bin 0 -> 9637 bytes .../tiny_mce/themes/advanced/img/iframe.png | Bin 0 -> 1009 bytes .../themes/advanced/img/pagebreak.png | Bin 0 -> 360 bytes .../themes/advanced/img/quicktime.png} | Bin 971 -> 1020 bytes .../themes/advanced/img/realmedia.png | Bin 0 -> 1142 bytes .../themes/advanced/img/shockwave.png | Bin 0 -> 1005 bytes .../tiny_mce/themes/advanced/img/trans.png | Bin 0 -> 85 bytes .../tiny_mce/themes/advanced/img/video.png | Bin 0 -> 1025 bytes .../themes/advanced/img/windowsmedia.png | Bin 0 -> 1043 bytes .../tiny_mce/themes/advanced/js/about.js | 73 + .../tiny_mce/themes/advanced/js/anchor.js | 42 + .../tiny_mce/themes/advanced/js/charmap.js | 355 + .../themes/advanced/js/color_picker.js | 329 + .../tiny_mce/themes/advanced/js/image.js | 247 + .../tiny_mce/themes/advanced/js/link.js | 153 + .../themes/advanced/js/source_editor.js | 56 + .../tiny_mce/themes/advanced/langs/en.js | 68 + .../tiny_mce/themes/advanced/langs/en_dlg.js | 54 + .../tiny_mce/themes/advanced/link.htm | 57 + .../tiny_mce/themes/advanced/shortcuts.htm | 47 + .../themes/advanced/skins/default/content.css | 48 + .../themes/advanced/skins/default/dialog.css | 117 + .../advanced/skins/default/img/buttons.png | Bin 0 -> 3133 bytes .../advanced/skins/default/img/items.gif | Bin 0 -> 64 bytes .../advanced/skins/default/img/menu_arrow.gif | Bin 0 -> 68 bytes .../advanced/skins/default/img/menu_check.gif | Bin 0 -> 70 bytes .../advanced/skins/default/img/progress.gif | Bin 0 -> 1787 bytes .../advanced/skins/default/img/tabs.gif | Bin 0 -> 1322 bytes .../themes/advanced/skins/default/ui.css | 214 + .../advanced/skins/highcontrast/content.css | 23 + .../advanced/skins/highcontrast/dialog.css | 105 + .../themes/advanced/skins/highcontrast/ui.css | 102 + .../themes/advanced/skins/o2k7/content.css | 47 + .../themes/advanced/skins/o2k7/dialog.css | 117 + .../advanced/skins/o2k7/img/button_bg.png | Bin 0 -> 2766 bytes .../skins/o2k7/img/button_bg_black.png | Bin 0 -> 651 bytes .../skins/o2k7/img/button_bg_silver.png | Bin 0 -> 2084 bytes .../themes/advanced/skins/o2k7/ui.css | 217 + .../themes/advanced/skins/o2k7/ui_black.css | 8 + .../themes/advanced/skins/o2k7/ui_silver.css | 5 + .../themes/advanced/source_editor.htm | 25 + .../tiny_mce/themes/simple/editor_template.js | 1 + .../themes/simple/editor_template_src.js | 84 + .../tiny_mce/themes/simple/img/icons.gif | Bin 0 -> 806 bytes .../tiny_mce/themes/simple/langs/en.js | 11 + .../themes/simple/skins/default/content.css | 25 + .../themes/simple/skins/default/ui.css | 32 + .../themes/simple/skins/o2k7/content.css | 17 + .../simple/skins/o2k7/img/button_bg.png} | Bin 2849 -> 5102 bytes .../tiny_mce/themes/simple/skins/o2k7/ui.css | 35 + .../jscripts/tiny_mce/tiny_mce.js | 1 + .../jscripts/tiny_mce/tiny_mce_popup.js | 5 + .../jscripts/tiny_mce/tiny_mce_src.js | 16342 ++++++++++++++++ .../tiny_mce/utils/editable_selects.js | 70 + .../jscripts/tiny_mce/utils/form_utils.js | 210 + .../jscripts/tiny_mce/utils/mctabs.js | 162 + .../jscripts/tiny_mce/utils/validate.js | 252 + .../TextEditor.wgt/lists/image_list.js | 9 + .../TextEditor.wgt/lists/link_list.js | 10 + .../TextEditor.wgt/lists/media_list.js | 14 + .../TextEditor.wgt/lists/template_list.js | 9 + .../interactive/TextEditor.wgt/media/logo.jpg | Bin 0 -> 2729 bytes .../TextEditor.wgt/media/logo_over.jpg | Bin 0 -> 6473 bytes .../TextEditor.wgt/media/sample.avi | Bin 0 -> 82944 bytes .../TextEditor.wgt/media/sample.dcr | Bin 0 -> 6774 bytes .../TextEditor.wgt/media/sample.flv | Bin 0 -> 88722 bytes .../TextEditor.wgt/media/sample.mov | Bin 0 -> 55622 bytes .../TextEditor.wgt/media/sample.ram | 1 + .../TextEditor.wgt/media/sample.rm | Bin 0 -> 17846 bytes .../TextEditor.wgt/media/sample.swf | Bin 0 -> 6118 bytes .../TextEditor.wgt/templates/layout1.htm | 15 + .../TextEditor.wgt/templates/snippet1.htm | 1 + .../interactive/WebBrowser.wgt/index.html | 13 +- .../barre_prof.wgt/custom_icon.png | Bin 5095 -> 0 bytes .../barre_prof.wgt/dijit/CheckedMenuItem.js | 24 - .../barre_prof.wgt/dijit/ColorPalette.js | 33 - .../barre_prof.wgt/dijit/Dialog.js | 283 - .../barre_prof.wgt/dijit/DialogUnderlay.js | 40 - .../barre_prof.wgt/dijit/Editor.js | 496 - .../interactive/barre_prof.wgt/dijit/Menu.js | 327 - .../barre_prof.wgt/dijit/MenuItem.js | 68 - .../barre_prof.wgt/dijit/MenuSeparator.js | 20 - .../barre_prof.wgt/dijit/PopupMenuItem.js | 43 - .../barre_prof.wgt/dijit/Toolbar.js | 25 - .../barre_prof.wgt/dijit/ToolbarSeparator.js | 19 - .../barre_prof.wgt/dijit/Tooltip.js | 183 - .../barre_prof.wgt/dijit/TooltipDialog.js | 63 - .../barre_prof.wgt/dijit/_Contained.js | 31 - .../barre_prof.wgt/dijit/_Container.js | 62 - .../barre_prof.wgt/dijit/_CssStateMixin.js | 139 - .../barre_prof.wgt/dijit/_DialogMixin.js | 23 - .../barre_prof.wgt/dijit/_HasDropDown.js | 205 - .../barre_prof.wgt/dijit/_KeyNavContainer.js | 105 - .../barre_prof.wgt/dijit/_PaletteMixin.js | 97 - .../barre_prof.wgt/dijit/_Templated.js | 177 - .../barre_prof.wgt/dijit/_Widget.js | 113 - .../barre_prof.wgt/dijit/_WidgetBase.js | 258 - .../interactive/barre_prof.wgt/dijit/_base.js | 20 - .../barre_prof.wgt/dijit/_base/focus.js | 304 - .../barre_prof.wgt/dijit/_base/manager.js | 253 - .../barre_prof.wgt/dijit/_base/place.js | 117 - .../barre_prof.wgt/dijit/_base/popup.js | 166 - .../barre_prof.wgt/dijit/_base/scroll.js | 15 - .../barre_prof.wgt/dijit/_base/sniff.js | 12 - .../barre_prof.wgt/dijit/_base/typematic.js | 87 - .../barre_prof.wgt/dijit/_base/wai.js | 55 - .../barre_prof.wgt/dijit/_base/window.js | 15 - .../barre_prof.wgt/dijit/_editor/RichText.js | 1172 -- .../barre_prof.wgt/dijit/_editor/_Plugin.js | 108 - .../barre_prof.wgt/dijit/_editor/html.js | 148 - .../dijit/_editor/nls/FontChoice.js | 1 - .../dijit/_editor/nls/LinkDialog.js | 1 - .../dijit/_editor/nls/ar/FontChoice.js | 1 - .../dijit/_editor/nls/ar/LinkDialog.js | 1 - .../dijit/_editor/nls/ar/commands.js | 1 - .../dijit/_editor/nls/ca/FontChoice.js | 1 - .../dijit/_editor/nls/ca/LinkDialog.js | 1 - .../dijit/_editor/nls/ca/commands.js | 1 - .../dijit/_editor/nls/commands.js | 1 - .../dijit/_editor/nls/cs/FontChoice.js | 1 - .../dijit/_editor/nls/cs/LinkDialog.js | 1 - .../dijit/_editor/nls/cs/commands.js | 1 - .../dijit/_editor/nls/da/FontChoice.js | 1 - .../dijit/_editor/nls/da/LinkDialog.js | 1 - .../dijit/_editor/nls/da/commands.js | 1 - .../dijit/_editor/nls/de/FontChoice.js | 1 - .../dijit/_editor/nls/de/LinkDialog.js | 1 - .../dijit/_editor/nls/de/commands.js | 1 - .../dijit/_editor/nls/el/FontChoice.js | 1 - .../dijit/_editor/nls/el/LinkDialog.js | 1 - .../dijit/_editor/nls/el/commands.js | 1 - .../dijit/_editor/nls/es/FontChoice.js | 1 - .../dijit/_editor/nls/es/LinkDialog.js | 1 - .../dijit/_editor/nls/es/commands.js | 1 - .../dijit/_editor/nls/fi/FontChoice.js | 1 - .../dijit/_editor/nls/fi/LinkDialog.js | 1 - .../dijit/_editor/nls/fi/commands.js | 1 - .../dijit/_editor/nls/fr/FontChoice.js | 1 - .../dijit/_editor/nls/fr/LinkDialog.js | 1 - .../dijit/_editor/nls/fr/commands.js | 1 - .../dijit/_editor/nls/he/FontChoice.js | 1 - .../dijit/_editor/nls/he/LinkDialog.js | 1 - .../dijit/_editor/nls/he/commands.js | 1 - .../dijit/_editor/nls/hu/FontChoice.js | 1 - .../dijit/_editor/nls/hu/LinkDialog.js | 1 - .../dijit/_editor/nls/hu/commands.js | 1 - .../dijit/_editor/nls/it/FontChoice.js | 1 - .../dijit/_editor/nls/it/LinkDialog.js | 1 - .../dijit/_editor/nls/it/commands.js | 1 - .../dijit/_editor/nls/ja/FontChoice.js | 1 - .../dijit/_editor/nls/ja/LinkDialog.js | 1 - .../dijit/_editor/nls/ja/commands.js | 1 - .../dijit/_editor/nls/kk/FontChoice.js | 1 - .../dijit/_editor/nls/kk/LinkDialog.js | 1 - .../dijit/_editor/nls/kk/commands.js | 1 - .../dijit/_editor/nls/ko/FontChoice.js | 1 - .../dijit/_editor/nls/ko/LinkDialog.js | 1 - .../dijit/_editor/nls/ko/commands.js | 1 - .../dijit/_editor/nls/nb/FontChoice.js | 1 - .../dijit/_editor/nls/nb/LinkDialog.js | 1 - .../dijit/_editor/nls/nb/commands.js | 1 - .../dijit/_editor/nls/nl/FontChoice.js | 1 - .../dijit/_editor/nls/nl/LinkDialog.js | 1 - .../dijit/_editor/nls/nl/commands.js | 1 - .../dijit/_editor/nls/pl/FontChoice.js | 1 - .../dijit/_editor/nls/pl/LinkDialog.js | 1 - .../dijit/_editor/nls/pl/commands.js | 1 - .../dijit/_editor/nls/pt-pt/FontChoice.js | 1 - .../dijit/_editor/nls/pt-pt/LinkDialog.js | 1 - .../dijit/_editor/nls/pt-pt/commands.js | 1 - .../dijit/_editor/nls/pt/FontChoice.js | 1 - .../dijit/_editor/nls/pt/LinkDialog.js | 1 - .../dijit/_editor/nls/pt/commands.js | 1 - .../dijit/_editor/nls/ro/FontChoice.js | 1 - .../dijit/_editor/nls/ro/LinkDialog.js | 1 - .../dijit/_editor/nls/ro/commands.js | 1 - .../dijit/_editor/nls/ru/FontChoice.js | 1 - .../dijit/_editor/nls/ru/LinkDialog.js | 1 - .../dijit/_editor/nls/ru/commands.js | 1 - .../dijit/_editor/nls/sk/FontChoice.js | 1 - .../dijit/_editor/nls/sk/LinkDialog.js | 1 - .../dijit/_editor/nls/sk/commands.js | 1 - .../dijit/_editor/nls/sl/FontChoice.js | 1 - .../dijit/_editor/nls/sl/LinkDialog.js | 1 - .../dijit/_editor/nls/sl/commands.js | 1 - .../dijit/_editor/nls/sv/FontChoice.js | 1 - .../dijit/_editor/nls/sv/LinkDialog.js | 1 - .../dijit/_editor/nls/sv/commands.js | 1 - .../dijit/_editor/nls/th/FontChoice.js | 1 - .../dijit/_editor/nls/th/LinkDialog.js | 1 - .../dijit/_editor/nls/th/commands.js | 1 - .../dijit/_editor/nls/tr/FontChoice.js | 1 - .../dijit/_editor/nls/tr/LinkDialog.js | 1 - .../dijit/_editor/nls/tr/commands.js | 1 - .../dijit/_editor/nls/zh-tw/FontChoice.js | 1 - .../dijit/_editor/nls/zh-tw/LinkDialog.js | 1 - .../dijit/_editor/nls/zh-tw/commands.js | 1 - .../dijit/_editor/nls/zh/FontChoice.js | 1 - .../dijit/_editor/nls/zh/LinkDialog.js | 1 - .../dijit/_editor/nls/zh/commands.js | 1 - .../_editor/plugins/AlwaysShowToolbar.js | 120 - .../dijit/_editor/plugins/EnterKeyHandling.js | 426 - .../dijit/_editor/plugins/FontChoice.js | 269 - .../dijit/_editor/plugins/FullScreen.js | 234 - .../dijit/_editor/plugins/LinkDialog.js | 235 - .../dijit/_editor/plugins/NewPage.js | 38 - .../dijit/_editor/plugins/Print.js | 71 - .../dijit/_editor/plugins/TabIndent.js | 38 - .../dijit/_editor/plugins/TextColor.js | 67 - .../dijit/_editor/plugins/ToggleDir.js | 45 - .../dijit/_editor/plugins/ViewSource.js | 306 - .../barre_prof.wgt/dijit/_editor/range.js | 453 - .../barre_prof.wgt/dijit/_editor/selection.js | 273 - .../barre_prof.wgt/dijit/form/Button.js | 136 - .../barre_prof.wgt/dijit/form/CheckBox.js | 77 - .../barre_prof.wgt/dijit/form/ComboBox.js | 581 - .../barre_prof.wgt/dijit/form/ComboButton.js | 12 - .../dijit/form/CurrencyTextBox.js | 27 - .../barre_prof.wgt/dijit/form/DateTextBox.js | 14 - .../dijit/form/DropDownButton.js | 12 - .../dijit/form/FilteringSelect.js | 95 - .../barre_prof.wgt/dijit/form/Form.js | 65 - .../dijit/form/HorizontalRule.js | 39 - .../dijit/form/HorizontalRuleLabels.js | 38 - .../dijit/form/HorizontalSlider.js | 213 - .../dijit/form/MappedTextBox.js | 12 - .../barre_prof.wgt/dijit/form/MultiSelect.js | 49 - .../dijit/form/NumberSpinner.js | 38 - .../dijit/form/NumberTextBox.js | 121 - .../barre_prof.wgt/dijit/form/RadioButton.js | 12 - .../dijit/form/RangeBoundTextBox.js | 12 - .../barre_prof.wgt/dijit/form/Select.js | 142 - .../dijit/form/SimpleTextarea.js | 59 - .../barre_prof.wgt/dijit/form/Slider.js | 18 - .../barre_prof.wgt/dijit/form/TextBox.js | 212 - .../barre_prof.wgt/dijit/form/Textarea.js | 105 - .../barre_prof.wgt/dijit/form/TimeTextBox.js | 33 - .../barre_prof.wgt/dijit/form/ToggleButton.js | 12 - .../dijit/form/ValidationTextBox.js | 211 - .../barre_prof.wgt/dijit/form/VerticalRule.js | 13 - .../dijit/form/VerticalRuleLabels.js | 15 - .../dijit/form/VerticalSlider.js | 15 - .../dijit/form/_DateTimeTextBox.js | 105 - .../barre_prof.wgt/dijit/form/_FormMixin.js | 171 - .../dijit/form/_FormSelectWidget.js | 302 - .../barre_prof.wgt/dijit/form/_FormWidget.js | 171 - .../barre_prof.wgt/dijit/form/_Spinner.js | 57 - .../barre_prof.wgt/dijit/form/nls/ComboBox.js | 1 - .../barre_prof.wgt/dijit/form/nls/Textarea.js | 1 - .../dijit/form/nls/ar/ComboBox.js | 1 - .../dijit/form/nls/ar/Textarea.js | 1 - .../dijit/form/nls/ar/validate.js | 1 - .../dijit/form/nls/ca/ComboBox.js | 1 - .../dijit/form/nls/ca/Textarea.js | 1 - .../dijit/form/nls/ca/validate.js | 1 - .../dijit/form/nls/cs/ComboBox.js | 1 - .../dijit/form/nls/cs/Textarea.js | 1 - .../dijit/form/nls/cs/validate.js | 1 - .../dijit/form/nls/da/ComboBox.js | 1 - .../dijit/form/nls/da/Textarea.js | 1 - .../dijit/form/nls/da/validate.js | 1 - .../dijit/form/nls/de/ComboBox.js | 1 - .../dijit/form/nls/de/Textarea.js | 1 - .../dijit/form/nls/de/validate.js | 1 - .../dijit/form/nls/el/ComboBox.js | 1 - .../dijit/form/nls/el/Textarea.js | 1 - .../dijit/form/nls/el/validate.js | 1 - .../dijit/form/nls/es/ComboBox.js | 1 - .../dijit/form/nls/es/Textarea.js | 1 - .../dijit/form/nls/es/validate.js | 1 - .../dijit/form/nls/fi/ComboBox.js | 1 - .../dijit/form/nls/fi/Textarea.js | 1 - .../dijit/form/nls/fi/validate.js | 1 - .../dijit/form/nls/fr/ComboBox.js | 1 - .../dijit/form/nls/fr/Textarea.js | 1 - .../dijit/form/nls/fr/validate.js | 1 - .../dijit/form/nls/he/ComboBox.js | 1 - .../dijit/form/nls/he/Textarea.js | 1 - .../dijit/form/nls/he/validate.js | 1 - .../dijit/form/nls/hu/ComboBox.js | 1 - .../dijit/form/nls/hu/Textarea.js | 1 - .../dijit/form/nls/hu/validate.js | 1 - .../dijit/form/nls/it/ComboBox.js | 1 - .../dijit/form/nls/it/Textarea.js | 1 - .../dijit/form/nls/it/validate.js | 1 - .../dijit/form/nls/ja/ComboBox.js | 1 - .../dijit/form/nls/ja/Textarea.js | 1 - .../dijit/form/nls/ja/validate.js | 1 - .../dijit/form/nls/kk/ComboBox.js | 1 - .../dijit/form/nls/kk/Textarea.js | 1 - .../dijit/form/nls/kk/validate.js | 1 - .../dijit/form/nls/ko/ComboBox.js | 1 - .../dijit/form/nls/ko/Textarea.js | 1 - .../dijit/form/nls/ko/validate.js | 1 - .../dijit/form/nls/nb/ComboBox.js | 1 - .../dijit/form/nls/nb/Textarea.js | 1 - .../dijit/form/nls/nb/validate.js | 1 - .../dijit/form/nls/nl/ComboBox.js | 1 - .../dijit/form/nls/nl/Textarea.js | 1 - .../dijit/form/nls/nl/validate.js | 1 - .../dijit/form/nls/pl/ComboBox.js | 1 - .../dijit/form/nls/pl/Textarea.js | 1 - .../dijit/form/nls/pl/validate.js | 1 - .../dijit/form/nls/pt-pt/ComboBox.js | 1 - .../dijit/form/nls/pt-pt/Textarea.js | 1 - .../dijit/form/nls/pt-pt/validate.js | 1 - .../dijit/form/nls/pt/ComboBox.js | 1 - .../dijit/form/nls/pt/Textarea.js | 1 - .../dijit/form/nls/pt/validate.js | 1 - .../dijit/form/nls/ro/ComboBox.js | 1 - .../dijit/form/nls/ro/Textarea.js | 1 - .../dijit/form/nls/ro/validate.js | 1 - .../dijit/form/nls/ru/ComboBox.js | 1 - .../dijit/form/nls/ru/Textarea.js | 1 - .../dijit/form/nls/ru/validate.js | 1 - .../dijit/form/nls/sk/ComboBox.js | 1 - .../dijit/form/nls/sk/Textarea.js | 1 - .../dijit/form/nls/sk/validate.js | 1 - .../dijit/form/nls/sl/ComboBox.js | 1 - .../dijit/form/nls/sl/Textarea.js | 1 - .../dijit/form/nls/sl/validate.js | 1 - .../dijit/form/nls/sv/ComboBox.js | 1 - .../dijit/form/nls/sv/Textarea.js | 1 - .../dijit/form/nls/sv/validate.js | 1 - .../dijit/form/nls/th/ComboBox.js | 1 - .../dijit/form/nls/th/Textarea.js | 1 - .../dijit/form/nls/th/validate.js | 1 - .../dijit/form/nls/tr/ComboBox.js | 1 - .../dijit/form/nls/tr/Textarea.js | 1 - .../dijit/form/nls/tr/validate.js | 1 - .../barre_prof.wgt/dijit/form/nls/validate.js | 1 - .../dijit/form/nls/zh-tw/ComboBox.js | 1 - .../dijit/form/nls/zh-tw/Textarea.js | 1 - .../dijit/form/nls/zh-tw/validate.js | 1 - .../dijit/form/nls/zh/ComboBox.js | 1 - .../dijit/form/nls/zh/Textarea.js | 1 - .../dijit/form/nls/zh/validate.js | 1 - .../dijit/layout/AccordionContainer.js | 213 - .../dijit/layout/AccordionPane.js | 16 - .../dijit/layout/BorderContainer.js | 227 - .../dijit/layout/ContentPane.js | 218 - .../dijit/layout/LayoutContainer.js | 28 - .../barre_prof.wgt/dijit/layout/LinkPane.js | 20 - .../dijit/layout/ScrollingTabController.js | 199 - .../dijit/layout/SplitContainer.js | 348 - .../dijit/layout/StackContainer.js | 149 - .../dijit/layout/StackController.js | 192 - .../dijit/layout/TabContainer.js | 23 - .../dijit/layout/TabController.js | 70 - .../dijit/layout/_ContentPaneResizeMixin.js | 116 - .../dijit/layout/_LayoutWidget.js | 132 - .../dijit/layout/_TabContainerBase.js | 72 - .../barre_prof.wgt/dijit/nls/common.js | 1 - .../barre_prof.wgt/dijit/nls/de/common.js | 1 - .../barre_prof.wgt/dijit/nls/de/loading.js | 1 - .../dijit/nls/dijit-all_ROOT.js | 1 - .../dijit/nls/dijit-all_de-de.js | 1 - .../barre_prof.wgt/dijit/nls/dijit-all_de.js | 1 - .../dijit/nls/dijit-all_en-gb.js | 1 - .../dijit/nls/dijit-all_en-us.js | 1 - .../barre_prof.wgt/dijit/nls/dijit-all_en.js | 1 - .../dijit/nls/dijit-all_es-es.js | 1 - .../barre_prof.wgt/dijit/nls/dijit-all_es.js | 1 - .../dijit/nls/dijit-all_fr-fr.js | 1 - .../barre_prof.wgt/dijit/nls/dijit-all_fr.js | 1 - .../dijit/nls/dijit-all_it-it.js | 1 - .../barre_prof.wgt/dijit/nls/dijit-all_it.js | 1 - .../barre_prof.wgt/dijit/nls/dijit-all_ru.js | 1 - .../barre_prof.wgt/dijit/nls/es/common.js | 1 - .../barre_prof.wgt/dijit/nls/es/loading.js | 1 - .../barre_prof.wgt/dijit/nls/fr/common.js | 1 - .../barre_prof.wgt/dijit/nls/fr/loading.js | 1 - .../barre_prof.wgt/dijit/nls/it/common.js | 1 - .../barre_prof.wgt/dijit/nls/it/loading.js | 1 - .../barre_prof.wgt/dijit/nls/loading.js | 1 - .../barre_prof.wgt/dijit/nls/ru/common.js | 1 - .../barre_prof.wgt/dijit/nls/ru/loading.js | 1 - .../dijit/themes/a11y/README.txt | 3 - .../dijit/themes/a11y/colors3x4.png | Bin 282 -> 0 bytes .../dijit/themes/a11y/colors7x10.png | Bin 808 -> 0 bytes .../themes/a11y/indeterminate_progress.gif | Bin 2907 -> 0 bytes .../dijit/themes/claro/Calendar.css | 226 - .../dijit/themes/claro/Calendar.less | 273 - .../dijit/themes/claro/Calendar_rtl.css | 18 - .../dijit/themes/claro/Calendar_rtl.less | 19 - .../dijit/themes/claro/ColorPalette.css | 17 - .../dijit/themes/claro/ColorPalette.less | 44 - .../dijit/themes/claro/Common.css | 70 - .../dijit/themes/claro/Common.less | 76 - .../dijit/themes/claro/Dialog.css | 155 - .../dijit/themes/claro/Dialog.less | 203 - .../dijit/themes/claro/Dialog_rtl.css | 9 - .../dijit/themes/claro/Dialog_rtl.less | 13 - .../dijit/themes/claro/Editor.css | 33 - .../dijit/themes/claro/Editor.less | 59 - .../dijit/themes/claro/Editor_rtl.css | 4 - .../dijit/themes/claro/Editor_rtl.less | 9 - .../dijit/themes/claro/InlineEditBox.css | 11 - .../dijit/themes/claro/InlineEditBox.less | 25 - .../dijit/themes/claro/Menu.css | 145 - .../dijit/themes/claro/Menu.less | 188 - .../dijit/themes/claro/Menu_rtl.css | 8 - .../dijit/themes/claro/Menu_rtl.less | 11 - .../dijit/themes/claro/ProgressBar.css | 27 - .../dijit/themes/claro/ProgressBar.less | 56 - .../barre_prof.wgt/dijit/themes/claro/README | 64 - .../dijit/themes/claro/TimePicker.css | 102 - .../dijit/themes/claro/TimePicker.less | 124 - .../dijit/themes/claro/TimePicker_rtl.css | 9 - .../dijit/themes/claro/TimePicker_rtl.less | 12 - .../dijit/themes/claro/TitlePane.css | 54 - .../dijit/themes/claro/TitlePane.less | 74 - .../dijit/themes/claro/TitlePane_rtl.css | 4 - .../dijit/themes/claro/TitlePane_rtl.less | 7 - .../dijit/themes/claro/Toolbar.css | 126 - .../dijit/themes/claro/Toolbar.less | 157 - .../dijit/themes/claro/Toolbar_rtl.css | 26 - .../dijit/themes/claro/Toolbar_rtl.less | 32 - .../dijit/themes/claro/Tree.css | 97 - .../dijit/themes/claro/Tree.less | 133 - .../dijit/themes/claro/claro.css | 4589 ----- .../dijit/themes/claro/claro_rtl.css | 382 - .../dijit/themes/claro/compile.js | 41 - .../dijit/themes/claro/document.css | 133 - .../dijit/themes/claro/document.less | 45 - .../dijit/themes/claro/form/Button.css | 125 - .../dijit/themes/claro/form/Button.less | 154 - .../dijit/themes/claro/form/Button_rtl.css | 12 - .../dijit/themes/claro/form/Button_rtl.less | 16 - .../dijit/themes/claro/form/Checkbox.css | 44 - .../dijit/themes/claro/form/Checkbox.less | 79 - .../dijit/themes/claro/form/Common.css | 134 - .../dijit/themes/claro/form/Common.less | 194 - .../dijit/themes/claro/form/Common_rtl.css | 5 - .../dijit/themes/claro/form/Common_rtl.less | 13 - .../dijit/themes/claro/form/NumberSpinner.css | 102 - .../themes/claro/form/NumberSpinner.less | 150 - .../dijit/themes/claro/form/RadioButton.css | 51 - .../dijit/themes/claro/form/RadioButton.less | 84 - .../dijit/themes/claro/form/Select.css | 85 - .../dijit/themes/claro/form/Select.less | 124 - .../dijit/themes/claro/form/Select_rtl.css | 4 - .../dijit/themes/claro/form/Select_rtl.less | 6 - .../dijit/themes/claro/form/Slider.css | 269 - .../dijit/themes/claro/form/Slider.less | 362 - .../dijit/themes/claro/form/Slider_rtl.css | 24 - .../dijit/themes/claro/form/Slider_rtl.less | 33 - .../dijit/themes/claro/form/images/button.png | Bin 680 -> 0 bytes .../themes/claro/form/images/buttonArrows.png | Bin 297 -> 0 bytes .../claro/form/images/button_grad_d.png | Bin 3897 -> 0 bytes .../images/checkboxAndRadioButtons_IE6.png | Bin 2160 -> 0 bytes .../form/images/checkboxRadioButtonStates.png | Bin 3438 -> 0 bytes .../claro/form/images/commonFormArrows.png | Bin 314 -> 0 bytes .../dijit/themes/claro/form/images/error.png | Bin 355 -> 0 bytes .../claro/form/images/formHighlight.png | Bin 339 -> 0 bytes .../dijit/themes/claro/form/images/shadow.png | Bin 4624 -> 0 bytes .../claro/form/images/sliderHorizontal.png | Bin 180 -> 0 bytes .../themes/claro/form/images/sliderThumbs.png | Bin 1222 -> 0 bytes .../claro/form/images/sliderVertical.png | Bin 177 -> 0 bytes .../themes/claro/form/images/textBox_back.png | Bin 2837 -> 0 bytes .../themes/claro/images/calendarArrows.png | Bin 1425 -> 0 bytes .../claro/images/calendarArrows8bit.png | Bin 1053 -> 0 bytes .../claro/images/calendarContainerImages.png | Bin 3347 -> 0 bytes .../themes/claro/images/checkmarkNoBorder.gif | Bin 1658 -> 0 bytes .../themes/claro/images/checkmarkNoBorder.png | Bin 4401 -> 0 bytes .../themes/claro/images/commonHighlight.png | Bin 339 -> 0 bytes .../themes/claro/images/dialogCloseIcon.png | Bin 1660 -> 0 bytes .../claro/images/dialogCloseIcon8bit.png | Bin 705 -> 0 bytes .../dijit/themes/claro/images/dnd.png | Bin 2996 -> 0 bytes .../themes/claro/images/loadingAnimation.gif | Bin 718 -> 0 bytes .../themes/claro/images/menuHighlight.png | Bin 339 -> 0 bytes .../themes/claro/images/progressBarAnim.gif | Bin 4458 -> 0 bytes .../themes/claro/images/progressBarFull.png | Bin 177 -> 0 bytes .../themes/claro/images/spriteArrows.png | Bin 233 -> 0 bytes .../dijit/themes/claro/images/titlebar.png | Bin 640 -> 0 bytes .../dijit/themes/claro/images/tooltip.png | Bin 1818 -> 0 bytes .../dijit/themes/claro/images/tooltip8bit.png | Bin 589 -> 0 bytes .../themes/claro/images/tooltipGradient.png | Bin 1030 -> 0 bytes .../themes/claro/images/treeExpandImages.png | Bin 676 -> 0 bytes .../claro/images/treeExpandImages8bit.png | Bin 799 -> 0 bytes .../claro/images/treeExpand_loading.gif | Bin 1944 -> 0 bytes .../claro/layout/AccordionContainer.css | 84 - .../claro/layout/AccordionContainer.less | 116 - .../themes/claro/layout/BorderContainer.css | 68 - .../themes/claro/layout/BorderContainer.less | 128 - .../dijit/themes/claro/layout/ContentPane.css | 16 - .../themes/claro/layout/ContentPane.less | 43 - .../themes/claro/layout/TabContainer.css | 351 - .../themes/claro/layout/TabContainer.less | 408 - .../themes/claro/layout/TabContainer_rtl.css | 60 - .../themes/claro/layout/TabContainer_rtl.less | 81 - .../themes/claro/layout/images/accordion.png | Bin 640 -> 0 bytes .../layout/images/splitterHorizontalHover.png | Bin 3711 -> 0 bytes .../layout/images/splitterVerticalHover.png | Bin 3869 -> 0 bytes .../themes/claro/layout/images/tabBottom.png | Bin 718 -> 0 bytes .../themes/claro/layout/images/tabClose.png | Bin 1410 -> 0 bytes .../themes/claro/layout/images/tabLeft.png | Bin 1692 -> 0 bytes .../themes/claro/layout/images/tabNested.png | Bin 272 -> 0 bytes .../themes/claro/layout/images/tabRight.png | Bin 1759 -> 0 bytes .../themes/claro/layout/images/tabTop.png | Bin 721 -> 0 bytes .../dijit/themes/claro/variables.less | 189 - .../barre_prof.wgt/dijit/themes/dijit.css | 1636 -- .../barre_prof.wgt/dijit/themes/dijit_rtl.css | 80 - .../themes/tundra/images/spriteArrows.png | Bin 338 -> 0 bytes .../barre_prof.wgt/dojo/AdapterRegistry.js | 39 - .../barre_prof.wgt/dojo/DeferredList.js | 58 - .../interactive/barre_prof.wgt/dojo/LICENSE | 195 - .../barre_prof.wgt/dojo/NodeList-data.js | 61 - .../barre_prof.wgt/dojo/NodeList-fx.js | 41 - .../barre_prof.wgt/dojo/NodeList-html.js | 21 - .../dojo/NodeList-manipulate.js | 212 - .../barre_prof.wgt/dojo/NodeList-traverse.js | 124 - .../barre_prof.wgt/dojo/OpenAjax.js | 155 - .../barre_prof.wgt/dojo/Stateful.js | 69 - .../interactive/barre_prof.wgt/dojo/_base.js | 19 - .../interactive/barre_prof.wgt/dojo/back.js | 242 - .../barre_prof.wgt/dojo/behavior.js | 94 - .../interactive/barre_prof.wgt/dojo/build.txt | 400 - .../interactive/barre_prof.wgt/dojo/cache.js | 52 - .../interactive/barre_prof.wgt/dojo/colors.js | 77 - .../interactive/barre_prof.wgt/dojo/cookie.js | 50 - .../barre_prof.wgt/dojo/currency.js | 37 - .../dojo/data/ItemFileReadStore.js | 564 - .../dojo/data/ItemFileWriteStore.js | 511 - .../barre_prof.wgt/dojo/data/ObjectStore.js | 264 - .../barre_prof.wgt/dojo/data/api/Identity.js | 26 - .../dojo/data/api/Notification.js | 21 - .../barre_prof.wgt/dojo/data/api/Read.js | 55 - .../barre_prof.wgt/dojo/data/api/Request.js | 14 - .../barre_prof.wgt/dojo/data/api/Write.js | 39 - .../barre_prof.wgt/dojo/data/util/filter.js | 53 - .../dojo/data/util/simpleFetch.js | 65 - .../barre_prof.wgt/dojo/data/util/sorter.js | 67 - .../interactive/barre_prof.wgt/dojo/date.js | 214 - .../barre_prof.wgt/dojo/date/locale.js | 463 - .../barre_prof.wgt/dojo/date/stamp.js | 83 - .../barre_prof.wgt/dojo/dnd/Avatar.js | 64 - .../barre_prof.wgt/dojo/dnd/Container.js | 234 - .../barre_prof.wgt/dojo/dnd/Manager.js | 126 - .../barre_prof.wgt/dojo/dnd/Moveable.js | 79 - .../barre_prof.wgt/dojo/dnd/Mover.js | 67 - .../barre_prof.wgt/dojo/dnd/Selector.js | 239 - .../barre_prof.wgt/dojo/dnd/Source.js | 298 - .../barre_prof.wgt/dojo/dnd/TimedMoveable.js | 40 - .../barre_prof.wgt/dojo/dnd/autoscroll.js | 84 - .../barre_prof.wgt/dojo/dnd/common.js | 29 - .../barre_prof.wgt/dojo/dnd/move.js | 75 - .../interactive/barre_prof.wgt/dojo/dojo.js | 14 - .../dojo/dojo.js.uncompressed.js | 11363 ----------- .../interactive/barre_prof.wgt/dojo/fx.js | 252 - .../barre_prof.wgt/dojo/fx/Toggler.js | 30 - .../barre_prof.wgt/dojo/fx/easing.js | 167 - .../interactive/barre_prof.wgt/dojo/gears.js | 46 - .../interactive/barre_prof.wgt/dojo/hash.js | 140 - .../interactive/barre_prof.wgt/dojo/html.js | 152 - .../interactive/barre_prof.wgt/dojo/i18n.js | 173 - .../interactive/barre_prof.wgt/dojo/jaxer.js | 19 - .../barre_prof.wgt/dojo/nls/colors.js | 1 - .../barre_prof.wgt/dojo/nls/de/colors.js | 1 - .../barre_prof.wgt/dojo/nls/es/colors.js | 1 - .../barre_prof.wgt/dojo/nls/fr/colors.js | 1 - .../barre_prof.wgt/dojo/nls/it/colors.js | 1 - .../barre_prof.wgt/dojo/nls/ru/colors.js | 1 - .../interactive/barre_prof.wgt/dojo/number.js | 312 - .../barre_prof.wgt/dojo/package.json | 21 - .../interactive/barre_prof.wgt/dojo/parser.js | 319 - .../interactive/barre_prof.wgt/dojo/regexp.js | 33 - .../barre_prof.wgt/dojo/resources/LICENSE | 30 - .../barre_prof.wgt/dojo/resources/_modules.js | 7 - .../barre_prof.wgt/dojo/resources/blank.gif | Bin 43 -> 0 bytes .../barre_prof.wgt/dojo/resources/blank.html | 1 - .../barre_prof.wgt/dojo/resources/dnd.css | 14 - .../barre_prof.wgt/dojo/resources/dojo.css | 98 - .../dojo/resources/iframe_history.html | 44 - .../dojo/resources/images/dndCopy.png | Bin 814 -> 0 bytes .../dojo/resources/images/dndMove.png | Bin 785 -> 0 bytes .../dojo/resources/images/dndNoCopy.png | Bin 1332 -> 0 bytes .../dojo/resources/images/dndNoMove.png | Bin 991 -> 0 bytes .../interactive/barre_prof.wgt/dojo/robot.js | 89 - .../interactive/barre_prof.wgt/dojo/robotx.js | 101 - .../interactive/barre_prof.wgt/dojo/string.js | 58 - .../interactive/barre_prof.wgt/dojo/uacss.js | 28 - .../interactive/barre_prof.wgt/dojo/window.js | 113 - .../dojox/editor/plugins/Breadcrumb.js | 245 - .../editor/plugins/CollapsibleToolbar.js | 92 - .../dojox/editor/plugins/FindReplace.js | 394 - .../dojox/editor/plugins/PasteFromWord.js | 80 - .../dojox/editor/plugins/Preview.js | 55 - .../dojox/editor/plugins/ToolbarLineBreak.js | 33 - .../dojox/editor/plugins/nls/AutoSave.js | 1 - .../dojox/editor/plugins/nls/Blockquote.js | 1 - .../dojox/editor/plugins/nls/Breadcrumb.js | 1 - .../editor/plugins/nls/CollapsibleToolbar.js | 1 - .../dojox/editor/plugins/nls/FindReplace.js | 1 - .../dojox/editor/plugins/nls/InsertAnchor.js | 1 - .../dojox/editor/plugins/nls/InsertEntity.js | 1 - .../dojox/editor/plugins/nls/LocalImage.js | 1 - .../dojox/editor/plugins/nls/PageBreak.js | 1 - .../dojox/editor/plugins/nls/PasteFromWord.js | 1 - .../dojox/editor/plugins/nls/Preview.js | 1 - .../dojox/editor/plugins/nls/Save.js | 1 - .../editor/plugins/nls/ShowBlockNodes.js | 1 - .../dojox/editor/plugins/nls/Smiley.js | 1 - .../dojox/editor/plugins/nls/SpellCheck.js | 1 - .../dojox/editor/plugins/nls/TableDialog.js | 1 - .../dojox/editor/plugins/nls/TextColor.js | 1 - .../dojox/editor/plugins/nls/de/AutoSave.js | 1 - .../dojox/editor/plugins/nls/de/Blockquote.js | 1 - .../dojox/editor/plugins/nls/de/Breadcrumb.js | 1 - .../plugins/nls/de/CollapsibleToolbar.js | 1 - .../editor/plugins/nls/de/FindReplace.js | 1 - .../editor/plugins/nls/de/InsertAnchor.js | 1 - .../editor/plugins/nls/de/InsertEntity.js | 1 - .../dojox/editor/plugins/nls/de/LocalImage.js | 1 - .../dojox/editor/plugins/nls/de/PageBreak.js | 1 - .../editor/plugins/nls/de/PasteFromWord.js | 1 - .../dojox/editor/plugins/nls/de/Preview.js | 1 - .../dojox/editor/plugins/nls/de/Save.js | 1 - .../editor/plugins/nls/de/ShowBlockNodes.js | 1 - .../dojox/editor/plugins/nls/de/Smiley.js | 1 - .../dojox/editor/plugins/nls/de/SpellCheck.js | 1 - .../editor/plugins/nls/de/TableDialog.js | 1 - .../dojox/editor/plugins/nls/de/TextColor.js | 1 - .../editor/plugins/nls/de/latinEntities.js | 1 - .../dojox/editor/plugins/nls/es/AutoSave.js | 1 - .../dojox/editor/plugins/nls/es/Blockquote.js | 1 - .../dojox/editor/plugins/nls/es/Breadcrumb.js | 1 - .../plugins/nls/es/CollapsibleToolbar.js | 1 - .../editor/plugins/nls/es/FindReplace.js | 1 - .../editor/plugins/nls/es/InsertAnchor.js | 1 - .../editor/plugins/nls/es/InsertEntity.js | 1 - .../dojox/editor/plugins/nls/es/LocalImage.js | 1 - .../dojox/editor/plugins/nls/es/PageBreak.js | 1 - .../editor/plugins/nls/es/PasteFromWord.js | 1 - .../dojox/editor/plugins/nls/es/Preview.js | 1 - .../dojox/editor/plugins/nls/es/Save.js | 1 - .../editor/plugins/nls/es/ShowBlockNodes.js | 1 - .../dojox/editor/plugins/nls/es/Smiley.js | 1 - .../dojox/editor/plugins/nls/es/SpellCheck.js | 1 - .../editor/plugins/nls/es/TableDialog.js | 1 - .../dojox/editor/plugins/nls/es/TextColor.js | 1 - .../editor/plugins/nls/es/latinEntities.js | 1 - .../dojox/editor/plugins/nls/fr/AutoSave.js | 1 - .../dojox/editor/plugins/nls/fr/Blockquote.js | 1 - .../dojox/editor/plugins/nls/fr/Breadcrumb.js | 1 - .../plugins/nls/fr/CollapsibleToolbar.js | 1 - .../editor/plugins/nls/fr/FindReplace.js | 1 - .../editor/plugins/nls/fr/InsertAnchor.js | 1 - .../editor/plugins/nls/fr/InsertEntity.js | 1 - .../dojox/editor/plugins/nls/fr/LocalImage.js | 1 - .../dojox/editor/plugins/nls/fr/PageBreak.js | 1 - .../editor/plugins/nls/fr/PasteFromWord.js | 1 - .../dojox/editor/plugins/nls/fr/Preview.js | 1 - .../dojox/editor/plugins/nls/fr/Save.js | 1 - .../editor/plugins/nls/fr/ShowBlockNodes.js | 1 - .../dojox/editor/plugins/nls/fr/Smiley.js | 1 - .../dojox/editor/plugins/nls/fr/SpellCheck.js | 1 - .../editor/plugins/nls/fr/TableDialog.js | 1 - .../dojox/editor/plugins/nls/fr/TextColor.js | 1 - .../editor/plugins/nls/fr/latinEntities.js | 1 - .../dojox/editor/plugins/nls/it/AutoSave.js | 1 - .../dojox/editor/plugins/nls/it/Blockquote.js | 1 - .../dojox/editor/plugins/nls/it/Breadcrumb.js | 1 - .../plugins/nls/it/CollapsibleToolbar.js | 1 - .../editor/plugins/nls/it/FindReplace.js | 1 - .../editor/plugins/nls/it/InsertAnchor.js | 1 - .../editor/plugins/nls/it/InsertEntity.js | 1 - .../dojox/editor/plugins/nls/it/LocalImage.js | 1 - .../dojox/editor/plugins/nls/it/PageBreak.js | 1 - .../editor/plugins/nls/it/PasteFromWord.js | 1 - .../dojox/editor/plugins/nls/it/Preview.js | 1 - .../dojox/editor/plugins/nls/it/Save.js | 1 - .../editor/plugins/nls/it/ShowBlockNodes.js | 1 - .../dojox/editor/plugins/nls/it/Smiley.js | 1 - .../dojox/editor/plugins/nls/it/SpellCheck.js | 1 - .../editor/plugins/nls/it/TableDialog.js | 1 - .../dojox/editor/plugins/nls/it/TextColor.js | 1 - .../editor/plugins/nls/it/latinEntities.js | 1 - .../dojox/editor/plugins/nls/latinEntities.js | 1 - .../dojox/editor/plugins/nls/ru/AutoSave.js | 1 - .../dojox/editor/plugins/nls/ru/Blockquote.js | 1 - .../dojox/editor/plugins/nls/ru/Breadcrumb.js | 1 - .../plugins/nls/ru/CollapsibleToolbar.js | 1 - .../editor/plugins/nls/ru/FindReplace.js | 1 - .../editor/plugins/nls/ru/InsertAnchor.js | 1 - .../editor/plugins/nls/ru/InsertEntity.js | 1 - .../dojox/editor/plugins/nls/ru/LocalImage.js | 1 - .../dojox/editor/plugins/nls/ru/PageBreak.js | 1 - .../editor/plugins/nls/ru/PasteFromWord.js | 1 - .../dojox/editor/plugins/nls/ru/Preview.js | 1 - .../dojox/editor/plugins/nls/ru/Save.js | 1 - .../editor/plugins/nls/ru/ShowBlockNodes.js | 1 - .../dojox/editor/plugins/nls/ru/Smiley.js | 1 - .../dojox/editor/plugins/nls/ru/SpellCheck.js | 1 - .../editor/plugins/nls/ru/TableDialog.js | 1 - .../dojox/editor/plugins/nls/ru/TextColor.js | 1 - .../editor/plugins/nls/ru/latinEntities.js | 1 - .../editor/plugins/resources/css/AutoSave.css | 38 - .../plugins/resources/css/Blockquote.css | 14 - .../plugins/resources/css/Breadcrumb.css | 10 - .../resources/css/CollapsibleToolbar.css | 148 - .../plugins/resources/css/FindReplace.css | 59 - .../plugins/resources/css/InsertAnchor.css | 14 - .../plugins/resources/css/InsertEntity.css | 59 - .../plugins/resources/css/LocalImage.css | 11 - .../plugins/resources/css/PageBreak.css | 14 - .../plugins/resources/css/PasteFromWord.css | 25 - .../editor/plugins/resources/css/Preview.css | 14 - .../editor/plugins/resources/css/Save.css | 14 - .../plugins/resources/css/ShowBlockNodes.css | 14 - .../editor/plugins/resources/css/Smiley.css | 33 - .../plugins/resources/css/SpellCheck.css | 43 - .../plugins/resources/css/StatusBar.css | 102 - .../plugins/resources/css/TextColor.css | 107 - .../plugins/resources/editorPlugins.css | 159 - .../resources/emoticons/emoticonAngel.gif | Bin 3908 -> 0 bytes .../resources/emoticons/emoticonAngry.gif | Bin 1094 -> 0 bytes .../resources/emoticons/emoticonCool.gif | Bin 1041 -> 0 bytes .../resources/emoticons/emoticonCrying.gif | Bin 4994 -> 0 bytes .../resources/emoticons/emoticonEyebrow.gif | Bin 836 -> 0 bytes .../resources/emoticons/emoticonFrown.gif | Bin 839 -> 0 bytes .../resources/emoticons/emoticonGoofy.gif | Bin 828 -> 0 bytes .../resources/emoticons/emoticonGrin.gif | Bin 919 -> 0 bytes .../resources/emoticons/emoticonHalf.gif | Bin 780 -> 0 bytes .../resources/emoticons/emoticonHappy.gif | Bin 834 -> 0 bytes .../resources/emoticons/emoticonIdea.gif | Bin 200 -> 0 bytes .../resources/emoticons/emoticonLaughing.gif | Bin 757 -> 0 bytes .../resources/emoticons/emoticonNo.gif | Bin 3487 -> 0 bytes .../resources/emoticons/emoticonOops.gif | Bin 5449 -> 0 bytes .../resources/emoticons/emoticonShy.gif | Bin 2518 -> 0 bytes .../resources/emoticons/emoticonSmile.gif | Bin 1042 -> 0 bytes .../resources/emoticons/emoticonTongue.gif | Bin 819 -> 0 bytes .../resources/emoticons/emoticonWink.gif | Bin 871 -> 0 bytes .../resources/emoticons/emoticonYes.gif | Bin 3020 -> 0 bytes .../plugins/resources/images/anchor.gif | Bin 197 -> 0 bytes .../resources/images/blockelems/address.gif | Bin 936 -> 0 bytes .../resources/images/blockelems/address.png | Bin 937 -> 0 bytes .../images/blockelems/blockquote.gif | Bin 935 -> 0 bytes .../images/blockelems/blockquote.png | Bin 936 -> 0 bytes .../resources/images/blockelems/button.gif | Bin 929 -> 0 bytes .../resources/images/blockelems/button.png | Bin 913 -> 0 bytes .../resources/images/blockelems/center.gif | Bin 931 -> 0 bytes .../resources/images/blockelems/center.png | Bin 929 -> 0 bytes .../resources/images/blockelems/dd.gif | Bin 888 -> 0 bytes .../resources/images/blockelems/dd.png | Bin 875 -> 0 bytes .../resources/images/blockelems/del.gif | Bin 898 -> 0 bytes .../resources/images/blockelems/del.png | Bin 883 -> 0 bytes .../resources/images/blockelems/div.gif | Bin 896 -> 0 bytes .../resources/images/blockelems/div.png | Bin 894 -> 0 bytes .../resources/images/blockelems/dt.gif | Bin 887 -> 0 bytes .../resources/images/blockelems/dt.png | Bin 881 -> 0 bytes .../resources/images/blockelems/fieldset.gif | Bin 933 -> 0 bytes .../resources/images/blockelems/fieldset.png | Bin 922 -> 0 bytes .../resources/images/blockelems/form.gif | Bin 918 -> 0 bytes .../resources/images/blockelems/form.png | Bin 914 -> 0 bytes .../resources/images/blockelems/h1.gif | Bin 886 -> 0 bytes .../resources/images/blockelems/h1.png | Bin 875 -> 0 bytes .../resources/images/blockelems/h2.gif | Bin 889 -> 0 bytes .../resources/images/blockelems/h2.png | Bin 893 -> 0 bytes .../resources/images/blockelems/h3.gif | Bin 891 -> 0 bytes .../resources/images/blockelems/h3.png | Bin 892 -> 0 bytes .../resources/images/blockelems/h4.gif | Bin 890 -> 0 bytes .../resources/images/blockelems/h4.png | Bin 893 -> 0 bytes .../resources/images/blockelems/h5.gif | Bin 892 -> 0 bytes .../resources/images/blockelems/h5.png | Bin 890 -> 0 bytes .../resources/images/blockelems/h6.gif | Bin 890 -> 0 bytes .../resources/images/blockelems/h6.png | Bin 892 -> 0 bytes .../resources/images/blockelems/hr.gif | Bin 891 -> 0 bytes .../resources/images/blockelems/hr.png | Bin 884 -> 0 bytes .../resources/images/blockelems/iframe.gif | Bin 929 -> 0 bytes .../resources/images/blockelems/iframe.png | Bin 930 -> 0 bytes .../resources/images/blockelems/ins.gif | Bin 898 -> 0 bytes .../resources/images/blockelems/ins.png | Bin 905 -> 0 bytes .../resources/images/blockelems/li.gif | Bin 880 -> 0 bytes .../resources/images/blockelems/li.png | Bin 869 -> 0 bytes .../resources/images/blockelems/map.gif | Bin 907 -> 0 bytes .../resources/images/blockelems/map.png | Bin 912 -> 0 bytes .../resources/images/blockelems/noscript.gif | Bin 943 -> 0 bytes .../resources/images/blockelems/noscript.png | Bin 938 -> 0 bytes .../resources/images/blockelems/object.gif | Bin 925 -> 0 bytes .../resources/images/blockelems/object.png | Bin 916 -> 0 bytes .../resources/images/blockelems/ol.gif | Bin 887 -> 0 bytes .../resources/images/blockelems/ol.png | Bin 884 -> 0 bytes .../plugins/resources/images/blockelems/p.gif | Bin 875 -> 0 bytes .../plugins/resources/images/blockelems/p.png | Bin 873 -> 0 bytes .../resources/images/blockelems/pre.gif | Bin 898 -> 0 bytes .../resources/images/blockelems/pre.png | Bin 896 -> 0 bytes .../resources/images/blockelems/script.gif | Bin 924 -> 0 bytes .../resources/images/blockelems/script.png | Bin 922 -> 0 bytes .../resources/images/blockelems/table.gif | Bin 917 -> 0 bytes .../resources/images/blockelems/table.png | Bin 911 -> 0 bytes .../resources/images/blockelems/ul.gif | Bin 884 -> 0 bytes .../resources/images/blockelems/ul.png | Bin 877 -> 0 bytes .../editor/plugins/resources/images/busy.gif | Bin 9052 -> 0 bytes .../plugins/resources/images/cellpad.png | Bin 147 -> 0 bytes .../plugins/resources/images/cellspace.png | Bin 135 -> 0 bytes .../resources/images/claro/collapse.gif | Bin 860 -> 0 bytes .../resources/images/claro/collapse.png | Bin 894 -> 0 bytes .../plugins/resources/images/claro/expand.gif | Bin 871 -> 0 bytes .../plugins/resources/images/claro/expand.png | Bin 903 -> 0 bytes .../resources/images/nihilo/collapse.gif | Bin 860 -> 0 bytes .../resources/images/nihilo/expand.gif | Bin 871 -> 0 bytes .../resources/images/nihilo/sidebar.gif | Bin 832 -> 0 bytes .../resources/images/soria/collapse.gif | Bin 860 -> 0 bytes .../plugins/resources/images/soria/expand.gif | Bin 871 -> 0 bytes .../resources/images/soria/sidebar.gif | Bin 832 -> 0 bytes .../plugins/resources/images/tableIcons.png | Bin 2961 -> 0 bytes .../resources/images/tableIcons_rtl.png | Bin 2896 -> 0 bytes .../resources/images/tundra/collapse.gif | Bin 860 -> 0 bytes .../resources/images/tundra/expand.gif | Bin 871 -> 0 bytes .../resources/images/tundra/sidebar.gif | Bin 834 -> 0 bytes .../resources/images/uploadImageIcon.gif | Bin 255 -> 0 bytes .../editor/plugins/resources/insertTable.html | 48 - .../editor/plugins/resources/modifyTable.html | 58 - .../barre_prof.wgt/dojox/html/README | 48 - .../barre_prof.wgt/dojox/html/_base.js | 192 - .../barre_prof.wgt/dojox/html/ellipsis.js | 174 - .../barre_prof.wgt/dojox/html/entities.js | 85 - .../dojox/html/ext-dojo/style.js | 290 - .../barre_prof.wgt/dojox/html/format.js | 342 - .../barre_prof.wgt/dojox/html/metrics.js | 155 - .../dojox/html/resources/ellipsis.css | 33 - .../barre_prof.wgt/dojox/html/styles.js | 190 - .../interactive/barre_prof.wgt/index.html | 60 - 1049 files changed, 41483 insertions(+), 49470 deletions(-) rename resources/library/interactive/{barre_prof.wgt => TextEditor.wgt}/config.xml (56%) create mode 100644 resources/library/interactive/TextEditor.wgt/css/content.css create mode 100644 resources/library/interactive/TextEditor.wgt/css/word.css rename resources/library/interactive/{barre_prof.wgt => TextEditor.wgt}/icon.png (100%) create mode 100644 resources/library/interactive/TextEditor.wgt/index.html create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/langs/en.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/license.txt create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/css/advhr.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/js/rule.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/langs/en_dlg.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/rule.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/css/advimage.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/image.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/img/sample.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/js/image.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/css/advlink.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/js/advlink.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/link.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlist/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlist/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autolink/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autolink/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autoresize/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autosave/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autosave/langs/en.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/bbcode/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/directionality/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/emotions.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-kiss.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-kiss.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif rename resources/library/interactive/{barre_prof.wgt/dojox/editor/plugins/resources/images/anchor.png => TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.png} (63%) create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/js/emotions.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/dialog.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/img/example.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/js/dialog.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/langs/en.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/langs/en_dlg.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example_dependency/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example_dependency/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/fullpage.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/langs/en_dlg.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/iespell/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/template.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/layer/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/lists/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/lists/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/css/media.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/js/embed.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/js/media.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/langs/en_dlg.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/media.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/moxieplayer.swf create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/js/pastetext.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/js/pasteword.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/pastetext.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/pasteword.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/example.html create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/jscripts/embed.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/preview.html create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/print/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/print/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/save/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/save/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/css/content.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/img/wline.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/img/wline.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/css/props.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/js/props.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/langs/en_dlg.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/props.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/cell.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/css/cell.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/css/row.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/css/table.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/js/cell.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/js/merge_cells.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/js/row.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/js/table.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/langs/en_dlg.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/merge_cells.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/row.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/table.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/blank.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/css/template.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/js/template.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/langs/en_dlg.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/template.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/visualchars/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/wordcount/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/wordcount/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/about.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/anchor.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/charmap.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/color_picker.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/editor_template.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/editor_template_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/image.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/flash.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/icons.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/iframe.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/pagebreak.png rename resources/library/interactive/{barre_prof.wgt/dojox/editor/plugins/resources/images/uploadImageIcon.png => TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/quicktime.png} (63%) create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/realmedia.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/shockwave.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/trans.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/video.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/windowsmedia.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/about.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/anchor.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/charmap.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/color_picker.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/image.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/link.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/source_editor.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/langs/en.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/link.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/shortcuts.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/content.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/items.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/progress.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/ui.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/highcontrast/content.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/highcontrast/dialog.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/highcontrast/ui.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/source_editor.htm create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/editor_template.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/editor_template_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/img/icons.gif create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/langs/en.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/default/content.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/default/ui.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/o2k7/content.css rename resources/library/interactive/{barre_prof.wgt/dijit/themes/claro/images/progressBarEmpty.png => TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png} (52%) create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/o2k7/ui.css create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/tiny_mce.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/tiny_mce_popup.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/tiny_mce_src.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/utils/editable_selects.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/utils/form_utils.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/utils/mctabs.js create mode 100644 resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/utils/validate.js create mode 100644 resources/library/interactive/TextEditor.wgt/lists/image_list.js create mode 100644 resources/library/interactive/TextEditor.wgt/lists/link_list.js create mode 100644 resources/library/interactive/TextEditor.wgt/lists/media_list.js create mode 100644 resources/library/interactive/TextEditor.wgt/lists/template_list.js create mode 100644 resources/library/interactive/TextEditor.wgt/media/logo.jpg create mode 100644 resources/library/interactive/TextEditor.wgt/media/logo_over.jpg create mode 100644 resources/library/interactive/TextEditor.wgt/media/sample.avi create mode 100644 resources/library/interactive/TextEditor.wgt/media/sample.dcr create mode 100644 resources/library/interactive/TextEditor.wgt/media/sample.flv create mode 100644 resources/library/interactive/TextEditor.wgt/media/sample.mov create mode 100644 resources/library/interactive/TextEditor.wgt/media/sample.ram create mode 100644 resources/library/interactive/TextEditor.wgt/media/sample.rm create mode 100644 resources/library/interactive/TextEditor.wgt/media/sample.swf create mode 100644 resources/library/interactive/TextEditor.wgt/templates/layout1.htm create mode 100644 resources/library/interactive/TextEditor.wgt/templates/snippet1.htm delete mode 100644 resources/library/interactive/barre_prof.wgt/custom_icon.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/CheckedMenuItem.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/ColorPalette.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/Dialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/DialogUnderlay.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/Editor.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/Menu.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/MenuItem.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/MenuSeparator.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/PopupMenuItem.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/Toolbar.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/ToolbarSeparator.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/Tooltip.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/TooltipDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_Contained.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_Container.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_CssStateMixin.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_DialogMixin.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_HasDropDown.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_KeyNavContainer.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_PaletteMixin.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_Templated.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_Widget.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_WidgetBase.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_base.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_base/focus.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_base/manager.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_base/place.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_base/popup.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_base/scroll.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_base/sniff.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_base/typematic.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_base/wai.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_base/window.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/RichText.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/_Plugin.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/html.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ar/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ar/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ar/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ca/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ca/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ca/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/cs/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/cs/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/cs/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/da/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/da/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/da/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/de/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/de/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/de/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/el/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/el/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/el/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/es/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/es/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/es/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/fi/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/fi/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/fi/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/fr/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/fr/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/fr/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/he/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/he/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/he/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/hu/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/hu/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/hu/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/it/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/it/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/it/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ja/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ja/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ja/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/kk/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/kk/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/kk/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ko/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ko/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ko/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/nb/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/nb/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/nb/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/nl/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/nl/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/nl/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pl/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pl/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pl/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pt-pt/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pt-pt/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pt-pt/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pt/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pt/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pt/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ro/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ro/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ro/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ru/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ru/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ru/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sk/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sk/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sk/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sl/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sl/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sl/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sv/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sv/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sv/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/th/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/th/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/th/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/tr/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/tr/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/tr/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/zh-tw/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/zh-tw/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/zh-tw/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/zh/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/zh/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/zh/commands.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/AlwaysShowToolbar.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/EnterKeyHandling.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/FontChoice.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/FullScreen.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/LinkDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/NewPage.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/Print.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/TabIndent.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/TextColor.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/ToggleDir.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/ViewSource.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/range.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/_editor/selection.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/Button.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/CheckBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/ComboButton.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/CurrencyTextBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/DateTextBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/DropDownButton.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/FilteringSelect.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/Form.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/HorizontalRule.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/HorizontalRuleLabels.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/HorizontalSlider.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/MappedTextBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/MultiSelect.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/NumberSpinner.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/NumberTextBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/RadioButton.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/RangeBoundTextBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/Select.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/SimpleTextarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/Slider.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/TextBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/TimeTextBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/ToggleButton.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/ValidationTextBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/VerticalRule.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/VerticalRuleLabels.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/VerticalSlider.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/_DateTimeTextBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/_FormMixin.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/_FormSelectWidget.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/_FormWidget.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/_Spinner.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/ar/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/ar/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/ar/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/ca/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/ca/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/ca/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/cs/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/cs/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/cs/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/da/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/da/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/da/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/de/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/de/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/de/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/el/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/el/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/el/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/es/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/es/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/es/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/fi/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/fi/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/fi/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/fr/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/fr/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/fr/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/he/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/he/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/he/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/hu/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/hu/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/hu/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/it/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/it/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/it/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/ja/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/ja/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/ja/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/kk/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/kk/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/kk/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/ko/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/ko/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/ko/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/nb/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/nb/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/nb/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/nl/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/nl/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/nl/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/pl/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/pl/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/pl/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/pt-pt/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/pt-pt/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/pt-pt/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/pt/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/pt/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/pt/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/ro/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/ro/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/ro/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/ru/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/ru/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/ru/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/sk/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/sk/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/sk/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/sl/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/sl/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/sl/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/sv/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/sv/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/sv/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/th/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/th/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/th/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/tr/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/tr/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/tr/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/zh-tw/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/zh-tw/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/zh-tw/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/zh/ComboBox.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/zh/Textarea.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/form/nls/zh/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/layout/AccordionContainer.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/layout/AccordionPane.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/layout/BorderContainer.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/layout/ContentPane.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/layout/LayoutContainer.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/layout/LinkPane.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/layout/ScrollingTabController.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/layout/SplitContainer.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/layout/StackContainer.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/layout/StackController.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/layout/TabContainer.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/layout/TabController.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/layout/_ContentPaneResizeMixin.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/layout/_LayoutWidget.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/layout/_TabContainerBase.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/nls/common.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/nls/de/common.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/nls/de/loading.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_ROOT.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_de-de.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_de.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_en-gb.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_en-us.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_en.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_es-es.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_es.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_fr-fr.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_fr.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_it-it.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_it.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_ru.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/nls/es/common.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/nls/es/loading.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/nls/fr/common.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/nls/fr/loading.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/nls/it/common.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/nls/it/loading.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/nls/loading.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/nls/ru/common.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/nls/ru/loading.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/a11y/README.txt delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/a11y/colors3x4.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/a11y/colors7x10.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/a11y/indeterminate_progress.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Calendar.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Calendar.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Calendar_rtl.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Calendar_rtl.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/ColorPalette.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/ColorPalette.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Common.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Common.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Dialog.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Dialog.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Dialog_rtl.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Dialog_rtl.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Editor.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Editor.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Editor_rtl.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Editor_rtl.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/InlineEditBox.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/InlineEditBox.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Menu.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Menu.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Menu_rtl.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Menu_rtl.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/ProgressBar.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/ProgressBar.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/README delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TimePicker.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TimePicker.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TimePicker_rtl.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TimePicker_rtl.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TitlePane.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TitlePane.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TitlePane_rtl.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TitlePane_rtl.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Toolbar.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Toolbar.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Toolbar_rtl.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Toolbar_rtl.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Tree.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Tree.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/claro.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/claro_rtl.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/compile.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/document.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/document.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Button.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Button.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Button_rtl.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Button_rtl.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Checkbox.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Checkbox.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Common.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Common.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Common_rtl.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Common_rtl.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/NumberSpinner.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/NumberSpinner.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/RadioButton.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/RadioButton.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Select.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Select.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Select_rtl.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Select_rtl.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Slider.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Slider.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Slider_rtl.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Slider_rtl.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/button.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/buttonArrows.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/button_grad_d.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/checkboxAndRadioButtons_IE6.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/checkboxRadioButtonStates.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/commonFormArrows.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/error.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/formHighlight.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/shadow.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/sliderHorizontal.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/sliderThumbs.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/sliderVertical.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/textBox_back.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/calendarArrows.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/calendarArrows8bit.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/calendarContainerImages.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/checkmarkNoBorder.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/checkmarkNoBorder.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/commonHighlight.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/dialogCloseIcon.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/dialogCloseIcon8bit.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/dnd.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/loadingAnimation.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/menuHighlight.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/progressBarAnim.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/progressBarFull.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/spriteArrows.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/titlebar.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/tooltip.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/tooltip8bit.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/tooltipGradient.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/treeExpandImages.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/treeExpandImages8bit.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/treeExpand_loading.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/AccordionContainer.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/AccordionContainer.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/BorderContainer.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/BorderContainer.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/ContentPane.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/ContentPane.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/TabContainer.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/TabContainer.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/TabContainer_rtl.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/TabContainer_rtl.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/accordion.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/splitterHorizontalHover.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/splitterVerticalHover.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/tabBottom.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/tabClose.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/tabLeft.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/tabNested.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/tabRight.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/tabTop.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/claro/variables.less delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/dijit.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/dijit_rtl.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dijit/themes/tundra/images/spriteArrows.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/AdapterRegistry.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/DeferredList.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/LICENSE delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/NodeList-data.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/NodeList-fx.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/NodeList-html.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/NodeList-manipulate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/NodeList-traverse.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/OpenAjax.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/Stateful.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/_base.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/back.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/behavior.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/build.txt delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/cache.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/colors.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/cookie.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/currency.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/data/ItemFileReadStore.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/data/ItemFileWriteStore.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/data/ObjectStore.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/data/api/Identity.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/data/api/Notification.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/data/api/Read.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/data/api/Request.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/data/api/Write.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/data/util/filter.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/data/util/simpleFetch.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/data/util/sorter.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/date.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/date/locale.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/date/stamp.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/dnd/Avatar.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/dnd/Container.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/dnd/Manager.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/dnd/Moveable.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/dnd/Mover.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/dnd/Selector.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/dnd/Source.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/dnd/TimedMoveable.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/dnd/autoscroll.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/dnd/common.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/dnd/move.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/dojo.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/dojo.js.uncompressed.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/fx.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/fx/Toggler.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/fx/easing.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/gears.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/hash.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/html.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/i18n.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/jaxer.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/nls/colors.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/nls/de/colors.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/nls/es/colors.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/nls/fr/colors.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/nls/it/colors.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/nls/ru/colors.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/number.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/package.json delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/parser.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/regexp.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/resources/LICENSE delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/resources/_modules.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/resources/blank.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/resources/blank.html delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/resources/dnd.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/resources/dojo.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/resources/iframe_history.html delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/resources/images/dndCopy.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/resources/images/dndMove.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/resources/images/dndNoCopy.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/resources/images/dndNoMove.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/robot.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/robotx.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/string.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/uacss.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojo/window.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/Breadcrumb.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/CollapsibleToolbar.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/FindReplace.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/PasteFromWord.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/Preview.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/ToolbarLineBreak.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/AutoSave.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Blockquote.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Breadcrumb.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/CollapsibleToolbar.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/FindReplace.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/InsertAnchor.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/InsertEntity.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/LocalImage.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/PageBreak.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/PasteFromWord.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Preview.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Save.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ShowBlockNodes.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Smiley.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/SpellCheck.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/TableDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/TextColor.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/AutoSave.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Blockquote.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Breadcrumb.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/CollapsibleToolbar.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/FindReplace.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/InsertAnchor.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/InsertEntity.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/LocalImage.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/PageBreak.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/PasteFromWord.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Preview.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Save.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/ShowBlockNodes.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Smiley.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/SpellCheck.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/TableDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/TextColor.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/latinEntities.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/AutoSave.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Blockquote.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Breadcrumb.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/CollapsibleToolbar.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/FindReplace.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/InsertAnchor.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/InsertEntity.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/LocalImage.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/PageBreak.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/PasteFromWord.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Preview.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Save.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/ShowBlockNodes.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Smiley.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/SpellCheck.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/TableDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/TextColor.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/latinEntities.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/AutoSave.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Blockquote.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Breadcrumb.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/CollapsibleToolbar.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/FindReplace.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/InsertAnchor.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/InsertEntity.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/LocalImage.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/PageBreak.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/PasteFromWord.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Preview.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Save.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/ShowBlockNodes.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Smiley.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/SpellCheck.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/TableDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/TextColor.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/latinEntities.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/AutoSave.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Blockquote.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Breadcrumb.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/CollapsibleToolbar.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/FindReplace.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/InsertAnchor.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/InsertEntity.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/LocalImage.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/PageBreak.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/PasteFromWord.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Preview.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Save.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/ShowBlockNodes.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Smiley.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/SpellCheck.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/TableDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/TextColor.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/latinEntities.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/latinEntities.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/AutoSave.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Blockquote.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Breadcrumb.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/CollapsibleToolbar.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/FindReplace.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/InsertAnchor.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/InsertEntity.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/LocalImage.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/PageBreak.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/PasteFromWord.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Preview.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Save.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/ShowBlockNodes.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Smiley.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/SpellCheck.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/TableDialog.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/TextColor.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/latinEntities.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/AutoSave.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Blockquote.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Breadcrumb.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/CollapsibleToolbar.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/FindReplace.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/InsertAnchor.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/InsertEntity.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/LocalImage.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/PageBreak.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/PasteFromWord.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Preview.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Save.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/ShowBlockNodes.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Smiley.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/SpellCheck.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/StatusBar.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/TextColor.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/editorPlugins.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonAngel.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonAngry.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonCool.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonCrying.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonEyebrow.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonFrown.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonGoofy.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonGrin.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonHalf.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonHappy.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonIdea.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonLaughing.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonNo.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonOops.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonShy.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonSmile.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonTongue.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonWink.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonYes.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/anchor.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/address.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/address.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/blockquote.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/blockquote.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/button.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/button.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/center.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/center.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/dd.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/dd.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/del.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/del.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/div.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/div.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/dt.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/dt.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/fieldset.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/fieldset.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/form.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/form.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h1.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h1.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h2.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h2.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h3.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h3.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h4.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h4.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h5.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h5.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h6.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h6.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/hr.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/hr.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/iframe.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/iframe.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ins.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ins.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/li.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/li.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/map.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/map.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/noscript.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/noscript.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/object.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/object.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ol.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ol.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/p.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/p.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/pre.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/pre.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/script.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/script.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/table.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/table.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ul.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ul.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/busy.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/cellpad.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/cellspace.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/claro/collapse.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/claro/collapse.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/claro/expand.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/claro/expand.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/nihilo/collapse.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/nihilo/expand.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/nihilo/sidebar.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/soria/collapse.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/soria/expand.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/soria/sidebar.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/tableIcons.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/tableIcons_rtl.png delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/tundra/collapse.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/tundra/expand.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/tundra/sidebar.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/uploadImageIcon.gif delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/insertTable.html delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/modifyTable.html delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/html/README delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/html/_base.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/html/ellipsis.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/html/entities.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/html/ext-dojo/style.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/html/format.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/html/metrics.js delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/html/resources/ellipsis.css delete mode 100644 resources/library/interactive/barre_prof.wgt/dojox/html/styles.js delete mode 100644 resources/library/interactive/barre_prof.wgt/index.html diff --git a/resources/library/interactive/barre_prof.wgt/config.xml b/resources/library/interactive/TextEditor.wgt/config.xml similarity index 56% rename from resources/library/interactive/barre_prof.wgt/config.xml rename to resources/library/interactive/TextEditor.wgt/config.xml index 57dd5912..e499c662 100644 --- a/resources/library/interactive/barre_prof.wgt/config.xml +++ b/resources/library/interactive/TextEditor.wgt/config.xml @@ -4,13 +4,11 @@ xmlns:ub="http://uniboard.mnemis.com/widgets" id="http://www.example.net/widgets/helloworld" version="1.0" - width="800" - height="450" + width="200" + height="700" ub:resizable="true"> - Rich Text Editor - Allows the teacher to attach a text editor to the page. - + Rich Note + Allows the teacher to attach a rich note to the page. diff --git a/resources/library/interactive/TextEditor.wgt/css/content.css b/resources/library/interactive/TextEditor.wgt/css/content.css new file mode 100644 index 00000000..a9b26c53 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/css/content.css @@ -0,0 +1,105 @@ +body { + background-color: #FFFFFF; + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; + scrollbar-3dlight-color: #F0F0EE; + scrollbar-arrow-color: #676662; + scrollbar-base-color: #F0F0EE; + scrollbar-darkshadow-color: #DDDDDD; + scrollbar-face-color: #E0E0DD; + scrollbar-highlight-color: #F0F0EE; + scrollbar-shadow-color: #F0F0EE; + scrollbar-track-color: #F5F5F5; +} + +td { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; +} + +pre { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; +} + +.example1 { + font-weight: bold; + font-size: 14px +} + +.example2 { + font-weight: bold; + font-size: 12px; + color: #FF0000 +} + +.tablerow1 { + background-color: #BBBBBB; +} + +thead { + background-color: #FFBBBB; +} + +tfoot { + background-color: #BBBBFF; +} + +th { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 13px; +} + +/* Basic formats */ + +.bold { + font-weight: bold; +} + +.italic { + font-style: italic; +} + +.underline { + text-decoration: underline; +} + +/* Global align classes */ + +.left { + text-align: inherit; +} + +.center { + text-align: center; +} + +.right { + text-align: right; +} + +.full { + text-align: justify +} + +/* Image and table specific aligns */ + +img.left, table.left { + float: left; + text-align: inherit; +} + +img.center, table.center { + margin-left: auto; + margin-right: auto; + text-align: inherit; +} + +img.center { + display: block; +} + +img.right, table.right { + float: right; + text-align: inherit; +} diff --git a/resources/library/interactive/TextEditor.wgt/css/word.css b/resources/library/interactive/TextEditor.wgt/css/word.css new file mode 100644 index 00000000..79b820a6 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/css/word.css @@ -0,0 +1,53 @@ +body { + background-color: #FFFFFF; + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; + scrollbar-3dlight-color: #F0F0EE; + scrollbar-arrow-color: #676662; + scrollbar-base-color: #F0F0EE; + scrollbar-darkshadow-color: #DDDDDD; + scrollbar-face-color: #E0E0DD; + scrollbar-highlight-color: #F0F0EE; + scrollbar-shadow-color: #F0F0EE; + scrollbar-track-color: #F5F5F5; +} + +p {margin:0; padding:0;} + +td { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; +} + +pre { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; +} + +.example1 { + font-weight: bold; + font-size: 14px +} + +.example2 { + font-weight: bold; + font-size: 12px; + color: #FF0000 +} + +.tablerow1 { + background-color: #BBBBBB; +} + +thead { + background-color: #FFBBBB; +} + +tfoot { + background-color: #BBBBFF; +} + +th { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 13px; +} diff --git a/resources/library/interactive/barre_prof.wgt/icon.png b/resources/library/interactive/TextEditor.wgt/icon.png similarity index 100% rename from resources/library/interactive/barre_prof.wgt/icon.png rename to resources/library/interactive/TextEditor.wgt/icon.png diff --git a/resources/library/interactive/TextEditor.wgt/index.html b/resources/library/interactive/TextEditor.wgt/index.html new file mode 100644 index 00000000..bc131e48 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/index.html @@ -0,0 +1,65 @@ + + + +Full featured example + + + + + + + + + + + + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/langs/en.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/langs/en.js new file mode 100644 index 00000000..3b3e1381 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/langs/en.js @@ -0,0 +1,223 @@ +tinyMCE.addI18n({en:{ +common:{ +edit_confirm:"Do you want to use the WYSIWYG mode for this textarea?", +apply:"Apply", +insert:"Insert", +update:"Update", +cancel:"Cancel", +close:"Close", +browse:"Browse", +class_name:"Class", +not_set:"-- Not set --", +clipboard_msg:"Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?", +clipboard_no_support:"Currently not supported by your browser, use keyboard shortcuts instead.", +popup_blocked:"Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.", +invalid_data:"{#field} is invalid", +invalid_data_number:"{#field} must be a number", +invalid_data_min:"{#field} must be a number greater than {#min}", +invalid_data_size:"{#field} must be a number or percentage", +more_colors:"More colors" +}, +colors:{ +'000000':'Black', +'993300':'Burnt orange', +'333300':'Dark olive', +'003300':'Dark green', +'003366':'Dark azure', +'000080':'Navy Blue', +'333399':'Indigo', +'333333':'Very dark gray', +'800000':'Maroon', +'FF6600':'Orange', +'808000':'Olive', +'008000':'Green', +'008080':'Teal', +'0000FF':'Blue', +'666699':'Grayish blue', +'808080':'Gray', +'FF0000':'Red', +'FF9900':'Amber', +'99CC00':'Yellow green', +'339966':'Sea green', +'33CCCC':'Turquoise', +'3366FF':'Royal blue', +'800080':'Purple', +'999999':'Medium gray', +'FF00FF':'Magenta', +'FFCC00':'Gold', +'FFFF00':'Yellow', +'00FF00':'Lime', +'00FFFF':'Aqua', +'00CCFF':'Sky blue', +'993366':'Brown', +'C0C0C0':'Silver', +'FF99CC':'Pink', +'FFCC99':'Peach', +'FFFF99':'Light yellow', +'CCFFCC':'Pale green', +'CCFFFF':'Pale cyan', +'99CCFF':'Light sky blue', +'CC99FF':'Plum', +'FFFFFF':'White' +}, +contextmenu:{ +align:"Alignment", +left:"Left", +center:"Center", +right:"Right", +full:"Full" +}, +insertdatetime:{ +date_fmt:"%Y-%m-%d", +time_fmt:"%H:%M:%S", +insertdate_desc:"Insert date", +inserttime_desc:"Insert time", +months_long:"January,February,March,April,May,June,July,August,September,October,November,December", +months_short:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec", +day_long:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday", +day_short:"Sun,Mon,Tue,Wed,Thu,Fri,Sat,Sun" +}, +print:{ +print_desc:"Print" +}, +preview:{ +preview_desc:"Preview" +}, +directionality:{ +ltr_desc:"Direction left to right", +rtl_desc:"Direction right to left" +}, +layer:{ +insertlayer_desc:"Insert new layer", +forward_desc:"Move forward", +backward_desc:"Move backward", +absolute_desc:"Toggle absolute positioning", +content:"New layer..." +}, +save:{ +save_desc:"Save", +cancel_desc:"Cancel all changes" +}, +nonbreaking:{ +nonbreaking_desc:"Insert non-breaking space character" +}, +iespell:{ +iespell_desc:"Run spell checking", +download:"ieSpell not detected. Do you want to install it now?" +}, +advhr:{ +advhr_desc:"Horizontal rule" +}, +emotions:{ +emotions_desc:"Emotions" +}, +searchreplace:{ +search_desc:"Find", +replace_desc:"Find/Replace" +}, +advimage:{ +image_desc:"Insert/edit image" +}, +advlink:{ +link_desc:"Insert/edit link" +}, +xhtmlxtras:{ +cite_desc:"Citation", +abbr_desc:"Abbreviation", +acronym_desc:"Acronym", +del_desc:"Deletion", +ins_desc:"Insertion", +attribs_desc:"Insert/Edit Attributes" +}, +style:{ +desc:"Edit CSS Style" +}, +paste:{ +paste_text_desc:"Paste as Plain Text", +paste_word_desc:"Paste from Word", +selectall_desc:"Select All", +plaintext_mode_sticky:"Paste is now in plain text mode. Click again to toggle back to regular paste mode. After you paste something you will be returned to regular paste mode.", +plaintext_mode:"Paste is now in plain text mode. Click again to toggle back to regular paste mode." +}, +paste_dlg:{ +text_title:"Use CTRL+V on your keyboard to paste the text into the window.", +text_linebreaks:"Keep linebreaks", +word_title:"Use CTRL+V on your keyboard to paste the text into the window." +}, +table:{ +desc:"Inserts a new table", +row_before_desc:"Insert row before", +row_after_desc:"Insert row after", +delete_row_desc:"Delete row", +col_before_desc:"Insert column before", +col_after_desc:"Insert column after", +delete_col_desc:"Remove column", +split_cells_desc:"Split merged table cells", +merge_cells_desc:"Merge table cells", +row_desc:"Table row properties", +cell_desc:"Table cell properties", +props_desc:"Table properties", +paste_row_before_desc:"Paste table row before", +paste_row_after_desc:"Paste table row after", +cut_row_desc:"Cut table row", +copy_row_desc:"Copy table row", +del:"Delete table", +row:"Row", +col:"Column", +cell:"Cell" +}, +autosave:{ +unload_msg:"The changes you made will be lost if you navigate away from this page.", +restore_content:"Restore auto-saved content.", +warning_message:"If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?." +}, +fullscreen:{ +desc:"Toggle fullscreen mode" +}, +media:{ +desc:"Insert / edit embedded media", +edit:"Edit embedded media" +}, +fullpage:{ +desc:"Document properties" +}, +template:{ +desc:"Insert predefined template content" +}, +visualchars:{ +desc:"Visual control characters on/off." +}, +spellchecker:{ +desc:"Toggle spellchecker", +menu:"Spellchecker settings", +ignore_word:"Ignore word", +ignore_words:"Ignore all", +langs:"Languages", +wait:"Please wait...", +sug:"Suggestions", +no_sug:"No suggestions", +no_mpell:"No misspellings found.", +learn_word:"Learn word" +}, +pagebreak:{ +desc:"Insert page break." +}, +advlist:{ +types:"Types", +def:"Default", +lower_alpha:"Lower alpha", +lower_greek:"Lower greek", +lower_roman:"Lower roman", +upper_alpha:"Upper alpha", +upper_roman:"Upper roman", +circle:"Circle", +disc:"Disc", +square:"Square" +}, +aria:{ +rich_text_area:"Rich Text Area" +}, +wordcount:{ +words: 'Words: ' +} +}}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/license.txt b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/license.txt new file mode 100644 index 00000000..1837b0ac --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/license.txt @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/css/advhr.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/css/advhr.css new file mode 100644 index 00000000..3fe369cb --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/css/advhr.css @@ -0,0 +1,5 @@ +input.radio {border:1px none #000; background:transparent; vertical-align:middle;} +.panel_wrapper div.current {height:80px;} +#width {width:50px; vertical-align:middle;} +#width2 {width:50px; vertical-align:middle;} +#size {width:100px;} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/editor_plugin.js new file mode 100644 index 00000000..4d3b062d --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.AdvancedHRPlugin",{init:function(a,b){a.addCommand("mceAdvancedHr",function(){a.windowManager.open({file:b+"/rule.htm",width:250+parseInt(a.getLang("advhr.delta_width",0)),height:160+parseInt(a.getLang("advhr.delta_height",0)),inline:1},{plugin_url:b})});a.addButton("advhr",{title:"advhr.advhr_desc",cmd:"mceAdvancedHr"});a.onNodeChange.add(function(d,c,e){c.setActive("advhr",e.nodeName=="HR")});a.onClick.add(function(c,d){d=d.target;if(d.nodeName==="HR"){c.selection.select(d)}})},getInfo:function(){return{longname:"Advanced HR",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advhr",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("advhr",tinymce.plugins.AdvancedHRPlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js new file mode 100644 index 00000000..5a4b7250 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js @@ -0,0 +1,57 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.AdvancedHRPlugin', { + init : function(ed, url) { + // Register commands + ed.addCommand('mceAdvancedHr', function() { + ed.windowManager.open({ + file : url + '/rule.htm', + width : 250 + parseInt(ed.getLang('advhr.delta_width', 0)), + height : 160 + parseInt(ed.getLang('advhr.delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + // Register buttons + ed.addButton('advhr', { + title : 'advhr.advhr_desc', + cmd : 'mceAdvancedHr' + }); + + ed.onNodeChange.add(function(ed, cm, n) { + cm.setActive('advhr', n.nodeName == 'HR'); + }); + + ed.onClick.add(function(ed, e) { + e = e.target; + + if (e.nodeName === 'HR') + ed.selection.select(e); + }); + }, + + getInfo : function() { + return { + longname : 'Advanced HR', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advhr', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('advhr', tinymce.plugins.AdvancedHRPlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/js/rule.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/js/rule.js new file mode 100644 index 00000000..a60c35fc --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/js/rule.js @@ -0,0 +1,43 @@ +var AdvHRDialog = { + init : function(ed) { + var dom = ed.dom, f = document.forms[0], n = ed.selection.getNode(), w; + + w = dom.getAttrib(n, 'width'); + f.width.value = w ? parseInt(w) : (dom.getStyle('width') || ''); + f.size.value = dom.getAttrib(n, 'size') || parseInt(dom.getStyle('height')) || ''; + f.noshade.checked = !!dom.getAttrib(n, 'noshade') || !!dom.getStyle('border-width'); + selectByValue(f, 'width2', w.indexOf('%') != -1 ? '%' : 'px'); + }, + + update : function() { + var ed = tinyMCEPopup.editor, h, f = document.forms[0], st = ''; + + h = ' + + + {#advhr.advhr_desc} + + + + + + + +
+ + +
+
+ + + + + + + + + + + + + +
+ + + +
+
+
+ +
+ + +
+
+ + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/css/advimage.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/css/advimage.css new file mode 100644 index 00000000..228530f9 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/css/advimage.css @@ -0,0 +1,13 @@ +#src_list, #over_list, #out_list {width:280px;} +.mceActionPanel {margin-top:7px;} +.alignPreview {border:1px solid #000; width:140px; height:140px; overflow:hidden; padding:5px;} +.checkbox {border:0;} +.panel_wrapper div.current {height:305px;} +#prev {margin:0; border:1px solid #000; width:428px; height:150px; overflow:auto;} +#align, #classlist {width:150px;} +#width, #height {vertical-align:middle; width:50px; text-align:center;} +#vspace, #hspace, #border {vertical-align:middle; width:30px; text-align:center;} +#class_list {width:180px;} +input {width: 280px;} +#constrain, #onmousemovecheck {width:auto;} +#id, #dir, #lang, #usemap, #longdesc {width:200px;} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/editor_plugin.js new file mode 100644 index 00000000..d613a613 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.AdvancedImagePlugin",{init:function(a,b){a.addCommand("mceAdvImage",function(){if(a.dom.getAttrib(a.selection.getNode(),"class","").indexOf("mceItem")!=-1){return}a.windowManager.open({file:b+"/image.htm",width:480+parseInt(a.getLang("advimage.delta_width",0)),height:385+parseInt(a.getLang("advimage.delta_height",0)),inline:1},{plugin_url:b})});a.addButton("image",{title:"advimage.image_desc",cmd:"mceAdvImage"})},getInfo:function(){return{longname:"Advanced image",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advimage",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("advimage",tinymce.plugins.AdvancedImagePlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js new file mode 100644 index 00000000..76df89a3 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js @@ -0,0 +1,50 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.AdvancedImagePlugin', { + init : function(ed, url) { + // Register commands + ed.addCommand('mceAdvImage', function() { + // Internal image object like a flash placeholder + if (ed.dom.getAttrib(ed.selection.getNode(), 'class', '').indexOf('mceItem') != -1) + return; + + ed.windowManager.open({ + file : url + '/image.htm', + width : 480 + parseInt(ed.getLang('advimage.delta_width', 0)), + height : 385 + parseInt(ed.getLang('advimage.delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + // Register buttons + ed.addButton('image', { + title : 'advimage.image_desc', + cmd : 'mceAdvImage' + }); + }, + + getInfo : function() { + return { + longname : 'Advanced image', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advimage', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('advimage', tinymce.plugins.AdvancedImagePlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/image.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/image.htm new file mode 100644 index 00000000..835d3882 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/image.htm @@ -0,0 +1,235 @@ + + + + {#advimage_dlg.dialog_title} + + + + + + + + + + +
+ + +
+
+
+ {#advimage_dlg.general} + + + + + + + + + + + + + + + + + + + +
+ +
+ {#advimage_dlg.preview} + +
+
+ +
+
+ {#advimage_dlg.tab_appearance} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ {#advimage_dlg.example_img} + Lorem ipsum, Dolor sit amet, consectetuer adipiscing loreum ipsum edipiscing elit, sed diam + nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.Loreum ipsum + edipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam + erat volutpat. +
+
+ + x + + px +
  + + + + +
+
+
+
+ +
+
+ {#advimage_dlg.swap_image} + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
 
+ + + + +
 
+
+ +
+ {#advimage_dlg.misc} + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+ + + + +
 
+
+
+
+ +
+ + +
+
+ + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/img/sample.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/img/sample.gif new file mode 100644 index 0000000000000000000000000000000000000000..53bf6890b507741c10910c9e2217ad8247b98e8d GIT binary patch literal 1624 zcmV-e2B-N)Nk%w1VJ!eH0OkMy|NsB}{r&v>{Q3F$`1ttq^YifV@ayaA>FMd_=H}w! z;^5%m-rnBb-QC>W+}qpR+S=OL+1c3G*w@$B*4Eb4)YQ|{)zHw=&d$%x&CScp%gV~i z$;rvc$jHXV#>B+L!^6YE!otD9!N9=4zrVk|y}i7=yt})*y1Kf#xw*Hux3;#nwY9ah zw6wFcv$C?Xv9YnRu&}SMudc4Ht*x!BtgNf6tE#H1si~={sjjD|r>3T+rKP2$q@<&x zqobp!qN1Xqp`oFnrJ$goprE6lpP!zdp`MSWoSd7Ro12@UnwpxLnw^=MnV6WE zmzS58mX?*3mz9;3mX?*2l$4W`lai8@l9G~eg|M^H&l zLpBo?51@vfgB2q_TVh*dNP<;cR$Wg!vYsMHR!qvvOis>GNH`+ zJ3B|tqgANiBSy@x>Q#;x7+DuU7&rwlf#S04)VZvA$XoUy8Y&f7)SqP<}Lw@L# zA(@Cohl`6CZyedUu^BlmK|DG5$Kl2f8z@uCc)^k-3m7$G!njf7$;XhOW>^`rV#UFh zEN#eG;bP?tCs>{+)q)ceg9$aDAaTZ{MGK5rU8ty$qz8){MT#gHGX{#XEJHLonBXFa zj+#9GE&^pq!`qG`K5iiC!gq}sRY|1yD8?j++_^oR0g+)NNtZN`)08!0q=}AA4HhIo zFaa9NYu8%97=oos5f?O`lwre~4VfoIei+FyK|urxj@C(-q(sS(!$5uL3j&jg7&XY% zlr17;3GGL;2K8>CB87G97;W(2VZ((D+3Hz;L;bylfhf(kFNV8at)h;hdM z85WX(#*Hq@@BYePt3t_l{ zCL3|YVWydA0Fz{rTl65n00)c^)^-jJn1c zRVXtA6mkUMEDLU|v7{JK&_IJ2ciiCy7BOT1fdUBh8b=yrbYaCAchCU_7?H`b1`}4q zLB|_mI2!;7W4QCq6F1O+MW||6AwmKafUrReUA&QotxQZI8D$G)AuSVV@X<&A9v;~H zKnWjo&;bljq=29aCeV-t5GBYkL=Q}q(S~FLd2t39MyRmC%_GFHkPc7CfIt8P*emqV z0YK2j9A+kmW^!tn(ZmG+L=6DZR99W}8p9?Utr=#t@rE2=zxf3QQ(JBJ&<{Z2>8EUP zeX1B)2w_3gXV)D-0Tt+=#@cV-0f!PU#MglZ3m6b}0e08zK^x;9(u?Tga{%?&nNTXhcEuM_#J>yL>p*a zuZJ2pliCGSp!Ye8>YFq@)ZOW-uT~OrjFQK!)UyVGFt7ni'); + }, + + init : function(ed) { + var f = document.forms[0], nl = f.elements, ed = tinyMCEPopup.editor, dom = ed.dom, n = ed.selection.getNode(), fl = tinyMCEPopup.getParam('external_image_list', 'tinyMCEImageList'); + + tinyMCEPopup.resizeToInnerSize(); + this.fillClassList('class_list'); + this.fillFileList('src_list', fl); + this.fillFileList('over_list', fl); + this.fillFileList('out_list', fl); + TinyMCE_EditableSelects.init(); + + if (n.nodeName == 'IMG') { + nl.src.value = dom.getAttrib(n, 'src'); + nl.width.value = dom.getAttrib(n, 'width'); + nl.height.value = dom.getAttrib(n, 'height'); + nl.alt.value = dom.getAttrib(n, 'alt'); + nl.title.value = dom.getAttrib(n, 'title'); + nl.vspace.value = this.getAttrib(n, 'vspace'); + nl.hspace.value = this.getAttrib(n, 'hspace'); + nl.border.value = this.getAttrib(n, 'border'); + selectByValue(f, 'align', this.getAttrib(n, 'align')); + selectByValue(f, 'class_list', dom.getAttrib(n, 'class'), true, true); + nl.style.value = dom.getAttrib(n, 'style'); + nl.id.value = dom.getAttrib(n, 'id'); + nl.dir.value = dom.getAttrib(n, 'dir'); + nl.lang.value = dom.getAttrib(n, 'lang'); + nl.usemap.value = dom.getAttrib(n, 'usemap'); + nl.longdesc.value = dom.getAttrib(n, 'longdesc'); + nl.insert.value = ed.getLang('update'); + + if (/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/.test(dom.getAttrib(n, 'onmouseover'))) + nl.onmouseoversrc.value = dom.getAttrib(n, 'onmouseover').replace(/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/, '$1'); + + if (/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/.test(dom.getAttrib(n, 'onmouseout'))) + nl.onmouseoutsrc.value = dom.getAttrib(n, 'onmouseout').replace(/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/, '$1'); + + if (ed.settings.inline_styles) { + // Move attribs to styles + if (dom.getAttrib(n, 'align')) + this.updateStyle('align'); + + if (dom.getAttrib(n, 'hspace')) + this.updateStyle('hspace'); + + if (dom.getAttrib(n, 'border')) + this.updateStyle('border'); + + if (dom.getAttrib(n, 'vspace')) + this.updateStyle('vspace'); + } + } + + // Setup browse button + document.getElementById('srcbrowsercontainer').innerHTML = getBrowserHTML('srcbrowser','src','image','theme_advanced_image'); + if (isVisible('srcbrowser')) + document.getElementById('src').style.width = '260px'; + + // Setup browse button + document.getElementById('onmouseoversrccontainer').innerHTML = getBrowserHTML('overbrowser','onmouseoversrc','image','theme_advanced_image'); + if (isVisible('overbrowser')) + document.getElementById('onmouseoversrc').style.width = '260px'; + + // Setup browse button + document.getElementById('onmouseoutsrccontainer').innerHTML = getBrowserHTML('outbrowser','onmouseoutsrc','image','theme_advanced_image'); + if (isVisible('outbrowser')) + document.getElementById('onmouseoutsrc').style.width = '260px'; + + // If option enabled default contrain proportions to checked + if (ed.getParam("advimage_constrain_proportions", true)) + f.constrain.checked = true; + + // Check swap image if valid data + if (nl.onmouseoversrc.value || nl.onmouseoutsrc.value) + this.setSwapImage(true); + else + this.setSwapImage(false); + + this.changeAppearance(); + this.showPreviewImage(nl.src.value, 1); + }, + + insert : function(file, title) { + var ed = tinyMCEPopup.editor, t = this, f = document.forms[0]; + + if (f.src.value === '') { + if (ed.selection.getNode().nodeName == 'IMG') { + ed.dom.remove(ed.selection.getNode()); + ed.execCommand('mceRepaint'); + } + + tinyMCEPopup.close(); + return; + } + + if (tinyMCEPopup.getParam("accessibility_warnings", 1)) { + if (!f.alt.value) { + tinyMCEPopup.confirm(tinyMCEPopup.getLang('advimage_dlg.missing_alt'), function(s) { + if (s) + t.insertAndClose(); + }); + + return; + } + } + + t.insertAndClose(); + }, + + insertAndClose : function() { + var ed = tinyMCEPopup.editor, f = document.forms[0], nl = f.elements, v, args = {}, el; + + tinyMCEPopup.restoreSelection(); + + // Fixes crash in Safari + if (tinymce.isWebKit) + ed.getWin().focus(); + + if (!ed.settings.inline_styles) { + args = { + vspace : nl.vspace.value, + hspace : nl.hspace.value, + border : nl.border.value, + align : getSelectValue(f, 'align') + }; + } else { + // Remove deprecated values + args = { + vspace : '', + hspace : '', + border : '', + align : '' + }; + } + + tinymce.extend(args, { + src : nl.src.value.replace(/ /g, '%20'), + width : nl.width.value, + height : nl.height.value, + alt : nl.alt.value, + title : nl.title.value, + 'class' : getSelectValue(f, 'class_list'), + style : nl.style.value, + id : nl.id.value, + dir : nl.dir.value, + lang : nl.lang.value, + usemap : nl.usemap.value, + longdesc : nl.longdesc.value + }); + + args.onmouseover = args.onmouseout = ''; + + if (f.onmousemovecheck.checked) { + if (nl.onmouseoversrc.value) + args.onmouseover = "this.src='" + nl.onmouseoversrc.value + "';"; + + if (nl.onmouseoutsrc.value) + args.onmouseout = "this.src='" + nl.onmouseoutsrc.value + "';"; + } + + el = ed.selection.getNode(); + + if (el && el.nodeName == 'IMG') { + ed.dom.setAttribs(el, args); + } else { + ed.execCommand('mceInsertContent', false, '', {skip_undo : 1}); + ed.dom.setAttribs('__mce_tmp', args); + ed.dom.setAttrib('__mce_tmp', 'id', ''); + ed.undoManager.add(); + } + + tinyMCEPopup.editor.execCommand('mceRepaint'); + tinyMCEPopup.editor.focus(); + tinyMCEPopup.close(); + }, + + getAttrib : function(e, at) { + var ed = tinyMCEPopup.editor, dom = ed.dom, v, v2; + + if (ed.settings.inline_styles) { + switch (at) { + case 'align': + if (v = dom.getStyle(e, 'float')) + return v; + + if (v = dom.getStyle(e, 'vertical-align')) + return v; + + break; + + case 'hspace': + v = dom.getStyle(e, 'margin-left') + v2 = dom.getStyle(e, 'margin-right'); + + if (v && v == v2) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + + case 'vspace': + v = dom.getStyle(e, 'margin-top') + v2 = dom.getStyle(e, 'margin-bottom'); + if (v && v == v2) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + + case 'border': + v = 0; + + tinymce.each(['top', 'right', 'bottom', 'left'], function(sv) { + sv = dom.getStyle(e, 'border-' + sv + '-width'); + + // False or not the same as prev + if (!sv || (sv != v && v !== 0)) { + v = 0; + return false; + } + + if (sv) + v = sv; + }); + + if (v) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + } + } + + if (v = dom.getAttrib(e, at)) + return v; + + return ''; + }, + + setSwapImage : function(st) { + var f = document.forms[0]; + + f.onmousemovecheck.checked = st; + setBrowserDisabled('overbrowser', !st); + setBrowserDisabled('outbrowser', !st); + + if (f.over_list) + f.over_list.disabled = !st; + + if (f.out_list) + f.out_list.disabled = !st; + + f.onmouseoversrc.disabled = !st; + f.onmouseoutsrc.disabled = !st; + }, + + fillClassList : function(id) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; + + if (v = tinyMCEPopup.getParam('theme_advanced_styles')) { + cl = []; + + tinymce.each(v.split(';'), function(v) { + var p = v.split('='); + + cl.push({'title' : p[0], 'class' : p[1]}); + }); + } else + cl = tinyMCEPopup.editor.dom.getClasses(); + + if (cl.length > 0) { + lst.options.length = 0; + lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), ''); + + tinymce.each(cl, function(o) { + lst.options[lst.options.length] = new Option(o.title || o['class'], o['class']); + }); + } else + dom.remove(dom.getParent(id, 'tr')); + }, + + fillFileList : function(id, l) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; + + l = typeof(l) === 'function' ? l() : window[l]; + lst.options.length = 0; + + if (l && l.length > 0) { + lst.options[lst.options.length] = new Option('', ''); + + tinymce.each(l, function(o) { + lst.options[lst.options.length] = new Option(o[0], o[1]); + }); + } else + dom.remove(dom.getParent(id, 'tr')); + }, + + resetImageData : function() { + var f = document.forms[0]; + + f.elements.width.value = f.elements.height.value = ''; + }, + + updateImageData : function(img, st) { + var f = document.forms[0]; + + if (!st) { + f.elements.width.value = img.width; + f.elements.height.value = img.height; + } + + this.preloadImg = img; + }, + + changeAppearance : function() { + var ed = tinyMCEPopup.editor, f = document.forms[0], img = document.getElementById('alignSampleImg'); + + if (img) { + if (ed.getParam('inline_styles')) { + ed.dom.setAttrib(img, 'style', f.style.value); + } else { + img.align = f.align.value; + img.border = f.border.value; + img.hspace = f.hspace.value; + img.vspace = f.vspace.value; + } + } + }, + + changeHeight : function() { + var f = document.forms[0], tp, t = this; + + if (!f.constrain.checked || !t.preloadImg) { + return; + } + + if (f.width.value == "" || f.height.value == "") + return; + + tp = (parseInt(f.width.value) / parseInt(t.preloadImg.width)) * t.preloadImg.height; + f.height.value = tp.toFixed(0); + }, + + changeWidth : function() { + var f = document.forms[0], tp, t = this; + + if (!f.constrain.checked || !t.preloadImg) { + return; + } + + if (f.width.value == "" || f.height.value == "") + return; + + tp = (parseInt(f.height.value) / parseInt(t.preloadImg.height)) * t.preloadImg.width; + f.width.value = tp.toFixed(0); + }, + + updateStyle : function(ty) { + var dom = tinyMCEPopup.dom, b, bStyle, bColor, v, isIE = tinymce.isIE, f = document.forms[0], img = dom.create('img', {style : dom.get('style').value}); + + if (tinyMCEPopup.editor.settings.inline_styles) { + // Handle align + if (ty == 'align') { + dom.setStyle(img, 'float', ''); + dom.setStyle(img, 'vertical-align', ''); + + v = getSelectValue(f, 'align'); + if (v) { + if (v == 'left' || v == 'right') + dom.setStyle(img, 'float', v); + else + img.style.verticalAlign = v; + } + } + + // Handle border + if (ty == 'border') { + b = img.style.border ? img.style.border.split(' ') : []; + bStyle = dom.getStyle(img, 'border-style'); + bColor = dom.getStyle(img, 'border-color'); + + dom.setStyle(img, 'border', ''); + + v = f.border.value; + if (v || v == '0') { + if (v == '0') + img.style.border = isIE ? '0' : '0 none none'; + else { + if (b.length == 3 && b[isIE ? 2 : 1]) + bStyle = b[isIE ? 2 : 1]; + else if (!bStyle || bStyle == 'none') + bStyle = 'solid'; + if (b.length == 3 && b[isIE ? 0 : 2]) + bColor = b[isIE ? 0 : 2]; + else if (!bColor || bColor == 'none') + bColor = 'black'; + img.style.border = v + 'px ' + bStyle + ' ' + bColor; + } + } + } + + // Handle hspace + if (ty == 'hspace') { + dom.setStyle(img, 'marginLeft', ''); + dom.setStyle(img, 'marginRight', ''); + + v = f.hspace.value; + if (v) { + img.style.marginLeft = v + 'px'; + img.style.marginRight = v + 'px'; + } + } + + // Handle vspace + if (ty == 'vspace') { + dom.setStyle(img, 'marginTop', ''); + dom.setStyle(img, 'marginBottom', ''); + + v = f.vspace.value; + if (v) { + img.style.marginTop = v + 'px'; + img.style.marginBottom = v + 'px'; + } + } + + // Merge + dom.get('style').value = dom.serializeStyle(dom.parseStyle(img.style.cssText), 'img'); + } + }, + + changeMouseMove : function() { + }, + + showPreviewImage : function(u, st) { + if (!u) { + tinyMCEPopup.dom.setHTML('prev', ''); + return; + } + + if (!st && tinyMCEPopup.getParam("advimage_update_dimensions_onchange", true)) + this.resetImageData(); + + u = tinyMCEPopup.editor.documentBaseURI.toAbsolute(u); + + if (!st) + tinyMCEPopup.dom.setHTML('prev', ''); + else + tinyMCEPopup.dom.setHTML('prev', ''); + } +}; + +ImageDialog.preInit(); +tinyMCEPopup.onInit.add(ImageDialog.init, ImageDialog); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js new file mode 100644 index 00000000..5ab33f76 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js @@ -0,0 +1,45 @@ +tinyMCE.addI18n('en.advimage_dlg',{ +tab_general:"General", +tab_appearance:"Appearance", +tab_advanced:"Advanced", +general:"General", +title:"Title", +preview:"Preview", +constrain_proportions:"Constrain proportions", +langdir:"Language direction", +langcode:"Language code", +long_desc:"Long description link", +style:"Style", +classes:"Classes", +ltr:"Left to right", +rtl:"Right to left", +id:"Id", +map:"Image map", +swap_image:"Swap image", +alt_image:"Alternative image", +mouseover:"for mouse over", +mouseout:"for mouse out", +misc:"Miscellaneous", +example_img:"Appearance preview image", +missing_alt:"Are you sure you want to continue without including an Image Description? Without it the image may not be accessible to some users with disabilities, or to those using a text browser, or browsing the Web with images turned off.", +dialog_title:"Insert/edit image", +src:"Image URL", +alt:"Image description", +list:"Image list", +border:"Border", +dimensions:"Dimensions", +width:"Width", +height:"Height", +vspace:"Vertical space", +hspace:"Horizontal space", +align:"Alignment", +align_baseline:"Baseline", +align_top:"Top", +align_middle:"Middle", +align_bottom:"Bottom", +align_texttop:"Text top", +align_textbottom:"Text bottom", +align_left:"Left", +align_right:"Right", +image_list:"Image list" +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/css/advlink.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/css/advlink.css new file mode 100644 index 00000000..66c65493 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/css/advlink.css @@ -0,0 +1,8 @@ +.mceLinkList, .mceAnchorList, #targetlist {width:280px;} +.mceActionPanel {margin-top:7px;} +.panel_wrapper div.current {height:320px;} +#classlist, #title, #href {width:280px;} +#popupurl, #popupname {width:200px;} +#popupwidth, #popupheight, #popupleft, #popuptop {width:30px;vertical-align:middle;text-align:center;} +#id, #style, #classes, #target, #dir, #hreflang, #lang, #charset, #type, #rel, #rev, #tabindex, #accesskey {width:200px;} +#events_panel input {width:200px;} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/editor_plugin.js new file mode 100644 index 00000000..983fe5a9 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.AdvancedLinkPlugin",{init:function(a,b){this.editor=a;a.addCommand("mceAdvLink",function(){var c=a.selection;if(c.isCollapsed()&&!a.dom.getParent(c.getNode(),"A")){return}a.windowManager.open({file:b+"/link.htm",width:480+parseInt(a.getLang("advlink.delta_width",0)),height:400+parseInt(a.getLang("advlink.delta_height",0)),inline:1},{plugin_url:b})});a.addButton("link",{title:"advlink.link_desc",cmd:"mceAdvLink"});a.addShortcut("ctrl+k","advlink.advlink_desc","mceAdvLink");a.onNodeChange.add(function(d,c,f,e){c.setDisabled("link",e&&f.nodeName!="A");c.setActive("link",f.nodeName=="A"&&!f.name)})},getInfo:function(){return{longname:"Advanced link",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("advlink",tinymce.plugins.AdvancedLinkPlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js new file mode 100644 index 00000000..32ea8f3d --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js @@ -0,0 +1,61 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.AdvancedLinkPlugin', { + init : function(ed, url) { + this.editor = ed; + + // Register commands + ed.addCommand('mceAdvLink', function() { + var se = ed.selection; + + // No selection and not in link + if (se.isCollapsed() && !ed.dom.getParent(se.getNode(), 'A')) + return; + + ed.windowManager.open({ + file : url + '/link.htm', + width : 480 + parseInt(ed.getLang('advlink.delta_width', 0)), + height : 400 + parseInt(ed.getLang('advlink.delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + // Register buttons + ed.addButton('link', { + title : 'advlink.link_desc', + cmd : 'mceAdvLink' + }); + + ed.addShortcut('ctrl+k', 'advlink.advlink_desc', 'mceAdvLink'); + + ed.onNodeChange.add(function(ed, cm, n, co) { + cm.setDisabled('link', co && n.nodeName != 'A'); + cm.setActive('link', n.nodeName == 'A' && !n.name); + }); + }, + + getInfo : function() { + return { + longname : 'Advanced link', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('advlink', tinymce.plugins.AdvancedLinkPlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/js/advlink.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/js/advlink.js new file mode 100644 index 00000000..cd5cf414 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/js/advlink.js @@ -0,0 +1,532 @@ +/* Functions for the advlink plugin popup */ + +tinyMCEPopup.requireLangPack(); + +var templates = { + "window.open" : "window.open('${url}','${target}','${options}')" +}; + +function preinit() { + var url; + + if (url = tinyMCEPopup.getParam("external_link_list_url")) + document.write(''); +} + +function changeClass() { + var f = document.forms[0]; + + f.classes.value = getSelectValue(f, 'classlist'); +} + +function init() { + tinyMCEPopup.resizeToInnerSize(); + + var formObj = document.forms[0]; + var inst = tinyMCEPopup.editor; + var elm = inst.selection.getNode(); + var action = "insert"; + var html; + + document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser','href','file','advlink'); + document.getElementById('popupurlbrowsercontainer').innerHTML = getBrowserHTML('popupurlbrowser','popupurl','file','advlink'); + document.getElementById('targetlistcontainer').innerHTML = getTargetListHTML('targetlist','target'); + + // Link list + html = getLinkListHTML('linklisthref','href'); + if (html == "") + document.getElementById("linklisthrefrow").style.display = 'none'; + else + document.getElementById("linklisthrefcontainer").innerHTML = html; + + // Anchor list + html = getAnchorListHTML('anchorlist','href'); + if (html == "") + document.getElementById("anchorlistrow").style.display = 'none'; + else + document.getElementById("anchorlistcontainer").innerHTML = html; + + // Resize some elements + if (isVisible('hrefbrowser')) + document.getElementById('href').style.width = '260px'; + + if (isVisible('popupurlbrowser')) + document.getElementById('popupurl').style.width = '180px'; + + elm = inst.dom.getParent(elm, "A"); + if (elm != null && elm.nodeName == "A") + action = "update"; + + formObj.insert.value = tinyMCEPopup.getLang(action, 'Insert', true); + + setPopupControlsDisabled(true); + + if (action == "update") { + var href = inst.dom.getAttrib(elm, 'href'); + var onclick = inst.dom.getAttrib(elm, 'onclick'); + + // Setup form data + setFormValue('href', href); + setFormValue('title', inst.dom.getAttrib(elm, 'title')); + setFormValue('id', inst.dom.getAttrib(elm, 'id')); + setFormValue('style', inst.dom.getAttrib(elm, "style")); + setFormValue('rel', inst.dom.getAttrib(elm, 'rel')); + setFormValue('rev', inst.dom.getAttrib(elm, 'rev')); + setFormValue('charset', inst.dom.getAttrib(elm, 'charset')); + setFormValue('hreflang', inst.dom.getAttrib(elm, 'hreflang')); + setFormValue('dir', inst.dom.getAttrib(elm, 'dir')); + setFormValue('lang', inst.dom.getAttrib(elm, 'lang')); + setFormValue('tabindex', inst.dom.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : "")); + setFormValue('accesskey', inst.dom.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : "")); + setFormValue('type', inst.dom.getAttrib(elm, 'type')); + setFormValue('onfocus', inst.dom.getAttrib(elm, 'onfocus')); + setFormValue('onblur', inst.dom.getAttrib(elm, 'onblur')); + setFormValue('onclick', onclick); + setFormValue('ondblclick', inst.dom.getAttrib(elm, 'ondblclick')); + setFormValue('onmousedown', inst.dom.getAttrib(elm, 'onmousedown')); + setFormValue('onmouseup', inst.dom.getAttrib(elm, 'onmouseup')); + setFormValue('onmouseover', inst.dom.getAttrib(elm, 'onmouseover')); + setFormValue('onmousemove', inst.dom.getAttrib(elm, 'onmousemove')); + setFormValue('onmouseout', inst.dom.getAttrib(elm, 'onmouseout')); + setFormValue('onkeypress', inst.dom.getAttrib(elm, 'onkeypress')); + setFormValue('onkeydown', inst.dom.getAttrib(elm, 'onkeydown')); + setFormValue('onkeyup', inst.dom.getAttrib(elm, 'onkeyup')); + setFormValue('target', inst.dom.getAttrib(elm, 'target')); + setFormValue('classes', inst.dom.getAttrib(elm, 'class')); + + // Parse onclick data + if (onclick != null && onclick.indexOf('window.open') != -1) + parseWindowOpen(onclick); + else + parseFunction(onclick); + + // Select by the values + selectByValue(formObj, 'dir', inst.dom.getAttrib(elm, 'dir')); + selectByValue(formObj, 'rel', inst.dom.getAttrib(elm, 'rel')); + selectByValue(formObj, 'rev', inst.dom.getAttrib(elm, 'rev')); + selectByValue(formObj, 'linklisthref', href); + + if (href.charAt(0) == '#') + selectByValue(formObj, 'anchorlist', href); + + addClassesToList('classlist', 'advlink_styles'); + + selectByValue(formObj, 'classlist', inst.dom.getAttrib(elm, 'class'), true); + selectByValue(formObj, 'targetlist', inst.dom.getAttrib(elm, 'target'), true); + } else + addClassesToList('classlist', 'advlink_styles'); +} + +function checkPrefix(n) { + if (n.value && Validator.isEmail(n) && !/^\s*mailto:/i.test(n.value) && confirm(tinyMCEPopup.getLang('advlink_dlg.is_email'))) + n.value = 'mailto:' + n.value; + + if (/^\s*www\./i.test(n.value) && confirm(tinyMCEPopup.getLang('advlink_dlg.is_external'))) + n.value = 'http://' + n.value; +} + +function setFormValue(name, value) { + document.forms[0].elements[name].value = value; +} + +function parseWindowOpen(onclick) { + var formObj = document.forms[0]; + + // Preprocess center code + if (onclick.indexOf('return false;') != -1) { + formObj.popupreturn.checked = true; + onclick = onclick.replace('return false;', ''); + } else + formObj.popupreturn.checked = false; + + var onClickData = parseLink(onclick); + + if (onClickData != null) { + formObj.ispopup.checked = true; + setPopupControlsDisabled(false); + + var onClickWindowOptions = parseOptions(onClickData['options']); + var url = onClickData['url']; + + formObj.popupname.value = onClickData['target']; + formObj.popupurl.value = url; + formObj.popupwidth.value = getOption(onClickWindowOptions, 'width'); + formObj.popupheight.value = getOption(onClickWindowOptions, 'height'); + + formObj.popupleft.value = getOption(onClickWindowOptions, 'left'); + formObj.popuptop.value = getOption(onClickWindowOptions, 'top'); + + if (formObj.popupleft.value.indexOf('screen') != -1) + formObj.popupleft.value = "c"; + + if (formObj.popuptop.value.indexOf('screen') != -1) + formObj.popuptop.value = "c"; + + formObj.popuplocation.checked = getOption(onClickWindowOptions, 'location') == "yes"; + formObj.popupscrollbars.checked = getOption(onClickWindowOptions, 'scrollbars') == "yes"; + formObj.popupmenubar.checked = getOption(onClickWindowOptions, 'menubar') == "yes"; + formObj.popupresizable.checked = getOption(onClickWindowOptions, 'resizable') == "yes"; + formObj.popuptoolbar.checked = getOption(onClickWindowOptions, 'toolbar') == "yes"; + formObj.popupstatus.checked = getOption(onClickWindowOptions, 'status') == "yes"; + formObj.popupdependent.checked = getOption(onClickWindowOptions, 'dependent') == "yes"; + + buildOnClick(); + } +} + +function parseFunction(onclick) { + var formObj = document.forms[0]; + var onClickData = parseLink(onclick); + + // TODO: Add stuff here +} + +function getOption(opts, name) { + return typeof(opts[name]) == "undefined" ? "" : opts[name]; +} + +function setPopupControlsDisabled(state) { + var formObj = document.forms[0]; + + formObj.popupname.disabled = state; + formObj.popupurl.disabled = state; + formObj.popupwidth.disabled = state; + formObj.popupheight.disabled = state; + formObj.popupleft.disabled = state; + formObj.popuptop.disabled = state; + formObj.popuplocation.disabled = state; + formObj.popupscrollbars.disabled = state; + formObj.popupmenubar.disabled = state; + formObj.popupresizable.disabled = state; + formObj.popuptoolbar.disabled = state; + formObj.popupstatus.disabled = state; + formObj.popupreturn.disabled = state; + formObj.popupdependent.disabled = state; + + setBrowserDisabled('popupurlbrowser', state); +} + +function parseLink(link) { + link = link.replace(new RegExp(''', 'g'), "'"); + + var fnName = link.replace(new RegExp("\\s*([A-Za-z0-9\.]*)\\s*\\(.*", "gi"), "$1"); + + // Is function name a template function + var template = templates[fnName]; + if (template) { + // Build regexp + var variableNames = template.match(new RegExp("'?\\$\\{[A-Za-z0-9\.]*\\}'?", "gi")); + var regExp = "\\s*[A-Za-z0-9\.]*\\s*\\("; + var replaceStr = ""; + for (var i=0; i'); + for (var i=0; i' + name + ''; + } + + if (html == "") + return ""; + + html = ''; + + return html; +} + +function insertAction() { + var inst = tinyMCEPopup.editor; + var elm, elementArray, i; + + elm = inst.selection.getNode(); + checkPrefix(document.forms[0].href); + + elm = inst.dom.getParent(elm, "A"); + + // Remove element if there is no href + if (!document.forms[0].href.value) { + i = inst.selection.getBookmark(); + inst.dom.remove(elm, 1); + inst.selection.moveToBookmark(i); + tinyMCEPopup.execCommand("mceEndUndoLevel"); + tinyMCEPopup.close(); + return; + } + + // Create new anchor elements + if (elm == null) { + inst.getDoc().execCommand("unlink", false, null); + tinyMCEPopup.execCommand("mceInsertLink", false, "#mce_temp_url#", {skip_undo : 1}); + + elementArray = tinymce.grep(inst.dom.select("a"), function(n) {return inst.dom.getAttrib(n, 'href') == '#mce_temp_url#';}); + for (i=0; i' + tinyMCELinkList[i][0] + ''; + + html += ''; + + return html; + + // tinyMCE.debug('-- image list start --', html, '-- image list end --'); +} + +function getTargetListHTML(elm_id, target_form_element) { + var targets = tinyMCEPopup.getParam('theme_advanced_link_targets', '').split(';'); + var html = ''; + + html += ''; + + return html; +} + +// While loading +preinit(); +tinyMCEPopup.onInit.add(init); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js new file mode 100644 index 00000000..a4c8cea7 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js @@ -0,0 +1,54 @@ +tinyMCE.addI18n('en.advlink_dlg',{ +title:"Insert/edit link", +url:"Link URL", +target:"Target", +titlefield:"Title", +is_email:"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?", +is_external:"The URL you entered seems to be an external link. Do you want to add the required http:// prefix?", +list:"Link list", +general_tab:"General", +popup_tab:"Popup", +events_tab:"Events", +advanced_tab:"Advanced", +general_props:"General properties", +popup_props:"Popup properties", +event_props:"Events", +advanced_props:"Advanced properties", +popup_opts:"Options", +anchor_names:"Anchors", +target_same:"Open in this window / frame", +target_parent:"Open in parent window / frame", +target_top:"Open in top frame (replaces all frames)", +target_blank:"Open in new window", +popup:"Javascript popup", +popup_url:"Popup URL", +popup_name:"Window name", +popup_return:"Insert 'return false'", +popup_scrollbars:"Show scrollbars", +popup_statusbar:"Show status bar", +popup_toolbar:"Show toolbars", +popup_menubar:"Show menu bar", +popup_location:"Show location bar", +popup_resizable:"Make window resizable", +popup_dependent:"Dependent (Mozilla/Firefox only)", +popup_size:"Size", +width:"Width", +height:"Height", +popup_position:"Position (X/Y)", +id:"Id", +style:"Style", +classes:"Classes", +target_name:"Target name", +langdir:"Language direction", +target_langcode:"Target language", +langcode:"Language code", +encoding:"Target character encoding", +mime:"Target MIME type", +rel:"Relationship page to target", +rev:"Relationship target to page", +tabindex:"Tabindex", +accesskey:"Accesskey", +ltr:"Left to right", +rtl:"Right to left", +link_list:"Link list" +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/link.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/link.htm new file mode 100644 index 00000000..52623ab5 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/link.htm @@ -0,0 +1,338 @@ + + + + {#advlink_dlg.title} + + + + + + + + + +
+ + + + +
+ + +
+
+ + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlist/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlist/editor_plugin.js new file mode 100644 index 00000000..57ecce6e --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlist/editor_plugin.js @@ -0,0 +1 @@ +(function(){var a=tinymce.each;tinymce.create("tinymce.plugins.AdvListPlugin",{init:function(b,c){var d=this;d.editor=b;function e(g){var f=[];a(g.split(/,/),function(h){f.push({title:"advlist."+(h=="default"?"def":h.replace(/-/g,"_")),styles:{listStyleType:h=="default"?"":h}})});return f}d.numlist=b.getParam("advlist_number_styles")||e("default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman");d.bullist=b.getParam("advlist_bullet_styles")||e("default,circle,disc,square");if(tinymce.isIE&&/MSIE [2-7]/.test(navigator.userAgent)){d.isIE7=true}},createControl:function(d,b){var f=this,e,i,g=f.editor;if(d=="numlist"||d=="bullist"){if(f[d][0].title=="advlist.def"){i=f[d][0]}function c(j,l){var k=true;a(l.styles,function(n,m){if(g.dom.getStyle(j,m)!=n){k=false;return false}});return k}function h(){var k,l=g.dom,j=g.selection;k=l.getParent(j.getNode(),"ol,ul");if(!k||k.nodeName==(d=="bullist"?"OL":"UL")||c(k,i)){g.execCommand(d=="bullist"?"InsertUnorderedList":"InsertOrderedList")}if(i){k=l.getParent(j.getNode(),"ol,ul");if(k){l.setStyles(k,i.styles);k.removeAttribute("data-mce-style")}}g.focus()}e=b.createSplitButton(d,{title:"advanced."+d+"_desc","class":"mce_"+d,onclick:function(){h()}});e.onRenderMenu.add(function(j,k){k.onHideMenu.add(function(){if(f.bookmark){g.selection.moveToBookmark(f.bookmark);f.bookmark=0}});k.onShowMenu.add(function(){var n=g.dom,m=n.getParent(g.selection.getNode(),"ol,ul"),l;if(m||i){l=f[d];a(k.items,function(o){var p=true;o.setSelected(0);if(m&&!o.isDisabled()){a(l,function(q){if(q.id==o.id){if(!c(m,q)){p=false;return false}}});if(p){o.setSelected(1)}}});if(!m){k.items[i.id].setSelected(1)}}g.focus();if(tinymce.isIE){f.bookmark=g.selection.getBookmark(1)}});k.add({id:g.dom.uniqueId(),title:"advlist.types","class":"mceMenuItemTitle",titleItem:true}).setDisabled(1);a(f[d],function(l){if(f.isIE7&&l.styles.listStyleType=="lower-greek"){return}l.id=g.dom.uniqueId();k.add({id:l.id,title:l.title,onclick:function(){i=l;h()}})})});return e}},getInfo:function(){return{longname:"Advanced lists",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlist",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("advlist",tinymce.plugins.AdvListPlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlist/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlist/editor_plugin_src.js new file mode 100644 index 00000000..4ee4d34c --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlist/editor_plugin_src.js @@ -0,0 +1,176 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var each = tinymce.each; + + tinymce.create('tinymce.plugins.AdvListPlugin', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + function buildFormats(str) { + var formats = []; + + each(str.split(/,/), function(type) { + formats.push({ + title : 'advlist.' + (type == 'default' ? 'def' : type.replace(/-/g, '_')), + styles : { + listStyleType : type == 'default' ? '' : type + } + }); + }); + + return formats; + }; + + // Setup number formats from config or default + t.numlist = ed.getParam("advlist_number_styles") || buildFormats("default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman"); + t.bullist = ed.getParam("advlist_bullet_styles") || buildFormats("default,circle,disc,square"); + + if (tinymce.isIE && /MSIE [2-7]/.test(navigator.userAgent)) + t.isIE7 = true; + }, + + createControl: function(name, cm) { + var t = this, btn, format, editor = t.editor; + + if (name == 'numlist' || name == 'bullist') { + // Default to first item if it's a default item + if (t[name][0].title == 'advlist.def') + format = t[name][0]; + + function hasFormat(node, format) { + var state = true; + + each(format.styles, function(value, name) { + // Format doesn't match + if (editor.dom.getStyle(node, name) != value) { + state = false; + return false; + } + }); + + return state; + }; + + function applyListFormat() { + var list, dom = editor.dom, sel = editor.selection; + + // Check for existing list element + list = dom.getParent(sel.getNode(), 'ol,ul'); + + // Switch/add list type if needed + if (!list || list.nodeName == (name == 'bullist' ? 'OL' : 'UL') || hasFormat(list, format)) + editor.execCommand(name == 'bullist' ? 'InsertUnorderedList' : 'InsertOrderedList'); + + // Append styles to new list element + if (format) { + list = dom.getParent(sel.getNode(), 'ol,ul'); + if (list) { + dom.setStyles(list, format.styles); + list.removeAttribute('data-mce-style'); + } + } + + editor.focus(); + }; + + btn = cm.createSplitButton(name, { + title : 'advanced.' + name + '_desc', + 'class' : 'mce_' + name, + onclick : function() { + applyListFormat(); + } + }); + + btn.onRenderMenu.add(function(btn, menu) { + menu.onHideMenu.add(function() { + if (t.bookmark) { + editor.selection.moveToBookmark(t.bookmark); + t.bookmark = 0; + } + }); + + menu.onShowMenu.add(function() { + var dom = editor.dom, list = dom.getParent(editor.selection.getNode(), 'ol,ul'), fmtList; + + if (list || format) { + fmtList = t[name]; + + // Unselect existing items + each(menu.items, function(item) { + var state = true; + + item.setSelected(0); + + if (list && !item.isDisabled()) { + each(fmtList, function(fmt) { + if (fmt.id == item.id) { + if (!hasFormat(list, fmt)) { + state = false; + return false; + } + } + }); + + if (state) + item.setSelected(1); + } + }); + + // Select the current format + if (!list) + menu.items[format.id].setSelected(1); + } + + editor.focus(); + + // IE looses it's selection so store it away and restore it later + if (tinymce.isIE) { + t.bookmark = editor.selection.getBookmark(1); + } + }); + + menu.add({id : editor.dom.uniqueId(), title : 'advlist.types', 'class' : 'mceMenuItemTitle', titleItem: true}).setDisabled(1); + + each(t[name], function(item) { + // IE<8 doesn't support lower-greek, skip it + if (t.isIE7 && item.styles.listStyleType == 'lower-greek') + return; + + item.id = editor.dom.uniqueId(); + + menu.add({id : item.id, title : item.title, onclick : function() { + format = item; + applyListFormat(); + }}); + }); + }); + + return btn; + } + }, + + getInfo : function() { + return { + longname : 'Advanced lists', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlist', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('advlist', tinymce.plugins.AdvListPlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autolink/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autolink/editor_plugin.js new file mode 100644 index 00000000..c0f683a8 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autolink/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.AutolinkPlugin",{init:function(a,b){var c=this;if(tinyMCE.isIE){return}a.onKeyDown.add(function(d,f){if(f.keyCode==13){return c.handleEnter(d)}});a.onKeyPress.add(function(d,f){if(f.which==41){return c.handleEclipse(d)}});a.onKeyUp.add(function(d,f){if(f.keyCode==32){return c.handleSpacebar(d)}})},handleEclipse:function(a){this.parseCurrentLine(a,-1,"(",true)},handleSpacebar:function(a){this.parseCurrentLine(a,0,"",true)},handleEnter:function(a){this.parseCurrentLine(a,-1,"",false)},parseCurrentLine:function(i,d,b,g){var a,f,c,n,k,m,h,e,j;a=i.selection.getRng().cloneRange();if(a.startOffset<5){e=a.endContainer.previousSibling;if(e==null){if(a.endContainer.firstChild==null||a.endContainer.firstChild.nextSibling==null){return}e=a.endContainer.firstChild.nextSibling}j=e.length;a.setStart(e,j);a.setEnd(e,j);if(a.endOffset<5){return}f=a.endOffset;n=e}else{n=a.endContainer;if(n.nodeType!=3&&n.firstChild){while(n.nodeType!=3&&n.firstChild){n=n.firstChild}a.setStart(n,0);a.setEnd(n,n.nodeValue.length)}if(a.endOffset==1){f=2}else{f=a.endOffset-1-d}}c=f;do{a.setStart(n,f-2);a.setEnd(n,f-1);f-=1}while(a.toString()!=" "&&a.toString()!=""&&a.toString().charCodeAt(0)!=160&&(f-2)>=0&&a.toString()!=b);if(a.toString()==b||a.toString().charCodeAt(0)==160){a.setStart(n,f);a.setEnd(n,c);f+=1}else{if(a.startOffset==0){a.setStart(n,0);a.setEnd(n,c)}else{a.setStart(n,f);a.setEnd(n,c)}}m=a.toString();h=m.match(/^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.)(.+)$/i);if(h){if(h[1]=="www."){h[1]="http://www."}k=i.selection.getBookmark();i.selection.setRng(a);tinyMCE.execCommand("mceInsertLink",false,h[1]+h[2]);i.selection.moveToBookmark(k);if(tinyMCE.isWebKit){i.selection.collapse(false);var l=Math.min(n.length,c+1);a.setStart(n,l);a.setEnd(n,l);i.selection.setRng(a)}}},getInfo:function(){return{longname:"Autolink",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autolink",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("autolink",tinymce.plugins.AutolinkPlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autolink/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autolink/editor_plugin_src.js new file mode 100644 index 00000000..ddfe0494 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autolink/editor_plugin_src.js @@ -0,0 +1,172 @@ +/** + * editor_plugin_src.js + * + * Copyright 2011, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.AutolinkPlugin', { + /** + * Initializes the plugin, this will be executed after the plugin has been created. + * This call is done before the editor instance has finished it's initialization so use the onInit event + * of the editor instance to intercept that event. + * + * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in. + * @param {string} url Absolute URL to where the plugin is located. + */ + + init : function(ed, url) { + var t = this; + + // Internet Explorer has built-in automatic linking + if (tinyMCE.isIE) + return; + + // Add a key down handler + ed.onKeyDown.add(function(ed, e) { + if (e.keyCode == 13) + return t.handleEnter(ed); + }); + + ed.onKeyPress.add(function(ed, e) { + if (e.which == 41) + return t.handleEclipse(ed); + }); + + // Add a key up handler + ed.onKeyUp.add(function(ed, e) { + if (e.keyCode == 32) + return t.handleSpacebar(ed); + }); + }, + + handleEclipse : function(ed) { + this.parseCurrentLine(ed, -1, '(', true); + }, + + handleSpacebar : function(ed) { + this.parseCurrentLine(ed, 0, '', true); + }, + + handleEnter : function(ed) { + this.parseCurrentLine(ed, -1, '', false); + }, + + parseCurrentLine : function(ed, end_offset, delimiter, goback) { + var r, end, start, endContainer, bookmark, text, matches, prev, len; + + // We need at least five characters to form a URL, + // hence, at minimum, five characters from the beginning of the line. + r = ed.selection.getRng().cloneRange(); + if (r.startOffset < 5) { + // During testing, the caret is placed inbetween two text nodes. + // The previous text node contains the URL. + prev = r.endContainer.previousSibling; + if (prev == null) { + if (r.endContainer.firstChild == null || r.endContainer.firstChild.nextSibling == null) + return; + + prev = r.endContainer.firstChild.nextSibling; + } + len = prev.length; + r.setStart(prev, len); + r.setEnd(prev, len); + + if (r.endOffset < 5) + return; + + end = r.endOffset; + endContainer = prev; + } else { + endContainer = r.endContainer; + + // Get a text node + if (endContainer.nodeType != 3 && endContainer.firstChild) { + while (endContainer.nodeType != 3 && endContainer.firstChild) + endContainer = endContainer.firstChild; + + r.setStart(endContainer, 0); + r.setEnd(endContainer, endContainer.nodeValue.length); + } + + if (r.endOffset == 1) + end = 2; + else + end = r.endOffset - 1 - end_offset; + } + + start = end; + + do + { + // Move the selection one character backwards. + r.setStart(endContainer, end - 2); + r.setEnd(endContainer, end - 1); + end -= 1; + + // Loop until one of the following is found: a blank space,  , delimeter, (end-2) >= 0 + } while (r.toString() != ' ' && r.toString() != '' && r.toString().charCodeAt(0) != 160 && (end -2) >= 0 && r.toString() != delimiter); + + if (r.toString() == delimiter || r.toString().charCodeAt(0) == 160) { + r.setStart(endContainer, end); + r.setEnd(endContainer, start); + end += 1; + } else if (r.startOffset == 0) { + r.setStart(endContainer, 0); + r.setEnd(endContainer, start); + } + else { + r.setStart(endContainer, end); + r.setEnd(endContainer, start); + } + + text = r.toString(); + matches = text.match(/^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.)(.+)$/i); + + if (matches) { + if (matches[1] == 'www.') { + matches[1] = 'http://www.'; + } + + bookmark = ed.selection.getBookmark(); + + ed.selection.setRng(r); + tinyMCE.execCommand('mceInsertLink',false, matches[1] + matches[2]); + ed.selection.moveToBookmark(bookmark); + + // TODO: Determine if this is still needed. + if (tinyMCE.isWebKit) { + // move the caret to its original position + ed.selection.collapse(false); + var max = Math.min(endContainer.length, start + 1); + r.setStart(endContainer, max); + r.setEnd(endContainer, max); + ed.selection.setRng(r); + } + } + }, + + /** + * Returns information about the plugin as a name/value array. + * The current keys are longname, author, authorurl, infourl and version. + * + * @return {Object} Name/value array containing information about the plugin. + */ + getInfo : function() { + return { + longname : 'Autolink', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autolink', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('autolink', tinymce.plugins.AutolinkPlugin); +})(); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js new file mode 100644 index 00000000..6c4ff0d5 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.AutoResizePlugin",{init:function(a,c){var d=this,e=0;if(a.getParam("fullscreen_is_enabled")){return}function b(){var i=a.getDoc(),f=i.body,k=i.documentElement,h=tinymce.DOM,j=d.autoresize_min_height,g;g=tinymce.isIE?f.scrollHeight:i.body.offsetHeight;if(g>d.autoresize_min_height){j=g}if(d.autoresize_max_height&&g>d.autoresize_max_height){j=d.autoresize_max_height;a.getBody().style.overflowY="auto"}else{a.getBody().style.overflowY="hidden"}if(j!==e){h.setStyle(h.get(a.id+"_ifr"),"height",j+"px");e=j}if(d.throbbing){a.setProgressState(false);a.setProgressState(true)}}d.editor=a;d.autoresize_min_height=parseInt(a.getParam("autoresize_min_height",a.getElement().offsetHeight));d.autoresize_max_height=parseInt(a.getParam("autoresize_max_height",0));a.onInit.add(function(f){f.dom.setStyle(f.getBody(),"paddingBottom",f.getParam("autoresize_bottom_margin",50)+"px")});a.onChange.add(b);a.onSetContent.add(b);a.onPaste.add(b);a.onKeyUp.add(b);a.onPostRender.add(b);if(a.getParam("autoresize_on_init",true)){a.onInit.add(function(g,f){g.setProgressState(true);d.throbbing=true;g.getBody().style.overflowY="hidden"});a.onLoadContent.add(function(g,f){b();setTimeout(function(){b();g.setProgressState(false);d.throbbing=false},1250)})}a.addCommand("mceAutoResize",b)},getInfo:function(){return{longname:"Auto Resize",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autoresize",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("autoresize",tinymce.plugins.AutoResizePlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autoresize/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autoresize/editor_plugin_src.js new file mode 100644 index 00000000..7d113419 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autoresize/editor_plugin_src.js @@ -0,0 +1,137 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + /** + * Auto Resize + * + * This plugin automatically resizes the content area to fit its content height. + * It will retain a minimum height, which is the height of the content area when + * it's initialized. + */ + tinymce.create('tinymce.plugins.AutoResizePlugin', { + /** + * Initializes the plugin, this will be executed after the plugin has been created. + * This call is done before the editor instance has finished it's initialization so use the onInit event + * of the editor instance to intercept that event. + * + * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in. + * @param {string} url Absolute URL to where the plugin is located. + */ + init : function(ed, url) { + var t = this, oldSize = 0; + + if (ed.getParam('fullscreen_is_enabled')) + return; + + /** + * This method gets executed each time the editor needs to resize. + */ + function resize() { + var d = ed.getDoc(), b = d.body, de = d.documentElement, DOM = tinymce.DOM, resizeHeight = t.autoresize_min_height, myHeight; + + // Get height differently depending on the browser used + myHeight = tinymce.isIE ? b.scrollHeight : d.body.offsetHeight; + + // Don't make it smaller than the minimum height + if (myHeight > t.autoresize_min_height) + resizeHeight = myHeight; + + // If a maximum height has been defined don't exceed this height + if (t.autoresize_max_height && myHeight > t.autoresize_max_height) { + resizeHeight = t.autoresize_max_height; + ed.getBody().style.overflowY = "auto"; + } else + ed.getBody().style.overflowY = "hidden"; + + // Resize content element + if (resizeHeight !== oldSize) { + DOM.setStyle(DOM.get(ed.id + '_ifr'), 'height', resizeHeight + 'px'); + oldSize = resizeHeight; + } + + // if we're throbbing, we'll re-throb to match the new size + if (t.throbbing) { + ed.setProgressState(false); + ed.setProgressState(true); + } + }; + + t.editor = ed; + + // Define minimum height + t.autoresize_min_height = parseInt( ed.getParam('autoresize_min_height', ed.getElement().offsetHeight) ); + + // Define maximum height + t.autoresize_max_height = parseInt( ed.getParam('autoresize_max_height', 0) ); + + // Add padding at the bottom for better UX + ed.onInit.add(function(ed){ + ed.dom.setStyle(ed.getBody(), 'paddingBottom', ed.getParam('autoresize_bottom_margin', 50) + 'px'); + }); + + // Add appropriate listeners for resizing content area + ed.onChange.add(resize); + ed.onSetContent.add(resize); + ed.onPaste.add(resize); + ed.onKeyUp.add(resize); + ed.onPostRender.add(resize); + + if (ed.getParam('autoresize_on_init', true)) { + // Things to do when the editor is ready + ed.onInit.add(function(ed, l) { + // Show throbber until content area is resized properly + ed.setProgressState(true); + t.throbbing = true; + + // Hide scrollbars + ed.getBody().style.overflowY = "hidden"; + }); + + ed.onLoadContent.add(function(ed, l) { + resize(); + + // Because the content area resizes when its content CSS loads, + // and we can't easily add a listener to its onload event, + // we'll just trigger a resize after a short loading period + setTimeout(function() { + resize(); + + // Disable throbber + ed.setProgressState(false); + t.throbbing = false; + }, 1250); + }); + } + + // Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('mceExample'); + ed.addCommand('mceAutoResize', resize); + }, + + /** + * Returns information about the plugin as a name/value array. + * The current keys are longname, author, authorurl, infourl and version. + * + * @return {Object} Name/value array containing information about the plugin. + */ + getInfo : function() { + return { + longname : 'Auto Resize', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autoresize', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('autoresize', tinymce.plugins.AutoResizePlugin); +})(); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autosave/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autosave/editor_plugin.js new file mode 100644 index 00000000..f7d05760 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autosave/editor_plugin.js @@ -0,0 +1 @@ +(function(e){var c="autosave",g="restoredraft",b=true,f,d,a=e.util.Dispatcher;e.create("tinymce.plugins.AutoSave",{init:function(i,j){var h=this,l=i.settings;h.editor=i;function k(n){var m={s:1000,m:60000};n=/^(\d+)([ms]?)$/.exec(""+n);return(n[2]?m[n[2]]:1)*parseInt(n)}e.each({ask_before_unload:b,interval:"30s",retention:"20m",minlength:50},function(n,m){m=c+"_"+m;if(l[m]===f){l[m]=n}});l.autosave_interval=k(l.autosave_interval);l.autosave_retention=k(l.autosave_retention);i.addButton(g,{title:c+".restore_content",onclick:function(){if(i.getContent({draft:true}).replace(/\s| |<\/?p[^>]*>|]*>/gi,"").length>0){i.windowManager.confirm(c+".warning_message",function(m){if(m){h.restoreDraft()}})}else{h.restoreDraft()}}});i.onNodeChange.add(function(){var m=i.controlManager;if(m.get(g)){m.setDisabled(g,!h.hasDraft())}});i.onInit.add(function(){if(i.controlManager.get(g)){h.setupStorage(i);setInterval(function(){h.storeDraft();i.nodeChanged()},l.autosave_interval)}});h.onStoreDraft=new a(h);h.onRestoreDraft=new a(h);h.onRemoveDraft=new a(h);if(!d){window.onbeforeunload=e.plugins.AutoSave._beforeUnloadHandler;d=b}},getInfo:function(){return{longname:"Auto save",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autosave",version:e.majorVersion+"."+e.minorVersion}},getExpDate:function(){return new Date(new Date().getTime()+this.editor.settings.autosave_retention).toUTCString()},setupStorage:function(i){var h=this,k=c+"_test",j="OK";h.key=c+i.id;e.each([function(){if(localStorage){localStorage.setItem(k,j);if(localStorage.getItem(k)===j){localStorage.removeItem(k);return localStorage}}},function(){if(sessionStorage){sessionStorage.setItem(k,j);if(sessionStorage.getItem(k)===j){sessionStorage.removeItem(k);return sessionStorage}}},function(){if(e.isIE){i.getElement().style.behavior="url('#default#userData')";return{autoExpires:b,setItem:function(l,n){var m=i.getElement();m.setAttribute(l,n);m.expires=h.getExpDate();try{m.save("TinyMCE")}catch(o){}},getItem:function(l){var m=i.getElement();try{m.load("TinyMCE");return m.getAttribute(l)}catch(n){return null}},removeItem:function(l){i.getElement().removeAttribute(l)}}}},],function(l){try{h.storage=l();if(h.storage){return false}}catch(m){}})},storeDraft:function(){var i=this,l=i.storage,j=i.editor,h,k;if(l){if(!l.getItem(i.key)&&!j.isDirty()){return}k=j.getContent({draft:true});if(k.length>j.settings.autosave_minlength){h=i.getExpDate();if(!i.storage.autoExpires){i.storage.setItem(i.key+"_expires",h)}i.storage.setItem(i.key,k);i.onStoreDraft.dispatch(i,{expires:h,content:k})}}},restoreDraft:function(){var h=this,j=h.storage,i;if(j){i=j.getItem(h.key);if(i){h.editor.setContent(i);h.onRestoreDraft.dispatch(h,{content:i})}}},hasDraft:function(){var h=this,k=h.storage,i,j;if(k){j=!!k.getItem(h.key);if(j){if(!h.storage.autoExpires){i=new Date(k.getItem(h.key+"_expires"));if(new Date().getTime()]*>|]*>/gi, "").length > 0) { + // Show confirm dialog if the editor isn't empty + ed.windowManager.confirm( + PLUGIN_NAME + ".warning_message", + function(ok) { + if (ok) + self.restoreDraft(); + } + ); + } else + self.restoreDraft(); + } + }); + + // Enable/disable restoredraft button depending on if there is a draft stored or not + ed.onNodeChange.add(function() { + var controlManager = ed.controlManager; + + if (controlManager.get(RESTORE_DRAFT)) + controlManager.setDisabled(RESTORE_DRAFT, !self.hasDraft()); + }); + + ed.onInit.add(function() { + // Check if the user added the restore button, then setup auto storage logic + if (ed.controlManager.get(RESTORE_DRAFT)) { + // Setup storage engine + self.setupStorage(ed); + + // Auto save contents each interval time + setInterval(function() { + self.storeDraft(); + ed.nodeChanged(); + }, settings.autosave_interval); + } + }); + + /** + * This event gets fired when a draft is stored to local storage. + * + * @event onStoreDraft + * @param {tinymce.plugins.AutoSave} sender Plugin instance sending the event. + * @param {Object} draft Draft object containing the HTML contents of the editor. + */ + self.onStoreDraft = new Dispatcher(self); + + /** + * This event gets fired when a draft is restored from local storage. + * + * @event onStoreDraft + * @param {tinymce.plugins.AutoSave} sender Plugin instance sending the event. + * @param {Object} draft Draft object containing the HTML contents of the editor. + */ + self.onRestoreDraft = new Dispatcher(self); + + /** + * This event gets fired when a draft removed/expired. + * + * @event onRemoveDraft + * @param {tinymce.plugins.AutoSave} sender Plugin instance sending the event. + * @param {Object} draft Draft object containing the HTML contents of the editor. + */ + self.onRemoveDraft = new Dispatcher(self); + + // Add ask before unload dialog only add one unload handler + if (!unloadHandlerAdded) { + window.onbeforeunload = tinymce.plugins.AutoSave._beforeUnloadHandler; + unloadHandlerAdded = TRUE; + } + }, + + /** + * Returns information about the plugin as a name/value array. + * The current keys are longname, author, authorurl, infourl and version. + * + * @method getInfo + * @return {Object} Name/value array containing information about the plugin. + */ + getInfo : function() { + return { + longname : 'Auto save', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autosave', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + /** + * Returns an expiration date UTC string. + * + * @method getExpDate + * @return {String} Expiration date UTC string. + */ + getExpDate : function() { + return new Date( + new Date().getTime() + this.editor.settings.autosave_retention + ).toUTCString(); + }, + + /** + * This method will setup the storage engine. If the browser has support for it. + * + * @method setupStorage + */ + setupStorage : function(ed) { + var self = this, testKey = PLUGIN_NAME + '_test', testVal = "OK"; + + self.key = PLUGIN_NAME + ed.id; + + // Loop though each storage engine type until we find one that works + tinymce.each([ + function() { + // Try HTML5 Local Storage + if (localStorage) { + localStorage.setItem(testKey, testVal); + + if (localStorage.getItem(testKey) === testVal) { + localStorage.removeItem(testKey); + + return localStorage; + } + } + }, + + function() { + // Try HTML5 Session Storage + if (sessionStorage) { + sessionStorage.setItem(testKey, testVal); + + if (sessionStorage.getItem(testKey) === testVal) { + sessionStorage.removeItem(testKey); + + return sessionStorage; + } + } + }, + + function() { + // Try IE userData + if (tinymce.isIE) { + ed.getElement().style.behavior = "url('#default#userData')"; + + // Fake localStorage on old IE + return { + autoExpires : TRUE, + + setItem : function(key, value) { + var userDataElement = ed.getElement(); + + userDataElement.setAttribute(key, value); + userDataElement.expires = self.getExpDate(); + + try { + userDataElement.save("TinyMCE"); + } catch (e) { + // Ignore, saving might fail if "Userdata Persistence" is disabled in IE + } + }, + + getItem : function(key) { + var userDataElement = ed.getElement(); + + try { + userDataElement.load("TinyMCE"); + return userDataElement.getAttribute(key); + } catch (e) { + // Ignore, loading might fail if "Userdata Persistence" is disabled in IE + return null; + } + }, + + removeItem : function(key) { + ed.getElement().removeAttribute(key); + } + }; + } + }, + ], function(setup) { + // Try executing each function to find a suitable storage engine + try { + self.storage = setup(); + + if (self.storage) + return false; + } catch (e) { + // Ignore + } + }); + }, + + /** + * This method will store the current contents in the the storage engine. + * + * @method storeDraft + */ + storeDraft : function() { + var self = this, storage = self.storage, editor = self.editor, expires, content; + + // Is the contents dirty + if (storage) { + // If there is no existing key and the contents hasn't been changed since + // it's original value then there is no point in saving a draft + if (!storage.getItem(self.key) && !editor.isDirty()) + return; + + // Store contents if the contents if longer than the minlength of characters + content = editor.getContent({draft: true}); + if (content.length > editor.settings.autosave_minlength) { + expires = self.getExpDate(); + + // Store expiration date if needed IE userData has auto expire built in + if (!self.storage.autoExpires) + self.storage.setItem(self.key + "_expires", expires); + + self.storage.setItem(self.key, content); + self.onStoreDraft.dispatch(self, { + expires : expires, + content : content + }); + } + } + }, + + /** + * This method will restore the contents from the storage engine back to the editor. + * + * @method restoreDraft + */ + restoreDraft : function() { + var self = this, storage = self.storage, content; + + if (storage) { + content = storage.getItem(self.key); + + if (content) { + self.editor.setContent(content); + self.onRestoreDraft.dispatch(self, { + content : content + }); + } + } + }, + + /** + * This method will return true/false if there is a local storage draft available. + * + * @method hasDraft + * @return {boolean} true/false state if there is a local draft. + */ + hasDraft : function() { + var self = this, storage = self.storage, expDate, exists; + + if (storage) { + // Does the item exist at all + exists = !!storage.getItem(self.key); + if (exists) { + // Storage needs autoexpire + if (!self.storage.autoExpires) { + expDate = new Date(storage.getItem(self.key + "_expires")); + + // Contents hasn't expired + if (new Date().getTime() < expDate.getTime()) + return TRUE; + + // Remove it if it has + self.removeDraft(); + } else + return TRUE; + } + } + + return false; + }, + + /** + * Removes the currently stored draft. + * + * @method removeDraft + */ + removeDraft : function() { + var self = this, storage = self.storage, key = self.key, content; + + if (storage) { + // Get current contents and remove the existing draft + content = storage.getItem(key); + storage.removeItem(key); + storage.removeItem(key + "_expires"); + + // Dispatch remove event if we had any contents + if (content) { + self.onRemoveDraft.dispatch(self, { + content : content + }); + } + } + }, + + "static" : { + // Internal unload handler will be called before the page is unloaded + _beforeUnloadHandler : function(e) { + var msg; + + tinymce.each(tinyMCE.editors, function(ed) { + // Store a draft for each editor instance + if (ed.plugins.autosave) + ed.plugins.autosave.storeDraft(); + + // Never ask in fullscreen mode + if (ed.getParam("fullscreen_is_enabled")) + return; + + // Setup a return message if the editor is dirty + if (!msg && ed.isDirty() && ed.getParam("autosave_ask_before_unload")) + msg = ed.getLang("autosave.unload_msg"); + }); + + return msg; + } + } + }); + + tinymce.PluginManager.add('autosave', tinymce.plugins.AutoSave); +})(tinymce); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autosave/langs/en.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autosave/langs/en.js new file mode 100644 index 00000000..219f769a --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autosave/langs/en.js @@ -0,0 +1,4 @@ +tinyMCE.addI18n('en.autosave',{ +restore_content: "Restore auto-saved content", +warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/bbcode/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/bbcode/editor_plugin.js new file mode 100644 index 00000000..8f8821fd --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/bbcode/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.BBCodePlugin",{init:function(a,b){var d=this,c=a.getParam("bbcode_dialect","punbb").toLowerCase();a.onBeforeSetContent.add(function(e,f){f.content=d["_"+c+"_bbcode2html"](f.content)});a.onPostProcess.add(function(e,f){if(f.set){f.content=d["_"+c+"_bbcode2html"](f.content)}if(f.get){f.content=d["_"+c+"_html2bbcode"](f.content)}})},getInfo:function(){return{longname:"BBCode Plugin",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/bbcode",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_punbb_html2bbcode:function(a){a=tinymce.trim(a);function b(c,d){a=a.replace(c,d)}b(/(.*?)<\/a>/gi,"[url=$1]$2[/url]");b(/(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");b(/(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");b(/(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");b(/(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");b(/(.*?)<\/span>/gi,"[color=$1]$2[/color]");b(/(.*?)<\/font>/gi,"[color=$1]$2[/color]");b(/(.*?)<\/span>/gi,"[size=$1]$2[/size]");b(/(.*?)<\/font>/gi,"$1");b(//gi,"[img]$1[/img]");b(/(.*?)<\/span>/gi,"[code]$1[/code]");b(/(.*?)<\/span>/gi,"[quote]$1[/quote]");b(/(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]");b(/(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]");b(/(.*?)<\/em>/gi,"[code][i]$1[/i][/code]");b(/(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]");b(/(.*?)<\/u>/gi,"[code][u]$1[/u][/code]");b(/(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]");b(/<\/(strong|b)>/gi,"[/b]");b(/<(strong|b)>/gi,"[b]");b(/<\/(em|i)>/gi,"[/i]");b(/<(em|i)>/gi,"[i]");b(/<\/u>/gi,"[/u]");b(/(.*?)<\/span>/gi,"[u]$1[/u]");b(//gi,"[u]");b(/]*>/gi,"[quote]");b(/<\/blockquote>/gi,"[/quote]");b(/
/gi,"\n");b(//gi,"\n");b(/
/gi,"\n");b(/

/gi,"");b(/<\/p>/gi,"\n");b(/ |\u00a0/gi," ");b(/"/gi,'"');b(/</gi,"<");b(/>/gi,">");b(/&/gi,"&");return a},_punbb_bbcode2html:function(a){a=tinymce.trim(a);function b(c,d){a=a.replace(c,d)}b(/\n/gi,"
");b(/\[b\]/gi,"");b(/\[\/b\]/gi,"");b(/\[i\]/gi,"");b(/\[\/i\]/gi,"");b(/\[u\]/gi,"");b(/\[\/u\]/gi,"");b(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,'$2');b(/\[url\](.*?)\[\/url\]/gi,'$1');b(/\[img\](.*?)\[\/img\]/gi,'');b(/\[color=(.*?)\](.*?)\[\/color\]/gi,'$2');b(/\[code\](.*?)\[\/code\]/gi,'$1 ');b(/\[quote.*?\](.*?)\[\/quote\]/gi,'$1 ');return a}});tinymce.PluginManager.add("bbcode",tinymce.plugins.BBCodePlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js new file mode 100644 index 00000000..12cdacaa --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js @@ -0,0 +1,120 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.BBCodePlugin', { + init : function(ed, url) { + var t = this, dialect = ed.getParam('bbcode_dialect', 'punbb').toLowerCase(); + + ed.onBeforeSetContent.add(function(ed, o) { + o.content = t['_' + dialect + '_bbcode2html'](o.content); + }); + + ed.onPostProcess.add(function(ed, o) { + if (o.set) + o.content = t['_' + dialect + '_bbcode2html'](o.content); + + if (o.get) + o.content = t['_' + dialect + '_html2bbcode'](o.content); + }); + }, + + getInfo : function() { + return { + longname : 'BBCode Plugin', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/bbcode', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private methods + + // HTML -> BBCode in PunBB dialect + _punbb_html2bbcode : function(s) { + s = tinymce.trim(s); + + function rep(re, str) { + s = s.replace(re, str); + }; + + // example: to [b] + rep(/(.*?)<\/a>/gi,"[url=$1]$2[/url]"); + rep(/(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"); + rep(/(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"); + rep(/(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"); + rep(/(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"); + rep(/(.*?)<\/span>/gi,"[color=$1]$2[/color]"); + rep(/(.*?)<\/font>/gi,"[color=$1]$2[/color]"); + rep(/(.*?)<\/span>/gi,"[size=$1]$2[/size]"); + rep(/(.*?)<\/font>/gi,"$1"); + rep(//gi,"[img]$1[/img]"); + rep(/(.*?)<\/span>/gi,"[code]$1[/code]"); + rep(/(.*?)<\/span>/gi,"[quote]$1[/quote]"); + rep(/(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]"); + rep(/(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]"); + rep(/(.*?)<\/em>/gi,"[code][i]$1[/i][/code]"); + rep(/(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]"); + rep(/(.*?)<\/u>/gi,"[code][u]$1[/u][/code]"); + rep(/(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]"); + rep(/<\/(strong|b)>/gi,"[/b]"); + rep(/<(strong|b)>/gi,"[b]"); + rep(/<\/(em|i)>/gi,"[/i]"); + rep(/<(em|i)>/gi,"[i]"); + rep(/<\/u>/gi,"[/u]"); + rep(/(.*?)<\/span>/gi,"[u]$1[/u]"); + rep(//gi,"[u]"); + rep(/]*>/gi,"[quote]"); + rep(/<\/blockquote>/gi,"[/quote]"); + rep(/
/gi,"\n"); + rep(//gi,"\n"); + rep(/
/gi,"\n"); + rep(/

/gi,""); + rep(/<\/p>/gi,"\n"); + rep(/ |\u00a0/gi," "); + rep(/"/gi,"\""); + rep(/</gi,"<"); + rep(/>/gi,">"); + rep(/&/gi,"&"); + + return s; + }, + + // BBCode -> HTML from PunBB dialect + _punbb_bbcode2html : function(s) { + s = tinymce.trim(s); + + function rep(re, str) { + s = s.replace(re, str); + }; + + // example: [b] to + rep(/\n/gi,"
"); + rep(/\[b\]/gi,""); + rep(/\[\/b\]/gi,""); + rep(/\[i\]/gi,""); + rep(/\[\/i\]/gi,""); + rep(/\[u\]/gi,""); + rep(/\[\/u\]/gi,""); + rep(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,"$2"); + rep(/\[url\](.*?)\[\/url\]/gi,"$1"); + rep(/\[img\](.*?)\[\/img\]/gi,""); + rep(/\[color=(.*?)\](.*?)\[\/color\]/gi,"$2"); + rep(/\[code\](.*?)\[\/code\]/gi,"$1 "); + rep(/\[quote.*?\](.*?)\[\/quote\]/gi,"$1 "); + + return s; + } + }); + + // Register plugin + tinymce.PluginManager.add('bbcode', tinymce.plugins.BBCodePlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js new file mode 100644 index 00000000..af7ae544 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js @@ -0,0 +1 @@ +(function(){var a=tinymce.dom.Event,c=tinymce.each,b=tinymce.DOM;tinymce.create("tinymce.plugins.ContextMenu",{init:function(e){var h=this,f,d,i;h.editor=e;d=e.settings.contextmenu_never_use_native;h.onContextMenu=new tinymce.util.Dispatcher(this);f=e.onContextMenu.add(function(j,k){if((i!==0?i:k.ctrlKey)&&!d){return}a.cancel(k);if(k.target.nodeName=="IMG"){j.selection.select(k.target)}h._getMenu(j).showMenu(k.clientX||k.pageX,k.clientY||k.pageY);a.add(j.getDoc(),"click",function(l){g(j,l)});j.nodeChanged()});e.onRemove.add(function(){if(h._menu){h._menu.removeAll()}});function g(j,k){i=0;if(k&&k.button==2){i=k.ctrlKey;return}if(h._menu){h._menu.removeAll();h._menu.destroy();a.remove(j.getDoc(),"click",g)}}e.onMouseDown.add(g);e.onKeyDown.add(g);e.onKeyDown.add(function(j,k){if(k.shiftKey&&!k.ctrlKey&&!k.altKey&&k.keyCode===121){a.cancel(k);f(j,k)}})},getInfo:function(){return{longname:"Contextmenu",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/contextmenu",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_getMenu:function(e){var g=this,d=g._menu,j=e.selection,f=j.isCollapsed(),h=j.getNode()||e.getBody(),i,k;if(d){d.removeAll();d.destroy()}k=b.getPos(e.getContentAreaContainer());d=e.controlManager.createDropMenu("contextmenu",{offset_x:k.x+e.getParam("contextmenu_offset_x",0),offset_y:k.y+e.getParam("contextmenu_offset_y",0),constrain:1,keyboard_focus:true});g._menu=d;d.add({title:"advanced.cut_desc",icon:"cut",cmd:"Cut"}).setDisabled(f);d.add({title:"advanced.copy_desc",icon:"copy",cmd:"Copy"}).setDisabled(f);d.add({title:"advanced.paste_desc",icon:"paste",cmd:"Paste"});if((h.nodeName=="A"&&!e.dom.getAttrib(h,"name"))||!f){d.addSeparator();d.add({title:"advanced.link_desc",icon:"link",cmd:e.plugins.advlink?"mceAdvLink":"mceLink",ui:true});d.add({title:"advanced.unlink_desc",icon:"unlink",cmd:"UnLink"})}d.addSeparator();d.add({title:"advanced.image_desc",icon:"image",cmd:e.plugins.advimage?"mceAdvImage":"mceImage",ui:true});d.addSeparator();i=d.addMenu({title:"contextmenu.align"});i.add({title:"contextmenu.left",icon:"justifyleft",cmd:"JustifyLeft"});i.add({title:"contextmenu.center",icon:"justifycenter",cmd:"JustifyCenter"});i.add({title:"contextmenu.right",icon:"justifyright",cmd:"JustifyRight"});i.add({title:"contextmenu.full",icon:"justifyfull",cmd:"JustifyFull"});g.onContextMenu.dispatch(g,d,h,f);return d}});tinymce.PluginManager.add("contextmenu",tinymce.plugins.ContextMenu)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js new file mode 100644 index 00000000..2a916a39 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js @@ -0,0 +1,160 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var Event = tinymce.dom.Event, each = tinymce.each, DOM = tinymce.DOM; + + /** + * This plugin a context menu to TinyMCE editor instances. + * + * @class tinymce.plugins.ContextMenu + */ + tinymce.create('tinymce.plugins.ContextMenu', { + /** + * Initializes the plugin, this will be executed after the plugin has been created. + * This call is done before the editor instance has finished it's initialization so use the onInit event + * of the editor instance to intercept that event. + * + * @method init + * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in. + * @param {string} url Absolute URL to where the plugin is located. + */ + init : function(ed) { + var t = this, showMenu, contextmenuNeverUseNative, realCtrlKey; + + t.editor = ed; + + contextmenuNeverUseNative = ed.settings.contextmenu_never_use_native; + + /** + * This event gets fired when the context menu is shown. + * + * @event onContextMenu + * @param {tinymce.plugins.ContextMenu} sender Plugin instance sending the event. + * @param {tinymce.ui.DropMenu} menu Drop down menu to fill with more items if needed. + */ + t.onContextMenu = new tinymce.util.Dispatcher(this); + + showMenu = ed.onContextMenu.add(function(ed, e) { + // Block TinyMCE menu on ctrlKey and work around Safari issue + if ((realCtrlKey !== 0 ? realCtrlKey : e.ctrlKey) && !contextmenuNeverUseNative) + return; + + Event.cancel(e); + + // Select the image if it's clicked. WebKit would other wise expand the selection + if (e.target.nodeName == 'IMG') + ed.selection.select(e.target); + + t._getMenu(ed).showMenu(e.clientX || e.pageX, e.clientY || e.pageY); + Event.add(ed.getDoc(), 'click', function(e) { + hide(ed, e); + }); + + ed.nodeChanged(); + }); + + ed.onRemove.add(function() { + if (t._menu) + t._menu.removeAll(); + }); + + function hide(ed, e) { + realCtrlKey = 0; + + // Since the contextmenu event moves + // the selection we need to store it away + if (e && e.button == 2) { + realCtrlKey = e.ctrlKey; + return; + } + + if (t._menu) { + t._menu.removeAll(); + t._menu.destroy(); + Event.remove(ed.getDoc(), 'click', hide); + } + }; + + ed.onMouseDown.add(hide); + ed.onKeyDown.add(hide); + ed.onKeyDown.add(function(ed, e) { + if (e.shiftKey && !e.ctrlKey && !e.altKey && e.keyCode === 121) { + Event.cancel(e); + showMenu(ed, e); + } + }); + }, + + /** + * Returns information about the plugin as a name/value array. + * The current keys are longname, author, authorurl, infourl and version. + * + * @method getInfo + * @return {Object} Name/value array containing information about the plugin. + */ + getInfo : function() { + return { + longname : 'Contextmenu', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/contextmenu', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + _getMenu : function(ed) { + var t = this, m = t._menu, se = ed.selection, col = se.isCollapsed(), el = se.getNode() || ed.getBody(), am, p; + + if (m) { + m.removeAll(); + m.destroy(); + } + + p = DOM.getPos(ed.getContentAreaContainer()); + + m = ed.controlManager.createDropMenu('contextmenu', { + offset_x : p.x + ed.getParam('contextmenu_offset_x', 0), + offset_y : p.y + ed.getParam('contextmenu_offset_y', 0), + constrain : 1, + keyboard_focus: true + }); + + t._menu = m; + + m.add({title : 'advanced.cut_desc', icon : 'cut', cmd : 'Cut'}).setDisabled(col); + m.add({title : 'advanced.copy_desc', icon : 'copy', cmd : 'Copy'}).setDisabled(col); + m.add({title : 'advanced.paste_desc', icon : 'paste', cmd : 'Paste'}); + + if ((el.nodeName == 'A' && !ed.dom.getAttrib(el, 'name')) || !col) { + m.addSeparator(); + m.add({title : 'advanced.link_desc', icon : 'link', cmd : ed.plugins.advlink ? 'mceAdvLink' : 'mceLink', ui : true}); + m.add({title : 'advanced.unlink_desc', icon : 'unlink', cmd : 'UnLink'}); + } + + m.addSeparator(); + m.add({title : 'advanced.image_desc', icon : 'image', cmd : ed.plugins.advimage ? 'mceAdvImage' : 'mceImage', ui : true}); + + m.addSeparator(); + am = m.addMenu({title : 'contextmenu.align'}); + am.add({title : 'contextmenu.left', icon : 'justifyleft', cmd : 'JustifyLeft'}); + am.add({title : 'contextmenu.center', icon : 'justifycenter', cmd : 'JustifyCenter'}); + am.add({title : 'contextmenu.right', icon : 'justifyright', cmd : 'JustifyRight'}); + am.add({title : 'contextmenu.full', icon : 'justifyfull', cmd : 'JustifyFull'}); + + t.onContextMenu.dispatch(t, m, el, col); + + return m; + } + }); + + // Register plugin + tinymce.PluginManager.add('contextmenu', tinymce.plugins.ContextMenu); +})(); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/directionality/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/directionality/editor_plugin.js new file mode 100644 index 00000000..bce8e739 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/directionality/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.Directionality",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceDirectionLTR",function(){var d=a.dom.getParent(a.selection.getNode(),a.dom.isBlock);if(d){if(a.dom.getAttrib(d,"dir")!="ltr"){a.dom.setAttrib(d,"dir","ltr")}else{a.dom.setAttrib(d,"dir","")}}a.nodeChanged()});a.addCommand("mceDirectionRTL",function(){var d=a.dom.getParent(a.selection.getNode(),a.dom.isBlock);if(d){if(a.dom.getAttrib(d,"dir")!="rtl"){a.dom.setAttrib(d,"dir","rtl")}else{a.dom.setAttrib(d,"dir","")}}a.nodeChanged()});a.addButton("ltr",{title:"directionality.ltr_desc",cmd:"mceDirectionLTR"});a.addButton("rtl",{title:"directionality.rtl_desc",cmd:"mceDirectionRTL"});a.onNodeChange.add(c._nodeChange,c)},getInfo:function(){return{longname:"Directionality",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/directionality",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_nodeChange:function(b,a,e){var d=b.dom,c;e=d.getParent(e,d.isBlock);if(!e){a.setDisabled("ltr",1);a.setDisabled("rtl",1);return}c=d.getAttrib(e,"dir");a.setActive("ltr",c=="ltr");a.setDisabled("ltr",0);a.setActive("rtl",c=="rtl");a.setDisabled("rtl",0)}});tinymce.PluginManager.add("directionality",tinymce.plugins.Directionality)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js new file mode 100644 index 00000000..205d02cd --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js @@ -0,0 +1,82 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.Directionality', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + ed.addCommand('mceDirectionLTR', function() { + var e = ed.dom.getParent(ed.selection.getNode(), ed.dom.isBlock); + + if (e) { + if (ed.dom.getAttrib(e, "dir") != "ltr") + ed.dom.setAttrib(e, "dir", "ltr"); + else + ed.dom.setAttrib(e, "dir", ""); + } + + ed.nodeChanged(); + }); + + ed.addCommand('mceDirectionRTL', function() { + var e = ed.dom.getParent(ed.selection.getNode(), ed.dom.isBlock); + + if (e) { + if (ed.dom.getAttrib(e, "dir") != "rtl") + ed.dom.setAttrib(e, "dir", "rtl"); + else + ed.dom.setAttrib(e, "dir", ""); + } + + ed.nodeChanged(); + }); + + ed.addButton('ltr', {title : 'directionality.ltr_desc', cmd : 'mceDirectionLTR'}); + ed.addButton('rtl', {title : 'directionality.rtl_desc', cmd : 'mceDirectionRTL'}); + + ed.onNodeChange.add(t._nodeChange, t); + }, + + getInfo : function() { + return { + longname : 'Directionality', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/directionality', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private methods + + _nodeChange : function(ed, cm, n) { + var dom = ed.dom, dir; + + n = dom.getParent(n, dom.isBlock); + if (!n) { + cm.setDisabled('ltr', 1); + cm.setDisabled('rtl', 1); + return; + } + + dir = dom.getAttrib(n, 'dir'); + cm.setActive('ltr', dir == "ltr"); + cm.setDisabled('ltr', 0); + cm.setActive('rtl', dir == "rtl"); + cm.setDisabled('rtl', 0); + } + }); + + // Register plugin + tinymce.PluginManager.add('directionality', tinymce.plugins.Directionality); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/editor_plugin.js new file mode 100644 index 00000000..dbdd8ffb --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/editor_plugin.js @@ -0,0 +1 @@ +(function(a){a.create("tinymce.plugins.EmotionsPlugin",{init:function(b,c){b.addCommand("mceEmotion",function(){b.windowManager.open({file:c+"/emotions.htm",width:250+parseInt(b.getLang("emotions.delta_width",0)),height:160+parseInt(b.getLang("emotions.delta_height",0)),inline:1},{plugin_url:c})});b.addButton("emotions",{title:"emotions.emotions_desc",cmd:"mceEmotion"})},getInfo:function(){return{longname:"Emotions",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/emotions",version:a.majorVersion+"."+a.minorVersion}}});a.PluginManager.add("emotions",a.plugins.EmotionsPlugin)})(tinymce); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js new file mode 100644 index 00000000..aeee199d --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js @@ -0,0 +1,43 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function(tinymce) { + tinymce.create('tinymce.plugins.EmotionsPlugin', { + init : function(ed, url) { + // Register commands + ed.addCommand('mceEmotion', function() { + ed.windowManager.open({ + file : url + '/emotions.htm', + width : 250 + parseInt(ed.getLang('emotions.delta_width', 0)), + height : 160 + parseInt(ed.getLang('emotions.delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + // Register buttons + ed.addButton('emotions', {title : 'emotions.emotions_desc', cmd : 'mceEmotion'}); + }, + + getInfo : function() { + return { + longname : 'Emotions', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/emotions', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('emotions', tinymce.plugins.EmotionsPlugin); +})(tinymce); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/emotions.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/emotions.htm new file mode 100644 index 00000000..4ab6b945 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/emotions.htm @@ -0,0 +1,41 @@ + + + + {#emotions_dlg.title} + + + + + +

+
{#emotions_dlg.title}:

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
{#emotions_dlg.cool}{#emotions_dlg.cry}{#emotions_dlg.embarassed}{#emotions_dlg.foot_in_mouth}
{#emotions_dlg.frown}{#emotions_dlg.innocent}{#emotions_dlg.kiss}{#emotions_dlg.laughing}
{#emotions_dlg.money_mouth}{#emotions_dlg.sealed}{#emotions_dlg.smile}{#emotions_dlg.surprised}
{#emotions_dlg.tongue-out}{#emotions_dlg.undecided}{#emotions_dlg.wink}{#emotions_dlg.yell}
+
+ + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.gif new file mode 100644 index 0000000000000000000000000000000000000000..ba90cc36fb0415d0273d1cd206bff63fd9c91fde GIT binary patch literal 354 zcmV-o0iFIwNk%w1VG;lm0Mr!#3ke00dJfFY%i+lrhK7V(RutUQJhPY;?(XfrsZKgL z7WLQ^zPO&zzav{)SL^9nBOw~z(=orMEH5uC-P_gr`uhCnASMa|$-iRw?m_(dUwU8) zq>Kx}s1_F$4FCWDA^8LW0018VEC2ui01^Na000Hw;3tYzX_jM3Qpv$_M?zI9i5=0S zX-{-uv=l3%&P0s%m9Ox_a(m_c|u z01g3U0`Wll5)poVdma=N8y<3f0Sf~hXmTC}2oxMW4FdxUj+z4<0}lrX2nP=qkDRIt z9Ge*(qzMrj3jrIOjvI{`5eWzt3`G_T8yChG8w(a19SkK12@M(+799Zr9n=~PzBCmA z5)BU-)YKUd4H5!D9|!^o9kWIe9SH(WDHRk92}DZ?3})2$P@$55g90f0N)ZA8JID5J Aw*UYD literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.png new file mode 100644 index 0000000000000000000000000000000000000000..4e3fd2fa433d8c627373ea8232997e52af2cf34e GIT binary patch literal 1054 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QWgPm>B|mLR`5yStnNUojG&*;Ys1P zww9PMkvo@cHqQ`!_wMb!m3~$hVqb5F?AtN#;(q1m=GM{eRpp)+iWfWdJw6~M t+4@gyVz|#4&g(w^D_`ocMcP-^GF&_*&TDh&s4pl6JYD@<);T3K0RWf_tGfUI literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.gif new file mode 100644 index 0000000000000000000000000000000000000000..74d897a4f6d22e814e2b054e98b8a75fb464b4be GIT binary patch literal 329 zcmV-P0k-}}Nk%w1VG;lm0Mr-&E)xPSit@9T3%;vR+|V+?t0A(pllJjXrMl7n=_A_a za^B+Su$LjvyC3@TIQZNZa##w=!k(SO^P#bO*w(eU#;{U83XFCU_V)J5wrb+;g2vkN z#>U24qVoOvY5)KLA^8LW0018VEC2ui01^Na000HX;3tY$X_jM3QUfCh%s^o(nF++< zc?Th6v=oL>*by8K!mhvwelUXuuW&&U9iGO3hM@>Njw{l^#0q9mWpcefdI;O$;efnY zkd~@r-o$*74FCWI1%d((4+jDz0va0>69^fI6%`W{8w!gU1pyL>prH>E0R<%k6Aq%H z4ij+^9TEwM5P}eh2@)L<~6+>@EpxfA0YrcPNsSu literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.png new file mode 100644 index 0000000000000000000000000000000000000000..c4f74a8210bb87688e929a2957ed365c533a0f25 GIT binary patch literal 1039 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QWgPm>B|mLR|HPne@6oZJx%xZ*{<( z3q}W5D{k66`P)bTrMoWvd#QZuS<$^m&o@k0JilB1*GG#VcSMUKxK16KH}~-8g&V7H zT-&|~RAaAy`FsCT!u78o+TWj1nSA7p@W02hXKt6w zpL=@WXZMfKn7R@Qq~*JeJ6IMeFwI<^6wi_1Q$hUA#FFP8nP{8D-|Ywz7_|1A7jw_UBD)q1mT>H0;b+xFW< zulbsEX6dyX^TI<|uoTp0=H3k4io*_%XT8 h{`;dZtCu`((|>F$D!zR6r5~Um_jL7hS?83{1OUUBwp;)J literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif new file mode 100644 index 0000000000000000000000000000000000000000..963a96b8a7593b1d8bcbab073abe5ee4e539dbf6 GIT binary patch literal 331 zcmV-R0kr-{Nk%w1VG;lm0MrryDh>j~yq&6%75dW~z^P39(NxsGDE{UkxtkIEq(S-a zRKlwv+S=Lr?>hbYY~sQ?c3T&ZcN_Nh_EU3s(>Io6B&>WW`@bsw**)Ocy1bht z{*G6|uwwqUQ2+n{A^8LW0018VEC2ui01^Na000HZ;3tYwX_jM3YQ!c88=*-m*&&bO zILd=`w3KAC;8hxpif*w9ek6oqV-Z0L77fROK$BQWgPm>B|mLR_`@n2zk3yK187uglU0 zR{H$87;pKfUC5!;inngv{Po`I@6Vh^hpft?#rw;pzkT}_VZndw z*s+I~&8MZPtf|rXyA{}Y(MF)uY|H+-gJG>r5!UZlb2|DF^S9+OY@fDe3F||JTdpF*e02~YHkY3&r{Rl zo}HPoaH6wLs^1ySsZ9}69~H=)KfX3z?%w(rQ`#PX{gi!w{l2-)L4Q?cTQWarW!262 z^0RNl8Z*hs^RgXZNwG?NEMs-&xKt;f;S!c0qj_Ry@(s<`w`P7*2p3++oYkmzqCQ^e eo$kZi580p06g9g&aeXu>#64a8T-G@yGywp5=&Q~E literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif new file mode 100644 index 0000000000000000000000000000000000000000..c7cf1011dad0e7500e29a278b0d395b253871109 GIT binary patch literal 342 zcmV-c0jd5+Nk%w1VG;lm0Q4UKxtkou#>SR@5BAv-%C>6y>>#+D4e#&nz^qMDItlpp zTG728+|V&?R13PIEBW(C`uh6d*t-1sZ^XQv;oDD}iYLOV7uVO;{`xl4#4tJ{0;h@! z>)kdc3IhA?Hvj+tA^8La0018VEC2ui01^Na06+!P;3tYuX_ljS7!u|-O)I}TzP1q%xT4HOFwMJaO;2ml)!00$)141pU08x3594IX?4 o5YuAA8yXz~76K1c;3^jg77WP185Rf^u}23N0sR5^q(T4yJ1sVN5dZ)H literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.png new file mode 100644 index 0000000000000000000000000000000000000000..2da2197d66479e014584e2454e158d17ca393d52 GIT binary patch literal 1045 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QWgPm>B|mLR@#wmN|Cp*t9zSZ#RWb zZOi)gMq$Ss-uLg{9a!TVWX1X8Thzt9a(6Bm=7wRZaK^p=ssu9*e z$6fGraSW-LV>=;|@2~<7tENf9nP(GPRJr&5*Y%!Orcz&#;{7dozHrqJsj``ZH?|o{ zyj=c5_qEL9n5VPzmex2$e5+;jiJRMX;KujIVJHeDtdJ(e_-Dc4xMR_ zzQkrU&PbB*y7+5dL#&3R_xyt90zZz%Pl3%p1pSU~i0v&Yx~ep%J7M;XAJ6)nt*+~6 zxCJ{E&sh^A?GtS8)abZ&`_~7Z?95%izTTA9X*Rrb_E`F^x-%1U9C%C}!~BIRndVPw j*Su`6KQ(^tnss~j-INjaY2*C$2^8?2u6{1-oD!M<1Z1ic literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.gif new file mode 100644 index 0000000000000000000000000000000000000000..716f55e161bfebb1c3d34f0b0f40c177fc82c30b GIT binary patch literal 340 zcmV-a0jvH;Nk%w1VG;lm0MroxK_>;q#>Sw62=mns-On=0wransPVevT^YK{Dy(0YY zH)vE6x0?;Wqb>gZas1^OT0si>`ugD5y87}*#H$s=yq(wA*8cf7{`y+(+9J7|9QfT7 z`ROHiU=Y&6FaQ7mA^8LW0018VEC2ui01^Na000Hi;3tYvX_jM3N`@u~nju9hSuh^r zIEcp-wA7(NL0~2d#RP+(G!CPPA>o*KJjv_CkucCA5=K?AfF#RG2V*8BU@jL304|4P z2;PGRF@bj$et;Jf2pR_mVsIA<85|n}kQ*Bq42Ovqj*yy>6P0=h3X&9Z01yyk~2N4w%7#RW^55W%`0vQ+-6(y_*2pqz~90*;x9}yM}%$UI(7t#$D mK_3Se1{4HKM+6iG7EmeH6$V631{L5n)#CyC0qx-*Apkoyg?w!Q literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.png new file mode 100644 index 0000000000000000000000000000000000000000..801c3688c1d9f3d25f001dc20d0b04c3f4360db9 GIT binary patch literal 1046 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QWgPm>B|mLR=lyS&tn%wxEgQ^Hu)4 z=Z#Kn%i6!n@BRCCpFc*N+pF~Fy?I86(DvE9`xoo}`&;y!JD z)uKoC%)Ng7+P|OX|9(ZiyQQ>qw#<*aB0pcMRwM{qI%M$w|9_x$qhK@y25kuN97%r) zblgQx7srr_Ikpqt_O&SRxb8kRrJr$$7~|2zd;fLAFWjAcN8Z+R^0!0Vo%xd+62okk zy*x1WpUB>v;Crjn;!Ct&F4D^35f`2NrYoR2@9d0gH?o)LU&ykZU2b6e=B<~5hSxd9 zcOs1}p91E5eqP&tRnakOezDo_$mf;ow%%~>-5I=dwe!rVWCo6n*IIuoaRuwPoL6sH z>$ZU9R?^MoyJD_n>KE?ro3P^QP9DFdftN~ai=v)-&x_2Qp7Cdf0heB@>k*atYM0vd m+}fiT{oj}JYo|xim#^G`sbc<<#k%%`Lf+HW&t;ucLK6U~H?nI0 literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif new file mode 100644 index 0000000000000000000000000000000000000000..334d49e0e60f2997c9ba24071764f95d9e08a5cc GIT binary patch literal 336 zcmV-W0k8f?Nk%w1VG;lm0MrryI4TI-%dP0m5~*+Y`T~ z7Rth){q{I_X%*S48uRZ|(b3V&wIKTX`u+WJzo<^$#wuY;3W|Cf{O29IkTAcaE&lpe z+P*^H)-tknA^-pYA^8LW0018VEC2ui01^Na000He;3tYwX_n)75QgVvNQ`6#5gcMm zEEG~blgXokptKAJgCU?%JT?yos!R6cPtcQWh2siHlNI2L}ifQhgX02^InZ2?-ktkqVRyZJY^Trk|lv zovp437?1~d46O)?2(1i+2NDYk8<+_Kil!K!3njA^!I#dL8x<729}*B65mC=m5gHH@ iDi9P3f*VjB3KS4HDb_qqRul{0DIQWgPm>B|mLR>AhIPRQY`{Jz7%0jl& z8+*^4i#j+t^!?j6oBR2G-WJ}!RP5BD1%JO;lxK?GTrKtaeaOX&7td@}`1R}8-@k?X zSNPpKrj_W;)m0_+=eg{z2?qNY>;C%{c59#0{cA>>N|pZq{|~fo6pV(zpbde4CaIl3 z$6fSvaSW-LV>{tuUyA~dt79ye=<(HEZ~9m0Ovt_HGRDN?YP|?b`vKPeQ)uKKHDD{A}&>;4X!)^S}T5`qcKc z0@L-R|3|}KUu)K4XS}h$v#`2JfaS&ATWgo4JTj3CZacJY&wJs0bzN(IPJHLO&iSQ8 zX?;$rK;qF!Ju{QuWUqX1tDnKnt4f32SwMHko0EKrC)35Ngn4C>mjT=Nk%w1VG;lm0Mrx!QauaC#>Vb6G=_5=^YB^9wrc376Sb5I-qJGf@9vZ# z5WlKU(!eVB+7tfnDXp0zyB`?BZ5IChalob*`uh6d*t+@dKGHcU+L|83yq*5~IoH?L zy`?Gp<{bX|SpWb4A^8LW0018VEC2ui01^Na000Hg;3tYyX_jM3R?Bl7&r(q;SsVx< zNd$5fv{ZsKA$SlL3&KN~a1tZRf*~1Ltkx9~2uL3&z-yb0WJDRY082|tP literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-kiss.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-kiss.png new file mode 100644 index 0000000000000000000000000000000000000000..c38270d7a5598493e032fa41b5a672cbc2fe5f29 GIT binary patch literal 1047 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QWgPm>B|mLR^DvxsM$?_Rhqltyt#s zhsaagvR*6~-a3Wr-X){=@83;P6xhGY@6rLS@3(~iz0+JfQ)#!n#GzcVe}4-PEEE6r z>(_%DyMDg2yJV?(YnI%RJ#+v4vb=u%+TNv_zn{tc`xW{B|9_x$qhK@y25ktO`MBd2 z&~cYMT^vIy=Gac?&O5BY;~Ke;IZ1)H%;WIkzyJ5oIk`zzQbqpcp_s2TFPy!);`Eyh zQM(WM)pyOiHgitzX8&KI`xYmLcO^I9^>-E6q_@lCrA&ieSJ~{>x2^|0S#|T>5)PU2 zwIOT0UY_Igs5B|vwl&N0>VojNXDud=SZ_x!{UMuvm& o2wNq!Z@yR`x38A-Y<%Tkh6z{1qf`YCwSa=&)78&qol`;+0BT~jtpET3 literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif new file mode 100644 index 0000000000000000000000000000000000000000..82c5b182e61d32bd394acae551eff180f1eebd26 GIT binary patch literal 343 zcmV-d0jT~*Nk%w1VG;lm0Q4UK!lp8=s;1-69HWK?p_PpF=Pd8QWgPm>B|mLR=3mGg`N5+2ac`i`&>1 zPVM>nT<87!cl%fQ6~%dc{t$U-pZwv~QYVfd%?cJevS;qM8v?&Rxj(qEYx`{BU%!6+ z`&;<;n|ViR)Qzi`cg@#3wJq!3C8Nq@;j4!YgKT;K{f_$o|3A>WQ7{?;gEjy`%d!4cIy}at{u619-f-~KjOJAIN^!xe4z2&Sk|61&KiTnJ*vN>=| z!qvF6MUi_}?}$<5*|DlWFy+fGD}$1);!kxR8!ALEZ~4{FG{bqVqH;&&v=P0uw(!L literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif new file mode 100644 index 0000000000000000000000000000000000000000..ca2451e102722e12e131ae53ea76989acbf191e2 GIT binary patch literal 321 zcmV-H0lxl6Nk%w1VG;lm0Mrx!DHsO6wwjoX9Kxs~!mLsE+7oVAHu>~Ygtcnp*fHAL z**;z>w3iC}`fmL6IkKB1N;3zEa}&zKpsu1;_V)HocR5-{J~BcYvE`YXhBnc@CfU=! za(Ec zG>66zv=rqr;2j)}gKqE$ekcSD?}0=WLB?AWp85)qALnua#fz9!kzzjAm7B$9p=!otF_aiao%OSb_( z0002KNklNLxEBOc`47^Wt;1_Unkdz{H z=$}$5oonS@NH3*=mAN(MilV1d>XoG#!nIo+=uv80;L$v4ITVy4M_6L>;7F$A>@z|1 zU=~yMu03E0!Gp_CZ3@PB7z&wNzIwP2Wc2p!{yDfeZ~sIVSm)IaOpH%ciTW$&Q{{E* zl+>nAxaGXh^PaZ}llmXi$1CqfMynZ{NVn|VlK$^Y(~ps^9sUBXLKG^}9iL4A0000< KMNUMnLSTZTVWlkq literal 929 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl4m>B|mLR>v_r+Vg2@yMR!l{eKr zv)`w5u6N-~&%CMLg){tXm;2W)3u;^)P`li(a*PXTLT@s6;c#rIPhWwcc~4@+qPpW{ad+P=4)6X4oXy{bw2>K^d$ z@6ERvva+(4ib~41YUkTEn1&#?rzrOHT>1I=Y*h`+%*@WtPUPg|!@EEI_d5LgZ>^Og z-qyBKJqy*wF8}}lA^8La0018VEC2ui01^Na06+!6;3tYxX_lj?7+U61R3gAaEg8x< zT>%mSfCwURnWQF&g=Q0ZxH1ulW`QtH0>O!5%iT_X0VBy_@EkOngU8?ye~=H!t21{= z9@Uj3a_UbE88~kh5Eq7rh!7QSBn1c?0|Off1&k^`5*QE<4-gmQWgPm>B|mLR=5565qFD{dL{Sa!~3(_B{yx_G_A|))V8eWw@qiXDQsV^@$E~@&!0bY zLV3@eIdkru-;*a#4)3=A``zl#ul%)BmF`{J7G%qP^_c$u|Nnv3je^k-7_=cUX-~%; zpyT#?x;TbZ%(0ztdsDLkhwH~nQ<`%*70raQfBmnI?6q7cnU-K{u;F3#f?g{JQ}dYi z#G|wSY1i&7I{!27j<>%nQ{u-nb({(%8b>wPA4*fR^Is8vq5t%;r8A};ns(RSabk1i zopW40Tu;i9ZDreTKsXmeDeM8z8iNeG@Pr|5ocj7vgw7#)WFt>4%Pxo+qg=8 z3v$*b;yQzBD;>(X8wII{xC} Tdo6d1gTmR<)z4*}Q$iB}rbDJr literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif new file mode 100644 index 0000000000000000000000000000000000000000..fd27edfaaa29a70a8c4563c0eab9f18c74d374fd GIT binary patch literal 344 zcmV-e0jK^)Nk%w1VG;lm0Q4UKd0-C4#>SR<4C>Dj%C>6W(lWoQPVevT^YB^Fy&h6M z4YZgH{O~qtR1(Ci8T;lQ`uh6d*t-7xar*K{#Jrulo-Wtd*44u?{`oh#n;gQXGXDEo z_}UUC3IeK%0ssI2A^8La0018VEC2ui01^Na06+!R;3tYuX_ljSEE482&%+G^XK%|f zLKbCc4u{4-u|QG~LqamSTo?@JM3OKZAr!|Z2IzP@fY`=CIg$vA3qm46TowfLCt29I z6pDKuvnf~)83+sm9yW#?9s>^(89F=~2?!W44-6Ox2^vNza}fp^9v&G65pp936%Gg+ z6HpTy2o4oGoh+>l3Q)KVQwybl2oo*<4a3D469|nfEii|MH4`}p1_cZp0ssj%2>=2d q41Na?)CpS;4gvxWVpZcR76uLludD?Q1{SnP2NnVU0rZ&)0RTIit8@_n literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.png new file mode 100644 index 0000000000000000000000000000000000000000..1ec09f8859aa64128c6cf087ec46232477efa94a GIT binary patch literal 1045 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QWgPm>B|mLR>2o_>LVrHm!>1)p@~F z+p_LmGTOh&@BRCCpFc!i*ee%g%e!R;&z}!w86iSPR!jbVCim;tuLn1F{rg+^>y!JD zJ#%->)4P8C+SS8`|9+b9oGo)`nbE)BQ9o`8sc|u_>SFr;|3A>WQ7{?;gEj;*A1?}S!#cz^%cvqFy`Q; ztfC*@b$$PEo8f);?c0J}zQuX7VvN~Dx4(XzSrYFVIotTt-{T#56N6F;C9ZDo-0}G3 mozChf|M!Lb$#g0G{+03Yak0m$UzKt|0q^PR=d#Wzp$PyR3ARW8 literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif new file mode 100644 index 0000000000000000000000000000000000000000..0cc9bb71cca4cdeafbb248ce7e07c3708c1cbd64 GIT binary patch literal 338 zcmV-Y0j>T=Nk%w1VG;lm0Q4UK`{WwN#>SnDDC*4*{OcpiwransPVevTQacIr@mkQp zCf(06s)_=>r7UYx48o@u`uh6d*t-7rH~ji<`P&oj;5Wp)o!8ga`SV6TA_BIW5#ZWV z{`*)c32kA}f=futY?#YE7kxGD|7L}4&OEDw$hkm+~<00QS>F_H?J#bz?uEHnl42f5(9 z5O)`6Q9V2o5;YVLUK)Y`7!Nr+4GMq?85s%^2?`BGDRU798Vn2?1`%>22R{iO0u>bk z9tlA?nk*O<3zHJH6&Mp5qALj)E(mxM!Y&vII4dm@1Ov{`f*8pL3xPEVUI>D>1_uxa kNm?`6VH{N6Di;P13m6<67z+;u7qCYM7XkVK^`jvGJD~P?KL7v# literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.png new file mode 100644 index 0000000000000000000000000000000000000000..dfc27453638a31c57f6ffc61a77fdb31169bbfb7 GIT binary patch literal 1044 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QWgPm>B|mLR^18kvewl*xVkCS7-VE zyjDK7Eo=WOzxVIo1zB@`{up)PfZE;jMytA*_AS-P4(2(uT>RIsUk`5V`uE-Z&#(NS zw}sz5Fh8~Q)2|3A>WQ7{?;gEj<8*YjKi zI_|uui(^Q|9NP;QCp9bZuwJ;b)p5ZL36}{@zyH_o47`1BCQpGHzv2hGL-XhGTcjTR zRS^>N!@FkvKgq|JuUp5bFx|X9;nIgqB4-?X^!OAzml(LT|6z;E(m81@_&%t!G%?|e zZ_2!NS#pv-TU}FTt<%~jwN&GlVZXuo*Sogq_tvLRIpvt*y8cS_Rc0>Dh4vY*YA-q4 zNImGi#j)Z0J;q~hv-uJ)tUP;b>7xr9{N^`re)R2bXQ|@npT~QicxN9KPWyb*<(`26 l>m8&2-%>yMPCmPHeSM&fn7O=h+B;CVd%F6$taD0e0svKQvpE0& literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif new file mode 100644 index 0000000000000000000000000000000000000000..2075dc16058f1f17912167675ce5cfb9986fc71d GIT binary patch literal 328 zcmV-O0k{4~Nk%w1VG;lm0Mrx!CJF+^#>SU@3-{U*rx+Q^wrc$ABfqLn@9*x?z8(4X zSW-O=@){bmmI~g|GQXoP);cvj3|f1M8e@{G*!tYaiCEujj1NGxRN#6#tiCETo+{x{Hkzt z5k-kPvcD=V2nbmjCgL6k{uF&2nP-t0s;w<385Nx2oxDb z9T5Pp7qJl?3Kkh9oe2sCr5F$p7zPSlsUH*@54w*83=9Or4;w)r2pcU95(FL|1Th;< aDaRQH4;Tal7#Y$v#?=Au0pHUfApkpvZg^t= literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.png new file mode 100644 index 0000000000000000000000000000000000000000..07545790811368dbae1ee85d3057881fdf517dfb GIT binary patch literal 1037 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QWgPm>B|mLR{6jn2sGgHocbn`z@j6 z5|XF3W&L@rynmJ7`}glI?UViaH6qBC_mh;==4o8_E*b4#tar`IDlbCt_b0c1e+z&8 z`t{((u6>Inqu80Y>8l^vGxzUT^Xu2IT|I30^?}l_ppgIn{{yWX1*0J_XhT4sKUS#pGFicKJc^;|YAm%@z6v zpZz}`7WeAxs{gRkfFp2?faif_5;0v%S4(=yd> zz7pc-tGd2+{qNk%w1VG;lm0MroxDi#99#>R?y8~4}{%C>6#>?OadPVevTr-=vi@LATn z4rERY-qJF+n+?CCE&B3D{{3Shh?>WT0o%`b%*Voqm`dL;(4F35y zc485^n;g!+Bme*aA^8LW0018VEC2ui01^Na000Hf;3tYvX_jM3N=AnuogqakNi<9X zK?&0kwA8^tNn{?C$|IAYI1ZzT!2>}iuMddFK#NEkRl!7%6brJAnUs;)XcnA}TNBSP zxQ9;SvEfwYeSaGd2^|LqU~(QF1qBxr3Ii7x84ZVt8wCTKoSYAqc?p`G2onnpk`IOl z1`HLGj}riN2p1K12N4z&8IBDc6tEWs859;JtRB6>lf+xO9}yT19toMv8wnl`7(pKg j7zPv!OGgY81{hE&(iR3pP6ig;HPPS!_yOwPA0Yrc)=Yf3 literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.png new file mode 100644 index 0000000000000000000000000000000000000000..3e88c5afe966b81fbd0679cb66f85c639935d915 GIT binary patch literal 1044 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QWgPm>B|mLR_`Pn2sGg)>SF}{f5A) zZCQWcsP13o_x}C6<(=%GKSW;J#h2p8bMKPT_SwAq7wi7|rlxuSLN)NKDavA=!RRQPX);^mDTW>4olUUMz? z%tSn03F^-g-qAA3wransPV?|t@9*x%vmQ`7 z4E*pcw3rOOq%3t@4*K#({N^40{c-yG`rz2Q!KfI-yq*61HrBop*VoqW<}&{JS@_x# zwwfF$4Fdh~IsgCwA^8La0018VEC2ui01^Na06+!X;3tYwX_ljiFp=e23$zWxW@`*G zN?2ty6iUNT!AMdPLn89QWgPm>B|mLR>E%(mZzT*xY)~SLX%q zT{JqiEo=WOzt0~c-@ku%e6w7D70;g!I$LJ&>|3H!8pHSNllz}%vj6@T{`&Rn!Hr!9 zS4bS$Gxy&gvupc=u3x|Q?wQfQUy(m<32mDtqruDc_oLPS|Nnv3je^k-7`!3ysD2sH zaaTQE978JR*iN`TsYQXuW%B`+3Dquajx+!NKkYjA?&oXEwL<5%ooB7x$$Tg6X!Azq z@L$1SHaRU*X|27uc*^Nbt%gpMZ?5zfd}VS}fF)52p)Gisj^RZGLJ~ z8aXX!mIG7iiGZ@b(;wApI?8cP@l8!idcNoTy*G=~>K@p}yqeH<`*?)h;nI$zl4tk# z?zesIynyLeQTN69!t%+dZ|f`+nAJJUP}Y|@#N>83d(jMuvlAX@-L(%pqqIfL<=Coy r-dA{I&+%>d`d_{Bm+{J1_g;%%ViOnV*mQX{DD*vD{an^LB{Ts55k9l# literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.gif new file mode 100644 index 0000000000000000000000000000000000000000..648e6e879123fe49beebbc1f3635141864a79a9c GIT binary patch literal 336 zcmV-W0k8f?Nk%w1VG;lm0MrryG8O{K#>IbS7WCB_mWF$+hzY-{PWkp(?(Xf;zbH~P z3jOdj?W+^YwrakfE8fyG&5jTBz!3WS`fgM_;MltQ+c}4GO8)(E`S3`@yq&d~5!ct& z)v79NObo)O7XSbNA^8LW0018VEC2ui01^Na000He;3tYwX_jM3QifI(nn6h_*=Wyk zUB{y}v=qYOIUF#R3dZPhAVv~H;(|a2yN_5FH&J0|$eJ3kw4gj1Y?v5d#>LMV12^6BYy$1)ZKA zga!|m2?POz0R)f>4+aPl8KD{gz`+G_9vLMFQU?RU!8uyH9}*i52|cC+7S0YEK_3Vk i1|APfM-Ltb8&4_H83sg61{vHn(cc000qNZzApkpQWgPm>B|mLR^i+m`)x$TAwQR<*MYg zw(7MVocmY#{rndB?%msq`!#}0xc+`HdAnNp)V8dB^R(|>GCteK|K)(duV26NLTnz~ z*!AnSWqYyLzrTe)KX@G3Gk5Du!RyzrU0tP> zh9L&Kf0*2xon9izZR*w6f84I`a^Z@<6E}ah@O^A?-faGo7i)CiZ>{IwyfsqVv0&Qo zz7?;p?qWzu$<96+BPsLhTAxC~7IW4Vh0N>W=OwP~i=X{N>w3Sa$rkqFfE8bI7v((& lwap3r_j}Q;ts%R9{bIH?74433d}ay?c~4hAmvv4FO#p%>u=oG~ literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/js/emotions.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/js/emotions.js new file mode 100644 index 00000000..e5c950fc --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/js/emotions.js @@ -0,0 +1,22 @@ +tinyMCEPopup.requireLangPack(); + +var EmotionsDialog = { + init : function(ed) { + tinyMCEPopup.resizeToInnerSize(); + }, + + insert : function(file, title) { + var ed = tinyMCEPopup.editor, dom = ed.dom; + + tinyMCEPopup.execCommand('mceInsertContent', false, dom.createHTML('img', { + src : tinyMCEPopup.getWindowArg('plugin_url') + '/img/' + file, + alt : ed.getLang(title), + title : ed.getLang(title), + border : 0 + })); + + tinyMCEPopup.close(); + } +}; + +tinyMCEPopup.onInit.add(EmotionsDialog.init, EmotionsDialog); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js new file mode 100644 index 00000000..f6d5f4ba --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js @@ -0,0 +1,20 @@ +tinyMCE.addI18n('en.emotions_dlg',{ +title:"Insert emotion", +desc:"Emotions", +cool:"Cool", +cry:"Cry", +embarassed:"Embarassed", +foot_in_mouth:"Foot in mouth", +frown:"Frown", +innocent:"Innocent", +kiss:"Kiss", +laughing:"Laughing", +money_mouth:"Money mouth", +sealed:"Sealed", +smile:"Smile", +surprised:"Surprised", +tongue_out:"Tongue out", +undecided:"Undecided", +wink:"Wink", +yell:"Yell" +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/dialog.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/dialog.htm new file mode 100644 index 00000000..d6f2856a --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/dialog.htm @@ -0,0 +1,22 @@ + + + + {#example_dlg.title} + + + + + +
+

Here is a example dialog.

+

Selected text:

+

Custom arg:

+ +
+ + +
+
+ + + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/editor_plugin.js new file mode 100644 index 00000000..ec1f81ea --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.PluginManager.requireLangPack("example");tinymce.create("tinymce.plugins.ExamplePlugin",{init:function(a,b){a.addCommand("mceExample",function(){a.windowManager.open({file:b+"/dialog.htm",width:320+parseInt(a.getLang("example.delta_width",0)),height:120+parseInt(a.getLang("example.delta_height",0)),inline:1},{plugin_url:b,some_custom_arg:"custom arg"})});a.addButton("example",{title:"example.desc",cmd:"mceExample",image:b+"/img/example.gif"});a.onNodeChange.add(function(d,c,e){c.setActive("example",e.nodeName=="IMG")})},createControl:function(b,a){return null},getInfo:function(){return{longname:"Example plugin",author:"Some author",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example",version:"1.0"}}});tinymce.PluginManager.add("example",tinymce.plugins.ExamplePlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/editor_plugin_src.js new file mode 100644 index 00000000..edc1e776 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/editor_plugin_src.js @@ -0,0 +1,84 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + // Load plugin specific language pack + tinymce.PluginManager.requireLangPack('example'); + + tinymce.create('tinymce.plugins.ExamplePlugin', { + /** + * Initializes the plugin, this will be executed after the plugin has been created. + * This call is done before the editor instance has finished it's initialization so use the onInit event + * of the editor instance to intercept that event. + * + * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in. + * @param {string} url Absolute URL to where the plugin is located. + */ + init : function(ed, url) { + // Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('mceExample'); + ed.addCommand('mceExample', function() { + ed.windowManager.open({ + file : url + '/dialog.htm', + width : 320 + parseInt(ed.getLang('example.delta_width', 0)), + height : 120 + parseInt(ed.getLang('example.delta_height', 0)), + inline : 1 + }, { + plugin_url : url, // Plugin absolute URL + some_custom_arg : 'custom arg' // Custom argument + }); + }); + + // Register example button + ed.addButton('example', { + title : 'example.desc', + cmd : 'mceExample', + image : url + '/img/example.gif' + }); + + // Add a node change handler, selects the button in the UI when a image is selected + ed.onNodeChange.add(function(ed, cm, n) { + cm.setActive('example', n.nodeName == 'IMG'); + }); + }, + + /** + * Creates control instances based in the incomming name. This method is normally not + * needed since the addButton method of the tinymce.Editor class is a more easy way of adding buttons + * but you sometimes need to create more complex controls like listboxes, split buttons etc then this + * method can be used to create those. + * + * @param {String} n Name of the control to create. + * @param {tinymce.ControlManager} cm Control manager to use inorder to create new control. + * @return {tinymce.ui.Control} New control instance or null if no control was created. + */ + createControl : function(n, cm) { + return null; + }, + + /** + * Returns information about the plugin as a name/value array. + * The current keys are longname, author, authorurl, infourl and version. + * + * @return {Object} Name/value array containing information about the plugin. + */ + getInfo : function() { + return { + longname : 'Example plugin', + author : 'Some author', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example', + version : "1.0" + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('example', tinymce.plugins.ExamplePlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/img/example.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/img/example.gif new file mode 100644 index 0000000000000000000000000000000000000000..1ab5da4461113d2af579898528246fdbe52ecd00 GIT binary patch literal 87 zcmZ?wbhEHb6k!lyn83&Y1dNP~ia%L^OhyJB5FaGNz@*pGzw+SQ`#f{}FJ-?!v#V)e mtsGNfpJeCKSAiOz**>0`XR2{OVa>-G_df0vaY"}i=f.getAll("title")[0];if(i&&i.firstChild){h.metatitle=i.firstChild.value}b(f.getAll("meta"),function(m){var k=m.attr("name"),j=m.attr("http-equiv"),l;if(k){h["meta"+k.toLowerCase()]=m.attr("content")}else{if(j=="Content-Type"){l=/charset\s*=\s*(.*)\s*/gi.exec(m.attr("content"));if(l){h.docencoding=l[1]}}}});i=f.getAll("html")[0];if(i){h.langcode=d(i,"lang")||d(i,"xml:lang")}i=f.getAll("link")[0];if(i&&i.attr("rel")=="stylesheet"){h.stylesheet=i.attr("href")}i=f.getAll("body")[0];if(i){h.langdir=d(i,"dir");h.style=d(i,"style");h.visited_color=d(i,"vlink");h.link_color=d(i,"link");h.active_color=d(i,"alink")}return h},_dataToHtml:function(g){var f,d,h,j,k,e=this.editor.dom;function c(n,l,m){n.attr(l,m?m:undefined)}function i(l){if(d.firstChild){d.insert(l,d.firstChild)}else{d.append(l)}}f=this._parseHeader();d=f.getAll("head")[0];if(!d){j=f.getAll("html")[0];d=new a("head",1);if(j.firstChild){j.insert(d,j.firstChild,true)}else{j.append(d)}}j=f.firstChild;if(g.xml_pi){k='version="1.0"';if(g.docencoding){k+=' encoding="'+g.docencoding+'"'}if(j.type!=7){j=new a("xml",7);f.insert(j,f.firstChild,true)}j.value=k}else{if(j&&j.type==7){j.remove()}}j=f.getAll("#doctype")[0];if(g.doctype){if(!j){j=new a("#doctype",10);if(g.xml_pi){f.insert(j,f.firstChild)}else{i(j)}}j.value=g.doctype.substring(9,g.doctype.length-1)}else{if(j){j.remove()}}j=f.getAll("title")[0];if(g.metatitle){if(!j){j=new a("title",1);j.append(new a("#text",3)).value=g.metatitle;i(j)}}if(g.docencoding){j=null;b(f.getAll("meta"),function(l){if(l.attr("http-equiv")=="Content-Type"){j=l}});if(!j){j=new a("meta",1);j.attr("http-equiv","Content-Type");j.shortEnded=true;i(j)}j.attr("content","text/html; charset="+g.docencoding)}b("keywords,description,author,copyright,robots".split(","),function(m){var l=f.getAll("meta"),n,p,o=g["meta"+m];for(n=0;n"))},_parseHeader:function(){return new tinymce.html.DomParser({validate:false,root_name:"#document"}).parse(this.head)},_setContent:function(g,d){var m=this,i,c,h=d.content,f,l="",e=m.editor.dom,j;function k(n){return n.replace(/<\/?[A-Z]+/g,function(o){return o.toLowerCase()})}if(d.format=="raw"&&m.head){return}if(d.source_view&&g.getParam("fullpage_hide_in_source_view")){return}h=h.replace(/<(\/?)BODY/gi,"<$1body");i=h.indexOf("",i);m.head=k(h.substring(0,i+1));c=h.indexOf("\n"}f=m._parseHeader();b(f.getAll("style"),function(n){if(n.firstChild){l+=n.firstChild.value}});j=f.getAll("body")[0];if(j){e.setAttribs(m.editor.getBody(),{style:j.attr("style")||"",dir:j.attr("dir")||"",vLink:j.attr("vlink")||"",link:j.attr("link")||"",aLink:j.attr("alink")||""})}if(l){e.add(m.editor.getDoc().getElementsByTagName("head")[0],"style",{id:"fullpage_styles"},l)}else{e.remove("fullpage_styles")}},_getDefaultHeader:function(){var f="",c=this.editor,e,d="";if(c.getParam("fullpage_default_xml_pi")){f+='\n'}f+=c.getParam("fullpage_default_doctype",'');f+="\n\n\n";if(e=c.getParam("fullpage_default_title")){f+=""+e+"\n"}if(e=c.getParam("fullpage_default_encoding")){f+='\n'}if(e=c.getParam("fullpage_default_font_family")){d+="font-family: "+e+";"}if(e=c.getParam("fullpage_default_font_size")){d+="font-size: "+e+";"}if(e=c.getParam("fullpage_default_text_color")){d+="color: "+e+";"}f+="\n\n";return f},_getContent:function(d,e){var c=this;if(!e.source_view||!d.getParam("fullpage_hide_in_source_view")){e.content=tinymce.trim(c.head)+"\n"+tinymce.trim(e.content)+"\n"+tinymce.trim(c.foot)}}});tinymce.PluginManager.add("fullpage",tinymce.plugins.FullPagePlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js new file mode 100644 index 00000000..ac6bec40 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js @@ -0,0 +1,399 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var each = tinymce.each, Node = tinymce.html.Node; + + tinymce.create('tinymce.plugins.FullPagePlugin', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + // Register commands + ed.addCommand('mceFullPageProperties', function() { + ed.windowManager.open({ + file : url + '/fullpage.htm', + width : 430 + parseInt(ed.getLang('fullpage.delta_width', 0)), + height : 495 + parseInt(ed.getLang('fullpage.delta_height', 0)), + inline : 1 + }, { + plugin_url : url, + data : t._htmlToData() + }); + }); + + // Register buttons + ed.addButton('fullpage', {title : 'fullpage.desc', cmd : 'mceFullPageProperties'}); + + ed.onBeforeSetContent.add(t._setContent, t); + ed.onGetContent.add(t._getContent, t); + }, + + getInfo : function() { + return { + longname : 'Fullpage', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullpage', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private plugin internal methods + + _htmlToData : function() { + var headerFragment = this._parseHeader(), data = {}, nodes, elm, matches, editor = this.editor; + + function getAttr(elm, name) { + var value = elm.attr(name); + + return value || ''; + }; + + // Default some values + data.fontface = editor.getParam("fullpage_default_fontface", ""); + data.fontsize = editor.getParam("fullpage_default_fontsize", ""); + + // Parse XML PI + elm = headerFragment.firstChild; + if (elm.type == 7) { + data.xml_pi = true; + matches = /encoding="([^"]+)"/.exec(elm.value); + if (matches) + data.docencoding = matches[1]; + } + + // Parse doctype + elm = headerFragment.getAll('#doctype')[0]; + if (elm) + data.doctype = '"; + + // Parse title element + elm = headerFragment.getAll('title')[0]; + if (elm && elm.firstChild) { + data.metatitle = elm.firstChild.value; + } + + // Parse meta elements + each(headerFragment.getAll('meta'), function(meta) { + var name = meta.attr('name'), httpEquiv = meta.attr('http-equiv'), matches; + + if (name) + data['meta' + name.toLowerCase()] = meta.attr('content'); + else if (httpEquiv == "Content-Type") { + matches = /charset\s*=\s*(.*)\s*/gi.exec(meta.attr('content')); + + if (matches) + data.docencoding = matches[1]; + } + }); + + // Parse html attribs + elm = headerFragment.getAll('html')[0]; + if (elm) + data.langcode = getAttr(elm, 'lang') || getAttr(elm, 'xml:lang'); + + // Parse stylesheet + elm = headerFragment.getAll('link')[0]; + if (elm && elm.attr('rel') == 'stylesheet') + data.stylesheet = elm.attr('href'); + + // Parse body parts + elm = headerFragment.getAll('body')[0]; + if (elm) { + data.langdir = getAttr(elm, 'dir'); + data.style = getAttr(elm, 'style'); + data.visited_color = getAttr(elm, 'vlink'); + data.link_color = getAttr(elm, 'link'); + data.active_color = getAttr(elm, 'alink'); + } + + return data; + }, + + _dataToHtml : function(data) { + var headerFragment, headElement, html, elm, value, dom = this.editor.dom; + + function setAttr(elm, name, value) { + elm.attr(name, value ? value : undefined); + }; + + function addHeadNode(node) { + if (headElement.firstChild) + headElement.insert(node, headElement.firstChild); + else + headElement.append(node); + }; + + headerFragment = this._parseHeader(); + headElement = headerFragment.getAll('head')[0]; + if (!headElement) { + elm = headerFragment.getAll('html')[0]; + headElement = new Node('head', 1); + + if (elm.firstChild) + elm.insert(headElement, elm.firstChild, true); + else + elm.append(headElement); + } + + // Add/update/remove XML-PI + elm = headerFragment.firstChild; + if (data.xml_pi) { + value = 'version="1.0"'; + + if (data.docencoding) + value += ' encoding="' + data.docencoding + '"'; + + if (elm.type != 7) { + elm = new Node('xml', 7); + headerFragment.insert(elm, headerFragment.firstChild, true); + } + + elm.value = value; + } else if (elm && elm.type == 7) + elm.remove(); + + // Add/update/remove doctype + elm = headerFragment.getAll('#doctype')[0]; + if (data.doctype) { + if (!elm) { + elm = new Node('#doctype', 10); + + if (data.xml_pi) + headerFragment.insert(elm, headerFragment.firstChild); + else + addHeadNode(elm); + } + + elm.value = data.doctype.substring(9, data.doctype.length - 1); + } else if (elm) + elm.remove(); + + // Add/update/remove title + elm = headerFragment.getAll('title')[0]; + if (data.metatitle) { + if (!elm) { + elm = new Node('title', 1); + elm.append(new Node('#text', 3)).value = data.metatitle; + addHeadNode(elm); + } + } + + // Add meta encoding + if (data.docencoding) { + elm = null; + each(headerFragment.getAll('meta'), function(meta) { + if (meta.attr('http-equiv') == 'Content-Type') + elm = meta; + }); + + if (!elm) { + elm = new Node('meta', 1); + elm.attr('http-equiv', 'Content-Type'); + elm.shortEnded = true; + addHeadNode(elm); + } + + elm.attr('content', 'text/html; charset=' + data.docencoding); + } + + // Add/update/remove meta + each('keywords,description,author,copyright,robots'.split(','), function(name) { + var nodes = headerFragment.getAll('meta'), i, meta, value = data['meta' + name]; + + for (i = 0; i < nodes.length; i++) { + meta = nodes[i]; + + if (meta.attr('name') == name) { + if (value) + meta.attr('content', value); + else + meta.remove(); + + return; + } + } + + if (value) { + elm = new Node('meta', 1); + elm.attr('name', name); + elm.attr('content', value); + elm.shortEnded = true; + + addHeadNode(elm); + } + }); + + // Add/update/delete link + elm = headerFragment.getAll('link')[0]; + if (elm && elm.attr('rel') == 'stylesheet') { + if (data.stylesheet) + elm.attr('href', data.stylesheet); + else + elm.remove(); + } else if (data.stylesheet) { + elm = new Node('link', 1); + elm.attr({ + rel : 'stylesheet', + text : 'text/css', + href : data.stylesheet + }); + elm.shortEnded = true; + + addHeadNode(elm); + } + + // Update body attributes + elm = headerFragment.getAll('body')[0]; + if (elm) { + setAttr(elm, 'dir', data.langdir); + setAttr(elm, 'style', data.style); + setAttr(elm, 'vlink', data.visited_color); + setAttr(elm, 'link', data.link_color); + setAttr(elm, 'alink', data.active_color); + + // Update iframe body as well + dom.setAttribs(this.editor.getBody(), { + style : data.style, + dir : data.dir, + vLink : data.visited_color, + link : data.link_color, + aLink : data.active_color + }); + } + + // Set html attributes + elm = headerFragment.getAll('html')[0]; + if (elm) { + setAttr(elm, 'lang', data.langcode); + setAttr(elm, 'xml:lang', data.langcode); + } + + // Serialize header fragment and crop away body part + html = new tinymce.html.Serializer({ + validate: false, + indent: true, + apply_source_formatting : true, + indent_before: 'head,html,body,meta,title,script,link,style', + indent_after: 'head,html,body,meta,title,script,link,style' + }).serialize(headerFragment); + + this.head = html.substring(0, html.indexOf('')); + }, + + _parseHeader : function() { + // Parse the contents with a DOM parser + return new tinymce.html.DomParser({ + validate: false, + root_name: '#document' + }).parse(this.head); + }, + + _setContent : function(ed, o) { + var self = this, startPos, endPos, content = o.content, headerFragment, styles = '', dom = self.editor.dom, elm; + + function low(s) { + return s.replace(/<\/?[A-Z]+/g, function(a) { + return a.toLowerCase(); + }) + }; + + // Ignore raw updated if we already have a head, this will fix issues with undo/redo keeping the head/foot separate + if (o.format == 'raw' && self.head) + return; + + if (o.source_view && ed.getParam('fullpage_hide_in_source_view')) + return; + + // Parse out head, body and footer + content = content.replace(/<(\/?)BODY/gi, '<$1body'); + startPos = content.indexOf('', startPos); + self.head = low(content.substring(0, startPos + 1)); + + endPos = content.indexOf('\n'; + + header += editor.getParam('fullpage_default_doctype', ''); + header += '\n\n\n'; + + if (value = editor.getParam('fullpage_default_title')) + header += '' + value + '\n'; + + if (value = editor.getParam('fullpage_default_encoding')) + header += '\n'; + + if (value = editor.getParam('fullpage_default_font_family')) + styles += 'font-family: ' + value + ';'; + + if (value = editor.getParam('fullpage_default_font_size')) + styles += 'font-size: ' + value + ';'; + + if (value = editor.getParam('fullpage_default_text_color')) + styles += 'color: ' + value + ';'; + + header += '\n\n'; + + return header; + }, + + _getContent : function(ed, o) { + var self = this; + + if (!o.source_view || !ed.getParam('fullpage_hide_in_source_view')) + o.content = tinymce.trim(self.head) + '\n' + tinymce.trim(o.content) + '\n' + tinymce.trim(self.foot); + } + }); + + // Register plugin + tinymce.PluginManager.add('fullpage', tinymce.plugins.FullPagePlugin); +})(); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/fullpage.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/fullpage.htm new file mode 100644 index 00000000..200f2b8e --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/fullpage.htm @@ -0,0 +1,259 @@ + + + + {#fullpage_dlg.title} + + + + + + + +
+ + +
+
+
+ {#fullpage_dlg.meta_props} + + + + + + + + + + + + + + + + + + + + + + + + + + +
 
 
 
 
 
  + +
+
+ +
+ {#fullpage_dlg.langprops} + + + + + + + + + + + + + + + + + + + + + + +
+ +
  + +
 
+ +
 
+
+
+ +
+
+ {#fullpage_dlg.appearance_textprops} + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + + + +
 
+
+
+ +
+ {#fullpage_dlg.appearance_bgprops} + + + + + + + + + + +
+ + + + + +
 
+
+ + + + + +
 
+
+
+ +
+ {#fullpage_dlg.appearance_marginprops} + + + + + + + + + + + + + + +
+
+ +
+ {#fullpage_dlg.appearance_linkprops} + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+ + + + + +
 
+
+ + + + + +
 
+
  
+
+ +
+ {#fullpage_dlg.appearance_style} + + + + + + + + + + +
+ + + + +
 
+
+
+
+ +
+ + +
+
+ + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js new file mode 100644 index 00000000..66eec2d7 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js @@ -0,0 +1,232 @@ +/** + * fullpage.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinyMCEPopup.requireLangPack(); + + var defaultDocTypes = + 'XHTML 1.0 Transitional=,' + + 'XHTML 1.0 Frameset=,' + + 'XHTML 1.0 Strict=,' + + 'XHTML 1.1=,' + + 'HTML 4.01 Transitional=,' + + 'HTML 4.01 Strict=,' + + 'HTML 4.01 Frameset='; + + var defaultEncodings = + 'Western european (iso-8859-1)=iso-8859-1,' + + 'Central European (iso-8859-2)=iso-8859-2,' + + 'Unicode (UTF-8)=utf-8,' + + 'Chinese traditional (Big5)=big5,' + + 'Cyrillic (iso-8859-5)=iso-8859-5,' + + 'Japanese (iso-2022-jp)=iso-2022-jp,' + + 'Greek (iso-8859-7)=iso-8859-7,' + + 'Korean (iso-2022-kr)=iso-2022-kr,' + + 'ASCII (us-ascii)=us-ascii'; + + var defaultFontNames = 'Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;WingDings=wingdings'; + var defaultFontSizes = '10px,11px,12px,13px,14px,15px,16px'; + + function setVal(id, value) { + var elm = document.getElementById(id); + + if (elm) { + value = value || ''; + + if (elm.nodeName == "SELECT") + selectByValue(document.forms[0], id, value); + else if (elm.type == "checkbox") + elm.checked = !!value; + else + elm.value = value; + } + }; + + function getVal(id) { + var elm = document.getElementById(id); + + if (elm.nodeName == "SELECT") + return elm.options[elm.selectedIndex].value; + + if (elm.type == "checkbox") + return elm.checked; + + return elm.value; + }; + + window.FullPageDialog = { + changedStyle : function() { + var val, styles = tinyMCEPopup.editor.dom.parseStyle(getVal('style')); + + setVal('fontface', styles['font-face']); + setVal('fontsize', styles['font-size']); + setVal('textcolor', styles['color']); + + if (val = styles['background-image']) + setVal('bgimage', val.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1")); + else + setVal('bgimage', ''); + + setVal('bgcolor', styles['background-color']); + + // Reset margin form elements + setVal('topmargin', ''); + setVal('rightmargin', ''); + setVal('bottommargin', ''); + setVal('leftmargin', ''); + + // Expand margin + if (val = styles['margin']) { + val = val.split(' '); + styles['margin-top'] = val[0] || ''; + styles['margin-right'] = val[1] || val[0] || ''; + styles['margin-bottom'] = val[2] || val[0] || ''; + styles['margin-left'] = val[3] || val[0] || ''; + } + + if (val = styles['margin-top']) + setVal('topmargin', val.replace(/px/, '')); + + if (val = styles['margin-right']) + setVal('rightmargin', val.replace(/px/, '')); + + if (val = styles['margin-bottom']) + setVal('bottommargin', val.replace(/px/, '')); + + if (val = styles['margin-left']) + setVal('leftmargin', val.replace(/px/, '')); + + updateColor('bgcolor_pick', 'bgcolor'); + updateColor('textcolor_pick', 'textcolor'); + }, + + changedStyleProp : function() { + var val, dom = tinyMCEPopup.editor.dom, styles = dom.parseStyle(getVal('style')); + + styles['font-face'] = getVal('fontface'); + styles['font-size'] = getVal('fontsize'); + styles['color'] = getVal('textcolor'); + styles['background-color'] = getVal('bgcolor'); + + if (val = getVal('bgimage')) + styles['background-image'] = "url('" + val + "')"; + else + styles['background-image'] = ''; + + delete styles['margin']; + + if (val = getVal('topmargin')) + styles['margin-top'] = val + "px"; + else + styles['margin-top'] = ''; + + if (val = getVal('rightmargin')) + styles['margin-right'] = val + "px"; + else + styles['margin-right'] = ''; + + if (val = getVal('bottommargin')) + styles['margin-bottom'] = val + "px"; + else + styles['margin-bottom'] = ''; + + if (val = getVal('leftmargin')) + styles['margin-left'] = val + "px"; + else + styles['margin-left'] = ''; + + // Serialize, parse and reserialize this will compress redundant styles + setVal('style', dom.serializeStyle(dom.parseStyle(dom.serializeStyle(styles)))); + this.changedStyle(); + }, + + update : function() { + var data = {}; + + tinymce.each(tinyMCEPopup.dom.select('select,input,textarea'), function(node) { + data[node.id] = getVal(node.id); + }); + + tinyMCEPopup.editor.plugins.fullpage._dataToHtml(data); + tinyMCEPopup.close(); + } + }; + + function init() { + var form = document.forms[0], i, item, list, editor = tinyMCEPopup.editor; + + // Setup doctype select box + list = editor.getParam("fullpage_doctypes", defaultDocTypes).split(','); + for (i = 0; i < list.length; i++) { + item = list[i].split('='); + + if (item.length > 1) + addSelectValue(form, 'doctype', item[0], item[1]); + } + + // Setup fonts select box + list = editor.getParam("fullpage_fonts", defaultFontNames).split(';'); + for (i = 0; i < list.length; i++) { + item = list[i].split('='); + + if (item.length > 1) + addSelectValue(form, 'fontface', item[0], item[1]); + } + + // Setup fontsize select box + list = editor.getParam("fullpage_fontsizes", defaultFontSizes).split(','); + for (i = 0; i < list.length; i++) + addSelectValue(form, 'fontsize', list[i], list[i]); + + // Setup encodings select box + list = editor.getParam("fullpage_encodings", defaultEncodings).split(','); + for (i = 0; i < list.length; i++) { + item = list[i].split('='); + + if (item.length > 1) + addSelectValue(form, 'docencoding', item[0], item[1]); + } + + // Setup color pickers + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); + document.getElementById('link_color_pickcontainer').innerHTML = getColorPickerHTML('link_color_pick','link_color'); + document.getElementById('visited_color_pickcontainer').innerHTML = getColorPickerHTML('visited_color_pick','visited_color'); + document.getElementById('active_color_pickcontainer').innerHTML = getColorPickerHTML('active_color_pick','active_color'); + document.getElementById('textcolor_pickcontainer').innerHTML = getColorPickerHTML('textcolor_pick','textcolor'); + document.getElementById('stylesheet_browsercontainer').innerHTML = getBrowserHTML('stylesheetbrowser','stylesheet','file','fullpage'); + document.getElementById('bgimage_pickcontainer').innerHTML = getBrowserHTML('bgimage_browser','bgimage','image','fullpage'); + + // Resize some elements + if (isVisible('stylesheetbrowser')) + document.getElementById('stylesheet').style.width = '220px'; + + if (isVisible('link_href_browser')) + document.getElementById('element_link_href').style.width = '230px'; + + if (isVisible('bgimage_browser')) + document.getElementById('bgimage').style.width = '210px'; + + // Update form + tinymce.each(tinyMCEPopup.getWindowArg('data'), function(value, key) { + setVal(key, value); + }); + + FullPageDialog.changedStyle(); + + // Update colors + updateColor('textcolor_pick', 'textcolor'); + updateColor('bgcolor_pick', 'bgcolor'); + updateColor('visited_color_pick', 'visited_color'); + updateColor('active_color_pick', 'active_color'); + updateColor('link_color_pick', 'link_color'); + }; + + tinyMCEPopup.onInit.add(init); +})(); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/langs/en_dlg.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/langs/en_dlg.js new file mode 100644 index 00000000..d1cd2195 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/langs/en_dlg.js @@ -0,0 +1,85 @@ +tinyMCE.addI18n('en.fullpage_dlg',{ +title:"Document properties", +meta_tab:"General", +appearance_tab:"Appearance", +advanced_tab:"Advanced", +meta_props:"Meta information", +langprops:"Language and encoding", +meta_title:"Title", +meta_keywords:"Keywords", +meta_description:"Description", +meta_robots:"Robots", +doctypes:"Doctype", +langcode:"Language code", +langdir:"Language direction", +ltr:"Left to right", +rtl:"Right to left", +xml_pi:"XML declaration", +encoding:"Character encoding", +appearance_bgprops:"Background properties", +appearance_marginprops:"Body margins", +appearance_linkprops:"Link colors", +appearance_textprops:"Text properties", +bgcolor:"Background color", +bgimage:"Background image", +left_margin:"Left margin", +right_margin:"Right margin", +top_margin:"Top margin", +bottom_margin:"Bottom margin", +text_color:"Text color", +font_size:"Font size", +font_face:"Font face", +link_color:"Link color", +hover_color:"Hover color", +visited_color:"Visited color", +active_color:"Active color", +textcolor:"Color", +fontsize:"Font size", +fontface:"Font family", +meta_index_follow:"Index and follow the links", +meta_index_nofollow:"Index and don't follow the links", +meta_noindex_follow:"Do not index but follow the links", +meta_noindex_nofollow:"Do not index and don\'t follow the links", +appearance_style:"Stylesheet and style properties", +stylesheet:"Stylesheet", +style:"Style", +author:"Author", +copyright:"Copyright", +add:"Add new element", +remove:"Remove selected element", +moveup:"Move selected element up", +movedown:"Move selected element down", +head_elements:"Head elements", +info:"Information", +add_title:"Title element", +add_meta:"Meta element", +add_script:"Script element", +add_style:"Style element", +add_link:"Link element", +add_base:"Base element", +add_comment:"Comment node", +title_element:"Title element", +script_element:"Script element", +style_element:"Style element", +base_element:"Base element", +link_element:"Link element", +meta_element:"Meta element", +comment_element:"Comment", +src:"Src", +language:"Language", +href:"Href", +target:"Target", +type:"Type", +charset:"Charset", +defer:"Defer", +media:"Media", +properties:"Properties", +name:"Name", +value:"Value", +content:"Content", +rel:"Rel", +rev:"Rev", +hreflang:"Href lang", +general_props:"General", +advanced_props:"Advanced" +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js new file mode 100644 index 00000000..6eae3ec8 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js @@ -0,0 +1 @@ +(function(){var a=tinymce.DOM;tinymce.create("tinymce.plugins.FullScreenPlugin",{init:function(d,e){var f=this,g={},c,b;f.editor=d;d.addCommand("mceFullScreen",function(){var i,j=a.doc.documentElement;if(d.getParam("fullscreen_is_enabled")){if(d.getParam("fullscreen_new_window")){closeFullscreen()}else{a.win.setTimeout(function(){tinymce.dom.Event.remove(a.win,"resize",f.resizeFunc);tinyMCE.get(d.getParam("fullscreen_editor_id")).setContent(d.getContent({format:"raw"}),{format:"raw"});tinyMCE.remove(d);a.remove("mce_fullscreen_container");j.style.overflow=d.getParam("fullscreen_html_overflow");a.setStyle(a.doc.body,"overflow",d.getParam("fullscreen_overflow"));a.win.scrollTo(d.getParam("fullscreen_scrollx"),d.getParam("fullscreen_scrolly"));tinyMCE.settings=tinyMCE.oldSettings},10)}return}if(d.getParam("fullscreen_new_window")){i=a.win.open(e+"/fullscreen.htm","mceFullScreenPopup","fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width="+screen.availWidth+",height="+screen.availHeight);try{i.resizeTo(screen.availWidth,screen.availHeight)}catch(h){}}else{tinyMCE.oldSettings=tinyMCE.settings;g.fullscreen_overflow=a.getStyle(a.doc.body,"overflow",1)||"auto";g.fullscreen_html_overflow=a.getStyle(j,"overflow",1);c=a.getViewPort();g.fullscreen_scrollx=c.x;g.fullscreen_scrolly=c.y;if(tinymce.isOpera&&g.fullscreen_overflow=="visible"){g.fullscreen_overflow="auto"}if(tinymce.isIE&&g.fullscreen_overflow=="scroll"){g.fullscreen_overflow="auto"}if(tinymce.isIE&&(g.fullscreen_html_overflow=="visible"||g.fullscreen_html_overflow=="scroll")){g.fullscreen_html_overflow="auto"}if(g.fullscreen_overflow=="0px"){g.fullscreen_overflow=""}a.setStyle(a.doc.body,"overflow","hidden");j.style.overflow="hidden";c=a.getViewPort();a.win.scrollTo(0,0);if(tinymce.isIE){c.h-=1}if(tinymce.isIE6){b="absolute;top:"+c.y}else{b="fixed;top:0"}n=a.add(a.doc.body,"div",{id:"mce_fullscreen_container",style:"position:"+b+";left:0;width:"+c.w+"px;height:"+c.h+"px;z-index:200000;"});a.add(n,"div",{id:"mce_fullscreen"});tinymce.each(d.settings,function(k,l){g[l]=k});g.id="mce_fullscreen";g.width=n.clientWidth;g.height=n.clientHeight-15;g.fullscreen_is_enabled=true;g.fullscreen_editor_id=d.id;g.theme_advanced_resizing=false;g.save_onsavecallback=function(){d.setContent(tinyMCE.get(g.id).getContent({format:"raw"}),{format:"raw"});d.execCommand("mceSave")};tinymce.each(d.getParam("fullscreen_settings"),function(m,l){g[l]=m});if(g.theme_advanced_toolbar_location==="external"){g.theme_advanced_toolbar_location="top"}f.fullscreenEditor=new tinymce.Editor("mce_fullscreen",g);f.fullscreenEditor.onInit.add(function(){f.fullscreenEditor.setContent(d.getContent());f.fullscreenEditor.focus()});f.fullscreenEditor.render();f.fullscreenElement=new tinymce.dom.Element("mce_fullscreen_container");f.fullscreenElement.update();f.resizeFunc=tinymce.dom.Event.add(a.win,"resize",function(){var o=tinymce.DOM.getViewPort(),l=f.fullscreenEditor,k,m;k=l.dom.getSize(l.getContainer().firstChild);m=l.dom.getSize(l.getContainer().getElementsByTagName("iframe")[0]);l.theme.resizeTo(o.w-k.w+m.w,o.h-k.h+m.h)})}});d.addButton("fullscreen",{title:"fullscreen.desc",cmd:"mceFullScreen"});d.onNodeChange.add(function(i,h){h.setActive("fullscreen",i.getParam("fullscreen_is_enabled"))})},getInfo:function(){return{longname:"Fullscreen",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("fullscreen",tinymce.plugins.FullScreenPlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js new file mode 100644 index 00000000..585d4509 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js @@ -0,0 +1,159 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var DOM = tinymce.DOM; + + tinymce.create('tinymce.plugins.FullScreenPlugin', { + init : function(ed, url) { + var t = this, s = {}, vp, posCss; + + t.editor = ed; + + // Register commands + ed.addCommand('mceFullScreen', function() { + var win, de = DOM.doc.documentElement; + + if (ed.getParam('fullscreen_is_enabled')) { + if (ed.getParam('fullscreen_new_window')) + closeFullscreen(); // Call to close in new window + else { + DOM.win.setTimeout(function() { + tinymce.dom.Event.remove(DOM.win, 'resize', t.resizeFunc); + tinyMCE.get(ed.getParam('fullscreen_editor_id')).setContent(ed.getContent({format : 'raw'}), {format : 'raw'}); + tinyMCE.remove(ed); + DOM.remove('mce_fullscreen_container'); + de.style.overflow = ed.getParam('fullscreen_html_overflow'); + DOM.setStyle(DOM.doc.body, 'overflow', ed.getParam('fullscreen_overflow')); + DOM.win.scrollTo(ed.getParam('fullscreen_scrollx'), ed.getParam('fullscreen_scrolly')); + tinyMCE.settings = tinyMCE.oldSettings; // Restore old settings + }, 10); + } + + return; + } + + if (ed.getParam('fullscreen_new_window')) { + win = DOM.win.open(url + "/fullscreen.htm", "mceFullScreenPopup", "fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width=" + screen.availWidth + ",height=" + screen.availHeight); + try { + win.resizeTo(screen.availWidth, screen.availHeight); + } catch (e) { + // Ignore + } + } else { + tinyMCE.oldSettings = tinyMCE.settings; // Store old settings + s.fullscreen_overflow = DOM.getStyle(DOM.doc.body, 'overflow', 1) || 'auto'; + s.fullscreen_html_overflow = DOM.getStyle(de, 'overflow', 1); + vp = DOM.getViewPort(); + s.fullscreen_scrollx = vp.x; + s.fullscreen_scrolly = vp.y; + + // Fixes an Opera bug where the scrollbars doesn't reappear + if (tinymce.isOpera && s.fullscreen_overflow == 'visible') + s.fullscreen_overflow = 'auto'; + + // Fixes an IE bug where horizontal scrollbars would appear + if (tinymce.isIE && s.fullscreen_overflow == 'scroll') + s.fullscreen_overflow = 'auto'; + + // Fixes an IE bug where the scrollbars doesn't reappear + if (tinymce.isIE && (s.fullscreen_html_overflow == 'visible' || s.fullscreen_html_overflow == 'scroll')) + s.fullscreen_html_overflow = 'auto'; + + if (s.fullscreen_overflow == '0px') + s.fullscreen_overflow = ''; + + DOM.setStyle(DOM.doc.body, 'overflow', 'hidden'); + de.style.overflow = 'hidden'; //Fix for IE6/7 + vp = DOM.getViewPort(); + DOM.win.scrollTo(0, 0); + + if (tinymce.isIE) + vp.h -= 1; + + // Use fixed position if it exists + if (tinymce.isIE6) + posCss = 'absolute;top:' + vp.y; + else + posCss = 'fixed;top:0'; + + n = DOM.add(DOM.doc.body, 'div', { + id : 'mce_fullscreen_container', + style : 'position:' + posCss + ';left:0;width:' + vp.w + 'px;height:' + vp.h + 'px;z-index:200000;'}); + DOM.add(n, 'div', {id : 'mce_fullscreen'}); + + tinymce.each(ed.settings, function(v, n) { + s[n] = v; + }); + + s.id = 'mce_fullscreen'; + s.width = n.clientWidth; + s.height = n.clientHeight - 15; + s.fullscreen_is_enabled = true; + s.fullscreen_editor_id = ed.id; + s.theme_advanced_resizing = false; + s.save_onsavecallback = function() { + ed.setContent(tinyMCE.get(s.id).getContent({format : 'raw'}), {format : 'raw'}); + ed.execCommand('mceSave'); + }; + + tinymce.each(ed.getParam('fullscreen_settings'), function(v, k) { + s[k] = v; + }); + + if (s.theme_advanced_toolbar_location === 'external') + s.theme_advanced_toolbar_location = 'top'; + + t.fullscreenEditor = new tinymce.Editor('mce_fullscreen', s); + t.fullscreenEditor.onInit.add(function() { + t.fullscreenEditor.setContent(ed.getContent()); + t.fullscreenEditor.focus(); + }); + + t.fullscreenEditor.render(); + + t.fullscreenElement = new tinymce.dom.Element('mce_fullscreen_container'); + t.fullscreenElement.update(); + //document.body.overflow = 'hidden'; + + t.resizeFunc = tinymce.dom.Event.add(DOM.win, 'resize', function() { + var vp = tinymce.DOM.getViewPort(), fed = t.fullscreenEditor, outerSize, innerSize; + + // Get outer/inner size to get a delta size that can be used to calc the new iframe size + outerSize = fed.dom.getSize(fed.getContainer().firstChild); + innerSize = fed.dom.getSize(fed.getContainer().getElementsByTagName('iframe')[0]); + + fed.theme.resizeTo(vp.w - outerSize.w + innerSize.w, vp.h - outerSize.h + innerSize.h); + }); + } + }); + + // Register buttons + ed.addButton('fullscreen', {title : 'fullscreen.desc', cmd : 'mceFullScreen'}); + + ed.onNodeChange.add(function(ed, cm) { + cm.setActive('fullscreen', ed.getParam('fullscreen_is_enabled')); + }); + }, + + getInfo : function() { + return { + longname : 'Fullscreen', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('fullscreen', tinymce.plugins.FullScreenPlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm new file mode 100644 index 00000000..2bf6a37b --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm @@ -0,0 +1,109 @@ + + + + + + + + +
+ +
+ + + + + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/iespell/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/iespell/editor_plugin.js new file mode 100644 index 00000000..e9cba106 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/iespell/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.IESpell",{init:function(a,b){var c=this,d;if(!tinymce.isIE){return}c.editor=a;a.addCommand("mceIESpell",function(){try{d=new ActiveXObject("ieSpell.ieSpellExtension");d.CheckDocumentNode(a.getDoc().documentElement)}catch(f){if(f.number==-2146827859){a.windowManager.confirm(a.getLang("iespell.download"),function(e){if(e){window.open("http://www.iespell.com/download.php","ieSpellDownload","")}})}else{a.windowManager.alert("Error Loading ieSpell: Exception "+f.number)}}});a.addButton("iespell",{title:"iespell.iespell_desc",cmd:"mceIESpell"})},getInfo:function(){return{longname:"IESpell (IE Only)",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/iespell",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("iespell",tinymce.plugins.IESpell)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js new file mode 100644 index 00000000..61edf1e2 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js @@ -0,0 +1,54 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.IESpell', { + init : function(ed, url) { + var t = this, sp; + + if (!tinymce.isIE) + return; + + t.editor = ed; + + // Register commands + ed.addCommand('mceIESpell', function() { + try { + sp = new ActiveXObject("ieSpell.ieSpellExtension"); + sp.CheckDocumentNode(ed.getDoc().documentElement); + } catch (e) { + if (e.number == -2146827859) { + ed.windowManager.confirm(ed.getLang("iespell.download"), function(s) { + if (s) + window.open('http://www.iespell.com/download.php', 'ieSpellDownload', ''); + }); + } else + ed.windowManager.alert("Error Loading ieSpell: Exception " + e.number); + } + }); + + // Register buttons + ed.addButton('iespell', {title : 'iespell.iespell_desc', cmd : 'mceIESpell'}); + }, + + getInfo : function() { + return { + longname : 'IESpell (IE Only)', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/iespell', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('iespell', tinymce.plugins.IESpell); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js new file mode 100644 index 00000000..8bb96f9c --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js @@ -0,0 +1 @@ +(function(){var d=tinymce.DOM,b=tinymce.dom.Element,a=tinymce.dom.Event,e=tinymce.each,c=tinymce.is;tinymce.create("tinymce.plugins.InlinePopups",{init:function(f,g){f.onBeforeRenderUI.add(function(){f.windowManager=new tinymce.InlineWindowManager(f);d.loadCSS(g+"/skins/"+(f.settings.inlinepopups_skin||"clearlooks2")+"/window.css")})},getInfo:function(){return{longname:"InlinePopups",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/inlinepopups",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.create("tinymce.InlineWindowManager:tinymce.WindowManager",{InlineWindowManager:function(f){var g=this;g.parent(f);g.zIndex=300000;g.count=0;g.windows={}},open:function(s,j){var z=this,i,k="",r=z.editor,g=0,v=0,h,m,o,q,l,x,y,n;s=s||{};j=j||{};if(!s.inline){return z.parent(s,j)}n=z._frontWindow();if(n&&d.get(n.id+"_ifr")){n.focussedElement=d.get(n.id+"_ifr").contentWindow.document.activeElement}if(!s.type){z.bookmark=r.selection.getBookmark(1)}i=d.uniqueId();h=d.getViewPort();s.width=parseInt(s.width||320);s.height=parseInt(s.height||240)+(tinymce.isIE?8:0);s.min_width=parseInt(s.min_width||150);s.min_height=parseInt(s.min_height||100);s.max_width=parseInt(s.max_width||2000);s.max_height=parseInt(s.max_height||2000);s.left=s.left||Math.round(Math.max(h.x,h.x+(h.w/2)-(s.width/2)));s.top=s.top||Math.round(Math.max(h.y,h.y+(h.h/2)-(s.height/2)));s.movable=s.resizable=true;j.mce_width=s.width;j.mce_height=s.height;j.mce_inline=true;j.mce_window_id=i;j.mce_auto_focus=s.auto_focus;z.features=s;z.params=j;z.onOpen.dispatch(z,s,j);if(s.type){k+=" mceModal";if(s.type){k+=" mce"+s.type.substring(0,1).toUpperCase()+s.type.substring(1)}s.resizable=false}if(s.statusbar){k+=" mceStatusbar"}if(s.resizable){k+=" mceResizable"}if(s.minimizable){k+=" mceMinimizable"}if(s.maximizable){k+=" mceMaximizable"}if(s.movable){k+=" mceMovable"}z._addAll(d.doc.body,["div",{id:i,role:"dialog","aria-labelledby":s.type?i+"_content":i+"_title","class":(r.settings.inlinepopups_skin||"clearlooks2")+(tinymce.isIE&&window.getSelection?" ie9":""),style:"width:100px;height:100px"},["div",{id:i+"_wrapper","class":"mceWrapper"+k},["div",{id:i+"_top","class":"mceTop"},["div",{"class":"mceLeft"}],["div",{"class":"mceCenter"}],["div",{"class":"mceRight"}],["span",{id:i+"_title"},s.title||""]],["div",{id:i+"_middle","class":"mceMiddle"},["div",{id:i+"_left","class":"mceLeft",tabindex:"0"}],["span",{id:i+"_content"}],["div",{id:i+"_right","class":"mceRight",tabindex:"0"}]],["div",{id:i+"_bottom","class":"mceBottom"},["div",{"class":"mceLeft"}],["div",{"class":"mceCenter"}],["div",{"class":"mceRight"}],["span",{id:i+"_status"},"Content"]],["a",{"class":"mceMove",tabindex:"-1",href:"javascript:;"}],["a",{"class":"mceMin",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{"class":"mceMax",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{"class":"mceMed",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{"class":"mceClose",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{id:i+"_resize_n","class":"mceResize mceResizeN",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_s","class":"mceResize mceResizeS",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_w","class":"mceResize mceResizeW",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_e","class":"mceResize mceResizeE",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_nw","class":"mceResize mceResizeNW",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_ne","class":"mceResize mceResizeNE",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_sw","class":"mceResize mceResizeSW",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_se","class":"mceResize mceResizeSE",tabindex:"-1",href:"javascript:;"}]]]);d.setStyles(i,{top:-10000,left:-10000});if(tinymce.isGecko){d.setStyle(i,"overflow","auto")}if(!s.type){g+=d.get(i+"_left").clientWidth;g+=d.get(i+"_right").clientWidth;v+=d.get(i+"_top").clientHeight;v+=d.get(i+"_bottom").clientHeight}d.setStyles(i,{top:s.top,left:s.left,width:s.width+g,height:s.height+v});y=s.url||s.file;if(y){if(tinymce.relaxedDomain){y+=(y.indexOf("?")==-1?"?":"&")+"mce_rdomain="+tinymce.relaxedDomain}y=tinymce._addVer(y)}if(!s.type){d.add(i+"_content","iframe",{id:i+"_ifr",src:'javascript:""',frameBorder:0,style:"border:0;width:10px;height:10px"});d.setStyles(i+"_ifr",{width:s.width,height:s.height});d.setAttrib(i+"_ifr","src",y)}else{d.add(i+"_wrapper","a",{id:i+"_ok","class":"mceButton mceOk",href:"javascript:;",onmousedown:"return false;"},"Ok");if(s.type=="confirm"){d.add(i+"_wrapper","a",{"class":"mceButton mceCancel",href:"javascript:;",onmousedown:"return false;"},"Cancel")}d.add(i+"_middle","div",{"class":"mceIcon"});d.setHTML(i+"_content",s.content.replace("\n","
"));a.add(i,"keyup",function(f){var p=27;if(f.keyCode===p){s.button_func(false);return a.cancel(f)}});a.add(i,"keydown",function(f){var t,p=9;if(f.keyCode===p){t=d.select("a.mceCancel",i+"_wrapper")[0];if(t&&t!==f.target){t.focus()}else{d.get(i+"_ok").focus()}return a.cancel(f)}})}o=a.add(i,"mousedown",function(t){var u=t.target,f,p;f=z.windows[i];z.focus(i);if(u.nodeName=="A"||u.nodeName=="a"){if(u.className=="mceClose"){z.close(null,i);return a.cancel(t)}else{if(u.className=="mceMax"){f.oldPos=f.element.getXY();f.oldSize=f.element.getSize();p=d.getViewPort();p.w-=2;p.h-=2;f.element.moveTo(p.x,p.y);f.element.resizeTo(p.w,p.h);d.setStyles(i+"_ifr",{width:p.w-f.deltaWidth,height:p.h-f.deltaHeight});d.addClass(i+"_wrapper","mceMaximized")}else{if(u.className=="mceMed"){f.element.moveTo(f.oldPos.x,f.oldPos.y);f.element.resizeTo(f.oldSize.w,f.oldSize.h);f.iframeElement.resizeTo(f.oldSize.w-f.deltaWidth,f.oldSize.h-f.deltaHeight);d.removeClass(i+"_wrapper","mceMaximized")}else{if(u.className=="mceMove"){return z._startDrag(i,t,u.className)}else{if(d.hasClass(u,"mceResize")){return z._startDrag(i,t,u.className.substring(13))}}}}}}});q=a.add(i,"click",function(f){var p=f.target;z.focus(i);if(p.nodeName=="A"||p.nodeName=="a"){switch(p.className){case"mceClose":z.close(null,i);return a.cancel(f);case"mceButton mceOk":case"mceButton mceCancel":s.button_func(p.className=="mceButton mceOk");return a.cancel(f)}}});a.add([i+"_left",i+"_right"],"focus",function(p){var t=d.get(i+"_ifr");if(t){var f=t.contentWindow.document.body;var u=d.select(":input:enabled,*[tabindex=0]",f);if(p.target.id===(i+"_left")){u[u.length-1].focus()}else{u[0].focus()}}else{d.get(i+"_ok").focus()}});x=z.windows[i]={id:i,mousedown_func:o,click_func:q,element:new b(i,{blocker:1,container:r.getContainer()}),iframeElement:new b(i+"_ifr"),features:s,deltaWidth:g,deltaHeight:v};x.iframeElement.on("focus",function(){z.focus(i)});if(z.count==0&&z.editor.getParam("dialog_type","modal")=="modal"){d.add(d.doc.body,"div",{id:"mceModalBlocker","class":(z.editor.settings.inlinepopups_skin||"clearlooks2")+"_modalBlocker",style:{zIndex:z.zIndex-1}});d.show("mceModalBlocker");d.setAttrib(d.doc.body,"aria-hidden","true")}else{d.setStyle("mceModalBlocker","z-index",z.zIndex-1)}if(tinymce.isIE6||/Firefox\/2\./.test(navigator.userAgent)||(tinymce.isIE&&!d.boxModel)){d.setStyles("mceModalBlocker",{position:"absolute",left:h.x,top:h.y,width:h.w-2,height:h.h-2})}d.setAttrib(i,"aria-hidden","false");z.focus(i);z._fixIELayout(i,1);if(d.get(i+"_ok")){d.get(i+"_ok").focus()}z.count++;return x},focus:function(h){var g=this,f;if(f=g.windows[h]){f.zIndex=this.zIndex++;f.element.setStyle("zIndex",f.zIndex);f.element.update();h=h+"_wrapper";d.removeClass(g.lastId,"mceFocus");d.addClass(h,"mceFocus");g.lastId=h;if(f.focussedElement){f.focussedElement.focus()}else{if(d.get(h+"_ok")){d.get(f.id+"_ok").focus()}else{if(d.get(f.id+"_ifr")){d.get(f.id+"_ifr").focus()}}}}},_addAll:function(k,h){var g,l,f=this,j=tinymce.DOM;if(c(h,"string")){k.appendChild(j.doc.createTextNode(h))}else{if(h.length){k=k.appendChild(j.create(h[0],h[1]));for(g=2;gf){g=h;f=h.zIndex}});return g},setTitle:function(f,g){var h;f=this._findId(f);if(h=d.get(f+"_title")){h.innerHTML=d.encode(g)}},alert:function(g,f,j){var i=this,h;h=i.open({title:i,type:"alert",button_func:function(k){if(f){f.call(k||i,k)}i.close(null,h.id)},content:d.encode(i.editor.getLang(g,g)),inline:1,width:400,height:130})},confirm:function(g,f,j){var i=this,h;h=i.open({title:i,type:"confirm",button_func:function(k){if(f){f.call(k||i,k)}i.close(null,h.id)},content:d.encode(i.editor.getLang(g,g)),inline:1,width:400,height:130})},_findId:function(f){var g=this;if(typeof(f)=="string"){return f}e(g.windows,function(h){var i=d.get(h.id+"_ifr");if(i&&f==i.contentWindow){f=h.id;return false}});return f},_fixIELayout:function(i,h){var f,g;if(!tinymce.isIE6){return}e(["n","s","w","e","nw","ne","sw","se"],function(j){var k=d.get(i+"_resize_"+j);d.setStyles(k,{width:h?k.clientWidth:"",height:h?k.clientHeight:"",cursor:d.getStyle(k,"cursor",1)});d.setStyle(i+"_bottom","bottom","-1px");k=0});if(f=this.windows[i]){f.element.hide();f.element.show();e(d.select("div,a",i),function(k,j){if(k.currentStyle.backgroundImage!="none"){g=new Image();g.src=k.currentStyle.backgroundImage.replace(/url\(\"(.+)\"\)/,"$1")}});d.get(i).style.filter=""}}});tinymce.PluginManager.add("inlinepopups",tinymce.plugins.InlinePopups)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js new file mode 100644 index 00000000..2a6f3ad2 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js @@ -0,0 +1,699 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var DOM = tinymce.DOM, Element = tinymce.dom.Element, Event = tinymce.dom.Event, each = tinymce.each, is = tinymce.is; + + tinymce.create('tinymce.plugins.InlinePopups', { + init : function(ed, url) { + // Replace window manager + ed.onBeforeRenderUI.add(function() { + ed.windowManager = new tinymce.InlineWindowManager(ed); + DOM.loadCSS(url + '/skins/' + (ed.settings.inlinepopups_skin || 'clearlooks2') + "/window.css"); + }); + }, + + getInfo : function() { + return { + longname : 'InlinePopups', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/inlinepopups', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + tinymce.create('tinymce.InlineWindowManager:tinymce.WindowManager', { + InlineWindowManager : function(ed) { + var t = this; + + t.parent(ed); + t.zIndex = 300000; + t.count = 0; + t.windows = {}; + }, + + open : function(f, p) { + var t = this, id, opt = '', ed = t.editor, dw = 0, dh = 0, vp, po, mdf, clf, we, w, u, parentWindow; + + f = f || {}; + p = p || {}; + + // Run native windows + if (!f.inline) + return t.parent(f, p); + + parentWindow = t._frontWindow(); + if (parentWindow && DOM.get(parentWindow.id + '_ifr')) { + parentWindow.focussedElement = DOM.get(parentWindow.id + '_ifr').contentWindow.document.activeElement; + } + + // Only store selection if the type is a normal window + if (!f.type) + t.bookmark = ed.selection.getBookmark(1); + + id = DOM.uniqueId(); + vp = DOM.getViewPort(); + f.width = parseInt(f.width || 320); + f.height = parseInt(f.height || 240) + (tinymce.isIE ? 8 : 0); + f.min_width = parseInt(f.min_width || 150); + f.min_height = parseInt(f.min_height || 100); + f.max_width = parseInt(f.max_width || 2000); + f.max_height = parseInt(f.max_height || 2000); + f.left = f.left || Math.round(Math.max(vp.x, vp.x + (vp.w / 2.0) - (f.width / 2.0))); + f.top = f.top || Math.round(Math.max(vp.y, vp.y + (vp.h / 2.0) - (f.height / 2.0))); + f.movable = f.resizable = true; + p.mce_width = f.width; + p.mce_height = f.height; + p.mce_inline = true; + p.mce_window_id = id; + p.mce_auto_focus = f.auto_focus; + + // Transpose +// po = DOM.getPos(ed.getContainer()); +// f.left -= po.x; +// f.top -= po.y; + + t.features = f; + t.params = p; + t.onOpen.dispatch(t, f, p); + + if (f.type) { + opt += ' mceModal'; + + if (f.type) + opt += ' mce' + f.type.substring(0, 1).toUpperCase() + f.type.substring(1); + + f.resizable = false; + } + + if (f.statusbar) + opt += ' mceStatusbar'; + + if (f.resizable) + opt += ' mceResizable'; + + if (f.minimizable) + opt += ' mceMinimizable'; + + if (f.maximizable) + opt += ' mceMaximizable'; + + if (f.movable) + opt += ' mceMovable'; + + // Create DOM objects + t._addAll(DOM.doc.body, + ['div', {id : id, role : 'dialog', 'aria-labelledby': f.type ? id + '_content' : id + '_title', 'class' : (ed.settings.inlinepopups_skin || 'clearlooks2') + (tinymce.isIE && window.getSelection ? ' ie9' : ''), style : 'width:100px;height:100px'}, + ['div', {id : id + '_wrapper', 'class' : 'mceWrapper' + opt}, + ['div', {id : id + '_top', 'class' : 'mceTop'}, + ['div', {'class' : 'mceLeft'}], + ['div', {'class' : 'mceCenter'}], + ['div', {'class' : 'mceRight'}], + ['span', {id : id + '_title'}, f.title || ''] + ], + + ['div', {id : id + '_middle', 'class' : 'mceMiddle'}, + ['div', {id : id + '_left', 'class' : 'mceLeft', tabindex : '0'}], + ['span', {id : id + '_content'}], + ['div', {id : id + '_right', 'class' : 'mceRight', tabindex : '0'}] + ], + + ['div', {id : id + '_bottom', 'class' : 'mceBottom'}, + ['div', {'class' : 'mceLeft'}], + ['div', {'class' : 'mceCenter'}], + ['div', {'class' : 'mceRight'}], + ['span', {id : id + '_status'}, 'Content'] + ], + + ['a', {'class' : 'mceMove', tabindex : '-1', href : 'javascript:;'}], + ['a', {'class' : 'mceMin', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}], + ['a', {'class' : 'mceMax', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}], + ['a', {'class' : 'mceMed', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}], + ['a', {'class' : 'mceClose', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}], + ['a', {id : id + '_resize_n', 'class' : 'mceResize mceResizeN', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_s', 'class' : 'mceResize mceResizeS', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_w', 'class' : 'mceResize mceResizeW', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_e', 'class' : 'mceResize mceResizeE', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_nw', 'class' : 'mceResize mceResizeNW', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_ne', 'class' : 'mceResize mceResizeNE', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_sw', 'class' : 'mceResize mceResizeSW', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_se', 'class' : 'mceResize mceResizeSE', tabindex : '-1', href : 'javascript:;'}] + ] + ] + ); + + DOM.setStyles(id, {top : -10000, left : -10000}); + + // Fix gecko rendering bug, where the editors iframe messed with window contents + if (tinymce.isGecko) + DOM.setStyle(id, 'overflow', 'auto'); + + // Measure borders + if (!f.type) { + dw += DOM.get(id + '_left').clientWidth; + dw += DOM.get(id + '_right').clientWidth; + dh += DOM.get(id + '_top').clientHeight; + dh += DOM.get(id + '_bottom').clientHeight; + } + + // Resize window + DOM.setStyles(id, {top : f.top, left : f.left, width : f.width + dw, height : f.height + dh}); + + u = f.url || f.file; + if (u) { + if (tinymce.relaxedDomain) + u += (u.indexOf('?') == -1 ? '?' : '&') + 'mce_rdomain=' + tinymce.relaxedDomain; + + u = tinymce._addVer(u); + } + + if (!f.type) { + DOM.add(id + '_content', 'iframe', {id : id + '_ifr', src : 'javascript:""', frameBorder : 0, style : 'border:0;width:10px;height:10px'}); + DOM.setStyles(id + '_ifr', {width : f.width, height : f.height}); + DOM.setAttrib(id + '_ifr', 'src', u); + } else { + DOM.add(id + '_wrapper', 'a', {id : id + '_ok', 'class' : 'mceButton mceOk', href : 'javascript:;', onmousedown : 'return false;'}, 'Ok'); + + if (f.type == 'confirm') + DOM.add(id + '_wrapper', 'a', {'class' : 'mceButton mceCancel', href : 'javascript:;', onmousedown : 'return false;'}, 'Cancel'); + + DOM.add(id + '_middle', 'div', {'class' : 'mceIcon'}); + DOM.setHTML(id + '_content', f.content.replace('\n', '
')); + + Event.add(id, 'keyup', function(evt) { + var VK_ESCAPE = 27; + if (evt.keyCode === VK_ESCAPE) { + f.button_func(false); + return Event.cancel(evt); + } + }); + + Event.add(id, 'keydown', function(evt) { + var cancelButton, VK_TAB = 9; + if (evt.keyCode === VK_TAB) { + cancelButton = DOM.select('a.mceCancel', id + '_wrapper')[0]; + if (cancelButton && cancelButton !== evt.target) { + cancelButton.focus(); + } else { + DOM.get(id + '_ok').focus(); + } + return Event.cancel(evt); + } + }); + } + + // Register events + mdf = Event.add(id, 'mousedown', function(e) { + var n = e.target, w, vp; + + w = t.windows[id]; + t.focus(id); + + if (n.nodeName == 'A' || n.nodeName == 'a') { + if (n.className == 'mceClose') { + t.close(null, id); + return Event.cancel(e); + } else if (n.className == 'mceMax') { + w.oldPos = w.element.getXY(); + w.oldSize = w.element.getSize(); + + vp = DOM.getViewPort(); + + // Reduce viewport size to avoid scrollbars + vp.w -= 2; + vp.h -= 2; + + w.element.moveTo(vp.x, vp.y); + w.element.resizeTo(vp.w, vp.h); + DOM.setStyles(id + '_ifr', {width : vp.w - w.deltaWidth, height : vp.h - w.deltaHeight}); + DOM.addClass(id + '_wrapper', 'mceMaximized'); + } else if (n.className == 'mceMed') { + // Reset to old size + w.element.moveTo(w.oldPos.x, w.oldPos.y); + w.element.resizeTo(w.oldSize.w, w.oldSize.h); + w.iframeElement.resizeTo(w.oldSize.w - w.deltaWidth, w.oldSize.h - w.deltaHeight); + + DOM.removeClass(id + '_wrapper', 'mceMaximized'); + } else if (n.className == 'mceMove') + return t._startDrag(id, e, n.className); + else if (DOM.hasClass(n, 'mceResize')) + return t._startDrag(id, e, n.className.substring(13)); + } + }); + + clf = Event.add(id, 'click', function(e) { + var n = e.target; + + t.focus(id); + + if (n.nodeName == 'A' || n.nodeName == 'a') { + switch (n.className) { + case 'mceClose': + t.close(null, id); + return Event.cancel(e); + + case 'mceButton mceOk': + case 'mceButton mceCancel': + f.button_func(n.className == 'mceButton mceOk'); + return Event.cancel(e); + } + } + }); + + // Make sure the tab order loops within the dialog. + Event.add([id + '_left', id + '_right'], 'focus', function(evt) { + var iframe = DOM.get(id + '_ifr'); + if (iframe) { + var body = iframe.contentWindow.document.body; + var focusable = DOM.select(':input:enabled,*[tabindex=0]', body); + if (evt.target.id === (id + '_left')) { + focusable[focusable.length - 1].focus(); + } else { + focusable[0].focus(); + } + } else { + DOM.get(id + '_ok').focus(); + } + }); + + // Add window + w = t.windows[id] = { + id : id, + mousedown_func : mdf, + click_func : clf, + element : new Element(id, {blocker : 1, container : ed.getContainer()}), + iframeElement : new Element(id + '_ifr'), + features : f, + deltaWidth : dw, + deltaHeight : dh + }; + + w.iframeElement.on('focus', function() { + t.focus(id); + }); + + // Setup blocker + if (t.count == 0 && t.editor.getParam('dialog_type', 'modal') == 'modal') { + DOM.add(DOM.doc.body, 'div', { + id : 'mceModalBlocker', + 'class' : (t.editor.settings.inlinepopups_skin || 'clearlooks2') + '_modalBlocker', + style : {zIndex : t.zIndex - 1} + }); + + DOM.show('mceModalBlocker'); // Reduces flicker in IE + DOM.setAttrib(DOM.doc.body, 'aria-hidden', 'true'); + } else + DOM.setStyle('mceModalBlocker', 'z-index', t.zIndex - 1); + + if (tinymce.isIE6 || /Firefox\/2\./.test(navigator.userAgent) || (tinymce.isIE && !DOM.boxModel)) + DOM.setStyles('mceModalBlocker', {position : 'absolute', left : vp.x, top : vp.y, width : vp.w - 2, height : vp.h - 2}); + + DOM.setAttrib(id, 'aria-hidden', 'false'); + t.focus(id); + t._fixIELayout(id, 1); + + // Focus ok button + if (DOM.get(id + '_ok')) + DOM.get(id + '_ok').focus(); + t.count++; + + return w; + }, + + focus : function(id) { + var t = this, w; + + if (w = t.windows[id]) { + w.zIndex = this.zIndex++; + w.element.setStyle('zIndex', w.zIndex); + w.element.update(); + + id = id + '_wrapper'; + DOM.removeClass(t.lastId, 'mceFocus'); + DOM.addClass(id, 'mceFocus'); + t.lastId = id; + + if (w.focussedElement) { + w.focussedElement.focus(); + } else if (DOM.get(id + '_ok')) { + DOM.get(w.id + '_ok').focus(); + } else if (DOM.get(w.id + '_ifr')) { + DOM.get(w.id + '_ifr').focus(); + } + } + }, + + _addAll : function(te, ne) { + var i, n, t = this, dom = tinymce.DOM; + + if (is(ne, 'string')) + te.appendChild(dom.doc.createTextNode(ne)); + else if (ne.length) { + te = te.appendChild(dom.create(ne[0], ne[1])); + + for (i=2; i ix) { + fw = w; + ix = w.zIndex; + } + }); + return fw; + }, + + setTitle : function(w, ti) { + var e; + + w = this._findId(w); + + if (e = DOM.get(w + '_title')) + e.innerHTML = DOM.encode(ti); + }, + + alert : function(txt, cb, s) { + var t = this, w; + + w = t.open({ + title : t, + type : 'alert', + button_func : function(s) { + if (cb) + cb.call(s || t, s); + + t.close(null, w.id); + }, + content : DOM.encode(t.editor.getLang(txt, txt)), + inline : 1, + width : 400, + height : 130 + }); + }, + + confirm : function(txt, cb, s) { + var t = this, w; + + w = t.open({ + title : t, + type : 'confirm', + button_func : function(s) { + if (cb) + cb.call(s || t, s); + + t.close(null, w.id); + }, + content : DOM.encode(t.editor.getLang(txt, txt)), + inline : 1, + width : 400, + height : 130 + }); + }, + + // Internal functions + + _findId : function(w) { + var t = this; + + if (typeof(w) == 'string') + return w; + + each(t.windows, function(wo) { + var ifr = DOM.get(wo.id + '_ifr'); + + if (ifr && w == ifr.contentWindow) { + w = wo.id; + return false; + } + }); + + return w; + }, + + _fixIELayout : function(id, s) { + var w, img; + + if (!tinymce.isIE6) + return; + + // Fixes the bug where hover flickers and does odd things in IE6 + each(['n','s','w','e','nw','ne','sw','se'], function(v) { + var e = DOM.get(id + '_resize_' + v); + + DOM.setStyles(e, { + width : s ? e.clientWidth : '', + height : s ? e.clientHeight : '', + cursor : DOM.getStyle(e, 'cursor', 1) + }); + + DOM.setStyle(id + "_bottom", 'bottom', '-1px'); + + e = 0; + }); + + // Fixes graphics glitch + if (w = this.windows[id]) { + // Fixes rendering bug after resize + w.element.hide(); + w.element.show(); + + // Forced a repaint of the window + //DOM.get(id).style.filter = ''; + + // IE has a bug where images used in CSS won't get loaded + // sometimes when the cache in the browser is disabled + // This fix tries to solve it by loading the images using the image object + each(DOM.select('div,a', id), function(e, i) { + if (e.currentStyle.backgroundImage != 'none') { + img = new Image(); + img.src = e.currentStyle.backgroundImage.replace(/url\(\"(.+)\"\)/, '$1'); + } + }); + + DOM.get(id).style.filter = ''; + } + } + }); + + // Register plugin + tinymce.PluginManager.add('inlinepopups', tinymce.plugins.InlinePopups); +})(); + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif new file mode 100644 index 0000000000000000000000000000000000000000..219139857ead162c6c83fa92e4a36eb978359b70 GIT binary patch literal 810 zcmV+_1J(RTNk%v~VITk?0QP$T|NsBgZf>Is3*B5?sT&&Hqoc$;Jkrt6&k+&QHa5gV zL)l77I5;@fLqpYMWVc- z$;Z;u(cpZ1*{!X#QBc56PRYv1%goBm&CA4*kj9vnyFxN007q4)xCFi000000000000000EC2ui03ZM$000O7 zfO>+1goTEOh>41ejE#Ddx`lYP=u<6#D$nuIz(SWI zEFA^}1Gr=fzyf({6gh@S$E;fb0W@inbw`OH0<0jyAcaV_tY`tu;Q-}9nL~DuW|c$B zfB{+;EgA@rVMxoncy#S%&Cx=|gM5Uj%<`AEF#ro5b_h^H$lZ~%j?uQsqv1gcLINnz z$V0lc>C>q5v`E0^fS@#T44@D}8^s49D{>FmJ;a6Y1;88FsF47UkqoaP7{SB5x%21H on;U^3X3&`#Kb|Dn&b_<$?>}ZBkL3i3`Sa-0r$^%&nWI1eJN~S2!TC=Kp6=yhVk<;M&Tihgd(W=(Vq({A zZErX_?n+6ycJ0cob7wD~K6%N?>XN4BQX!%BR#xkmFFh|Mb;--?epc4)@bKFK0UI?m z76}R6u(m#W?8x%DvrjHwC@n30VgFuLRn_Asj;&fS|Eht(ndIcXo}O1PT{ypM=b4S` zFC5r+ZN`iP^>rua&)X3fdwtQO`AkfALPO8%=-le*xmsCy`Q-6SmoGl3skym!?UulR z1AcxdPn|e@=G2+9r;kjWaBRl3-A+!=4<5V}AAix_evgdIt=!z@3JQ;R?YiI4a62jK z;?ctgTU+KcFq~mvxOV;O-tsbF6pVsF5(2lg`hl5*vB%TJF{EP7+Dkv94;C;S|G57B zlo-vkPMZZRkEduX@eq-&5?m8lWSg)j9oT#<+n&6(7cP$>yTU*Y=#r5@4iBR)Lz6EvJsWP*7gvw85bDwm-~>#4(p>zqCV-NT;q&z%KQ)C4$IT+PZgSyXdk zX2gZ*)$aq=y`NEg#I+);GH%t%4W1HS8%@+NE?x9?`P6s9%iP>1Ep31AL!8o=VbdauRnv)25R3VTvA=Vh!~_a@6HSLb|**VT%3)4#v_zecXW!-k{VZ-e zYiw<6@2F~4>g?_7FYjibFlA~}%e0v@C(W8Wb*_&)DBrWN@OfznH1FT4{BUps!wTd|YdJ0002^_xJYp^u)%)d3$)z&B_1&{{R30 z000000000000000A^8LW000^QEC2ui0CWH_000I5phk>jX`ZJhqHH^=Zk(=iEn-2g z?|i>wBOI?nEEih2q)UH?AHyg7~@-@+VH6!(;c_ zxnl@0-@$+5z5y6S@uA0c2rFuI7V_gjj3zt(raakjrMZ$WvB8W9atTdoP;NHMsS_E` zo&bQ*s1XAOQ5i;$x=5;&g^B@Cqe`7hmFm-~ShGUCs0c-^w)`cdp#12=eOP%eQY|sD1+r)(d#BVZMbAD~4*IvE#>(BS&T|xw7TPlrL+3 zoO$zRs18Dl9!)zw58wX%{rd5@fPehOCg6KeHK5@Cf($n3po0lM*gyda7AK*C5k5#^gBwbip@gwr zxFA#zlxU)fn3pyG@#n&{$-F`k&?i#Os}T#YskFu{;S5}9I=NKOD% zl13IcK>xnz`3B3WgWQ!)wLkXuHnZ0c5HvW}0r6=_Zpm`ce)8x0(|!A=bwNAx@Vw%7Dp(bgC44=paU%GsGm?BAnBx(R%)rGkzT6lrjlmL z>8F%>3M!~kDPZcUsHUnas#2}$>Z=O03hS(=%1Z03TZN@7Sh{A#Yp+%P3hY!W2w?27 z$R?|-vc)dz?6bx;3+=SXN=q&OwHg>}*IdYMD_6JPx&>~yY8|WCxyGKWSi0&O#%{ZU z8SB}+^3J(S<94K>q#ugahfi?d(AAt1bTp(;R8!O__ z4hjuog&|&Ow1y6L_~6nY!bY^QK&A*J1XR};BaJ(@)KE`%6)&h8Wq?g93 z?c|kAwoPS{a3?9ZmalP{H`@ZtDW{vp&e>*|d8!$>oy!S+xSFqx+4!8sJ}PKTu0Ct)uD=R*MljVzMiN zM*aBy{oA)MM~)q?tgbkJ_9Rd{P;eBChQLq>fn~-wuQM<(ae2BphE&YCI`wu@vjLBb zXy=!@g^IpG|Nc8?v-jw7t~_w%Y>DEx2hCfK@W;K7j;>YZIGdXO@{-DrlPU|MEx8w3 z&iryk#UgpuLLle=`j>@Q*1X(s=0VWqg|E#nKeqU@@TK1d(`6UWnxsxPxm$RC^-D>& zrSE;u7vypM`1;hrjMKv8oIm3_!`|y`!52$=Uxr5ete35f*7)w&kstJD^R$)!cUIm> z$olqoWzZqfW&7C=H|Afe$O&&On4IzYWLP{W)5Y$kKb%B4z9e*OIWDk{4&h|ldvj51 zf&Hn5N*ToqyLC?$ym)m;sMvx}nB~_7S4qCu*oa3=uP!D0%IP+`$hnfuHCU%C&Gt`uXT-X!0ahznNb-l8$R|;XYBSo5LTAkoH>1p&+^tjl{Y*m)M71x z23o18Ue0{zAn9iJ&!j}VJ(aCdE?2Pm`aZD|ZB>?C+g+z7SbUhTb2NE3*B;+3Uo%#( zXJNd^vk&Cl7cBB&O$~k@5>+`~xTxv1Soup%sg&}WYjc#Rbe>j35})flwqSLCL+826 zxu)%C*kv-qsoc*_9eSbNRt5CxdksoC*eN6AO5r zX;At}MD-2NiceF*yFhBSKxzvUm!7+v@QOv=NaK^p^l&eT8y+4oZ`PN)9s0m`(Oc znI-zTdit_%`kX1XwzT=HMfsK@_J>ZF~`Wpm{14%#gX`?RrPxW_?tKTt2vcW z2>QE!xVg8it*iEY1oe3U*4Nd~$-n>r00000000000000000000EC2ui03ZM$000O7 zfOvv~gm?`F4o?Cg0#6PF4TX}EcwG(x5lCAjW+Pij5dscfl$1#VUuGE{0IjYW2VVk7 z5T%0+1Q8<=O0K@HMI#Xek);g`Mh92F%&$fa#ghcdz0KAc8w9nIO}f?A*AY#Uc?QbO z3RLO});$J!g;5v0=nMAj%^ep}gir!z-+rO6w*Un=4+5YJDiFZ~I2Q!xfRmu3z#s=| zihz4T@CCRUY8(uDQlbX9GX%kWEb(N}zkt6a5bW@S#*YBZWC(Bx@FPJRcY+3`q2d)A zmpx#*`mrL2J)uzF{Ai_fBnOke0ssw~U_pYYQE6~!DagSGIIXnWiQ2(U2e47_$%qtG zKtl_-P`Bc}lcVA-0SHd)Rj{DU-aA7Q5{fb)$6lukR^TP_fghoAf$`3v(q`|FciePj zJ`5Lzj&afk40%I3YKsBdC>>Kxp>@z91EARoLqLOw8Eg0E5TStp1}jr0SxLdA!VxyA zTM#iJc<2lS0|XplvLpqLZT(nO0fGgM1vVN!2oVuSgpdy!*jPa0LraD3QY1MMPyWV) z5M!Jt2O|PlAVvri?2tta_j#uua~06xgMa@$K*EI3-k>slBk{A)|}ucgNSKEL>VYR> zJ9chgvv&2j8kVn>4A-t-J%925Fz`pgpbCL0--LHEFfa*tx;TbZ%t^icH-46b1Ve$9 zf_IZko3Gf+q-ed^;>>BY@&dmxb(t0Ky>V-GcJJBToeTcgl`FJg`^+r=Zs+^Ew&gM{ zZ`r+z*&0e^WgjWsq>2Voo9ach|z*!`rZ{j7J|GnP0bf15;WsD<%KND zMCT>BGgt?6?@>Oc6g4}s*5N8s`;omJb_<>4R(w9yT&MBlm%tt0M?ah2mRY~(Tzk@5 ze9N0_%fR0;u0jAQumx-%20Cn%x&?NsY&_{mv|=2j@PksqFNI~w|}}W z!*nc2ZuvgP4+q)3*_f171rj-)WUaG$Xcpi2TY>-Ju2!Y*GP12N8+3VAY3EBED_R`? zHO=7JT`9E-7c$dsy)2d6S-G4|@0;}3dsdb|r}s2o{r~7q(=?;Hb5Zho4RW*JS#C&p zC3%i@=K6hMcPDR&exl}gNGW{JF~2oWYkljxW`FbV34Nb^>+2%zJyv(NPd~b=ezC_^ zd%iVwZC~<5_Do*#D==IpGxQ~A2lZ4l0J%lhNz$GG}vZkzjK@{K;vv?r^I)UsACR?JWc5O_3S`PqF}2BrCroL-u6 zA8ccPAk^&TDDY_W$&?~9%_;ZhrEGPkB#}sYrS(hdInBZpyW+|1vW7c?#%0ZK)9R8@uU$7A%*K`47Ku)&&@N8% zYK4`}Z?(#q)nzsJ;d4P#TS@)v!Eck-?^kOUr>&MXooZI6QXu6`cgvfGK6NyRP`l0I zbUL24e{$GuZ=Tk)b;~w3oNZk)lVQ14(q~xFwmqvbt?JB%Wl>kZ(_t4$`g=#dTP!FfZc90uIhs65nZyc!gn8KV?V^`fOK%epx0W~O)FaE->(0k z?N*!%1i?_`Kh=Lv7=%p(X0u)L3pjdSo+ZClpSM3^jOZ=j+CO8eJz!t zq0G`~;ye*V;nnyBVl=9W>Jj!cd0-F0N&tsQ8zkEnF;O24JZ?^&qO;nwIHcqN+QW1R89rxky}AI}=gmx4Tw`N1SlNC{7h0s;mS9Zt)}#|SIi=REJiRqNljiTH@k0@h zx>r*jSI^6*BI>TpNc;poVS4>2-YcJQ#?7&Nd)eix@@huXX@A74D!h?VgENw#pGCd% zsxdBiJjhjk58aQsL`ifN^D`QSq1}1pNdyf@Mne4A*(&$hR50t$mZ#==bMuuaZyc{W z3OccYpqV9ab*SFuDkp>y%A>aq7N>y#HQJSeP+30Wl?>dA3F_dI^EEnyd3AIUAW9 QatMOy3rC81I1F^)55?|uDF6Tf literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.png new file mode 100644 index 0000000000000000000000000000000000000000..abedfe2a5832407082dcf99122405cb69cfded43 GIT binary patch literal 1175 zcmeAS@N?(olHy`uVBq!ia0vp^>Od^c!3-q#voBl4z`)E9;1l9{>hf)%h^>{yjq}I< z|Nqa)$yqyb;oFywUOm0rG<9j+q($|U7r%S;_{+z)pFh0*{`J$>&+q50-}~nIgV)dQ zbC-TV3D+nW~;-@JIxFl9;OlqF{m z?_9L$!0%r_{{H>5Y}?^Kzkh9AHfQtx6aW7G-MsI_mrw6D?mhPD{p-!kr+)eP=If_- zoAw?5`{(zjy~mH9zy9;b*B{?L?>Tni*U#^}j-1d(ifL%;)~Uy>a&0H0H3GK5UPQ7y?Tc zWG}h=vf=s45UxuP7>w?}l{x;A_vqsC18cJt%#t>WTkx; zx7rSu(-p3zZG1WZT=?WtnSk%C9c$H-?s~Y-Wm)h~R^au72>V;A@{GLm8X_hgVXK~- zIjc)+dBZ6&fz=ZtDz^*&yZEwHJ8Cau);#8oqLCZYws_xRTIH=i?Lw^WtzLNsQT>J+ zGjt*hZ-wSN+~^GLFPq=+Dc*rcR!9ErBl(6;_Z@Wn#NIfBTQQp0Fej-BNz1(!`+ZmG z)>S>mvvG|Py+_hoVm;e;zP0gx-)7^#OW<#L*5$kW-#-*>Dk;2s85H=Qu6{1-oD!M< DTEJY_ literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif new file mode 100644 index 0000000000000000000000000000000000000000..c2a2ad454db194e428a7b9da40f62d5376a17428 GIT binary patch literal 769 zcmb7?=`WiB0LI^D)(HC`v6*aD4AW#LGRb0Oi$tH~CP=nb%N%8n zy02ceuewTUUDeW|RaMp*TlLV6R$o=rQOY{@AME+?`}QQiCwU%4Jq)?`{5B8=ECT1T z+wH!7{zji$)-UA>D9({)xO1SJGLHK54Mat(}s4_unMiKjB85EHng*~!Ddt+?(c5uHG4ZI zsc>jP#5Y6w6Wj5!Y=0^oK*&D+R;Yh@ze z7vfi;qFW{owiOfGqcB@XkwUZ0j?Km4{qjE- z6c!Z|O1!?5l~+^}tE#*^aCo0?lZ$rLKBwT;dI+nLO(UEMvb-ad9elEWPw8Xg(t zx$y<#6T+{PQ@$ecjAT|iC%dxnP5yoH$I`OLFU5*drPiz>bidcu^@a^2v}rP3-`?4^ z?Cl>M-Z(n8ot*x$0~Z|;ku35!-qAHSQN*GM3tW8AN#VWJNrHQD+6qXfO_zB^6eFVU zOjzupAb0*`W8} zQVeE5Djt<a0+Owme6r2OGio7DoTWqkhGKj0`0*1-*<$#uL5YH*kC8Z>wpCvYO~asp;G r-~A;>$wp)vkltB=c_?k6Zw*FUgrbAm;sB08O9+}m=}H3OFd*zN8L+JA literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.png new file mode 100644 index 0000000000000000000000000000000000000000..21fd017c76a31d8d1d9942792d84bf069e4905b5 GIT binary patch literal 986 zcmeAS@N?(olHy`uVBq!ia0vp^xw5Wa7%I$jAtE2GB91U^E2i83O%oC;5T) zP4#qf45^s&_L_N66QhXRMe8m`gJ#P{jkNFkZM4M;xVX~)1>b)qdVkM8*W$*nyI(|= zC`Wa!bJ1VanxR=G5)t1e=OVr+{o>9SaV6>-_KDhdZgVld7-AyW>-u|qg zqOx3T{8_FYXL_xC(PNA520MY7{ugK8$k;1Z+Zo6D&u;dflL7o+1O8u?XA*zp{^$BH Yag9^c{y()_{sj~up00i_>zopr0FphsL;wH) literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif new file mode 100644 index 0000000000000000000000000000000000000000..0b4cc3682a1c62b3583d83ad83b84fce14461ec3 GIT binary patch literal 84 zcmZ?wbh9u|#Igq(^*_=C9&iw!X zAIQcJtePM9162rmx;TbZ%t;PN5GzSYTA; --> + + +Template for dialogs + + + + +
+
+
+
+
+
+
+ Blured +
+ +
+
+ Content +
+
+ +
+
+
+
+ Statusbar text. +
+ + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+ Focused +
+ +
+
+ Content +
+
+ +
+
+
+
+ Statusbar text. +
+ + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+ Statusbar +
+ +
+
+ Content +
+
+ +
+
+
+
+ Statusbar text. +
+ + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+ Statusbar, Resizable +
+ +
+
+ Content +
+
+ +
+
+
+
+ Statusbar text. +
+ + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+ Resizable, Maximizable +
+ +
+
+ Content +
+
+ +
+
+
+
+ Statusbar text. +
+ + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+ Blurred, Maximizable, Statusbar, Resizable +
+ +
+
+ Content +
+
+ +
+
+
+
+ Statusbar text. +
+ + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+ Maximized, Maximizable, Minimizable +
+ +
+
+ Content +
+
+ +
+
+
+
+ Statusbar text. +
+ + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+ Blured +
+ +
+
+ Content +
+
+ +
+
+
+
+ Statusbar text. +
+ + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+ Alert +
+ +
+
+ + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + +
+
+
+ +
+
+
+
+
+ + + Ok + +
+
+ +
+
+
+
+
+
+ Confirm +
+ +
+
+ + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + +
+
+
+ +
+
+
+
+
+ + + Ok + Cancel + +
+
+
+ + + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js new file mode 100644 index 00000000..938ce6b1 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.InsertDateTime",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceInsertDate",function(){var d=c._getDateTime(new Date(),a.getParam("plugin_insertdate_dateFormat",a.getLang("insertdatetime.date_fmt")));a.execCommand("mceInsertContent",false,d)});a.addCommand("mceInsertTime",function(){var d=c._getDateTime(new Date(),a.getParam("plugin_insertdate_timeFormat",a.getLang("insertdatetime.time_fmt")));a.execCommand("mceInsertContent",false,d)});a.addButton("insertdate",{title:"insertdatetime.insertdate_desc",cmd:"mceInsertDate"});a.addButton("inserttime",{title:"insertdatetime.inserttime_desc",cmd:"mceInsertTime"})},getInfo:function(){return{longname:"Insert date/time",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/insertdatetime",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_getDateTime:function(e,a){var c=this.editor;function b(g,d){g=""+g;if(g.length-1){a[c].style.zIndex=g[j];a[j].style.zIndex=g[c]}else{if(g[c]>0){a[c].style.zIndex=g[c]-1}}}else{for(f=0;fg[c]){j=f;break}}if(j>-1){a[c].style.zIndex=g[j];a[j].style.zIndex=g[c]}else{a[c].style.zIndex=g[c]+1}}b.execCommand("mceRepaint")},_getParentLayer:function(a){return this.editor.dom.getParent(a,function(b){return b.nodeType==1&&/^(absolute|relative|static)$/i.test(b.style.position)})},_insertLayer:function(){var a=this.editor,b=a.dom.getPos(a.dom.getParent(a.selection.getNode(),"*"));a.dom.add(a.getBody(),"div",{style:{position:"absolute",left:b.x,top:(b.y>20?b.y:20),width:100,height:100},"class":"mceItemVisualAid"},a.selection.getContent()||a.getLang("layer.content"))},_toggleAbsolute:function(){var a=this.editor,b=this._getParentLayer(a.selection.getNode());if(!b){b=a.dom.getParent(a.selection.getNode(),"DIV,P,IMG")}if(b){if(b.style.position.toLowerCase()=="absolute"){a.dom.setStyles(b,{position:"",left:"",top:"",width:"",height:""});a.dom.removeClass(b,"mceItemVisualAid")}else{if(b.style.left==""){b.style.left=20+"px"}if(b.style.top==""){b.style.top=20+"px"}if(b.style.width==""){b.style.width=b.width?(b.width+"px"):"100px"}if(b.style.height==""){b.style.height=b.height?(b.height+"px"):"100px"}b.style.position="absolute";a.dom.setAttrib(b,"data-mce-style","");a.addVisual(a.getBody())}a.execCommand("mceRepaint");a.nodeChanged()}}});tinymce.PluginManager.add("layer",tinymce.plugins.Layer)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js new file mode 100644 index 00000000..ddf24c42 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js @@ -0,0 +1,214 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.Layer', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + // Register commands + ed.addCommand('mceInsertLayer', t._insertLayer, t); + + ed.addCommand('mceMoveForward', function() { + t._move(1); + }); + + ed.addCommand('mceMoveBackward', function() { + t._move(-1); + }); + + ed.addCommand('mceMakeAbsolute', function() { + t._toggleAbsolute(); + }); + + // Register buttons + ed.addButton('moveforward', {title : 'layer.forward_desc', cmd : 'mceMoveForward'}); + ed.addButton('movebackward', {title : 'layer.backward_desc', cmd : 'mceMoveBackward'}); + ed.addButton('absolute', {title : 'layer.absolute_desc', cmd : 'mceMakeAbsolute'}); + ed.addButton('insertlayer', {title : 'layer.insertlayer_desc', cmd : 'mceInsertLayer'}); + + ed.onInit.add(function() { + if (tinymce.isIE) + ed.getDoc().execCommand('2D-Position', false, true); + }); + + ed.onNodeChange.add(t._nodeChange, t); + ed.onVisualAid.add(t._visualAid, t); + }, + + getInfo : function() { + return { + longname : 'Layer', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/layer', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private methods + + _nodeChange : function(ed, cm, n) { + var le, p; + + le = this._getParentLayer(n); + p = ed.dom.getParent(n, 'DIV,P,IMG'); + + if (!p) { + cm.setDisabled('absolute', 1); + cm.setDisabled('moveforward', 1); + cm.setDisabled('movebackward', 1); + } else { + cm.setDisabled('absolute', 0); + cm.setDisabled('moveforward', !le); + cm.setDisabled('movebackward', !le); + cm.setActive('absolute', le && le.style.position.toLowerCase() == "absolute"); + } + }, + + // Private methods + + _visualAid : function(ed, e, s) { + var dom = ed.dom; + + tinymce.each(dom.select('div,p', e), function(e) { + if (/^(absolute|relative|static)$/i.test(e.style.position)) { + if (s) + dom.addClass(e, 'mceItemVisualAid'); + else + dom.removeClass(e, 'mceItemVisualAid'); + } + }); + }, + + _move : function(d) { + var ed = this.editor, i, z = [], le = this._getParentLayer(ed.selection.getNode()), ci = -1, fi = -1, nl; + + nl = []; + tinymce.walk(ed.getBody(), function(n) { + if (n.nodeType == 1 && /^(absolute|relative|static)$/i.test(n.style.position)) + nl.push(n); + }, 'childNodes'); + + // Find z-indexes + for (i=0; i -1) { + nl[ci].style.zIndex = z[fi]; + nl[fi].style.zIndex = z[ci]; + } else { + if (z[ci] > 0) + nl[ci].style.zIndex = z[ci] - 1; + } + } else { + // Move forward + + // Try find a higher one + for (i=0; i z[ci]) { + fi = i; + break; + } + } + + if (fi > -1) { + nl[ci].style.zIndex = z[fi]; + nl[fi].style.zIndex = z[ci]; + } else + nl[ci].style.zIndex = z[ci] + 1; + } + + ed.execCommand('mceRepaint'); + }, + + _getParentLayer : function(n) { + return this.editor.dom.getParent(n, function(n) { + return n.nodeType == 1 && /^(absolute|relative|static)$/i.test(n.style.position); + }); + }, + + _insertLayer : function() { + var ed = this.editor, p = ed.dom.getPos(ed.dom.getParent(ed.selection.getNode(), '*')); + + ed.dom.add(ed.getBody(), 'div', { + style : { + position : 'absolute', + left : p.x, + top : (p.y > 20 ? p.y : 20), + width : 100, + height : 100 + }, + 'class' : 'mceItemVisualAid' + }, ed.selection.getContent() || ed.getLang('layer.content')); + }, + + _toggleAbsolute : function() { + var ed = this.editor, le = this._getParentLayer(ed.selection.getNode()); + + if (!le) + le = ed.dom.getParent(ed.selection.getNode(), 'DIV,P,IMG'); + + if (le) { + if (le.style.position.toLowerCase() == "absolute") { + ed.dom.setStyles(le, { + position : '', + left : '', + top : '', + width : '', + height : '' + }); + + ed.dom.removeClass(le, 'mceItemVisualAid'); + } else { + if (le.style.left == "") + le.style.left = 20 + 'px'; + + if (le.style.top == "") + le.style.top = 20 + 'px'; + + if (le.style.width == "") + le.style.width = le.width ? (le.width + 'px') : '100px'; + + if (le.style.height == "") + le.style.height = le.height ? (le.height + 'px') : '100px'; + + le.style.position = "absolute"; + + ed.dom.setAttrib(le, 'data-mce-style', ''); + ed.addVisual(ed.getBody()); + } + + ed.execCommand('mceRepaint'); + ed.nodeChanged(); + } + } + }); + + // Register plugin + tinymce.PluginManager.add('layer', tinymce.plugins.Layer); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin.js new file mode 100644 index 00000000..b3a4ce31 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin.js @@ -0,0 +1 @@ +(function(a){a.onAddEditor.addToTop(function(c,b){b.settings.inline_styles=false});a.create("tinymce.plugins.LegacyOutput",{init:function(b){b.onInit.add(function(){var c="p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img",e=a.explode(b.settings.font_size_style_values),d=b.schema;b.formatter.register({alignleft:{selector:c,attributes:{align:"left"}},aligncenter:{selector:c,attributes:{align:"center"}},alignright:{selector:c,attributes:{align:"right"}},alignfull:{selector:c,attributes:{align:"justify"}},bold:[{inline:"b",remove:"all"},{inline:"strong",remove:"all"},{inline:"span",styles:{fontWeight:"bold"}}],italic:[{inline:"i",remove:"all"},{inline:"em",remove:"all"},{inline:"span",styles:{fontStyle:"italic"}}],underline:[{inline:"u",remove:"all"},{inline:"span",styles:{textDecoration:"underline"},exact:true}],strikethrough:[{inline:"strike",remove:"all"},{inline:"span",styles:{textDecoration:"line-through"},exact:true}],fontname:{inline:"font",attributes:{face:"%value"}},fontsize:{inline:"font",attributes:{size:function(f){return a.inArray(e,f.value)+1}}},forecolor:{inline:"font",styles:{color:"%value"}},hilitecolor:{inline:"font",styles:{backgroundColor:"%value"}}});a.each("b,i,u,strike".split(","),function(f){d.addValidElements(f+"[*]")});if(!d.getElementRule("font")){d.addValidElements("font[face|size|color|style]")}a.each(c.split(","),function(f){var h=d.getElementRule(f),g;if(h){if(!h.attributes.align){h.attributes.align={};h.attributesOrder.push("align")}}});b.onNodeChange.add(function(g,k){var j,f,h,i;f=g.dom.getParent(g.selection.getNode(),"font");if(f){h=f.face;i=f.size}if(j=k.get("fontselect")){j.select(function(l){return l==h})}if(j=k.get("fontsizeselect")){j.select(function(m){var l=a.inArray(e,m.fontSize);return l+1==i})}})})},getInfo:function(){return{longname:"LegacyOutput",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/legacyoutput",version:a.majorVersion+"."+a.minorVersion}}});a.PluginManager.add("legacyoutput",a.plugins.LegacyOutput)})(tinymce); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js new file mode 100644 index 00000000..835a45c3 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js @@ -0,0 +1,139 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + * + * This plugin will force TinyMCE to produce deprecated legacy output such as font elements, u elements, align + * attributes and so forth. There are a few cases where these old items might be needed for example in email applications or with Flash + * + * However you should NOT use this plugin if you are building some system that produces web contents such as a CMS. All these elements are + * not apart of the newer specifications for HTML and XHTML. + */ + +(function(tinymce) { + // Override inline_styles setting to force TinyMCE to produce deprecated contents + tinymce.onAddEditor.addToTop(function(tinymce, editor) { + editor.settings.inline_styles = false; + }); + + // Create the legacy ouput plugin + tinymce.create('tinymce.plugins.LegacyOutput', { + init : function(editor) { + editor.onInit.add(function() { + var alignElements = 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img', + fontSizes = tinymce.explode(editor.settings.font_size_style_values), + schema = editor.schema; + + // Override some internal formats to produce legacy elements and attributes + editor.formatter.register({ + // Change alignment formats to use the deprecated align attribute + alignleft : {selector : alignElements, attributes : {align : 'left'}}, + aligncenter : {selector : alignElements, attributes : {align : 'center'}}, + alignright : {selector : alignElements, attributes : {align : 'right'}}, + alignfull : {selector : alignElements, attributes : {align : 'justify'}}, + + // Change the basic formatting elements to use deprecated element types + bold : [ + {inline : 'b', remove : 'all'}, + {inline : 'strong', remove : 'all'}, + {inline : 'span', styles : {fontWeight : 'bold'}} + ], + italic : [ + {inline : 'i', remove : 'all'}, + {inline : 'em', remove : 'all'}, + {inline : 'span', styles : {fontStyle : 'italic'}} + ], + underline : [ + {inline : 'u', remove : 'all'}, + {inline : 'span', styles : {textDecoration : 'underline'}, exact : true} + ], + strikethrough : [ + {inline : 'strike', remove : 'all'}, + {inline : 'span', styles : {textDecoration: 'line-through'}, exact : true} + ], + + // Change font size and font family to use the deprecated font element + fontname : {inline : 'font', attributes : {face : '%value'}}, + fontsize : { + inline : 'font', + attributes : { + size : function(vars) { + return tinymce.inArray(fontSizes, vars.value) + 1; + } + } + }, + + // Setup font elements for colors as well + forecolor : {inline : 'font', styles : {color : '%value'}}, + hilitecolor : {inline : 'font', styles : {backgroundColor : '%value'}} + }); + + // Check that deprecated elements are allowed if not add them + tinymce.each('b,i,u,strike'.split(','), function(name) { + schema.addValidElements(name + '[*]'); + }); + + // Add font element if it's missing + if (!schema.getElementRule("font")) + schema.addValidElements("font[face|size|color|style]"); + + // Add the missing and depreacted align attribute for the serialization engine + tinymce.each(alignElements.split(','), function(name) { + var rule = schema.getElementRule(name), found; + + if (rule) { + if (!rule.attributes.align) { + rule.attributes.align = {}; + rule.attributesOrder.push('align'); + } + } + }); + + // Listen for the onNodeChange event so that we can do special logic for the font size and font name drop boxes + editor.onNodeChange.add(function(editor, control_manager) { + var control, fontElm, fontName, fontSize; + + // Find font element get it's name and size + fontElm = editor.dom.getParent(editor.selection.getNode(), 'font'); + if (fontElm) { + fontName = fontElm.face; + fontSize = fontElm.size; + } + + // Select/unselect the font name in droplist + if (control = control_manager.get('fontselect')) { + control.select(function(value) { + return value == fontName; + }); + } + + // Select/unselect the font size in droplist + if (control = control_manager.get('fontsizeselect')) { + control.select(function(value) { + var index = tinymce.inArray(fontSizes, value.fontSize); + + return index + 1 == fontSize; + }); + } + }); + }); + }, + + getInfo : function() { + return { + longname : 'LegacyOutput', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/legacyoutput', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('legacyoutput', tinymce.plugins.LegacyOutput); +})(tinymce); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/lists/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/lists/editor_plugin.js new file mode 100644 index 00000000..7a17d6d8 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/lists/editor_plugin.js @@ -0,0 +1 @@ +(function(){var e=tinymce.each,r=tinymce.dom.Event,g;function p(t,s){while(t&&(t.nodeType===8||(t.nodeType===3&&/^[ \t\n\r]*$/.test(t.nodeValue)))){t=s(t)}return t}function b(s){return p(s,function(t){return t.previousSibling})}function i(s){return p(s,function(t){return t.nextSibling})}function d(s,u,t){return s.dom.getParent(u,function(v){return tinymce.inArray(t,v)!==-1})}function n(s){return s&&(s.tagName==="OL"||s.tagName==="UL")}function c(u,v){var t,w,s;t=b(u.lastChild);while(n(t)){w=t;t=b(w.previousSibling)}if(w){s=v.create("li",{style:"list-style-type: none;"});v.split(u,w);v.insertAfter(s,w);s.appendChild(w);s.appendChild(w);u=s.previousSibling}return u}function m(t,s,u){t=a(t,s,u);return o(t,s,u)}function a(u,s,v){var t=b(u.previousSibling);if(t){return h(t,u,s?t:false,v)}else{return u}}function o(u,t,v){var s=i(u.nextSibling);if(s){return h(u,s,t?s:false,v)}else{return u}}function h(u,s,t,v){if(l(u,s,!!t,v)){return f(u,s,t)}else{if(u&&u.tagName==="LI"&&n(s)){u.appendChild(s)}}return s}function l(u,t,s,v){if(!u||!t){return false}else{if(u.tagName==="LI"&&t.tagName==="LI"){return t.style.listStyleType==="none"||j(t)}else{if(n(u)){return(u.tagName===t.tagName&&(s||u.style.listStyleType===t.style.listStyleType))||q(t)}else{if(v&&u.tagName==="P"&&t.tagName==="P"){return true}else{return false}}}}}function q(t){var s=i(t.firstChild),u=b(t.lastChild);return s&&u&&n(t)&&s===u&&(n(s)||s.style.listStyleType==="none"||j(s))}function j(u){var t=i(u.firstChild),s=b(u.lastChild);return t&&s&&t===s&&n(t)}function f(w,v,s){var u=b(w.lastChild),t=i(v.firstChild);if(w.tagName==="P"){w.appendChild(w.ownerDocument.createElement("br"))}while(v.firstChild){w.appendChild(v.firstChild)}if(s){w.style.listStyleType=s.style.listStyleType}v.parentNode.removeChild(v);h(u,t,false);return w}function k(t,u){var s;if(!u.is(t,"li,ol,ul")){s=u.getParent(t,"li");if(s){t=s}}return t}tinymce.create("tinymce.plugins.Lists",{init:function(A,y){var w=0;var t=1;var H=2;var J=3;var z=J;function C(M){return M.keyCode===9&&(A.queryCommandState("InsertUnorderedList")||A.queryCommandState("InsertOrderedList"))}function x(){var M=B();var O=M.parentNode.parentNode;var N=M.parentNode.lastChild===M;return N&&!u(O)&&K(M)}function u(M){if(n(M)){return M.parentNode&&M.parentNode.tagName==="LI"}else{return M.tagName==="LI"}}function D(){return A.selection.isCollapsed()&&K(B())}function B(){var M=A.selection.getStart();return((M.tagName=="BR"||M.tagName=="")&&M.parentNode.tagName=="LI")?M.parentNode:M}function K(M){var N=M.childNodes.length;if(M.tagName==="LI"){return N==0?true:N==1&&(M.firstChild.tagName==""||F(M)||G(M))}return false}function F(M){return tinymce.isWebKit&&M.firstChild.nodeName=="BR"}function G(M){var N=tinymce.grep(M.parentNode.childNodes,function(Q){return Q.nodeName=="LI"});var O=M==N[N.length-1];var P=M.firstChild;return tinymce.isIE9&&O&&(P.nodeValue==String.fromCharCode(160)||P.nodeValue==String.fromCharCode(32))}function L(M){return M.keyCode===13}function I(M){if(C(M)){return w}else{if(L(M)&&x()){return H}else{if(L(M)&&D()){return t}else{return J}}}}function s(M,N){if(z==w||z==t){return r.cancel(N)}}function v(P,R){var U;if(!tinymce.isGecko){return}var N=P.selection.getStart();if(R.keyCode!=8||N.tagName!=="IMG"){return}function O(Y){var Z=Y.firstChild;var X=null;do{if(!Z){break}if(Z.tagName==="LI"){X=Z}}while(Z=Z.nextSibling);return X}function W(Y,X){while(Y.childNodes.length>0){X.appendChild(Y.childNodes[0])}}U=N.parentNode.previousSibling;if(!U){return}var S;if(U.tagName==="UL"||U.tagName==="OL"){S=U}else{if(U.previousSibling&&(U.previousSibling.tagName==="UL"||U.previousSibling.tagName==="OL")){S=U.previousSibling}else{return}}var V=O(S);var M=P.dom.createRng();M.setStart(V,1);M.setEnd(V,1);P.selection.setRng(M);P.selection.collapse(true);var Q=P.selection.getBookmark();var T=N.parentNode.cloneNode(true);if(T.tagName==="P"||T.tagName==="DIV"){W(T,V)}else{V.appendChild(T)}N.parentNode.parentNode.removeChild(N.parentNode);P.selection.moveToBookmark(Q)}function E(M){var N=A.dom.getParent(M,"ol,ul");if(N!=null){var O=N.lastChild;O.appendChild(A.getDoc().createElement(""));A.selection.setCursorLocation(O,0)}}this.ed=A;A.addCommand("Indent",this.indent,this);A.addCommand("Outdent",this.outdent,this);A.addCommand("InsertUnorderedList",function(){this.applyList("UL","OL")},this);A.addCommand("InsertOrderedList",function(){this.applyList("OL","UL")},this);A.onInit.add(function(){A.editorCommands.addCommands({outdent:function(){var N=A.selection,O=A.dom;function M(P){P=O.getParent(P,O.isBlock);return P&&(parseInt(A.dom.getStyle(P,"margin-left")||0,10)+parseInt(A.dom.getStyle(P,"padding-left")||0,10))>0}return M(N.getStart())||M(N.getEnd())||A.queryCommandState("InsertOrderedList")||A.queryCommandState("InsertUnorderedList")}},"state")});A.onKeyUp.add(function(N,O){if(z==w){N.execCommand(O.shiftKey?"Outdent":"Indent",true,null);return r.cancel(O)}else{if(z==t){var M=B();var Q=N.settings.list_outdent_on_enter===true||O.shiftKey;N.execCommand(Q?"Outdent":"Indent",true,null);if(tinymce.isIE){E(M)}return r.cancel(O)}else{if(z==H){if(tinymce.isIE8){var P=N.getDoc().createTextNode("\uFEFF");N.selection.getNode().appendChild(P)}else{if(tinymce.isIE9){N.execCommand("Outdent");return r.cancel(O)}}}}}});A.onKeyDown.add(function(M,N){z=I(N)});A.onKeyDown.add(s);A.onKeyDown.add(v);A.onKeyPress.add(s)},applyList:function(y,v){var C=this,z=C.ed,I=z.dom,s=[],H=false,u=false,w=false,B,G=z.selection.getSelectedBlocks();function E(t){if(t&&t.tagName==="BR"){I.remove(t)}}function F(M){var N=I.create(y),t;function L(O){if(O.style.marginLeft||O.style.paddingLeft){C.adjustPaddingFunction(false)(O)}}if(M.tagName==="LI"){}else{if(M.tagName==="P"||M.tagName==="DIV"||M.tagName==="BODY"){K(M,function(P,O,Q){J(P,O,M.tagName==="BODY"?null:P.parentNode);t=P.parentNode;L(t);E(O)});if(M.tagName==="P"||G.length>1){I.split(t.parentNode.parentNode,t.parentNode)}m(t.parentNode,true);return}else{t=I.create("li");I.insertAfter(t,M);t.appendChild(M);L(M);M=t}}I.insertAfter(N,M);N.appendChild(M);m(N,true);s.push(M)}function J(Q,L,O){var t,P=Q,N,M;while(!I.isBlock(Q.parentNode)&&Q.parentNode!==I.getRoot()){Q=I.split(Q.parentNode,Q.previousSibling);Q=Q.nextSibling;P=Q}if(O){t=O.cloneNode(true);Q.parentNode.insertBefore(t,Q);while(t.firstChild){I.remove(t.firstChild)}t=I.rename(t,"li")}else{t=I.create("li");Q.parentNode.insertBefore(t,Q)}while(P&&P!=L){N=P.nextSibling;t.appendChild(P);P=N}if(t.childNodes.length===0){t.innerHTML='
'}F(t)}function K(Q,T){var N,R,O=3,L=1,t="br,ul,ol,p,div,h1,h2,h3,h4,h5,h6,table,blockquote,address,pre,form,center,dl";function P(X,U){var V=I.createRng(),W;g.keep=true;z.selection.moveToBookmark(g);g.keep=false;W=z.selection.getRng(true);if(!U){U=X.parentNode.lastChild}V.setStartBefore(X);V.setEndAfter(U);return !(V.compareBoundaryPoints(O,W)>0||V.compareBoundaryPoints(L,W)<=0)}function S(U){if(U.nextSibling){return U.nextSibling}if(!I.isBlock(U.parentNode)&&U.parentNode!==I.getRoot()){return S(U.parentNode)}}N=Q.firstChild;var M=false;e(I.select(t,Q),function(V){var U;if(V.hasAttribute&&V.hasAttribute("_mce_bogus")){return true}if(P(N,V)){I.addClass(V,"_mce_tagged_br");N=S(V)}});M=(N&&P(N,undefined));N=Q.firstChild;e(I.select(t,Q),function(V){var U=S(V);if(V.hasAttribute&&V.hasAttribute("_mce_bogus")){return true}if(I.hasClass(V,"_mce_tagged_br")){T(N,V,R);R=null}else{R=V}N=U});if(M){T(N,undefined,R)}}function D(t){K(t,function(M,L,N){J(M,L);E(L);E(N)})}function A(t){if(tinymce.inArray(s,t)!==-1){return}if(t.parentNode.tagName===v){I.split(t.parentNode,t);F(t);o(t.parentNode,false)}s.push(t)}function x(M){var O,N,L,t;if(tinymce.inArray(s,M)!==-1){return}M=c(M,I);while(I.is(M.parentNode,"ol,ul,li")){I.split(M.parentNode,M)}s.push(M);M=I.rename(M,"p");L=m(M,false,z.settings.force_br_newlines);if(L===M){O=M.firstChild;while(O){if(I.isBlock(O)){O=I.split(O.parentNode,O);t=true;N=O.nextSibling&&O.nextSibling.firstChild}else{N=O.nextSibling;if(t&&O.tagName==="BR"){I.remove(O)}t=false}O=N}}}e(G,function(t){t=k(t,I);if(t.tagName===v||(t.tagName==="LI"&&t.parentNode.tagName===v)){u=true}else{if(t.tagName===y||(t.tagName==="LI"&&t.parentNode.tagName===y)){H=true}else{w=true}}});if(w||u||G.length===0){B={LI:A,H1:F,H2:F,H3:F,H4:F,H5:F,H6:F,P:F,BODY:F,DIV:G.length>1?F:D,defaultAction:D}}else{B={defaultAction:x}}this.process(B)},indent:function(){var u=this.ed,w=u.dom,x=[];function s(z){var y=w.create("li",{style:"list-style-type: none;"});w.insertAfter(y,z);return y}function t(B){var y=s(B),D=w.getParent(B,"ol,ul"),C=D.tagName,E=w.getStyle(D,"list-style-type"),A={},z;if(E!==""){A.style="list-style-type: "+E+";"}z=w.create(C,A);y.appendChild(z);return z}function v(z){if(!d(u,z,x)){z=c(z,w);var y=t(z);y.appendChild(z);m(y.parentNode,false);m(y,false);x.push(z)}}this.process({LI:v,defaultAction:this.adjustPaddingFunction(true)})},outdent:function(){var v=this,u=v.ed,w=u.dom,s=[];function x(t){var z,y,A;if(!d(u,t,s)){if(w.getStyle(t,"margin-left")!==""||w.getStyle(t,"padding-left")!==""){return v.adjustPaddingFunction(false)(t)}A=w.getStyle(t,"text-align",true);if(A==="center"||A==="right"){w.setStyle(t,"text-align","left");return}t=c(t,w);z=t.parentNode;y=t.parentNode.parentNode;if(y.tagName==="P"){w.split(y,t.parentNode)}else{w.split(z,t);if(y.tagName==="LI"){w.split(y,t)}else{if(!w.is(y,"ol,ul")){w.rename(t,"p")}}}s.push(t)}}this.process({LI:x,defaultAction:this.adjustPaddingFunction(false)});e(s,m)},process:function(x){var B=this,v=B.ed.selection,y=B.ed.dom,A,s;function w(t){y.removeClass(t,"_mce_act_on");if(!t||t.nodeType!==1){return}t=k(t,y);var C=x[t.tagName];if(!C){C=x.defaultAction}C(t)}function u(t){B.splitSafeEach(t.childNodes,w)}function z(t,C){return C>=0&&t.hasChildNodes()&&C0){t=s.shift();w.removeClass(t,"_mce_act_on");u(t);s=w.select("._mce_act_on")}},adjustPaddingFunction:function(u){var s,v,t=this.ed;s=t.settings.indentation;v=/[a-z%]+/i.exec(s);s=parseInt(s,10);return function(w){var y,x;y=parseInt(t.dom.getStyle(w,"margin-left")||0,10)+parseInt(t.dom.getStyle(w,"padding-left")||0,10);if(u){x=y+s}else{x=y-s}t.dom.setStyle(w,"padding-left","");t.dom.setStyle(w,"margin-left",x>0?x+v:"")}},getInfo:function(){return{longname:"Lists",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/lists",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("lists",tinymce.plugins.Lists)}()); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/lists/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/lists/editor_plugin_src.js new file mode 100644 index 00000000..272aa416 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/lists/editor_plugin_src.js @@ -0,0 +1,769 @@ +/** + * editor_plugin_src.js + * + * Copyright 2011, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var each = tinymce.each, Event = tinymce.dom.Event, bookmark; + + // Skips text nodes that only contain whitespace since they aren't semantically important. + function skipWhitespaceNodes(e, next) { + while (e && (e.nodeType === 8 || (e.nodeType === 3 && /^[ \t\n\r]*$/.test(e.nodeValue)))) { + e = next(e); + } + return e; + } + + function skipWhitespaceNodesBackwards(e) { + return skipWhitespaceNodes(e, function(e) { + return e.previousSibling; + }); + } + + function skipWhitespaceNodesForwards(e) { + return skipWhitespaceNodes(e, function(e) { + return e.nextSibling; + }); + } + + function hasParentInList(ed, e, list) { + return ed.dom.getParent(e, function(p) { + return tinymce.inArray(list, p) !== -1; + }); + } + + function isList(e) { + return e && (e.tagName === 'OL' || e.tagName === 'UL'); + } + + function splitNestedLists(element, dom) { + var tmp, nested, wrapItem; + tmp = skipWhitespaceNodesBackwards(element.lastChild); + while (isList(tmp)) { + nested = tmp; + tmp = skipWhitespaceNodesBackwards(nested.previousSibling); + } + if (nested) { + wrapItem = dom.create('li', { style: 'list-style-type: none;'}); + dom.split(element, nested); + dom.insertAfter(wrapItem, nested); + wrapItem.appendChild(nested); + wrapItem.appendChild(nested); + element = wrapItem.previousSibling; + } + return element; + } + + function attemptMergeWithAdjacent(e, allowDifferentListStyles, mergeParagraphs) { + e = attemptMergeWithPrevious(e, allowDifferentListStyles, mergeParagraphs); + return attemptMergeWithNext(e, allowDifferentListStyles, mergeParagraphs); + } + + function attemptMergeWithPrevious(e, allowDifferentListStyles, mergeParagraphs) { + var prev = skipWhitespaceNodesBackwards(e.previousSibling); + if (prev) { + return attemptMerge(prev, e, allowDifferentListStyles ? prev : false, mergeParagraphs); + } else { + return e; + } + } + + function attemptMergeWithNext(e, allowDifferentListStyles, mergeParagraphs) { + var next = skipWhitespaceNodesForwards(e.nextSibling); + if (next) { + return attemptMerge(e, next, allowDifferentListStyles ? next : false, mergeParagraphs); + } else { + return e; + } + } + + function attemptMerge(e1, e2, differentStylesMasterElement, mergeParagraphs) { + if (canMerge(e1, e2, !!differentStylesMasterElement, mergeParagraphs)) { + return merge(e1, e2, differentStylesMasterElement); + } else if (e1 && e1.tagName === 'LI' && isList(e2)) { + // Fix invalidly nested lists. + e1.appendChild(e2); + } + return e2; + } + + function canMerge(e1, e2, allowDifferentListStyles, mergeParagraphs) { + if (!e1 || !e2) { + return false; + } else if (e1.tagName === 'LI' && e2.tagName === 'LI') { + return e2.style.listStyleType === 'none' || containsOnlyAList(e2); + } else if (isList(e1)) { + return (e1.tagName === e2.tagName && (allowDifferentListStyles || e1.style.listStyleType === e2.style.listStyleType)) || isListForIndent(e2); + } else if (mergeParagraphs && e1.tagName === 'P' && e2.tagName === 'P') { + return true; + } else { + return false; + } + } + + function isListForIndent(e) { + var firstLI = skipWhitespaceNodesForwards(e.firstChild), lastLI = skipWhitespaceNodesBackwards(e.lastChild); + return firstLI && lastLI && isList(e) && firstLI === lastLI && (isList(firstLI) || firstLI.style.listStyleType === 'none' || containsOnlyAList(firstLI)); + } + + function containsOnlyAList(e) { + var firstChild = skipWhitespaceNodesForwards(e.firstChild), lastChild = skipWhitespaceNodesBackwards(e.lastChild); + return firstChild && lastChild && firstChild === lastChild && isList(firstChild); + } + + function merge(e1, e2, masterElement) { + var lastOriginal = skipWhitespaceNodesBackwards(e1.lastChild), firstNew = skipWhitespaceNodesForwards(e2.firstChild); + if (e1.tagName === 'P') { + e1.appendChild(e1.ownerDocument.createElement('br')); + } + while (e2.firstChild) { + e1.appendChild(e2.firstChild); + } + if (masterElement) { + e1.style.listStyleType = masterElement.style.listStyleType; + } + e2.parentNode.removeChild(e2); + attemptMerge(lastOriginal, firstNew, false); + return e1; + } + + function findItemToOperateOn(e, dom) { + var item; + if (!dom.is(e, 'li,ol,ul')) { + item = dom.getParent(e, 'li'); + if (item) { + e = item; + } + } + return e; + } + + tinymce.create('tinymce.plugins.Lists', { + init: function(ed, url) { + var LIST_TABBING = 0; + var LIST_EMPTY_ITEM = 1; + var LIST_ESCAPE = 2; + var LIST_UNKNOWN = 3; + var state = LIST_UNKNOWN; + + function isTabInList(e) { + return e.keyCode === 9 && (ed.queryCommandState('InsertUnorderedList') || ed.queryCommandState('InsertOrderedList')); + } + + function isOnLastListItem() { + var li = getLi(); + var grandParent = li.parentNode.parentNode; + var isLastItem = li.parentNode.lastChild === li; + return isLastItem && !isNestedList(grandParent) && isEmptyListItem(li); + } + + function isNestedList(grandParent) { + if (isList(grandParent)) { + return grandParent.parentNode && grandParent.parentNode.tagName === 'LI'; + } else { + return grandParent.tagName === 'LI'; + } + } + + function isInEmptyListItem() { + return ed.selection.isCollapsed() && isEmptyListItem(getLi()); + } + + function getLi() { + var n = ed.selection.getStart(); + // Get start will return BR if the LI only contains a BR or an empty element as we use these to fix caret position + return ((n.tagName == 'BR' || n.tagName == '') && n.parentNode.tagName == 'LI') ? n.parentNode : n; + } + + function isEmptyListItem(li) { + var numChildren = li.childNodes.length; + if (li.tagName === 'LI') { + return numChildren == 0 ? true : numChildren == 1 && (li.firstChild.tagName == '' || isEmptyWebKitLi(li) || isEmptyIE9Li(li)); + } + return false; + } + + function isEmptyWebKitLi(li) { + // Check for empty LI or a LI with just a child that is a BR since Gecko and WebKit uses BR elements to place the caret + return tinymce.isWebKit && li.firstChild.nodeName == 'BR'; + } + + function isEmptyIE9Li(li) { + // only consider this to be last item if there is no list item content or that content is nbsp or space since IE9 creates these + var lis = tinymce.grep(li.parentNode.childNodes, function(n) {return n.nodeName == 'LI'}); + var isLastLi = li == lis[lis.length - 1]; + var child = li.firstChild; + return tinymce.isIE9 && isLastLi && (child.nodeValue == String.fromCharCode(160) || child.nodeValue == String.fromCharCode(32)); + } + + function isEnter(e) { + return e.keyCode === 13; + } + + function getListKeyState(e) { + if (isTabInList(e)) { + return LIST_TABBING; + } else if (isEnter(e) && isOnLastListItem()) { + return LIST_ESCAPE; + } else if (isEnter(e) && isInEmptyListItem()) { + return LIST_EMPTY_ITEM; + } else { + return LIST_UNKNOWN; + } + } + + function cancelEnterAndTab(_, e) { + if (state == LIST_TABBING || state == LIST_EMPTY_ITEM) { + return Event.cancel(e); + } + } + + function imageJoiningListItem(ed, e) { + var prevSibling; + + if (!tinymce.isGecko) + return; + + var n = ed.selection.getStart(); + if (e.keyCode != 8 || n.tagName !== 'IMG') + return; + + function lastLI(node) { + var child = node.firstChild; + var li = null; + do { + if (!child) + break; + + if (child.tagName === 'LI') + li = child; + } while (child = child.nextSibling); + + return li; + } + + function addChildren(parentNode, destination) { + while (parentNode.childNodes.length > 0) + destination.appendChild(parentNode.childNodes[0]); + } + + // Check if there is a previous sibling + prevSibling = n.parentNode.previousSibling; + if (!prevSibling) + return; + + var ul; + if (prevSibling.tagName === 'UL' || prevSibling.tagName === 'OL') + ul = prevSibling; + else if (prevSibling.previousSibling && (prevSibling.previousSibling.tagName === 'UL' || prevSibling.previousSibling.tagName === 'OL')) + ul = prevSibling.previousSibling; + else + return; + + var li = lastLI(ul); + + // move the caret to the end of the list item + var rng = ed.dom.createRng(); + rng.setStart(li, 1); + rng.setEnd(li, 1); + ed.selection.setRng(rng); + ed.selection.collapse(true); + + // save a bookmark at the end of the list item + var bookmark = ed.selection.getBookmark(); + + // copy the image an its text to the list item + var clone = n.parentNode.cloneNode(true); + if (clone.tagName === 'P' || clone.tagName === 'DIV') + addChildren(clone, li); + else + li.appendChild(clone); + + // remove the old copy of the image + n.parentNode.parentNode.removeChild(n.parentNode); + + // move the caret where we saved the bookmark + ed.selection.moveToBookmark(bookmark); + } + + // fix the cursor position to ensure it is correct in IE + function setCursorPositionToOriginalLi(li) { + var list = ed.dom.getParent(li, 'ol,ul'); + if (list != null) { + var lastLi = list.lastChild; + lastLi.appendChild(ed.getDoc().createElement('')); + ed.selection.setCursorLocation(lastLi, 0); + } + } + + this.ed = ed; + ed.addCommand('Indent', this.indent, this); + ed.addCommand('Outdent', this.outdent, this); + ed.addCommand('InsertUnorderedList', function() { + this.applyList('UL', 'OL'); + }, this); + ed.addCommand('InsertOrderedList', function() { + this.applyList('OL', 'UL'); + }, this); + + ed.onInit.add(function() { + ed.editorCommands.addCommands({ + 'outdent': function() { + var sel = ed.selection, dom = ed.dom; + + function hasStyleIndent(n) { + n = dom.getParent(n, dom.isBlock); + return n && (parseInt(ed.dom.getStyle(n, 'margin-left') || 0, 10) + parseInt(ed.dom.getStyle(n, 'padding-left') || 0, 10)) > 0; + } + + return hasStyleIndent(sel.getStart()) || hasStyleIndent(sel.getEnd()) || ed.queryCommandState('InsertOrderedList') || ed.queryCommandState('InsertUnorderedList'); + } + }, 'state'); + }); + + ed.onKeyUp.add(function(ed, e) { + if (state == LIST_TABBING) { + ed.execCommand(e.shiftKey ? 'Outdent' : 'Indent', true, null); + return Event.cancel(e); + } else if (state == LIST_EMPTY_ITEM) { + var li = getLi(); + var shouldOutdent = ed.settings.list_outdent_on_enter === true || e.shiftKey; + ed.execCommand(shouldOutdent ? 'Outdent' : 'Indent', true, null); + if (tinymce.isIE) { + setCursorPositionToOriginalLi(li); + } + return Event.cancel(e); + } else if (state == LIST_ESCAPE) { + if (tinymce.isIE8) { + // append a zero sized nbsp so that caret is positioned correctly in IE8 after escaping and applying formatting. + // if there is no text then applying formatting for e.g a H1 to the P tag immediately following list after + // escaping from it will cause the caret to be positioned on the last li instead of staying the in P tag. + var n = ed.getDoc().createTextNode('\uFEFF'); + ed.selection.getNode().appendChild(n); + } else if (tinymce.isIE9) { + // IE9 does not escape the list so we use outdent to do this and cancel the default behaviour + ed.execCommand('Outdent'); + return Event.cancel(e); + } + } + }); + ed.onKeyDown.add(function(_, e) { state = getListKeyState(e); }); + ed.onKeyDown.add(cancelEnterAndTab); + ed.onKeyDown.add(imageJoiningListItem); + ed.onKeyPress.add(cancelEnterAndTab); + }, + + applyList: function(targetListType, oppositeListType) { + var t = this, ed = t.ed, dom = ed.dom, applied = [], hasSameType = false, hasOppositeType = false, hasNonList = false, actions, + selectedBlocks = ed.selection.getSelectedBlocks(); + + function cleanupBr(e) { + if (e && e.tagName === 'BR') { + dom.remove(e); + } + } + + function makeList(element) { + var list = dom.create(targetListType), li; + + function adjustIndentForNewList(element) { + // If there's a margin-left, outdent one level to account for the extra list margin. + if (element.style.marginLeft || element.style.paddingLeft) { + t.adjustPaddingFunction(false)(element); + } + } + + if (element.tagName === 'LI') { + // No change required. + } else if (element.tagName === 'P' || element.tagName === 'DIV' || element.tagName === 'BODY') { + processBrs(element, function(startSection, br, previousBR) { + doWrapList(startSection, br, element.tagName === 'BODY' ? null : startSection.parentNode); + li = startSection.parentNode; + adjustIndentForNewList(li); + cleanupBr(br); + }); + if (element.tagName === 'P' || selectedBlocks.length > 1) { + dom.split(li.parentNode.parentNode, li.parentNode); + } + attemptMergeWithAdjacent(li.parentNode, true); + return; + } else { + // Put the list around the element. + li = dom.create('li'); + dom.insertAfter(li, element); + li.appendChild(element); + adjustIndentForNewList(element); + element = li; + } + dom.insertAfter(list, element); + list.appendChild(element); + attemptMergeWithAdjacent(list, true); + applied.push(element); + } + + function doWrapList(start, end, template) { + var li, n = start, tmp, i; + while (!dom.isBlock(start.parentNode) && start.parentNode !== dom.getRoot()) { + start = dom.split(start.parentNode, start.previousSibling); + start = start.nextSibling; + n = start; + } + if (template) { + li = template.cloneNode(true); + start.parentNode.insertBefore(li, start); + while (li.firstChild) dom.remove(li.firstChild); + li = dom.rename(li, 'li'); + } else { + li = dom.create('li'); + start.parentNode.insertBefore(li, start); + } + while (n && n != end) { + tmp = n.nextSibling; + li.appendChild(n); + n = tmp; + } + if (li.childNodes.length === 0) { + li.innerHTML = '
'; + } + makeList(li); + } + + function processBrs(element, callback) { + var startSection, previousBR, END_TO_START = 3, START_TO_END = 1, + breakElements = 'br,ul,ol,p,div,h1,h2,h3,h4,h5,h6,table,blockquote,address,pre,form,center,dl'; + + function isAnyPartSelected(start, end) { + var r = dom.createRng(), sel; + bookmark.keep = true; + ed.selection.moveToBookmark(bookmark); + bookmark.keep = false; + sel = ed.selection.getRng(true); + if (!end) { + end = start.parentNode.lastChild; + } + r.setStartBefore(start); + r.setEndAfter(end); + return !(r.compareBoundaryPoints(END_TO_START, sel) > 0 || r.compareBoundaryPoints(START_TO_END, sel) <= 0); + } + + function nextLeaf(br) { + if (br.nextSibling) + return br.nextSibling; + if (!dom.isBlock(br.parentNode) && br.parentNode !== dom.getRoot()) + return nextLeaf(br.parentNode); + } + + // Split on BRs within the range and process those. + startSection = element.firstChild; + // First mark the BRs that have any part of the previous section selected. + var trailingContentSelected = false; + each(dom.select(breakElements, element), function(br) { + var b; + if (br.hasAttribute && br.hasAttribute('_mce_bogus')) { + return true; // Skip the bogus Brs that are put in to appease Firefox and Safari. + } + if (isAnyPartSelected(startSection, br)) { + dom.addClass(br, '_mce_tagged_br'); + startSection = nextLeaf(br); + } + }); + trailingContentSelected = (startSection && isAnyPartSelected(startSection, undefined)); + startSection = element.firstChild; + each(dom.select(breakElements, element), function(br) { + // Got a section from start to br. + var tmp = nextLeaf(br); + if (br.hasAttribute && br.hasAttribute('_mce_bogus')) { + return true; // Skip the bogus Brs that are put in to appease Firefox and Safari. + } + if (dom.hasClass(br, '_mce_tagged_br')) { + callback(startSection, br, previousBR); + previousBR = null; + } else { + previousBR = br; + } + startSection = tmp; + }); + if (trailingContentSelected) { + callback(startSection, undefined, previousBR); + } + } + + function wrapList(element) { + processBrs(element, function(startSection, br, previousBR) { + // Need to indent this part + doWrapList(startSection, br); + cleanupBr(br); + cleanupBr(previousBR); + }); + } + + function changeList(element) { + if (tinymce.inArray(applied, element) !== -1) { + return; + } + if (element.parentNode.tagName === oppositeListType) { + dom.split(element.parentNode, element); + makeList(element); + attemptMergeWithNext(element.parentNode, false); + } + applied.push(element); + } + + function convertListItemToParagraph(element) { + var child, nextChild, mergedElement, splitLast; + if (tinymce.inArray(applied, element) !== -1) { + return; + } + element = splitNestedLists(element, dom); + while (dom.is(element.parentNode, 'ol,ul,li')) { + dom.split(element.parentNode, element); + } + // Push the original element we have from the selection, not the renamed one. + applied.push(element); + element = dom.rename(element, 'p'); + mergedElement = attemptMergeWithAdjacent(element, false, ed.settings.force_br_newlines); + if (mergedElement === element) { + // Now split out any block elements that can't be contained within a P. + // Manually iterate to ensure we handle modifications correctly (doesn't work with tinymce.each) + child = element.firstChild; + while (child) { + if (dom.isBlock(child)) { + child = dom.split(child.parentNode, child); + splitLast = true; + nextChild = child.nextSibling && child.nextSibling.firstChild; + } else { + nextChild = child.nextSibling; + if (splitLast && child.tagName === 'BR') { + dom.remove(child); + } + splitLast = false; + } + child = nextChild; + } + } + } + + each(selectedBlocks, function(e) { + e = findItemToOperateOn(e, dom); + if (e.tagName === oppositeListType || (e.tagName === 'LI' && e.parentNode.tagName === oppositeListType)) { + hasOppositeType = true; + } else if (e.tagName === targetListType || (e.tagName === 'LI' && e.parentNode.tagName === targetListType)) { + hasSameType = true; + } else { + hasNonList = true; + } + }); + + if (hasNonList || hasOppositeType || selectedBlocks.length === 0) { + actions = { + 'LI': changeList, + 'H1': makeList, + 'H2': makeList, + 'H3': makeList, + 'H4': makeList, + 'H5': makeList, + 'H6': makeList, + 'P': makeList, + 'BODY': makeList, + 'DIV': selectedBlocks.length > 1 ? makeList : wrapList, + defaultAction: wrapList + }; + } else { + actions = { + defaultAction: convertListItemToParagraph + }; + } + this.process(actions); + }, + + indent: function() { + var ed = this.ed, dom = ed.dom, indented = []; + + function createWrapItem(element) { + var wrapItem = dom.create('li', { style: 'list-style-type: none;'}); + dom.insertAfter(wrapItem, element); + return wrapItem; + } + + function createWrapList(element) { + var wrapItem = createWrapItem(element), + list = dom.getParent(element, 'ol,ul'), + listType = list.tagName, + listStyle = dom.getStyle(list, 'list-style-type'), + attrs = {}, + wrapList; + if (listStyle !== '') { + attrs.style = 'list-style-type: ' + listStyle + ';'; + } + wrapList = dom.create(listType, attrs); + wrapItem.appendChild(wrapList); + return wrapList; + } + + function indentLI(element) { + if (!hasParentInList(ed, element, indented)) { + element = splitNestedLists(element, dom); + var wrapList = createWrapList(element); + wrapList.appendChild(element); + attemptMergeWithAdjacent(wrapList.parentNode, false); + attemptMergeWithAdjacent(wrapList, false); + indented.push(element); + } + } + + this.process({ + 'LI': indentLI, + defaultAction: this.adjustPaddingFunction(true) + }); + + }, + + outdent: function() { + var t = this, ed = t.ed, dom = ed.dom, outdented = []; + + function outdentLI(element) { + var listElement, targetParent, align; + if (!hasParentInList(ed, element, outdented)) { + if (dom.getStyle(element, 'margin-left') !== '' || dom.getStyle(element, 'padding-left') !== '') { + return t.adjustPaddingFunction(false)(element); + } + align = dom.getStyle(element, 'text-align', true); + if (align === 'center' || align === 'right') { + dom.setStyle(element, 'text-align', 'left'); + return; + } + element = splitNestedLists(element, dom); + listElement = element.parentNode; + targetParent = element.parentNode.parentNode; + if (targetParent.tagName === 'P') { + dom.split(targetParent, element.parentNode); + } else { + dom.split(listElement, element); + if (targetParent.tagName === 'LI') { + // Nested list, need to split the LI and go back out to the OL/UL element. + dom.split(targetParent, element); + } else if (!dom.is(targetParent, 'ol,ul')) { + dom.rename(element, 'p'); + } + } + outdented.push(element); + } + } + + this.process({ + 'LI': outdentLI, + defaultAction: this.adjustPaddingFunction(false) + }); + + each(outdented, attemptMergeWithAdjacent); + }, + + process: function(actions) { + var t = this, sel = t.ed.selection, dom = t.ed.dom, selectedBlocks, r; + + function processElement(element) { + dom.removeClass(element, '_mce_act_on'); + if (!element || element.nodeType !== 1) { + return; + } + element = findItemToOperateOn(element, dom); + var action = actions[element.tagName]; + if (!action) { + action = actions.defaultAction; + } + action(element); + } + + function recurse(element) { + t.splitSafeEach(element.childNodes, processElement); + } + + function brAtEdgeOfSelection(container, offset) { + return offset >= 0 && container.hasChildNodes() && offset < container.childNodes.length && + container.childNodes[offset].tagName === 'BR'; + } + + selectedBlocks = sel.getSelectedBlocks(); + if (selectedBlocks.length === 0) { + selectedBlocks = [ dom.getRoot() ]; + } + + r = sel.getRng(true); + if (!r.collapsed) { + if (brAtEdgeOfSelection(r.endContainer, r.endOffset - 1)) { + r.setEnd(r.endContainer, r.endOffset - 1); + sel.setRng(r); + } + if (brAtEdgeOfSelection(r.startContainer, r.startOffset)) { + r.setStart(r.startContainer, r.startOffset + 1); + sel.setRng(r); + } + } + bookmark = sel.getBookmark(); + actions.OL = actions.UL = recurse; + t.splitSafeEach(selectedBlocks, processElement); + sel.moveToBookmark(bookmark); + bookmark = null; + // Avoids table or image handles being left behind in Firefox. + t.ed.execCommand('mceRepaint'); + }, + + splitSafeEach: function(elements, f) { + if (tinymce.isGecko && (/Firefox\/[12]\.[0-9]/.test(navigator.userAgent) || + /Firefox\/3\.[0-4]/.test(navigator.userAgent))) { + this.classBasedEach(elements, f); + } else { + each(elements, f); + } + }, + + classBasedEach: function(elements, f) { + var dom = this.ed.dom, nodes, element; + // Mark nodes + each(elements, function(element) { + dom.addClass(element, '_mce_act_on'); + }); + nodes = dom.select('._mce_act_on'); + while (nodes.length > 0) { + element = nodes.shift(); + dom.removeClass(element, '_mce_act_on'); + f(element); + nodes = dom.select('._mce_act_on'); + } + }, + + adjustPaddingFunction: function(isIndent) { + var indentAmount, indentUnits, ed = this.ed; + indentAmount = ed.settings.indentation; + indentUnits = /[a-z%]+/i.exec(indentAmount); + indentAmount = parseInt(indentAmount, 10); + return function(element) { + var currentIndent, newIndentAmount; + currentIndent = parseInt(ed.dom.getStyle(element, 'margin-left') || 0, 10) + parseInt(ed.dom.getStyle(element, 'padding-left') || 0, 10); + if (isIndent) { + newIndentAmount = currentIndent + indentAmount; + } else { + newIndentAmount = currentIndent - indentAmount; + } + ed.dom.setStyle(element, 'padding-left', ''); + ed.dom.setStyle(element, 'margin-left', newIndentAmount > 0 ? newIndentAmount + indentUnits : ''); + }; + }, + + getInfo: function() { + return { + longname : 'Lists', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/lists', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + tinymce.PluginManager.add("lists", tinymce.plugins.Lists); +}()); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/css/media.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/css/media.css new file mode 100644 index 00000000..fd04898c --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/css/media.css @@ -0,0 +1,17 @@ +#id, #name, #hspace, #vspace, #class_name, #align { width: 100px } +#hspace, #vspace { width: 50px } +#flash_quality, #flash_align, #flash_scale, #flash_salign, #flash_wmode { width: 100px } +#flash_base, #flash_flashvars, #html5_altsource1, #html5_altsource2, #html5_poster { width: 240px } +#width, #height { width: 40px } +#src, #media_type { width: 250px } +#class { width: 120px } +#prev { margin: 0; border: 1px solid black; width: 380px; height: 260px; overflow: auto } +.panel_wrapper div.current { height: 420px; overflow: auto } +#flash_options, #shockwave_options, #qt_options, #wmp_options, #rmp_options { display: none } +.mceAddSelectValue { background-color: #DDDDDD } +#qt_starttime, #qt_endtime, #qt_fov, #qt_href, #qt_moveid, #qt_moviename, #qt_node, #qt_pan, #qt_qtsrc, #qt_qtsrcchokespeed, #qt_target, #qt_tilt, #qt_urlsubstituten, #qt_volume { width: 70px } +#wmp_balance, #wmp_baseurl, #wmp_captioningid, #wmp_currentmarker, #wmp_currentposition, #wmp_defaultframe, #wmp_playcount, #wmp_rate, #wmp_uimode, #wmp_volume { width: 70px } +#rmp_console, #rmp_numloop, #rmp_controls, #rmp_scriptcallbacks { width: 70px } +#shockwave_swvolume, #shockwave_swframe, #shockwave_swurl, #shockwave_swstretchvalign, #shockwave_swstretchhalign, #shockwave_swstretchstyle { width: 90px } +#qt_qtsrc { width: 200px } +iframe {border: 1px solid gray} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/editor_plugin.js new file mode 100644 index 00000000..f89959e2 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/editor_plugin.js @@ -0,0 +1 @@ +(function(){var d=tinymce.explode("id,name,width,height,style,align,class,hspace,vspace,bgcolor,type"),h=tinymce.makeMap(d.join(",")),b=tinymce.html.Node,f,a,g=tinymce.util.JSON,e;f=[["Flash","d27cdb6e-ae6d-11cf-96b8-444553540000","application/x-shockwave-flash","http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"],["ShockWave","166b1bca-3f9c-11cf-8075-444553540000","application/x-director","http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0"],["WindowsMedia","6bf52a52-394a-11d3-b153-00c04f79faa6,22d6f312-b0f6-11d0-94ab-0080c74c7e95,05589fa1-c356-11ce-bf01-00aa0055595a","application/x-mplayer2","http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701"],["QuickTime","02bf25d5-8c17-4b23-bc80-d3488abddc6b","video/quicktime","http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0"],["RealMedia","cfcdaa03-8be4-11cf-b84b-0020afbbccfa","audio/x-pn-realaudio-plugin","http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"],["Java","8ad9c840-044e-11d1-b3e9-00805f499d93","application/x-java-applet","http://java.sun.com/products/plugin/autodl/jinstall-1_5_0-windows-i586.cab#Version=1,5,0,0"],["Silverlight","dfeaf541-f3e1-4c24-acac-99c30715084a","application/x-silverlight-2"],["Iframe"],["Video"],["Audio"]];function c(m){var l,j,k;if(m&&!m.splice){j=[];for(k=0;true;k++){if(m[k]){j[k]=m[k]}else{break}}return j}return m}tinymce.create("tinymce.plugins.MediaPlugin",{init:function(n,j){var r=this,l={},m,p,q,k;function o(i){return i&&i.nodeName==="IMG"&&n.dom.hasClass(i,"mceItemMedia")}r.editor=n;r.url=j;a="";for(m=0;m0){M+=(M?"&":"")+N+"="+escape(O)}});if(M.length){E.params.flashvars=M}J=o.getParam("flash_video_player_params",{allowfullscreen:true,allowscriptaccess:true});tinymce.each(J,function(O,N){E.params[N]=""+O})}}E=x.attr("data-mce-json");if(!E){return}E=g.parse(E);p=this.getType(x.attr("class"));z=x.attr("data-mce-style");if(!z){z=x.attr("style");if(z){z=o.dom.serializeStyle(o.dom.parseStyle(z,"img"))}}if(p.name==="Iframe"){v=new b("iframe",1);tinymce.each(d,function(i){var H=x.attr(i);if(i=="class"&&H){H=H.replace(/mceItem.+ ?/g,"")}if(H&&H.length>0){v.attr(i,H)}});for(G in E.params){v.attr(G,E.params[G])}v.attr({style:z,src:E.params.src});x.replace(v);return}if(this.editor.settings.media_use_script){v=new b("script",1).attr("type","text/javascript");w=new b("#text",3);w.value="write"+p.name+"("+g.serialize(tinymce.extend(E.params,{width:x.attr("width"),height:x.attr("height")}))+");";v.append(w);x.replace(v);return}if(p.name==="Video"&&E.video.sources[0]){A=new b("video",1).attr(tinymce.extend({id:x.attr("id"),width:x.attr("width"),height:x.attr("height"),style:z},E.video.attrs));if(E.video.attrs){l=E.video.attrs.poster}k=E.video.sources=c(E.video.sources);for(y=0;y 0) + flashVarsOutput += (flashVarsOutput ? '&' : '') + name + '=' + escape(value); + }); + + if (flashVarsOutput.length) + data.params.flashvars = flashVarsOutput; + + params = editor.getParam('flash_video_player_params', { + allowfullscreen: true, + allowscriptaccess: true + }); + + tinymce.each(params, function(value, name) { + data.params[name] = "" + value; + }); + } + }; + + data = node.attr('data-mce-json'); + if (!data) + return; + + data = JSON.parse(data); + typeItem = this.getType(node.attr('class')); + + style = node.attr('data-mce-style') + if (!style) { + style = node.attr('style'); + + if (style) + style = editor.dom.serializeStyle(editor.dom.parseStyle(style, 'img')); + } + + // Handle iframe + if (typeItem.name === 'Iframe') { + replacement = new Node('iframe', 1); + + tinymce.each(rootAttributes, function(name) { + var value = node.attr(name); + + if (name == 'class' && value) + value = value.replace(/mceItem.+ ?/g, ''); + + if (value && value.length > 0) + replacement.attr(name, value); + }); + + for (name in data.params) + replacement.attr(name, data.params[name]); + + replacement.attr({ + style: style, + src: data.params.src + }); + + node.replace(replacement); + + return; + } + + // Handle scripts + if (this.editor.settings.media_use_script) { + replacement = new Node('script', 1).attr('type', 'text/javascript'); + + value = new Node('#text', 3); + value.value = 'write' + typeItem.name + '(' + JSON.serialize(tinymce.extend(data.params, { + width: node.attr('width'), + height: node.attr('height') + })) + ');'; + + replacement.append(value); + node.replace(replacement); + + return; + } + + // Add HTML5 video element + if (typeItem.name === 'Video' && data.video.sources[0]) { + // Create new object element + video = new Node('video', 1).attr(tinymce.extend({ + id : node.attr('id'), + width: node.attr('width'), + height: node.attr('height'), + style : style + }, data.video.attrs)); + + // Get poster source and use that for flash fallback + if (data.video.attrs) + posterSrc = data.video.attrs.poster; + + sources = data.video.sources = toArray(data.video.sources); + for (i = 0; i < sources.length; i++) { + if (/\.mp4$/.test(sources[i].src)) + mp4Source = sources[i].src; + } + + if (!sources[0].type) { + video.attr('src', sources[0].src); + sources.splice(0, 1); + } + + for (i = 0; i < sources.length; i++) { + source = new Node('source', 1).attr(sources[i]); + source.shortEnded = true; + video.append(source); + } + + // Create flash fallback for video if we have a mp4 source + if (mp4Source) { + addPlayer(mp4Source, posterSrc); + typeItem = self.getType('flash'); + } else + data.params.src = ''; + } + + // Add HTML5 audio element + if (typeItem.name === 'Audio' && data.video.sources[0]) { + // Create new object element + audio = new Node('audio', 1).attr(tinymce.extend({ + id : node.attr('id'), + width: node.attr('width'), + height: node.attr('height'), + style : style + }, data.video.attrs)); + + // Get poster source and use that for flash fallback + if (data.video.attrs) + posterSrc = data.video.attrs.poster; + + sources = data.video.sources = toArray(data.video.sources); + if (!sources[0].type) { + audio.attr('src', sources[0].src); + sources.splice(0, 1); + } + + for (i = 0; i < sources.length; i++) { + source = new Node('source', 1).attr(sources[i]); + source.shortEnded = true; + audio.append(source); + } + + data.params.src = ''; + } + + // Do we have a params src then we can generate object + if (data.params.src) { + // Is flv movie add player for it + if (/\.flv$/i.test(data.params.src)) + addPlayer(data.params.src, ''); + + if (args && args.force_absolute) + data.params.src = editor.documentBaseURI.toAbsolute(data.params.src); + + // Create new object element + object = new Node('object', 1).attr({ + id : node.attr('id'), + width: node.attr('width'), + height: node.attr('height'), + style : style + }); + + tinymce.each(rootAttributes, function(name) { + if (data[name] && name != 'type') + object.attr(name, data[name]); + }); + + // Add params + for (name in data.params) { + param = new Node('param', 1); + param.shortEnded = true; + value = data.params[name]; + + // Windows media needs to use url instead of src for the media URL + if (name === 'src' && typeItem.name === 'WindowsMedia') + name = 'url'; + + param.attr({name: name, value: value}); + object.append(param); + } + + // Setup add type and classid if strict is disabled + if (this.editor.getParam('media_strict', true)) { + object.attr({ + data: data.params.src, + type: typeItem.mimes[0] + }); + } else { + object.attr({ + classid: "clsid:" + typeItem.clsids[0], + codebase: typeItem.codebase + }); + + embed = new Node('embed', 1); + embed.shortEnded = true; + embed.attr({ + id: node.attr('id'), + width: node.attr('width'), + height: node.attr('height'), + style : style, + type: typeItem.mimes[0] + }); + + for (name in data.params) + embed.attr(name, data.params[name]); + + tinymce.each(rootAttributes, function(name) { + if (data[name] && name != 'type') + embed.attr(name, data[name]); + }); + + object.append(embed); + } + + // Insert raw HTML + if (data.object_html) { + value = new Node('#text', 3); + value.raw = true; + value.value = data.object_html; + object.append(value); + } + + // Append object to video element if it exists + if (video) + video.append(object); + } + + if (video) { + // Insert raw HTML + if (data.video_html) { + value = new Node('#text', 3); + value.raw = true; + value.value = data.video_html; + video.append(value); + } + } + + if (audio) { + // Insert raw HTML + if (data.video_html) { + value = new Node('#text', 3); + value.raw = true; + value.value = data.video_html; + audio.append(value); + } + } + + if (video || audio || object) + node.replace(video || audio || object); + else + node.remove(); + }, + + /** + * Converts a tinymce.html.Node video/object/embed to an img element. + * + * The video/object/embed will be converted into an image placeholder with a JSON data attribute like this: + * + * + * The JSON structure will be like this: + * {'params':{'flashvars':'something','quality':'high','src':'someurl'}, 'video':{'sources':[{src: 'someurl', type: 'video/mp4'}]}} + */ + objectToImg : function(node) { + var object, embed, video, iframe, img, name, id, width, height, style, i, html, + param, params, source, sources, data, type, lookup = this.lookup, + matches, attrs, urlConverter = this.editor.settings.url_converter, + urlConverterScope = this.editor.settings.url_converter_scope; + + function getInnerHTML(node) { + return new tinymce.html.Serializer({ + inner: true, + validate: false + }).serialize(node); + }; + + // If node isn't in document + if (!node.parent) + return; + + // Handle media scripts + if (node.name === 'script') { + if (node.firstChild) + matches = scriptRegExp.exec(node.firstChild.value); + + if (!matches) + return; + + type = matches[1]; + data = {video : {}, params : JSON.parse(matches[2])}; + width = data.params.width; + height = data.params.height; + } + + // Setup data objects + data = data || { + video : {}, + params : {} + }; + + // Setup new image object + img = new Node('img', 1); + img.attr({ + src : this.editor.theme.url + '/img/trans.gif' + }); + + // Video element + name = node.name; + if (name === 'video' || name == 'audio') { + video = node; + object = node.getAll('object')[0]; + embed = node.getAll('embed')[0]; + width = video.attr('width'); + height = video.attr('height'); + id = video.attr('id'); + data.video = {attrs : {}, sources : []}; + + // Get all video attributes + attrs = data.video.attrs; + for (name in video.attributes.map) + attrs[name] = video.attributes.map[name]; + + source = node.attr('src'); + if (source) + data.video.sources.push({src : urlConverter.call(urlConverterScope, source, 'src', node.name)}); + + // Get all sources + sources = video.getAll("source"); + for (i = 0; i < sources.length; i++) { + source = sources[i].remove(); + + data.video.sources.push({ + src: urlConverter.call(urlConverterScope, source.attr('src'), 'src', 'source'), + type: source.attr('type'), + media: source.attr('media') + }); + } + + // Convert the poster URL + if (attrs.poster) + attrs.poster = urlConverter.call(urlConverterScope, attrs.poster, 'poster', node.name); + } + + // Object element + if (node.name === 'object') { + object = node; + embed = node.getAll('embed')[0]; + } + + // Embed element + if (node.name === 'embed') + embed = node; + + // Iframe element + if (node.name === 'iframe') { + iframe = node; + type = 'Iframe'; + } + + if (object) { + // Get width/height + width = width || object.attr('width'); + height = height || object.attr('height'); + style = style || object.attr('style'); + id = id || object.attr('id'); + + // Get all object params + params = object.getAll("param"); + for (i = 0; i < params.length; i++) { + param = params[i]; + name = param.remove().attr('name'); + + if (!excludedAttrs[name]) + data.params[name] = param.attr('value'); + } + + data.params.src = data.params.src || object.attr('data'); + } + + if (embed) { + // Get width/height + width = width || embed.attr('width'); + height = height || embed.attr('height'); + style = style || embed.attr('style'); + id = id || embed.attr('id'); + + // Get all embed attributes + for (name in embed.attributes.map) { + if (!excludedAttrs[name] && !data.params[name]) + data.params[name] = embed.attributes.map[name]; + } + } + + if (iframe) { + // Get width/height + width = iframe.attr('width'); + height = iframe.attr('height'); + style = style || iframe.attr('style'); + id = iframe.attr('id'); + + tinymce.each(rootAttributes, function(name) { + img.attr(name, iframe.attr(name)); + }); + + // Get all iframe attributes + for (name in iframe.attributes.map) { + if (!excludedAttrs[name] && !data.params[name]) + data.params[name] = iframe.attributes.map[name]; + } + } + + // Use src not movie + if (data.params.movie) { + data.params.src = data.params.src || data.params.movie; + delete data.params.movie; + } + + // Convert the URL to relative/absolute depending on configuration + if (data.params.src) + data.params.src = urlConverter.call(urlConverterScope, data.params.src, 'src', 'object'); + + if (video) { + if (node.name === 'video') + type = lookup.video.name; + else if (node.name === 'audio') + type = lookup.audio.name; + } + + if (object && !type) + type = (lookup[(object.attr('clsid') || '').toLowerCase()] || lookup[(object.attr('type') || '').toLowerCase()] || {}).name; + + if (embed && !type) + type = (lookup[(embed.attr('type') || '').toLowerCase()] || {}).name; + + // Replace the video/object/embed element with a placeholder image containing the data + node.replace(img); + + // Remove embed + if (embed) + embed.remove(); + + // Serialize the inner HTML of the object element + if (object) { + html = getInnerHTML(object.remove()); + + if (html) + data.object_html = html; + } + + // Serialize the inner HTML of the video element + if (video) { + html = getInnerHTML(video.remove()); + + if (html) + data.video_html = html; + } + + // Set width/height of placeholder + img.attr({ + id : id, + 'class' : 'mceItemMedia mceItem' + (type || 'Flash'), + style : style, + width : width || (node.name == 'audio' ? "300" : "320"), + height : height || (node.name == 'audio' ? "32" : "240"), + "data-mce-json" : JSON.serialize(data, "'") + }); + } + }); + + // Register plugin + tinymce.PluginManager.add('media', tinymce.plugins.MediaPlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/js/embed.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/js/embed.js new file mode 100644 index 00000000..6fe25de0 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/js/embed.js @@ -0,0 +1,73 @@ +/** + * This script contains embed functions for common plugins. This scripts are complety free to use for any purpose. + */ + +function writeFlash(p) { + writeEmbed( + 'D27CDB6E-AE6D-11cf-96B8-444553540000', + 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0', + 'application/x-shockwave-flash', + p + ); +} + +function writeShockWave(p) { + writeEmbed( + '166B1BCA-3F9C-11CF-8075-444553540000', + 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0', + 'application/x-director', + p + ); +} + +function writeQuickTime(p) { + writeEmbed( + '02BF25D5-8C17-4B23-BC80-D3488ABDDC6B', + 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0', + 'video/quicktime', + p + ); +} + +function writeRealMedia(p) { + writeEmbed( + 'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA', + 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0', + 'audio/x-pn-realaudio-plugin', + p + ); +} + +function writeWindowsMedia(p) { + p.url = p.src; + writeEmbed( + '6BF52A52-394A-11D3-B153-00C04F79FAA6', + 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701', + 'application/x-mplayer2', + p + ); +} + +function writeEmbed(cls, cb, mt, p) { + var h = '', n; + + h += ''; + + h += ''); + + function get(id) { + return document.getElementById(id); + } + + function getVal(id) { + var elm = get(id); + + if (elm.nodeName == "SELECT") + return elm.options[elm.selectedIndex].value; + + if (elm.type == "checkbox") + return elm.checked; + + return elm.value; + } + + function setVal(id, value, name) { + if (typeof(value) != 'undefined') { + var elm = get(id); + + if (elm.nodeName == "SELECT") + selectByValue(document.forms[0], id, value); + else if (elm.type == "checkbox") { + if (typeof(value) == 'string') { + value = value.toLowerCase(); + value = (!name && value === 'true') || (name && value === name.toLowerCase()); + } + elm.checked = !!value; + } else + elm.value = value; + } + } + + window.Media = { + init : function() { + var html, editor; + + this.editor = editor = tinyMCEPopup.editor; + + // Setup file browsers and color pickers + get('filebrowsercontainer').innerHTML = getBrowserHTML('filebrowser','src','media','media'); + get('qtsrcfilebrowsercontainer').innerHTML = getBrowserHTML('qtsrcfilebrowser','quicktime_qtsrc','media','media'); + get('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); + get('video_altsource1_filebrowser').innerHTML = getBrowserHTML('video_filebrowser_altsource1','video_altsource1','media','media'); + get('video_altsource2_filebrowser').innerHTML = getBrowserHTML('video_filebrowser_altsource2','video_altsource2','media','media'); + get('audio_altsource1_filebrowser').innerHTML = getBrowserHTML('audio_filebrowser_altsource1','audio_altsource1','media','media'); + get('audio_altsource2_filebrowser').innerHTML = getBrowserHTML('audio_filebrowser_altsource2','audio_altsource2','media','media'); + get('video_poster_filebrowser').innerHTML = getBrowserHTML('filebrowser_poster','video_poster','media','image'); + + html = this.getMediaListHTML('medialist', 'src', 'media', 'media'); + if (html == "") + get("linklistrow").style.display = 'none'; + else + get("linklistcontainer").innerHTML = html; + + if (isVisible('filebrowser')) + get('src').style.width = '230px'; + + if (isVisible('video_filebrowser_altsource1')) + get('video_altsource1').style.width = '220px'; + + if (isVisible('video_filebrowser_altsource2')) + get('video_altsource2').style.width = '220px'; + + if (isVisible('audio_filebrowser_altsource1')) + get('audio_altsource1').style.width = '220px'; + + if (isVisible('audio_filebrowser_altsource2')) + get('audio_altsource2').style.width = '220px'; + + if (isVisible('filebrowser_poster')) + get('video_poster').style.width = '220px'; + + this.data = tinyMCEPopup.getWindowArg('data'); + this.dataToForm(); + this.preview(); + }, + + insert : function() { + var editor = tinyMCEPopup.editor; + + this.formToData(); + editor.execCommand('mceRepaint'); + tinyMCEPopup.restoreSelection(); + editor.selection.setNode(editor.plugins.media.dataToImg(this.data)); + tinyMCEPopup.close(); + }, + + preview : function() { + get('prev').innerHTML = this.editor.plugins.media.dataToHtml(this.data, true); + }, + + moveStates : function(to_form, field) { + var data = this.data, editor = this.editor, data = this.data, + mediaPlugin = editor.plugins.media, ext, src, typeInfo, defaultStates, src; + + defaultStates = { + // QuickTime + quicktime_autoplay : true, + quicktime_controller : true, + + // Flash + flash_play : true, + flash_loop : true, + flash_menu : true, + + // WindowsMedia + windowsmedia_autostart : true, + windowsmedia_enablecontextmenu : true, + windowsmedia_invokeurls : true, + + // RealMedia + realmedia_autogotourl : true, + realmedia_imagestatus : true + }; + + function parseQueryParams(str) { + var out = {}; + + if (str) { + tinymce.each(str.split('&'), function(item) { + var parts = item.split('='); + + out[unescape(parts[0])] = unescape(parts[1]); + }); + } + + return out; + }; + + function setOptions(type, names) { + var i, name, formItemName, value, list; + + if (type == data.type || type == 'global') { + names = tinymce.explode(names); + for (i = 0; i < names.length; i++) { + name = names[i]; + formItemName = type == 'global' ? name : type + '_' + name; + + if (type == 'global') + list = data; + else if (type == 'video' || type == 'audio') { + list = data.video.attrs; + + if (!list && !to_form) + data.video.attrs = list = {}; + } else + list = data.params; + + if (list) { + if (to_form) { + setVal(formItemName, list[name], type == 'video' || type == 'audio' ? name : ''); + } else { + delete list[name]; + + value = getVal(formItemName); + if ((type == 'video' || type == 'audio') && value === true) + value = name; + + if (defaultStates[formItemName]) { + if (value !== defaultStates[formItemName]) { + value = "" + value; + list[name] = value; + } + } else if (value) { + value = "" + value; + list[name] = value; + } + } + } + } + } + } + + if (!to_form) { + data.type = get('media_type').options[get('media_type').selectedIndex].value; + data.width = getVal('width'); + data.height = getVal('height'); + + // Switch type based on extension + src = getVal('src'); + if (field == 'src') { + ext = src.replace(/^.*\.([^.]+)$/, '$1'); + if (typeInfo = mediaPlugin.getType(ext)) + data.type = typeInfo.name.toLowerCase(); + + setVal('media_type', data.type); + } + + if (data.type == "video" || data.type == "audio") { + if (!data.video.sources) + data.video.sources = []; + + data.video.sources[0] = {src: getVal('src')}; + } + } + + // Hide all fieldsets and show the one active + get('video_options').style.display = 'none'; + get('audio_options').style.display = 'none'; + get('flash_options').style.display = 'none'; + get('quicktime_options').style.display = 'none'; + get('shockwave_options').style.display = 'none'; + get('windowsmedia_options').style.display = 'none'; + get('realmedia_options').style.display = 'none'; + + if (get(data.type + '_options')) + get(data.type + '_options').style.display = 'block'; + + setVal('media_type', data.type); + + setOptions('flash', 'play,loop,menu,swliveconnect,quality,scale,salign,wmode,base,flashvars'); + setOptions('quicktime', 'loop,autoplay,cache,controller,correction,enablejavascript,kioskmode,autohref,playeveryframe,targetcache,scale,starttime,endtime,target,qtsrcchokespeed,volume,qtsrc'); + setOptions('shockwave', 'sound,progress,autostart,swliveconnect,swvolume,swstretchstyle,swstretchhalign,swstretchvalign'); + setOptions('windowsmedia', 'autostart,enabled,enablecontextmenu,fullscreen,invokeurls,mute,stretchtofit,windowlessvideo,balance,baseurl,captioningid,currentmarker,currentposition,defaultframe,playcount,rate,uimode,volume'); + setOptions('realmedia', 'autostart,loop,autogotourl,center,imagestatus,maintainaspect,nojava,prefetch,shuffle,console,controls,numloop,scriptcallbacks'); + setOptions('video', 'poster,autoplay,loop,muted,preload,controls'); + setOptions('audio', 'autoplay,loop,preload,controls'); + setOptions('global', 'id,name,vspace,hspace,bgcolor,align,width,height'); + + if (to_form) { + if (data.type == 'video') { + if (data.video.sources[0]) + setVal('src', data.video.sources[0].src); + + src = data.video.sources[1]; + if (src) + setVal('video_altsource1', src.src); + + src = data.video.sources[2]; + if (src) + setVal('video_altsource2', src.src); + } else if (data.type == 'audio') { + if (data.video.sources[0]) + setVal('src', data.video.sources[0].src); + + src = data.video.sources[1]; + if (src) + setVal('audio_altsource1', src.src); + + src = data.video.sources[2]; + if (src) + setVal('audio_altsource2', src.src); + } else { + // Check flash vars + if (data.type == 'flash') { + tinymce.each(editor.getParam('flash_video_player_flashvars', {url : '$url', poster : '$poster'}), function(value, name) { + if (value == '$url') + data.params.src = parseQueryParams(data.params.flashvars)[name] || data.params.src; + }); + } + + setVal('src', data.params.src); + } + } else { + src = getVal("src"); + + // YouTube + if (src.match(/youtube.com(.+)v=([^&]+)/)) { + data.width = 425; + data.height = 350; + data.params.frameborder = '0'; + data.type = 'iframe'; + src = 'http://www.youtube.com/embed/' + src.match(/v=([^&]+)/)[1]; + setVal('src', src); + setVal('media_type', data.type); + } + + // Google video + if (src.match(/video.google.com(.+)docid=([^&]+)/)) { + data.width = 425; + data.height = 326; + data.type = 'flash'; + src = 'http://video.google.com/googleplayer.swf?docId=' + src.match(/docid=([^&]+)/)[1] + '&hl=en'; + setVal('src', src); + setVal('media_type', data.type); + } + + if (data.type == 'video') { + if (!data.video.sources) + data.video.sources = []; + + data.video.sources[0] = {src : src}; + + src = getVal("video_altsource1"); + if (src) + data.video.sources[1] = {src : src}; + + src = getVal("video_altsource2"); + if (src) + data.video.sources[2] = {src : src}; + } else if (data.type == 'audio') { + if (!data.video.sources) + data.video.sources = []; + + data.video.sources[0] = {src : src}; + + src = getVal("audio_altsource1"); + if (src) + data.video.sources[1] = {src : src}; + + src = getVal("audio_altsource2"); + if (src) + data.video.sources[2] = {src : src}; + } else + data.params.src = src; + + // Set default size + setVal('width', data.width || (data.type == 'audio' ? 300 : 320)); + setVal('height', data.height || (data.type == 'audio' ? 32 : 240)); + } + }, + + dataToForm : function() { + this.moveStates(true); + }, + + formToData : function(field) { + if (field == "width" || field == "height") + this.changeSize(field); + + if (field == 'source') { + this.moveStates(false, field); + setVal('source', this.editor.plugins.media.dataToHtml(this.data)); + this.panel = 'source'; + } else { + if (this.panel == 'source') { + this.data = this.editor.plugins.media.htmlToData(getVal('source')); + this.dataToForm(); + this.panel = ''; + } + + this.moveStates(false, field); + this.preview(); + } + }, + + beforeResize : function() { + this.width = parseInt(getVal('width') || (this.data.type == 'audio' ? "300" : "320"), 10); + this.height = parseInt(getVal('height') || (this.data.type == 'audio' ? "32" : "240"), 10); + }, + + changeSize : function(type) { + var width, height, scale, size; + + if (get('constrain').checked) { + width = parseInt(getVal('width') || (this.data.type == 'audio' ? "300" : "320"), 10); + height = parseInt(getVal('height') || (this.data.type == 'audio' ? "32" : "240"), 10); + + if (type == 'width') { + this.height = Math.round((width / this.width) * height); + setVal('height', this.height); + } else { + this.width = Math.round((height / this.height) * width); + setVal('width', this.width); + } + } + }, + + getMediaListHTML : function() { + if (typeof(tinyMCEMediaList) != "undefined" && tinyMCEMediaList.length > 0) { + var html = ""; + + html += ''; + + return html; + } + + return ""; + } + }; + + tinyMCEPopup.requireLangPack(); + tinyMCEPopup.onInit.add(function() { + Media.init(); + }); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/langs/en_dlg.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/langs/en_dlg.js new file mode 100644 index 00000000..1f41b9f8 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/langs/en_dlg.js @@ -0,0 +1,112 @@ +tinyMCE.addI18n('en.media_dlg',{ +title:"Insert / edit embedded media", +general:"General", +advanced:"Advanced", +file:"File/URL", +list:"List", +size:"Dimensions", +preview:"Preview", +constrain_proportions:"Constrain proportions", +type:"Type", +id:"Id", +name:"Name", +class_name:"Class", +vspace:"V-Space", +hspace:"H-Space", +play:"Auto play", +loop:"Loop", +menu:"Show menu", +quality:"Quality", +scale:"Scale", +align:"Align", +salign:"SAlign", +wmode:"WMode", +bgcolor:"Background", +base:"Base", +flashvars:"Flashvars", +liveconnect:"SWLiveConnect", +autohref:"AutoHREF", +cache:"Cache", +hidden:"Hidden", +controller:"Controller", +kioskmode:"Kiosk mode", +playeveryframe:"Play every frame", +targetcache:"Target cache", +correction:"No correction", +enablejavascript:"Enable JavaScript", +starttime:"Start time", +endtime:"End time", +href:"Href", +qtsrcchokespeed:"Choke speed", +target:"Target", +volume:"Volume", +autostart:"Auto start", +enabled:"Enabled", +fullscreen:"Fullscreen", +invokeurls:"Invoke URLs", +mute:"Mute", +stretchtofit:"Stretch to fit", +windowlessvideo:"Windowless video", +balance:"Balance", +baseurl:"Base URL", +captioningid:"Captioning id", +currentmarker:"Current marker", +currentposition:"Current position", +defaultframe:"Default frame", +playcount:"Play count", +rate:"Rate", +uimode:"UI Mode", +flash_options:"Flash options", +qt_options:"Quicktime options", +wmp_options:"Windows media player options", +rmp_options:"Real media player options", +shockwave_options:"Shockwave options", +autogotourl:"Auto goto URL", +center:"Center", +imagestatus:"Image status", +maintainaspect:"Maintain aspect", +nojava:"No java", +prefetch:"Prefetch", +shuffle:"Shuffle", +console:"Console", +numloop:"Num loops", +controls:"Controls", +scriptcallbacks:"Script callbacks", +swstretchstyle:"Stretch style", +swstretchhalign:"Stretch H-Align", +swstretchvalign:"Stretch V-Align", +sound:"Sound", +progress:"Progress", +qtsrc:"QT Src", +qt_stream_warn:"Streamed rtsp resources should be added to the QT Src field under the advanced tab.\nYou should also add a non streamed version to the Src field..", +align_top:"Top", +align_right:"Right", +align_bottom:"Bottom", +align_left:"Left", +align_center:"Center", +align_top_left:"Top left", +align_top_right:"Top right", +align_bottom_left:"Bottom left", +align_bottom_right:"Bottom right", +flv_options:"Flash video options", +flv_scalemode:"Scale mode", +flv_buffer:"Buffer", +flv_starttime:"Start time", +flv_defaultvolume:"Default volumne", +flv_hiddengui:"Hidden GUI", +flv_autostart:"Auto start", +flv_loop:"Loop", +flv_showscalemodes:"Show scale modes", +flv_smoothvideo:"Smooth video", +flv_jscallback:"JS Callback", +html5_video_options:"HTML5 Video Options", +html5_audio_options:"HTML5 Audio Options", +altsource1:"Alternative source 1", +altsource2:"Alternative source 2", +preload:"Preload", +poster:"Poster", +preload_none:"Don't preload", +preload_metadata:"Preload videos metadata", +preload_auto:"Let user's browser decide", +source:"Source" +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/media.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/media.htm new file mode 100644 index 00000000..29c87f42 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/media.htm @@ -0,0 +1,897 @@ + + + + {#media_dlg.title} + + + + + + + + + +
+ + +
+
+
+ {#media_dlg.general} + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + +
 
+
+ + + + + + +
x   
+
+
+ +
+ {#media_dlg.preview} + +
+
+ +
+
+ {#media_dlg.advanced} + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
 
+
+
+ +
+ {#media_dlg.html5_video_options} + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
 
+
+ + + + + +
 
+
+ + + + + +
 
+
+ +
+ + + + + + + + + + + +
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+
+ +
+ {#media_dlg.html5_audio_options} + + + + + + + + + + + + + + + + +
+ + + + + +
 
+
+ + + + + +
 
+
+ +
+ + + + + + + + + +
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+
+ + +
+ {#media_dlg.flash_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + + + + + + + +
+
+ +
+ {#media_dlg.qt_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+  
+ + + + + +
 
+
+
+ +
+ {#media_dlg.wmp_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+
+ +
+ {#media_dlg.rmp_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+   +
+
+ +
+ {#media_dlg.shockwave_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+
+
+ +
+
+ {#media_dlg.source} + +
+
+
+ +
+ + +
+
+ + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/moxieplayer.swf b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/moxieplayer.swf new file mode 100644 index 0000000000000000000000000000000000000000..2a040358df0d1f8eb784d2ec0919626198d6eb47 GIT binary patch literal 33931 zcmV(xK0*ZhFf=CoW0g?C2+$1+GrGCZV z?|I($|NQejx%b?;XU^ zWphSTjoy-@udA!BD$`?eNsS5SN@LlCN%{su0#~g!S9VVl7_lEqm8IH{qbWC*8X~mS zhQ^502#w&MaPusfxm<{7j!QE2*mq)?u_md`WGt^QgE(;@igT4s^De)1> zDz%!A26pY9gmc#=x9u)afH_pSSA9^lI(o7uy4MiRNR2+Zv2x^q>PZ6{HHOUI$%RRj z)pNjsAHLg;QesD5eE#f^C){4^<#kEaoyw>0-McqRE`mxSfj@%|=D-bp|Jm?LQvy_y z!}6l4n!0Mk0Apj7VQ{s6vcW{%^B?3*QScIe-FrgqiD)pG%ur%IBGrki$OuDinX$a8 zwxUPm&|+;uW@OJCcX{_3EC2{uce7=3wIQOayhmhdy~Sdzjf|L7Rc@*55t$5rD-Bf@ zl@_4WA|ouux*n0>mek5y9YmwVY=K;fj40KYO{g##>uW(=vMK_5yN_L8Z#J~W-!^-L zvAVv-P*PvlmKO*jt&JGj{ggwMXv@nn88%8uhmCJn5(83pv=^f5oN||qp3$^l$QJ;TaDF_p%zm;WHBj*6ySzN zTV~OhR)Zf7;sCEmR^u|QF_!a1%EvDlf zN7fx8XZPS*r%0->Oe56mb{TMix64pjWw98{mUei$C-E`=?~;M5vP(K58mi1yE(Ov? zx?C%N+X-uvqeaTv*8 zh_lgJs%i{|YJHvAP!4?q?$bd_lU{~bv#HR0?HzkMkoxMX3g`n!6%ZQGeG;+XR^sfn zMveP+hd@U+4^5EtF}U&Jrq|tES5;dJTHB%ctBra*6lvLxp^t<@;5)XOs`Bz`r%o+{ zK`Cza_Ha@`wK!BzD(E0{oxuS8qA&zV!X2MIaG?_vGWEag2vc!pIRZ*+rR*TKS@628 zp3o6pM|Y^ka!ioodUKCRXFdA|eWODl>GLz3%2d!w{}1+)jx@FEEBWGYGmUL@WvvDS zZF0D_z`8a$S~b45nA&Q0F1?JiV!OCGt7~#5vwoy_4Khl5j$-rX;zPK`z|31ya)Wumu|4$4V z@Z5o)5ZTiRwb`!xQ`#CKwKW%NGsW#Py0+SO8Cx~pc6i%r!{+L$a+iLIFIV2to?3Of zqmZGeYpXr-exS7pjT~Bly{p1~lI!fr+1?%90Ze=N`5K~y{}tuZ=ir9=IGafR# zhbSPOqS_jK{9iJ1=ng{&Y#He(TM0%Lni3~dzoABSRabTJm9Lb;7M48z<;u5$O+zpK zcqKRb6VIOWdW{O`x$fn-rTre;_IUUw{e9nvoaa;USYY1bW54A;*ZDtQ*9R9p^4OZ# z$H!kjtpDcjJIgPQIP=%d9cO-5l$^R&{z|#w>dxg`k9~V(@|oY4T|0I0n`_VPym_); zw&u&MiyeMsvTmLzTjl%xrIk-D8TjxZpU$ zt39S}JNRNs;gD>@guNL{W9IrVe16lU`uaXG`@z|;cR|pzhr5nW+4WxctamEkSv>vo z#a$1}lB*6!|H!dCD{eqr^42@dO7{bn~$8^bf->b`o8y%enINe$By|-I1+H`$=g|HxQ#0|4!Nn{ z^Y{}7e%|wu_4WK!qH@ofS)wmFChmpEeqA{IK~@&R1&n zx@Q`@&p&#qWZEwUp1TL--0Jmr|=l6K_T-^KIGWEK#^r;v)@>EJ-uZ2&XGGVHb|DCiVuV8@U2O)|B0C8U7qUs*Y*xG|NLdk)}niEXXbam z^V8<52VeZW)Ab8qe0AgCjVs3w1XV11=GUrYHxG5pe>}d&@2Aa%J&(J8aiPnTn@{hD zQchZ`YY3Xw=}%*#e&_35);)5kr^G#Yi{I~^=LT=s_I2g7FH4rsxLtK%Vf@HVy=MG% zt77D?X<6sKUzqXj(-&WznX`1IV(NFxr~dqC{LUN4Mvu(zcID~k|2 zAMO+LnP<;GBjzg;p56Rqw%dd=2J;tZZ`4<;>w46Z_#ee{XJ+2pnYi_QzuND&9v^#t z<1?%JE&cpJ((VP*vY&EG-2PhpB=50XwiSP0^6A*U3)dM>n+_z5==c4-vR`jsS%2W% zr}Ni*Kj_wJ|6@0xQH8RuY5A9ckH(P!}c!x;P&M;vwrz_Yhu#Q-+X@EAGiL4 zk0J#G|Vs4O^i>CEnX-<+8H^oab*^!3XoeLHzc$h6vsrDIS15q9?b=LRi#*|;m{ z;?T`yZ=4(K_U)OX5u4NRexN#CS@XxAZfE8kIo@H?x!>!)IQHoF7ecbmKIVI5(V;~r zrw)s|HEC#k&Yl~04sW=*Wz7Zax{0gi9Gc(o#YfjOMPD|he5bJAEQzA`U-g|D=h@@8 z!LkW;n-1mN*$=f;*XO(Wfj>>%Gxk8ljwic*^VJj66Gak*HS6rRchBybdwkCH%Ypf! z^9mMi=(%NlsOhs#OLO18z4X>+CpMPV|8?TI53@|+^qq~|fMZGT6hsdHy79vwR?JU) zc3;@k{++h0`DF2}OF5oLo_@CRub(z^dp{g|>dGV8-+nyD?T6RrhCO@AxLYT_IxcR0 z+@2eOPao&fF25PN@^s_-$Gm=C+Pu~Kou>wmn=nzA|CH#)2{Q1kiuwM_R9QuCclaJgD|MBvg^@%qxh4$KY>%z;mhd*8(^xn;r z6Mg_a_{hkOrJX9`%s$r(3pB~%y!`5w|J|-`(tXB?gqrP132E0(bY3%T?TP_o8_$Z@il-jF zw*9=v$&jO_Q#J1%&HB1e{U_$dF|SVB^!%0N)A!ywzGvOKm4&(!Zs9*a_vF>-ZzXM? ztNQ8eQ1zXApKb|RTlld#bjtpyr@9}mT&}%)2JM-V{qt4#tJ>?<-80Sv{=ReT z_H73~7`o->n7wyrH!c@NLy@nV_S1~PHFML>EG{vAZ8=zH47=F;Q|9~o{3my5e0aP!4nG`FO~slFu>KKyp>+R^Wp-V@zk`~87+ zS2t~&mGQE@j2V|sn*Iz`T&%61f961HQOqK@FV#E8ethp4>!sB> z8Ff9bY#n!T+4#9v#Jj#YSW)qbrElnt>ywY}pLklg{klR`o_zx(ItyB&U7 zJ2~ySfPLbNBT{BAO-)(8Pf+f;XDV_p%snHY_2=}zx|%-!;Fd{ldHUALDA!r}{zyMA}?;Wy%*T)i`XP;KIZv>bEZw^^Gju01_cbDX(Rxnt4r z-`sxbQCgI~;Kh)nxt%U_TQgzF!ONGQ{aO>1w8j725yOnPPDGBb{UG**8!x79?iUd_ z|KzqOibfyYR@69jbgXBo{*eCI>bO59&AG@<`r?JR>T@Se@LipFeRE@MXG6bF#w{u^ zchnB(dHKb!Dvp%tUk-Zgg`-3N9I|m^!qU}pZaUZhPkx5 zA9>#y=cJ!Ia*VxtV!ijvUp)VLe)qY}6~Dgm8U14RHD85PngaR{irnj*dyyZrmcG`>dMk56E=M`@QKMQclNEey{MWo>+?@uTWbxQ zaAkIbeEs;%?+sCZVh)_XH(Wh7TeB!|(qp-MLtaldZi?BwUa zet%)bY3=nMAxlKC|-jePy)q(0=czEs{m2ihNgp`^eOduYOvj z?mBv;;+GX8PRv(*;IJ z8#i23UD>?n-Khzmymc>o><=>*ysnKub!6khhVhH$=F}WfmM#443e#iSh(89bcPq2&6{e=JPAvT}Dw$`+;Xh5aLLd#xVU{XE-!QNpIPzgIrF_kcbsuuvCLbaCG8 z*{{@mxnp$CKVB>OEUE6RsPs)g{963clt0GJIQ#pvj~`Dx`GRQXfz_v`eGWBFyzO-3 z&UsOR2Qo)a%?I)OrXV{Km8vG79$7rj3H>fJ?X zwdd9>Zk4?{YkG@8zYH9Idt~=5tVf48ha4KdM?aUe=(0C!mY?9vBYSRpVzcKL z>FUdmis)g{^Wr{!r^gS&j}BWhw=p(+qsL*<&5+l2Kesmc>SD#4U%yq9Q!sgmy6ekd zytv0aV*jJp*)&`C(r)Y496WSxLBi%$b&%zy;fs#TrtF^nyKmf^vb)>UujDT~xwjbd zEqzJNxu5bk4_GkejB2>__OZF3Aq+DMoE<_Vt*z0?%bF z$hmv-QcP&X^m~iy*4yV!|NqS~i~QF)abkMVA3gWJPLX3Q<=4{KWnlZ=rLt48WTTkb$onyrw5D9yGY5e}T4GOss55z-&$GW#IJn)s}n!e87s}07GrP z2k}r;rpHjCa)Wf>ppv3|P5%O!+2O>Pj7E!`53WxwXO!3JP5K%GEXSE8W)g9aO1*i| zq}stIW1YcdncUHi;t~*Cnxd4XWR)r%AQe^Bma1A2V3WKt>I7Ex_}F8?;(`WvR`A&d zCQpE&N%IE{7~H?0xWI=G2{Y##G49D?@Y0u;6CeGn%pk~MQuG;AU@{p^#8KL3P)Wg% zA%li^2|l&@s%k^I972T=cm33 zq7dGasSjSX#4DZ+2A(mb<@**wI`HrKglCgP;P-k<835ZPynhB4gRiqX_0n7PT7u7G ziVH>*%gde5o{+mReQqIWG^}!Nb36Pae zwiq-flYX)rpUw4_s%o<=&*3VmHq=&FDir_{EC+BLb~nfTt#m%J?gI_D2Gl}D063Kh z8a&P}{3wGrMHY}*BQf(gesRK!)CtHcTyZe+O3p9O6~ofKco?il811pFF_c&7#SPfS zQ*W{8%PO4`y<1m*bM%AbD-@eM5!R=6Fi~qFP#+RN{Q$5|T4f%L*G9`_Rpufv(AOEt z#bh0n8KAdRN^u3iF_o6rn+OV2%vBqWCdOXyCX%U{z~}u3y&g<11vV_ zYt0x<>S1p2C^H)@!w9y|6L6gn$Yh5MZ=##*jRa_m!A(1~e}7O=LkbE8D$4mLNM1+= z4jM8*)8B2tprJ(tp!GDv3KW%)Z4OcL0Y*q0iIkk@888S~uugQa__QvRXcdD|1X2fs z+>CYWaEys`BV=!aiIflSuNhgA-@i|OKexde96X^t1`iojIHaJch<|h+HmLv50r0N3 zW?*4~2mds5F#pnvf9y4A_&~b@PA8vCy8}+2tAmH8SFeIzCB>kwi!~q+rv#U29)WIp zl1E&e{Ie7)OMYclb-4tpBfu`&X^O3LfdN&oXR1IyGk_j7_&O_KA`UJQR~0eTAcMt& zywO|g&3ravutgDpQOX6}g_x9s)ZPZG7#vSet&@}YNxB}=3>XY%VeN}lZnzDbu~q{m zPUvEzMPJSLgyp{Xw+EHnSUUh>kJY54thx$%6#2k{Vw_{eLyO!B1{N0#DbWtm3@C_u zaMQU@teDh)IcZ0HWgsM98ALTzwPFH$6_fQY3BT$O3rCY#th*ua<&Lt@SlVf^E_qN3 zy)A>A*Ztj95|+t;iZ-(xWXqs>OXmlt#I-$0FngcccDP-ehOfy`11r^}bR4}cYj3P> z{5w*++R?|YnzlF}aN}liK~1TlTmt&QRA!KxVPun7S6dNKQc__ou^3Cr4IEKi#@dof zLvF)rOuG# zRat8EbwH=7;gXrbsMX0TxTK}PB{PjtC##d$JfpGNps$68G;m2#0Ygek7E@nUYXK@V zSu(I5l5Aqssp?cFIW;wfNlwd9Gs)?h=}dAaP${Z(6_b*hk-?;8sMJh)W}1r0NXyJ* zGSaisnT(9gWF{jsJww6|N<2xC2*U(-yRzg*3*PsQKa?%rW5q^>Egc*=UIqyH`?6h~ znwBieOiA+>BPFAhC~0YkGF%)JKnJ2=6x=1aYjA9ETyT7Ff-+zEh*Gayh-i1jh*_yj z?xt|}@br2Sv9y>Ku`DBHk&I>JEOKKR50>_1884RcW*Hxr_GKAAmhop9CCdb`OdyMb zSaC3mI>comV%YqQgB(kC;mQk^cnnlShN|AK{$8?zj z$uba&GFc{@WqQbRz_BOGFOAC~FMiu$prKZ^#k%plfhFpGw; zOc9HUSu{*G96XL-(MT4JVwuq_GlpeySfpc_u`E-S}@6)auJ zGF2=yo@FMmOf`#YSV=9*7+F-u`kGnB!ZP(N)4(#5Sf-I>CbP^GmYK>j(^zIY%gkUA zNS?_uO%U*-h?SaHW)_l-g{K6TnS*4HBOvD?R`LYgpG2(R0=O@N=cgdKPXql7{GWyY zbMRjb|L5WV0{o#En3v%H3jCMD|5f%9RP0cSiUm&iqu9PQ=4^d+yytnw&qhz80my`6tLdi45Q?oMo-A-iCIeooKh< z`k_F6ERcHy@)LplR3P^XNUK0L3*=#e{7N8?2;@&TsRg6nyNoH{lFN}?g9$e`LS9iC*c0O&t)axor>lmNAm2<4<%RruXefW=U$3E*NExo70#LwE z4eYN99HF6tP|zR^1sV&C1R;=uUJ&n)4jm|jq%x6JRS3=^kxagl{zYU0ISvrWe4{-qy33^Vcak zB^O}j0<}SOS6eQ23Fd;i5G&V#xM-Snp$;irSl>{j4M$yV`8v8UP2uSGI;@M}BDjwF zNL#^Shp;H(ReRVWDw;eO9(EDc$u7#v1ESQ&s_j5^we_`Xqv19X@`|QunY<%p)gxBb zHIzm@Vk@#XbDg;uu1lqlt=OvV3XDU6QG^-8fN?m_INUbUYVFHVz%`2J8Vy{Gh>?31 z0hi9I8XkKLM0Q6y18S~8Sh&tM&Z>(uplSpm#P^Lum3}ro@43_~kfN-r!>UnK?D1Gt zTn)07>7sEoL!}~{p%4WnXC@?~Bnl}hF$3kB3V~GcQK`6w@=%qn%Gy^#HK~r-#zP>7 z4|8g5GUCISz=u%{5tN9KOg;(x8m%hZL@30Fcc2WtStvs*=LZiyuvg1wDzsUwx|F^t zRAs8I-pZv$Xw#rH8mzi>c<7ssDl=@8t?>i2nczCj%4I~$^;x#*RviF(sLF1(8CI?v zxN5t@>n3E?_JB-$6hZJT4XvaX1V10?a=4r&J^>Kg0;CIf7JW}#?p|)-{4~;KfQ(%5 z`z#u(iK*1soz>&Nv2zkT~7 z{Q%pW*ozwtp#xObeNz2&B zI}YQ9al>^ZxDmv0KlbOvisXtNSZ6$j994HBdJNg?u8DdK*&at$-AG(}q1r%Y!BON! zk?ZKbBgK_k+Y|6ctLw}4<;LW)ST=}T>U7iPO6_jToo-`uWp=kWoNgt#a=Y8xPPcKn zZg#izPB(q7!tS=!=~kNSZg=~@=~kBOVRzd@+;EnZ=X%=R4q!JcXV4eg4)SC_QZiq{ zgT@CdjYHU3%TZmuN0mz#X$>ovPAn&MCxV%r3 z@*Znw<|f1*t27*z(h$@)IM01>#ps4>&RNWO9yN0{Ty6YZw8F-$K@^Y=>h_pXk5W@)8rcT zlWdO)kB!7}^2+G)75XW**))jq7twMB2cnLXT6Gi@;u1t1N4ArYjT!MvaimY7T<@Vs zKh<^?yXoqUH0n>B+>`ss2(3A}5=x1;xo=aO* zU5;Ku%MkShZJSSnKH_FXQ|qv<6BAvR)8NBEY8KFiwx?*U6!_{)7+3O@8q+gZYMT&U zf7JFYmVx;QNAn8pqX_9|A=`7V?lbM~vyp8nEeM>2JUT*HFF06T-@G18uOzadfxX20 z8I6OO&HH(|g&+GHr=K~<_6jg)WAu+B+j3er7jm#0RF%01`qxK;*%wB3GVppM{iHeN^JErUr8 zGa8w)Qg}rMeyTvhc9`9QL!l`uDkv^08B(C>HIi}zYk|RH#^%|{E(SLlmJODjvI(xH zH&~$n%NKEOZH04eoggn;+T;|xv9b&x*cFCW20C~CU40$#cb~b=lYfm7>pVki^PQ() z0pl53oAW%eVVK9*6NbWnVCLv1WOBC_SqRn+#sY>7VmI&npp0%=Fm?lByEd4A5;?Mx z)>aL0m}0}y1Mah|2q7*PTq^eUysTt{_wA2()x>_Yl&rmp&i1=HJn@{$h9N6Mv`k3xki&~Cvxpft}zMN zZz7?SkiuOihG~gB7a9nXQ8J`OZVZCyik5bhAea+rMQ&1rXhzGp$>C9~6}u@AVkBCL zn+HN-R?E71AtaG%rEWf8Es$wtZhp|d5segh)+2X=$b*H3!zzuY*s&;{sf2;H7)i&{ z@sdjV8cg41V@2`OO3^hW6UoOi@$yRM8pOhFtT?;9Dg?Q6G zZy6&B23sFe0&vB*b7Z@6X#Z&&vkU3wBE-?eq_A3AjrU^6LG$G6>n!yqgA~@ojIgjf znFY7u2K@wyfh=k=b@k@Tzh5N1Z+)}N0}_(d+C)uO+w2Wls;#dj>rxKWqzFurs7h3$ zZ?vy@wPoD(YMI376gQW!|LQIBJSt+3Il093+6fDiD$!;#uY6UfD+YH=7CqAT2Sd^NY;VnjiNb07f#R1B| zfIzUF1O*2NhXi*B4h;@d#wim;9*7n(Vu{1nizIK)*Y`Y;y#vqv( zEQTFfrVA^HWj*6%u{6tsv0e$RXAaA?yJ@TVyz zl8)*W-I-it$h9lECL=Fz8BK{qD3|g89U;<#GDV))dISmqG03YI+(cN#IxRn9iAHIi9 zmCm2@SK%R|N*BNdsC3?(H@P?mY+fJ=>*w8mJK&U=*4k7{maAOV={qzMHf#t=OW|{$80rs1x|VSCatDIaX92Q>pjQD3ZsX;?x4o#wE6b>S!sBSC)P^*CK`crfR5o9tr+IDfn%8nJwv9RBC*KL{aHK_l{?IF zzDRCB9cR_h1{BdGsS(*tb4p5XQ(%jN55%a@=3ziq;IVlckWPZF`Pg6=EnlgX!L_f1 z#y)M{W7*D?tj!1BiF9&K&bj3xt%BI={GD#@xwPFa7`tgbAcoL6h&(Ce1?w3&OBqTe z0h_ly!JSp$$FBmOR6Jl9rnH|kPB4lg18_RUZPOxLbwonp9US9qyGx6^aU~ebl~k!p#y6* z-6T^15%gUYbqD!k-NQ3D?G04kKb;Bi0-UpL&>*rB2QZ4Lzg8h6IbJ3Kn9hy?5I5+n z>kUrbEyb$7Kb*3H5~LPm@7{g-6csUKi**|@7UY3dg!B~B5<5zU=;_wM+uz~P-EcSs z{P{3$4s%GJ-XyIxOd@a=9=O6_GzQFI_+ympFcuG!q1>3~JlU78pjv6q? zr_FM)qmOX*I;MgSV3i#~<${rGIaDBcHg{t!!3XkyvY@sKkifuN_J8eQq3t~$!PrU6 z1W1f=!Dtey^mUlA+D1ovwRqhgD4NCRYk-N+4Wp(9>rH_3PG-tY`bjQ8R={53(+)BE z*&Qb8z2O9g{CbnwXp&Z#^mUb0WoB8ap`xl*TUA{x#eRnXvXeE`mSYERV{NgqqN17{ z!ASDwz9E$h-pj4FzJ>s$OorMHZRMaNVfM+p9dm@Sul_X{z&Hq!W9J#HuQgO7gF7BO zV~j8v;yD`ud1__+gklCO#fX+xPhuM+t;Il$6K+N1JPhJr!lP9^cul;Gh8H93thZ zp~ViAojcTXlGS}`%MFbLJ}1Xok&mhZDzo!}hq<~DqcQ*5sTbi)54%~IKTE^@z~_;; zsDGbc1ri?7DRo$g<$^8P1^4JB7=Za8-U)40N(Zd_zN+3DW$I#>C$_5A zy^tVC$oy8oRaY~9*Y+dhqK$|>r*&wpAh3~bNh3VYiXegJ3E({FetDEEQjwXD+|eCJ zt5{f8FxHlvX_X3Pqbg*U@EtWy*?qH%A+WK^Qn>w48Wiq$u#E zre!heG!=kO(=s5`bagUZQsFT@6JBKCOJ+JCN>#}jaLLL7L}^MUlbn?d*wU=5R34$t zq^JSAnv#{OW-zS|X)Vkdz8zv=1l`2Y4O$&rY8(JKtj1GvFb|Mqx&cQJ)fT*d;Ol7vR zRJjHz*COR1M0>TGEqgr*U`d9hB`i%asQ^f&6)f$+B2N}pF%SS!{aD(cEc*ZyHJGJg zb{z@`R9PgFCBpKEilx;ooy>Ztuyh)W(pjG@*0&q$)177VSd`B)y;xMh(mhzF4@>uD zQ9qXM&(Z@}dLT;=V(Gyw{RoDc(nTy?%+f zSH>a(OFPh|bQMdFXXyznUBl7@S4vN0X%kCZSk%CxNi3kvVTMnKuxJ`fPiJWWmCk|$ zKZaN_phm@j8l?d-N&{k)2DB&*Xi>>hxC25|{4)GCtQY{IVgQJW0U#=V9bUnj7+^yY z;6mxu@P8BjfDiS58}5;;5@4d<028Ix!yllcVkt`}vh-$n+6tZkFWZy#*^5}^0mKGa z!9wvB&`05|nWevn+f{J-748YF_jSbj{09FU@V^OMzoQ6ZgrLD(3kz~hEJb@^DyWHt zYZ!hGhiCt!rU;77pv06)olMiintJ5)%+-M50Yj(YeIVU58nM~r%G3Djcu%pgQVvWD zQPTogFAIFyet!<%DRwa!2-xQVf~XovH!VR(MXx}!UIxaID-lG11Tb%B3181 z@q^_Mnie5{DSuab^7nw!T&fa+4ix2qH7-b$59=hs$~>^wg(&j@W!oVjA5gZT0eN7% z3!9Wru_(MzLrGCYCk^F;I>u`#UliF#L;0boV2r+vF2?BFPQx(zwzC-HZeu26+-(h)A8imla9VJHq_6^^FhCF%Ht2nZY&rge*T>onDHN#qba z2*f^O<)k2%k%-(BE3n z8AkK#_E1W!oLq>DsKE!UoUjOl#@WU-!z<2h1;l7&{V|*VFnRO<3#+Y^kl^9U7-Cw@=Rmcs7UJoN(Wos0g?zP{u&fY}W!8Cd zUd>u>1n5f=&wfK#>V0(D^M z_6k67J3(Rq0UO#kl)~Wy+_hBNS>M^V0`4*T7~4v? zb6ujr1g`B01@(sWkw}RJDXWN+HVy>+2S`4}RxVzf0Q`WDO$4_jE-4zlu1y3N0*;jf zR72qbS+D_(P3c^j0_a!B88?UPW^j!G*DcspA)ytD>}zN=wGU_7XGoW-OS65BbZJ}~ zmu@?NNDTmlATd~Dlp)lHzG<{J6>|IwEWw=t2~k+WQ7qv&kwCm>Hgj1H))Sc3LjXhP7aNO<8jR40}=L^Ee0WLpz02f#kkFCY7L-) zBbxGR>^A@eBG62V_*!i~s_bQ32eqzOgHLD32@KNhMJh-EfO(;QfTT@MH!Xm9dAIGn z05cZg12AXOEZsrC`}ltSBvR4j1-0EDgFfCe87b3BSAx`RXvPQ}>Q0lI81n;Qu7Xd>^F(`}H`?OR^j zOf0RN?F?{qYw+;_X&5NmjSm{I&3sl~<(Zoh=I#ObUn{P-nA?U)JGZBu`%j+xQNlgg zb{AL%^W1-7($4K==blBA0+>y>9|2^qm3xHeehia#Zf`sHJf3?F;g;E+02b(fFrxoS zOvXQsyPpL-(_F&D*cQSY=#DVcB2325!%R;>U8ILlD327ZEeOdX)oLzy@(&MGJXlyXg?A7#VQ=|vQU}9?<=(JRobd8#(Gg` z2SXk0fWT$}zRdgLVYA?ihs|n-fv?qqui*|~1U##RB`-w^goVMg1T_nF5Jzbp#I-MO z)PR=7br`#C#3XM1n{YG(9A2F`S-aQm*ehnkFj%|S9hk)8KEPf9va3+U5PbC~xR!lN zH%H6X<1m^5{5=QfN&E{4)342eUNMLfDLj6|6?`|ulHaTH5<O0uSJTmy2W-@{9deOJYfuZuX3Qw=O-V+&JQd!^26T5@a?zdYIF=JVFrYVNa0qGp*BW z^-y81VdoAw-?!s@KjX~zRS2DdsF7VlQtAwCI}1TX#y^Vu%n-zRcqoks0;rAcdrWG} zK-Le0DhKKUhCi2j;f*wxXe%TT6&Rq_|48dNj??0e3O~_SU1cY$XEf?tNmrKIu42Es zDz1tfpBrLtv^FAd0*rsKpx*?~H(X@?0SSP90F6YVP}~-0Kq_vNJd#qkY1>_pL1Nt> zMBIai6aukt5*6BJiAZc}AU3l_*5(2|#Bh#?q$>oNAIBs~*IYv3bj=fybm2C#z~N<) zAm%9%WM&v1?%~emSr~BJ7K2|XBiva(k4bGUhyCVl^>O5h@Q#Hgl%hU^2FAAe0XA}U4+nz4yqW~?QG=;g zU+tEf2p<(oRHv&l(jT&LtY|e+JUYWTDP9v(s zi@x|+1nEGy427dyq>v_Zq>C5%rki1CZ55pGgWrnnXT>kk238OF-S)-yRRb`B^Hok@OmeI!{4dllAryz9J1s5QxrD*MnFDEZ zfych0Xh+Dmw&1o{_HBt9ZQnARtV&4{WhE!e0YWZPik0pG-bx>(cOX)B0=pWRQE65L zTmBWS$b%JmvLY{RB9!>DV!(>}vtl_bQnI2zRus;%9a%}FtRsLfqgYuqE9ngNSqu$B zDpv$NDN-o>0B;Wm3s7>{tOYL^0-5JQ_YpA|MBjzDbVZ(CGAWo8JoI4BfHnmfdO60> z0|3Vp8WR{o7*yV!Mg+wb8MjV&Tfur&Ni9gn5?9}fU}BLc1&`8P59+n86?0@$aj z98NH5m9&h%ll*|Z0*FVudF9zEui8~S|EQpaZmm^P?DYVDK!Cr;*~ew1!=e}*X%h6n z#KY25irS%<10Il4QD$m7qeN1<(vODj60h1ISd4)68XwRdGJnJ)m!S)Vep1pTrf4Z> z1{nQ7H^?YxcTW#5a`h%xUvgCmyP9QeNz@GoO9^54c_c|Zh^B;-9@s!p=A1sBA>^8fJRlhf+{Mfkk`hp&nJIeGu0CfWr+3<@8v9+bi9ng)%T zpAh1R{Ex_i`1F0a_!#T-FohM+);LP`dE5V#M2K9khl?C+RX0{wVDV?2_Q5Kzu$ijvK#^^Iyt=nB+fPM!`p*Ys)dV7{}#b%Xs*BSRALX z;&{lMXR$tHj09=_rV7EC(^-Y4s&X795Au1~e_wf=G9hB(IwM%C9x{m))y7hNb+NHO z22G0x{|iY3c3o^NBm({U1C{gP>|8hu6efg4bugNLNTm#L{fl{ zJX|*E%gO*^T~%6D4V(D^tyu@BoL9ji@sMg?9^2W1BS6zO|Nn64P{I2?oQ3ATIU!6Y zdp}&()EM+;IO?FhH#rI!=g33$nhrr^3lf%-{g4rY9UsoEOfuNh#K-I*t0UyGrp!{W zuP%ZU&jB3&z{$=16MxS>cGEKK7|}y7;MIrhslan0{z&&0##R7cKS(w?fB%2Oe$!%l z=4x0VN91N^q~qPc6$U^vtFwr;9o8+rr506$JiW$-)}EIs%{+^pmb$Mz5g z;LpiSax(Z$P6bm?aw>qNlQV!nIU_w)!q0u+xLZI$1FScNcNoc}0A?A0zR4L9erCX= z0N|OY;bmq@s?;%FXHr#JsSF$yqvp4TGpQ+=Y9=*Roo3&`mYSZP%%sAxx%S;_Olnpt zIAmpHxVISVF=@#FhE9WMd9@yMF==T4mQG8{OqUBI9wsd_H483TYSuo^VA9p8nQ+NW zkvaQ&COs9T0!CXcbM}@@dPZ_8T+-7(oTH~=GE~WMsIMwL)xAZZ!(>1HUx`(56@{Q>qsU5*y*p}LX3ZhcGJH(U557j}fhFxI|1}OWKEWD9NXoFC`>6s3b zq0jxT4k~N1S_;P$BV~fJpK^qBq;eaa_yC9EAT}M=+KBBC4);;82+kh{lsBwR#Ihm) zE2~*iIxFfyu-pA*!;ow^%}PeGl5wo0l$97*Nd+qz&q}ncq>zGKrN;W+hWu z$qZKVC_tzIUM-mme}Gp@7Q!D6=64k7lwGz*S3LgZ~Qn1E5+0fNBYV zsU-lUmaK(8pr<8p$gTtq*=65FvUiaPfHh!Z#7l%Um^uMh45#V1HOVP4tf?c|Qw--> zz>~xquUz;7#rgroDlrv+sX$BxVJa9?A(-lbDcCW~hQS~3(+q&?z@;OmA~A&#s%$i- zI$^3aP?8v+Bwc`#b_Gfr2b3%xC|MFvasab3@?@YyaM~*)N(IU-4Jfw^%$JGzvYWDC zX}^0@H@N1&Rfck#dcsxH)RS@t@Tmk9H1!fmSXR;pAFHG->`i&}1&49{OuY3_AGx}%-^2pZ%g^x3;gXR{`N9|dxgKf%HLk+Z!7uRD*m>bzrDrZ*6_D? z$ZZ{3Z@+J}-#6RuTkZGl2&KXnbx*I1bZ-nBrhM}7I-74EHlq7t*s#bi4`9QLKZXs9 z{V{A<0-$2R#{;NXhNJ)|mLnNJi`|esFpp9ox4?YL9VvqHC=cWwluvmgkKjBw($_OM zpYldtA$b5c_U-^+Cgc;E2Vi60(0l+J`-SBJ*w{ZTAHc@S@H{x`Hy}J8Ajg3b07pSV z5%~Zo3GSE&z~hjP`2alb5Sa(yhtSA;DjbDH2cjMS<;Dg`C0^QcsmlB}W9P-=>XN{3S@DU^v) z@v=iYUUpy@yvU#FSaui)i~MPL*&)@wlt%+#$936(A8E8ePwd4z-T5Jf%iDjs&hLd) z_%N7Q!*@>d@d5sx@NE!NRU=-3C(l&=LybsXVhBS~`@qON89wV%7uWz9fCYGF_p*8uw%+qkevT~3c1egke7y+1i)8=O0KZMm9XeIP&94kTIRr7_ zCjj>Jd$){qbgFYD>+d(5w}HTDbr20N{NH{q$juJxC`m0*@kise7<7usH$)V0d>9Pi z$%p4n_w8N|cVwAMa+6%>ma9lEa0)w;f}koK3k)9os-)Hc+xKDDDr#hThY_$D+CKax zm6%^ybg;o*^ZP1tlIxNIzxo^CSYmY=H~7l=0PirYAZxq$!yIH?d1RZ6WNqL9Z$Jc^ zV)s3&O`a)uCi8$d;M>J+##I8@F|R{ib{(xsFc)@Ht2+^ zxD-wjZak7c!5QD3_7A6j}S%s*g34NGT>u^lh|s2=qi6?dtM;`nPWUZ!oFrb z#BPrt(Xp*Co!mIszu|C|KC+eck?r~=>j{6u;VOMpE9s-!^*ics<30+ns5oaj5$$CJ zmeoE3h_X+&+AIowCWgh313E|4IS`4V&!mS5b~x4L@nZ0l~pn4`y>(KJ1h02P`%} z2qz(_slp$>vsXlC9ys;)1K<_GxZl&1H|T524CVcaB6R3or@g~fqdXAI0f(rxk+!z2 zF>SUE$VOqF#~()krwH6H)3Kf2wcGOR(?-AH%NMmHIb?w1%#Q4~(~L(51V@;iEevg> zoV~+JZ!bO%&Pb-poYKn+4kLEu{tX~J+q~~0^G7vGsR%!fOG*$G7V_BWx2UzuM0f0H6XJkD#s4qY#)l5ngJP~ zlAfLlpKAgvrcB9-{gui9r8I!-ln-E}voYhO^^3<1;)FoQWLE`o!TcF(LR2Q!>lov*TDMgZ0T|ePKg9 z?EjXqKDjK?;LY(2Y>qEreY7mo8-IGqryt7obgHMv@OL@t;`I zvrIYbV_*?{RtdhT1US-K*4xNR>R3M$i!7`USYxKKXgcdN3pS0z6v&qZ@@0WsCXlZPEfpW z(@a-LlooklAh#$N%%KQ%$c2*>0r?q?dSh63Y+NTuJu405Vcp)s(dHHSG~Y@B@D@vD zucBY1cwaMo;i(KCY);LD4>}>ZxYIM?4eV-eKKvD+xaS}YypHfo#rwEDL~{{rY}U~n z%`w=cZ5}FR;=N$=H`x&W1R5*SNr(%Jv=XEj;ZO8{f4n6ec8qt$bi5xYCHGKHx`E%U z4jZF&GET<9X~1sy97Wh64e+ObT%|MI035EEwucL!b|K+5BeHc<$%hM{cCj53!aae* zRg!Q|^Wg@-*If8;&*1b*9N}KV;a+wLH_#bw5Dpi5CqBKfL6d}QL$+UmJ&+IgI)r;e z2={j!ZXgNw4j*n1e4m96_b(i-R4kIpDk1yuw@)IPg5lKW9@Ijb?7xJRvyf4+|B?ym z4LdA#9k>n=zER)=-#!64_E>yRP6~VZy|_>-7p4p6!np{INJ@hk+cR`?gAWu~GY16* zB>^&U^kpK5eg%XFyDmxem(qC8B^Sa+A9h{Zmcb(gjf-nJ?8X#_c&UM0fnA&Rq2&7` zURJJSG___4-n9is3v^sr?*%Ia(NsNr=L^0{LW=V(yl+nKNZuBgI%dP@9wi_`ZXM@&ZN#<$F9x#7}(m!hkFx;3*VID+X&vpXZzD7 z+%C>=yW(&?9pTP`jdr+g&Vmm`!5+IVe7JL9iyz*(XAk!Y*smw+J~l6??d^h-|L{dn_OBYY^@VA>21`xUnSM zH~DbmY;W1aU4z5*afG`8hr7uo-1wH^!d7FxZEm-RyIo{^AK2shaCbnsJB4s}<8b3i zxO*Joeqs-IFAf(V|9n0l!r?Z%gqz?DHxj28HXKW3qoLLvw}*RNWcwP}6ZmjXLb#`e zaKFXjCV0Vk&vuRvH_~<<6S_n$v00l0dZObBXlUQt<8lGV1$HO%ak+-$@(VAGz!H|WQKsMn>Hjmg4HV4^+4UkQ;n?T61Nywoi*vsbF z9B*@M4tF+r`@Sz9;P?AichB_5l0jJez4zIwuBooBs;;W8>;M1%euy5i%kmeLw0X2|aLqlieo?@`tIAfiX@l6*+TP-8zWh8h(miHg>E!Y)b7deX`FDayBu0Q2+kVlPm> zUqPHkWKvF1#QKTOm5t?a#;^r&U%mn5^WP; z0yEnYe)Np>er=LwaxQ>of|XAn6}(;#Yvb|Nc;FE{5UgB46YFE-olLH=K8Snxc!Mhu z_+f3*gHsbcS_s<_>y#Vwv>nrWLWA{g(0WQEgE8yl+Jq>!^;g=&(Si-&1Nfwdx?3va zEtlgZpTkR@WA)N=U}R}z&uP}@wDE~#f%OmC_++x!`aDIhbR)kcBHt#xgviI(OPcjH zMD8oMzK+O!)z&vCauq{kE<(yLi^#W2FT<=HMWbf>9z|HDBJ1;1!9PF@ET2Gn<-!}pGD&(>vtHHQWzs9w54DN#yJ(R_b@L-_JfYKXu|xvm!oO)^+F3|;+CM|g zJ1Hi;{Li)h6%_SOJ8H7R`lZNa!5x-PTItY2&6U27#O!GCC&hF4rAX z$P-P*tlyKT24nai$g={2>N)a+lb2Z*c?z%u`XhOYlO@)FlBYDe$odm`$}tN3SsTan zg^%!mQ$+=>|3mdqP2XS#s^JY(gEgj$wy#I2PmtHVLcHtU`nbB3eqNdE2$Bi>NjIP~ zS!vy;Bb^Y0e7q6Hd_L=@L>I9nMiN`it&zkwb6X^_-P|5YY%#Y8$FZaC+l;ujN#DPa zun=3m3pl?$xVf$YQdPx8W3^xG?uA6!o(x=V4DXS~-0e%Vx}uCEw~Ld0qX zV^+;Tmjm*l21N^l>jAFhka7w75iYo@xq4o(aA8qNe!&7(T)GI`H6pfJN^T`A;S5!D zI&8YgEFC{&1;%&y95CIXM`Mp?_;msDj$dS{?u(8`5(s)qbWhklO^abDNdi4X5GI;QMVL-dy?#|GN73p8!5zu>&=LV1ZsjPxz%)4q5I2IqYQeD>|_ z=z+o@JfDog!8rzCNE|I<6@jxj7=afWL3GFk=y#epxuUCLfci3!yO7)>;V;JdB#13Q zoq*022k#lS|CAVdA3C+oW#-s%7iR3Zq4T8&Vg0;MSW4dj6fo;Xr$ee$B5V_g9z-t` zoe~apz&OhgX1dyJPFpMKgb_6s2+2TeFO+cxaXeajHJk7Ty+`uK^Me?6VAz zxHIDb**s4Jr0)=5uXls5uoUVWuFglpP|s*;bmhn>s2>l_aR{Ad#zO_W-$7GTY_@Ms zX>5t;neh`H4Op>Rqi6P@X>fl|Ua(+6Q6M*;6)prPV5z(aR9TD31>VYR!zOJ1-CC34z;kYP&SB<+X=FO_ zHTLtUKp`#Gfid1YkYdLaK&3l+w>_!;0sVkrw}4*9^qd>S4Iyqm0_zL~qLyq7doKdL z2bkW$S)V;c$Pa}=hZj%Si+w$V0!*GzfH|;x$AMkDJ2!3gkOEww2LmOJ3*N-83R_fZ z>!3Ig`(7r648(dUrY46EjyM_>8AB1*KN;* zTK4ehhT-Hvuo4{f**ErFokJ{9Zm6xg9kB0h-Pn2UMjzy*0ubLeh*HsBd&$|y?Izso zT=!+MGuf{=177@0tbx;^$pxCY(aN{8u7=?Lg67IR=BX!v;eWAAC~s2O7p0qRun-gUTs|on=%+s^=X-U> zq*x=!P+M9R0=vdMsx-DWk>pirZ*6vQ)&cQNVBd|v9*;pc9W!mD#laq*W#yeMNX%Yr zzh$Iuhq2?LQ@_#{jVjUhCLqCJ=@~38g6J_+QiLVwb(pbNgQAKP#VW>9fH+_^U_ct- zKyL#W#^zd87jg~g)xh0e#AQHlF9y&v*FajejO*2$E$4C#mutDag3EQB)pPkW&ccKq zO`y{aT&^N`ZXV@4#(5*>OV*}u?i`t`CcgpfR{OI?~!sk@VD+BikrJ$ z-VoooNw}MZyG6KN!o5nkTZOw#xI2V9$`FFX z8Q}8z1KoIjF&#zZN{g+f6Co)F`B{}AY4nv~K73UZcos4XYgwpw^c5?Fa|doMM?RDt z?ma1TqpTn^sYw_KzYSJ8(dCyxz*Q$0u>gJL55$mDJxY2Rt>?nyiQKMSsZX_5IzHKI z7$@3TGauXTcmZT7v?WmiOcw~9V-*syvv1g6D6%yd(3T|gl7-er#MOXQlzU1+JnYJC zc)v>4m|}Pr0{@{40RHHr+850MpsSJ^tyX~eITff8Ke^8Ekktl;Eo4+g^;-0Ig=LcD zMnVw61uZ$E+9&v<$iQ0dWMQrGKKq%>vu<)1JgZr2#}maNLjS{Q30{wKMHvU=)2At{ zt61$Tv983enq;Zffh*lZwRhTH1xFw2;Uxx1v#dj4<2XN;hb`2%?PAv93n1I!aO#05ro3bkp6qs_`mx zf<5rb!guW^Nn0kdY6v_4_p+R_C~Z@&{aVdFL^;(VdXh3CPxrXE^q^yK>gXGgte{P;Rs_uhi! zYRAnI!VI(qkd}|qBEHcf`e>@8Ap&uh>25#wP=Q3=}`&Zc!oY`MQuxEJ5KSD%9VhXp3baF%htUV8>21lIL zo*mXBh-`Yr#BPVsTz@##yK%0ISi3aN8dj8s7P4uMbiomGVTrx3=j_xS4!4W02j)^b zu^zB<_U7iU38K*!C5klx=`h7wu`Y<&3}^Ne-W7AUg130Zx3Xgg?Rrz14!x|nf;Q_4 z2r;~b=r$XAkSpa}U2H%dNM3@TfbF*g7&W3ifUXRF@&dVV;esOJ77MpTxTV5fw3O~v z3V#*Oj0DrU)&Z>*rb1UC&UD({gIZSyBsnpi>ptwAz;vzy5D~T|%tuogHcgoERIP!! z{aa@+$5-G`kq0bsV2~r_Va{TCRuCt<8rXkrD)K@^q=PGQP7ts(Oh*AT5FsJGaKt%* z?~eiJgLpN4P}SdHvk*17L|)>Y)N@j>teifIX;ek&Na2gzydX)jH?mW@kPyu|6PtFT z^Z(faf~PK4O|LNb^fhW9F3bZ7(7YcnKplD3_I5v9XduouMktM~O>{u37VB6Y%i@3* z%VMlQI1oVvK%$X-#1P;(VZhNsX)aD?i%J%iLH1U$Wbx8Ua;yH^ju>9MuzPzbi`+A? z3NhR}J==SKF2kTWX|U5+<4FUx>FhnScP?puO3#MbA)8EZcg2`~VX+!K$t zwqmqbIgBv@xu^KJVt`QCD5S$$u7eo~+p`kv(478>#XiXm0sz0y%@=NP5&6r6zZ{00 zG|bD`!roE*y8s(?=-X z_KN3h6$*=Y^nCChLdo=s=MT*L4R~YBr4xC-0Z$tA4P;m{y}jBKslnsV{!|=^8c|6K zTYjGGA@$~wJXpW&xNQ($!(pIW9Dj4$wE|BTC{rjJ_4MZo8xF%+LW$MKhBV-T)4{zQ zbDp&5M9^Ja5zA&MLNFqN9n?NobkEJ!xrjR2*3Nw!ugO^4L!thdFrqNvv5hV`UUzH% z$f(@k%MSsBXYZi_U&_Wg9Z6&421Wt$avO*>lOrjdn;joW1*iZHo@IIUX{ z>FXcpl~V(rNo=+EbtnmO9vRFg%?(A=aX zY>r&820PG!Z1nPC&Qzy%38*lFKUz13hGA;r>rI)-BLnDdX%0fCl8KnmF9JnG)da&T zhm|Y(W>SNwd}vr5ffb?(nRqXtHu?_^=4WDe(rQ1tLDNBX$Ccn=BvI?K`&PO~58o`cCkJC~7Cn=G%n6s91YgQK-Y( zpd)YE!QG+A79ZH+4xStsz{uGP+p}IsfdpGBtCl0j_;3pC)RWS$NgdpH?6ADQ8eMT@ zlvU!p1&ES5I(#Ih5}&O$OvbGI<|8Ac{pNArPh`D2%mNyb$vAZncKKplRU6+ka$4M;0*4db75i_QopalqfkdkcbcW_lz27?875F1_zESx1^4zIfrK(T;1>8 z9*^_9HH`@i^NuEFAl;sR0I_EJ{rKK5F^c zalKnW<@@am0oi*bOFct}k6%sr`6Ky)!`ikwii5a1w-;@H4N02_Jmvyk>o+T?cOv?4 zSw4FPHh1~l(%Py3CPx8nsRAGzrL{c*mev@tLX&Vr@Op!bwXJO$O+8SGT0xiE4m6-x zV|#nRGYxYydo6vV=v7t6j} zEw4DgBwtv01@f!f^0P|@zel9m^fK5}xc`@fDTv@?+Dd%;Z14buoG%zDV z1gS<0F&jB+;tJSQn>k;_c?dF@yePuk31>&Sg7eEczmh8*Twlj?HgILLu?3JI$hXV5 z3YIF&*aZI;u3W`)cNjb2huCK~XV-G&I7yLy%I!S&9b7qP z97D`^8SlbT*WJtrF{7U4!Mzs;sW|WAFtFn60aV8Sz#jmAln3z#z#kQWKMMF%Re=7e ze}lhjt^)H%J&oW`F(Zc=AQ9#KGx#HzAHW33pChOrW&l>j_yYbwY{Qj*Vm#+dxPF-# zFCgrr_>Ut{vu**~*yuy3-o_gfk7w=>?C zGv4oHyx+}uzn}3=WV}-u?+-HGS2EtS8SkqZ?+-KHA7{M(mht{9KrR( za7tu2rOGM`BEA7;n_(pbRx{CgD4>LFA&=UZYqgE9Af;~}Ys<9xx)J9eVSm&iBs z!}2=TqX$<&9MkRV=G8q$w^85YuOJo0WT4ZY4H-AiCiAzdcmiWCHLvp`c0BvN(UN?AU&&PWs*|PlnP0O zyOwQf%JgG!0%TEX{FSly>} zt3H)-w7T#vO1xS+S{T9GU4{1+O+Lj@)C#POg@+D2-8spFD#ObGGV4k6Jla(*qUxdTHl5*2;FBV^Mkc zIaa6a!E375T6-tV%P3dGw)Rb=8|35}$QmcZZKvX4R(K_fm>93`(J8=06Hat8pN_Px z15;!|08x0|lz18Nw2|0Ro3fj=TTODSyIb9C_112NO&o^n08zg7xw7artS`lCNfIqs z&n}nxET~^mRp52WegPG5CZG~4D<&f&>mB1$lW}UP zcTM4Wm`>b@Ya2NF#@G}p!l(E&{d-ipdtmfuw~}hN(mh~w-Nx>P8qh(6M$peX#rT+8j8C90;!B9RHTzr$!o1|pcORpy5wFE zl1?V}nfuJ^lQ&r3g#SkKMl+Gz4{}_JLEY?S;iDG$uJE-a4_Mz9RS=+6^Dt@vbfnG) zano7)7N+RE*(-35$*(Z5sfCYEnMr)wpeDtS z+o#NK{P-zz`ufkvLuL4d=)*3PPgjpL z)^pZ6m(CgnvQuX7_=K5qhDp)Y|45-GLJxXF|Kt|t&u(GqC>ij*Kv4JGs!P3U1wQ4TD3n#Tt{z*Pd** zz>+GslIiQeTgKQ2`%2BH8^0$d95TwawQx={b{~d43{5op(d>?Ch%QiI5o2M!bRSvm zrq~`y%meqsi;o&+YO>jn`ABo;qqD&#)8`WyR! zQW031^#J9SdEh?h0kFza-1rcP&D15N18^7@&G06r2T|*>oo2?D+i%2VOXD|#Q&O!)c?UvovK5m zPP3#)y-lS4g-q&gV6YATNJa`@qSWb$bn0!^m*wD#bnhj35*-&U@l`qa84CC&0^9;} zu*?QONTJ`M&=C~m11$V7i;v3j5r&7pD+h0<+v6xBs@R&46GzM=V82~QGvHB1>Sxv@ z$~4lgWj%UDkd~Z3kTI%;Kg8m6hB7%vri+FAIZTY3jeuV)L+O! z6#-zJ4L{Dp@i3;nU&`02)V^S5#i~)o!|~%RbiNGV8KQxs6%A+omR05jR<*ySa2*2fXVy>Mkb)o<*yvv%({*wwNPrrWt+pnK5 zc_Z_`;f?d@{~d3f$Mg7DX=}9iHL*3aEO|1#1%t>VLLcyt@?=QDhx8|eUX>30vj}ao z{!6B1OHjo!@fn&q$uOUWiF52@n6dC}f1EM8e1gez`6N^5@-$OllVQJ4Yrjd_blv1E z{FYGne;uCzt=4ley3=}r6YuS_!T{KMLki#?zK z7XSk&v!{`8@xo;&%=?t_@Mpx9C|n{oSK((I2I#+MC$JsaY`q^3(PLultzww-X!rO5 zN=h@UA1S;asXU5bs27r@i|Nz5om)xOl(n6sy>4dy^kKt0eM9%1%!V#I+sD$`EDFjor^fO^O{!W=Vwx6)?D9|@X z1oa8Lb8s6H`ly}$v!3)@5d754>Hn>hN;(gEPULZ#D)Hk=qFj`+98;PmrnD8Lr1~!G zvZXt*$(FE$(g3NzvETYWonCwjEsog?o2|QWl17IUpF-n?*rych)5@fIMPkGpc~Y4y?&Wuo~;Si^-xC*5?(h#!Y5o3w0lxq9xB%2vd&dIRW~C z=Z?^G_c1lm7?MH~ws-M&Go{Y@f~Txs6#j0tvbHAvS4^#=9DxI|$$CMV#IQ)~1dK4& ziy|7Of@G2Eq#I!)#ldY$Sjz)q4Ybv423Ou`k0TNyN zkBp?&Cl3?WE<~XHL&Kmi;Rw4fmApkgd}O5W&9yx)u!G7ntjWAV1FVaLx(8`n5Q?5q zeQ@+S(o!{7D}ePY5S2Mv4l`L21v4oN9g~>XkgLE1^mLyC(ed8ZIK0-0uG*aP8#__FW66d!2t#*M~0KD zz{yidP1s~%zf~|14p@bgd*ryv>R>oCF}YF0=CugJkD?;OJxFKKcqAkNOR7XF#{n~| zuqtRc^^csf7KfyfSAtkI7}kUZ4ngo+_BA8oXA!q-i2XdH07#rhDf8; z)z-;U$aUhyE`EQev^~mU3uZ`?JBrEy4<6>+6(MI-b^Ct`9^t9UY}IDFCLQhOSlhg5 zH_y>Dnr4+5b=B?ix#Lq)G&0*z2;0O~pI3dk7+_q4Fp;Ie%z1$GT+qHdnxeSiJ6H2{ zp~qY%)R@aFq{Z@*%B5Ay$gQ4Tk9pn^CccN#*q=v3&(LrR%4!ENiKd1JlLPKIq0b3D z7rL7_QcAd{Q$k%z>2B@`ukRZjJ-oW1;kMguTb1k`>Q1c!4sb&(5@~5LL9>9uG`NLP zigElc$&lQmv>5A9Xi&hz>mv`W0kPa+4kpYyc>0|LkZ}WP=Mh0edL^^I03V$Va_ru_ zM6e9rLkkuxmOAGOnjwm@#w`Y_N{4O^u^A1b)S6HS^1=LPcs;Zji=gPS6I@*VW`C+z zps3Ju-pNs3z1meFdh?}?4&^`S06D7=zne?vC_4b{+G!Qk&;$H|(bS&7esFS9wyvt` z4pH0^XNtFf?H<|%-J-#Rp-A??l&!sOuQY`9Ggf}~la2-#sf-;=L1{J5Q!}BqW}jQG z{4LiA?I$Ql4fI2`$n9VG{eyTEP~KYxd;39JSKtEa^Wi%a4L^=6P7!d`Jz?yeMQ zGO#$@NC@IA1=Xq%XbQ3+HbT`&31Qhcy+&qyWvInXkB3&XBByN)d} z48MfUk_Ia+pGsC*9da2~W2}599JyjAmM6;MotlDSN@Gi~7{f9QOEg8rT8PZFJZP-p z{Wx<;5|kpekrXJ({E@=|6|sC$=Q&V9L8R=Lw_pvXTy3qNc%%^7S{o`iTk(W45my+5 zty?C;d02jpoVB{9LgyFYjK;cZaw;UBg5p1JUp+Z#>LGR-*kL0$E8N+wh9b|n=xzAX z{%PCF^qR@=!c&O9dom%{_h_bE{~}}pTDP8*N&I{YXEU;Y9HlrSxYEhQ;zAA zCl~N?Xg2Fu@Flo+q*!<z(8$J%ncq z*C3TUVV)eMpm>m(1yojuSMggrS_noV>n`~5OAXghShzM`$WDdpPMxBZ?y>L5l}}T- zDb`6k*%Hy~PvIh;LXNUEB9g!>(mPwjxB>KB4a?a3SP-)AEU7d}qu)b0LLA-rW%=v! zf`wWU%+z7wjsuetN%2diWYxP!(gKo#m9=^^8sTx0iJb(ppHCt&sliUc^~)b))@e3D z<{i(Hlmb#w@#DUeXM)fjfgm*9b0GY5yUxdPv~hj`-oyF?M2G3l^Ry5EqKm6qKmb`G z+h^#sK*IuDDaUNft)+>jUVFg4B?z-o*=hk^=Ur9I#7*EXFOExF=Q5t9*B3LTiP_Uu z%iWkB^=Dv3z`6npjp5YlnUYv-Qzq;s`Vo5vZ(BReLy8zOFF6%K95N57%tu)SMaw0Z zMev$zxmc6DmG(+ghs;w-X#LG^zf5WFBGHZJCn2=hd?X|~(EKDcPbCuFXg*3LdeXMH z-)i=kpC(_T5nvuuLv77lYN8S6F}3+Dn`q8?E1PK3u1jsxU4rI|8g#yrLXFK&Qlcs6 zE2()am1xBIDb@V6piLP>E$Fd})9uhpE~k??YH#bM_B1=G#tl?bpZjC}QbiHhz5OB* z2@@Haxc)?V0Z=g^k{3W%?Y_4z;!Uiih+X5%V`O2_!!_~!PDi>tQ}Pl!8a2> ze0wGk4DjHGR~wt6p1|wX#@0pzw#C|~u`upcn__K^;Dv8(n|5cP3Yx5T*lsm7O}leF z&Tyj5YI9>W;-x0stKxv92_{|5E#BaLY6~EFh~g~f4ZhyyI|Jugn-gpghH7gx(g>%$ z*xJ97HKAnvPPf#&5~(ZJBZq& zZEny$wY|Bel_=F(^0GS|S)et=E+C^raAQ-NSbau1J*BOsNdvEXm9Me*C;%ds&}kKj zy@1LmFXwCpS77Y5hU~hOPOfa=$|e|cab+77n2W+=u9pp9~jY@Tt+_F&fxTle2dAqgnZycXG$e}3YgHD z8iG%)!T!G%e|7k)N2qog#RLO7lUI^&75N(I87NSxU~G|M;;6n3@EUF4sUvr_a4#3` zTH#(P+z#Qc6YhH9ZWL}@xSNH$MYvZ9cdKx>3wMWbcMA6!;qDgh9^qam+`YoRUbr_1 zHzC~p!o5kjN#XVgw^z8PaQlRNvv6+_?jhk03iq&ZZx!x{aE}Q07|`}Kscwb79@Qf0 z>qu71*ORQ4uaiIz?pu$8MAawg!HspWMAD7*Fht`1^+XTu7xdr(K@T1f^x!#y9y~|T zgXao*a8SmB9z0LbgXal)@ci{e51zk{=)r@69vs?jpa(Ay^xz;W2R%5j5c=h;yTQyu2L5xshy@Cl(WxcZC%|_zMf^ zjL$wSO3ULM2n2CNq)-=HF93XP`R!`=?p)ADactzKzQ%c;L@iz@1@3?gXhOfhD^$@& zNe?CqwZn#DXmFD9tVwOG24M$YD42RvoxoWb>|HNF8yu!$e@2R|0yDtOP#N1tP9uFo zK>zS+d}JXsIO|?t?-84!(Jx9Yv^TQUAhg|Ewr#xT0tFV5tqhOqX0jJT639o=0&nMS z8Yp{}0OmNw*>PlarbvCjuG5l(2Vr}2j2*Y%V1Qs9FrxR#S8vhnx5wel1?j_pcoY(@ zRPX8wYluV=7oD}|(&_>A0}A|*89QmkwV*IPy;(rr1j7pwW=YAcPAm=bMk4nX28gUuj-FPXq)%K$OE27p0zq@_ZD zMVvE06#=;}muq=k&xfWZmkYTJY}o~5vaFVHA5dk>xm@7@%j%_EhVZ3|%ORS`WEdH{ z*s=hYg|4RD#En*?6;`@!+}F+`;Y=DEYNe ze^~(YOW7(KPbi^Sm%;#}T8uGCR$%^1Dl?TfT2koeaSoM~D%&=a4%lHIxeO5%Majt{ z0~v^SY!i)zY!S&oa&5Uto?|Bn^%rT81*OPwx?@!c34v_-&A=FJ)vSLVbt^|bKJkpB^lPYt}{*E6f!$U~De#t3-)xt;AQTVKMf*sdnTbc9c?C{moM9s74!wyo+2UpCwU?UrbdO+YiI7(%5xBGK0 z&#)t5cSPxw)+MKbcUn8w*Kx}+LM6C_r;)d#UXVHY$Zpb$G0i#MBk!Ubv!2M!z@IxsqP0JuT|Pk(3-kT(N|g+jobK7h5c3w`&q=kioGXjDQpuHSqX5*TG!8IW{ll7n4D=|F z+CxN&Ujh7L*a*oicTB^6DSr$`IFLOezELC>mzFFNZkcc^gu6tzONCn{+-1TI33oZB z2~9G5+B#aYYwKyrj)i-A$&TfFddZIEJ1yA>JAhMx1RD$UWtO}IH|#8V%MyNC@~T2U vdgX$LP(+&3GHau36*+=Sl`qa|#b&u}KRR2&juzt#d|6Tl%JhE$aI&Xx7{a|1 literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js new file mode 100644 index 00000000..73947355 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.Nonbreaking",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceNonBreaking",function(){a.execCommand("mceInsertContent",false,(a.plugins.visualchars&&a.plugins.visualchars.state)?' ':" ")});a.addButton("nonbreaking",{title:"nonbreaking.nonbreaking_desc",cmd:"mceNonBreaking"});if(a.getParam("nonbreaking_force_tab")){a.onKeyDown.add(function(d,f){if(tinymce.isIE&&f.keyCode==9){d.execCommand("mceNonBreaking");d.execCommand("mceNonBreaking");d.execCommand("mceNonBreaking");tinymce.dom.Event.cancel(f)}})}},getInfo:function(){return{longname:"Nonbreaking space",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/nonbreaking",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("nonbreaking",tinymce.plugins.Nonbreaking)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js new file mode 100644 index 00000000..2b4f5ff2 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js @@ -0,0 +1,53 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.Nonbreaking', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + // Register commands + ed.addCommand('mceNonBreaking', function() { + ed.execCommand('mceInsertContent', false, (ed.plugins.visualchars && ed.plugins.visualchars.state) ? ' ' : ' '); + }); + + // Register buttons + ed.addButton('nonbreaking', {title : 'nonbreaking.nonbreaking_desc', cmd : 'mceNonBreaking'}); + + if (ed.getParam('nonbreaking_force_tab')) { + ed.onKeyDown.add(function(ed, e) { + if (tinymce.isIE && e.keyCode == 9) { + ed.execCommand('mceNonBreaking'); + ed.execCommand('mceNonBreaking'); + ed.execCommand('mceNonBreaking'); + tinymce.dom.Event.cancel(e); + } + }); + } + }, + + getInfo : function() { + return { + longname : 'Nonbreaking space', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/nonbreaking', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + + // Private methods + }); + + // Register plugin + tinymce.PluginManager.add('nonbreaking', tinymce.plugins.Nonbreaking); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js new file mode 100644 index 00000000..2d60138e --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js @@ -0,0 +1 @@ +(function(){var a=tinymce.dom.Event;tinymce.create("tinymce.plugins.NonEditablePlugin",{init:function(d,e){var f=this,c,b,g;f.editor=d;c=d.getParam("noneditable_editable_class","mceEditable");b=d.getParam("noneditable_noneditable_class","mceNonEditable");d.onNodeChange.addToTop(function(i,h,l){var k,j;k=i.dom.getParent(i.selection.getStart(),function(m){return i.dom.hasClass(m,b)});j=i.dom.getParent(i.selection.getEnd(),function(m){return i.dom.hasClass(m,b)});if(k||j){g=1;f._setDisabled(1);return false}else{if(g==1){f._setDisabled(0);g=0}}})},getInfo:function(){return{longname:"Non editable elements",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/noneditable",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_block:function(c,d){var b=d.keyCode;if((b>32&&b<41)||(b>111&&b<124)){return}return a.cancel(d)},_setDisabled:function(d){var c=this,b=c.editor;tinymce.each(b.controlManager.controls,function(e){e.setDisabled(d)});if(d!==c.disabled){if(d){b.onKeyDown.addToTop(c._block);b.onKeyPress.addToTop(c._block);b.onKeyUp.addToTop(c._block);b.onPaste.addToTop(c._block);b.onContextMenu.addToTop(c._block)}else{b.onKeyDown.remove(c._block);b.onKeyPress.remove(c._block);b.onKeyUp.remove(c._block);b.onPaste.remove(c._block);b.onContextMenu.remove(c._block)}c.disabled=d}}});tinymce.PluginManager.add("noneditable",tinymce.plugins.NonEditablePlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js new file mode 100644 index 00000000..47b8a3be --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js @@ -0,0 +1,95 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var Event = tinymce.dom.Event; + + tinymce.create('tinymce.plugins.NonEditablePlugin', { + init : function(ed, url) { + var t = this, editClass, nonEditClass, state; + + t.editor = ed; + editClass = ed.getParam("noneditable_editable_class", "mceEditable"); + nonEditClass = ed.getParam("noneditable_noneditable_class", "mceNonEditable"); + + ed.onNodeChange.addToTop(function(ed, cm, n) { + var sc, ec; + + // Block if start or end is inside a non editable element + sc = ed.dom.getParent(ed.selection.getStart(), function(n) { + return ed.dom.hasClass(n, nonEditClass); + }); + + ec = ed.dom.getParent(ed.selection.getEnd(), function(n) { + return ed.dom.hasClass(n, nonEditClass); + }); + + // Block or unblock + if (sc || ec) { + state = 1; + t._setDisabled(1); + return false; + } else if (state == 1) { + t._setDisabled(0); + state = 0; + } + }); + }, + + getInfo : function() { + return { + longname : 'Non editable elements', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/noneditable', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + _block : function(ed, e) { + var k = e.keyCode; + + // Don't block arrow keys, pg up/down, and F1-F12 + if ((k > 32 && k < 41) || (k > 111 && k < 124)) + return; + + return Event.cancel(e); + }, + + _setDisabled : function(s) { + var t = this, ed = t.editor; + + tinymce.each(ed.controlManager.controls, function(c) { + c.setDisabled(s); + }); + + if (s !== t.disabled) { + if (s) { + ed.onKeyDown.addToTop(t._block); + ed.onKeyPress.addToTop(t._block); + ed.onKeyUp.addToTop(t._block); + ed.onPaste.addToTop(t._block); + ed.onContextMenu.addToTop(t._block); + } else { + ed.onKeyDown.remove(t._block); + ed.onKeyPress.remove(t._block); + ed.onKeyUp.remove(t._block); + ed.onPaste.remove(t._block); + ed.onContextMenu.remove(t._block); + } + + t.disabled = s; + } + } + }); + + // Register plugin + tinymce.PluginManager.add('noneditable', tinymce.plugins.NonEditablePlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js new file mode 100644 index 00000000..35085e8a --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.PageBreakPlugin",{init:function(b,d){var f='',a="mcePageBreak",c=b.getParam("pagebreak_separator",""),e;e=new RegExp(c.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g,function(g){return"\\"+g}),"g");b.addCommand("mcePageBreak",function(){b.execCommand("mceInsertContent",0,f)});b.addButton("pagebreak",{title:"pagebreak.desc",cmd:a});b.onInit.add(function(){if(b.theme.onResolveName){b.theme.onResolveName.add(function(g,h){if(h.node.nodeName=="IMG"&&b.dom.hasClass(h.node,a)){h.name="pagebreak"}})}});b.onClick.add(function(g,h){h=h.target;if(h.nodeName==="IMG"&&g.dom.hasClass(h,a)){g.selection.select(h)}});b.onNodeChange.add(function(h,g,i){g.setActive("pagebreak",i.nodeName==="IMG"&&h.dom.hasClass(i,a))});b.onBeforeSetContent.add(function(g,h){h.content=h.content.replace(e,f)});b.onPostProcess.add(function(g,h){if(h.get){h.content=h.content.replace(/]+>/g,function(i){if(i.indexOf('class="mcePageBreak')!==-1){i=c}return i})}})},getInfo:function(){return{longname:"PageBreak",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/pagebreak",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("pagebreak",tinymce.plugins.PageBreakPlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js new file mode 100644 index 00000000..fc3b3b4a --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js @@ -0,0 +1,74 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.PageBreakPlugin', { + init : function(ed, url) { + var pb = '', cls = 'mcePageBreak', sep = ed.getParam('pagebreak_separator', ''), pbRE; + + pbRE = new RegExp(sep.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g, function(a) {return '\\' + a;}), 'g'); + + // Register commands + ed.addCommand('mcePageBreak', function() { + ed.execCommand('mceInsertContent', 0, pb); + }); + + // Register buttons + ed.addButton('pagebreak', {title : 'pagebreak.desc', cmd : cls}); + + ed.onInit.add(function() { + if (ed.theme.onResolveName) { + ed.theme.onResolveName.add(function(th, o) { + if (o.node.nodeName == 'IMG' && ed.dom.hasClass(o.node, cls)) + o.name = 'pagebreak'; + }); + } + }); + + ed.onClick.add(function(ed, e) { + e = e.target; + + if (e.nodeName === 'IMG' && ed.dom.hasClass(e, cls)) + ed.selection.select(e); + }); + + ed.onNodeChange.add(function(ed, cm, n) { + cm.setActive('pagebreak', n.nodeName === 'IMG' && ed.dom.hasClass(n, cls)); + }); + + ed.onBeforeSetContent.add(function(ed, o) { + o.content = o.content.replace(pbRE, pb); + }); + + ed.onPostProcess.add(function(ed, o) { + if (o.get) + o.content = o.content.replace(/]+>/g, function(im) { + if (im.indexOf('class="mcePageBreak') !== -1) + im = sep; + + return im; + }); + }); + }, + + getInfo : function() { + return { + longname : 'PageBreak', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/pagebreak', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('pagebreak', tinymce.plugins.PageBreakPlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/editor_plugin.js new file mode 100644 index 00000000..9ebc2b2b --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/editor_plugin.js @@ -0,0 +1 @@ +(function(){var c=tinymce.each,a={paste_auto_cleanup_on_paste:true,paste_enable_default_filters:true,paste_block_drop:false,paste_retain_style_properties:"none",paste_strip_class_attributes:"mso",paste_remove_spans:false,paste_remove_styles:false,paste_remove_styles_if_webkit:true,paste_convert_middot_lists:true,paste_convert_headers_to_strong:false,paste_dialog_width:"450",paste_dialog_height:"400",paste_text_use_dialog:false,paste_text_sticky:false,paste_text_sticky_default:false,paste_text_notifyalways:false,paste_text_linebreaktype:"p",paste_text_replacements:[[/\u2026/g,"..."],[/[\x93\x94\u201c\u201d]/g,'"'],[/[\x60\x91\x92\u2018\u2019]/g,"'"]]};function b(d,e){return d.getParam(e,a[e])}tinymce.create("tinymce.plugins.PastePlugin",{init:function(d,e){var f=this;f.editor=d;f.url=e;f.onPreProcess=new tinymce.util.Dispatcher(f);f.onPostProcess=new tinymce.util.Dispatcher(f);f.onPreProcess.add(f._preProcess);f.onPostProcess.add(f._postProcess);f.onPreProcess.add(function(i,j){d.execCallback("paste_preprocess",i,j)});f.onPostProcess.add(function(i,j){d.execCallback("paste_postprocess",i,j)});d.onKeyDown.addToTop(function(i,j){if(((tinymce.isMac?j.metaKey:j.ctrlKey)&&j.keyCode==86)||(j.shiftKey&&j.keyCode==45)){return false}});d.pasteAsPlainText=b(d,"paste_text_sticky_default");function h(l,j){var k=d.dom,i;f.onPreProcess.dispatch(f,l);l.node=k.create("div",0,l.content);if(tinymce.isGecko){i=d.selection.getRng(true);if(i.startContainer==i.endContainer&&i.startContainer.nodeType==3){if(l.node.childNodes.length===1&&/^(p|h[1-6]|pre)$/i.test(l.node.firstChild.nodeName)&&l.content.indexOf("__MCE_ITEM__")===-1){k.remove(l.node.firstChild,true)}}}f.onPostProcess.dispatch(f,l);l.content=d.serializer.serialize(l.node,{getInner:1,forced_root_block:""});if((!j)&&(d.pasteAsPlainText)){f._insertPlainText(d,k,l.content);if(!b(d,"paste_text_sticky")){d.pasteAsPlainText=false;d.controlManager.setActive("pastetext",false)}}else{f._insert(l.content)}}d.addCommand("mceInsertClipboardContent",function(i,j){h(j,true)});if(!b(d,"paste_text_use_dialog")){d.addCommand("mcePasteText",function(j,i){var k=tinymce.util.Cookie;d.pasteAsPlainText=!d.pasteAsPlainText;d.controlManager.setActive("pastetext",d.pasteAsPlainText);if((d.pasteAsPlainText)&&(!k.get("tinymcePasteText"))){if(b(d,"paste_text_sticky")){d.windowManager.alert(d.translate("paste.plaintext_mode_sticky"))}else{d.windowManager.alert(d.translate("paste.plaintext_mode_sticky"))}if(!b(d,"paste_text_notifyalways")){k.set("tinymcePasteText","1",new Date(new Date().getFullYear()+1,12,31))}}})}d.addButton("pastetext",{title:"paste.paste_text_desc",cmd:"mcePasteText"});d.addButton("selectall",{title:"paste.selectall_desc",cmd:"selectall"});function g(s){var l,p,j,t,k=d.selection,o=d.dom,q=d.getBody(),i,r;if(s.clipboardData||o.doc.dataTransfer){r=(s.clipboardData||o.doc.dataTransfer).getData("Text");if(d.pasteAsPlainText){s.preventDefault();h({content:r.replace(/\r?\n/g,"
")});return}}if(o.get("_mcePaste")){return}l=o.add(q,"div",{id:"_mcePaste","class":"mcePaste","data-mce-bogus":"1"},"\uFEFF\uFEFF");if(q!=d.getDoc().body){i=o.getPos(d.selection.getStart(),q).y}else{i=q.scrollTop+o.getViewPort(d.getWin()).y}o.setStyles(l,{position:"absolute",left:tinymce.isGecko?-40:0,top:i-25,width:1,height:1,overflow:"hidden"});if(tinymce.isIE){t=k.getRng();j=o.doc.body.createTextRange();j.moveToElementText(l);j.execCommand("Paste");o.remove(l);if(l.innerHTML==="\uFEFF\uFEFF"){d.execCommand("mcePasteWord");s.preventDefault();return}k.setRng(t);k.setContent("");setTimeout(function(){h({content:l.innerHTML})},0);return tinymce.dom.Event.cancel(s)}else{function m(n){n.preventDefault()}o.bind(d.getDoc(),"mousedown",m);o.bind(d.getDoc(),"keydown",m);p=d.selection.getRng();l=l.firstChild;j=d.getDoc().createRange();j.setStart(l,0);j.setEnd(l,2);k.setRng(j);window.setTimeout(function(){var u="",n;if(!o.select("div.mcePaste > div.mcePaste").length){n=o.select("div.mcePaste");c(n,function(w){var v=w.firstChild;if(v&&v.nodeName=="DIV"&&v.style.marginTop&&v.style.backgroundColor){o.remove(v,1)}c(o.select("span.Apple-style-span",w),function(x){o.remove(x,1)});c(o.select("br[data-mce-bogus]",w),function(x){o.remove(x)});if(w.parentNode.className!="mcePaste"){u+=w.innerHTML}})}else{u="

"+o.encode(r).replace(/\r?\n\r?\n/g,"

").replace(/\r?\n/g,"
")+"

"}c(o.select("div.mcePaste"),function(v){o.remove(v)});if(p){k.setRng(p)}h({content:u});o.unbind(d.getDoc(),"mousedown",m);o.unbind(d.getDoc(),"keydown",m)},0)}}if(b(d,"paste_auto_cleanup_on_paste")){if(tinymce.isOpera||/Firefox\/2/.test(navigator.userAgent)){d.onKeyDown.addToTop(function(i,j){if(((tinymce.isMac?j.metaKey:j.ctrlKey)&&j.keyCode==86)||(j.shiftKey&&j.keyCode==45)){g(j)}})}else{d.onPaste.addToTop(function(i,j){return g(j)})}}d.onInit.add(function(){d.controlManager.setActive("pastetext",d.pasteAsPlainText);if(b(d,"paste_block_drop")){d.dom.bind(d.getBody(),["dragend","dragover","draggesture","dragdrop","drop","drag"],function(i){i.preventDefault();i.stopPropagation();return false})}});f._legacySupport()},getInfo:function(){return{longname:"Paste text/word",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/paste",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_preProcess:function(g,e){var k=this.editor,j=e.content,p=tinymce.grep,n=tinymce.explode,f=tinymce.trim,l,i;function d(h){c(h,function(o){if(o.constructor==RegExp){j=j.replace(o,"")}else{j=j.replace(o[0],o[1])}})}if(k.settings.paste_enable_default_filters==false){return}if(tinymce.isIE&&document.documentMode>=9){d([[/(?:
 [\s\r\n]+|
)*(<\/?(h[1-6r]|p|div|address|pre|form|table|tbody|thead|tfoot|th|tr|td|li|ol|ul|caption|blockquote|center|dl|dt|dd|dir|fieldset)[^>]*>)(?:
 [\s\r\n]+|
)*/g,"$1"]]);d([[/

/g,"

"],[/
/g," "],[/

/g,"
"],])}if(/class="?Mso|style="[^"]*\bmso-|w:WordDocument/i.test(j)||e.wordContent){e.wordContent=true;d([/^\s*( )+/gi,/( |]*>)+\s*$/gi]);if(b(k,"paste_convert_headers_to_strong")){j=j.replace(/

]*class="?MsoHeading"?[^>]*>(.*?)<\/p>/gi,"

$1

")}if(b(k,"paste_convert_middot_lists")){d([[//gi,"$&__MCE_ITEM__"],[/(]+(?:mso-list:|:\s*symbol)[^>]+>)/gi,"$1__MCE_ITEM__"],[/(]+(?:MsoListParagraph)[^>]+>)/gi,"$1__MCE_ITEM__"]])}d([//gi,/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,[/<(\/?)s>/gi,"<$1strike>"],[/ /gi,"\u00a0"]]);do{l=j.length;j=j.replace(/(<[a-z][^>]*\s)(?:id|name|language|type|on\w+|\w+:\w+)=(?:"[^"]*"|\w+)\s?/gi,"$1")}while(l!=j.length);if(b(k,"paste_retain_style_properties").replace(/^none$/i,"").length==0){j=j.replace(/<\/?span[^>]*>/gi,"")}else{d([[/([\s\u00a0]*)<\/span>/gi,function(o,h){return(h.length>0)?h.replace(/./," ").slice(Math.floor(h.length/2)).split("").join("\u00a0"):""}],[/(<[a-z][^>]*)\sstyle="([^"]*)"/gi,function(t,h,r){var u=[],o=0,q=n(f(r).replace(/"/gi,"'"),";");c(q,function(s){var w,y,z=n(s,":");function x(A){return A+((A!=="0")&&(/\d$/.test(A)))?"px":""}if(z.length==2){w=z[0].toLowerCase();y=z[1].toLowerCase();switch(w){case"mso-padding-alt":case"mso-padding-top-alt":case"mso-padding-right-alt":case"mso-padding-bottom-alt":case"mso-padding-left-alt":case"mso-margin-alt":case"mso-margin-top-alt":case"mso-margin-right-alt":case"mso-margin-bottom-alt":case"mso-margin-left-alt":case"mso-table-layout-alt":case"mso-height":case"mso-width":case"mso-vertical-align-alt":u[o++]=w.replace(/^mso-|-alt$/g,"")+":"+x(y);return;case"horiz-align":u[o++]="text-align:"+y;return;case"vert-align":u[o++]="vertical-align:"+y;return;case"font-color":case"mso-foreground":u[o++]="color:"+y;return;case"mso-background":case"mso-highlight":u[o++]="background:"+y;return;case"mso-default-height":u[o++]="min-height:"+x(y);return;case"mso-default-width":u[o++]="min-width:"+x(y);return;case"mso-padding-between-alt":u[o++]="border-collapse:separate;border-spacing:"+x(y);return;case"text-line-through":if((y=="single")||(y=="double")){u[o++]="text-decoration:line-through"}return;case"mso-zero-height":if(y=="yes"){u[o++]="display:none"}return}if(/^(mso|column|font-emph|lang|layout|line-break|list-image|nav|panose|punct|row|ruby|sep|size|src|tab-|table-border|text-(?!align|decor|indent|trans)|top-bar|version|vnd|word-break)/.test(w)){return}u[o++]=w+":"+z[1]}});if(o>0){return h+' style="'+u.join(";")+'"'}else{return h}}]])}}if(b(k,"paste_convert_headers_to_strong")){d([[/]*>/gi,"

"],[/<\/h[1-6][^>]*>/gi,"

"]])}d([[/Version:[\d.]+\nStartHTML:\d+\nEndHTML:\d+\nStartFragment:\d+\nEndFragment:\d+/gi,""]]);i=b(k,"paste_strip_class_attributes");if(i!=="none"){function m(q,o){if(i==="all"){return""}var h=p(n(o.replace(/^(["'])(.*)\1$/,"$2")," "),function(r){return(/^(?!mso)/i.test(r))});return h.length?' class="'+h.join(" ")+'"':""}j=j.replace(/ class="([^"]+)"/gi,m);j=j.replace(/ class=([\-\w]+)/gi,m)}if(b(k,"paste_remove_spans")){j=j.replace(/<\/?span[^>]*>/gi,"")}e.content=j},_postProcess:function(g,i){var f=this,e=f.editor,h=e.dom,d;if(e.settings.paste_enable_default_filters==false){return}if(i.wordContent){c(h.select("a",i.node),function(j){if(!j.href||j.href.indexOf("#_Toc")!=-1){h.remove(j,1)}});if(b(e,"paste_convert_middot_lists")){f._convertLists(g,i)}d=b(e,"paste_retain_style_properties");if((tinymce.is(d,"string"))&&(d!=="all")&&(d!=="*")){d=tinymce.explode(d.replace(/^none$/i,""));c(h.select("*",i.node),function(m){var n={},k=0,l,o,j;if(d){for(l=0;l0){h.setStyles(m,n)}else{if(m.nodeName=="SPAN"&&!m.className){h.remove(m,true)}}})}}if(b(e,"paste_remove_styles")||(b(e,"paste_remove_styles_if_webkit")&&tinymce.isWebKit)){c(h.select("*[style]",i.node),function(j){j.removeAttribute("style");j.removeAttribute("data-mce-style")})}else{if(tinymce.isWebKit){c(h.select("*",i.node),function(j){j.removeAttribute("data-mce-style")})}}},_convertLists:function(g,e){var i=g.editor.dom,h,l,d=-1,f,m=[],k,j;c(i.select("p",e.node),function(t){var q,u="",s,r,n,o;for(q=t.firstChild;q&&q.nodeType==3;q=q.nextSibling){u+=q.nodeValue}u=t.innerHTML.replace(/<\/?\w+[^>]*>/gi,"").replace(/ /g,"\u00a0");if(/^(__MCE_ITEM__)+[\u2022\u00b7\u00a7\u00d8o\u25CF]\s*\u00a0*/.test(u)){s="ul"}if(/^__MCE_ITEM__\s*\w+\.\s*\u00a0+/.test(u)){s="ol"}if(s){f=parseFloat(t.style.marginLeft||0);if(f>d){m.push(f)}if(!h||s!=k){h=i.create(s);i.insertAfter(h,t)}else{if(f>d){h=l.appendChild(i.create(s))}else{if(f]*>/gi,"");if(s=="ul"&&/^__MCE_ITEM__[\u2022\u00b7\u00a7\u00d8o\u25CF]/.test(p)){i.remove(v)}else{if(/^__MCE_ITEM__[\s\S]*\w+\.( |\u00a0)*\s*/.test(p)){i.remove(v)}}});r=t.innerHTML;if(s=="ul"){r=t.innerHTML.replace(/__MCE_ITEM__/g,"").replace(/^[\u2022\u00b7\u00a7\u00d8o\u25CF]\s*( |\u00a0)+\s*/,"")}else{r=t.innerHTML.replace(/__MCE_ITEM__/g,"").replace(/^\s*\w+\.( |\u00a0)+\s*/,"")}l=h.appendChild(i.create("li",0,r));i.remove(t);d=f;k=s}else{h=d=0}});j=e.node.innerHTML;if(j.indexOf("__MCE_ITEM__")!=-1){e.node.innerHTML=j.replace(/__MCE_ITEM__/g,"")}},_insert:function(f,d){var e=this.editor,g=e.selection.getRng();if(!e.selection.isCollapsed()&&g.startContainer!=g.endContainer){e.getDoc().execCommand("Delete",false,null)}e.execCommand("mceInsertContent",false,f,{skip_undo:d})},_insertPlainText:function(j,x,v){var t,u,l,k,r,e,p,f,n=j.getWin(),z=j.getDoc(),s=j.selection,m=tinymce.is,y=tinymce.inArray,g=b(j,"paste_text_linebreaktype"),o=b(j,"paste_text_replacements");function q(d){c(d,function(h){if(h.constructor==RegExp){v=v.replace(h,"")}else{v=v.replace(h[0],h[1])}})}if((typeof(v)==="string")&&(v.length>0)){if(/<(?:p|br|h[1-6]|ul|ol|dl|table|t[rdh]|div|blockquote|fieldset|pre|address|center)[^>]*>/i.test(v)){q([/[\n\r]+/g])}else{q([/\r+/g])}q([[/<\/(?:p|h[1-6]|ul|ol|dl|table|div|blockquote|fieldset|pre|address|center)>/gi,"\n\n"],[/]*>|<\/tr>/gi,"\n"],[/<\/t[dh]>\s*]*>/gi,"\t"],/<[a-z!\/?][^>]*>/gi,[/ /gi," "],[/(?:(?!\n)\s)*(\n+)(?:(?!\n)\s)*/gi,"$1"],[/\n{3,}/g,"\n\n"],/^\s+|\s+$/g]);v=x.decode(tinymce.html.Entities.encodeRaw(v));if(!s.isCollapsed()){z.execCommand("Delete",false,null)}if(m(o,"array")||(m(o,"array"))){q(o)}else{if(m(o,"string")){q(new RegExp(o,"gi"))}}if(g=="none"){q([[/\n+/g," "]])}else{if(g=="br"){q([[/\n/g,"
"]])}else{q([/^\s+|\s+$/g,[/\n\n/g,"

"],[/\n/g,"
"]])}}if((l=v.indexOf("

"))!=-1){k=v.lastIndexOf("

");r=s.getNode();e=[];do{if(r.nodeType==1){if(r.nodeName=="TD"||r.nodeName=="BODY"){break}e[e.length]=r}}while(r=r.parentNode);if(e.length>0){p=v.substring(0,l);f="";for(t=0,u=e.length;t";f+="<"+e[e.length-t-1].nodeName.toLowerCase()+">"}if(l==k){v=p+f+v.substring(l+7)}else{v=p+v.substring(l+4,k+4)+f+v.substring(k+7)}}}j.execCommand("mceInsertRawHTML",false,v+' ');window.setTimeout(function(){var d=x.get("_plain_text_marker"),A,h,w,i;s.select(d,false);z.execCommand("Delete",false,null);d=null;A=s.getStart();h=x.getViewPort(n);w=x.getPos(A).y;i=A.clientHeight;if((wh.y+h.h)){z.body.scrollTop=w

' + dom.encode(textContent).replace(/\r?\n\r?\n/g, '

').replace(/\r?\n/g, '
') + '

'; + } + + // Remove the nodes + each(dom.select('div.mcePaste'), function(n) { + dom.remove(n); + }); + + // Restore the old selection + if (or) + sel.setRng(or); + + process({content : h}); + + // Unblock events ones we got the contents + dom.unbind(ed.getDoc(), 'mousedown', block); + dom.unbind(ed.getDoc(), 'keydown', block); + }, 0); + } + } + + // Check if we should use the new auto process method + if (getParam(ed, "paste_auto_cleanup_on_paste")) { + // Is it's Opera or older FF use key handler + if (tinymce.isOpera || /Firefox\/2/.test(navigator.userAgent)) { + ed.onKeyDown.addToTop(function(ed, e) { + if (((tinymce.isMac ? e.metaKey : e.ctrlKey) && e.keyCode == 86) || (e.shiftKey && e.keyCode == 45)) + grabContent(e); + }); + } else { + // Grab contents on paste event on Gecko and WebKit + ed.onPaste.addToTop(function(ed, e) { + return grabContent(e); + }); + } + } + + ed.onInit.add(function() { + ed.controlManager.setActive("pastetext", ed.pasteAsPlainText); + + // Block all drag/drop events + if (getParam(ed, "paste_block_drop")) { + ed.dom.bind(ed.getBody(), ['dragend', 'dragover', 'draggesture', 'dragdrop', 'drop', 'drag'], function(e) { + e.preventDefault(); + e.stopPropagation(); + + return false; + }); + } + }); + + // Add legacy support + t._legacySupport(); + }, + + getInfo : function() { + return { + longname : 'Paste text/word', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/paste', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + _preProcess : function(pl, o) { + var ed = this.editor, + h = o.content, + grep = tinymce.grep, + explode = tinymce.explode, + trim = tinymce.trim, + len, stripClass; + + //console.log('Before preprocess:' + o.content); + + function process(items) { + each(items, function(v) { + // Remove or replace + if (v.constructor == RegExp) + h = h.replace(v, ''); + else + h = h.replace(v[0], v[1]); + }); + } + + if (ed.settings.paste_enable_default_filters == false) { + return; + } + + // IE9 adds BRs before/after block elements when contents is pasted from word or for example another browser + if (tinymce.isIE && document.documentMode >= 9) { + // IE9 adds BRs before/after block elements when contents is pasted from word or for example another browser + process([[/(?:
 [\s\r\n]+|
)*(<\/?(h[1-6r]|p|div|address|pre|form|table|tbody|thead|tfoot|th|tr|td|li|ol|ul|caption|blockquote|center|dl|dt|dd|dir|fieldset)[^>]*>)(?:
 [\s\r\n]+|
)*/g, '$1']]); + + // IE9 also adds an extra BR element for each soft-linefeed and it also adds a BR for each word wrap break + process([ + [/

/g, '

'], // Replace multiple BR elements with uppercase BR to keep them intact + [/
/g, ' '], // Replace single br elements with space since they are word wrap BR:s + [/

/g, '
'], // Replace back the double brs but into a single BR + ]); + } + + // Detect Word content and process it more aggressive + if (/class="?Mso|style="[^"]*\bmso-|w:WordDocument/i.test(h) || o.wordContent) { + o.wordContent = true; // Mark the pasted contents as word specific content + //console.log('Word contents detected.'); + + // Process away some basic content + process([ + /^\s*( )+/gi, //   entities at the start of contents + /( |]*>)+\s*$/gi //   entities at the end of contents + ]); + + if (getParam(ed, "paste_convert_headers_to_strong")) { + h = h.replace(/

]*class="?MsoHeading"?[^>]*>(.*?)<\/p>/gi, "

$1

"); + } + + if (getParam(ed, "paste_convert_middot_lists")) { + process([ + [//gi, '$&__MCE_ITEM__'], // Convert supportLists to a list item marker + [/(]+(?:mso-list:|:\s*symbol)[^>]+>)/gi, '$1__MCE_ITEM__'], // Convert mso-list and symbol spans to item markers + [/(]+(?:MsoListParagraph)[^>]+>)/gi, '$1__MCE_ITEM__'] // Convert mso-list and symbol paragraphs to item markers (FF) + ]); + } + + process([ + // Word comments like conditional comments etc + //gi, + + // Remove comments, scripts (e.g., msoShowComment), XML tag, VML content, MS Office namespaced tags, and a few other tags + /<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi, + + // Convert into for line-though + [/<(\/?)s>/gi, "<$1strike>"], + + // Replace nsbp entites to char since it's easier to handle + [/ /gi, "\u00a0"] + ]); + + // Remove bad attributes, with or without quotes, ensuring that attribute text is really inside a tag. + // If JavaScript had a RegExp look-behind, we could have integrated this with the last process() array and got rid of the loop. But alas, it does not, so we cannot. + do { + len = h.length; + h = h.replace(/(<[a-z][^>]*\s)(?:id|name|language|type|on\w+|\w+:\w+)=(?:"[^"]*"|\w+)\s?/gi, "$1"); + } while (len != h.length); + + // Remove all spans if no styles is to be retained + if (getParam(ed, "paste_retain_style_properties").replace(/^none$/i, "").length == 0) { + h = h.replace(/<\/?span[^>]*>/gi, ""); + } else { + // We're keeping styles, so at least clean them up. + // CSS Reference: http://msdn.microsoft.com/en-us/library/aa155477.aspx + + process([ + // Convert ___ to string of alternating breaking/non-breaking spaces of same length + [/([\s\u00a0]*)<\/span>/gi, + function(str, spaces) { + return (spaces.length > 0)? spaces.replace(/./, " ").slice(Math.floor(spaces.length/2)).split("").join("\u00a0") : ""; + } + ], + + // Examine all styles: delete junk, transform some, and keep the rest + [/(<[a-z][^>]*)\sstyle="([^"]*)"/gi, + function(str, tag, style) { + var n = [], + i = 0, + s = explode(trim(style).replace(/"/gi, "'"), ";"); + + // Examine each style definition within the tag's style attribute + each(s, function(v) { + var name, value, + parts = explode(v, ":"); + + function ensureUnits(v) { + return v + ((v !== "0") && (/\d$/.test(v)))? "px" : ""; + } + + if (parts.length == 2) { + name = parts[0].toLowerCase(); + value = parts[1].toLowerCase(); + + // Translate certain MS Office styles into their CSS equivalents + switch (name) { + case "mso-padding-alt": + case "mso-padding-top-alt": + case "mso-padding-right-alt": + case "mso-padding-bottom-alt": + case "mso-padding-left-alt": + case "mso-margin-alt": + case "mso-margin-top-alt": + case "mso-margin-right-alt": + case "mso-margin-bottom-alt": + case "mso-margin-left-alt": + case "mso-table-layout-alt": + case "mso-height": + case "mso-width": + case "mso-vertical-align-alt": + n[i++] = name.replace(/^mso-|-alt$/g, "") + ":" + ensureUnits(value); + return; + + case "horiz-align": + n[i++] = "text-align:" + value; + return; + + case "vert-align": + n[i++] = "vertical-align:" + value; + return; + + case "font-color": + case "mso-foreground": + n[i++] = "color:" + value; + return; + + case "mso-background": + case "mso-highlight": + n[i++] = "background:" + value; + return; + + case "mso-default-height": + n[i++] = "min-height:" + ensureUnits(value); + return; + + case "mso-default-width": + n[i++] = "min-width:" + ensureUnits(value); + return; + + case "mso-padding-between-alt": + n[i++] = "border-collapse:separate;border-spacing:" + ensureUnits(value); + return; + + case "text-line-through": + if ((value == "single") || (value == "double")) { + n[i++] = "text-decoration:line-through"; + } + return; + + case "mso-zero-height": + if (value == "yes") { + n[i++] = "display:none"; + } + return; + } + + // Eliminate all MS Office style definitions that have no CSS equivalent by examining the first characters in the name + if (/^(mso|column|font-emph|lang|layout|line-break|list-image|nav|panose|punct|row|ruby|sep|size|src|tab-|table-border|text-(?!align|decor|indent|trans)|top-bar|version|vnd|word-break)/.test(name)) { + return; + } + + // If it reached this point, it must be a valid CSS style + n[i++] = name + ":" + parts[1]; // Lower-case name, but keep value case + } + }); + + // If style attribute contained any valid styles the re-write it; otherwise delete style attribute. + if (i > 0) { + return tag + ' style="' + n.join(';') + '"'; + } else { + return tag; + } + } + ] + ]); + } + } + + // Replace headers with + if (getParam(ed, "paste_convert_headers_to_strong")) { + process([ + [/]*>/gi, "

"], + [/<\/h[1-6][^>]*>/gi, "

"] + ]); + } + + process([ + // Copy paste from Java like Open Office will produce this junk on FF + [/Version:[\d.]+\nStartHTML:\d+\nEndHTML:\d+\nStartFragment:\d+\nEndFragment:\d+/gi, ''] + ]); + + // Class attribute options are: leave all as-is ("none"), remove all ("all"), or remove only those starting with mso ("mso"). + // Note:- paste_strip_class_attributes: "none", verify_css_classes: true is also a good variation. + stripClass = getParam(ed, "paste_strip_class_attributes"); + + if (stripClass !== "none") { + function removeClasses(match, g1) { + if (stripClass === "all") + return ''; + + var cls = grep(explode(g1.replace(/^(["'])(.*)\1$/, "$2"), " "), + function(v) { + return (/^(?!mso)/i.test(v)); + } + ); + + return cls.length ? ' class="' + cls.join(" ") + '"' : ''; + }; + + h = h.replace(/ class="([^"]+)"/gi, removeClasses); + h = h.replace(/ class=([\-\w]+)/gi, removeClasses); + } + + // Remove spans option + if (getParam(ed, "paste_remove_spans")) { + h = h.replace(/<\/?span[^>]*>/gi, ""); + } + + //console.log('After preprocess:' + h); + + o.content = h; + }, + + /** + * Various post process items. + */ + _postProcess : function(pl, o) { + var t = this, ed = t.editor, dom = ed.dom, styleProps; + + if (ed.settings.paste_enable_default_filters == false) { + return; + } + + if (o.wordContent) { + // Remove named anchors or TOC links + each(dom.select('a', o.node), function(a) { + if (!a.href || a.href.indexOf('#_Toc') != -1) + dom.remove(a, 1); + }); + + if (getParam(ed, "paste_convert_middot_lists")) { + t._convertLists(pl, o); + } + + // Process styles + styleProps = getParam(ed, "paste_retain_style_properties"); // retained properties + + // Process only if a string was specified and not equal to "all" or "*" + if ((tinymce.is(styleProps, "string")) && (styleProps !== "all") && (styleProps !== "*")) { + styleProps = tinymce.explode(styleProps.replace(/^none$/i, "")); + + // Retains some style properties + each(dom.select('*', o.node), function(el) { + var newStyle = {}, npc = 0, i, sp, sv; + + // Store a subset of the existing styles + if (styleProps) { + for (i = 0; i < styleProps.length; i++) { + sp = styleProps[i]; + sv = dom.getStyle(el, sp); + + if (sv) { + newStyle[sp] = sv; + npc++; + } + } + } + + // Remove all of the existing styles + dom.setAttrib(el, 'style', ''); + + if (styleProps && npc > 0) + dom.setStyles(el, newStyle); // Add back the stored subset of styles + else // Remove empty span tags that do not have class attributes + if (el.nodeName == 'SPAN' && !el.className) + dom.remove(el, true); + }); + } + } + + // Remove all style information or only specifically on WebKit to avoid the style bug on that browser + if (getParam(ed, "paste_remove_styles") || (getParam(ed, "paste_remove_styles_if_webkit") && tinymce.isWebKit)) { + each(dom.select('*[style]', o.node), function(el) { + el.removeAttribute('style'); + el.removeAttribute('data-mce-style'); + }); + } else { + if (tinymce.isWebKit) { + // We need to compress the styles on WebKit since if you paste it will become + // Removing the mce_style that contains the real value will force the Serializer engine to compress the styles + each(dom.select('*', o.node), function(el) { + el.removeAttribute('data-mce-style'); + }); + } + } + }, + + /** + * Converts the most common bullet and number formats in Office into a real semantic UL/LI list. + */ + _convertLists : function(pl, o) { + var dom = pl.editor.dom, listElm, li, lastMargin = -1, margin, levels = [], lastType, html; + + // Convert middot lists into real semantic lists + each(dom.select('p', o.node), function(p) { + var sib, val = '', type, html, idx, parents; + + // Get text node value at beginning of paragraph + for (sib = p.firstChild; sib && sib.nodeType == 3; sib = sib.nextSibling) + val += sib.nodeValue; + + val = p.innerHTML.replace(/<\/?\w+[^>]*>/gi, '').replace(/ /g, '\u00a0'); + + // Detect unordered lists look for bullets + if (/^(__MCE_ITEM__)+[\u2022\u00b7\u00a7\u00d8o\u25CF]\s*\u00a0*/.test(val)) + type = 'ul'; + + // Detect ordered lists 1., a. or ixv. + if (/^__MCE_ITEM__\s*\w+\.\s*\u00a0+/.test(val)) + type = 'ol'; + + // Check if node value matches the list pattern: o   + if (type) { + margin = parseFloat(p.style.marginLeft || 0); + + if (margin > lastMargin) + levels.push(margin); + + if (!listElm || type != lastType) { + listElm = dom.create(type); + dom.insertAfter(listElm, p); + } else { + // Nested list element + if (margin > lastMargin) { + listElm = li.appendChild(dom.create(type)); + } else if (margin < lastMargin) { + // Find parent level based on margin value + idx = tinymce.inArray(levels, margin); + parents = dom.getParents(listElm.parentNode, type); + listElm = parents[parents.length - 1 - idx] || listElm; + } + } + + // Remove middot or number spans if they exists + each(dom.select('span', p), function(span) { + var html = span.innerHTML.replace(/<\/?\w+[^>]*>/gi, ''); + + // Remove span with the middot or the number + if (type == 'ul' && /^__MCE_ITEM__[\u2022\u00b7\u00a7\u00d8o\u25CF]/.test(html)) + dom.remove(span); + else if (/^__MCE_ITEM__[\s\S]*\w+\.( |\u00a0)*\s*/.test(html)) + dom.remove(span); + }); + + html = p.innerHTML; + + // Remove middot/list items + if (type == 'ul') + html = p.innerHTML.replace(/__MCE_ITEM__/g, '').replace(/^[\u2022\u00b7\u00a7\u00d8o\u25CF]\s*( |\u00a0)+\s*/, ''); + else + html = p.innerHTML.replace(/__MCE_ITEM__/g, '').replace(/^\s*\w+\.( |\u00a0)+\s*/, ''); + + // Create li and add paragraph data into the new li + li = listElm.appendChild(dom.create('li', 0, html)); + dom.remove(p); + + lastMargin = margin; + lastType = type; + } else + listElm = lastMargin = 0; // End list element + }); + + // Remove any left over makers + html = o.node.innerHTML; + if (html.indexOf('__MCE_ITEM__') != -1) + o.node.innerHTML = html.replace(/__MCE_ITEM__/g, ''); + }, + + /** + * Inserts the specified contents at the caret position. + */ + _insert : function(h, skip_undo) { + var ed = this.editor, r = ed.selection.getRng(); + + // First delete the contents seems to work better on WebKit when the selection spans multiple list items or multiple table cells. + if (!ed.selection.isCollapsed() && r.startContainer != r.endContainer) + ed.getDoc().execCommand('Delete', false, null); + + ed.execCommand('mceInsertContent', false, h, {skip_undo : skip_undo}); + }, + + /** + * Instead of the old plain text method which tried to re-create a paste operation, the + * new approach adds a plain text mode toggle switch that changes the behavior of paste. + * This function is passed the same input that the regular paste plugin produces. + * It performs additional scrubbing and produces (and inserts) the plain text. + * This approach leverages all of the great existing functionality in the paste + * plugin, and requires minimal changes to add the new functionality. + * Speednet - June 2009 + */ + _insertPlainText : function(ed, dom, h) { + var i, len, pos, rpos, node, breakElms, before, after, + w = ed.getWin(), + d = ed.getDoc(), + sel = ed.selection, + is = tinymce.is, + inArray = tinymce.inArray, + linebr = getParam(ed, "paste_text_linebreaktype"), + rl = getParam(ed, "paste_text_replacements"); + + function process(items) { + each(items, function(v) { + if (v.constructor == RegExp) + h = h.replace(v, ""); + else + h = h.replace(v[0], v[1]); + }); + }; + + if ((typeof(h) === "string") && (h.length > 0)) { + // If HTML content with line-breaking tags, then remove all cr/lf chars because only tags will break a line + if (/<(?:p|br|h[1-6]|ul|ol|dl|table|t[rdh]|div|blockquote|fieldset|pre|address|center)[^>]*>/i.test(h)) { + process([ + /[\n\r]+/g + ]); + } else { + // Otherwise just get rid of carriage returns (only need linefeeds) + process([ + /\r+/g + ]); + } + + process([ + [/<\/(?:p|h[1-6]|ul|ol|dl|table|div|blockquote|fieldset|pre|address|center)>/gi, "\n\n"], // Block tags get a blank line after them + [/]*>|<\/tr>/gi, "\n"], // Single linebreak for
tags and table rows + [/<\/t[dh]>\s*]*>/gi, "\t"], // Table cells get tabs betweem them + /<[a-z!\/?][^>]*>/gi, // Delete all remaining tags + [/ /gi, " "], // Convert non-break spaces to regular spaces (remember, *plain text*) + [/(?:(?!\n)\s)*(\n+)(?:(?!\n)\s)*/gi, "$1"], // Cool little RegExp deletes whitespace around linebreak chars. + [/\n{3,}/g, "\n\n"], // Max. 2 consecutive linebreaks + /^\s+|\s+$/g // Trim the front & back + ]); + + h = dom.decode(tinymce.html.Entities.encodeRaw(h)); + + // Delete any highlighted text before pasting + if (!sel.isCollapsed()) { + d.execCommand("Delete", false, null); + } + + // Perform default or custom replacements + if (is(rl, "array") || (is(rl, "array"))) { + process(rl); + } + else if (is(rl, "string")) { + process(new RegExp(rl, "gi")); + } + + // Treat paragraphs as specified in the config + if (linebr == "none") { + process([ + [/\n+/g, " "] + ]); + } + else if (linebr == "br") { + process([ + [/\n/g, "
"] + ]); + } + else { + process([ + /^\s+|\s+$/g, + [/\n\n/g, "

"], + [/\n/g, "
"] + ]); + } + + // This next piece of code handles the situation where we're pasting more than one paragraph of plain + // text, and we are pasting the content into the middle of a block node in the editor. The block + // node gets split at the selection point into "Para A" and "Para B" (for the purposes of explaining). + // The first paragraph of the pasted text is appended to "Para A", and the last paragraph of the + // pasted text is prepended to "Para B". Any other paragraphs of pasted text are placed between + // "Para A" and "Para B". This code solves a host of problems with the original plain text plugin and + // now handles styles correctly. (Pasting plain text into a styled paragraph is supposed to make the + // plain text take the same style as the existing paragraph.) + if ((pos = h.indexOf("

")) != -1) { + rpos = h.lastIndexOf("

"); + node = sel.getNode(); + breakElms = []; // Get list of elements to break + + do { + if (node.nodeType == 1) { + // Don't break tables and break at body + if (node.nodeName == "TD" || node.nodeName == "BODY") { + break; + } + + breakElms[breakElms.length] = node; + } + } while (node = node.parentNode); + + // Are we in the middle of a block node? + if (breakElms.length > 0) { + before = h.substring(0, pos); + after = ""; + + for (i=0, len=breakElms.length; i"; + after += "<" + breakElms[breakElms.length-i-1].nodeName.toLowerCase() + ">"; + } + + if (pos == rpos) { + h = before + after + h.substring(pos+7); + } + else { + h = before + h.substring(pos+4, rpos+4) + after + h.substring(rpos+7); + } + } + } + + // Insert content at the caret, plus add a marker for repositioning the caret + ed.execCommand("mceInsertRawHTML", false, h + ' '); + + // Reposition the caret to the marker, which was placed immediately after the inserted content. + // Needs to be done asynchronously (in window.setTimeout) or else it doesn't work in all browsers. + // The second part of the code scrolls the content up if the caret is positioned off-screen. + // This is only necessary for WebKit browsers, but it doesn't hurt to use for all. + window.setTimeout(function() { + var marker = dom.get('_plain_text_marker'), + elm, vp, y, elmHeight; + + sel.select(marker, false); + d.execCommand("Delete", false, null); + marker = null; + + // Get element, position and height + elm = sel.getStart(); + vp = dom.getViewPort(w); + y = dom.getPos(elm).y; + elmHeight = elm.clientHeight; + + // Is element within viewport if not then scroll it into view + if ((y < vp.y) || (y + elmHeight > vp.y + vp.h)) { + d.body.scrollTop = y < vp.y ? y : y - vp.h + 25; + } + }, 0); + } + }, + + /** + * This method will open the old style paste dialogs. Some users might want the old behavior but still use the new cleanup engine. + */ + _legacySupport : function() { + var t = this, ed = t.editor; + + // Register command(s) for backwards compatibility + ed.addCommand("mcePasteWord", function() { + ed.windowManager.open({ + file: t.url + "/pasteword.htm", + width: parseInt(getParam(ed, "paste_dialog_width")), + height: parseInt(getParam(ed, "paste_dialog_height")), + inline: 1 + }); + }); + + if (getParam(ed, "paste_text_use_dialog")) { + ed.addCommand("mcePasteText", function() { + ed.windowManager.open({ + file : t.url + "/pastetext.htm", + width: parseInt(getParam(ed, "paste_dialog_width")), + height: parseInt(getParam(ed, "paste_dialog_height")), + inline : 1 + }); + }); + } + + // Register button for backwards compatibility + ed.addButton("pasteword", {title : "paste.paste_word_desc", cmd : "mcePasteWord"}); + } + }); + + // Register plugin + tinymce.PluginManager.add("paste", tinymce.plugins.PastePlugin); +})(); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/js/pastetext.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/js/pastetext.js new file mode 100644 index 00000000..81b1d6a0 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/js/pastetext.js @@ -0,0 +1,36 @@ +tinyMCEPopup.requireLangPack(); + +var PasteTextDialog = { + init : function() { + this.resize(); + }, + + insert : function() { + var h = tinyMCEPopup.dom.encode(document.getElementById('content').value), lines; + + // Convert linebreaks into paragraphs + if (document.getElementById('linebreaks').checked) { + lines = h.split(/\r?\n/); + if (lines.length > 1) { + h = ''; + tinymce.each(lines, function(row) { + h += '

' + row + '

'; + }); + } + } + + tinyMCEPopup.editor.execCommand('mceInsertClipboardContent', false, {content : h}); + tinyMCEPopup.close(); + }, + + resize : function() { + var vp = tinyMCEPopup.dom.getViewPort(window), el; + + el = document.getElementById('content'); + + el.style.width = (vp.w - 20) + 'px'; + el.style.height = (vp.h - 90) + 'px'; + } +}; + +tinyMCEPopup.onInit.add(PasteTextDialog.init, PasteTextDialog); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/js/pasteword.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/js/pasteword.js new file mode 100644 index 00000000..959bf399 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/js/pasteword.js @@ -0,0 +1,51 @@ +tinyMCEPopup.requireLangPack(); + +var PasteWordDialog = { + init : function() { + var ed = tinyMCEPopup.editor, el = document.getElementById('iframecontainer'), ifr, doc, css, cssHTML = ''; + + // Create iframe + el.innerHTML = ''; + ifr = document.getElementById('iframe'); + doc = ifr.contentWindow.document; + + // Force absolute CSS urls + css = [ed.baseURI.toAbsolute("themes/" + ed.settings.theme + "/skins/" + ed.settings.skin + "/content.css")]; + css = css.concat(tinymce.explode(ed.settings.content_css) || []); + tinymce.each(css, function(u) { + cssHTML += ''; + }); + + // Write content into iframe + doc.open(); + doc.write('' + cssHTML + ''); + doc.close(); + + doc.designMode = 'on'; + this.resize(); + + window.setTimeout(function() { + ifr.contentWindow.focus(); + }, 10); + }, + + insert : function() { + var h = document.getElementById('iframe').contentWindow.document.body.innerHTML; + + tinyMCEPopup.editor.execCommand('mceInsertClipboardContent', false, {content : h, wordContent : true}); + tinyMCEPopup.close(); + }, + + resize : function() { + var vp = tinyMCEPopup.dom.getViewPort(window), el; + + el = document.getElementById('iframe'); + + if (el) { + el.style.width = (vp.w - 20) + 'px'; + el.style.height = (vp.h - 90) + 'px'; + } + } +}; + +tinyMCEPopup.onInit.add(PasteWordDialog.init, PasteWordDialog); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js new file mode 100644 index 00000000..823eb16a --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js @@ -0,0 +1,5 @@ +tinyMCE.addI18n('en.paste_dlg',{ +text_title:"Use CTRL+V on your keyboard to paste the text into the window.", +text_linebreaks:"Keep linebreaks", +word_title:"Use CTRL+V on your keyboard to paste the text into the window." +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/pastetext.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/pastetext.htm new file mode 100644 index 00000000..8ccfbb97 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/pastetext.htm @@ -0,0 +1,27 @@ + + + {#paste.paste_text_desc} + + + + +
+
{#paste.paste_text_desc}
+ +
+ +
+ +
+ +
{#paste_dlg.text_title}
+ + + +
+ + +
+
+ + \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/pasteword.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/pasteword.htm new file mode 100644 index 00000000..7731f39c --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/pasteword.htm @@ -0,0 +1,21 @@ + + + {#paste.paste_word_desc} + + + + +
+
{#paste.paste_word_desc}
+ +
{#paste_dlg.word_title}
+ +
+ +
+ + +
+
+ + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/editor_plugin.js new file mode 100644 index 00000000..507909c5 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.Preview",{init:function(a,b){var d=this,c=tinymce.explode(a.settings.content_css);d.editor=a;tinymce.each(c,function(f,e){c[e]=a.documentBaseURI.toAbsolute(f)});a.addCommand("mcePreview",function(){a.windowManager.open({file:a.getParam("plugin_preview_pageurl",b+"/preview.html"),width:parseInt(a.getParam("plugin_preview_width","550")),height:parseInt(a.getParam("plugin_preview_height","600")),resizable:"yes",scrollbars:"yes",popup_css:c?c.join(","):a.baseURI.toAbsolute("themes/"+a.settings.theme+"/skins/"+a.settings.skin+"/content.css"),inline:a.getParam("plugin_preview_inline",1)},{base:a.documentBaseURI.getURI()})});a.addButton("preview",{title:"preview.preview_desc",cmd:"mcePreview"})},getInfo:function(){return{longname:"Preview",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/preview",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("preview",tinymce.plugins.Preview)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js new file mode 100644 index 00000000..80f00f0d --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js @@ -0,0 +1,53 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.Preview', { + init : function(ed, url) { + var t = this, css = tinymce.explode(ed.settings.content_css); + + t.editor = ed; + + // Force absolute CSS urls + tinymce.each(css, function(u, k) { + css[k] = ed.documentBaseURI.toAbsolute(u); + }); + + ed.addCommand('mcePreview', function() { + ed.windowManager.open({ + file : ed.getParam("plugin_preview_pageurl", url + "/preview.html"), + width : parseInt(ed.getParam("plugin_preview_width", "550")), + height : parseInt(ed.getParam("plugin_preview_height", "600")), + resizable : "yes", + scrollbars : "yes", + popup_css : css ? css.join(',') : ed.baseURI.toAbsolute("themes/" + ed.settings.theme + "/skins/" + ed.settings.skin + "/content.css"), + inline : ed.getParam("plugin_preview_inline", 1) + }, { + base : ed.documentBaseURI.getURI() + }); + }); + + ed.addButton('preview', {title : 'preview.preview_desc', cmd : 'mcePreview'}); + }, + + getInfo : function() { + return { + longname : 'Preview', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/preview', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('preview', tinymce.plugins.Preview); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/example.html b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/example.html new file mode 100644 index 00000000..48202224 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/example.html @@ -0,0 +1,28 @@ + + + + + +Example of a custom preview page + + + +Editor contents:
+
+ +
+ + + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/jscripts/embed.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/jscripts/embed.js new file mode 100644 index 00000000..6fe25de0 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/jscripts/embed.js @@ -0,0 +1,73 @@ +/** + * This script contains embed functions for common plugins. This scripts are complety free to use for any purpose. + */ + +function writeFlash(p) { + writeEmbed( + 'D27CDB6E-AE6D-11cf-96B8-444553540000', + 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0', + 'application/x-shockwave-flash', + p + ); +} + +function writeShockWave(p) { + writeEmbed( + '166B1BCA-3F9C-11CF-8075-444553540000', + 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0', + 'application/x-director', + p + ); +} + +function writeQuickTime(p) { + writeEmbed( + '02BF25D5-8C17-4B23-BC80-D3488ABDDC6B', + 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0', + 'video/quicktime', + p + ); +} + +function writeRealMedia(p) { + writeEmbed( + 'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA', + 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0', + 'audio/x-pn-realaudio-plugin', + p + ); +} + +function writeWindowsMedia(p) { + p.url = p.src; + writeEmbed( + '6BF52A52-394A-11D3-B153-00C04F79FAA6', + 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701', + 'application/x-mplayer2', + p + ); +} + +function writeEmbed(cls, cb, mt, p) { + var h = '', n; + + h += ''; + + h += ' + + + + + +{#preview.preview_desc} + + + + + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/print/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/print/editor_plugin.js new file mode 100644 index 00000000..b5b3a55e --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/print/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.Print",{init:function(a,b){a.addCommand("mcePrint",function(){a.getWin().print()});a.addButton("print",{title:"print.print_desc",cmd:"mcePrint"})},getInfo:function(){return{longname:"Print",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/print",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("print",tinymce.plugins.Print)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/print/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/print/editor_plugin_src.js new file mode 100644 index 00000000..47e666a3 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/print/editor_plugin_src.js @@ -0,0 +1,34 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.Print', { + init : function(ed, url) { + ed.addCommand('mcePrint', function() { + ed.getWin().print(); + }); + + ed.addButton('print', {title : 'print.print_desc', cmd : 'mcePrint'}); + }, + + getInfo : function() { + return { + longname : 'Print', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/print', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('print', tinymce.plugins.Print); +})(); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/save/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/save/editor_plugin.js new file mode 100644 index 00000000..8e939966 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/save/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.Save",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceSave",c._save,c);a.addCommand("mceCancel",c._cancel,c);a.addButton("save",{title:"save.save_desc",cmd:"mceSave"});a.addButton("cancel",{title:"save.cancel_desc",cmd:"mceCancel"});a.onNodeChange.add(c._nodeChange,c);a.addShortcut("ctrl+s",a.getLang("save.save_desc"),"mceSave")},getInfo:function(){return{longname:"Save",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/save",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_nodeChange:function(b,a,c){var b=this.editor;if(b.getParam("save_enablewhendirty")){a.setDisabled("save",!b.isDirty());a.setDisabled("cancel",!b.isDirty())}},_save:function(){var c=this.editor,a,e,d,b;a=tinymce.DOM.get(c.id).form||tinymce.DOM.getParent(c.id,"form");if(c.getParam("save_enablewhendirty")&&!c.isDirty()){return}tinyMCE.triggerSave();if(e=c.getParam("save_onsavecallback")){if(c.execCallback("save_onsavecallback",c)){c.startContent=tinymce.trim(c.getContent({format:"raw"}));c.nodeChanged()}return}if(a){c.isNotDirty=true;if(a.onsubmit==null||a.onsubmit()!=false){a.submit()}c.nodeChanged()}else{c.windowManager.alert("Error: No form element found.")}},_cancel:function(){var a=this.editor,c,b=tinymce.trim(a.startContent);if(c=a.getParam("save_oncancelcallback")){a.execCallback("save_oncancelcallback",a);return}a.setContent(b);a.undoManager.clear();a.nodeChanged()}});tinymce.PluginManager.add("save",tinymce.plugins.Save)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/save/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/save/editor_plugin_src.js new file mode 100644 index 00000000..5ab6491c --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/save/editor_plugin_src.js @@ -0,0 +1,101 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.Save', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + // Register commands + ed.addCommand('mceSave', t._save, t); + ed.addCommand('mceCancel', t._cancel, t); + + // Register buttons + ed.addButton('save', {title : 'save.save_desc', cmd : 'mceSave'}); + ed.addButton('cancel', {title : 'save.cancel_desc', cmd : 'mceCancel'}); + + ed.onNodeChange.add(t._nodeChange, t); + ed.addShortcut('ctrl+s', ed.getLang('save.save_desc'), 'mceSave'); + }, + + getInfo : function() { + return { + longname : 'Save', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/save', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private methods + + _nodeChange : function(ed, cm, n) { + var ed = this.editor; + + if (ed.getParam('save_enablewhendirty')) { + cm.setDisabled('save', !ed.isDirty()); + cm.setDisabled('cancel', !ed.isDirty()); + } + }, + + // Private methods + + _save : function() { + var ed = this.editor, formObj, os, i, elementId; + + formObj = tinymce.DOM.get(ed.id).form || tinymce.DOM.getParent(ed.id, 'form'); + + if (ed.getParam("save_enablewhendirty") && !ed.isDirty()) + return; + + tinyMCE.triggerSave(); + + // Use callback instead + if (os = ed.getParam("save_onsavecallback")) { + if (ed.execCallback('save_onsavecallback', ed)) { + ed.startContent = tinymce.trim(ed.getContent({format : 'raw'})); + ed.nodeChanged(); + } + + return; + } + + if (formObj) { + ed.isNotDirty = true; + + if (formObj.onsubmit == null || formObj.onsubmit() != false) + formObj.submit(); + + ed.nodeChanged(); + } else + ed.windowManager.alert("Error: No form element found."); + }, + + _cancel : function() { + var ed = this.editor, os, h = tinymce.trim(ed.startContent); + + // Use callback instead + if (os = ed.getParam("save_oncancelcallback")) { + ed.execCallback('save_oncancelcallback', ed); + return; + } + + ed.setContent(h); + ed.undoManager.clear(); + ed.nodeChanged(); + } + }); + + // Register plugin + tinymce.PluginManager.add('save', tinymce.plugins.Save); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css new file mode 100644 index 00000000..3e2eaf34 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css @@ -0,0 +1,6 @@ +.panel_wrapper {height:85px;} +.panel_wrapper div.current {height:85px;} + +/* IE */ +* html .panel_wrapper {height:100px;} +* html .panel_wrapper div.current {height:100px;} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js new file mode 100644 index 00000000..165bc12d --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.SearchReplacePlugin",{init:function(a,c){function b(d){window.focus();a.windowManager.open({file:c+"/searchreplace.htm",width:420+parseInt(a.getLang("searchreplace.delta_width",0)),height:170+parseInt(a.getLang("searchreplace.delta_height",0)),inline:1,auto_focus:0},{mode:d,search_string:a.selection.getContent({format:"text"}),plugin_url:c})}a.addCommand("mceSearch",function(){b("search")});a.addCommand("mceReplace",function(){b("replace")});a.addButton("search",{title:"searchreplace.search_desc",cmd:"mceSearch"});a.addButton("replace",{title:"searchreplace.replace_desc",cmd:"mceReplace"});a.addShortcut("ctrl+f","searchreplace.search_desc","mceSearch")},getInfo:function(){return{longname:"Search/Replace",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/searchreplace",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("searchreplace",tinymce.plugins.SearchReplacePlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js new file mode 100644 index 00000000..b0c013fd --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js @@ -0,0 +1,61 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.SearchReplacePlugin', { + init : function(ed, url) { + function open(m) { + // Keep IE from writing out the f/r character to the editor + // instance while initializing a new dialog. See: #3131190 + window.focus(); + + ed.windowManager.open({ + file : url + '/searchreplace.htm', + width : 420 + parseInt(ed.getLang('searchreplace.delta_width', 0)), + height : 170 + parseInt(ed.getLang('searchreplace.delta_height', 0)), + inline : 1, + auto_focus : 0 + }, { + mode : m, + search_string : ed.selection.getContent({format : 'text'}), + plugin_url : url + }); + }; + + // Register commands + ed.addCommand('mceSearch', function() { + open('search'); + }); + + ed.addCommand('mceReplace', function() { + open('replace'); + }); + + // Register buttons + ed.addButton('search', {title : 'searchreplace.search_desc', cmd : 'mceSearch'}); + ed.addButton('replace', {title : 'searchreplace.replace_desc', cmd : 'mceReplace'}); + + ed.addShortcut('ctrl+f', 'searchreplace.search_desc', 'mceSearch'); + }, + + getInfo : function() { + return { + longname : 'Search/Replace', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/searchreplace', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('searchreplace', tinymce.plugins.SearchReplacePlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js new file mode 100644 index 00000000..b1630ca8 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js @@ -0,0 +1,142 @@ +tinyMCEPopup.requireLangPack(); + +var SearchReplaceDialog = { + init : function(ed) { + var t = this, f = document.forms[0], m = tinyMCEPopup.getWindowArg("mode"); + + t.switchMode(m); + + f[m + '_panel_searchstring'].value = tinyMCEPopup.getWindowArg("search_string"); + + // Focus input field + f[m + '_panel_searchstring'].focus(); + + mcTabs.onChange.add(function(tab_id, panel_id) { + t.switchMode(tab_id.substring(0, tab_id.indexOf('_'))); + }); + }, + + switchMode : function(m) { + var f, lm = this.lastMode; + + if (lm != m) { + f = document.forms[0]; + + if (lm) { + f[m + '_panel_searchstring'].value = f[lm + '_panel_searchstring'].value; + f[m + '_panel_backwardsu'].checked = f[lm + '_panel_backwardsu'].checked; + f[m + '_panel_backwardsd'].checked = f[lm + '_panel_backwardsd'].checked; + f[m + '_panel_casesensitivebox'].checked = f[lm + '_panel_casesensitivebox'].checked; + } + + mcTabs.displayTab(m + '_tab', m + '_panel'); + document.getElementById("replaceBtn").style.display = (m == "replace") ? "inline" : "none"; + document.getElementById("replaceAllBtn").style.display = (m == "replace") ? "inline" : "none"; + this.lastMode = m; + } + }, + + searchNext : function(a) { + var ed = tinyMCEPopup.editor, se = ed.selection, r = se.getRng(), f, m = this.lastMode, s, b, fl = 0, w = ed.getWin(), wm = ed.windowManager, fo = 0; + + // Get input + f = document.forms[0]; + s = f[m + '_panel_searchstring'].value; + b = f[m + '_panel_backwardsu'].checked; + ca = f[m + '_panel_casesensitivebox'].checked; + rs = f['replace_panel_replacestring'].value; + + if (tinymce.isIE) { + r = ed.getDoc().selection.createRange(); + } + + if (s == '') + return; + + function fix() { + // Correct Firefox graphics glitches + // TODO: Verify if this is actually needed any more, maybe it was for very old FF versions? + r = se.getRng().cloneRange(); + ed.getDoc().execCommand('SelectAll', false, null); + se.setRng(r); + }; + + function replace() { + ed.selection.setContent(rs); // Needs to be duplicated due to selection bug in IE + }; + + // IE flags + if (ca) + fl = fl | 4; + + switch (a) { + case 'all': + // Move caret to beginning of text + ed.execCommand('SelectAll'); + ed.selection.collapse(true); + + if (tinymce.isIE) { + ed.focus(); + r = ed.getDoc().selection.createRange(); + + while (r.findText(s, b ? -1 : 1, fl)) { + r.scrollIntoView(); + r.select(); + replace(); + fo = 1; + + if (b) { + r.moveEnd("character", -(rs.length)); // Otherwise will loop forever + } + } + + tinyMCEPopup.storeSelection(); + } else { + while (w.find(s, ca, b, false, false, false, false)) { + replace(); + fo = 1; + } + } + + if (fo) + tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.allreplaced')); + else + tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound')); + + return; + + case 'current': + if (!ed.selection.isCollapsed()) + replace(); + + break; + } + + se.collapse(b); + r = se.getRng(); + + // Whats the point + if (!s) + return; + + if (tinymce.isIE) { + ed.focus(); + r = ed.getDoc().selection.createRange(); + + if (r.findText(s, b ? -1 : 1, fl)) { + r.scrollIntoView(); + r.select(); + } else + tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound')); + + tinyMCEPopup.storeSelection(); + } else { + if (!w.find(s, ca, b, false, false, false, false)) + tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound')); + else + fix(); + } + } +}; + +tinyMCEPopup.onInit.add(SearchReplaceDialog.init, SearchReplaceDialog); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js new file mode 100644 index 00000000..3dd3453d --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js @@ -0,0 +1,16 @@ +tinyMCE.addI18n('en.searchreplace_dlg',{ +searchnext_desc:"Find again", +notfound:"The search has been completed. The search string could not be found.", +search_title:"Find", +replace_title:"Find/Replace", +allreplaced:"All occurrences of the search string were replaced.", +findwhat:"Find what", +replacewith:"Replace with", +direction:"Direction", +up:"Up", +down:"Down", +mcase:"Match case", +findnext:"Find next", +replace:"Replace", +replaceall:"Replace all" +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm new file mode 100644 index 00000000..bac5a184 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm @@ -0,0 +1,100 @@ + + + + {#searchreplace_dlg.replace_title} + + + + + + + + +
+ + +
+
+ + + + + + + + + + + +
+ + + + + + + + + +
+ + + + + +
+
+
+ +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ + + + + +
+
+
+ +
+ +
+ + + + +
+
+ + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/css/content.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/css/content.css new file mode 100644 index 00000000..a92355e1 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/css/content.css @@ -0,0 +1 @@ +.mceItemHiddenSpellWord {background:url(../img/wline.png) repeat-x bottom left; cursor:default;} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js new file mode 100644 index 00000000..0c42739c --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js @@ -0,0 +1 @@ +(function(){var a=tinymce.util.JSONRequest,c=tinymce.each,b=tinymce.DOM;tinymce.create("tinymce.plugins.SpellcheckerPlugin",{getInfo:function(){return{longname:"Spellchecker",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/spellchecker",version:tinymce.majorVersion+"."+tinymce.minorVersion}},init:function(e,f){var g=this,d;g.url=f;g.editor=e;g.rpcUrl=e.getParam("spellchecker_rpc_url","{backend}");if(g.rpcUrl=="{backend}"){if(tinymce.isIE){return}g.hasSupport=true;e.onContextMenu.addToTop(function(h,i){if(g.active){return false}})}e.addCommand("mceSpellCheck",function(){if(g.rpcUrl=="{backend}"){g.editor.getBody().spellcheck=g.active=!g.active;return}if(!g.active){e.setProgressState(1);g._sendRPC("checkWords",[g.selectedLang,g._getWords()],function(h){if(h.length>0){g.active=1;g._markWords(h);e.setProgressState(0);e.nodeChanged()}else{e.setProgressState(0);if(e.getParam("spellchecker_report_no_misspellings",true)){e.windowManager.alert("spellchecker.no_mpell")}}})}else{g._done()}});if(e.settings.content_css!==false){e.contentCSS.push(f+"/css/content.css")}e.onClick.add(g._showMenu,g);e.onContextMenu.add(g._showMenu,g);e.onBeforeGetContent.add(function(){if(g.active){g._removeWords()}});e.onNodeChange.add(function(i,h){h.setActive("spellchecker",g.active)});e.onSetContent.add(function(){g._done()});e.onBeforeGetContent.add(function(){g._done()});e.onBeforeExecCommand.add(function(h,i){if(i=="mceFullScreen"){g._done()}});g.languages={};c(e.getParam("spellchecker_languages","+English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv","hash"),function(i,h){if(h.indexOf("+")===0){h=h.substring(1);g.selectedLang=i}g.languages[h]=i})},createControl:function(h,d){var f=this,g,e=f.editor;if(h=="spellchecker"){if(f.rpcUrl=="{backend}"){if(f.hasSupport){g=d.createButton(h,{title:"spellchecker.desc",cmd:"mceSpellCheck",scope:f})}return g}g=d.createSplitButton(h,{title:"spellchecker.desc",cmd:"mceSpellCheck",scope:f});g.onRenderMenu.add(function(j,i){i.add({title:"spellchecker.langs","class":"mceMenuItemTitle"}).setDisabled(1);c(f.languages,function(n,m){var p={icon:1},l;p.onclick=function(){if(n==f.selectedLang){return}l.setSelected(1);f.selectedItem.setSelected(0);f.selectedItem=l;f.selectedLang=n};p.title=m;l=i.add(p);l.setSelected(n==f.selectedLang);if(n==f.selectedLang){f.selectedItem=l}})});return g}},_walk:function(i,g){var h=this.editor.getDoc(),e;if(h.createTreeWalker){e=h.createTreeWalker(i,NodeFilter.SHOW_TEXT,null,false);while((i=e.nextNode())!=null){g.call(this,i)}}else{tinymce.walk(i,g,"childNodes")}},_getSeparators:function(){var e="",d,f=this.editor.getParam("spellchecker_word_separator_chars",'\\s!"#$%&()*+,-./:;<=>?@[]^_{|}\u201d\u201c');for(d=0;d$2");while((s=p.indexOf(""))!=-1){o=p.substring(0,s);if(o.length){r=j.createTextNode(f.decode(o));q.appendChild(r)}p=p.substring(s+10);s=p.indexOf("");o=p.substring(0,s);p=p.substring(s+11);q.appendChild(f.create("span",{"class":"mceItemHiddenSpellWord"},o))}if(p.length){r=j.createTextNode(f.decode(p));q.appendChild(r)}}else{q.innerHTML=p.replace(e,'$1$2')}f.replace(q,t)}});h.moveToBookmark(i)},_showMenu:function(h,j){var i=this,h=i.editor,d=i._menu,l,k=h.dom,g=k.getViewPort(h.getWin()),f=j.target;j=0;if(!d){d=h.controlManager.createDropMenu("spellcheckermenu",{"class":"mceNoIcons"});i._menu=d}if(k.hasClass(f,"mceItemHiddenSpellWord")){d.removeAll();d.add({title:"spellchecker.wait","class":"mceMenuItemTitle"}).setDisabled(1);i._sendRPC("getSuggestions",[i.selectedLang,k.decode(f.innerHTML)],function(m){var e;d.removeAll();if(m.length>0){d.add({title:"spellchecker.sug","class":"mceMenuItemTitle"}).setDisabled(1);c(m,function(n){d.add({title:n,onclick:function(){k.replace(h.getDoc().createTextNode(n),f);i._checkDone()}})});d.addSeparator()}else{d.add({title:"spellchecker.no_sug","class":"mceMenuItemTitle"}).setDisabled(1)}e=i.editor.getParam("spellchecker_enable_ignore_rpc","");d.add({title:"spellchecker.ignore_word",onclick:function(){var n=f.innerHTML;k.remove(f,1);i._checkDone();if(e){h.setProgressState(1);i._sendRPC("ignoreWord",[i.selectedLang,n],function(o){h.setProgressState(0)})}}});d.add({title:"spellchecker.ignore_words",onclick:function(){var n=f.innerHTML;i._removeWords(k.decode(n));i._checkDone();if(e){h.setProgressState(1);i._sendRPC("ignoreWords",[i.selectedLang,n],function(o){h.setProgressState(0)})}}});if(i.editor.getParam("spellchecker_enable_learn_rpc")){d.add({title:"spellchecker.learn_word",onclick:function(){var n=f.innerHTML;k.remove(f,1);i._checkDone();h.setProgressState(1);i._sendRPC("learnWord",[i.selectedLang,n],function(o){h.setProgressState(0)})}})}d.update()});l=b.getPos(h.getContentAreaContainer());d.settings.offset_x=l.x;d.settings.offset_y=l.y;h.selection.select(f);l=k.getPos(f);d.showMenu(l.x,l.y+f.offsetHeight-g.y);return tinymce.dom.Event.cancel(j)}else{d.hideMenu()}},_checkDone:function(){var e=this,d=e.editor,g=d.dom,f;c(g.select("span"),function(h){if(h&&g.hasClass(h,"mceItemHiddenSpellWord")){f=true;return false}});if(!f){e._done()}},_done:function(){var d=this,e=d.active;if(d.active){d.active=0;d._removeWords();if(d._menu){d._menu.hideMenu()}if(e){d.editor.nodeChanged()}}},_sendRPC:function(e,g,d){var f=this;a.sendRPC({url:f.rpcUrl,method:e,params:g,success:d,error:function(i,h){f.editor.setProgressState(0);f.editor.windowManager.alert(i.errstr||("Error response: "+h.responseText))}})}});tinymce.PluginManager.add("spellchecker",tinymce.plugins.SpellcheckerPlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js new file mode 100644 index 00000000..50df7343 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js @@ -0,0 +1,434 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var JSONRequest = tinymce.util.JSONRequest, each = tinymce.each, DOM = tinymce.DOM; + + tinymce.create('tinymce.plugins.SpellcheckerPlugin', { + getInfo : function() { + return { + longname : 'Spellchecker', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/spellchecker', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + init : function(ed, url) { + var t = this, cm; + + t.url = url; + t.editor = ed; + t.rpcUrl = ed.getParam("spellchecker_rpc_url", "{backend}"); + + if (t.rpcUrl == '{backend}') { + // Sniff if the browser supports native spellchecking (Don't know of a better way) + if (tinymce.isIE) + return; + + t.hasSupport = true; + + // Disable the context menu when spellchecking is active + ed.onContextMenu.addToTop(function(ed, e) { + if (t.active) + return false; + }); + } + + // Register commands + ed.addCommand('mceSpellCheck', function() { + if (t.rpcUrl == '{backend}') { + // Enable/disable native spellchecker + t.editor.getBody().spellcheck = t.active = !t.active; + return; + } + + if (!t.active) { + ed.setProgressState(1); + t._sendRPC('checkWords', [t.selectedLang, t._getWords()], function(r) { + if (r.length > 0) { + t.active = 1; + t._markWords(r); + ed.setProgressState(0); + ed.nodeChanged(); + } else { + ed.setProgressState(0); + + if (ed.getParam('spellchecker_report_no_misspellings', true)) + ed.windowManager.alert('spellchecker.no_mpell'); + } + }); + } else + t._done(); + }); + + if (ed.settings.content_css !== false) + ed.contentCSS.push(url + '/css/content.css'); + + ed.onClick.add(t._showMenu, t); + ed.onContextMenu.add(t._showMenu, t); + ed.onBeforeGetContent.add(function() { + if (t.active) + t._removeWords(); + }); + + ed.onNodeChange.add(function(ed, cm) { + cm.setActive('spellchecker', t.active); + }); + + ed.onSetContent.add(function() { + t._done(); + }); + + ed.onBeforeGetContent.add(function() { + t._done(); + }); + + ed.onBeforeExecCommand.add(function(ed, cmd) { + if (cmd == 'mceFullScreen') + t._done(); + }); + + // Find selected language + t.languages = {}; + each(ed.getParam('spellchecker_languages', '+English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv', 'hash'), function(v, k) { + if (k.indexOf('+') === 0) { + k = k.substring(1); + t.selectedLang = v; + } + + t.languages[k] = v; + }); + }, + + createControl : function(n, cm) { + var t = this, c, ed = t.editor; + + if (n == 'spellchecker') { + // Use basic button if we use the native spellchecker + if (t.rpcUrl == '{backend}') { + // Create simple toggle button if we have native support + if (t.hasSupport) + c = cm.createButton(n, {title : 'spellchecker.desc', cmd : 'mceSpellCheck', scope : t}); + + return c; + } + + c = cm.createSplitButton(n, {title : 'spellchecker.desc', cmd : 'mceSpellCheck', scope : t}); + + c.onRenderMenu.add(function(c, m) { + m.add({title : 'spellchecker.langs', 'class' : 'mceMenuItemTitle'}).setDisabled(1); + each(t.languages, function(v, k) { + var o = {icon : 1}, mi; + + o.onclick = function() { + if (v == t.selectedLang) { + return; + } + mi.setSelected(1); + t.selectedItem.setSelected(0); + t.selectedItem = mi; + t.selectedLang = v; + }; + + o.title = k; + mi = m.add(o); + mi.setSelected(v == t.selectedLang); + + if (v == t.selectedLang) + t.selectedItem = mi; + }) + }); + + return c; + } + }, + + // Internal functions + + _walk : function(n, f) { + var d = this.editor.getDoc(), w; + + if (d.createTreeWalker) { + w = d.createTreeWalker(n, NodeFilter.SHOW_TEXT, null, false); + + while ((n = w.nextNode()) != null) + f.call(this, n); + } else + tinymce.walk(n, f, 'childNodes'); + }, + + _getSeparators : function() { + var re = '', i, str = this.editor.getParam('spellchecker_word_separator_chars', '\\s!"#$%&()*+,-./:;<=>?@[\]^_{|}\u201d\u201c'); + + // Build word separator regexp + for (i=0; i elements content is broken after spellchecking. + // Bug #1408: Preceding whitespace characters are removed + // @TODO: I'm not sure that both are still issues on IE9. + if (tinymce.isIE) { + // Enclose mispelled words with temporal tag + v = v.replace(rx, '$1$2'); + // Loop over the content finding mispelled words + while ((pos = v.indexOf('')) != -1) { + // Add text node for the content before the word + txt = v.substring(0, pos); + if (txt.length) { + node = doc.createTextNode(dom.decode(txt)); + elem.appendChild(node); + } + v = v.substring(pos+10); + pos = v.indexOf(''); + txt = v.substring(0, pos); + v = v.substring(pos+11); + // Add span element for the word + elem.appendChild(dom.create('span', {'class' : 'mceItemHiddenSpellWord'}, txt)); + } + // Add text node for the rest of the content + if (v.length) { + node = doc.createTextNode(dom.decode(v)); + elem.appendChild(node); + } + } else { + // Other browsers preserve whitespace characters on innerHTML usage + elem.innerHTML = v.replace(rx, '$1$2'); + } + + // Finally, replace the node with the container + dom.replace(elem, n); + } + }); + + se.moveToBookmark(b); + }, + + _showMenu : function(ed, e) { + var t = this, ed = t.editor, m = t._menu, p1, dom = ed.dom, vp = dom.getViewPort(ed.getWin()), wordSpan = e.target; + + e = 0; // Fixes IE memory leak + + if (!m) { + m = ed.controlManager.createDropMenu('spellcheckermenu', {'class' : 'mceNoIcons'}); + t._menu = m; + } + + if (dom.hasClass(wordSpan, 'mceItemHiddenSpellWord')) { + m.removeAll(); + m.add({title : 'spellchecker.wait', 'class' : 'mceMenuItemTitle'}).setDisabled(1); + + t._sendRPC('getSuggestions', [t.selectedLang, dom.decode(wordSpan.innerHTML)], function(r) { + var ignoreRpc; + + m.removeAll(); + + if (r.length > 0) { + m.add({title : 'spellchecker.sug', 'class' : 'mceMenuItemTitle'}).setDisabled(1); + each(r, function(v) { + m.add({title : v, onclick : function() { + dom.replace(ed.getDoc().createTextNode(v), wordSpan); + t._checkDone(); + }}); + }); + + m.addSeparator(); + } else + m.add({title : 'spellchecker.no_sug', 'class' : 'mceMenuItemTitle'}).setDisabled(1); + + ignoreRpc = t.editor.getParam("spellchecker_enable_ignore_rpc", ''); + m.add({ + title : 'spellchecker.ignore_word', + onclick : function() { + var word = wordSpan.innerHTML; + + dom.remove(wordSpan, 1); + t._checkDone(); + + // tell the server if we need to + if (ignoreRpc) { + ed.setProgressState(1); + t._sendRPC('ignoreWord', [t.selectedLang, word], function(r) { + ed.setProgressState(0); + }); + } + } + }); + + m.add({ + title : 'spellchecker.ignore_words', + onclick : function() { + var word = wordSpan.innerHTML; + + t._removeWords(dom.decode(word)); + t._checkDone(); + + // tell the server if we need to + if (ignoreRpc) { + ed.setProgressState(1); + t._sendRPC('ignoreWords', [t.selectedLang, word], function(r) { + ed.setProgressState(0); + }); + } + } + }); + + if (t.editor.getParam("spellchecker_enable_learn_rpc")) { + m.add({ + title : 'spellchecker.learn_word', + onclick : function() { + var word = wordSpan.innerHTML; + + dom.remove(wordSpan, 1); + t._checkDone(); + + ed.setProgressState(1); + t._sendRPC('learnWord', [t.selectedLang, word], function(r) { + ed.setProgressState(0); + }); + } + }); + } + + m.update(); + }); + + p1 = DOM.getPos(ed.getContentAreaContainer()); + m.settings.offset_x = p1.x; + m.settings.offset_y = p1.y; + + ed.selection.select(wordSpan); + p1 = dom.getPos(wordSpan); + m.showMenu(p1.x, p1.y + wordSpan.offsetHeight - vp.y); + + return tinymce.dom.Event.cancel(e); + } else + m.hideMenu(); + }, + + _checkDone : function() { + var t = this, ed = t.editor, dom = ed.dom, o; + + each(dom.select('span'), function(n) { + if (n && dom.hasClass(n, 'mceItemHiddenSpellWord')) { + o = true; + return false; + } + }); + + if (!o) + t._done(); + }, + + _done : function() { + var t = this, la = t.active; + + if (t.active) { + t.active = 0; + t._removeWords(); + + if (t._menu) + t._menu.hideMenu(); + + if (la) + t.editor.nodeChanged(); + } + }, + + _sendRPC : function(m, p, cb) { + var t = this; + + JSONRequest.sendRPC({ + url : t.rpcUrl, + method : m, + params : p, + success : cb, + error : function(e, x) { + t.editor.setProgressState(0); + t.editor.windowManager.alert(e.errstr || ('Error response: ' + x.responseText)); + } + }); + } + }); + + // Register plugin + tinymce.PluginManager.add('spellchecker', tinymce.plugins.SpellcheckerPlugin); +})(); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/img/wline.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/img/wline.gif new file mode 100644 index 0000000000000000000000000000000000000000..7d0a4dbca03cc13177a359a5f175dda819fdf464 GIT binary patch literal 46 ycmZ?wbhEHbWMN=tXkcXcqowu#|9{1wEQ|~cj0`#qKmd|qU}ANVOOs?}um%7FLkRf* literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/img/wline.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/img/wline.png new file mode 100644 index 0000000000000000000000000000000000000000..e65250283c9b97085915bea89c3b6faab8cd16ed GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^EI`c6$P6U=tZZ6=6kC8#i0dCMt^fc3H<#Nv07dvb lT^vIy<|Jz*L>wq!WMFy5_)ut{{bHaDgQu&X%Q~loCIC%>7McJ6 literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/css/props.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/css/props.css new file mode 100644 index 00000000..5550b093 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/css/props.css @@ -0,0 +1,13 @@ +#text_font {width:250px;} +#text_size {width:70px;} +.mceAddSelectValue {background:#DDD;} +select, #block_text_indent, #box_width, #box_height, #box_padding_top, #box_padding_right, #box_padding_bottom, #box_padding_left {width:70px;} +#box_margin_top, #box_margin_right, #box_margin_bottom, #box_margin_left, #positioning_width, #positioning_height, #positioning_zindex {width:70px;} +#positioning_placement_top, #positioning_placement_right, #positioning_placement_bottom, #positioning_placement_left {width:70px;} +#positioning_clip_top, #positioning_clip_right, #positioning_clip_bottom, #positioning_clip_left {width:70px;} +.panel_wrapper div.current {padding-top:10px;height:230px;} +.delim {border-left:1px solid gray;} +.tdelim {border-bottom:1px solid gray;} +#block_display {width:145px;} +#list_type {width:115px;} +.disabled {background:#EEE;} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/editor_plugin.js new file mode 100644 index 00000000..cab2153c --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.StylePlugin",{init:function(a,b){a.addCommand("mceStyleProps",function(){a.windowManager.open({file:b+"/props.htm",width:480+parseInt(a.getLang("style.delta_width",0)),height:320+parseInt(a.getLang("style.delta_height",0)),inline:1},{plugin_url:b,style_text:a.selection.getNode().style.cssText})});a.addCommand("mceSetElementStyle",function(d,c){if(e=a.selection.getNode()){a.dom.setAttrib(e,"style",c);a.execCommand("mceRepaint")}});a.onNodeChange.add(function(d,c,f){c.setDisabled("styleprops",f.nodeName==="BODY")});a.addButton("styleprops",{title:"style.desc",cmd:"mceStyleProps"})},getInfo:function(){return{longname:"Style",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/style",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("style",tinymce.plugins.StylePlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/editor_plugin_src.js new file mode 100644 index 00000000..c09d5e81 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/editor_plugin_src.js @@ -0,0 +1,55 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.StylePlugin', { + init : function(ed, url) { + // Register commands + ed.addCommand('mceStyleProps', function() { + ed.windowManager.open({ + file : url + '/props.htm', + width : 480 + parseInt(ed.getLang('style.delta_width', 0)), + height : 320 + parseInt(ed.getLang('style.delta_height', 0)), + inline : 1 + }, { + plugin_url : url, + style_text : ed.selection.getNode().style.cssText + }); + }); + + ed.addCommand('mceSetElementStyle', function(ui, v) { + if (e = ed.selection.getNode()) { + ed.dom.setAttrib(e, 'style', v); + ed.execCommand('mceRepaint'); + } + }); + + ed.onNodeChange.add(function(ed, cm, n) { + cm.setDisabled('styleprops', n.nodeName === 'BODY'); + }); + + // Register buttons + ed.addButton('styleprops', {title : 'style.desc', cmd : 'mceStyleProps'}); + }, + + getInfo : function() { + return { + longname : 'Style', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/style', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('style', tinymce.plugins.StylePlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/js/props.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/js/props.js new file mode 100644 index 00000000..99983163 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/js/props.js @@ -0,0 +1,635 @@ +tinyMCEPopup.requireLangPack(); + +var defaultFonts = "" + + "Arial, Helvetica, sans-serif=Arial, Helvetica, sans-serif;" + + "Times New Roman, Times, serif=Times New Roman, Times, serif;" + + "Courier New, Courier, mono=Courier New, Courier, mono;" + + "Times New Roman, Times, serif=Times New Roman, Times, serif;" + + "Georgia, Times New Roman, Times, serif=Georgia, Times New Roman, Times, serif;" + + "Verdana, Arial, Helvetica, sans-serif=Verdana, Arial, Helvetica, sans-serif;" + + "Geneva, Arial, Helvetica, sans-serif=Geneva, Arial, Helvetica, sans-serif"; + +var defaultSizes = "9;10;12;14;16;18;24;xx-small;x-small;small;medium;large;x-large;xx-large;smaller;larger"; +var defaultMeasurement = "+pixels=px;points=pt;inches=in;centimetres=cm;millimetres=mm;picas=pc;ems=em;exs=ex;%"; +var defaultSpacingMeasurement = "pixels=px;points=pt;inches=in;centimetres=cm;millimetres=mm;picas=pc;+ems=em;exs=ex;%"; +var defaultIndentMeasurement = "pixels=px;+points=pt;inches=in;centimetres=cm;millimetres=mm;picas=pc;ems=em;exs=ex;%"; +var defaultWeight = "normal;bold;bolder;lighter;100;200;300;400;500;600;700;800;900"; +var defaultTextStyle = "normal;italic;oblique"; +var defaultVariant = "normal;small-caps"; +var defaultLineHeight = "normal"; +var defaultAttachment = "fixed;scroll"; +var defaultRepeat = "no-repeat;repeat;repeat-x;repeat-y"; +var defaultPosH = "left;center;right"; +var defaultPosV = "top;center;bottom"; +var defaultVAlign = "baseline;sub;super;top;text-top;middle;bottom;text-bottom"; +var defaultDisplay = "inline;block;list-item;run-in;compact;marker;table;inline-table;table-row-group;table-header-group;table-footer-group;table-row;table-column-group;table-column;table-cell;table-caption;none"; +var defaultBorderStyle = "none;solid;dashed;dotted;double;groove;ridge;inset;outset"; +var defaultBorderWidth = "thin;medium;thick"; +var defaultListType = "disc;circle;square;decimal;lower-roman;upper-roman;lower-alpha;upper-alpha;none"; + +function init() { + var ce = document.getElementById('container'), h; + + ce.style.cssText = tinyMCEPopup.getWindowArg('style_text'); + + h = getBrowserHTML('background_image_browser','background_image','image','advimage'); + document.getElementById("background_image_browser").innerHTML = h; + + document.getElementById('text_color_pickcontainer').innerHTML = getColorPickerHTML('text_color_pick','text_color'); + document.getElementById('background_color_pickcontainer').innerHTML = getColorPickerHTML('background_color_pick','background_color'); + document.getElementById('border_color_top_pickcontainer').innerHTML = getColorPickerHTML('border_color_top_pick','border_color_top'); + document.getElementById('border_color_right_pickcontainer').innerHTML = getColorPickerHTML('border_color_right_pick','border_color_right'); + document.getElementById('border_color_bottom_pickcontainer').innerHTML = getColorPickerHTML('border_color_bottom_pick','border_color_bottom'); + document.getElementById('border_color_left_pickcontainer').innerHTML = getColorPickerHTML('border_color_left_pick','border_color_left'); + + fillSelect(0, 'text_font', 'style_font', defaultFonts, ';', true); + fillSelect(0, 'text_size', 'style_font_size', defaultSizes, ';', true); + fillSelect(0, 'text_size_measurement', 'style_font_size_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'text_case', 'style_text_case', "capitalize;uppercase;lowercase", ';', true); + fillSelect(0, 'text_weight', 'style_font_weight', defaultWeight, ';', true); + fillSelect(0, 'text_style', 'style_font_style', defaultTextStyle, ';', true); + fillSelect(0, 'text_variant', 'style_font_variant', defaultVariant, ';', true); + fillSelect(0, 'text_lineheight', 'style_font_line_height', defaultLineHeight, ';', true); + fillSelect(0, 'text_lineheight_measurement', 'style_font_line_height_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'background_attachment', 'style_background_attachment', defaultAttachment, ';', true); + fillSelect(0, 'background_repeat', 'style_background_repeat', defaultRepeat, ';', true); + + fillSelect(0, 'background_hpos_measurement', 'style_background_hpos_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'background_vpos_measurement', 'style_background_vpos_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'background_hpos', 'style_background_hpos', defaultPosH, ';', true); + fillSelect(0, 'background_vpos', 'style_background_vpos', defaultPosV, ';', true); + + fillSelect(0, 'block_wordspacing', 'style_wordspacing', 'normal', ';', true); + fillSelect(0, 'block_wordspacing_measurement', 'style_wordspacing_measurement', defaultSpacingMeasurement, ';', true); + fillSelect(0, 'block_letterspacing', 'style_letterspacing', 'normal', ';', true); + fillSelect(0, 'block_letterspacing_measurement', 'style_letterspacing_measurement', defaultSpacingMeasurement, ';', true); + fillSelect(0, 'block_vertical_alignment', 'style_vertical_alignment', defaultVAlign, ';', true); + fillSelect(0, 'block_text_align', 'style_text_align', "left;right;center;justify", ';', true); + fillSelect(0, 'block_whitespace', 'style_whitespace', "normal;pre;nowrap", ';', true); + fillSelect(0, 'block_display', 'style_display', defaultDisplay, ';', true); + fillSelect(0, 'block_text_indent_measurement', 'style_text_indent_measurement', defaultIndentMeasurement, ';', true); + + fillSelect(0, 'box_width_measurement', 'style_box_width_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_height_measurement', 'style_box_height_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_float', 'style_float', 'left;right;none', ';', true); + fillSelect(0, 'box_clear', 'style_clear', 'left;right;both;none', ';', true); + fillSelect(0, 'box_padding_left_measurement', 'style_padding_left_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_padding_top_measurement', 'style_padding_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_padding_bottom_measurement', 'style_padding_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_padding_right_measurement', 'style_padding_right_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_margin_left_measurement', 'style_margin_left_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_margin_top_measurement', 'style_margin_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_margin_bottom_measurement', 'style_margin_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_margin_right_measurement', 'style_margin_right_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'border_style_top', 'style_border_style_top', defaultBorderStyle, ';', true); + fillSelect(0, 'border_style_right', 'style_border_style_right', defaultBorderStyle, ';', true); + fillSelect(0, 'border_style_bottom', 'style_border_style_bottom', defaultBorderStyle, ';', true); + fillSelect(0, 'border_style_left', 'style_border_style_left', defaultBorderStyle, ';', true); + + fillSelect(0, 'border_width_top', 'style_border_width_top', defaultBorderWidth, ';', true); + fillSelect(0, 'border_width_right', 'style_border_width_right', defaultBorderWidth, ';', true); + fillSelect(0, 'border_width_bottom', 'style_border_width_bottom', defaultBorderWidth, ';', true); + fillSelect(0, 'border_width_left', 'style_border_width_left', defaultBorderWidth, ';', true); + + fillSelect(0, 'border_width_top_measurement', 'style_border_width_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'border_width_right_measurement', 'style_border_width_right_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'border_width_bottom_measurement', 'style_border_width_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'border_width_left_measurement', 'style_border_width_left_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'list_type', 'style_list_type', defaultListType, ';', true); + fillSelect(0, 'list_position', 'style_list_position', "inside;outside", ';', true); + + fillSelect(0, 'positioning_type', 'style_positioning_type', "absolute;relative;static", ';', true); + fillSelect(0, 'positioning_visibility', 'style_positioning_visibility', "inherit;visible;hidden", ';', true); + + fillSelect(0, 'positioning_width_measurement', 'style_positioning_width_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_height_measurement', 'style_positioning_height_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_overflow', 'style_positioning_overflow', "visible;hidden;scroll;auto", ';', true); + + fillSelect(0, 'positioning_placement_top_measurement', 'style_positioning_placement_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_placement_right_measurement', 'style_positioning_placement_right_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_placement_bottom_measurement', 'style_positioning_placement_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_placement_left_measurement', 'style_positioning_placement_left_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'positioning_clip_top_measurement', 'style_positioning_clip_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_clip_right_measurement', 'style_positioning_clip_right_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_clip_bottom_measurement', 'style_positioning_clip_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_clip_left_measurement', 'style_positioning_clip_left_measurement', defaultMeasurement, ';', true); + + TinyMCE_EditableSelects.init(); + setupFormData(); + showDisabledControls(); +} + +function setupFormData() { + var ce = document.getElementById('container'), f = document.forms[0], s, b, i; + + // Setup text fields + + selectByValue(f, 'text_font', ce.style.fontFamily, true, true); + selectByValue(f, 'text_size', getNum(ce.style.fontSize), true, true); + selectByValue(f, 'text_size_measurement', getMeasurement(ce.style.fontSize)); + selectByValue(f, 'text_weight', ce.style.fontWeight, true, true); + selectByValue(f, 'text_style', ce.style.fontStyle, true, true); + selectByValue(f, 'text_lineheight', getNum(ce.style.lineHeight), true, true); + selectByValue(f, 'text_lineheight_measurement', getMeasurement(ce.style.lineHeight)); + selectByValue(f, 'text_case', ce.style.textTransform, true, true); + selectByValue(f, 'text_variant', ce.style.fontVariant, true, true); + f.text_color.value = tinyMCEPopup.editor.dom.toHex(ce.style.color); + updateColor('text_color_pick', 'text_color'); + f.text_underline.checked = inStr(ce.style.textDecoration, 'underline'); + f.text_overline.checked = inStr(ce.style.textDecoration, 'overline'); + f.text_linethrough.checked = inStr(ce.style.textDecoration, 'line-through'); + f.text_blink.checked = inStr(ce.style.textDecoration, 'blink'); + + // Setup background fields + + f.background_color.value = tinyMCEPopup.editor.dom.toHex(ce.style.backgroundColor); + updateColor('background_color_pick', 'background_color'); + f.background_image.value = ce.style.backgroundImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1"); + selectByValue(f, 'background_repeat', ce.style.backgroundRepeat, true, true); + selectByValue(f, 'background_attachment', ce.style.backgroundAttachment, true, true); + selectByValue(f, 'background_hpos', getNum(getVal(ce.style.backgroundPosition, 0)), true, true); + selectByValue(f, 'background_hpos_measurement', getMeasurement(getVal(ce.style.backgroundPosition, 0))); + selectByValue(f, 'background_vpos', getNum(getVal(ce.style.backgroundPosition, 1)), true, true); + selectByValue(f, 'background_vpos_measurement', getMeasurement(getVal(ce.style.backgroundPosition, 1))); + + // Setup block fields + + selectByValue(f, 'block_wordspacing', getNum(ce.style.wordSpacing), true, true); + selectByValue(f, 'block_wordspacing_measurement', getMeasurement(ce.style.wordSpacing)); + selectByValue(f, 'block_letterspacing', getNum(ce.style.letterSpacing), true, true); + selectByValue(f, 'block_letterspacing_measurement', getMeasurement(ce.style.letterSpacing)); + selectByValue(f, 'block_vertical_alignment', ce.style.verticalAlign, true, true); + selectByValue(f, 'block_text_align', ce.style.textAlign, true, true); + f.block_text_indent.value = getNum(ce.style.textIndent); + selectByValue(f, 'block_text_indent_measurement', getMeasurement(ce.style.textIndent)); + selectByValue(f, 'block_whitespace', ce.style.whiteSpace, true, true); + selectByValue(f, 'block_display', ce.style.display, true, true); + + // Setup box fields + + f.box_width.value = getNum(ce.style.width); + selectByValue(f, 'box_width_measurement', getMeasurement(ce.style.width)); + + f.box_height.value = getNum(ce.style.height); + selectByValue(f, 'box_height_measurement', getMeasurement(ce.style.height)); + selectByValue(f, 'box_float', ce.style.cssFloat || ce.style.styleFloat, true, true); + + selectByValue(f, 'box_clear', ce.style.clear, true, true); + + setupBox(f, ce, 'box_padding', 'padding', ''); + setupBox(f, ce, 'box_margin', 'margin', ''); + + // Setup border fields + + setupBox(f, ce, 'border_style', 'border', 'Style'); + setupBox(f, ce, 'border_width', 'border', 'Width'); + setupBox(f, ce, 'border_color', 'border', 'Color'); + + updateColor('border_color_top_pick', 'border_color_top'); + updateColor('border_color_right_pick', 'border_color_right'); + updateColor('border_color_bottom_pick', 'border_color_bottom'); + updateColor('border_color_left_pick', 'border_color_left'); + + f.elements.border_color_top.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_top.value); + f.elements.border_color_right.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_right.value); + f.elements.border_color_bottom.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_bottom.value); + f.elements.border_color_left.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_left.value); + + // Setup list fields + + selectByValue(f, 'list_type', ce.style.listStyleType, true, true); + selectByValue(f, 'list_position', ce.style.listStylePosition, true, true); + f.list_bullet_image.value = ce.style.listStyleImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1"); + + // Setup box fields + + selectByValue(f, 'positioning_type', ce.style.position, true, true); + selectByValue(f, 'positioning_visibility', ce.style.visibility, true, true); + selectByValue(f, 'positioning_overflow', ce.style.overflow, true, true); + f.positioning_zindex.value = ce.style.zIndex ? ce.style.zIndex : ""; + + f.positioning_width.value = getNum(ce.style.width); + selectByValue(f, 'positioning_width_measurement', getMeasurement(ce.style.width)); + + f.positioning_height.value = getNum(ce.style.height); + selectByValue(f, 'positioning_height_measurement', getMeasurement(ce.style.height)); + + setupBox(f, ce, 'positioning_placement', '', '', ['top', 'right', 'bottom', 'left']); + + s = ce.style.clip.replace(new RegExp("rect\\('?([^']*)'?\\)", 'gi'), "$1"); + s = s.replace(/,/g, ' '); + + if (!hasEqualValues([getVal(s, 0), getVal(s, 1), getVal(s, 2), getVal(s, 3)])) { + f.positioning_clip_top.value = getNum(getVal(s, 0)); + selectByValue(f, 'positioning_clip_top_measurement', getMeasurement(getVal(s, 0))); + f.positioning_clip_right.value = getNum(getVal(s, 1)); + selectByValue(f, 'positioning_clip_right_measurement', getMeasurement(getVal(s, 1))); + f.positioning_clip_bottom.value = getNum(getVal(s, 2)); + selectByValue(f, 'positioning_clip_bottom_measurement', getMeasurement(getVal(s, 2))); + f.positioning_clip_left.value = getNum(getVal(s, 3)); + selectByValue(f, 'positioning_clip_left_measurement', getMeasurement(getVal(s, 3))); + } else { + f.positioning_clip_top.value = getNum(getVal(s, 0)); + selectByValue(f, 'positioning_clip_top_measurement', getMeasurement(getVal(s, 0))); + f.positioning_clip_right.value = f.positioning_clip_bottom.value = f.positioning_clip_left.value; + } + +// setupBox(f, ce, '', 'border', 'Color'); +} + +function getMeasurement(s) { + return s.replace(/^([0-9.]+)(.*)$/, "$2"); +} + +function getNum(s) { + if (new RegExp('^(?:[0-9.]+)(?:[a-z%]+)$', 'gi').test(s)) + return s.replace(/[^0-9.]/g, ''); + + return s; +} + +function inStr(s, n) { + return new RegExp(n, 'gi').test(s); +} + +function getVal(s, i) { + var a = s.split(' '); + + if (a.length > 1) + return a[i]; + + return ""; +} + +function setValue(f, n, v) { + if (f.elements[n].type == "text") + f.elements[n].value = v; + else + selectByValue(f, n, v, true, true); +} + +function setupBox(f, ce, fp, pr, sf, b) { + if (typeof(b) == "undefined") + b = ['Top', 'Right', 'Bottom', 'Left']; + + if (isSame(ce, pr, sf, b)) { + f.elements[fp + "_same"].checked = true; + + setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf])); + f.elements[fp + "_top"].disabled = false; + + f.elements[fp + "_right"].value = ""; + f.elements[fp + "_right"].disabled = true; + f.elements[fp + "_bottom"].value = ""; + f.elements[fp + "_bottom"].disabled = true; + f.elements[fp + "_left"].value = ""; + f.elements[fp + "_left"].disabled = true; + + if (f.elements[fp + "_top_measurement"]) { + selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf])); + f.elements[fp + "_left_measurement"].disabled = true; + f.elements[fp + "_bottom_measurement"].disabled = true; + f.elements[fp + "_right_measurement"].disabled = true; + } + } else { + f.elements[fp + "_same"].checked = false; + + setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf])); + f.elements[fp + "_top"].disabled = false; + + setValue(f, fp + "_right", getNum(ce.style[pr + b[1] + sf])); + f.elements[fp + "_right"].disabled = false; + + setValue(f, fp + "_bottom", getNum(ce.style[pr + b[2] + sf])); + f.elements[fp + "_bottom"].disabled = false; + + setValue(f, fp + "_left", getNum(ce.style[pr + b[3] + sf])); + f.elements[fp + "_left"].disabled = false; + + if (f.elements[fp + "_top_measurement"]) { + selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf])); + selectByValue(f, fp + '_right_measurement', getMeasurement(ce.style[pr + b[1] + sf])); + selectByValue(f, fp + '_bottom_measurement', getMeasurement(ce.style[pr + b[2] + sf])); + selectByValue(f, fp + '_left_measurement', getMeasurement(ce.style[pr + b[3] + sf])); + f.elements[fp + "_left_measurement"].disabled = false; + f.elements[fp + "_bottom_measurement"].disabled = false; + f.elements[fp + "_right_measurement"].disabled = false; + } + } +} + +function isSame(e, pr, sf, b) { + var a = [], i, x; + + if (typeof(b) == "undefined") + b = ['Top', 'Right', 'Bottom', 'Left']; + + if (typeof(sf) == "undefined" || sf == null) + sf = ""; + + a[0] = e.style[pr + b[0] + sf]; + a[1] = e.style[pr + b[1] + sf]; + a[2] = e.style[pr + b[2] + sf]; + a[3] = e.style[pr + b[3] + sf]; + + for (i=0; i 0 ? s.substring(1) : s; + + if (f.text_none.checked) + s = "none"; + + ce.style.textDecoration = s; + + // Build background styles + + ce.style.backgroundColor = f.background_color.value; + ce.style.backgroundImage = f.background_image.value != "" ? "url(" + f.background_image.value + ")" : ""; + ce.style.backgroundRepeat = f.background_repeat.value; + ce.style.backgroundAttachment = f.background_attachment.value; + + if (f.background_hpos.value != "") { + s = ""; + s += f.background_hpos.value + (isNum(f.background_hpos.value) ? f.background_hpos_measurement.value : "") + " "; + s += f.background_vpos.value + (isNum(f.background_vpos.value) ? f.background_vpos_measurement.value : ""); + ce.style.backgroundPosition = s; + } + + // Build block styles + + ce.style.wordSpacing = f.block_wordspacing.value + (isNum(f.block_wordspacing.value) ? f.block_wordspacing_measurement.value : ""); + ce.style.letterSpacing = f.block_letterspacing.value + (isNum(f.block_letterspacing.value) ? f.block_letterspacing_measurement.value : ""); + ce.style.verticalAlign = f.block_vertical_alignment.value; + ce.style.textAlign = f.block_text_align.value; + ce.style.textIndent = f.block_text_indent.value + (isNum(f.block_text_indent.value) ? f.block_text_indent_measurement.value : ""); + ce.style.whiteSpace = f.block_whitespace.value; + ce.style.display = f.block_display.value; + + // Build box styles + + ce.style.width = f.box_width.value + (isNum(f.box_width.value) ? f.box_width_measurement.value : ""); + ce.style.height = f.box_height.value + (isNum(f.box_height.value) ? f.box_height_measurement.value : ""); + ce.style.styleFloat = f.box_float.value; + ce.style.cssFloat = f.box_float.value; + + ce.style.clear = f.box_clear.value; + + if (!f.box_padding_same.checked) { + ce.style.paddingTop = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : ""); + ce.style.paddingRight = f.box_padding_right.value + (isNum(f.box_padding_right.value) ? f.box_padding_right_measurement.value : ""); + ce.style.paddingBottom = f.box_padding_bottom.value + (isNum(f.box_padding_bottom.value) ? f.box_padding_bottom_measurement.value : ""); + ce.style.paddingLeft = f.box_padding_left.value + (isNum(f.box_padding_left.value) ? f.box_padding_left_measurement.value : ""); + } else + ce.style.padding = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : ""); + + if (!f.box_margin_same.checked) { + ce.style.marginTop = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : ""); + ce.style.marginRight = f.box_margin_right.value + (isNum(f.box_margin_right.value) ? f.box_margin_right_measurement.value : ""); + ce.style.marginBottom = f.box_margin_bottom.value + (isNum(f.box_margin_bottom.value) ? f.box_margin_bottom_measurement.value : ""); + ce.style.marginLeft = f.box_margin_left.value + (isNum(f.box_margin_left.value) ? f.box_margin_left_measurement.value : ""); + } else + ce.style.margin = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : ""); + + // Build border styles + + if (!f.border_style_same.checked) { + ce.style.borderTopStyle = f.border_style_top.value; + ce.style.borderRightStyle = f.border_style_right.value; + ce.style.borderBottomStyle = f.border_style_bottom.value; + ce.style.borderLeftStyle = f.border_style_left.value; + } else + ce.style.borderStyle = f.border_style_top.value; + + if (!f.border_width_same.checked) { + ce.style.borderTopWidth = f.border_width_top.value + (isNum(f.border_width_top.value) ? f.border_width_top_measurement.value : ""); + ce.style.borderRightWidth = f.border_width_right.value + (isNum(f.border_width_right.value) ? f.border_width_right_measurement.value : ""); + ce.style.borderBottomWidth = f.border_width_bottom.value + (isNum(f.border_width_bottom.value) ? f.border_width_bottom_measurement.value : ""); + ce.style.borderLeftWidth = f.border_width_left.value + (isNum(f.border_width_left.value) ? f.border_width_left_measurement.value : ""); + } else + ce.style.borderWidth = f.border_width_top.value + (isNum(f.border_width_top.value) ? f.border_width_top_measurement.value : ""); + + if (!f.border_color_same.checked) { + ce.style.borderTopColor = f.border_color_top.value; + ce.style.borderRightColor = f.border_color_right.value; + ce.style.borderBottomColor = f.border_color_bottom.value; + ce.style.borderLeftColor = f.border_color_left.value; + } else + ce.style.borderColor = f.border_color_top.value; + + // Build list styles + + ce.style.listStyleType = f.list_type.value; + ce.style.listStylePosition = f.list_position.value; + ce.style.listStyleImage = f.list_bullet_image.value != "" ? "url(" + f.list_bullet_image.value + ")" : ""; + + // Build positioning styles + + ce.style.position = f.positioning_type.value; + ce.style.visibility = f.positioning_visibility.value; + + if (ce.style.width == "") + ce.style.width = f.positioning_width.value + (isNum(f.positioning_width.value) ? f.positioning_width_measurement.value : ""); + + if (ce.style.height == "") + ce.style.height = f.positioning_height.value + (isNum(f.positioning_height.value) ? f.positioning_height_measurement.value : ""); + + ce.style.zIndex = f.positioning_zindex.value; + ce.style.overflow = f.positioning_overflow.value; + + if (!f.positioning_placement_same.checked) { + ce.style.top = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : ""); + ce.style.right = f.positioning_placement_right.value + (isNum(f.positioning_placement_right.value) ? f.positioning_placement_right_measurement.value : ""); + ce.style.bottom = f.positioning_placement_bottom.value + (isNum(f.positioning_placement_bottom.value) ? f.positioning_placement_bottom_measurement.value : ""); + ce.style.left = f.positioning_placement_left.value + (isNum(f.positioning_placement_left.value) ? f.positioning_placement_left_measurement.value : ""); + } else { + s = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : ""); + ce.style.top = s; + ce.style.right = s; + ce.style.bottom = s; + ce.style.left = s; + } + + if (!f.positioning_clip_same.checked) { + s = "rect("; + s += (isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto") + " "; + s += (isNum(f.positioning_clip_right.value) ? f.positioning_clip_right.value + f.positioning_clip_right_measurement.value : "auto") + " "; + s += (isNum(f.positioning_clip_bottom.value) ? f.positioning_clip_bottom.value + f.positioning_clip_bottom_measurement.value : "auto") + " "; + s += (isNum(f.positioning_clip_left.value) ? f.positioning_clip_left.value + f.positioning_clip_left_measurement.value : "auto"); + s += ")"; + + if (s != "rect(auto auto auto auto)") + ce.style.clip = s; + } else { + s = "rect("; + t = isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto"; + s += t + " "; + s += t + " "; + s += t + " "; + s += t + ")"; + + if (s != "rect(auto auto auto auto)") + ce.style.clip = s; + } + + ce.style.cssText = ce.style.cssText; +} + +function isNum(s) { + return new RegExp('[0-9]+', 'g').test(s); +} + +function showDisabledControls() { + var f = document.forms, i, a; + + for (i=0; i 1) { + addSelectValue(f, s, p[0], p[1]); + + if (se) + selectByValue(f, s, p[1]); + } else { + addSelectValue(f, s, p[0], p[0]); + + if (se) + selectByValue(f, s, p[0]); + } + } +} + +function toggleSame(ce, pre) { + var el = document.forms[0].elements, i; + + if (ce.checked) { + el[pre + "_top"].disabled = false; + el[pre + "_right"].disabled = true; + el[pre + "_bottom"].disabled = true; + el[pre + "_left"].disabled = true; + + if (el[pre + "_top_measurement"]) { + el[pre + "_top_measurement"].disabled = false; + el[pre + "_right_measurement"].disabled = true; + el[pre + "_bottom_measurement"].disabled = true; + el[pre + "_left_measurement"].disabled = true; + } + } else { + el[pre + "_top"].disabled = false; + el[pre + "_right"].disabled = false; + el[pre + "_bottom"].disabled = false; + el[pre + "_left"].disabled = false; + + if (el[pre + "_top_measurement"]) { + el[pre + "_top_measurement"].disabled = false; + el[pre + "_right_measurement"].disabled = false; + el[pre + "_bottom_measurement"].disabled = false; + el[pre + "_left_measurement"].disabled = false; + } + } + + showDisabledControls(); +} + +function synch(fr, to) { + var f = document.forms[0]; + + f.elements[to].value = f.elements[fr].value; + + if (f.elements[fr + "_measurement"]) + selectByValue(f, to + "_measurement", f.elements[fr + "_measurement"].value); +} + +tinyMCEPopup.onInit.add(init); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/langs/en_dlg.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/langs/en_dlg.js new file mode 100644 index 00000000..f311421f --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/langs/en_dlg.js @@ -0,0 +1,70 @@ +tinyMCE.addI18n('en.style_dlg',{ +title:"Edit CSS Style", +apply:"Apply", +text_tab:"Text", +background_tab:"Background", +block_tab:"Block", +box_tab:"Box", +border_tab:"Border", +list_tab:"List", +positioning_tab:"Positioning", +text_props:"Text", +text_font:"Font", +text_size:"Size", +text_weight:"Weight", +text_style:"Style", +text_variant:"Variant", +text_lineheight:"Line height", +text_case:"Case", +text_color:"Color", +text_decoration:"Decoration", +text_overline:"overline", +text_underline:"underline", +text_striketrough:"strikethrough", +text_blink:"blink", +text_none:"none", +background_color:"Background color", +background_image:"Background image", +background_repeat:"Repeat", +background_attachment:"Attachment", +background_hpos:"Horizontal position", +background_vpos:"Vertical position", +block_wordspacing:"Word spacing", +block_letterspacing:"Letter spacing", +block_vertical_alignment:"Vertical alignment", +block_text_align:"Text align", +block_text_indent:"Text indent", +block_whitespace:"Whitespace", +block_display:"Display", +box_width:"Width", +box_height:"Height", +box_float:"Float", +box_clear:"Clear", +padding:"Padding", +same:"Same for all", +top:"Top", +right:"Right", +bottom:"Bottom", +left:"Left", +margin:"Margin", +style:"Style", +width:"Width", +height:"Height", +color:"Color", +list_type:"Type", +bullet_image:"Bullet image", +position:"Position", +positioning_type:"Type", +visibility:"Visibility", +zindex:"Z-index", +overflow:"Overflow", +placement:"Placement", +clip:"Clip", +text:"Text", +background:"Background", +block:"Block", +box:"Box", +border:"Border", +list:"List", +position:"Position" +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/props.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/props.htm new file mode 100644 index 00000000..76ab68d8 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/props.htm @@ -0,0 +1,840 @@ + + + + {#style_dlg.title} + + + + + + + + + + +
+ + +
+
+
+ {#style_dlg.text} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
  + + +
+
+ +
+ + + +
+ + + + + + +
+ +   + + +
+
+ +
+ + + + + +
 
+
{#style_dlg.text_decoration} + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+
+ {#style_dlg.background} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
 
+
+ + + + +
 
+
+ + + + + + +
  + + +
+
+ + + + + + +
  + + +
+
+
+
+ +
+
+ {#style_dlg.block} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
  + + +
+
+ + + + + + +
  + + +
+
+ + + + + + +
  + + + +
+
+
+
+ +
+
+ {#style_dlg.box} + + + + + + + + + + + + + + +
+ + + + + + +
  + + +
+
   
+ + + + + + +
  + + +
+
   
+
+ +
+
+ {#style_dlg.padding} + + + + + + + + + + + + + + + + + + + + + + +
 
+ + + + + + +
  + + +
+
+ + + + + + +
  + + +
+
+ + + + + + +
  + + +
+
+ + + + + + +
  + + +
+
+
+
+ +
+
+ {#style_dlg.margin} + + + + + + + + + + + + + + + + + + + + + + +
 
+ + + + + + +
  + + +
+
+ + + + + + +
  + + +
+
+ + + + + + +
  + + +
+
+ + + + + + +
  + + +
+
+
+
+
+
+ +
+
+ {#style_dlg.border} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  {#style_dlg.style} {#style_dlg.width} {#style_dlg.color}
      
{#style_dlg.top}   + + + + + + +
  + + +
+
  + + + + + +
 
+
{#style_dlg.right}   + + + + + + +
  + + +
+
  + + + + + +
 
+
{#style_dlg.bottom}   + + + + + + +
  + + +
+
  + + + + + +
 
+
{#style_dlg.left}   + + + + + + +
  + + +
+
  + + + + + +
 
+
+
+
+ +
+
+ {#style_dlg.list} + + + + + + + + + + + + + + + +
+
+
+ +
+
+ {#style_dlg.position} + + + + + + + + + + + + + + + + + + + + + +
   
+ + + + + + +
  + + +
+
   
+ + + + + + +
  + + +
+
   
+
+ +
+
+ {#style_dlg.placement} + + + + + + + + + + + + + + + + + + + + + + +
 
{#style_dlg.top} + + + + + + +
  + + +
+
{#style_dlg.right} + + + + + + +
  + + +
+
{#style_dlg.bottom} + + + + + + +
  + + +
+
{#style_dlg.left} + + + + + + +
  + + +
+
+
+
+ +
+
+ {#style_dlg.clip} + + + + + + + + + + + + + + + + + + + + + + +
 
{#style_dlg.top} + + + + + + +
  + + +
+
{#style_dlg.right} + + + + + + +
  + + +
+
{#style_dlg.bottom} + + + + + + +
  + + +
+
{#style_dlg.left} + + + + + + +
  + + +
+
+
+
+
+
+
+ +
+ + + +
+
+ +
+
+
+ + + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js new file mode 100644 index 00000000..42a82d11 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js @@ -0,0 +1 @@ +(function(){var c=tinymce.DOM,a=tinymce.dom.Event,d=tinymce.each,b=tinymce.explode;tinymce.create("tinymce.plugins.TabFocusPlugin",{init:function(f,g){function e(i,j){if(j.keyCode===9){return a.cancel(j)}}function h(l,p){var j,m,o,n,k;function q(t){n=c.select(":input:enabled,*[tabindex]");function s(v){return v.nodeName==="BODY"||(v.type!="hidden"&&!(v.style.display=="none")&&!(v.style.visibility=="hidden")&&s(v.parentNode))}function i(v){return v.attributes.tabIndex.specified||v.nodeName=="INPUT"||v.nodeName=="TEXTAREA"}function u(){return tinymce.isIE6||tinymce.isIE7}function r(v){return((!u()||i(v)))&&v.getAttribute("tabindex")!="-1"&&s(v)}d(n,function(w,v){if(w.id==l.id){j=v;return false}});if(t>0){for(m=j+1;m=0;m--){if(r(n[m])){return n[m]}}}return null}if(p.keyCode===9){k=b(l.getParam("tab_focus",l.getParam("tabfocus_elements",":prev,:next")));if(k.length==1){k[1]=k[0];k[0]=":prev"}if(p.shiftKey){if(k[0]==":prev"){n=q(-1)}else{n=c.get(k[0])}}else{if(k[1]==":next"){n=q(1)}else{n=c.get(k[1])}}if(n){if(n.id&&(l=tinymce.get(n.id||n.name))){l.focus()}else{window.setTimeout(function(){if(!tinymce.isWebKit){window.focus()}n.focus()},10)}return a.cancel(p)}}}f.onKeyUp.add(e);if(tinymce.isGecko){f.onKeyPress.add(h);f.onKeyDown.add(e)}else{f.onKeyDown.add(h)}},getInfo:function(){return{longname:"Tabfocus",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/tabfocus",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("tabfocus",tinymce.plugins.TabFocusPlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js new file mode 100644 index 00000000..a1579c85 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js @@ -0,0 +1,122 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var DOM = tinymce.DOM, Event = tinymce.dom.Event, each = tinymce.each, explode = tinymce.explode; + + tinymce.create('tinymce.plugins.TabFocusPlugin', { + init : function(ed, url) { + function tabCancel(ed, e) { + if (e.keyCode === 9) + return Event.cancel(e); + } + + function tabHandler(ed, e) { + var x, i, f, el, v; + + function find(d) { + el = DOM.select(':input:enabled,*[tabindex]'); + + function canSelectRecursive(e) { + return e.nodeName==="BODY" || (e.type != 'hidden' && + !(e.style.display == "none") && + !(e.style.visibility == "hidden") && canSelectRecursive(e.parentNode)); + } + function canSelectInOldIe(el) { + return el.attributes["tabIndex"].specified || el.nodeName == "INPUT" || el.nodeName == "TEXTAREA"; + } + function isOldIe() { + return tinymce.isIE6 || tinymce.isIE7; + } + function canSelect(el) { + return ((!isOldIe() || canSelectInOldIe(el))) && el.getAttribute("tabindex") != '-1' && canSelectRecursive(el); + } + + each(el, function(e, i) { + if (e.id == ed.id) { + x = i; + return false; + } + }); + if (d > 0) { + for (i = x + 1; i < el.length; i++) { + if (canSelect(el[i])) + return el[i]; + } + } else { + for (i = x - 1; i >= 0; i--) { + if (canSelect(el[i])) + return el[i]; + } + } + + return null; + } + + if (e.keyCode === 9) { + v = explode(ed.getParam('tab_focus', ed.getParam('tabfocus_elements', ':prev,:next'))); + + if (v.length == 1) { + v[1] = v[0]; + v[0] = ':prev'; + } + + // Find element to focus + if (e.shiftKey) { + if (v[0] == ':prev') + el = find(-1); + else + el = DOM.get(v[0]); + } else { + if (v[1] == ':next') + el = find(1); + else + el = DOM.get(v[1]); + } + + if (el) { + if (el.id && (ed = tinymce.get(el.id || el.name))) + ed.focus(); + else + window.setTimeout(function() { + if (!tinymce.isWebKit) + window.focus(); + el.focus(); + }, 10); + + return Event.cancel(e); + } + } + } + + ed.onKeyUp.add(tabCancel); + + if (tinymce.isGecko) { + ed.onKeyPress.add(tabHandler); + ed.onKeyDown.add(tabCancel); + } else + ed.onKeyDown.add(tabHandler); + + }, + + getInfo : function() { + return { + longname : 'Tabfocus', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/tabfocus', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('tabfocus', tinymce.plugins.TabFocusPlugin); +})(); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/cell.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/cell.htm new file mode 100644 index 00000000..2922f7a2 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/cell.htm @@ -0,0 +1,180 @@ + + + + {#table_dlg.cell_title} + + + + + + + + + +
+ + +
+
+
+ {#table_dlg.general_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ +
+
+
+ +
+
+ {#table_dlg.advanced_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + + + +
 
+
+ + + + + +
 
+
+ + + + + +
 
+
+
+
+
+ +
+
+ +
+ + + +
+
+ + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/css/cell.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/css/cell.css new file mode 100644 index 00000000..a47cc1a1 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/css/cell.css @@ -0,0 +1,17 @@ +/* CSS file for cell dialog in the table plugin */ + +.panel_wrapper div.current { + height: 200px; +} + +.advfield { + width: 200px; +} + +#action { + margin-bottom: 3px; +} + +#class { + width: 150px; +} \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/css/row.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/css/row.css new file mode 100644 index 00000000..0e397db3 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/css/row.css @@ -0,0 +1,25 @@ +/* CSS file for row dialog in the table plugin */ + +.panel_wrapper div.current { + height: 200px; +} + +.advfield { + width: 200px; +} + +#action { + margin-bottom: 3px; +} + +#rowtype,#align,#valign,#class,#height { + width: 150px; +} + +#height { + width: 50px; +} + +.col2 { + padding-left: 20px; +} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/css/table.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/css/table.css new file mode 100644 index 00000000..8f107831 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/css/table.css @@ -0,0 +1,13 @@ +/* CSS file for table dialog in the table plugin */ + +.panel_wrapper div.current { + height: 245px; +} + +.advfield { + width: 200px; +} + +#class { + width: 150px; +} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/editor_plugin.js new file mode 100644 index 00000000..0d756c25 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/editor_plugin.js @@ -0,0 +1 @@ +(function(d){var e=d.each;function c(g,h){var j=h.ownerDocument,f=j.createRange(),k;f.setStartBefore(h);f.setEnd(g.endContainer,g.endOffset);k=j.createElement("body");k.appendChild(f.cloneContents());return k.innerHTML.replace(/<(br|img|object|embed|input|textarea)[^>]*>/gi,"-").replace(/<[^>]+>/g,"").length==0}function a(g,f){return parseInt(g.getAttribute(f)||1)}function b(H,G,K){var g,L,D,o;t();o=G.getParent(K.getStart(),"th,td");if(o){L=F(o);D=I();o=z(L.x,L.y)}function A(N,M){N=N.cloneNode(M);N.removeAttribute("id");return N}function t(){var M=0;g=[];e(["thead","tbody","tfoot"],function(N){var O=G.select("> "+N+" tr",H);e(O,function(P,Q){Q+=M;e(G.select("> td, > th",P),function(W,R){var S,T,U,V;if(g[Q]){while(g[Q][R]){R++}}U=a(W,"rowspan");V=a(W,"colspan");for(T=Q;T'}return false}},"childNodes");M=A(M,false);s(M,"rowSpan",1);s(M,"colSpan",1);if(N){M.appendChild(N)}else{if(!d.isIE){M.innerHTML='
'}}return M}function q(){var M=G.createRng();e(G.select("tr",H),function(N){if(N.cells.length==0){G.remove(N)}});if(G.select("tr",H).length==0){M.setStartAfter(H);M.setEndAfter(H);K.setRng(M);G.remove(H);return}e(G.select("thead,tbody,tfoot",H),function(N){if(N.rows.length==0){G.remove(N)}});t();row=g[Math.min(g.length-1,L.y)];if(row){K.select(row[Math.min(row.length-1,L.x)].elm,true);K.collapse(true)}}function u(S,Q,U,R){var P,N,M,O,T;P=g[Q][S].elm.parentNode;for(M=1;M<=U;M++){P=G.getNext(P,"tr");if(P){for(N=S;N>=0;N--){T=g[Q+M][N].elm;if(T.parentNode==P){for(O=1;O<=R;O++){G.insertAfter(f(T),T)}break}}if(N==-1){for(O=1;O<=R;O++){P.insertBefore(f(P.cells[0]),P.cells[0])}}}}}function C(){e(g,function(M,N){e(M,function(P,O){var S,R,T,Q;if(j(P)){P=P.elm;S=a(P,"colspan");R=a(P,"rowspan");if(S>1||R>1){s(P,"rowSpan",1);s(P,"colSpan",1);for(Q=0;Q1){s(S,"rowSpan",O+1);continue}}else{if(M>0&&g[M-1][R]){V=g[M-1][R].elm;O=a(V,"rowSpan");if(O>1){s(V,"rowSpan",O+1);continue}}}N=f(S);s(N,"colSpan",S.colSpan);U.appendChild(N);P=S}}if(U.hasChildNodes()){if(!Q){G.insertAfter(U,T)}else{T.parentNode.insertBefore(U,T)}}}function h(N){var O,M;e(g,function(P,Q){e(P,function(S,R){if(j(S)){O=R;if(N){return false}}});if(N){return !O}});e(g,function(S,T){var P,Q,R;if(!S[O]){return}P=S[O].elm;if(P!=M){R=a(P,"colspan");Q=a(P,"rowspan");if(R==1){if(!N){G.insertAfter(f(P),P);u(O,T,Q-1,R)}else{P.parentNode.insertBefore(f(P),P);u(O,T,Q-1,R)}}else{s(P,"colSpan",P.colSpan+1)}M=P}})}function n(){var M=[];e(g,function(N,O){e(N,function(Q,P){if(j(Q)&&d.inArray(M,P)===-1){e(g,function(T){var R=T[P].elm,S;S=a(R,"colSpan");if(S>1){s(R,"colSpan",S-1)}else{G.remove(R)}});M.push(P)}})});q()}function m(){var N;function M(Q){var P,R,O;P=G.getNext(Q,"tr");e(Q.cells,function(S){var T=a(S,"rowSpan");if(T>1){s(S,"rowSpan",T-1);R=F(S);u(R.x,R.y,1,1)}});R=F(Q.cells[0]);e(g[R.y],function(S){var T;S=S.elm;if(S!=O){T=a(S,"rowSpan");if(T<=1){G.remove(S)}else{s(S,"rowSpan",T-1)}O=S}})}N=k();e(N.reverse(),function(O){M(O)});q()}function E(){var M=k();G.remove(M);q();return M}function J(){var M=k();e(M,function(O,N){M[N]=A(O,true)});return M}function B(O,N){var P=k(),M=P[N?0:P.length-1],Q=M.cells.length;e(g,function(S){var R;Q=0;e(S,function(U,T){if(U.real){Q+=U.colspan}if(U.elm.parentNode==M){R=1}});if(R){return false}});if(!N){O.reverse()}e(O,function(T){var S=T.cells.length,R;for(i=0;iN){N=R}if(Q>M){M=Q}if(S.real){U=S.colspan-1;T=S.rowspan-1;if(U){if(R+U>N){N=R+U}}if(T){if(Q+T>M){M=Q+T}}}}})});return{x:N,y:M}}function v(S){var P,O,U,T,N,M,Q,R;D=F(S);if(L&&D){P=Math.min(L.x,D.x);O=Math.min(L.y,D.y);U=Math.max(L.x,D.x);T=Math.max(L.y,D.y);N=U;M=T;for(y=O;y<=M;y++){S=g[y][P];if(!S.real){if(P-(S.colspan-1)N){N=x+Q}}if(R){if(y+R>M){M=y+R}}}}}G.removeClass(G.select("td.mceSelected,th.mceSelected"),"mceSelected");for(y=O;y<=M;y++){for(x=P;x<=N;x++){if(g[y][x]){G.addClass(g[y][x].elm,"mceSelected")}}}}}d.extend(this,{deleteTable:r,split:C,merge:p,insertRow:l,insertCol:h,deleteCols:n,deleteRows:m,cutRows:E,copyRows:J,pasteRows:B,getPos:F,setStartCell:w,setEndCell:v})}d.create("tinymce.plugins.TablePlugin",{init:function(g,h){var f,m,j=true;function l(p){var o=g.selection,n=g.dom.getParent(p||o.getNode(),"table");if(n){return new b(n,g.dom,o)}}function k(){g.getBody().style.webkitUserSelect="";if(j){g.dom.removeClass(g.dom.select("td.mceSelected,th.mceSelected"),"mceSelected");j=false}}e([["table","table.desc","mceInsertTable",true],["delete_table","table.del","mceTableDelete"],["delete_col","table.delete_col_desc","mceTableDeleteCol"],["delete_row","table.delete_row_desc","mceTableDeleteRow"],["col_after","table.col_after_desc","mceTableInsertColAfter"],["col_before","table.col_before_desc","mceTableInsertColBefore"],["row_after","table.row_after_desc","mceTableInsertRowAfter"],["row_before","table.row_before_desc","mceTableInsertRowBefore"],["row_props","table.row_desc","mceTableRowProps",true],["cell_props","table.cell_desc","mceTableCellProps",true],["split_cells","table.split_cells_desc","mceTableSplitCells",true],["merge_cells","table.merge_cells_desc","mceTableMergeCells",true]],function(n){g.addButton(n[0],{title:n[1],cmd:n[2],ui:n[3]})});if(!d.isIE){g.onClick.add(function(n,o){o=o.target;if(o.nodeName==="TABLE"){n.selection.select(o);n.nodeChanged()}})}g.onPreProcess.add(function(o,p){var n,q,r,t=o.dom,s;n=t.select("table",p.node);q=n.length;while(q--){r=n[q];t.setAttrib(r,"data-mce-style","");if((s=t.getAttrib(r,"width"))){t.setStyle(r,"width",s);t.setAttrib(r,"width","")}if((s=t.getAttrib(r,"height"))){t.setStyle(r,"height",s);t.setAttrib(r,"height","")}}});g.onNodeChange.add(function(q,o,s){var r;s=q.selection.getStart();r=q.dom.getParent(s,"td,th,caption");o.setActive("table",s.nodeName==="TABLE"||!!r);if(r&&r.nodeName==="CAPTION"){r=0}o.setDisabled("delete_table",!r);o.setDisabled("delete_col",!r);o.setDisabled("delete_table",!r);o.setDisabled("delete_row",!r);o.setDisabled("col_after",!r);o.setDisabled("col_before",!r);o.setDisabled("row_after",!r);o.setDisabled("row_before",!r);o.setDisabled("row_props",!r);o.setDisabled("cell_props",!r);o.setDisabled("split_cells",!r);o.setDisabled("merge_cells",!r)});g.onInit.add(function(r){var p,t,q=r.dom,u;f=r.windowManager;r.onMouseDown.add(function(w,z){if(z.button!=2){k();t=q.getParent(z.target,"td,th");p=q.getParent(t,"table")}});q.bind(r.getDoc(),"mouseover",function(C){var A,z,B=C.target;if(t&&(u||B!=t)&&(B.nodeName=="TD"||B.nodeName=="TH")){z=q.getParent(B,"table");if(z==p){if(!u){u=l(z);u.setStartCell(t);r.getBody().style.webkitUserSelect="none"}u.setEndCell(B);j=true}A=r.selection.getSel();try{if(A.removeAllRanges){A.removeAllRanges()}else{A.empty()}}catch(w){}C.preventDefault()}});r.onMouseUp.add(function(F,G){var z,B=F.selection,H,I=B.getSel(),w,C,A,E;if(t){if(u){F.getBody().style.webkitUserSelect=""}function D(J,L){var K=new d.dom.TreeWalker(J,J);do{if(J.nodeType==3&&d.trim(J.nodeValue).length!=0){if(L){z.setStart(J,0)}else{z.setEnd(J,J.nodeValue.length)}return}if(J.nodeName=="BR"){if(L){z.setStartBefore(J)}else{z.setEndBefore(J)}return}}while(J=(L?K.next():K.prev()))}H=q.select("td.mceSelected,th.mceSelected");if(H.length>0){z=q.createRng();C=H[0];E=H[H.length-1];z.setStartBefore(C);z.setEndAfter(C);D(C,1);w=new d.dom.TreeWalker(C,q.getParent(H[0],"table"));do{if(C.nodeName=="TD"||C.nodeName=="TH"){if(!q.hasClass(C,"mceSelected")){break}A=C}}while(C=w.next());D(A);B.setRng(z)}F.nodeChanged();t=u=p=null}});r.onKeyUp.add(function(w,z){k()});r.onKeyDown.add(function(w,z){n(w)});r.onMouseDown.add(function(w,z){if(z.button!=2){n(w)}});function o(D,z,A,F){var B=3,G=D.dom.getParent(z.startContainer,"TABLE"),C,w,E;if(G){C=G.parentNode}w=z.startContainer.nodeType==B&&z.startOffset==0&&z.endOffset==0&&F&&(A.nodeName=="TR"||A==C);E=(A.nodeName=="TD"||A.nodeName=="TH")&&!F;return w||E}function n(A){if(!d.isWebKit){return}var z=A.selection.getRng();var C=A.selection.getNode();var B=A.dom.getParent(z.startContainer,"TD");if(!o(A,z,C,B)){return}if(!B){B=C}var w=B.lastChild;while(w.lastChild){w=w.lastChild}z.setEnd(w,w.nodeValue.length);A.selection.setRng(z)}r.plugins.table.fixTableCellSelection=n;if(r&&r.plugins.contextmenu){r.plugins.contextmenu.onContextMenu.add(function(A,w,C){var D,B=r.selection,z=B.getNode()||r.getBody();if(r.dom.getParent(C,"td")||r.dom.getParent(C,"th")||r.dom.select("td.mceSelected,th.mceSelected").length){w.removeAll();if(z.nodeName=="A"&&!r.dom.getAttrib(z,"name")){w.add({title:"advanced.link_desc",icon:"link",cmd:r.plugins.advlink?"mceAdvLink":"mceLink",ui:true});w.add({title:"advanced.unlink_desc",icon:"unlink",cmd:"UnLink"});w.addSeparator()}if(z.nodeName=="IMG"&&z.className.indexOf("mceItem")==-1){w.add({title:"advanced.image_desc",icon:"image",cmd:r.plugins.advimage?"mceAdvImage":"mceImage",ui:true});w.addSeparator()}w.add({title:"table.desc",icon:"table",cmd:"mceInsertTable",value:{action:"insert"}});w.add({title:"table.props_desc",icon:"table_props",cmd:"mceInsertTable"});w.add({title:"table.del",icon:"delete_table",cmd:"mceTableDelete"});w.addSeparator();D=w.addMenu({title:"table.cell"});D.add({title:"table.cell_desc",icon:"cell_props",cmd:"mceTableCellProps"});D.add({title:"table.split_cells_desc",icon:"split_cells",cmd:"mceTableSplitCells"});D.add({title:"table.merge_cells_desc",icon:"merge_cells",cmd:"mceTableMergeCells"});D=w.addMenu({title:"table.row"});D.add({title:"table.row_desc",icon:"row_props",cmd:"mceTableRowProps"});D.add({title:"table.row_before_desc",icon:"row_before",cmd:"mceTableInsertRowBefore"});D.add({title:"table.row_after_desc",icon:"row_after",cmd:"mceTableInsertRowAfter"});D.add({title:"table.delete_row_desc",icon:"delete_row",cmd:"mceTableDeleteRow"});D.addSeparator();D.add({title:"table.cut_row_desc",icon:"cut",cmd:"mceTableCutRow"});D.add({title:"table.copy_row_desc",icon:"copy",cmd:"mceTableCopyRow"});D.add({title:"table.paste_row_before_desc",icon:"paste",cmd:"mceTablePasteRowBefore"}).setDisabled(!m);D.add({title:"table.paste_row_after_desc",icon:"paste",cmd:"mceTablePasteRowAfter"}).setDisabled(!m);D=w.addMenu({title:"table.col"});D.add({title:"table.col_before_desc",icon:"col_before",cmd:"mceTableInsertColBefore"});D.add({title:"table.col_after_desc",icon:"col_after",cmd:"mceTableInsertColAfter"});D.add({title:"table.delete_col_desc",icon:"delete_col",cmd:"mceTableDeleteCol"})}else{w.add({title:"table.desc",icon:"table",cmd:"mceInsertTable"})}})}if(d.isWebKit){function v(B,M){function F(Q){B.selection.setCursorLocation(Q,0)}function H(R,Q){return R.keyCode==z?Q.previousSibling:Q.nextSibling}function G(R,S){var Q=H(R,S);return Q!==null&&Q.tagName==="TR"?Q:null}function C(Q,R){return Q.dom.getParent(R,"table")}function O(Q){var R=C(B,Q);return H(M,R)}function A(Q){return Q.keyCode==z||Q.keyCode==I}function D(Q){var S=Q.selection.getNode();var R=Q.dom.getParent(S,"tr");return R!==null}function N(R){var Q=0;var S=R;while(S.previousSibling){S=S.previousSibling;Q=Q+a(S,"colspan")}return Q}function E(S,Q){var T=0;var R=0;e(S.children,function(U,V){T=T+a(U,"colspan");R=V;if(T>Q){return false}});return R}function w(S,T,V){var U=N(S.dom.getParent(T,"td"));var R=E(V,U);var Q=V.childNodes[R];F(Q)}function L(R,T){var Q=O(R);if(Q!==null){F(Q);return d.dom.Event.cancel(T)}else{var S=T.keyCode==z?R.firstChild:R.lastChild;F(S);return true}}var z=38;var I=40;if(A(M)&&D(B)){var J=B.selection.getNode();var P=B.dom.getParent(J,"tr");var K=G(M,P);if(K==null){return L(P,M)}else{w(B,J,K);d.dom.Event.cancel(M);return true}}}r.onKeyDown.add(v)}if(!d.isIE){function s(){var w;for(w=r.getBody().lastChild;w&&w.nodeType==3&&!w.nodeValue.length;w=w.previousSibling){}if(w&&w.nodeName=="TABLE"){r.dom.add(r.getBody(),"p",null,'
')}}if(d.isGecko){r.onKeyDown.add(function(z,B){var w,A,C=z.dom;if(B.keyCode==37||B.keyCode==38){w=z.selection.getRng();A=C.getParent(w.startContainer,"table");if(A&&z.getBody().firstChild==A){if(c(w,A)){w=C.createRng();w.setStartBefore(A);w.setEndBefore(A);z.selection.setRng(w);B.preventDefault()}}}})}r.onKeyUp.add(s);r.onSetContent.add(s);r.onVisualAid.add(s);r.onPreProcess.add(function(w,A){var z=A.node.lastChild;if(z&&z.childNodes.length==1&&z.firstChild.nodeName=="BR"){w.dom.remove(z)}});s()}});e({mceTableSplitCells:function(n){n.split()},mceTableMergeCells:function(o){var p,q,n;n=g.dom.getParent(g.selection.getNode(),"th,td");if(n){p=n.rowSpan;q=n.colSpan}if(!g.dom.select("td.mceSelected,th.mceSelected").length){f.open({url:h+"/merge_cells.htm",width:240+parseInt(g.getLang("table.merge_cells_delta_width",0)),height:110+parseInt(g.getLang("table.merge_cells_delta_height",0)),inline:1},{rows:p,cols:q,onaction:function(r){o.merge(n,r.cols,r.rows)},plugin_url:h})}else{o.merge()}},mceTableInsertRowBefore:function(n){n.insertRow(true)},mceTableInsertRowAfter:function(n){n.insertRow()},mceTableInsertColBefore:function(n){n.insertCol(true)},mceTableInsertColAfter:function(n){n.insertCol()},mceTableDeleteCol:function(n){n.deleteCols()},mceTableDeleteRow:function(n){n.deleteRows()},mceTableCutRow:function(n){m=n.cutRows()},mceTableCopyRow:function(n){m=n.copyRows()},mceTablePasteRowBefore:function(n){n.pasteRows(m,true)},mceTablePasteRowAfter:function(n){n.pasteRows(m)},mceTableDelete:function(n){n.deleteTable()}},function(o,n){g.addCommand(n,function(){var p=l();if(p){o(p);g.execCommand("mceRepaint");k()}})});e({mceInsertTable:function(n){f.open({url:h+"/table.htm",width:400+parseInt(g.getLang("table.table_delta_width",0)),height:320+parseInt(g.getLang("table.table_delta_height",0)),inline:1},{plugin_url:h,action:n?n.action:0})},mceTableRowProps:function(){f.open({url:h+"/row.htm",width:400+parseInt(g.getLang("table.rowprops_delta_width",0)),height:295+parseInt(g.getLang("table.rowprops_delta_height",0)),inline:1},{plugin_url:h})},mceTableCellProps:function(){f.open({url:h+"/cell.htm",width:400+parseInt(g.getLang("table.cellprops_delta_width",0)),height:295+parseInt(g.getLang("table.cellprops_delta_height",0)),inline:1},{plugin_url:h})}},function(o,n){g.addCommand(n,function(p,q){o(q)})})}});d.PluginManager.add("table",d.plugins.TablePlugin)})(tinymce); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/editor_plugin_src.js new file mode 100644 index 00000000..60cc567d --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/editor_plugin_src.js @@ -0,0 +1,1363 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function(tinymce) { + var each = tinymce.each; + + // Checks if the selection/caret is at the start of the specified block element + function isAtStart(rng, par) { + var doc = par.ownerDocument, rng2 = doc.createRange(), elm; + + rng2.setStartBefore(par); + rng2.setEnd(rng.endContainer, rng.endOffset); + + elm = doc.createElement('body'); + elm.appendChild(rng2.cloneContents()); + + // Check for text characters of other elements that should be treated as content + return elm.innerHTML.replace(/<(br|img|object|embed|input|textarea)[^>]*>/gi, '-').replace(/<[^>]+>/g, '').length == 0; + }; + + function getSpanVal(td, name) { + return parseInt(td.getAttribute(name) || 1); + } + + /** + * Table Grid class. + */ + function TableGrid(table, dom, selection) { + var grid, startPos, endPos, selectedCell; + + buildGrid(); + selectedCell = dom.getParent(selection.getStart(), 'th,td'); + if (selectedCell) { + startPos = getPos(selectedCell); + endPos = findEndPos(); + selectedCell = getCell(startPos.x, startPos.y); + } + + function cloneNode(node, children) { + node = node.cloneNode(children); + node.removeAttribute('id'); + + return node; + } + + function buildGrid() { + var startY = 0; + + grid = []; + + each(['thead', 'tbody', 'tfoot'], function(part) { + var rows = dom.select('> ' + part + ' tr', table); + + each(rows, function(tr, y) { + y += startY; + + each(dom.select('> td, > th', tr), function(td, x) { + var x2, y2, rowspan, colspan; + + // Skip over existing cells produced by rowspan + if (grid[y]) { + while (grid[y][x]) + x++; + } + + // Get col/rowspan from cell + rowspan = getSpanVal(td, 'rowspan'); + colspan = getSpanVal(td, 'colspan'); + + // Fill out rowspan/colspan right and down + for (y2 = y; y2 < y + rowspan; y2++) { + if (!grid[y2]) + grid[y2] = []; + + for (x2 = x; x2 < x + colspan; x2++) { + grid[y2][x2] = { + part : part, + real : y2 == y && x2 == x, + elm : td, + rowspan : rowspan, + colspan : colspan + }; + } + } + }); + }); + + startY += rows.length; + }); + }; + + function getCell(x, y) { + var row; + + row = grid[y]; + if (row) + return row[x]; + }; + + function setSpanVal(td, name, val) { + if (td) { + val = parseInt(val); + + if (val === 1) + td.removeAttribute(name, 1); + else + td.setAttribute(name, val, 1); + } + } + + function isCellSelected(cell) { + return cell && (dom.hasClass(cell.elm, 'mceSelected') || cell == selectedCell); + }; + + function getSelectedRows() { + var rows = []; + + each(table.rows, function(row) { + each(row.cells, function(cell) { + if (dom.hasClass(cell, 'mceSelected') || cell == selectedCell.elm) { + rows.push(row); + return false; + } + }); + }); + + return rows; + }; + + function deleteTable() { + var rng = dom.createRng(); + + rng.setStartAfter(table); + rng.setEndAfter(table); + + selection.setRng(rng); + + dom.remove(table); + }; + + function cloneCell(cell) { + var formatNode; + + // Clone formats + tinymce.walk(cell, function(node) { + var curNode; + + if (node.nodeType == 3) { + each(dom.getParents(node.parentNode, null, cell).reverse(), function(node) { + node = cloneNode(node, false); + + if (!formatNode) + formatNode = curNode = node; + else if (curNode) + curNode.appendChild(node); + + curNode = node; + }); + + // Add something to the inner node + if (curNode) + curNode.innerHTML = tinymce.isIE ? ' ' : '
'; + + return false; + } + }, 'childNodes'); + + cell = cloneNode(cell, false); + setSpanVal(cell, 'rowSpan', 1); + setSpanVal(cell, 'colSpan', 1); + + if (formatNode) { + cell.appendChild(formatNode); + } else { + if (!tinymce.isIE) + cell.innerHTML = '
'; + } + + return cell; + }; + + function cleanup() { + var rng = dom.createRng(); + + // Empty rows + each(dom.select('tr', table), function(tr) { + if (tr.cells.length == 0) + dom.remove(tr); + }); + + // Empty table + if (dom.select('tr', table).length == 0) { + rng.setStartAfter(table); + rng.setEndAfter(table); + selection.setRng(rng); + dom.remove(table); + return; + } + + // Empty header/body/footer + each(dom.select('thead,tbody,tfoot', table), function(part) { + if (part.rows.length == 0) + dom.remove(part); + }); + + // Restore selection to start position if it still exists + buildGrid(); + + // Restore the selection to the closest table position + row = grid[Math.min(grid.length - 1, startPos.y)]; + if (row) { + selection.select(row[Math.min(row.length - 1, startPos.x)].elm, true); + selection.collapse(true); + } + }; + + function fillLeftDown(x, y, rows, cols) { + var tr, x2, r, c, cell; + + tr = grid[y][x].elm.parentNode; + for (r = 1; r <= rows; r++) { + tr = dom.getNext(tr, 'tr'); + + if (tr) { + // Loop left to find real cell + for (x2 = x; x2 >= 0; x2--) { + cell = grid[y + r][x2].elm; + + if (cell.parentNode == tr) { + // Append clones after + for (c = 1; c <= cols; c++) + dom.insertAfter(cloneCell(cell), cell); + + break; + } + } + + if (x2 == -1) { + // Insert nodes before first cell + for (c = 1; c <= cols; c++) + tr.insertBefore(cloneCell(tr.cells[0]), tr.cells[0]); + } + } + } + }; + + function split() { + each(grid, function(row, y) { + each(row, function(cell, x) { + var colSpan, rowSpan, newCell, i; + + if (isCellSelected(cell)) { + cell = cell.elm; + colSpan = getSpanVal(cell, 'colspan'); + rowSpan = getSpanVal(cell, 'rowspan'); + + if (colSpan > 1 || rowSpan > 1) { + setSpanVal(cell, 'rowSpan', 1); + setSpanVal(cell, 'colSpan', 1); + + // Insert cells right + for (i = 0; i < colSpan - 1; i++) + dom.insertAfter(cloneCell(cell), cell); + + fillLeftDown(x, y, rowSpan - 1, colSpan); + } + } + }); + }); + }; + + function merge(cell, cols, rows) { + var startX, startY, endX, endY, x, y, startCell, endCell, cell, children, count; + + // Use specified cell and cols/rows + if (cell) { + pos = getPos(cell); + startX = pos.x; + startY = pos.y; + endX = startX + (cols - 1); + endY = startY + (rows - 1); + } else { + // Use selection + startX = startPos.x; + startY = startPos.y; + endX = endPos.x; + endY = endPos.y; + } + + // Find start/end cells + startCell = getCell(startX, startY); + endCell = getCell(endX, endY); + + // Check if the cells exists and if they are of the same part for example tbody = tbody + if (startCell && endCell && startCell.part == endCell.part) { + // Split and rebuild grid + split(); + buildGrid(); + + // Set row/col span to start cell + startCell = getCell(startX, startY).elm; + setSpanVal(startCell, 'colSpan', (endX - startX) + 1); + setSpanVal(startCell, 'rowSpan', (endY - startY) + 1); + + // Remove other cells and add it's contents to the start cell + for (y = startY; y <= endY; y++) { + for (x = startX; x <= endX; x++) { + if (!grid[y] || !grid[y][x]) + continue; + + cell = grid[y][x].elm; + + if (cell != startCell) { + // Move children to startCell + children = tinymce.grep(cell.childNodes); + each(children, function(node) { + startCell.appendChild(node); + }); + + // Remove bogus nodes if there is children in the target cell + if (children.length) { + children = tinymce.grep(startCell.childNodes); + count = 0; + each(children, function(node) { + if (node.nodeName == 'BR' && dom.getAttrib(node, 'data-mce-bogus') && count++ < children.length - 1) + startCell.removeChild(node); + }); + } + + // Remove cell + dom.remove(cell); + } + } + } + + // Remove empty rows etc and restore caret location + cleanup(); + } + }; + + function insertRow(before) { + var posY, cell, lastCell, x, rowElm, newRow, newCell, otherCell, rowSpan; + + // Find first/last row + each(grid, function(row, y) { + each(row, function(cell, x) { + if (isCellSelected(cell)) { + cell = cell.elm; + rowElm = cell.parentNode; + newRow = cloneNode(rowElm, false); + posY = y; + + if (before) + return false; + } + }); + + if (before) + return !posY; + }); + + for (x = 0; x < grid[0].length; x++) { + // Cell not found could be because of an invalid table structure + if (!grid[posY][x]) + continue; + + cell = grid[posY][x].elm; + + if (cell != lastCell) { + if (!before) { + rowSpan = getSpanVal(cell, 'rowspan'); + if (rowSpan > 1) { + setSpanVal(cell, 'rowSpan', rowSpan + 1); + continue; + } + } else { + // Check if cell above can be expanded + if (posY > 0 && grid[posY - 1][x]) { + otherCell = grid[posY - 1][x].elm; + rowSpan = getSpanVal(otherCell, 'rowSpan'); + if (rowSpan > 1) { + setSpanVal(otherCell, 'rowSpan', rowSpan + 1); + continue; + } + } + } + + // Insert new cell into new row + newCell = cloneCell(cell); + setSpanVal(newCell, 'colSpan', cell.colSpan); + + newRow.appendChild(newCell); + + lastCell = cell; + } + } + + if (newRow.hasChildNodes()) { + if (!before) + dom.insertAfter(newRow, rowElm); + else + rowElm.parentNode.insertBefore(newRow, rowElm); + } + }; + + function insertCol(before) { + var posX, lastCell; + + // Find first/last column + each(grid, function(row, y) { + each(row, function(cell, x) { + if (isCellSelected(cell)) { + posX = x; + + if (before) + return false; + } + }); + + if (before) + return !posX; + }); + + each(grid, function(row, y) { + var cell, rowSpan, colSpan; + + if (!row[posX]) + return; + + cell = row[posX].elm; + if (cell != lastCell) { + colSpan = getSpanVal(cell, 'colspan'); + rowSpan = getSpanVal(cell, 'rowspan'); + + if (colSpan == 1) { + if (!before) { + dom.insertAfter(cloneCell(cell), cell); + fillLeftDown(posX, y, rowSpan - 1, colSpan); + } else { + cell.parentNode.insertBefore(cloneCell(cell), cell); + fillLeftDown(posX, y, rowSpan - 1, colSpan); + } + } else + setSpanVal(cell, 'colSpan', cell.colSpan + 1); + + lastCell = cell; + } + }); + }; + + function deleteCols() { + var cols = []; + + // Get selected column indexes + each(grid, function(row, y) { + each(row, function(cell, x) { + if (isCellSelected(cell) && tinymce.inArray(cols, x) === -1) { + each(grid, function(row) { + var cell = row[x].elm, colSpan; + + colSpan = getSpanVal(cell, 'colSpan'); + + if (colSpan > 1) + setSpanVal(cell, 'colSpan', colSpan - 1); + else + dom.remove(cell); + }); + + cols.push(x); + } + }); + }); + + cleanup(); + }; + + function deleteRows() { + var rows; + + function deleteRow(tr) { + var nextTr, pos, lastCell; + + nextTr = dom.getNext(tr, 'tr'); + + // Move down row spanned cells + each(tr.cells, function(cell) { + var rowSpan = getSpanVal(cell, 'rowSpan'); + + if (rowSpan > 1) { + setSpanVal(cell, 'rowSpan', rowSpan - 1); + pos = getPos(cell); + fillLeftDown(pos.x, pos.y, 1, 1); + } + }); + + // Delete cells + pos = getPos(tr.cells[0]); + each(grid[pos.y], function(cell) { + var rowSpan; + + cell = cell.elm; + + if (cell != lastCell) { + rowSpan = getSpanVal(cell, 'rowSpan'); + + if (rowSpan <= 1) + dom.remove(cell); + else + setSpanVal(cell, 'rowSpan', rowSpan - 1); + + lastCell = cell; + } + }); + }; + + // Get selected rows and move selection out of scope + rows = getSelectedRows(); + + // Delete all selected rows + each(rows.reverse(), function(tr) { + deleteRow(tr); + }); + + cleanup(); + }; + + function cutRows() { + var rows = getSelectedRows(); + + dom.remove(rows); + cleanup(); + + return rows; + }; + + function copyRows() { + var rows = getSelectedRows(); + + each(rows, function(row, i) { + rows[i] = cloneNode(row, true); + }); + + return rows; + }; + + function pasteRows(rows, before) { + var selectedRows = getSelectedRows(), + targetRow = selectedRows[before ? 0 : selectedRows.length - 1], + targetCellCount = targetRow.cells.length; + + // Calc target cell count + each(grid, function(row) { + var match; + + targetCellCount = 0; + each(row, function(cell, x) { + if (cell.real) + targetCellCount += cell.colspan; + + if (cell.elm.parentNode == targetRow) + match = 1; + }); + + if (match) + return false; + }); + + if (!before) + rows.reverse(); + + each(rows, function(row) { + var cellCount = row.cells.length, cell; + + // Remove col/rowspans + for (i = 0; i < cellCount; i++) { + cell = row.cells[i]; + setSpanVal(cell, 'colSpan', 1); + setSpanVal(cell, 'rowSpan', 1); + } + + // Needs more cells + for (i = cellCount; i < targetCellCount; i++) + row.appendChild(cloneCell(row.cells[cellCount - 1])); + + // Needs less cells + for (i = targetCellCount; i < cellCount; i++) + dom.remove(row.cells[i]); + + // Add before/after + if (before) + targetRow.parentNode.insertBefore(row, targetRow); + else + dom.insertAfter(row, targetRow); + }); + }; + + function getPos(target) { + var pos; + + each(grid, function(row, y) { + each(row, function(cell, x) { + if (cell.elm == target) { + pos = {x : x, y : y}; + return false; + } + }); + + return !pos; + }); + + return pos; + }; + + function setStartCell(cell) { + startPos = getPos(cell); + }; + + function findEndPos() { + var pos, maxX, maxY; + + maxX = maxY = 0; + + each(grid, function(row, y) { + each(row, function(cell, x) { + var colSpan, rowSpan; + + if (isCellSelected(cell)) { + cell = grid[y][x]; + + if (x > maxX) + maxX = x; + + if (y > maxY) + maxY = y; + + if (cell.real) { + colSpan = cell.colspan - 1; + rowSpan = cell.rowspan - 1; + + if (colSpan) { + if (x + colSpan > maxX) + maxX = x + colSpan; + } + + if (rowSpan) { + if (y + rowSpan > maxY) + maxY = y + rowSpan; + } + } + } + }); + }); + + return {x : maxX, y : maxY}; + }; + + function setEndCell(cell) { + var startX, startY, endX, endY, maxX, maxY, colSpan, rowSpan; + + endPos = getPos(cell); + + if (startPos && endPos) { + // Get start/end positions + startX = Math.min(startPos.x, endPos.x); + startY = Math.min(startPos.y, endPos.y); + endX = Math.max(startPos.x, endPos.x); + endY = Math.max(startPos.y, endPos.y); + + // Expand end positon to include spans + maxX = endX; + maxY = endY; + + // Expand startX + for (y = startY; y <= maxY; y++) { + cell = grid[y][startX]; + + if (!cell.real) { + if (startX - (cell.colspan - 1) < startX) + startX -= cell.colspan - 1; + } + } + + // Expand startY + for (x = startX; x <= maxX; x++) { + cell = grid[startY][x]; + + if (!cell.real) { + if (startY - (cell.rowspan - 1) < startY) + startY -= cell.rowspan - 1; + } + } + + // Find max X, Y + for (y = startY; y <= endY; y++) { + for (x = startX; x <= endX; x++) { + cell = grid[y][x]; + + if (cell.real) { + colSpan = cell.colspan - 1; + rowSpan = cell.rowspan - 1; + + if (colSpan) { + if (x + colSpan > maxX) + maxX = x + colSpan; + } + + if (rowSpan) { + if (y + rowSpan > maxY) + maxY = y + rowSpan; + } + } + } + } + + // Remove current selection + dom.removeClass(dom.select('td.mceSelected,th.mceSelected'), 'mceSelected'); + + // Add new selection + for (y = startY; y <= maxY; y++) { + for (x = startX; x <= maxX; x++) { + if (grid[y][x]) + dom.addClass(grid[y][x].elm, 'mceSelected'); + } + } + } + }; + + // Expose to public + tinymce.extend(this, { + deleteTable : deleteTable, + split : split, + merge : merge, + insertRow : insertRow, + insertCol : insertCol, + deleteCols : deleteCols, + deleteRows : deleteRows, + cutRows : cutRows, + copyRows : copyRows, + pasteRows : pasteRows, + getPos : getPos, + setStartCell : setStartCell, + setEndCell : setEndCell + }); + }; + + tinymce.create('tinymce.plugins.TablePlugin', { + init : function(ed, url) { + var winMan, clipboardRows, hasCellSelection = true; // Might be selected cells on reload + + function createTableGrid(node) { + var selection = ed.selection, tblElm = ed.dom.getParent(node || selection.getNode(), 'table'); + + if (tblElm) + return new TableGrid(tblElm, ed.dom, selection); + }; + + function cleanup() { + // Restore selection possibilities + ed.getBody().style.webkitUserSelect = ''; + + if (hasCellSelection) { + ed.dom.removeClass(ed.dom.select('td.mceSelected,th.mceSelected'), 'mceSelected'); + hasCellSelection = false; + } + }; + + // Register buttons + each([ + ['table', 'table.desc', 'mceInsertTable', true], + ['delete_table', 'table.del', 'mceTableDelete'], + ['delete_col', 'table.delete_col_desc', 'mceTableDeleteCol'], + ['delete_row', 'table.delete_row_desc', 'mceTableDeleteRow'], + ['col_after', 'table.col_after_desc', 'mceTableInsertColAfter'], + ['col_before', 'table.col_before_desc', 'mceTableInsertColBefore'], + ['row_after', 'table.row_after_desc', 'mceTableInsertRowAfter'], + ['row_before', 'table.row_before_desc', 'mceTableInsertRowBefore'], + ['row_props', 'table.row_desc', 'mceTableRowProps', true], + ['cell_props', 'table.cell_desc', 'mceTableCellProps', true], + ['split_cells', 'table.split_cells_desc', 'mceTableSplitCells', true], + ['merge_cells', 'table.merge_cells_desc', 'mceTableMergeCells', true] + ], function(c) { + ed.addButton(c[0], {title : c[1], cmd : c[2], ui : c[3]}); + }); + + // Select whole table is a table border is clicked + if (!tinymce.isIE) { + ed.onClick.add(function(ed, e) { + e = e.target; + + if (e.nodeName === 'TABLE') { + ed.selection.select(e); + ed.nodeChanged(); + } + }); + } + + ed.onPreProcess.add(function(ed, args) { + var nodes, i, node, dom = ed.dom, value; + + nodes = dom.select('table', args.node); + i = nodes.length; + while (i--) { + node = nodes[i]; + dom.setAttrib(node, 'data-mce-style', ''); + + if ((value = dom.getAttrib(node, 'width'))) { + dom.setStyle(node, 'width', value); + dom.setAttrib(node, 'width', ''); + } + + if ((value = dom.getAttrib(node, 'height'))) { + dom.setStyle(node, 'height', value); + dom.setAttrib(node, 'height', ''); + } + } + }); + + // Handle node change updates + ed.onNodeChange.add(function(ed, cm, n) { + var p; + + n = ed.selection.getStart(); + p = ed.dom.getParent(n, 'td,th,caption'); + cm.setActive('table', n.nodeName === 'TABLE' || !!p); + + // Disable table tools if we are in caption + if (p && p.nodeName === 'CAPTION') + p = 0; + + cm.setDisabled('delete_table', !p); + cm.setDisabled('delete_col', !p); + cm.setDisabled('delete_table', !p); + cm.setDisabled('delete_row', !p); + cm.setDisabled('col_after', !p); + cm.setDisabled('col_before', !p); + cm.setDisabled('row_after', !p); + cm.setDisabled('row_before', !p); + cm.setDisabled('row_props', !p); + cm.setDisabled('cell_props', !p); + cm.setDisabled('split_cells', !p); + cm.setDisabled('merge_cells', !p); + }); + + ed.onInit.add(function(ed) { + var startTable, startCell, dom = ed.dom, tableGrid; + + winMan = ed.windowManager; + + // Add cell selection logic + ed.onMouseDown.add(function(ed, e) { + if (e.button != 2) { + cleanup(); + + startCell = dom.getParent(e.target, 'td,th'); + startTable = dom.getParent(startCell, 'table'); + } + }); + + dom.bind(ed.getDoc(), 'mouseover', function(e) { + var sel, table, target = e.target; + + if (startCell && (tableGrid || target != startCell) && (target.nodeName == 'TD' || target.nodeName == 'TH')) { + table = dom.getParent(target, 'table'); + if (table == startTable) { + if (!tableGrid) { + tableGrid = createTableGrid(table); + tableGrid.setStartCell(startCell); + + ed.getBody().style.webkitUserSelect = 'none'; + } + + tableGrid.setEndCell(target); + hasCellSelection = true; + } + + // Remove current selection + sel = ed.selection.getSel(); + + try { + if (sel.removeAllRanges) + sel.removeAllRanges(); + else + sel.empty(); + } catch (ex) { + // IE9 might throw errors here + } + + e.preventDefault(); + } + }); + + ed.onMouseUp.add(function(ed, e) { + var rng, sel = ed.selection, selectedCells, nativeSel = sel.getSel(), walker, node, lastNode, endNode; + + // Move selection to startCell + if (startCell) { + if (tableGrid) + ed.getBody().style.webkitUserSelect = ''; + + function setPoint(node, start) { + var walker = new tinymce.dom.TreeWalker(node, node); + + do { + // Text node + if (node.nodeType == 3 && tinymce.trim(node.nodeValue).length != 0) { + if (start) + rng.setStart(node, 0); + else + rng.setEnd(node, node.nodeValue.length); + + return; + } + + // BR element + if (node.nodeName == 'BR') { + if (start) + rng.setStartBefore(node); + else + rng.setEndBefore(node); + + return; + } + } while (node = (start ? walker.next() : walker.prev())); + } + + // Try to expand text selection as much as we can only Gecko supports cell selection + selectedCells = dom.select('td.mceSelected,th.mceSelected'); + if (selectedCells.length > 0) { + rng = dom.createRng(); + node = selectedCells[0]; + endNode = selectedCells[selectedCells.length - 1]; + rng.setStartBefore(node); + rng.setEndAfter(node); + + setPoint(node, 1); + walker = new tinymce.dom.TreeWalker(node, dom.getParent(selectedCells[0], 'table')); + + do { + if (node.nodeName == 'TD' || node.nodeName == 'TH') { + if (!dom.hasClass(node, 'mceSelected')) + break; + + lastNode = node; + } + } while (node = walker.next()); + + setPoint(lastNode); + + sel.setRng(rng); + } + + ed.nodeChanged(); + startCell = tableGrid = startTable = null; + } + }); + + ed.onKeyUp.add(function(ed, e) { + cleanup(); + }); + + ed.onKeyDown.add(function (ed, e) { + fixTableCellSelection(ed); + }); + + ed.onMouseDown.add(function (ed, e) { + if (e.button != 2) { + fixTableCellSelection(ed); + } + }); + function tableCellSelected(ed, rng, n, currentCell) { + // The decision of when a table cell is selected is somewhat involved. The fact that this code is + // required is actually a pointer to the root cause of this bug. A cell is selected when the start + // and end offsets are 0, the start container is a text, and the selection node is either a TR (most cases) + // or the parent of the table (in the case of the selection containing the last cell of a table). + var TEXT_NODE = 3, table = ed.dom.getParent(rng.startContainer, 'TABLE'), + tableParent, allOfCellSelected, tableCellSelection; + if (table) + tableParent = table.parentNode; + allOfCellSelected =rng.startContainer.nodeType == TEXT_NODE && + rng.startOffset == 0 && + rng.endOffset == 0 && + currentCell && + (n.nodeName=="TR" || n==tableParent); + tableCellSelection = (n.nodeName=="TD"||n.nodeName=="TH")&& !currentCell; + return allOfCellSelected || tableCellSelection; + // return false; + } + + // this nasty hack is here to work around some WebKit selection bugs. + function fixTableCellSelection(ed) { + if (!tinymce.isWebKit) + return; + + var rng = ed.selection.getRng(); + var n = ed.selection.getNode(); + var currentCell = ed.dom.getParent(rng.startContainer, 'TD'); + + if (!tableCellSelected(ed, rng, n, currentCell)) + return; + if (!currentCell) { + currentCell=n; + } + + // Get the very last node inside the table cell + var end = currentCell.lastChild; + while (end.lastChild) + end = end.lastChild; + + // Select the entire table cell. Nothing outside of the table cell should be selected. + rng.setEnd(end, end.nodeValue.length); + ed.selection.setRng(rng); + } + ed.plugins.table.fixTableCellSelection=fixTableCellSelection; + + // Add context menu + if (ed && ed.plugins.contextmenu) { + ed.plugins.contextmenu.onContextMenu.add(function(th, m, e) { + var sm, se = ed.selection, el = se.getNode() || ed.getBody(); + + if (ed.dom.getParent(e, 'td') || ed.dom.getParent(e, 'th') || ed.dom.select('td.mceSelected,th.mceSelected').length) { + m.removeAll(); + + if (el.nodeName == 'A' && !ed.dom.getAttrib(el, 'name')) { + m.add({title : 'advanced.link_desc', icon : 'link', cmd : ed.plugins.advlink ? 'mceAdvLink' : 'mceLink', ui : true}); + m.add({title : 'advanced.unlink_desc', icon : 'unlink', cmd : 'UnLink'}); + m.addSeparator(); + } + + if (el.nodeName == 'IMG' && el.className.indexOf('mceItem') == -1) { + m.add({title : 'advanced.image_desc', icon : 'image', cmd : ed.plugins.advimage ? 'mceAdvImage' : 'mceImage', ui : true}); + m.addSeparator(); + } + + m.add({title : 'table.desc', icon : 'table', cmd : 'mceInsertTable', value : {action : 'insert'}}); + m.add({title : 'table.props_desc', icon : 'table_props', cmd : 'mceInsertTable'}); + m.add({title : 'table.del', icon : 'delete_table', cmd : 'mceTableDelete'}); + m.addSeparator(); + + // Cell menu + sm = m.addMenu({title : 'table.cell'}); + sm.add({title : 'table.cell_desc', icon : 'cell_props', cmd : 'mceTableCellProps'}); + sm.add({title : 'table.split_cells_desc', icon : 'split_cells', cmd : 'mceTableSplitCells'}); + sm.add({title : 'table.merge_cells_desc', icon : 'merge_cells', cmd : 'mceTableMergeCells'}); + + // Row menu + sm = m.addMenu({title : 'table.row'}); + sm.add({title : 'table.row_desc', icon : 'row_props', cmd : 'mceTableRowProps'}); + sm.add({title : 'table.row_before_desc', icon : 'row_before', cmd : 'mceTableInsertRowBefore'}); + sm.add({title : 'table.row_after_desc', icon : 'row_after', cmd : 'mceTableInsertRowAfter'}); + sm.add({title : 'table.delete_row_desc', icon : 'delete_row', cmd : 'mceTableDeleteRow'}); + sm.addSeparator(); + sm.add({title : 'table.cut_row_desc', icon : 'cut', cmd : 'mceTableCutRow'}); + sm.add({title : 'table.copy_row_desc', icon : 'copy', cmd : 'mceTableCopyRow'}); + sm.add({title : 'table.paste_row_before_desc', icon : 'paste', cmd : 'mceTablePasteRowBefore'}).setDisabled(!clipboardRows); + sm.add({title : 'table.paste_row_after_desc', icon : 'paste', cmd : 'mceTablePasteRowAfter'}).setDisabled(!clipboardRows); + + // Column menu + sm = m.addMenu({title : 'table.col'}); + sm.add({title : 'table.col_before_desc', icon : 'col_before', cmd : 'mceTableInsertColBefore'}); + sm.add({title : 'table.col_after_desc', icon : 'col_after', cmd : 'mceTableInsertColAfter'}); + sm.add({title : 'table.delete_col_desc', icon : 'delete_col', cmd : 'mceTableDeleteCol'}); + } else + m.add({title : 'table.desc', icon : 'table', cmd : 'mceInsertTable'}); + }); + } + + // Fix to allow navigating up and down in a table in WebKit browsers. + if (tinymce.isWebKit) { + function moveSelection(ed, e) { + + function moveCursorToStartOfElement(n) { + ed.selection.setCursorLocation(n, 0); + } + + function getSibling(event, element) { + return event.keyCode == UP_ARROW ? element.previousSibling : element.nextSibling; + } + + function getNextRow(e, row) { + var sibling = getSibling(e, row); + return sibling !== null && sibling.tagName === 'TR' ? sibling : null; + } + + function getTable(ed, currentRow) { + return ed.dom.getParent(currentRow, 'table'); + } + + function getTableSibling(currentRow) { + var table = getTable(ed, currentRow); + return getSibling(e, table); + } + + function isVerticalMovement(event) { + return event.keyCode == UP_ARROW || event.keyCode == DOWN_ARROW; + } + + function isInTable(ed) { + var node = ed.selection.getNode(); + var currentRow = ed.dom.getParent(node, 'tr'); + return currentRow !== null; + } + + function columnIndex(column) { + var colIndex = 0; + var c = column; + while (c.previousSibling) { + c = c.previousSibling; + colIndex = colIndex + getSpanVal(c, "colspan"); + } + return colIndex; + } + + function findColumn(rowElement, columnIndex) { + var c = 0; + var r = 0; + each(rowElement.children, function(cell, i) { + c = c + getSpanVal(cell, "colspan"); + r = i; + if (c > columnIndex) + return false; + }); + return r; + } + + function moveCursorToRow(ed, node, row) { + var srcColumnIndex = columnIndex(ed.dom.getParent(node, 'td')); + var tgtColumnIndex = findColumn(row, srcColumnIndex) + var tgtNode = row.childNodes[tgtColumnIndex]; + moveCursorToStartOfElement(tgtNode); + } + + function escapeTable(currentRow, e) { + var tableSiblingElement = getTableSibling(currentRow); + if (tableSiblingElement !== null) { + moveCursorToStartOfElement(tableSiblingElement); + return tinymce.dom.Event.cancel(e); + } else { + var element = e.keyCode == UP_ARROW ? currentRow.firstChild : currentRow.lastChild; + // rely on default behaviour to escape table after we are in the last cell of the last row + moveCursorToStartOfElement(element); + return true; + } + } + + var UP_ARROW = 38; + var DOWN_ARROW = 40; + + if (isVerticalMovement(e) && isInTable(ed)) { + var node = ed.selection.getNode(); + var currentRow = ed.dom.getParent(node, 'tr'); + var nextRow = getNextRow(e, currentRow); + + // If we're at the first or last row in the table, we should move the caret outside of the table + if (nextRow == null) { + return escapeTable(currentRow, e); + } else { + moveCursorToRow(ed, node, nextRow); + tinymce.dom.Event.cancel(e); + return true; + } + } + } + + ed.onKeyDown.add(moveSelection); + } + + // Fixes an issue on Gecko where it's impossible to place the caret behind a table + // This fix will force a paragraph element after the table but only when the forced_root_block setting is enabled + if (!tinymce.isIE) { + function fixTableCaretPos() { + var last; + + // Skip empty text nodes form the end + for (last = ed.getBody().lastChild; last && last.nodeType == 3 && !last.nodeValue.length; last = last.previousSibling) ; + + if (last && last.nodeName == 'TABLE') + ed.dom.add(ed.getBody(), 'p', null, '
'); + }; + + // Fixes an bug where it's impossible to place the caret before a table in Gecko + // this fix solves it by detecting when the caret is at the beginning of such a table + // and then manually moves the caret infront of the table + if (tinymce.isGecko) { + ed.onKeyDown.add(function(ed, e) { + var rng, table, dom = ed.dom; + + // On gecko it's not possible to place the caret before a table + if (e.keyCode == 37 || e.keyCode == 38) { + rng = ed.selection.getRng(); + table = dom.getParent(rng.startContainer, 'table'); + + if (table && ed.getBody().firstChild == table) { + if (isAtStart(rng, table)) { + rng = dom.createRng(); + + rng.setStartBefore(table); + rng.setEndBefore(table); + + ed.selection.setRng(rng); + + e.preventDefault(); + } + } + } + }); + } + + ed.onKeyUp.add(fixTableCaretPos); + ed.onSetContent.add(fixTableCaretPos); + ed.onVisualAid.add(fixTableCaretPos); + + ed.onPreProcess.add(function(ed, o) { + var last = o.node.lastChild; + + if (last && last.childNodes.length == 1 && last.firstChild.nodeName == 'BR') + ed.dom.remove(last); + }); + + fixTableCaretPos(); + } + }); + + // Register action commands + each({ + mceTableSplitCells : function(grid) { + grid.split(); + }, + + mceTableMergeCells : function(grid) { + var rowSpan, colSpan, cell; + + cell = ed.dom.getParent(ed.selection.getNode(), 'th,td'); + if (cell) { + rowSpan = cell.rowSpan; + colSpan = cell.colSpan; + } + + if (!ed.dom.select('td.mceSelected,th.mceSelected').length) { + winMan.open({ + url : url + '/merge_cells.htm', + width : 240 + parseInt(ed.getLang('table.merge_cells_delta_width', 0)), + height : 110 + parseInt(ed.getLang('table.merge_cells_delta_height', 0)), + inline : 1 + }, { + rows : rowSpan, + cols : colSpan, + onaction : function(data) { + grid.merge(cell, data.cols, data.rows); + }, + plugin_url : url + }); + } else + grid.merge(); + }, + + mceTableInsertRowBefore : function(grid) { + grid.insertRow(true); + }, + + mceTableInsertRowAfter : function(grid) { + grid.insertRow(); + }, + + mceTableInsertColBefore : function(grid) { + grid.insertCol(true); + }, + + mceTableInsertColAfter : function(grid) { + grid.insertCol(); + }, + + mceTableDeleteCol : function(grid) { + grid.deleteCols(); + }, + + mceTableDeleteRow : function(grid) { + grid.deleteRows(); + }, + + mceTableCutRow : function(grid) { + clipboardRows = grid.cutRows(); + }, + + mceTableCopyRow : function(grid) { + clipboardRows = grid.copyRows(); + }, + + mceTablePasteRowBefore : function(grid) { + grid.pasteRows(clipboardRows, true); + }, + + mceTablePasteRowAfter : function(grid) { + grid.pasteRows(clipboardRows); + }, + + mceTableDelete : function(grid) { + grid.deleteTable(); + } + }, function(func, name) { + ed.addCommand(name, function() { + var grid = createTableGrid(); + + if (grid) { + func(grid); + ed.execCommand('mceRepaint'); + cleanup(); + } + }); + }); + + // Register dialog commands + each({ + mceInsertTable : function(val) { + winMan.open({ + url : url + '/table.htm', + width : 400 + parseInt(ed.getLang('table.table_delta_width', 0)), + height : 320 + parseInt(ed.getLang('table.table_delta_height', 0)), + inline : 1 + }, { + plugin_url : url, + action : val ? val.action : 0 + }); + }, + + mceTableRowProps : function() { + winMan.open({ + url : url + '/row.htm', + width : 400 + parseInt(ed.getLang('table.rowprops_delta_width', 0)), + height : 295 + parseInt(ed.getLang('table.rowprops_delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }, + + mceTableCellProps : function() { + winMan.open({ + url : url + '/cell.htm', + width : 400 + parseInt(ed.getLang('table.cellprops_delta_width', 0)), + height : 295 + parseInt(ed.getLang('table.cellprops_delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + } + }, function(func, name) { + ed.addCommand(name, function(ui, val) { + func(val); + }); + }); + } + }); + + // Register plugin + tinymce.PluginManager.add('table', tinymce.plugins.TablePlugin); +})(tinymce); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/js/cell.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/js/cell.js new file mode 100644 index 00000000..53bdb54b --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/js/cell.js @@ -0,0 +1,319 @@ +tinyMCEPopup.requireLangPack(); + +var ed; + +function init() { + ed = tinyMCEPopup.editor; + tinyMCEPopup.resizeToInnerSize(); + + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor'); + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor') + + var inst = ed; + var tdElm = ed.dom.getParent(ed.selection.getStart(), "td,th"); + var formObj = document.forms[0]; + var st = ed.dom.parseStyle(ed.dom.getAttrib(tdElm, "style")); + + // Get table cell data + var celltype = tdElm.nodeName.toLowerCase(); + var align = ed.dom.getAttrib(tdElm, 'align'); + var valign = ed.dom.getAttrib(tdElm, 'valign'); + var width = trimSize(getStyle(tdElm, 'width', 'width')); + var height = trimSize(getStyle(tdElm, 'height', 'height')); + var bordercolor = convertRGBToHex(getStyle(tdElm, 'bordercolor', 'borderLeftColor')); + var bgcolor = convertRGBToHex(getStyle(tdElm, 'bgcolor', 'backgroundColor')); + var className = ed.dom.getAttrib(tdElm, 'class'); + var backgroundimage = getStyle(tdElm, 'background', 'backgroundImage').replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1"); + var id = ed.dom.getAttrib(tdElm, 'id'); + var lang = ed.dom.getAttrib(tdElm, 'lang'); + var dir = ed.dom.getAttrib(tdElm, 'dir'); + var scope = ed.dom.getAttrib(tdElm, 'scope'); + + // Setup form + addClassesToList('class', 'table_cell_styles'); + TinyMCE_EditableSelects.init(); + + if (!ed.dom.hasClass(tdElm, 'mceSelected')) { + formObj.bordercolor.value = bordercolor; + formObj.bgcolor.value = bgcolor; + formObj.backgroundimage.value = backgroundimage; + formObj.width.value = width; + formObj.height.value = height; + formObj.id.value = id; + formObj.lang.value = lang; + formObj.style.value = ed.dom.serializeStyle(st); + selectByValue(formObj, 'align', align); + selectByValue(formObj, 'valign', valign); + selectByValue(formObj, 'class', className, true, true); + selectByValue(formObj, 'celltype', celltype); + selectByValue(formObj, 'dir', dir); + selectByValue(formObj, 'scope', scope); + + // Resize some elements + if (isVisible('backgroundimagebrowser')) + document.getElementById('backgroundimage').style.width = '180px'; + + updateColor('bordercolor_pick', 'bordercolor'); + updateColor('bgcolor_pick', 'bgcolor'); + } else + tinyMCEPopup.dom.hide('action'); +} + +function updateAction() { + var el, inst = ed, tdElm, trElm, tableElm, formObj = document.forms[0]; + + if (!AutoValidator.validate(formObj)) { + tinyMCEPopup.alert(AutoValidator.getErrorMessages(formObj).join('. ') + '.'); + return false; + } + + tinyMCEPopup.restoreSelection(); + el = ed.selection.getStart(); + tdElm = ed.dom.getParent(el, "td,th"); + trElm = ed.dom.getParent(el, "tr"); + tableElm = ed.dom.getParent(el, "table"); + + // Cell is selected + if (ed.dom.hasClass(tdElm, 'mceSelected')) { + // Update all selected sells + tinymce.each(ed.dom.select('td.mceSelected,th.mceSelected'), function(td) { + updateCell(td); + }); + + ed.addVisual(); + ed.nodeChanged(); + inst.execCommand('mceEndUndoLevel'); + tinyMCEPopup.close(); + return; + } + + switch (getSelectValue(formObj, 'action')) { + case "cell": + var celltype = getSelectValue(formObj, 'celltype'); + var scope = getSelectValue(formObj, 'scope'); + + function doUpdate(s) { + if (s) { + updateCell(tdElm); + + ed.addVisual(); + ed.nodeChanged(); + inst.execCommand('mceEndUndoLevel'); + tinyMCEPopup.close(); + } + }; + + if (ed.getParam("accessibility_warnings", 1)) { + if (celltype == "th" && scope == "") + tinyMCEPopup.confirm(ed.getLang('table_dlg.missing_scope', '', true), doUpdate); + else + doUpdate(1); + + return; + } + + updateCell(tdElm); + break; + + case "row": + var cell = trElm.firstChild; + + if (cell.nodeName != "TD" && cell.nodeName != "TH") + cell = nextCell(cell); + + do { + cell = updateCell(cell, true); + } while ((cell = nextCell(cell)) != null); + + break; + + case "col": + var curr, col = 0, cell = trElm.firstChild, rows = tableElm.getElementsByTagName("tr"); + + if (cell.nodeName != "TD" && cell.nodeName != "TH") + cell = nextCell(cell); + + do { + if (cell == tdElm) + break; + col += cell.getAttribute("colspan"); + } while ((cell = nextCell(cell)) != null); + + for (var i=0; i 0) { + tinymce.each(tableElm.rows, function(tr) { + var i; + + for (i = 0; i < tr.cells.length; i++) { + if (dom.hasClass(tr.cells[i], 'mceSelected')) { + updateRow(tr, true); + return; + } + } + }); + + inst.addVisual(); + inst.nodeChanged(); + inst.execCommand('mceEndUndoLevel'); + tinyMCEPopup.close(); + return; + } + + switch (action) { + case "row": + updateRow(trElm); + break; + + case "all": + var rows = tableElm.getElementsByTagName("tr"); + + for (var i=0; i colLimit) { + tinyMCEPopup.alert(inst.getLang('table_dlg.col_limit').replace(/\{\$cols\}/g, colLimit)); + return false; + } else if (rowLimit && rows > rowLimit) { + tinyMCEPopup.alert(inst.getLang('table_dlg.row_limit').replace(/\{\$rows\}/g, rowLimit)); + return false; + } else if (cellLimit && cols * rows > cellLimit) { + tinyMCEPopup.alert(inst.getLang('table_dlg.cell_limit').replace(/\{\$cells\}/g, cellLimit)); + return false; + } + + // Update table + if (action == "update") { + dom.setAttrib(elm, 'cellPadding', cellpadding, true); + dom.setAttrib(elm, 'cellSpacing', cellspacing, true); + dom.setAttrib(elm, 'border', border); + dom.setAttrib(elm, 'align', align); + dom.setAttrib(elm, 'frame', frame); + dom.setAttrib(elm, 'rules', rules); + dom.setAttrib(elm, 'class', className); + dom.setAttrib(elm, 'style', style); + dom.setAttrib(elm, 'id', id); + dom.setAttrib(elm, 'summary', summary); + dom.setAttrib(elm, 'dir', dir); + dom.setAttrib(elm, 'lang', lang); + + capEl = inst.dom.select('caption', elm)[0]; + + if (capEl && !caption) + capEl.parentNode.removeChild(capEl); + + if (!capEl && caption) { + capEl = elm.ownerDocument.createElement('caption'); + + if (!tinymce.isIE) + capEl.innerHTML = '
'; + + elm.insertBefore(capEl, elm.firstChild); + } + + if (width && inst.settings.inline_styles) { + dom.setStyle(elm, 'width', width); + dom.setAttrib(elm, 'width', ''); + } else { + dom.setAttrib(elm, 'width', width, true); + dom.setStyle(elm, 'width', ''); + } + + // Remove these since they are not valid XHTML + dom.setAttrib(elm, 'borderColor', ''); + dom.setAttrib(elm, 'bgColor', ''); + dom.setAttrib(elm, 'background', ''); + + if (height && inst.settings.inline_styles) { + dom.setStyle(elm, 'height', height); + dom.setAttrib(elm, 'height', ''); + } else { + dom.setAttrib(elm, 'height', height, true); + dom.setStyle(elm, 'height', ''); + } + + if (background != '') + elm.style.backgroundImage = "url('" + background + "')"; + else + elm.style.backgroundImage = ''; + +/* if (tinyMCEPopup.getParam("inline_styles")) { + if (width != '') + elm.style.width = getCSSSize(width); + }*/ + + if (bordercolor != "") { + elm.style.borderColor = bordercolor; + elm.style.borderStyle = elm.style.borderStyle == "" ? "solid" : elm.style.borderStyle; + elm.style.borderWidth = border == "" ? "1px" : border; + } else + elm.style.borderColor = ''; + + elm.style.backgroundColor = bgcolor; + elm.style.height = getCSSSize(height); + + inst.addVisual(); + + // Fix for stange MSIE align bug + //elm.outerHTML = elm.outerHTML; + + inst.nodeChanged(); + inst.execCommand('mceEndUndoLevel'); + + // Repaint if dimensions changed + if (formObj.width.value != orgTableWidth || formObj.height.value != orgTableHeight) + inst.execCommand('mceRepaint'); + + tinyMCEPopup.close(); + return true; + } + + // Create new table + html += ''); + + tinymce.each('h1,h2,h3,h4,h5,h6,p'.split(','), function(n) { + if (patt) + patt += ','; + + patt += n + ' ._mce_marker'; + }); + + tinymce.each(inst.dom.select(patt), function(n) { + inst.dom.split(inst.dom.getParent(n, 'h1,h2,h3,h4,h5,h6,p'), n); + }); + + dom.setOuterHTML(dom.select('br._mce_marker')[0], html); + } else + inst.execCommand('mceInsertContent', false, html); + + tinymce.each(dom.select('table[data-mce-new]'), function(node) { + var td = dom.select('td', node); + + try { + // IE9 might fail to do this selection + inst.selection.select(td[0], true); + inst.selection.collapse(); + } catch (ex) { + // Ignore + } + + dom.setAttrib(node, 'data-mce-new', ''); + }); + + inst.addVisual(); + inst.execCommand('mceEndUndoLevel'); + + tinyMCEPopup.close(); +} + +function makeAttrib(attrib, value) { + var formObj = document.forms[0]; + var valueElm = formObj.elements[attrib]; + + if (typeof(value) == "undefined" || value == null) { + value = ""; + + if (valueElm) + value = valueElm.value; + } + + if (value == "") + return ""; + + // XML encode it + value = value.replace(/&/g, '&'); + value = value.replace(/\"/g, '"'); + value = value.replace(//g, '>'); + + return ' ' + attrib + '="' + value + '"'; +} + +function init() { + tinyMCEPopup.resizeToInnerSize(); + + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor'); + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); + + var cols = 2, rows = 2, border = tinyMCEPopup.getParam('table_default_border', '0'), cellpadding = tinyMCEPopup.getParam('table_default_cellpadding', ''), cellspacing = tinyMCEPopup.getParam('table_default_cellspacing', ''); + var align = "", width = "", height = "", bordercolor = "", bgcolor = "", className = ""; + var id = "", summary = "", style = "", dir = "", lang = "", background = "", bgcolor = "", bordercolor = "", rules = "", frame = ""; + var inst = tinyMCEPopup.editor, dom = inst.dom; + var formObj = document.forms[0]; + var elm = dom.getParent(inst.selection.getNode(), "table"); + + action = tinyMCEPopup.getWindowArg('action'); + + if (!action) + action = elm ? "update" : "insert"; + + if (elm && action != "insert") { + var rowsAr = elm.rows; + var cols = 0; + for (var i=0; i cols) + cols = rowsAr[i].cells.length; + + cols = cols; + rows = rowsAr.length; + + st = dom.parseStyle(dom.getAttrib(elm, "style")); + border = trimSize(getStyle(elm, 'border', 'borderWidth')); + cellpadding = dom.getAttrib(elm, 'cellpadding', ""); + cellspacing = dom.getAttrib(elm, 'cellspacing', ""); + width = trimSize(getStyle(elm, 'width', 'width')); + height = trimSize(getStyle(elm, 'height', 'height')); + bordercolor = convertRGBToHex(getStyle(elm, 'bordercolor', 'borderLeftColor')); + bgcolor = convertRGBToHex(getStyle(elm, 'bgcolor', 'backgroundColor')); + align = dom.getAttrib(elm, 'align', align); + frame = dom.getAttrib(elm, 'frame'); + rules = dom.getAttrib(elm, 'rules'); + className = tinymce.trim(dom.getAttrib(elm, 'class').replace(/mceItem.+/g, '')); + id = dom.getAttrib(elm, 'id'); + summary = dom.getAttrib(elm, 'summary'); + style = dom.serializeStyle(st); + dir = dom.getAttrib(elm, 'dir'); + lang = dom.getAttrib(elm, 'lang'); + background = getStyle(elm, 'background', 'backgroundImage').replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1"); + formObj.caption.checked = elm.getElementsByTagName('caption').length > 0; + + orgTableWidth = width; + orgTableHeight = height; + + action = "update"; + formObj.insert.value = inst.getLang('update'); + } + + addClassesToList('class', "table_styles"); + TinyMCE_EditableSelects.init(); + + // Update form + selectByValue(formObj, 'align', align); + selectByValue(formObj, 'tframe', frame); + selectByValue(formObj, 'rules', rules); + selectByValue(formObj, 'class', className, true, true); + formObj.cols.value = cols; + formObj.rows.value = rows; + formObj.border.value = border; + formObj.cellpadding.value = cellpadding; + formObj.cellspacing.value = cellspacing; + formObj.width.value = width; + formObj.height.value = height; + formObj.bordercolor.value = bordercolor; + formObj.bgcolor.value = bgcolor; + formObj.id.value = id; + formObj.summary.value = summary; + formObj.style.value = style; + formObj.dir.value = dir; + formObj.lang.value = lang; + formObj.backgroundimage.value = background; + + updateColor('bordercolor_pick', 'bordercolor'); + updateColor('bgcolor_pick', 'bgcolor'); + + // Resize some elements + if (isVisible('backgroundimagebrowser')) + document.getElementById('backgroundimage').style.width = '180px'; + + // Disable some fields in update mode + if (action == "update") { + formObj.cols.disabled = true; + formObj.rows.disabled = true; + } +} + +function changedSize() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + +/* var width = formObj.width.value; + if (width != "") + st['width'] = tinyMCEPopup.getParam("inline_styles") ? getCSSSize(width) : ""; + else + st['width'] = "";*/ + + var height = formObj.height.value; + if (height != "") + st['height'] = getCSSSize(height); + else + st['height'] = ""; + + formObj.style.value = dom.serializeStyle(st); +} + +function changedBackgroundImage() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + + st['background-image'] = "url('" + formObj.backgroundimage.value + "')"; + + formObj.style.value = dom.serializeStyle(st); +} + +function changedBorder() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + + // Update border width if the element has a color + if (formObj.border.value != "" && formObj.bordercolor.value != "") + st['border-width'] = formObj.border.value + "px"; + + formObj.style.value = dom.serializeStyle(st); +} + +function changedColor() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + + st['background-color'] = formObj.bgcolor.value; + + if (formObj.bordercolor.value != "") { + st['border-color'] = formObj.bordercolor.value; + + // Add border-width if it's missing + if (!st['border-width']) + st['border-width'] = formObj.border.value == "" ? "1px" : formObj.border.value + "px"; + } + + formObj.style.value = dom.serializeStyle(st); +} + +function changedStyle() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + + if (st['background-image']) + formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1"); + else + formObj.backgroundimage.value = ''; + + if (st['width']) + formObj.width.value = trimSize(st['width']); + + if (st['height']) + formObj.height.value = trimSize(st['height']); + + if (st['background-color']) { + formObj.bgcolor.value = st['background-color']; + updateColor('bgcolor_pick','bgcolor'); + } + + if (st['border-color']) { + formObj.bordercolor.value = st['border-color']; + updateColor('bordercolor_pick','bordercolor'); + } +} + +tinyMCEPopup.onInit.add(init); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/langs/en_dlg.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/langs/en_dlg.js new file mode 100644 index 00000000..8038f317 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/langs/en_dlg.js @@ -0,0 +1,75 @@ +tinyMCE.addI18n('en.table_dlg',{ +general_tab:"General", +advanced_tab:"Advanced", +general_props:"General properties", +advanced_props:"Advanced properties", +rowtype:"Row in table part", +title:"Insert/Modify table", +width:"Width", +height:"Height", +cols:"Columns", +rows:"Rows", +cellspacing:"Cellspacing", +cellpadding:"Cellpadding", +border:"Border", +align:"Alignment", +align_default:"Default", +align_left:"Left", +align_right:"Right", +align_middle:"Center", +row_title:"Table row properties", +cell_title:"Table cell properties", +cell_type:"Cell type", +valign:"Vertical alignment", +align_top:"Top", +align_bottom:"Bottom", +bordercolor:"Border color", +bgcolor:"Background color", +merge_cells_title:"Merge table cells", +id:"Id", +style:"Style", +langdir:"Language direction", +langcode:"Language code", +mime:"Target MIME type", +ltr:"Left to right", +rtl:"Right to left", +bgimage:"Background image", +summary:"Summary", +td:"Data", +th:"Header", +cell_cell:"Update current cell", +cell_row:"Update all cells in row", +cell_col:"Update all cells in column", +cell_all:"Update all cells in table", +row_row:"Update current row", +row_odd:"Update odd rows in table", +row_even:"Update even rows in table", +row_all:"Update all rows in table", +thead:"Table Head", +tbody:"Table Body", +tfoot:"Table Foot", +scope:"Scope", +rowgroup:"Row Group", +colgroup:"Col Group", +col_limit:"You've exceeded the maximum number of columns of {$cols}.", +row_limit:"You've exceeded the maximum number of rows of {$rows}.", +cell_limit:"You've exceeded the maximum number of cells of {$cells}.", +missing_scope:"Are you sure you want to continue without specifying a scope for this table header cell. Without it, it may be difficult for some users with disabilities to understand the content or data displayed of the table.", +caption:"Table caption", +frame:"Frame", +frame_none:"none", +frame_groups:"groups", +frame_rows:"rows", +frame_cols:"cols", +frame_all:"all", +rules:"Rules", +rules_void:"void", +rules_above:"above", +rules_below:"below", +rules_hsides:"hsides", +rules_lhs:"lhs", +rules_rhs:"rhs", +rules_vsides:"vsides", +rules_box:"box", +rules_border:"border" +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/merge_cells.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/merge_cells.htm new file mode 100644 index 00000000..788acf68 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/merge_cells.htm @@ -0,0 +1,32 @@ + + + + {#table_dlg.merge_cells_title} + + + + + + +
+
+ {#table_dlg.merge_cells_title} + + + + + + + + + +
:
:
+
+ +
+ + +
+
+ + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/row.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/row.htm new file mode 100644 index 00000000..e0b182b8 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/row.htm @@ -0,0 +1,158 @@ + + + + {#table_dlg.row_title} + + + + + + + + + +
+ + +
+
+
+ {#table_dlg.general_props} + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+ +
+
+
+ +
+
+ {#table_dlg.advanced_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + + + +
 
+
+ + + + + + +
 
+
+
+
+
+
+ +
+
+ +
+ + + +
+
+ + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/table.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/table.htm new file mode 100644 index 00000000..a72e356c --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/table.htm @@ -0,0 +1,188 @@ + + + + {#table_dlg.title} + + + + + + + + + + +
+ + +
+
+
+ {#table_dlg.general_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+
+ {#table_dlg.advanced_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + +
 
+
+ +
+ +
+ +
+ + + + + +
 
+
+ + + + + +
 
+
+
+
+
+ +
+ + +
+
+ + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/blank.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/blank.htm new file mode 100644 index 00000000..538a3b12 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/blank.htm @@ -0,0 +1,12 @@ + + + blank_page + + + + + + + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/css/template.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/css/template.css new file mode 100644 index 00000000..0a03f2e5 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/css/template.css @@ -0,0 +1,23 @@ +#frmbody { + padding: 10px; + background-color: #FFF; + border: 1px solid #CCC; +} + +.frmRow { + margin-bottom: 10px; +} + +#templatesrc { + border: none; + width: 320px; + height: 240px; +} + +.title { + padding-bottom: 5px; +} + +.mceActionPanel { + padding-top: 5px; +} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/editor_plugin.js new file mode 100644 index 00000000..ebe3c27d --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/editor_plugin.js @@ -0,0 +1 @@ +(function(){var a=tinymce.each;tinymce.create("tinymce.plugins.TemplatePlugin",{init:function(b,c){var d=this;d.editor=b;b.addCommand("mceTemplate",function(e){b.windowManager.open({file:c+"/template.htm",width:b.getParam("template_popup_width",750),height:b.getParam("template_popup_height",600),inline:1},{plugin_url:c})});b.addCommand("mceInsertTemplate",d._insertTemplate,d);b.addButton("template",{title:"template.desc",cmd:"mceTemplate"});b.onPreProcess.add(function(e,g){var f=e.dom;a(f.select("div",g.node),function(h){if(f.hasClass(h,"mceTmpl")){a(f.select("*",h),function(i){if(f.hasClass(i,e.getParam("template_mdate_classes","mdate").replace(/\s+/g,"|"))){i.innerHTML=d._getDateTime(new Date(),e.getParam("template_mdate_format",e.getLang("template.mdate_format")))}});d._replaceVals(h)}})})},getInfo:function(){return{longname:"Template plugin",author:"Moxiecode Systems AB",authorurl:"http://www.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/template",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_insertTemplate:function(i,j){var k=this,g=k.editor,f,c,d=g.dom,b=g.selection.getContent();f=j.content;a(k.editor.getParam("template_replace_values"),function(l,h){if(typeof(l)!="function"){f=f.replace(new RegExp("\\{\\$"+h+"\\}","g"),l)}});c=d.create("div",null,f);n=d.select(".mceTmpl",c);if(n&&n.length>0){c=d.create("div",null);c.appendChild(n[0].cloneNode(true))}function e(l,h){return new RegExp("\\b"+h+"\\b","g").test(l.className)}a(d.select("*",c),function(h){if(e(h,g.getParam("template_cdate_classes","cdate").replace(/\s+/g,"|"))){h.innerHTML=k._getDateTime(new Date(),g.getParam("template_cdate_format",g.getLang("template.cdate_format")))}if(e(h,g.getParam("template_mdate_classes","mdate").replace(/\s+/g,"|"))){h.innerHTML=k._getDateTime(new Date(),g.getParam("template_mdate_format",g.getLang("template.mdate_format")))}if(e(h,g.getParam("template_selected_content_classes","selcontent").replace(/\s+/g,"|"))){h.innerHTML=b}});k._replaceVals(c);g.execCommand("mceInsertContent",false,c.innerHTML);g.addVisual()},_replaceVals:function(c){var d=this.editor.dom,b=this.editor.getParam("template_replace_values");a(d.select("*",c),function(f){a(b,function(g,e){if(d.hasClass(f,e)){if(typeof(b[e])=="function"){b[e](f)}}})})},_getDateTime:function(e,b){if(!b){return""}function c(g,d){var f;g=""+g;if(g.length 0) { + el = dom.create('div', null); + el.appendChild(n[0].cloneNode(true)); + } + + function hasClass(n, c) { + return new RegExp('\\b' + c + '\\b', 'g').test(n.className); + }; + + each(dom.select('*', el), function(n) { + // Replace cdate + if (hasClass(n, ed.getParam('template_cdate_classes', 'cdate').replace(/\s+/g, '|'))) + n.innerHTML = t._getDateTime(new Date(), ed.getParam("template_cdate_format", ed.getLang("template.cdate_format"))); + + // Replace mdate + if (hasClass(n, ed.getParam('template_mdate_classes', 'mdate').replace(/\s+/g, '|'))) + n.innerHTML = t._getDateTime(new Date(), ed.getParam("template_mdate_format", ed.getLang("template.mdate_format"))); + + // Replace selection + if (hasClass(n, ed.getParam('template_selected_content_classes', 'selcontent').replace(/\s+/g, '|'))) + n.innerHTML = sel; + }); + + t._replaceVals(el); + + ed.execCommand('mceInsertContent', false, el.innerHTML); + ed.addVisual(); + }, + + _replaceVals : function(e) { + var dom = this.editor.dom, vl = this.editor.getParam('template_replace_values'); + + each(dom.select('*', e), function(e) { + each(vl, function(v, k) { + if (dom.hasClass(e, k)) { + if (typeof(vl[k]) == 'function') + vl[k](e); + } + }); + }); + }, + + _getDateTime : function(d, fmt) { + if (!fmt) + return ""; + + function addZeros(value, len) { + var i; + + value = "" + value; + + if (value.length < len) { + for (i=0; i<(len-value.length); i++) + value = "0" + value; + } + + return value; + } + + fmt = fmt.replace("%D", "%m/%d/%y"); + fmt = fmt.replace("%r", "%I:%M:%S %p"); + fmt = fmt.replace("%Y", "" + d.getFullYear()); + fmt = fmt.replace("%y", "" + d.getYear()); + fmt = fmt.replace("%m", addZeros(d.getMonth()+1, 2)); + fmt = fmt.replace("%d", addZeros(d.getDate(), 2)); + fmt = fmt.replace("%H", "" + addZeros(d.getHours(), 2)); + fmt = fmt.replace("%M", "" + addZeros(d.getMinutes(), 2)); + fmt = fmt.replace("%S", "" + addZeros(d.getSeconds(), 2)); + fmt = fmt.replace("%I", "" + ((d.getHours() + 11) % 12 + 1)); + fmt = fmt.replace("%p", "" + (d.getHours() < 12 ? "AM" : "PM")); + fmt = fmt.replace("%B", "" + this.editor.getLang("template_months_long").split(',')[d.getMonth()]); + fmt = fmt.replace("%b", "" + this.editor.getLang("template_months_short").split(',')[d.getMonth()]); + fmt = fmt.replace("%A", "" + this.editor.getLang("template_day_long").split(',')[d.getDay()]); + fmt = fmt.replace("%a", "" + this.editor.getLang("template_day_short").split(',')[d.getDay()]); + fmt = fmt.replace("%%", "%"); + + return fmt; + } + }); + + // Register plugin + tinymce.PluginManager.add('template', tinymce.plugins.TemplatePlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/js/template.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/js/template.js new file mode 100644 index 00000000..673395a9 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/js/template.js @@ -0,0 +1,106 @@ +tinyMCEPopup.requireLangPack(); + +var TemplateDialog = { + preInit : function() { + var url = tinyMCEPopup.getParam("template_external_list_url"); + + if (url != null) + document.write(''); + }, + + init : function() { + var ed = tinyMCEPopup.editor, tsrc, sel, x, u; + + tsrc = ed.getParam("template_templates", false); + sel = document.getElementById('tpath'); + + // Setup external template list + if (!tsrc && typeof(tinyMCETemplateList) != 'undefined') { + for (x=0, tsrc = []; x'); + }); + }, + + selectTemplate : function(u, ti) { + var d = window.frames['templatesrc'].document, x, tsrc = this.tsrc; + + if (!u) + return; + + d.body.innerHTML = this.templateHTML = this.getFileContents(u); + + for (x=0; x + + {#template_dlg.title} + + + + + +
+
+
{#template_dlg.desc}
+
+ +
+
+
+
+ {#template_dlg.preview} + +
+
+ +
+ + +
+
+ + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js new file mode 100644 index 00000000..1a148e8b --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.VisualChars",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceVisualChars",c._toggleVisualChars,c);a.addButton("visualchars",{title:"visualchars.desc",cmd:"mceVisualChars"});a.onBeforeGetContent.add(function(d,e){if(c.state&&e.format!="raw"&&!e.draft){c.state=true;c._toggleVisualChars(false)}})},getInfo:function(){return{longname:"Visual characters",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/visualchars",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_toggleVisualChars:function(m){var p=this,k=p.editor,a,g,j,n=k.getDoc(),o=k.getBody(),l,q=k.selection,e,c,f;p.state=!p.state;k.controlManager.setActive("visualchars",p.state);if(m){f=q.getBookmark()}if(p.state){a=[];tinymce.walk(o,function(b){if(b.nodeType==3&&b.nodeValue&&b.nodeValue.indexOf("\u00a0")!=-1){a.push(b)}},"childNodes");for(g=0;g$1');c=k.dom.create("div",null,l);while(node=c.lastChild){k.dom.insertAfter(node,a[g])}k.dom.remove(a[g])}}else{a=k.dom.select("span.mceItemNbsp",o);for(g=a.length-1;g>=0;g--){k.dom.remove(a[g],1)}}q.moveToBookmark(f)}});tinymce.PluginManager.add("visualchars",tinymce.plugins.VisualChars)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/visualchars/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/visualchars/editor_plugin_src.js new file mode 100644 index 00000000..0e3572e6 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/visualchars/editor_plugin_src.js @@ -0,0 +1,83 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.VisualChars', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + // Register commands + ed.addCommand('mceVisualChars', t._toggleVisualChars, t); + + // Register buttons + ed.addButton('visualchars', {title : 'visualchars.desc', cmd : 'mceVisualChars'}); + + ed.onBeforeGetContent.add(function(ed, o) { + if (t.state && o.format != 'raw' && !o.draft) { + t.state = true; + t._toggleVisualChars(false); + } + }); + }, + + getInfo : function() { + return { + longname : 'Visual characters', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/visualchars', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private methods + + _toggleVisualChars : function(bookmark) { + var t = this, ed = t.editor, nl, i, h, d = ed.getDoc(), b = ed.getBody(), nv, s = ed.selection, bo, div, bm; + + t.state = !t.state; + ed.controlManager.setActive('visualchars', t.state); + + if (bookmark) + bm = s.getBookmark(); + + if (t.state) { + nl = []; + tinymce.walk(b, function(n) { + if (n.nodeType == 3 && n.nodeValue && n.nodeValue.indexOf('\u00a0') != -1) + nl.push(n); + }, 'childNodes'); + + for (i = 0; i < nl.length; i++) { + nv = nl[i].nodeValue; + nv = nv.replace(/(\u00a0)/g, '$1'); + + div = ed.dom.create('div', null, nv); + while (node = div.lastChild) + ed.dom.insertAfter(node, nl[i]); + + ed.dom.remove(nl[i]); + } + } else { + nl = ed.dom.select('span.mceItemNbsp', b); + + for (i = nl.length - 1; i >= 0; i--) + ed.dom.remove(nl[i], 1); + } + + s.moveToBookmark(bm); + } + }); + + // Register plugin + tinymce.PluginManager.add('visualchars', tinymce.plugins.VisualChars); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/wordcount/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/wordcount/editor_plugin.js new file mode 100644 index 00000000..a752ad32 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/wordcount/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.WordCount",{block:0,id:null,countre:null,cleanre:null,init:function(a,b){var c=this,d=0;c.countre=a.getParam("wordcount_countregex",/[\w\u2019\'-]+/g);c.cleanre=a.getParam("wordcount_cleanregex",/[0-9.(),;:!?%#$?\'\"_+=\\\/-]*/g);c.id=a.id+"-word-count";a.onPostRender.add(function(f,e){var g,h;h=f.getParam("wordcount_target_id");if(!h){g=tinymce.DOM.get(f.id+"_path_row");if(g){tinymce.DOM.add(g.parentNode,"div",{style:"float: right"},f.getLang("wordcount.words","Words: ")+'0')}}else{tinymce.DOM.add(h,"span",{},'0')}});a.onInit.add(function(e){e.selection.onSetContent.add(function(){c._count(e)});c._count(e)});a.onSetContent.add(function(e){c._count(e)});a.onKeyUp.add(function(f,g){if(g.keyCode==d){return}if(13==g.keyCode||8==d||46==d){c._count(f)}d=g.keyCode})},_getCount:function(c){var a=0;var b=c.getContent({format:"raw"});if(b){b=b.replace(/\.\.\./g," ");b=b.replace(/<.[^<>]*?>/g," ").replace(/ | /gi," ");b=b.replace(/(\w+)(&.+?;)+(\w+)/,"$1$3").replace(/&.+?;/g," ");b=b.replace(this.cleanre,"");var d=b.match(this.countre);if(d){a=d.length}}return a},_count:function(a){var b=this;if(b.block){return}b.block=1;setTimeout(function(){if(!a.destroyed){var c=b._getCount(a);tinymce.DOM.setHTML(b.id,c.toString());setTimeout(function(){b.block=0},2000)}},1)},getInfo:function(){return{longname:"Word Count plugin",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/wordcount",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("wordcount",tinymce.plugins.WordCount)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/wordcount/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/wordcount/editor_plugin_src.js new file mode 100644 index 00000000..032a3f67 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/wordcount/editor_plugin_src.js @@ -0,0 +1,114 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.WordCount', { + block : 0, + id : null, + countre : null, + cleanre : null, + + init : function(ed, url) { + var t = this, last = 0; + + t.countre = ed.getParam('wordcount_countregex', /[\w\u2019\'-]+/g); // u2019 == ’ + t.cleanre = ed.getParam('wordcount_cleanregex', /[0-9.(),;:!?%#$?\'\"_+=\\\/-]*/g); + t.id = ed.id + '-word-count'; + + ed.onPostRender.add(function(ed, cm) { + var row, id; + + // Add it to the specified id or the theme advanced path + id = ed.getParam('wordcount_target_id'); + if (!id) { + row = tinymce.DOM.get(ed.id + '_path_row'); + + if (row) + tinymce.DOM.add(row.parentNode, 'div', {'style': 'float: right'}, ed.getLang('wordcount.words', 'Words: ') + '0'); + } else { + tinymce.DOM.add(id, 'span', {}, '0'); + } + }); + + ed.onInit.add(function(ed) { + ed.selection.onSetContent.add(function() { + t._count(ed); + }); + + t._count(ed); + }); + + ed.onSetContent.add(function(ed) { + t._count(ed); + }); + + ed.onKeyUp.add(function(ed, e) { + if (e.keyCode == last) + return; + + if (13 == e.keyCode || 8 == last || 46 == last) + t._count(ed); + + last = e.keyCode; + }); + }, + + _getCount : function(ed) { + var tc = 0; + var tx = ed.getContent({ format: 'raw' }); + + if (tx) { + tx = tx.replace(/\.\.\./g, ' '); // convert ellipses to spaces + tx = tx.replace(/<.[^<>]*?>/g, ' ').replace(/ | /gi, ' '); // remove html tags and space chars + + // deal with html entities + tx = tx.replace(/(\w+)(&.+?;)+(\w+)/, "$1$3").replace(/&.+?;/g, ' '); + tx = tx.replace(this.cleanre, ''); // remove numbers and punctuation + + var wordArray = tx.match(this.countre); + if (wordArray) { + tc = wordArray.length; + } + } + + return tc; + }, + + _count : function(ed) { + var t = this; + + // Keep multiple calls from happening at the same time + if (t.block) + return; + + t.block = 1; + + setTimeout(function() { + if (!ed.destroyed) { + var tc = t._getCount(ed); + tinymce.DOM.setHTML(t.id, tc.toString()); + setTimeout(function() {t.block = 0;}, 2000); + } + }, 1); + }, + + getInfo: function() { + return { + longname : 'Word Count plugin', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/wordcount', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + tinymce.PluginManager.add('wordcount', tinymce.plugins.WordCount); +})(); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm new file mode 100644 index 00000000..d4102180 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm @@ -0,0 +1,142 @@ + + + + {#xhtmlxtras_dlg.title_abbr_element} + + + + + + + + + + +
+ + +
+
+
+ {#xhtmlxtras_dlg.fieldset_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
: + +
:
: + +
: + +
+
+
+
+
+ {#xhtmlxtras_dlg.fieldset_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
:
:
:
:
:
:
:
:
:
:
+
+
+
+
+ + + +
+
+ + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm new file mode 100644 index 00000000..12b189b4 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm @@ -0,0 +1,142 @@ + + + + {#xhtmlxtras_dlg.title_acronym_element} + + + + + + + + + + +
+ + +
+
+
+ {#xhtmlxtras_dlg.fieldset_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
: + +
:
: + +
: + +
+
+
+
+
+ {#xhtmlxtras_dlg.fieldset_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
:
:
:
:
:
:
:
:
:
:
+
+
+
+
+ + + +
+
+ + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm new file mode 100644 index 00000000..d84f378b --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm @@ -0,0 +1,149 @@ + + + + {#xhtmlxtras_dlg.attribs_title} + + + + + + + + + +
+ + +
+
+
+ {#xhtmlxtras_dlg.attribute_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
+ +
:
: + +
: + +
+
+
+
+
+ {#xhtmlxtras_dlg.attribute_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
:
:
:
:
:
:
:
:
:
:
+
+
+
+
+ + +
+
+ + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm new file mode 100644 index 00000000..ab61b330 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm @@ -0,0 +1,142 @@ + + + + {#xhtmlxtras_dlg.title_cite_element} + + + + + + + + + + +
+ + +
+
+
+ {#xhtmlxtras_dlg.fieldset_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
: + +
:
: + +
: + +
+
+
+
+
+ {#xhtmlxtras_dlg.fieldset_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
:
:
:
:
:
:
:
:
:
:
+
+
+
+
+ + + +
+
+ + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css new file mode 100644 index 00000000..85b1b376 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css @@ -0,0 +1,11 @@ +.panel_wrapper div.current { + height: 290px; +} + +#id, #style, #title, #dir, #hreflang, #lang, #classlist, #tabindex, #accesskey { + width: 200px; +} + +#events_panel input { + width: 200px; +} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css new file mode 100644 index 00000000..034b9852 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css @@ -0,0 +1,9 @@ +input.field, select.field {width:200px;} +input.picker {width:179px; margin-left: 5px;} +input.disabled {border-color:#F2F2F2;} +img.picker {vertical-align:text-bottom; cursor:pointer;} +h1 {padding: 0 0 5px 0;} +.panel_wrapper div.current {height:160px;} +#xhtmlxtrasdel .panel_wrapper div.current, #xhtmlxtrasins .panel_wrapper div.current {height: 230px;} +a.browse span {display:block; width:20px; height:20px; background:url('../../../themes/advanced/img/icons.gif') -140px -20px;} +#datetime {width:180px;} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm new file mode 100644 index 00000000..e3f34c7d --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm @@ -0,0 +1,162 @@ + + + + {#xhtmlxtras_dlg.title_del_element} + + + + + + + + + + +
+ + +
+
+
+ {#xhtmlxtras_dlg.fieldset_general_tab} + + + + + + + + + +
: + + + + + +
+
:
+
+
+ {#xhtmlxtras_dlg.fieldset_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
: + +
:
: + +
: + +
+
+
+
+
+ {#xhtmlxtras_dlg.fieldset_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
:
:
:
:
:
:
:
:
:
:
+
+
+
+
+ + + +
+
+ + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js new file mode 100644 index 00000000..9b98a515 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.XHTMLXtrasPlugin",{init:function(a,b){a.addCommand("mceCite",function(){a.windowManager.open({file:b+"/cite.htm",width:350+parseInt(a.getLang("xhtmlxtras.cite_delta_width",0)),height:250+parseInt(a.getLang("xhtmlxtras.cite_delta_height",0)),inline:1},{plugin_url:b})});a.addCommand("mceAcronym",function(){a.windowManager.open({file:b+"/acronym.htm",width:350+parseInt(a.getLang("xhtmlxtras.acronym_delta_width",0)),height:250+parseInt(a.getLang("xhtmlxtras.acronym_delta_height",0)),inline:1},{plugin_url:b})});a.addCommand("mceAbbr",function(){a.windowManager.open({file:b+"/abbr.htm",width:350+parseInt(a.getLang("xhtmlxtras.abbr_delta_width",0)),height:250+parseInt(a.getLang("xhtmlxtras.abbr_delta_height",0)),inline:1},{plugin_url:b})});a.addCommand("mceDel",function(){a.windowManager.open({file:b+"/del.htm",width:340+parseInt(a.getLang("xhtmlxtras.del_delta_width",0)),height:310+parseInt(a.getLang("xhtmlxtras.del_delta_height",0)),inline:1},{plugin_url:b})});a.addCommand("mceIns",function(){a.windowManager.open({file:b+"/ins.htm",width:340+parseInt(a.getLang("xhtmlxtras.ins_delta_width",0)),height:310+parseInt(a.getLang("xhtmlxtras.ins_delta_height",0)),inline:1},{plugin_url:b})});a.addCommand("mceAttributes",function(){a.windowManager.open({file:b+"/attributes.htm",width:380+parseInt(a.getLang("xhtmlxtras.attr_delta_width",0)),height:370+parseInt(a.getLang("xhtmlxtras.attr_delta_height",0)),inline:1},{plugin_url:b})});a.addButton("cite",{title:"xhtmlxtras.cite_desc",cmd:"mceCite"});a.addButton("acronym",{title:"xhtmlxtras.acronym_desc",cmd:"mceAcronym"});a.addButton("abbr",{title:"xhtmlxtras.abbr_desc",cmd:"mceAbbr"});a.addButton("del",{title:"xhtmlxtras.del_desc",cmd:"mceDel"});a.addButton("ins",{title:"xhtmlxtras.ins_desc",cmd:"mceIns"});a.addButton("attribs",{title:"xhtmlxtras.attribs_desc",cmd:"mceAttributes"});a.onNodeChange.add(function(d,c,f,e){f=d.dom.getParent(f,"CITE,ACRONYM,ABBR,DEL,INS");c.setDisabled("cite",e);c.setDisabled("acronym",e);c.setDisabled("abbr",e);c.setDisabled("del",e);c.setDisabled("ins",e);c.setDisabled("attribs",f&&f.nodeName=="BODY");c.setActive("cite",0);c.setActive("acronym",0);c.setActive("abbr",0);c.setActive("del",0);c.setActive("ins",0);if(f){do{c.setDisabled(f.nodeName.toLowerCase(),0);c.setActive(f.nodeName.toLowerCase(),1)}while(f=f.parentNode)}});a.onPreInit.add(function(){a.dom.create("abbr")})},getInfo:function(){return{longname:"XHTML Xtras Plugin",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/xhtmlxtras",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("xhtmlxtras",tinymce.plugins.XHTMLXtrasPlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js new file mode 100644 index 00000000..a9c12ef3 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js @@ -0,0 +1,132 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.XHTMLXtrasPlugin', { + init : function(ed, url) { + // Register commands + ed.addCommand('mceCite', function() { + ed.windowManager.open({ + file : url + '/cite.htm', + width : 350 + parseInt(ed.getLang('xhtmlxtras.cite_delta_width', 0)), + height : 250 + parseInt(ed.getLang('xhtmlxtras.cite_delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + ed.addCommand('mceAcronym', function() { + ed.windowManager.open({ + file : url + '/acronym.htm', + width : 350 + parseInt(ed.getLang('xhtmlxtras.acronym_delta_width', 0)), + height : 250 + parseInt(ed.getLang('xhtmlxtras.acronym_delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + ed.addCommand('mceAbbr', function() { + ed.windowManager.open({ + file : url + '/abbr.htm', + width : 350 + parseInt(ed.getLang('xhtmlxtras.abbr_delta_width', 0)), + height : 250 + parseInt(ed.getLang('xhtmlxtras.abbr_delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + ed.addCommand('mceDel', function() { + ed.windowManager.open({ + file : url + '/del.htm', + width : 340 + parseInt(ed.getLang('xhtmlxtras.del_delta_width', 0)), + height : 310 + parseInt(ed.getLang('xhtmlxtras.del_delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + ed.addCommand('mceIns', function() { + ed.windowManager.open({ + file : url + '/ins.htm', + width : 340 + parseInt(ed.getLang('xhtmlxtras.ins_delta_width', 0)), + height : 310 + parseInt(ed.getLang('xhtmlxtras.ins_delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + ed.addCommand('mceAttributes', function() { + ed.windowManager.open({ + file : url + '/attributes.htm', + width : 380 + parseInt(ed.getLang('xhtmlxtras.attr_delta_width', 0)), + height : 370 + parseInt(ed.getLang('xhtmlxtras.attr_delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + // Register buttons + ed.addButton('cite', {title : 'xhtmlxtras.cite_desc', cmd : 'mceCite'}); + ed.addButton('acronym', {title : 'xhtmlxtras.acronym_desc', cmd : 'mceAcronym'}); + ed.addButton('abbr', {title : 'xhtmlxtras.abbr_desc', cmd : 'mceAbbr'}); + ed.addButton('del', {title : 'xhtmlxtras.del_desc', cmd : 'mceDel'}); + ed.addButton('ins', {title : 'xhtmlxtras.ins_desc', cmd : 'mceIns'}); + ed.addButton('attribs', {title : 'xhtmlxtras.attribs_desc', cmd : 'mceAttributes'}); + + ed.onNodeChange.add(function(ed, cm, n, co) { + n = ed.dom.getParent(n, 'CITE,ACRONYM,ABBR,DEL,INS'); + + cm.setDisabled('cite', co); + cm.setDisabled('acronym', co); + cm.setDisabled('abbr', co); + cm.setDisabled('del', co); + cm.setDisabled('ins', co); + cm.setDisabled('attribs', n && n.nodeName == 'BODY'); + cm.setActive('cite', 0); + cm.setActive('acronym', 0); + cm.setActive('abbr', 0); + cm.setActive('del', 0); + cm.setActive('ins', 0); + + // Activate all + if (n) { + do { + cm.setDisabled(n.nodeName.toLowerCase(), 0); + cm.setActive(n.nodeName.toLowerCase(), 1); + } while (n = n.parentNode); + } + }); + + ed.onPreInit.add(function() { + // Fixed IE issue where it can't handle these elements correctly + ed.dom.create('abbr'); + }); + }, + + getInfo : function() { + return { + longname : 'XHTML Xtras Plugin', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/xhtmlxtras', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('xhtmlxtras', tinymce.plugins.XHTMLXtrasPlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm new file mode 100644 index 00000000..226e6053 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm @@ -0,0 +1,162 @@ + + + + {#xhtmlxtras_dlg.title_ins_element} + + + + + + + + + + +
+ + +
+
+
+ {#xhtmlxtras_dlg.fieldset_general_tab} + + + + + + + + + +
: + + + + + +
+
:
+
+
+ {#xhtmlxtras_dlg.fieldset_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
: + +
:
: + +
: + +
+
+
+
+
+ {#xhtmlxtras_dlg.fieldset_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
:
:
:
:
:
:
:
:
:
:
+
+
+
+
+ + + +
+
+ + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js new file mode 100644 index 00000000..1790e83d --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js @@ -0,0 +1,28 @@ +/** + * abbr.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +function init() { + SXE.initElementDialog('abbr'); + if (SXE.currentAction == "update") { + SXE.showRemoveButton(); + } +} + +function insertAbbr() { + SXE.insertElement('abbr'); + tinyMCEPopup.close(); +} + +function removeAbbr() { + SXE.removeElement('abbr'); + tinyMCEPopup.close(); +} + +tinyMCEPopup.onInit.add(init); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js new file mode 100644 index 00000000..93b8d259 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js @@ -0,0 +1,28 @@ +/** + * acronym.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +function init() { + SXE.initElementDialog('acronym'); + if (SXE.currentAction == "update") { + SXE.showRemoveButton(); + } +} + +function insertAcronym() { + SXE.insertElement('acronym'); + tinyMCEPopup.close(); +} + +function removeAcronym() { + SXE.removeElement('acronym'); + tinyMCEPopup.close(); +} + +tinyMCEPopup.onInit.add(init); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js new file mode 100644 index 00000000..9e9b07e6 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js @@ -0,0 +1,111 @@ +/** + * attributes.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +function init() { + tinyMCEPopup.resizeToInnerSize(); + var inst = tinyMCEPopup.editor; + var dom = inst.dom; + var elm = inst.selection.getNode(); + var f = document.forms[0]; + var onclick = dom.getAttrib(elm, 'onclick'); + + setFormValue('title', dom.getAttrib(elm, 'title')); + setFormValue('id', dom.getAttrib(elm, 'id')); + setFormValue('style', dom.getAttrib(elm, "style")); + setFormValue('dir', dom.getAttrib(elm, 'dir')); + setFormValue('lang', dom.getAttrib(elm, 'lang')); + setFormValue('tabindex', dom.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : "")); + setFormValue('accesskey', dom.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : "")); + setFormValue('onfocus', dom.getAttrib(elm, 'onfocus')); + setFormValue('onblur', dom.getAttrib(elm, 'onblur')); + setFormValue('onclick', onclick); + setFormValue('ondblclick', dom.getAttrib(elm, 'ondblclick')); + setFormValue('onmousedown', dom.getAttrib(elm, 'onmousedown')); + setFormValue('onmouseup', dom.getAttrib(elm, 'onmouseup')); + setFormValue('onmouseover', dom.getAttrib(elm, 'onmouseover')); + setFormValue('onmousemove', dom.getAttrib(elm, 'onmousemove')); + setFormValue('onmouseout', dom.getAttrib(elm, 'onmouseout')); + setFormValue('onkeypress', dom.getAttrib(elm, 'onkeypress')); + setFormValue('onkeydown', dom.getAttrib(elm, 'onkeydown')); + setFormValue('onkeyup', dom.getAttrib(elm, 'onkeyup')); + className = dom.getAttrib(elm, 'class'); + + addClassesToList('classlist', 'advlink_styles'); + selectByValue(f, 'classlist', className, true); + + TinyMCE_EditableSelects.init(); +} + +function setFormValue(name, value) { + if(value && document.forms[0].elements[name]){ + document.forms[0].elements[name].value = value; + } +} + +function insertAction() { + var inst = tinyMCEPopup.editor; + var elm = inst.selection.getNode(); + + setAllAttribs(elm); + tinyMCEPopup.execCommand("mceEndUndoLevel"); + tinyMCEPopup.close(); +} + +function setAttrib(elm, attrib, value) { + var formObj = document.forms[0]; + var valueElm = formObj.elements[attrib.toLowerCase()]; + var inst = tinyMCEPopup.editor; + var dom = inst.dom; + + if (typeof(value) == "undefined" || value == null) { + value = ""; + + if (valueElm) + value = valueElm.value; + } + + dom.setAttrib(elm, attrib.toLowerCase(), value); +} + +function setAllAttribs(elm) { + var f = document.forms[0]; + + setAttrib(elm, 'title'); + setAttrib(elm, 'id'); + setAttrib(elm, 'style'); + setAttrib(elm, 'class', getSelectValue(f, 'classlist')); + setAttrib(elm, 'dir'); + setAttrib(elm, 'lang'); + setAttrib(elm, 'tabindex'); + setAttrib(elm, 'accesskey'); + setAttrib(elm, 'onfocus'); + setAttrib(elm, 'onblur'); + setAttrib(elm, 'onclick'); + setAttrib(elm, 'ondblclick'); + setAttrib(elm, 'onmousedown'); + setAttrib(elm, 'onmouseup'); + setAttrib(elm, 'onmouseover'); + setAttrib(elm, 'onmousemove'); + setAttrib(elm, 'onmouseout'); + setAttrib(elm, 'onkeypress'); + setAttrib(elm, 'onkeydown'); + setAttrib(elm, 'onkeyup'); + + // Refresh in old MSIE +// if (tinyMCE.isMSIE5) +// elm.outerHTML = elm.outerHTML; +} + +function insertAttribute() { + tinyMCEPopup.close(); +} + +tinyMCEPopup.onInit.add(init); +tinyMCEPopup.requireLangPack(); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js new file mode 100644 index 00000000..b73ef473 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js @@ -0,0 +1,28 @@ +/** + * cite.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +function init() { + SXE.initElementDialog('cite'); + if (SXE.currentAction == "update") { + SXE.showRemoveButton(); + } +} + +function insertCite() { + SXE.insertElement('cite'); + tinyMCEPopup.close(); +} + +function removeCite() { + SXE.removeElement('cite'); + tinyMCEPopup.close(); +} + +tinyMCEPopup.onInit.add(init); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js new file mode 100644 index 00000000..a5397f7e --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js @@ -0,0 +1,53 @@ +/** + * del.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +function init() { + SXE.initElementDialog('del'); + if (SXE.currentAction == "update") { + setFormValue('datetime', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'datetime')); + setFormValue('cite', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'cite')); + SXE.showRemoveButton(); + } +} + +function setElementAttribs(elm) { + setAllCommonAttribs(elm); + setAttrib(elm, 'datetime'); + setAttrib(elm, 'cite'); + elm.removeAttribute('data-mce-new'); +} + +function insertDel() { + var elm = tinyMCEPopup.editor.dom.getParent(SXE.focusElement, 'DEL'); + + if (elm == null) { + var s = SXE.inst.selection.getContent(); + if(s.length > 0) { + insertInlineElement('del'); + var elementArray = SXE.inst.dom.select('del[data-mce-new]'); + for (var i=0; i 0) { + tagName = element_name; + + insertInlineElement(element_name); + var elementArray = tinymce.grep(SXE.inst.dom.select(element_name)); + for (var i=0; i -1) ? true : false; +} + +SXE.removeClass = function(elm,cl) { + if(elm.className == null || elm.className == "" || !SXE.containsClass(elm,cl)) { + return true; + } + var classNames = elm.className.split(" "); + var newClassNames = ""; + for (var x = 0, cnl = classNames.length; x < cnl; x++) { + if (classNames[x] != cl) { + newClassNames += (classNames[x] + " "); + } + } + elm.className = newClassNames.substring(0,newClassNames.length-1); //removes extra space at the end +} + +SXE.addClass = function(elm,cl) { + if(!SXE.containsClass(elm,cl)) elm.className ? elm.className += " " + cl : elm.className = cl; + return true; +} + +function insertInlineElement(en) { + var ed = tinyMCEPopup.editor, dom = ed.dom; + + ed.getDoc().execCommand('FontName', false, 'mceinline'); + tinymce.each(dom.select('span,font'), function(n) { + if (n.style.fontFamily == 'mceinline' || n.face == 'mceinline') + dom.replace(dom.create(en, {'data-mce-new' : 1}), n, 1); + }); +} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js new file mode 100644 index 00000000..71a8a261 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js @@ -0,0 +1,53 @@ +/** + * ins.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +function init() { + SXE.initElementDialog('ins'); + if (SXE.currentAction == "update") { + setFormValue('datetime', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'datetime')); + setFormValue('cite', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'cite')); + SXE.showRemoveButton(); + } +} + +function setElementAttribs(elm) { + setAllCommonAttribs(elm); + setAttrib(elm, 'datetime'); + setAttrib(elm, 'cite'); + elm.removeAttribute('data-mce-new'); +} + +function insertIns() { + var elm = tinyMCEPopup.editor.dom.getParent(SXE.focusElement, 'INS'); + + if (elm == null) { + var s = SXE.inst.selection.getContent(); + if(s.length > 0) { + insertInlineElement('ins'); + var elementArray = SXE.inst.dom.select('ins[data-mce-new]'); + for (var i=0; i + + + {#advanced_dlg.about_title} + + + + + + + +
+
+

{#advanced_dlg.about_title}

+

Version: ()

+

TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control released as Open Source under LGPL + by Moxiecode Systems AB. It has the ability to convert HTML TEXTAREA fields or other HTML elements to editor instances.

+

Copyright © 2003-2008, Moxiecode Systems AB, All rights reserved.

+

For more information about this software visit the TinyMCE website.

+ +
+ Got Moxie? +
+
+ +
+
+

{#advanced_dlg.about_loaded}

+ +
+
+ +

 

+
+
+ +
+
+
+
+ +
+ +
+ + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/anchor.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/anchor.htm new file mode 100644 index 00000000..dc53312d --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/anchor.htm @@ -0,0 +1,26 @@ + + + + {#advanced_dlg.anchor_title} + + + + +
+ + + + + + + + +
{#advanced_dlg.anchor_title}
+ +
+ + +
+
+ + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/charmap.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/charmap.htm new file mode 100644 index 00000000..8f172f3b --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/charmap.htm @@ -0,0 +1,51 @@ + + + + {#advanced_dlg.charmap_title} + + + + + + + + + + + + + + + +
+ + + + + + + + + +
 
 
+
+ + + + + + + + + + + + + + + + +
 
 
 
+
+ + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/color_picker.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/color_picker.htm new file mode 100644 index 00000000..e7f19aba --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/color_picker.htm @@ -0,0 +1,74 @@ + + + + {#advanced_dlg.colorpicker_title} + + + + + + +
+ + +
+
+
+ {#advanced_dlg.colorpicker_picker_title} +
+ + +
+ +
+ +
+
+
+
+ +
+
+ {#advanced_dlg.colorpicker_palette_title} +
+ +
+ +
+
+
+ +
+
+ {#advanced_dlg.colorpicker_named_title} +
+ +
+ +
+ +
+ {#advanced_dlg.colorpicker_name} +
+
+
+
+ +
+ + +
+ +
+ +
+
+
+ + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/editor_template.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/editor_template.js new file mode 100644 index 00000000..7f30c18e --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/editor_template.js @@ -0,0 +1 @@ +(function(e){var d=e.DOM,b=e.dom.Event,h=e.extend,f=e.each,a=e.util.Cookie,g,c=e.explode;e.ThemeManager.requireLangPack("advanced");e.create("tinymce.themes.AdvancedTheme",{sizes:[8,10,12,14,18,24,36],controls:{bold:["bold_desc","Bold"],italic:["italic_desc","Italic"],underline:["underline_desc","Underline"],strikethrough:["striketrough_desc","Strikethrough"],justifyleft:["justifyleft_desc","JustifyLeft"],justifycenter:["justifycenter_desc","JustifyCenter"],justifyright:["justifyright_desc","JustifyRight"],justifyfull:["justifyfull_desc","JustifyFull"],bullist:["bullist_desc","InsertUnorderedList"],numlist:["numlist_desc","InsertOrderedList"],outdent:["outdent_desc","Outdent"],indent:["indent_desc","Indent"],cut:["cut_desc","Cut"],copy:["copy_desc","Copy"],paste:["paste_desc","Paste"],undo:["undo_desc","Undo"],redo:["redo_desc","Redo"],link:["link_desc","mceLink"],unlink:["unlink_desc","unlink"],image:["image_desc","mceImage"],cleanup:["cleanup_desc","mceCleanup"],help:["help_desc","mceHelp"],code:["code_desc","mceCodeEditor"],hr:["hr_desc","InsertHorizontalRule"],removeformat:["removeformat_desc","RemoveFormat"],sub:["sub_desc","subscript"],sup:["sup_desc","superscript"],forecolor:["forecolor_desc","ForeColor"],forecolorpicker:["forecolor_desc","mceForeColor"],backcolor:["backcolor_desc","HiliteColor"],backcolorpicker:["backcolor_desc","mceBackColor"],charmap:["charmap_desc","mceCharMap"],visualaid:["visualaid_desc","mceToggleVisualAid"],anchor:["anchor_desc","mceInsertAnchor"],newdocument:["newdocument_desc","mceNewDocument"],blockquote:["blockquote_desc","mceBlockQuote"]},stateControls:["bold","italic","underline","strikethrough","bullist","numlist","justifyleft","justifycenter","justifyright","justifyfull","sub","sup","blockquote"],init:function(j,k){var l=this,m,i,n;l.editor=j;l.url=k;l.onResolveName=new e.util.Dispatcher(this);j.forcedHighContrastMode=j.settings.detect_highcontrast&&l._isHighContrast();j.settings.skin=j.forcedHighContrastMode?"highcontrast":j.settings.skin;l.settings=m=h({theme_advanced_path:true,theme_advanced_toolbar_location:"bottom",theme_advanced_buttons1:"bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect",theme_advanced_buttons2:"bullist,numlist,|,outdent,indent,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code",theme_advanced_buttons3:"hr,removeformat,visualaid,|,sub,sup,|,charmap",theme_advanced_blockformats:"p,address,pre,h1,h2,h3,h4,h5,h6",theme_advanced_toolbar_align:"center",theme_advanced_fonts:"Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats",theme_advanced_more_colors:1,theme_advanced_row_height:23,theme_advanced_resize_horizontal:1,theme_advanced_resizing_use_cookie:1,theme_advanced_font_sizes:"1,2,3,4,5,6,7",theme_advanced_font_selector:"span",theme_advanced_show_current_color:0,readonly:j.settings.readonly},j.settings);if(!m.font_size_style_values){m.font_size_style_values="8pt,10pt,12pt,14pt,18pt,24pt,36pt"}if(e.is(m.theme_advanced_font_sizes,"string")){m.font_size_style_values=e.explode(m.font_size_style_values);m.font_size_classes=e.explode(m.font_size_classes||"");n={};j.settings.theme_advanced_font_sizes=m.theme_advanced_font_sizes;f(j.getParam("theme_advanced_font_sizes","","hash"),function(q,p){var o;if(p==q&&q>=1&&q<=7){p=q+" ("+l.sizes[q-1]+"pt)";o=m.font_size_classes[q-1];q=m.font_size_style_values[q-1]||(l.sizes[q-1]+"pt")}if(/^\s*\./.test(q)){o=q.replace(/\./g,"")}n[p]=o?{"class":o}:{fontSize:q}});m.theme_advanced_font_sizes=n}if((i=m.theme_advanced_path_location)&&i!="none"){m.theme_advanced_statusbar_location=m.theme_advanced_path_location}if(m.theme_advanced_statusbar_location=="none"){m.theme_advanced_statusbar_location=0}if(j.settings.content_css!==false){j.contentCSS.push(j.baseURI.toAbsolute(k+"/skins/"+j.settings.skin+"/content.css"))}j.onInit.add(function(){if(!j.settings.readonly){j.onNodeChange.add(l._nodeChanged,l);j.onKeyUp.add(l._updateUndoStatus,l);j.onMouseUp.add(l._updateUndoStatus,l);j.dom.bind(j.dom.getRoot(),"dragend",function(){l._updateUndoStatus(j)})}});j.onSetProgressState.add(function(q,o,r){var s,t=q.id,p;if(o){l.progressTimer=setTimeout(function(){s=q.getContainer();s=s.insertBefore(d.create("DIV",{style:"position:relative"}),s.firstChild);p=d.get(q.id+"_tbl");d.add(s,"div",{id:t+"_blocker","class":"mceBlocker",style:{width:p.clientWidth+2,height:p.clientHeight+2}});d.add(s,"div",{id:t+"_progress","class":"mceProgress",style:{left:p.clientWidth/2,top:p.clientHeight/2}})},r||0)}else{d.remove(t+"_blocker");d.remove(t+"_progress");clearTimeout(l.progressTimer)}});d.loadCSS(m.editor_css?j.documentBaseURI.toAbsolute(m.editor_css):k+"/skins/"+j.settings.skin+"/ui.css");if(m.skin_variant){d.loadCSS(k+"/skins/"+j.settings.skin+"/ui_"+m.skin_variant+".css")}},_isHighContrast:function(){var i,j=d.add(d.getRoot(),"div",{style:"background-color: rgb(171,239,86);"});i=(d.getStyle(j,"background-color",true)+"").toLowerCase().replace(/ /g,"");d.remove(j);return i!="rgb(171,239,86)"&&i!="#abef56"},createControl:function(l,i){var j,k;if(k=i.createControl(l)){return k}switch(l){case"styleselect":return this._createStyleSelect();case"formatselect":return this._createBlockFormats();case"fontselect":return this._createFontSelect();case"fontsizeselect":return this._createFontSizeSelect();case"forecolor":return this._createForeColorMenu();case"backcolor":return this._createBackColorMenu()}if((j=this.controls[l])){return i.createButton(l,{title:"advanced."+j[0],cmd:j[1],ui:j[2],value:j[3]})}},execCommand:function(k,j,l){var i=this["_"+k];if(i){i.call(this,j,l);return true}return false},_importClasses:function(k){var i=this.editor,j=i.controlManager.get("styleselect");if(j.getLength()==0){f(i.dom.getClasses(),function(n,l){var m="style_"+l;i.formatter.register(m,{inline:"span",attributes:{"class":n["class"]},selector:"*"});j.add(n["class"],m)})}},_createStyleSelect:function(m){var k=this,i=k.editor,j=i.controlManager,l;l=j.createListBox("styleselect",{title:"advanced.style_select",onselect:function(o){var p,n=[];f(l.items,function(q){n.push(q.value)});i.focus();i.undoManager.add();p=i.formatter.matchAll(n);if(!o||p[0]==o){if(p[0]){i.formatter.remove(p[0])}}else{i.formatter.apply(o)}i.undoManager.add();i.nodeChanged();return false}});i.onInit.add(function(){var o=0,n=i.getParam("style_formats");if(n){f(n,function(p){var q,r=0;f(p,function(){r++});if(r>1){q=p.name=p.name||"style_"+(o++);i.formatter.register(q,p);l.add(p.title,q)}else{l.add(p.title)}})}else{f(i.getParam("theme_advanced_styles","","hash"),function(r,q){var p;if(r){p="style_"+(o++);i.formatter.register(p,{inline:"span",classes:r,selector:"*"});l.add(k.editor.translate(q),p)}})}});if(l.getLength()==0){l.onPostRender.add(function(o,p){if(!l.NativeListBox){b.add(p.id+"_text","focus",k._importClasses,k);b.add(p.id+"_text","mousedown",k._importClasses,k);b.add(p.id+"_open","focus",k._importClasses,k);b.add(p.id+"_open","mousedown",k._importClasses,k)}else{b.add(p.id,"focus",k._importClasses,k)}})}return l},_createFontSelect:function(){var k,j=this,i=j.editor;k=i.controlManager.createListBox("fontselect",{title:"advanced.fontdefault",onselect:function(l){var m=k.items[k.selectedIndex];if(!l&&m){i.execCommand("FontName",false,m.value);return}i.execCommand("FontName",false,l);k.select(function(n){return l==n});if(m&&m.value==l){k.select(null)}return false}});if(k){f(i.getParam("theme_advanced_fonts",j.settings.theme_advanced_fonts,"hash"),function(m,l){k.add(i.translate(l),m,{style:m.indexOf("dings")==-1?"font-family:"+m:""})})}return k},_createFontSizeSelect:function(){var m=this,k=m.editor,n,l=0,j=[];n=k.controlManager.createListBox("fontsizeselect",{title:"advanced.font_size",onselect:function(i){var o=n.items[n.selectedIndex];if(!i&&o){o=o.value;if(o["class"]){k.formatter.toggle("fontsize_class",{value:o["class"]});k.undoManager.add();k.nodeChanged()}else{k.execCommand("FontSize",false,o.fontSize)}return}if(i["class"]){k.focus();k.undoManager.add();k.formatter.toggle("fontsize_class",{value:i["class"]});k.undoManager.add();k.nodeChanged()}else{k.execCommand("FontSize",false,i.fontSize)}n.select(function(p){return i==p});if(o&&(o.value.fontSize==i.fontSize||o.value["class"]==i["class"])){n.select(null)}return false}});if(n){f(m.settings.theme_advanced_font_sizes,function(o,i){var p=o.fontSize;if(p>=1&&p<=7){p=m.sizes[parseInt(p)-1]+"pt"}n.add(i,o,{style:"font-size:"+p,"class":"mceFontSize"+(l++)+(" "+(o["class"]||""))})})}return n},_createBlockFormats:function(){var k,i={p:"advanced.paragraph",address:"advanced.address",pre:"advanced.pre",h1:"advanced.h1",h2:"advanced.h2",h3:"advanced.h3",h4:"advanced.h4",h5:"advanced.h5",h6:"advanced.h6",div:"advanced.div",blockquote:"advanced.blockquote",code:"advanced.code",dt:"advanced.dt",dd:"advanced.dd",samp:"advanced.samp"},j=this;k=j.editor.controlManager.createListBox("formatselect",{title:"advanced.block",onselect:function(l){j.editor.execCommand("FormatBlock",false,l);return false}});if(k){f(j.editor.getParam("theme_advanced_blockformats",j.settings.theme_advanced_blockformats,"hash"),function(m,l){k.add(j.editor.translate(l!=m?l:i[m]),m,{"class":"mce_formatPreview mce_"+m})})}return k},_createForeColorMenu:function(){var m,j=this,k=j.settings,l={},i;if(k.theme_advanced_more_colors){l.more_colors_func=function(){j._mceColorPicker(0,{color:m.value,func:function(n){m.setColor(n)}})}}if(i=k.theme_advanced_text_colors){l.colors=i}if(k.theme_advanced_default_foreground_color){l.default_color=k.theme_advanced_default_foreground_color}l.title="advanced.forecolor_desc";l.cmd="ForeColor";l.scope=this;m=j.editor.controlManager.createColorSplitButton("forecolor",l);return m},_createBackColorMenu:function(){var m,j=this,k=j.settings,l={},i;if(k.theme_advanced_more_colors){l.more_colors_func=function(){j._mceColorPicker(0,{color:m.value,func:function(n){m.setColor(n)}})}}if(i=k.theme_advanced_background_colors){l.colors=i}if(k.theme_advanced_default_background_color){l.default_color=k.theme_advanced_default_background_color}l.title="advanced.backcolor_desc";l.cmd="HiliteColor";l.scope=this;m=j.editor.controlManager.createColorSplitButton("backcolor",l);return m},renderUI:function(k){var m,l,q,v=this,r=v.editor,w=v.settings,u,j,i;if(r.settings){r.settings.aria_label=w.aria_label+r.getLang("advanced.help_shortcut")}m=j=d.create("span",{role:"application","aria-labelledby":r.id+"_voice",id:r.id+"_parent","class":"mceEditor "+r.settings.skin+"Skin"+(w.skin_variant?" "+r.settings.skin+"Skin"+v._ufirst(w.skin_variant):"")});d.add(m,"span",{"class":"mceVoiceLabel",style:"display:none;",id:r.id+"_voice"},w.aria_label);if(!d.boxModel){m=d.add(m,"div",{"class":"mceOldBoxModel"})}m=u=d.add(m,"table",{role:"presentation",id:r.id+"_tbl","class":"mceLayout",cellSpacing:0,cellPadding:0});m=q=d.add(m,"tbody");switch((w.theme_advanced_layout_manager||"").toLowerCase()){case"rowlayout":l=v._rowLayout(w,q,k);break;case"customlayout":l=r.execCallback("theme_advanced_custom_layout",w,q,k,j);break;default:l=v._simpleLayout(w,q,k,j)}m=k.targetNode;i=u.rows;d.addClass(i[0],"mceFirst");d.addClass(i[i.length-1],"mceLast");f(d.select("tr",q),function(o){d.addClass(o.firstChild,"mceFirst");d.addClass(o.childNodes[o.childNodes.length-1],"mceLast")});if(d.get(w.theme_advanced_toolbar_container)){d.get(w.theme_advanced_toolbar_container).appendChild(j)}else{d.insertAfter(j,m)}b.add(r.id+"_path_row","click",function(n){n=n.target;if(n.nodeName=="A"){v._sel(n.className.replace(/^.*mcePath_([0-9]+).*$/,"$1"));return b.cancel(n)}});if(!r.getParam("accessibility_focus")){b.add(d.add(j,"a",{href:"#"},""),"focus",function(){tinyMCE.get(r.id).focus()})}if(w.theme_advanced_toolbar_location=="external"){k.deltaHeight=0}v.deltaHeight=k.deltaHeight;k.targetNode=null;r.onKeyDown.add(function(p,n){var s=121,o=122;if(n.altKey){if(n.keyCode===s){window.focus();v.toolbarGroup.focus();return b.cancel(n)}else{if(n.keyCode===o){d.get(p.id+"_path_row").focus();return b.cancel(n)}}}});r.addShortcut("alt+0","","mceShortcuts",v);return{iframeContainer:l,editorContainer:r.id+"_parent",sizeContainer:u,deltaHeight:k.deltaHeight}},getInfo:function(){return{longname:"Advanced theme",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",version:e.majorVersion+"."+e.minorVersion}},resizeBy:function(i,j){var k=d.get(this.editor.id+"_ifr");this.resizeTo(k.clientWidth+i,k.clientHeight+j)},resizeTo:function(i,m,k){var j=this.editor,l=this.settings,n=d.get(j.id+"_tbl"),o=d.get(j.id+"_ifr");i=Math.max(l.theme_advanced_resizing_min_width||100,i);m=Math.max(l.theme_advanced_resizing_min_height||100,m);i=Math.min(l.theme_advanced_resizing_max_width||65535,i);m=Math.min(l.theme_advanced_resizing_max_height||65535,m);d.setStyle(n,"height","");d.setStyle(o,"height",m);if(l.theme_advanced_resize_horizontal){d.setStyle(n,"width","");d.setStyle(o,"width",i);if(i"));d.setHTML(l,q.join(""))},_addStatusBar:function(m,j){var k,v=this,p=v.editor,w=v.settings,i,q,u,l;k=d.add(m,"tr");k=l=d.add(k,"td",{"class":"mceStatusbar"});k=d.add(k,"div",{id:p.id+"_path_row",role:"group","aria-labelledby":p.id+"_path_voice"});if(w.theme_advanced_path){d.add(k,"span",{id:p.id+"_path_voice"},p.translate("advanced.path"));d.add(k,"span",{},": ")}else{d.add(k,"span",{}," ")}if(w.theme_advanced_resizing){d.add(l,"a",{id:p.id+"_resize",href:"javascript:;",onclick:"return false;","class":"mceResize",tabIndex:"-1"});if(w.theme_advanced_resizing_use_cookie){p.onPostRender.add(function(){var n=a.getHash("TinyMCE_"+p.id+"_size"),r=d.get(p.id+"_tbl");if(!n){return}v.resizeTo(n.cw,n.ch)})}p.onPostRender.add(function(){b.add(p.id+"_resize","click",function(n){n.preventDefault()});b.add(p.id+"_resize","mousedown",function(D){var t,r,s,o,C,z,A,F,n,E,x;function y(G){G.preventDefault();n=A+(G.screenX-C);E=F+(G.screenY-z);v.resizeTo(n,E)}function B(G){b.remove(d.doc,"mousemove",t);b.remove(p.getDoc(),"mousemove",r);b.remove(d.doc,"mouseup",s);b.remove(p.getDoc(),"mouseup",o);n=A+(G.screenX-C);E=F+(G.screenY-z);v.resizeTo(n,E,true)}D.preventDefault();C=D.screenX;z=D.screenY;x=d.get(v.editor.id+"_ifr");A=n=x.clientWidth;F=E=x.clientHeight;t=b.add(d.doc,"mousemove",y);r=b.add(p.getDoc(),"mousemove",y);s=b.add(d.doc,"mouseup",B);o=b.add(p.getDoc(),"mouseup",B)})})}j.deltaHeight-=21;k=m=null},_updateUndoStatus:function(j){var i=j.controlManager,k=j.undoManager;i.setDisabled("undo",!k.hasUndo()&&!k.typing);i.setDisabled("redo",!k.hasRedo())},_nodeChanged:function(m,r,D,q,E){var y=this,C,F=0,x,G,z=y.settings,w,k,u,B,l,j,i;e.each(y.stateControls,function(n){r.setActive(n,m.queryCommandState(y.controls[n][1]))});function o(p){var s,n=E.parents,t=p;if(typeof(p)=="string"){t=function(v){return v.nodeName==p}}for(s=0;s0){y.statusKeyboardNavigation=new e.ui.KeyboardNavigation({root:m.id+"_path_row",items:d.select("a",C),excludeFromTabOrder:true,onCancel:function(){m.focus()}},d)}}},_sel:function(i){this.editor.execCommand("mceSelectNodeDepth",false,i)},_mceInsertAnchor:function(k,j){var i=this.editor;i.windowManager.open({url:this.url+"/anchor.htm",width:320+parseInt(i.getLang("advanced.anchor_delta_width",0)),height:90+parseInt(i.getLang("advanced.anchor_delta_height",0)),inline:true},{theme_url:this.url})},_mceCharMap:function(){var i=this.editor;i.windowManager.open({url:this.url+"/charmap.htm",width:550+parseInt(i.getLang("advanced.charmap_delta_width",0)),height:250+parseInt(i.getLang("advanced.charmap_delta_height",0)),inline:true},{theme_url:this.url})},_mceHelp:function(){var i=this.editor;i.windowManager.open({url:this.url+"/about.htm",width:480,height:380,inline:true},{theme_url:this.url})},_mceShortcuts:function(){var i=this.editor;i.windowManager.open({url:this.url+"/shortcuts.htm",width:480,height:380,inline:true},{theme_url:this.url})},_mceColorPicker:function(k,j){var i=this.editor;j=j||{};i.windowManager.open({url:this.url+"/color_picker.htm",width:375+parseInt(i.getLang("advanced.colorpicker_delta_width",0)),height:250+parseInt(i.getLang("advanced.colorpicker_delta_height",0)),close_previous:false,inline:true},{input_color:j.color,func:j.func,theme_url:this.url})},_mceCodeEditor:function(j,k){var i=this.editor;i.windowManager.open({url:this.url+"/source_editor.htm",width:parseInt(i.getParam("theme_advanced_source_editor_width",720)),height:parseInt(i.getParam("theme_advanced_source_editor_height",580)),inline:true,resizable:true,maximizable:true},{theme_url:this.url})},_mceImage:function(j,k){var i=this.editor;if(i.dom.getAttrib(i.selection.getNode(),"class").indexOf("mceItem")!=-1){return}i.windowManager.open({url:this.url+"/image.htm",width:355+parseInt(i.getLang("advanced.image_delta_width",0)),height:275+parseInt(i.getLang("advanced.image_delta_height",0)),inline:true},{theme_url:this.url})},_mceLink:function(j,k){var i=this.editor;i.windowManager.open({url:this.url+"/link.htm",width:310+parseInt(i.getLang("advanced.link_delta_width",0)),height:200+parseInt(i.getLang("advanced.link_delta_height",0)),inline:true},{theme_url:this.url})},_mceNewDocument:function(){var i=this.editor;i.windowManager.confirm("advanced.newdocument",function(j){if(j){i.execCommand("mceSetContent",false,"")}})},_mceForeColor:function(){var i=this;this._mceColorPicker(0,{color:i.fgColor,func:function(j){i.fgColor=j;i.editor.execCommand("ForeColor",false,j)}})},_mceBackColor:function(){var i=this;this._mceColorPicker(0,{color:i.bgColor,func:function(j){i.bgColor=j;i.editor.execCommand("HiliteColor",false,j)}})},_ufirst:function(i){return i.substring(0,1).toUpperCase()+i.substring(1)}});e.ThemeManager.add("advanced",e.themes.AdvancedTheme)}(tinymce)); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/editor_template_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/editor_template_src.js new file mode 100644 index 00000000..4cbdb93b --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/editor_template_src.js @@ -0,0 +1,1358 @@ +/** + * editor_template_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function(tinymce) { + var DOM = tinymce.DOM, Event = tinymce.dom.Event, extend = tinymce.extend, each = tinymce.each, Cookie = tinymce.util.Cookie, lastExtID, explode = tinymce.explode; + + // Tell it to load theme specific language pack(s) + tinymce.ThemeManager.requireLangPack('advanced'); + + tinymce.create('tinymce.themes.AdvancedTheme', { + sizes : [8, 10, 12, 14, 18, 24, 36], + + // Control name lookup, format: title, command + controls : { + bold : ['bold_desc', 'Bold'], + italic : ['italic_desc', 'Italic'], + underline : ['underline_desc', 'Underline'], + strikethrough : ['striketrough_desc', 'Strikethrough'], + justifyleft : ['justifyleft_desc', 'JustifyLeft'], + justifycenter : ['justifycenter_desc', 'JustifyCenter'], + justifyright : ['justifyright_desc', 'JustifyRight'], + justifyfull : ['justifyfull_desc', 'JustifyFull'], + bullist : ['bullist_desc', 'InsertUnorderedList'], + numlist : ['numlist_desc', 'InsertOrderedList'], + outdent : ['outdent_desc', 'Outdent'], + indent : ['indent_desc', 'Indent'], + cut : ['cut_desc', 'Cut'], + copy : ['copy_desc', 'Copy'], + paste : ['paste_desc', 'Paste'], + undo : ['undo_desc', 'Undo'], + redo : ['redo_desc', 'Redo'], + link : ['link_desc', 'mceLink'], + unlink : ['unlink_desc', 'unlink'], + image : ['image_desc', 'mceImage'], + cleanup : ['cleanup_desc', 'mceCleanup'], + help : ['help_desc', 'mceHelp'], + code : ['code_desc', 'mceCodeEditor'], + hr : ['hr_desc', 'InsertHorizontalRule'], + removeformat : ['removeformat_desc', 'RemoveFormat'], + sub : ['sub_desc', 'subscript'], + sup : ['sup_desc', 'superscript'], + forecolor : ['forecolor_desc', 'ForeColor'], + forecolorpicker : ['forecolor_desc', 'mceForeColor'], + backcolor : ['backcolor_desc', 'HiliteColor'], + backcolorpicker : ['backcolor_desc', 'mceBackColor'], + charmap : ['charmap_desc', 'mceCharMap'], + visualaid : ['visualaid_desc', 'mceToggleVisualAid'], + anchor : ['anchor_desc', 'mceInsertAnchor'], + newdocument : ['newdocument_desc', 'mceNewDocument'], + blockquote : ['blockquote_desc', 'mceBlockQuote'] + }, + + stateControls : ['bold', 'italic', 'underline', 'strikethrough', 'bullist', 'numlist', 'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', 'sub', 'sup', 'blockquote'], + + init : function(ed, url) { + var t = this, s, v, o; + + t.editor = ed; + t.url = url; + t.onResolveName = new tinymce.util.Dispatcher(this); + + ed.forcedHighContrastMode = ed.settings.detect_highcontrast && t._isHighContrast(); + ed.settings.skin = ed.forcedHighContrastMode ? 'highcontrast' : ed.settings.skin; + + // Default settings + t.settings = s = extend({ + theme_advanced_path : true, + theme_advanced_toolbar_location : 'bottom', + theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect", + theme_advanced_buttons2 : "bullist,numlist,|,outdent,indent,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code", + theme_advanced_buttons3 : "hr,removeformat,visualaid,|,sub,sup,|,charmap", + theme_advanced_blockformats : "p,address,pre,h1,h2,h3,h4,h5,h6", + theme_advanced_toolbar_align : "center", + theme_advanced_fonts : "Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats", + theme_advanced_more_colors : 1, + theme_advanced_row_height : 23, + theme_advanced_resize_horizontal : 1, + theme_advanced_resizing_use_cookie : 1, + theme_advanced_font_sizes : "1,2,3,4,5,6,7", + theme_advanced_font_selector : "span", + theme_advanced_show_current_color: 0, + readonly : ed.settings.readonly + }, ed.settings); + + // Setup default font_size_style_values + if (!s.font_size_style_values) + s.font_size_style_values = "8pt,10pt,12pt,14pt,18pt,24pt,36pt"; + + if (tinymce.is(s.theme_advanced_font_sizes, 'string')) { + s.font_size_style_values = tinymce.explode(s.font_size_style_values); + s.font_size_classes = tinymce.explode(s.font_size_classes || ''); + + // Parse string value + o = {}; + ed.settings.theme_advanced_font_sizes = s.theme_advanced_font_sizes; + each(ed.getParam('theme_advanced_font_sizes', '', 'hash'), function(v, k) { + var cl; + + if (k == v && v >= 1 && v <= 7) { + k = v + ' (' + t.sizes[v - 1] + 'pt)'; + cl = s.font_size_classes[v - 1]; + v = s.font_size_style_values[v - 1] || (t.sizes[v - 1] + 'pt'); + } + + if (/^\s*\./.test(v)) + cl = v.replace(/\./g, ''); + + o[k] = cl ? {'class' : cl} : {fontSize : v}; + }); + + s.theme_advanced_font_sizes = o; + } + + if ((v = s.theme_advanced_path_location) && v != 'none') + s.theme_advanced_statusbar_location = s.theme_advanced_path_location; + + if (s.theme_advanced_statusbar_location == 'none') + s.theme_advanced_statusbar_location = 0; + + if (ed.settings.content_css !== false) + ed.contentCSS.push(ed.baseURI.toAbsolute(url + "/skins/" + ed.settings.skin + "/content.css")); + + // Init editor + ed.onInit.add(function() { + if (!ed.settings.readonly) { + ed.onNodeChange.add(t._nodeChanged, t); + ed.onKeyUp.add(t._updateUndoStatus, t); + ed.onMouseUp.add(t._updateUndoStatus, t); + ed.dom.bind(ed.dom.getRoot(), 'dragend', function() { + t._updateUndoStatus(ed); + }); + } + }); + + ed.onSetProgressState.add(function(ed, b, ti) { + var co, id = ed.id, tb; + + if (b) { + t.progressTimer = setTimeout(function() { + co = ed.getContainer(); + co = co.insertBefore(DOM.create('DIV', {style : 'position:relative'}), co.firstChild); + tb = DOM.get(ed.id + '_tbl'); + + DOM.add(co, 'div', {id : id + '_blocker', 'class' : 'mceBlocker', style : {width : tb.clientWidth + 2, height : tb.clientHeight + 2}}); + DOM.add(co, 'div', {id : id + '_progress', 'class' : 'mceProgress', style : {left : tb.clientWidth / 2, top : tb.clientHeight / 2}}); + }, ti || 0); + } else { + DOM.remove(id + '_blocker'); + DOM.remove(id + '_progress'); + clearTimeout(t.progressTimer); + } + }); + + DOM.loadCSS(s.editor_css ? ed.documentBaseURI.toAbsolute(s.editor_css) : url + "/skins/" + ed.settings.skin + "/ui.css"); + + if (s.skin_variant) + DOM.loadCSS(url + "/skins/" + ed.settings.skin + "/ui_" + s.skin_variant + ".css"); + }, + + _isHighContrast : function() { + var actualColor, div = DOM.add(DOM.getRoot(), 'div', {'style': 'background-color: rgb(171,239,86);'}); + + actualColor = (DOM.getStyle(div, 'background-color', true) + '').toLowerCase().replace(/ /g, ''); + DOM.remove(div); + + return actualColor != 'rgb(171,239,86)' && actualColor != '#abef56'; + }, + + createControl : function(n, cf) { + var cd, c; + + if (c = cf.createControl(n)) + return c; + + switch (n) { + case "styleselect": + return this._createStyleSelect(); + + case "formatselect": + return this._createBlockFormats(); + + case "fontselect": + return this._createFontSelect(); + + case "fontsizeselect": + return this._createFontSizeSelect(); + + case "forecolor": + return this._createForeColorMenu(); + + case "backcolor": + return this._createBackColorMenu(); + } + + if ((cd = this.controls[n])) + return cf.createButton(n, {title : "advanced." + cd[0], cmd : cd[1], ui : cd[2], value : cd[3]}); + }, + + execCommand : function(cmd, ui, val) { + var f = this['_' + cmd]; + + if (f) { + f.call(this, ui, val); + return true; + } + + return false; + }, + + _importClasses : function(e) { + var ed = this.editor, ctrl = ed.controlManager.get('styleselect'); + + if (ctrl.getLength() == 0) { + each(ed.dom.getClasses(), function(o, idx) { + var name = 'style_' + idx; + + ed.formatter.register(name, { + inline : 'span', + attributes : {'class' : o['class']}, + selector : '*' + }); + + ctrl.add(o['class'], name); + }); + } + }, + + _createStyleSelect : function(n) { + var t = this, ed = t.editor, ctrlMan = ed.controlManager, ctrl; + + // Setup style select box + ctrl = ctrlMan.createListBox('styleselect', { + title : 'advanced.style_select', + onselect : function(name) { + var matches, formatNames = []; + + each(ctrl.items, function(item) { + formatNames.push(item.value); + }); + + ed.focus(); + ed.undoManager.add(); + + // Toggle off the current format + matches = ed.formatter.matchAll(formatNames); + if (!name || matches[0] == name) { + if (matches[0]) + ed.formatter.remove(matches[0]); + } else + ed.formatter.apply(name); + + ed.undoManager.add(); + ed.nodeChanged(); + + return false; // No auto select + } + }); + + // Handle specified format + ed.onInit.add(function() { + var counter = 0, formats = ed.getParam('style_formats'); + + if (formats) { + each(formats, function(fmt) { + var name, keys = 0; + + each(fmt, function() {keys++;}); + + if (keys > 1) { + name = fmt.name = fmt.name || 'style_' + (counter++); + ed.formatter.register(name, fmt); + ctrl.add(fmt.title, name); + } else + ctrl.add(fmt.title); + }); + } else { + each(ed.getParam('theme_advanced_styles', '', 'hash'), function(val, key) { + var name; + + if (val) { + name = 'style_' + (counter++); + + ed.formatter.register(name, { + inline : 'span', + classes : val, + selector : '*' + }); + + ctrl.add(t.editor.translate(key), name); + } + }); + } + }); + + // Auto import classes if the ctrl box is empty + if (ctrl.getLength() == 0) { + ctrl.onPostRender.add(function(ed, n) { + if (!ctrl.NativeListBox) { + Event.add(n.id + '_text', 'focus', t._importClasses, t); + Event.add(n.id + '_text', 'mousedown', t._importClasses, t); + Event.add(n.id + '_open', 'focus', t._importClasses, t); + Event.add(n.id + '_open', 'mousedown', t._importClasses, t); + } else + Event.add(n.id, 'focus', t._importClasses, t); + }); + } + + return ctrl; + }, + + _createFontSelect : function() { + var c, t = this, ed = t.editor; + + c = ed.controlManager.createListBox('fontselect', { + title : 'advanced.fontdefault', + onselect : function(v) { + var cur = c.items[c.selectedIndex]; + + if (!v && cur) { + ed.execCommand('FontName', false, cur.value); + return; + } + + ed.execCommand('FontName', false, v); + + // Fake selection, execCommand will fire a nodeChange and update the selection + c.select(function(sv) { + return v == sv; + }); + + if (cur && cur.value == v) { + c.select(null); + } + + return false; // No auto select + } + }); + + if (c) { + each(ed.getParam('theme_advanced_fonts', t.settings.theme_advanced_fonts, 'hash'), function(v, k) { + c.add(ed.translate(k), v, {style : v.indexOf('dings') == -1 ? 'font-family:' + v : ''}); + }); + } + + return c; + }, + + _createFontSizeSelect : function() { + var t = this, ed = t.editor, c, i = 0, cl = []; + + c = ed.controlManager.createListBox('fontsizeselect', {title : 'advanced.font_size', onselect : function(v) { + var cur = c.items[c.selectedIndex]; + + if (!v && cur) { + cur = cur.value; + + if (cur['class']) { + ed.formatter.toggle('fontsize_class', {value : cur['class']}); + ed.undoManager.add(); + ed.nodeChanged(); + } else { + ed.execCommand('FontSize', false, cur.fontSize); + } + + return; + } + + if (v['class']) { + ed.focus(); + ed.undoManager.add(); + ed.formatter.toggle('fontsize_class', {value : v['class']}); + ed.undoManager.add(); + ed.nodeChanged(); + } else + ed.execCommand('FontSize', false, v.fontSize); + + // Fake selection, execCommand will fire a nodeChange and update the selection + c.select(function(sv) { + return v == sv; + }); + + if (cur && (cur.value.fontSize == v.fontSize || cur.value['class'] == v['class'])) { + c.select(null); + } + + return false; // No auto select + }}); + + if (c) { + each(t.settings.theme_advanced_font_sizes, function(v, k) { + var fz = v.fontSize; + + if (fz >= 1 && fz <= 7) + fz = t.sizes[parseInt(fz) - 1] + 'pt'; + + c.add(k, v, {'style' : 'font-size:' + fz, 'class' : 'mceFontSize' + (i++) + (' ' + (v['class'] || ''))}); + }); + } + + return c; + }, + + _createBlockFormats : function() { + var c, fmts = { + p : 'advanced.paragraph', + address : 'advanced.address', + pre : 'advanced.pre', + h1 : 'advanced.h1', + h2 : 'advanced.h2', + h3 : 'advanced.h3', + h4 : 'advanced.h4', + h5 : 'advanced.h5', + h6 : 'advanced.h6', + div : 'advanced.div', + blockquote : 'advanced.blockquote', + code : 'advanced.code', + dt : 'advanced.dt', + dd : 'advanced.dd', + samp : 'advanced.samp' + }, t = this; + + c = t.editor.controlManager.createListBox('formatselect', {title : 'advanced.block', onselect : function(v) { + t.editor.execCommand('FormatBlock', false, v); + return false; + }}); + + if (c) { + each(t.editor.getParam('theme_advanced_blockformats', t.settings.theme_advanced_blockformats, 'hash'), function(v, k) { + c.add(t.editor.translate(k != v ? k : fmts[v]), v, {'class' : 'mce_formatPreview mce_' + v}); + }); + } + + return c; + }, + + _createForeColorMenu : function() { + var c, t = this, s = t.settings, o = {}, v; + + if (s.theme_advanced_more_colors) { + o.more_colors_func = function() { + t._mceColorPicker(0, { + color : c.value, + func : function(co) { + c.setColor(co); + } + }); + }; + } + + if (v = s.theme_advanced_text_colors) + o.colors = v; + + if (s.theme_advanced_default_foreground_color) + o.default_color = s.theme_advanced_default_foreground_color; + + o.title = 'advanced.forecolor_desc'; + o.cmd = 'ForeColor'; + o.scope = this; + + c = t.editor.controlManager.createColorSplitButton('forecolor', o); + + return c; + }, + + _createBackColorMenu : function() { + var c, t = this, s = t.settings, o = {}, v; + + if (s.theme_advanced_more_colors) { + o.more_colors_func = function() { + t._mceColorPicker(0, { + color : c.value, + func : function(co) { + c.setColor(co); + } + }); + }; + } + + if (v = s.theme_advanced_background_colors) + o.colors = v; + + if (s.theme_advanced_default_background_color) + o.default_color = s.theme_advanced_default_background_color; + + o.title = 'advanced.backcolor_desc'; + o.cmd = 'HiliteColor'; + o.scope = this; + + c = t.editor.controlManager.createColorSplitButton('backcolor', o); + + return c; + }, + + renderUI : function(o) { + var n, ic, tb, t = this, ed = t.editor, s = t.settings, sc, p, nl; + + if (ed.settings) { + ed.settings.aria_label = s.aria_label + ed.getLang('advanced.help_shortcut'); + } + + // TODO: ACC Should have an aria-describedby attribute which is user-configurable to describe what this field is actually for. + // Maybe actually inherit it from the original textara? + n = p = DOM.create('span', {role : 'application', 'aria-labelledby' : ed.id + '_voice', id : ed.id + '_parent', 'class' : 'mceEditor ' + ed.settings.skin + 'Skin' + (s.skin_variant ? ' ' + ed.settings.skin + 'Skin' + t._ufirst(s.skin_variant) : '')}); + DOM.add(n, 'span', {'class': 'mceVoiceLabel', 'style': 'display:none;', id: ed.id + '_voice'}, s.aria_label); + + if (!DOM.boxModel) + n = DOM.add(n, 'div', {'class' : 'mceOldBoxModel'}); + + n = sc = DOM.add(n, 'table', {role : "presentation", id : ed.id + '_tbl', 'class' : 'mceLayout', cellSpacing : 0, cellPadding : 0}); + n = tb = DOM.add(n, 'tbody'); + + switch ((s.theme_advanced_layout_manager || '').toLowerCase()) { + case "rowlayout": + ic = t._rowLayout(s, tb, o); + break; + + case "customlayout": + ic = ed.execCallback("theme_advanced_custom_layout", s, tb, o, p); + break; + + default: + ic = t._simpleLayout(s, tb, o, p); + } + + n = o.targetNode; + + // Add classes to first and last TRs + nl = sc.rows; + DOM.addClass(nl[0], 'mceFirst'); + DOM.addClass(nl[nl.length - 1], 'mceLast'); + + // Add classes to first and last TDs + each(DOM.select('tr', tb), function(n) { + DOM.addClass(n.firstChild, 'mceFirst'); + DOM.addClass(n.childNodes[n.childNodes.length - 1], 'mceLast'); + }); + + if (DOM.get(s.theme_advanced_toolbar_container)) + DOM.get(s.theme_advanced_toolbar_container).appendChild(p); + else + DOM.insertAfter(p, n); + + Event.add(ed.id + '_path_row', 'click', function(e) { + e = e.target; + + if (e.nodeName == 'A') { + t._sel(e.className.replace(/^.*mcePath_([0-9]+).*$/, '$1')); + + return Event.cancel(e); + } + }); +/* + if (DOM.get(ed.id + '_path_row')) { + Event.add(ed.id + '_tbl', 'mouseover', function(e) { + var re; + + e = e.target; + + if (e.nodeName == 'SPAN' && DOM.hasClass(e.parentNode, 'mceButton')) { + re = DOM.get(ed.id + '_path_row'); + t.lastPath = re.innerHTML; + DOM.setHTML(re, e.parentNode.title); + } + }); + + Event.add(ed.id + '_tbl', 'mouseout', function(e) { + if (t.lastPath) { + DOM.setHTML(ed.id + '_path_row', t.lastPath); + t.lastPath = 0; + } + }); + } +*/ + + if (!ed.getParam('accessibility_focus')) + Event.add(DOM.add(p, 'a', {href : '#'}, ''), 'focus', function() {tinyMCE.get(ed.id).focus();}); + + if (s.theme_advanced_toolbar_location == 'external') + o.deltaHeight = 0; + + t.deltaHeight = o.deltaHeight; + o.targetNode = null; + + ed.onKeyDown.add(function(ed, evt) { + var DOM_VK_F10 = 121, DOM_VK_F11 = 122; + + if (evt.altKey) { + if (evt.keyCode === DOM_VK_F10) { + window.focus(); + t.toolbarGroup.focus(); + return Event.cancel(evt); + } else if (evt.keyCode === DOM_VK_F11) { + DOM.get(ed.id + '_path_row').focus(); + return Event.cancel(evt); + } + } + }); + + // alt+0 is the UK recommended shortcut for accessing the list of access controls. + ed.addShortcut('alt+0', '', 'mceShortcuts', t); + + return { + iframeContainer : ic, + editorContainer : ed.id + '_parent', + sizeContainer : sc, + deltaHeight : o.deltaHeight + }; + }, + + getInfo : function() { + return { + longname : 'Advanced theme', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + version : tinymce.majorVersion + "." + tinymce.minorVersion + } + }, + + resizeBy : function(dw, dh) { + var e = DOM.get(this.editor.id + '_ifr'); + + this.resizeTo(e.clientWidth + dw, e.clientHeight + dh); + }, + + resizeTo : function(w, h, store) { + var ed = this.editor, s = this.settings, e = DOM.get(ed.id + '_tbl'), ifr = DOM.get(ed.id + '_ifr'); + + // Boundery fix box + w = Math.max(s.theme_advanced_resizing_min_width || 100, w); + h = Math.max(s.theme_advanced_resizing_min_height || 100, h); + w = Math.min(s.theme_advanced_resizing_max_width || 0xFFFF, w); + h = Math.min(s.theme_advanced_resizing_max_height || 0xFFFF, h); + + // Resize iframe and container + DOM.setStyle(e, 'height', ''); + DOM.setStyle(ifr, 'height', h); + + if (s.theme_advanced_resize_horizontal) { + DOM.setStyle(e, 'width', ''); + DOM.setStyle(ifr, 'width', w); + + // Make sure that the size is never smaller than the over all ui + if (w < e.clientWidth) { + w = e.clientWidth; + DOM.setStyle(ifr, 'width', e.clientWidth); + } + } + + // Store away the size + if (store && s.theme_advanced_resizing_use_cookie) { + Cookie.setHash("TinyMCE_" + ed.id + "_size", { + cw : w, + ch : h + }); + } + }, + + destroy : function() { + var id = this.editor.id; + + Event.clear(id + '_resize'); + Event.clear(id + '_path_row'); + Event.clear(id + '_external_close'); + }, + + // Internal functions + + _simpleLayout : function(s, tb, o, p) { + var t = this, ed = t.editor, lo = s.theme_advanced_toolbar_location, sl = s.theme_advanced_statusbar_location, n, ic, etb, c; + + if (s.readonly) { + n = DOM.add(tb, 'tr'); + n = ic = DOM.add(n, 'td', {'class' : 'mceIframeContainer'}); + return ic; + } + + // Create toolbar container at top + if (lo == 'top') + t._addToolbars(tb, o); + + // Create external toolbar + if (lo == 'external') { + n = c = DOM.create('div', {style : 'position:relative'}); + n = DOM.add(n, 'div', {id : ed.id + '_external', 'class' : 'mceExternalToolbar'}); + DOM.add(n, 'a', {id : ed.id + '_external_close', href : 'javascript:;', 'class' : 'mceExternalClose'}); + n = DOM.add(n, 'table', {id : ed.id + '_tblext', cellSpacing : 0, cellPadding : 0}); + etb = DOM.add(n, 'tbody'); + + if (p.firstChild.className == 'mceOldBoxModel') + p.firstChild.appendChild(c); + else + p.insertBefore(c, p.firstChild); + + t._addToolbars(etb, o); + + ed.onMouseUp.add(function() { + var e = DOM.get(ed.id + '_external'); + DOM.show(e); + + DOM.hide(lastExtID); + + var f = Event.add(ed.id + '_external_close', 'click', function() { + DOM.hide(ed.id + '_external'); + Event.remove(ed.id + '_external_close', 'click', f); + }); + + DOM.show(e); + DOM.setStyle(e, 'top', 0 - DOM.getRect(ed.id + '_tblext').h - 1); + + // Fixes IE rendering bug + DOM.hide(e); + DOM.show(e); + e.style.filter = ''; + + lastExtID = ed.id + '_external'; + + e = null; + }); + } + + if (sl == 'top') + t._addStatusBar(tb, o); + + // Create iframe container + if (!s.theme_advanced_toolbar_container) { + n = DOM.add(tb, 'tr'); + n = ic = DOM.add(n, 'td', {'class' : 'mceIframeContainer'}); + } + + // Create toolbar container at bottom + if (lo == 'bottom') + t._addToolbars(tb, o); + + if (sl == 'bottom') + t._addStatusBar(tb, o); + + return ic; + }, + + _rowLayout : function(s, tb, o) { + var t = this, ed = t.editor, dc, da, cf = ed.controlManager, n, ic, to, a; + + dc = s.theme_advanced_containers_default_class || ''; + da = s.theme_advanced_containers_default_align || 'center'; + + each(explode(s.theme_advanced_containers || ''), function(c, i) { + var v = s['theme_advanced_container_' + c] || ''; + + switch (c.toLowerCase()) { + case 'mceeditor': + n = DOM.add(tb, 'tr'); + n = ic = DOM.add(n, 'td', {'class' : 'mceIframeContainer'}); + break; + + case 'mceelementpath': + t._addStatusBar(tb, o); + break; + + default: + a = (s['theme_advanced_container_' + c + '_align'] || da).toLowerCase(); + a = 'mce' + t._ufirst(a); + + n = DOM.add(DOM.add(tb, 'tr'), 'td', { + 'class' : 'mceToolbar ' + (s['theme_advanced_container_' + c + '_class'] || dc) + ' ' + a || da + }); + + to = cf.createToolbar("toolbar" + i); + t._addControls(v, to); + DOM.setHTML(n, to.renderHTML()); + o.deltaHeight -= s.theme_advanced_row_height; + } + }); + + return ic; + }, + + _addControls : function(v, tb) { + var t = this, s = t.settings, di, cf = t.editor.controlManager; + + if (s.theme_advanced_disable && !t._disabled) { + di = {}; + + each(explode(s.theme_advanced_disable), function(v) { + di[v] = 1; + }); + + t._disabled = di; + } else + di = t._disabled; + + each(explode(v), function(n) { + var c; + + if (di && di[n]) + return; + + // Compatiblity with 2.x + if (n == 'tablecontrols') { + each(["table","|","row_props","cell_props","|","row_before","row_after","delete_row","|","col_before","col_after","delete_col","|","split_cells","merge_cells"], function(n) { + n = t.createControl(n, cf); + + if (n) + tb.add(n); + }); + + return; + } + + c = t.createControl(n, cf); + + if (c) + tb.add(c); + }); + }, + + _addToolbars : function(c, o) { + var t = this, i, tb, ed = t.editor, s = t.settings, v, cf = ed.controlManager, di, n, h = [], a, toolbarGroup; + + toolbarGroup = cf.createToolbarGroup('toolbargroup', { + 'name': ed.getLang('advanced.toolbar'), + 'tab_focus_toolbar':ed.getParam('theme_advanced_tab_focus_toolbar') + }); + + t.toolbarGroup = toolbarGroup; + + a = s.theme_advanced_toolbar_align.toLowerCase(); + a = 'mce' + t._ufirst(a); + + n = DOM.add(DOM.add(c, 'tr', {role: 'presentation'}), 'td', {'class' : 'mceToolbar ' + a, "role":"presentation"}); + + // Create toolbar and add the controls + for (i=1; (v = s['theme_advanced_buttons' + i]); i++) { + tb = cf.createToolbar("toolbar" + i, {'class' : 'mceToolbarRow' + i}); + + if (s['theme_advanced_buttons' + i + '_add']) + v += ',' + s['theme_advanced_buttons' + i + '_add']; + + if (s['theme_advanced_buttons' + i + '_add_before']) + v = s['theme_advanced_buttons' + i + '_add_before'] + ',' + v; + + t._addControls(v, tb); + toolbarGroup.add(tb); + + o.deltaHeight -= s.theme_advanced_row_height; + } + h.push(toolbarGroup.renderHTML()); + h.push(DOM.createHTML('a', {href : '#', accesskey : 'z', title : ed.getLang("advanced.toolbar_focus"), onfocus : 'tinyMCE.getInstanceById(\'' + ed.id + '\').focus();'}, '')); + DOM.setHTML(n, h.join('')); + }, + + _addStatusBar : function(tb, o) { + var n, t = this, ed = t.editor, s = t.settings, r, mf, me, td; + + n = DOM.add(tb, 'tr'); + n = td = DOM.add(n, 'td', {'class' : 'mceStatusbar'}); + n = DOM.add(n, 'div', {id : ed.id + '_path_row', 'role': 'group', 'aria-labelledby': ed.id + '_path_voice'}); + if (s.theme_advanced_path) { + DOM.add(n, 'span', {id: ed.id + '_path_voice'}, ed.translate('advanced.path')); + DOM.add(n, 'span', {}, ': '); + } else { + DOM.add(n, 'span', {}, ' '); + } + + + if (s.theme_advanced_resizing) { + DOM.add(td, 'a', {id : ed.id + '_resize', href : 'javascript:;', onclick : "return false;", 'class' : 'mceResize', tabIndex:"-1"}); + + if (s.theme_advanced_resizing_use_cookie) { + ed.onPostRender.add(function() { + var o = Cookie.getHash("TinyMCE_" + ed.id + "_size"), c = DOM.get(ed.id + '_tbl'); + + if (!o) + return; + + t.resizeTo(o.cw, o.ch); + }); + } + + ed.onPostRender.add(function() { + Event.add(ed.id + '_resize', 'click', function(e) { + e.preventDefault(); + }); + + Event.add(ed.id + '_resize', 'mousedown', function(e) { + var mouseMoveHandler1, mouseMoveHandler2, + mouseUpHandler1, mouseUpHandler2, + startX, startY, startWidth, startHeight, width, height, ifrElm; + + function resizeOnMove(e) { + e.preventDefault(); + + width = startWidth + (e.screenX - startX); + height = startHeight + (e.screenY - startY); + + t.resizeTo(width, height); + }; + + function endResize(e) { + // Stop listening + Event.remove(DOM.doc, 'mousemove', mouseMoveHandler1); + Event.remove(ed.getDoc(), 'mousemove', mouseMoveHandler2); + Event.remove(DOM.doc, 'mouseup', mouseUpHandler1); + Event.remove(ed.getDoc(), 'mouseup', mouseUpHandler2); + + width = startWidth + (e.screenX - startX); + height = startHeight + (e.screenY - startY); + t.resizeTo(width, height, true); + }; + + e.preventDefault(); + + // Get the current rect size + startX = e.screenX; + startY = e.screenY; + ifrElm = DOM.get(t.editor.id + '_ifr'); + startWidth = width = ifrElm.clientWidth; + startHeight = height = ifrElm.clientHeight; + + // Register envent handlers + mouseMoveHandler1 = Event.add(DOM.doc, 'mousemove', resizeOnMove); + mouseMoveHandler2 = Event.add(ed.getDoc(), 'mousemove', resizeOnMove); + mouseUpHandler1 = Event.add(DOM.doc, 'mouseup', endResize); + mouseUpHandler2 = Event.add(ed.getDoc(), 'mouseup', endResize); + }); + }); + } + + o.deltaHeight -= 21; + n = tb = null; + }, + + _updateUndoStatus : function(ed) { + var cm = ed.controlManager, um = ed.undoManager; + + cm.setDisabled('undo', !um.hasUndo() && !um.typing); + cm.setDisabled('redo', !um.hasRedo()); + }, + + _nodeChanged : function(ed, cm, n, co, ob) { + var t = this, p, de = 0, v, c, s = t.settings, cl, fz, fn, fc, bc, formatNames, matches; + + tinymce.each(t.stateControls, function(c) { + cm.setActive(c, ed.queryCommandState(t.controls[c][1])); + }); + + function getParent(name) { + var i, parents = ob.parents, func = name; + + if (typeof(name) == 'string') { + func = function(node) { + return node.nodeName == name; + }; + } + + for (i = 0; i < parents.length; i++) { + if (func(parents[i])) + return parents[i]; + } + }; + + cm.setActive('visualaid', ed.hasVisual); + t._updateUndoStatus(ed); + cm.setDisabled('outdent', !ed.queryCommandState('Outdent')); + + p = getParent('A'); + if (c = cm.get('link')) { + if (!p || !p.name) { + c.setDisabled(!p && co); + c.setActive(!!p); + } + } + + if (c = cm.get('unlink')) { + c.setDisabled(!p && co); + c.setActive(!!p && !p.name); + } + + if (c = cm.get('anchor')) { + c.setActive(!co && !!p && p.name); + } + + p = getParent('IMG'); + if (c = cm.get('image')) + c.setActive(!co && !!p && n.className.indexOf('mceItem') == -1); + + if (c = cm.get('styleselect')) { + t._importClasses(); + + formatNames = []; + each(c.items, function(item) { + formatNames.push(item.value); + }); + + matches = ed.formatter.matchAll(formatNames); + c.select(matches[0]); + } + + if (c = cm.get('formatselect')) { + p = getParent(DOM.isBlock); + + if (p) + c.select(p.nodeName.toLowerCase()); + } + + // Find out current fontSize, fontFamily and fontClass + getParent(function(n) { + if (n.nodeName === 'SPAN') { + if (!cl && n.className) + cl = n.className; + } + + if (ed.dom.is(n, s.theme_advanced_font_selector)) { + if (!fz && n.style.fontSize) + fz = n.style.fontSize; + + if (!fn && n.style.fontFamily) + fn = n.style.fontFamily.replace(/[\"\']+/g, '').replace(/^([^,]+).*/, '$1').toLowerCase(); + + if (!fc && n.style.color) + fc = n.style.color; + + if (!bc && n.style.backgroundColor) + bc = n.style.backgroundColor; + } + + return false; + }); + + if (c = cm.get('fontselect')) { + c.select(function(v) { + return v.replace(/^([^,]+).*/, '$1').toLowerCase() == fn; + }); + } + + // Select font size + if (c = cm.get('fontsizeselect')) { + // Use computed style + if (s.theme_advanced_runtime_fontsize && !fz && !cl) + fz = ed.dom.getStyle(n, 'fontSize', true); + + c.select(function(v) { + if (v.fontSize && v.fontSize === fz) + return true; + + if (v['class'] && v['class'] === cl) + return true; + }); + } + + if (s.theme_advanced_show_current_color) { + function updateColor(controlId, color) { + if (c = cm.get(controlId)) { + if (!color) + color = c.settings.default_color; + if (color !== c.value) { + c.displayColor(color); + } + } + } + updateColor('forecolor', fc); + updateColor('backcolor', bc); + } + + if (s.theme_advanced_show_current_color) { + function updateColor(controlId, color) { + if (c = cm.get(controlId)) { + if (!color) + color = c.settings.default_color; + if (color !== c.value) { + c.displayColor(color); + } + } + }; + + updateColor('forecolor', fc); + updateColor('backcolor', bc); + } + + if (s.theme_advanced_path && s.theme_advanced_statusbar_location) { + p = DOM.get(ed.id + '_path') || DOM.add(ed.id + '_path_row', 'span', {id : ed.id + '_path'}); + + if (t.statusKeyboardNavigation) { + t.statusKeyboardNavigation.destroy(); + t.statusKeyboardNavigation = null; + } + + DOM.setHTML(p, ''); + + getParent(function(n) { + var na = n.nodeName.toLowerCase(), u, pi, ti = ''; + + // Ignore non element and bogus/hidden elements + if (n.nodeType != 1 || na === 'br' || n.getAttribute('data-mce-bogus') || DOM.hasClass(n, 'mceItemHidden') || DOM.hasClass(n, 'mceItemRemoved')) + return; + + // Handle prefix + if (tinymce.isIE && n.scopeName !== 'HTML') + na = n.scopeName + ':' + na; + + // Remove internal prefix + na = na.replace(/mce\:/g, ''); + + // Handle node name + switch (na) { + case 'b': + na = 'strong'; + break; + + case 'i': + na = 'em'; + break; + + case 'img': + if (v = DOM.getAttrib(n, 'src')) + ti += 'src: ' + v + ' '; + + break; + + case 'a': + if (v = DOM.getAttrib(n, 'name')) { + ti += 'name: ' + v + ' '; + na += '#' + v; + } + + if (v = DOM.getAttrib(n, 'href')) + ti += 'href: ' + v + ' '; + + break; + + case 'font': + if (v = DOM.getAttrib(n, 'face')) + ti += 'font: ' + v + ' '; + + if (v = DOM.getAttrib(n, 'size')) + ti += 'size: ' + v + ' '; + + if (v = DOM.getAttrib(n, 'color')) + ti += 'color: ' + v + ' '; + + break; + + case 'span': + if (v = DOM.getAttrib(n, 'style')) + ti += 'style: ' + v + ' '; + + break; + } + + if (v = DOM.getAttrib(n, 'id')) + ti += 'id: ' + v + ' '; + + if (v = n.className) { + v = v.replace(/\b\s*(webkit|mce|Apple-)\w+\s*\b/g, '') + + if (v) { + ti += 'class: ' + v + ' '; + + if (DOM.isBlock(n) || na == 'img' || na == 'span') + na += '.' + v; + } + } + + na = na.replace(/(html:)/g, ''); + na = {name : na, node : n, title : ti}; + t.onResolveName.dispatch(t, na); + ti = na.title; + na = na.name; + + //u = "javascript:tinymce.EditorManager.get('" + ed.id + "').theme._sel('" + (de++) + "');"; + pi = DOM.create('a', {'href' : "javascript:;", role: 'button', onmousedown : "return false;", title : ti, 'class' : 'mcePath_' + (de++)}, na); + + if (p.hasChildNodes()) { + p.insertBefore(DOM.create('span', {'aria-hidden': 'true'}, '\u00a0\u00bb '), p.firstChild); + p.insertBefore(pi, p.firstChild); + } else + p.appendChild(pi); + }, ed.getBody()); + + if (DOM.select('a', p).length > 0) { + t.statusKeyboardNavigation = new tinymce.ui.KeyboardNavigation({ + root: ed.id + "_path_row", + items: DOM.select('a', p), + excludeFromTabOrder: true, + onCancel: function() { + ed.focus(); + } + }, DOM); + } + } + }, + + // Commands gets called by execCommand + + _sel : function(v) { + this.editor.execCommand('mceSelectNodeDepth', false, v); + }, + + _mceInsertAnchor : function(ui, v) { + var ed = this.editor; + + ed.windowManager.open({ + url : this.url + '/anchor.htm', + width : 320 + parseInt(ed.getLang('advanced.anchor_delta_width', 0)), + height : 90 + parseInt(ed.getLang('advanced.anchor_delta_height', 0)), + inline : true + }, { + theme_url : this.url + }); + }, + + _mceCharMap : function() { + var ed = this.editor; + + ed.windowManager.open({ + url : this.url + '/charmap.htm', + width : 550 + parseInt(ed.getLang('advanced.charmap_delta_width', 0)), + height : 250 + parseInt(ed.getLang('advanced.charmap_delta_height', 0)), + inline : true + }, { + theme_url : this.url + }); + }, + + _mceHelp : function() { + var ed = this.editor; + + ed.windowManager.open({ + url : this.url + '/about.htm', + width : 480, + height : 380, + inline : true + }, { + theme_url : this.url + }); + }, + + _mceShortcuts : function() { + var ed = this.editor; + ed.windowManager.open({ + url: this.url + '/shortcuts.htm', + width: 480, + height: 380, + inline: true + }, { + theme_url: this.url + }); + }, + + _mceColorPicker : function(u, v) { + var ed = this.editor; + + v = v || {}; + + ed.windowManager.open({ + url : this.url + '/color_picker.htm', + width : 375 + parseInt(ed.getLang('advanced.colorpicker_delta_width', 0)), + height : 250 + parseInt(ed.getLang('advanced.colorpicker_delta_height', 0)), + close_previous : false, + inline : true + }, { + input_color : v.color, + func : v.func, + theme_url : this.url + }); + }, + + _mceCodeEditor : function(ui, val) { + var ed = this.editor; + + ed.windowManager.open({ + url : this.url + '/source_editor.htm', + width : parseInt(ed.getParam("theme_advanced_source_editor_width", 720)), + height : parseInt(ed.getParam("theme_advanced_source_editor_height", 580)), + inline : true, + resizable : true, + maximizable : true + }, { + theme_url : this.url + }); + }, + + _mceImage : function(ui, val) { + var ed = this.editor; + + // Internal image object like a flash placeholder + if (ed.dom.getAttrib(ed.selection.getNode(), 'class').indexOf('mceItem') != -1) + return; + + ed.windowManager.open({ + url : this.url + '/image.htm', + width : 355 + parseInt(ed.getLang('advanced.image_delta_width', 0)), + height : 275 + parseInt(ed.getLang('advanced.image_delta_height', 0)), + inline : true + }, { + theme_url : this.url + }); + }, + + _mceLink : function(ui, val) { + var ed = this.editor; + + ed.windowManager.open({ + url : this.url + '/link.htm', + width : 310 + parseInt(ed.getLang('advanced.link_delta_width', 0)), + height : 200 + parseInt(ed.getLang('advanced.link_delta_height', 0)), + inline : true + }, { + theme_url : this.url + }); + }, + + _mceNewDocument : function() { + var ed = this.editor; + + ed.windowManager.confirm('advanced.newdocument', function(s) { + if (s) + ed.execCommand('mceSetContent', false, ''); + }); + }, + + _mceForeColor : function() { + var t = this; + + this._mceColorPicker(0, { + color: t.fgColor, + func : function(co) { + t.fgColor = co; + t.editor.execCommand('ForeColor', false, co); + } + }); + }, + + _mceBackColor : function() { + var t = this; + + this._mceColorPicker(0, { + color: t.bgColor, + func : function(co) { + t.bgColor = co; + t.editor.execCommand('HiliteColor', false, co); + } + }); + }, + + _ufirst : function(s) { + return s.substring(0, 1).toUpperCase() + s.substring(1); + } + }); + + tinymce.ThemeManager.add('advanced', tinymce.themes.AdvancedTheme); +}(tinymce)); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/image.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/image.htm new file mode 100644 index 00000000..884890fb --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/image.htm @@ -0,0 +1,80 @@ + + + + {#advanced_dlg.image_title} + + + + + + +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
 
+ x +
+
+
+ +
+ + +
+
+ + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b1a377aba7784d3a0a0fabb4d22b8114cde25ace GIT binary patch literal 2584 zcmb7Bc{JPk7XQT-ib;b~B!n)ZQYwihloXMus-;?bMO70&%O72KlgJueK-#swASle5Y5YhT*O%%dE zAkc>z8ik-xeL_Q`VvZfo0TzI`m>5`0R2&QjOGtcPyzrU;Ul*Hn2<045)l;>V5-MK0^|t(rvM}*3>DEeQ&X2g z3ksC~i~iFKh=?B5i-83o3#TV^B0=RA*fOi#-=2VN?CKn!VTTmGv17_PGbp~tmc*?G?Q3b)|K!w2vr zE#B_JH@ru}sZ}~Z&Y(BdJ;w0B<_kXtGuOzs3$vq}6fO9@x%kiyX*#pRnd1k|;ZC9lr#>sh{3$yY|bYY6^>YT3sgsjiaZ zt)366^&;$S^TAwvN^I2ac+hLh>*VqIos|eL+aL&+l(KvNwWYDctNE^CZRyy^Hk}Gm zs%JVikvO#Mk)X?@TXY=wD38V@;t?)q3)?k2YvxLQMV|Z{nbR2g{a11;p-%!QgLK)B zOxbfUi(pzhsbuCxGBk6FDP#0RPN626_I($Qo;ZGhzWMfs%mMoI+aSZnc5a0+bG2w> zdwgm4&zp*i7B>D%H%G$4FMfG12)D3b{1}-HBqY<6w=n2s8b{B_D%uFYtH{l(Gjv9e zWpFy-6fULzp*cl~BJ4!l*}~J{8#NXk`;x5Nxc+^GEA?|AACg+K)(M|zxHsxFUr9^W z8>QdvdWEw!My?R7!O*p>?3Vb|(=N3|J09OD{Yf#{7*(=rbThiBH~Pm^1tz8SQ?S_2 zsL7(bX9dJ9E%uV^(+dSB)^w=MsF&jg*N2Yjo41m`+WsE&JM@CatfiOlPhC?QPlCp7 zkjesJENk4=dSaN^0M0u1TG4#qeAKgyC$GLGD7II&*kr2|#1!BvS`Grg^OIWk%YAqd zvOcmz%SU-HCVg&rbnPaNZ@-T>)?IP3SO z`YKP&>q@U~m`o*wvU{S1o};9b|8*hRw?;H&TJo4a*7;m_)Q!aD3a1rnAWdVgkH=Lu zObSl!m}$JlWj5VNXvuO#F5@@cmhB(M4yEbSXe%Ptp_SH5SxG-pk!2PJGzE6Dd$(C0 z@d~vVd*NT)SU<2GYn`hA?4|dNDwAu?ZjXWSO9CasoBO}LQ2uFAj@4t0$2xTLEHxw3 z9KJCkFq|08Vmgmxahm%mjA%=I%Gs1mlNy$Km`%^o|A2`!bMPtTrP9y*c^+0M7OCcy z*j^fh4AjCI;2fso0|cz3p5Ih7h72bSVc6YE5O%+w*;qWtI~3hL4IzfscqG;j3j4$- zGt%o#6n#5{gEJw#3{=edteC(w|C#XBp!T8k; z1)EnwGqJ26>c-cDOJv5}Snt!0vhVoS>u03BZj_q+20phaQo81-&IAo;URjUJNTP{F zJ1=+YL^+~uVv(VHc>guRDB*Gug-NN7$n25zaX5RGugKeb5qMo|<1CcSE4+{PPcxQG zv3ZU;p_ZeurmcbMiK+xooGWRsM@gr+Dhpr7I*ST8obbMa5|CLQW{h63?CM{F=X{nL zs0Exdc{AnwAx@;9BObf9QiL5^p(iN?W^L~%mn5*ee?M2!d$&oxYIK&9bd1oX&-$gA z3T&To>*_6TDnv)9{*of(wm?U7D)X3u^_3;FijXcEo0S{8x^h(v0jeTdW0Q} zOC0Y|wO&b<-xFprPec9-SKwJYz4Pbz|~nyPrCb5|2|%P;^(%>|XHw4OO3JkE+QD zWRIhqlT(0Yu4KKuvUjKlnW`S~l&?fXH-Bf`2d!J=4UHXDv4xLDnvd2_EWTb3hReh6sXpEI(hmlM{1 gF4ie0tgS$y#z=nxNn#Fpd0bt##g=j86Aowo21S>Ot^fc4 literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/flash.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/flash.png new file mode 100644 index 0000000000000000000000000000000000000000..4062090f8a7715dc9065e6203be84bbdb7685bed GIT binary patch literal 276 zcmV+v0qg#WP)U13~3Q(LDY@<|n2S7u{CcKTM%}ImAk&d@bUef&=iA%hPA3sm56OYcjMRI^s}jof~E0n!SIoz zxs`y)bZpaM%~elOt(xIz_1F@`xREtxwxO@XElsNLx;f_MIwnTOux@bk@5r<-;@s){f~fMSskU>S z&vlpdmZGk)n^Ks084*pfMo5}`Y)@uBrt7q^_xb)XxI@^-XhLVQWPPfUtMQSg&Xb6U zQhU2=S3pa1!Lhs1Kwz1)!P59aI6r5pthLM4E-ud4`aC>8zybolqcQ$sRq*)W>+kl^ z)!br%x2LJkVv+Dui1Oh7|6z>ag023Luhg%=;=sbh)RP30t>V}2$H?fg=;-%zOTU8v z0MO8l85I$+z}bYP#G9DS_#hs}n3hj*tisszAwYQh{QX~VkH5&*9YTcu{{H^`{_yYc zW|;u|{Qilm^upTyi?sd!nVG)6{{LrW`s5%!QETJeu@Y0sB3Qy+jGVB@-BWO)C1U{h z_4v@?@UEu*S8lPiucH6>|4vxO2|0#LaF@v0@ZaCy@c8hkxVXaB{z|fT@U~;Hv$d$T z$J*xpqPpE8TH+G^0=vlI+KzIEuZN}B@UYO}&dtoGp5{=vw)ErQRcDJbQgSxGf8JYL z_`X^{uFH_9uqY`f`}_Of)zF}&w4mVd!0q~gu)sNE!vFvOU{nj&001BWNkl z4`5T(y~j;jNJ7#kE&aovH0f+AQlJDhZKYUB$s+JrHx_yGRg)cB}e_B zqwCH^N@c!9D08HwH(o(Mmc|(Qw*ln&@$u<(`T6;hZyX+v!QfC_sS5$=0RiVhRvK2E zUDnEGpF4L>)1g!sn=f?H6bnEvO*2HU?_!1V=;B1i_l(4&heAgB*ZqC;w!(pKNQO*l zS;@XlNxSz#_{KN6li}B;D+61g>qQ-}tkaPXkw7(e2_y*rOZ$ezTufpL=w9CD4Sz)MQ6{dpqLXBK)1= zl^vZ5tz%G^+}R0U6pExXVvcCdq82yiyc1SuNe@Kud;y0>dN|i5qGd@U2V5{YnN$oz zr&3O7j!C7LRU!>QZs@9uzP-f1eDZR?KXv``)Wis_n;Bz%=ba}`oM`KFkIsQ^G)AhC z0D69Ud{k6^U8Wdx2Vv9ERU1fm7rr6{1)!S*pffgTW%qgv!i1=h&dPjxb8~|wE#mI6 zKlepV@mk(+y>w)VD^Hd`8S-Yzt2wSp)P zkd&_ooF^mH-9a7yt(M`C7VMk-%&+Q3fi|pa0MfA`l1JABq`l`snDcdsG=%0|Npfd| zPGQjR&^bIhERmBk7z`dm7okbV(W8^s`?Ggt`zL3giw&O+KtFLO(yvZXkDi>2b|-bg za-SU8dyDrYwL3H(4={sY_`sM&%i|H$NYo#edi4A{EHUVWbCbzWF~mioG5VB$x`u0I z9YM$h?xCYBVFf+Vl%l*DkOF*mJneZ*UOOKOX#7XBp^&oA>Dos*Kpm!tE z-6GI2>}0_iWuUu}KZnAFm9Zfl=(wZ<5_SpaCAFXP+oOJ*13iQup->35QP4_}F$P@i zO*nvecM7>Spz7Df&t2ztPu}Iu$XM^+m6&=qd^!&FUybHNcL%gY4td|FH|5Yc{Qe-o zL|#}c2fCjJU4vU4QC@5ix<@4t*#(=VoYMlZ*^L^FU27BVI$(s)HlV+=)5zxq`sj`T zpBHe{kQubepuuF)3ECZl&EU!7{WmG3Y*`_tU0`AxED>5*hVii;y)OQRM`FJ&=V3zk zkoh>0-;b8xNRO^G7&rH|!uZ>7f6vyI*KQQYEn2ORE^+6Jl`a`22?n5N+{v$|y3Lbk z6KoL`Qb`Fer1jZ?Li)rDPTj)yyA_(uNj|&p9-q%X=lCOOJ>p!kgCzi+oiBs?=;q@C z2KdeFvhVxojHqHDDGbKVeeZUp_}B7mfq*E>QiqN@Us8vpBYdMEoCYvjM$6MqB?lb< z$I)z8p*wDzaMpMd)2dNVEvdS>o+fi}d}}({su4ooTnf4e)msOuNe-y(eAMMJgaV;J z7bkcU{gW~0*&kGKplc<I14Bj|*j(&sR7(`e*9D$&R zj$UfGPB8_2yQj00dUV!?KtG+}!3inpg!5F)xxhsL(XuvCNc+@>=#hkzO(4U+0l&pe2Iy-j;kGlKK zBxwJ}hVBZ3adXqbpU20irx&{NTq4lL4xR6O2^GYkqsTZEqWe^EKMJ6Cl7JcjWe3s1 z4aNn~z!|C)4!&wMZ`rcNz{J9G3!fL(NhNbGK+&Un{Lp1Ekl4_np=A^Zb%r$XjO^5t z{p&OS@CUd5{rBHbO#LK$I*@4Ib3I z84aFx5BF2p@h_7@*hlwtN8T8x6BbXl8;IbRk(*VwcE zxj9c6bb&`t!H0{4?j&gc=7#P{dhfOP+kx}+75OgFp^-Xt#lbj+8|vmodgxt;?wmB8 z>#EDg`nga%A_kPgL3K~F|I@_@e!2Hk)=e5Q3MC1eP6 zGNC{q6md8%_GtDWfbo*|->>ROiO``p1L@`gqfZPtaY8a-=7!4QX@|f#;PGhi3v2bT z4qXJgO!?r?6A}z4T`&ONnXC$sgJhiBY>4#aPC)=dLR((+AfhQgHpoO#!3aNuDq{fCu^ip%NE3%fw$44#m^#bQ&(BDIxV~@^P&>cYm=<>YeRn2@Q(}JsvwwW(Woy zQh(0)5YINWmf$$sIQpp|6Qqw0V)LRwZ3Y{+3qtq3RcAkWpFs=mkdi`LhYIQFIZYM2 z_9yt{uK`U~X$*htL7ADEc6(1b57$ShSF=Fet|fEbG3Wp}S@wPCE)VxKic>rb^9kp| zXiOd`3WnRnW?lF4q!4+6wrglh5iWEOLY+W0H((TYJeu+Qv>Iwa-3P885&4`x%C$c^ zS?JMG)NX(}1o3;s^I}$(mAh9FWAd6iEGUIb=ciIQwmp(p^PU3He2z0sf@pyXx z+5` z{6$dMx$a?R#ud6UyW|{?-zX{A9nizoNS%jHh=?#@22c+Lu5Y@vvhe638I|v$f`(5T z8a{~>w}Z^1eN0JBUZvF=dzMUfXEa8!Saa|b+{&K)Kr#~!7gE*r6jF~A zf%9*?dVKX7klt02h!abDLw$PnTJP!`b@f_U-RQh@_u{p_6~}oWH^3N)z~Hl!-74ib4+^>s$N z*4$ffoqJ>VP_}&6E~Dg~Dh1_EnPOXf^X8nKIlTb-icu>^L`98QIf}oD*i)cK-RsMD z?@pdPd2&xS_7)PX*TdC%r08h*i;}JT%G0ymHocYJj^nSa9(w2}KM^FIGUaC3>V<_< zy4=M@Wz;}+`N@U|e|Lb4BzQ$Xj;FuVEtATc_eSe zHV*VvV$z2U!RF$|)k8Sb;qmXj`%}i=}>0Q?rW_f+C!!^VC&Z0s=d-gfNRG25_V zZ%4x`+r%Cs3NvG);^cC64h{c~7i=Xft3q)_s4|01Cr>V4jy?z~B%b+0^X#T#!lvsG zo)qOlU)uRqwezE$;h8i#-K0S$SXCKEgCD6!9J<5LsxL?DY=yu6_vT7Jjg-6Jsxyh z`fz<@+ah5h1;X39yFEs)*MArETDnzlXH5?cduSN9xvvQ5Q((oLRrs$!P=|(hpos(cI>7p%acVH*>g+}Oj&W;kMjl;65~LD9u=i~6vZ6h zVQ)R70Qxbau%Mq@Zj`*^g*Z3GD6NMGL~FQrp-+oiTGH@QS%{ZLd7fF&xpXyxbR~kj zdYb9I4i=+5ul?j;&vik>cD0E$ zUDm^=CiH0)E%8xNBWB-WpN*a)qDHaCq)$Knw3w~sUVLB{ZA3xNm_g5gCUds{n-0#z zn!!eqqyl>1d^7G%xm!=kHDw*kN{M+)m_r%pHxmSh-=mLgOQJ+)P5hoKysf+2WAbwJ z{{f)SiE`y|9{nNnu%G-0wl+&Y>#JGYxK;Dh)6O(x~w9I8yra^O4y=t751 z@=Vj67o;0xzU3&ZTgc8vDw<>Ye(1geZKn{)--7)gza`ad5+**y4P88?V7oxBk855dC(tx z@V7c#9eB{enN0s%24aK3GP5x>AG$B;BR}rp!jY_df&F z#_+c8ZjaID>8EW%KHcTwqLZJP%|H4MkbYS^Zq|@ju?az)?@UXB$HOr(SFW(O%*@O+ zAZP~16cyowh;viR(7e3X78<&H{a?)a?(cqAX{(57qx&7w=r0C`UOJ>~wbMyVW8Ymc z%m>!sdIp;3xtA~AVZ~3w%uC1*t?u;NE=tsz%L$Fy%Hc=emybXFF^C+1OFTI>vM}Zs}m0_suq~3qY^T z%X5|P_p%8qp?!}@F_})jBwSNlj*oKE7|w8WJYw)Szj>^3@WT^ggtnzK@83Xe(b2?l z7Z(?Q&#{UdjFa2CyFEM@_fJ?>8xQ&qey|xx7lEEWd}*3lgF_Lg2D^*J$Tok?o;70% z#uO}EQ-u?v(7iRMrN!FR0-Up88A+8nYN@QbvF){Hqq2T^xcqZ>6bcOCel81$S% z;Jhu4>%Mrm$Higyy?uLJJ@JlS4)kC8Hs|;R5TAWp1p2XK!;s#7`)!m)4o)P{l?LOK zY&__wVzL0EJYzwgpFJZ?2Txst?i2;Rwzk&11d9iKvmEpgx)%b&Y^i3L+FEJ?FbS2l ziR^LVxnvNR=&LQ{$uw_i#!pUZ3z=Ap{Upbmnq9@#sa*2tj8lr=UOfuUT0yKJaJs-z+};*(*HgsV38dpm~!Y zl!8t<2hb~{^f%HfMRkz_Tb6vw}j`t0Q65k-M_#72xnM)+i+m;H?xLp zA2)Ppw9qzl=KWS`?W_qv->kh1qzgb#U%GVu!>z5_ zR&B91&PhNA&S%bFQvjeB6)dc&!U<96-U2QiKnKo8k^|E=@9d@ubQc%XLAHHy^8Xm1 zxS~u3`q;70QPAI+`tipf&zLczYU;-v=yHGlxdCGK^P$fSOO8I>{KjXT8Q*KKzGQbb ztwklZfc!JnhYs9z9|tC;-Oc71($zrp4zW85-HjaR&y*CIm%IQHfX-}g z@`*tY!Jma`V74$vm|7;0Gcn8z1~JU7>CM6#hqz=Amy7`PEtXpRhbDIcF*z(JmCam%h1Q>!2RJ0>XCaQ>0}N60HfK?_aw% zmg`0!Y5<$ZhKvISABz^+08Be?b5f=siCbh0Z|m;%kVj`n-Sc>lZbKb5*EZMCA>%0M zGXZpsMx)g@olZO19M}>DwG1lSb8$^W!9|=9IB#vW>RS=$$sfPl<^i~f^V*vR@wbcjiVtCMT#nQWcv|@og9O$V$=&}mPN(wrL90_&Pd*;!V2IG`$ z9s)Yy{O4@d^2kAlbTyE!MyESvIdv+H1HA}?ZZZMrM}(V|fF24-J$fjFjxF)%V$e-X ze*MTudQ`Spw%{kz43IYy(8o%3jHJak!?al5;D$$H;TWf&<2-RK4?69fgDNVxo(#*m zBIwL24)jSYXW#wA9V_p?d*vNZ+&!BN#!VRfzyp6@``>yS`14l;pksgj+usU6&k!t$ zD&H*CYBA_}P5T`*bUz4dp3KgEt5(z~4>AMi1w82a!|%E0p8G3PfXkemXrb-?`$yS% zo70??1zmB(^s1+g;ceaB9^=Y$kx_U4^cwc)dqLZNc{!JWzIph}`SW9n{&&{<#7yZ(u7#oS*D~efn{>ML#E?dom zJ`CLXbAJD@!yM>SKm71s7gE{B)2H7jJoH#Q83vP{ws8p=g==22$Ph}bdc&_QNzWucf3>1-e%oTe1bi`vk*o3R2d7_lT@ zC=JFb**psuF61!(c{vCA_GhuYe4afu=g&jB^QTS$=;bvO^mW|=J)B3kNId$rYgx|0 zpbk0cxP_>t9=+!LHK+5M={tO&J5HY-k$}&i?$y8kKY#vj{Z09cUwP#hzi?8}i9a91gPy^T#0j=v35@Tr zbd;7>YAd}obWe$S3B_1%4f>1dOgaL+U~4Sb=rH;E4IApLgMrJTIksq_&1%2u<84kn z0mFliBKKw~=!=S~6W#O5J7r@+ zcOBTlFtm>@uUHK6==Ck&&B3Fy&?u%O61irj^XP-YD;x1bl9ljZ&{=Rw19XtR2Ff`F z9rFC_#EBEV@bpkq0~@zP;2tdo9f$5+fzEk!4s;9r%>a*Hjr-`x=q3Jq~fZhRU22EP~9w(t$k<|IF3t#|FEOI?88O-)(}q$fP_L;`Tmon5=EKXb9~L*PDn4DZo1GQ^xSm2st|UPQag1wD1z=08?8=&iQ~)&8YYwC}{Eq}bTl z*Jp@~%)`k4+VY~q+nf$Z+^Ri$Iu`ACx+KjQ-qzjiF|Hgd8FjbY?5t_q4`yv2hdlbw z{8uws(C5GW^2;%;am5hQ@7>FSJ`-#J`o$vjXrZC|$d=XuJW`%Kk^{Zcd+=bcO|Q3Z zxc@(wp$4zfS?n(^9+I6sdi3ZsXSlc&NFR@9z*5c$=uI*E_s7h5at4Pc8%+V_JD+;$ zZ|J=u=uBhnjAzDl&XC??amRr}u=wG9cd>_0Rx8rMMd0TTm;a&DQ}kd+7j&1*T_!{ibmfx zNB)9_V+?PAxI)pKw@7U0IM<`7>Cz>gvsXZ8o=0cWPoG9-(diV}%ei~=>Jnz&wBg~^ zXV`O=8&gxEmxQDD2l+lakS@M8Y$b}Y5a>;DXh@DG%&l-m8(rd=aZKWoBSl3sW=KGv zfElca4r_~!UXAt=9c?5p;cVUA9>dsOb~5Vjb8+F%wzhG(?Kw!c%vTBMO#X&CdrX{@ zl^xqM(f!woxYKJibl=)K($u;h;`WgvpWzP-D5gSR_x=0-6HT}&tr+5@IzuPB1L@Bp zQO=pE_uf0BDK~f3Dk~f;-lOBQn@{aT?p*58**8RKmg*VO`-YsOX?As>?U8Kg?STtJFhzh-t+OA>SHD@JjbH+VO z4t;E_vzI_;CMB#K0a}?bNn~DJH_E<&|EP2aFi=MFQ}Qihw+^bT?BYi&Dn{D3liGTC zQA?NG1JHBqWYpc4L;E?e3M5$bie2GeYeiL6RTr`FM>547Ajh1Kl>Wev>b_rxWB1b4 zpff}QZza2^W#824peLVv5_PKI5N#`iyB16m00071Nkl!>nLfi zt*t$RwXnPYJ~q5O((U&^qoo3yQ%)N__6vR%Tz{%fH%7g3 zEjL^`aHtgs#K}!7eXGrMMOIF=+o-v6iRlOkO(T|Bh z=RA7mra52v{TnxKTqV7kg(_95`kBJ^(WlL^wtls7W7fn*!>X@8^GB5`RehT> zKk~)2IVZ9J^N9zq?BA~j@2XVwZ-qI%Hf_VEFRZ_6%6ehPmHlgr57zu+Go?zEs@~O2 zufNW`{<>rV_G$k#ZBx@PCOWQw3a&_ROQK4Zs(z)g6J|D@u>T^}RDbBup@M=(R{tZj zq)L^l-WD2lmvqwEZ<>NHnu^yhDJa;wbw`-{YpYVFs(%QdM;D0$eaQ>OYYRY^E?rVb z-BqdT-$EY!E5-BZjRz6uTY>XKszX<$s(&lOTz5k~U~af{ROMWis{St7T=%c|x$ZTF z9V0L7s8KmrrK-Ox!d!QTITX0>zChT2DX&VEs{W$zbKO;`QuY5v>WwE~-Y9-MnG@N000000NkvXXu0mjfCSh{8 literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/iframe.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/iframe.png new file mode 100644 index 0000000000000000000000000000000000000000..3c87c90da9364cff4e9457791e902c1f1808e396 GIT binary patch literal 1009 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl4m>B|mLR|m<|6jfQ&ZM0${`~v* z>+j#+fB$~@@jI>iK;@zvKY#xzopOf{Qv*;$M2ti|Ni*<_xqne39Y;S{`>d# z^Y>Tpzf~^2nLqtZ{FTnsB)o7lSh`|m%&#jEZ;{}fZV<@KlUpTGYun0c;v z?xlu#$3sfjR4utRY0JG=AAolL{_yo@Ox@OqstqsRe9M_~GQ4tKa{Jz2fBt0j9sc+K zf6k;6KYsuD{_FRr@4w!C`SIk{=fJ|1fki7negB=(vG2#9KOevSE}C`z{pVl5|NZ;+ z`*%p`>Vk;}+t%LAn{q0?d1uv<+i{KCfdK*xqERqHLLhbyuPo53Ydl>XLn`K^o^wKe@V9 zJP4jI(3q5Da(>pr4YdVIKx_2z8-W#{=Laa>X_%<@BhPT^sWzU(KUv<{ z=;ru;boX6P{`2zsmyZ3>&HK5t_;hIbi-G;z+4`cI{KdfcXj}GCLjV8&8(HA;0002< zNkll>(2t2f9HQ_`BDF0 z;ZyK>sC}1_Z2ABF-MiX%Z)N|N^1Wl=|10Ry;M1f3_ugH9_pW{~ z%$ENj+7Y&BTm1ytvL48s@K^rB{QsZVPxzD?50(|?M-DNl7U8~@eU{JSE{oZ{)VtU6 z?w!2e+w8~l?k#wM9%2~5~40{{R3C@l|D00093P)t-s+~)L6v+~s9^fsC5ZpZP=*zu3F z=Jxpf8k_5u%JNv6=md-84VLU4w)kSE=yI&-yw>b=v+SqE?+kq47pC+YrR?bJ^yu>Z zyvpn;hTp*6^mM!Ou+8!}sO$`qpF zw@E}nRCt^%kAaSaAPhu{B2*}XF77UB+yDQ|6Za-*(wQ{r8_+I4mG9)A75cb*uIK5T z{{>e=q*{^2F!Z3jA|-3B;ld3Re2d7(eLLl$#GtT6L3lhGme&9w(%Joj23VqlQR1cg z?p{}k`9Js=`%%q8D=Z{SR7blRd=r{sLuutORKi7Qy0py$#UAVX+3jhEB07*qoM6N<$g8wnF AQUCw| delta 305 zcmV-10nYyX2g?VL7k>;00{{R3Tsh6N00093P)t-s_3KQ^&B<_*y@saUyuuga;^Oh~ z@jh@DEnJthx3Qs~nU1qja+y_Bh7|DT2kqyLc()vKk{M7*Mo)8Jp`DF#aci2GlfT2i zti0q#K|Q6So&Ns*cXn^h(#-$x0RR900000000000000000I{Bn0+FBye>Wtya{vGU zhDk(0RCt^%&e0l#5EO+`$w9%04i_NafnBzE4W6VW0c2_AG0{~g; z^W2SnrQQ)&t!L^F9?@&gbIt=mAigrswZjKTmUF(oAZQ|lSff${z&Vdf?atcJ;f4@B zx)=jB77`lblBPySI+$%MBQcgzwjMogQ%Vb!Xw&-vLmLg5NVKPR00000NkvXXu0mjf DVzY^$ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/realmedia.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/realmedia.png new file mode 100644 index 0000000000000000000000000000000000000000..3bc407c27ec1f7239e4b72a099fdf21de6502fb6 GIT binary patch literal 1142 zcmeAS@N?(olHy`uVBq!ia0vp^sz5Bn!3-o{+do%fU|?nl@Ck7Z3h-TU;1+{JPxjoS z8`rOMu(j6H))Y=&bYTC!zHL`cE7qMkbLQZ+XYw+V-CZ3XZQEGFX3d;Av$VLdcI6qB zf|ZLGExda5%9Y3OA|~#8^7yf^0Pm}h-x<6nr=_Ir@5? zMng{*$B>FSr4wIHYEj^63Dgs1&2MLT`1gKMbKX^p&3XS9SlG={OZ<5$u<&|m-}c%% z0d41qYa7=k2ga`d!_A{8vg(pypKSi>RarZg@3l%ld1@ehwDaNd-&z~Xx3d){?d%Pl zzq{HideXgUwdZX%X{IYwKJ_F-TnLPJ6BC?Z+Mub}btWLHvpIbQ)9d7t{ql?(?rDcy zHc>eJdt0v1)W8`<3**A&T-|RncpM8-nxw`o@?LYk{=E1_OP883tLd+~%eYkBC4y!C z`7f~tHB?j2B{4Y6VRjDSatN?VT<7&dH6{Pd*P_jw@dX=yA7i=vrq^=yu4`NCLTyEN zu8G-xXZ5dl0k;FQA4yCvQvQ_xVv)z+M`3HD-4*43oz45aA!z-y{b$reCtm!>a(AUc h-&^I+jvwoLJna2j?RfwESg{Ngv!1SgF6*2UngHS#)Q$iE literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/shockwave.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/shockwave.png new file mode 100644 index 0000000000000000000000000000000000000000..7189b7e1c64498ae8ce1fcce639d8dea57f2e8ea GIT binary patch literal 1005 zcmeAS@N?(olHy`uVBq!ia0vp^qChOb!3-qNu^bU+U|?nl@Ck8!_UzgJZ&!bOef9U_ z$YhX3U71MnRbSO;lGN?e`DjTdU|)v&F|&p+^ws7HGlrwB}+bS+4BGJ z;b%vW{(b)Z{XG!)f6eIs|NlV8jDpb+7{CztaeE~wbFA=maSW-LlY8N=P?LfH>w~F> zx&(qxE9tOqEWQ7q_3-?Ui!5T^nx~&*b?CVm-_U8e$fT=y%j}TXhArDm`!!Wv*4&$Y zkLU2Bq$zuRR=bz2@2#)0&51p@*(TWhanIHHk%{U*Uru-$wsV2s?{fJm4j+t4xKj@| zU0(5aiONoo+yHz1AIoM>4On(`Ye2@qUl(FU9UidS`h|D^}L`njxgN@xNA4>Y^M literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/trans.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/trans.png new file mode 100644 index 0000000000000000000000000000000000000000..a51108d228053915d8dcb2cbbdef3546a96a1648 GIT binary patch literal 85 zcmeAS@N?(olHy`uVBq!ia0vp^j3CU&3?x-=hn)gaYymzYuK&RxwB~CLP=w3V#WAE} bPI3Z}&BVayv3^M*kj3EX>gTe~DWM4fPTdx7 literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/video.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/video.png new file mode 100644 index 0000000000000000000000000000000000000000..87b9a5dcb5191d72afd5787363413d8422d89184 GIT binary patch literal 1025 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl4m>B|mLR`bc!@a$|%gf8HtgKQ~ zQ!_F$EG#VY^75plq-ttvGBY#dju)(1vqoo^ckS-m_Ule3Cnv|8_IEwvpRo7Fn$zoI zVq(np*B2c6pOloOtE-!nlT&p)+}GE)q@*NZ$F|g+|1*!?P1^N8egFTgi%x!iezRuH z`uQNEv$NC5$tmZ^|J_g_q~mdj$Xfh{nUq16Ym8k zBqU6J6gp+fl;Yyz4I4HzG&FE>axPi2BsVwL$H(XV*%nJn%LR`sHf`EeR#x`%2!rX=!Ow zA0!v=ep9&T+3P1WTU%Ql9UYsSo98_!2@DL>*VmtXFDxJ+z{tpG@q>!0s;dA0{{zEt z6bz3LkX`fFjM3KKj7qGm?--R}_ATA(id z>ZwRxl3Wg>;De&{)*F*_9&?B#Y@d4R`^T$19YGg+8M!yC*zAzQnUv1V-Er%uW6s45 z{tVn49}FCF62ns2xDC8FR4zaAQ+-wu$BhQo8*8>GZY!|Z-N+iEGFf5YR31YQZ)S$V W|5nkZcUYr9G2-d!=d#Wzp$Py(U-BLR literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/windowsmedia.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/windowsmedia.png new file mode 100644 index 0000000000000000000000000000000000000000..14920eacdcf938b6f15114218accb39a7beefa08 GIT binary patch literal 1043 zcmeAS@N?(olHy`uVBq!ia0vp^{2B|mLR^2A28-z~zPOULb3x*d zNP|Cr|2nw0{5*g7>9c1ot=$D%8K+&AU%Phgo8#J_*33?u$^PrprM~riXU?2?dCFbK zXQx#7$)BHIdKWT@i;Gv3m*2R4GpzrfTF3LaHsM*bX1~2w=_#uteFzkU1|smb|Q=dRR_QuCYG<@nOr>-WC7<{|9lh1@ptzm57g`1%6u!7>A!oD!(o|?zUQ>leRFmsuABc+{k-y%O|Q>h>Au0S eZptG!gCp#I_LAR{!kX$p!Q$!a=d#Wzp$P!QV%+5b literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/about.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/about.js new file mode 100644 index 00000000..daf4909a --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/about.js @@ -0,0 +1,73 @@ +tinyMCEPopup.requireLangPack(); + +function init() { + var ed, tcont; + + tinyMCEPopup.resizeToInnerSize(); + ed = tinyMCEPopup.editor; + + // Give FF some time + window.setTimeout(insertHelpIFrame, 10); + + tcont = document.getElementById('plugintablecontainer'); + document.getElementById('plugins_tab').style.display = 'none'; + + var html = ""; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + + tinymce.each(ed.plugins, function(p, n) { + var info; + + if (!p.getInfo) + return; + + html += ''; + + info = p.getInfo(); + + if (info.infourl != null && info.infourl != '') + html += ''; + else + html += ''; + + if (info.authorurl != null && info.authorurl != '') + html += ''; + else + html += ''; + + html += ''; + html += ''; + + document.getElementById('plugins_tab').style.display = ''; + + }); + + html += ''; + html += '
' + ed.getLang('advanced_dlg.about_plugin') + '' + ed.getLang('advanced_dlg.about_author') + '' + ed.getLang('advanced_dlg.about_version') + '
' + info.longname + '' + info.longname + '' + info.author + '' + info.author + '' + info.version + '
'; + + tcont.innerHTML = html; + + tinyMCEPopup.dom.get('version').innerHTML = tinymce.majorVersion + "." + tinymce.minorVersion; + tinyMCEPopup.dom.get('date').innerHTML = tinymce.releaseDate; +} + +function insertHelpIFrame() { + var html; + + if (tinyMCEPopup.getParam('docs_url')) { + html = ''; + document.getElementById('iframecontainer').innerHTML = html; + document.getElementById('help_tab').style.display = 'block'; + document.getElementById('help_tab').setAttribute("aria-hidden", "false"); + } +} + +tinyMCEPopup.onInit.add(init); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/anchor.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/anchor.js new file mode 100644 index 00000000..7b556351 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/anchor.js @@ -0,0 +1,42 @@ +tinyMCEPopup.requireLangPack(); + +var AnchorDialog = { + init : function(ed) { + var action, elm, f = document.forms[0]; + + this.editor = ed; + elm = ed.dom.getParent(ed.selection.getNode(), 'A'); + v = ed.dom.getAttrib(elm, 'name'); + + if (v) { + this.action = 'update'; + f.anchorName.value = v; + } + + f.insert.value = ed.getLang(elm ? 'update' : 'insert'); + }, + + update : function() { + var ed = this.editor, elm, name = document.forms[0].anchorName.value; + + if (!name || !/^[a-z][a-z0-9\-\_:\.]*$/i.test(name)) { + tinyMCEPopup.alert('advanced_dlg.anchor_invalid'); + return; + } + + tinyMCEPopup.restoreSelection(); + + if (this.action != 'update') + ed.selection.collapse(1); + + elm = ed.dom.getParent(ed.selection.getNode(), 'A'); + if (elm) + elm.name = name; + else + ed.execCommand('mceInsertContent', 0, ed.dom.createHTML('a', {name : name, 'class' : 'mceItemAnchor'}, '')); + + tinyMCEPopup.close(); + } +}; + +tinyMCEPopup.onInit.add(AnchorDialog.init, AnchorDialog); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/charmap.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/charmap.js new file mode 100644 index 00000000..78bc080e --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/charmap.js @@ -0,0 +1,355 @@ +/** + * charmap.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +tinyMCEPopup.requireLangPack(); + +var charmap = [ + [' ', ' ', true, 'no-break space'], + ['&', '&', true, 'ampersand'], + ['"', '"', true, 'quotation mark'], +// finance + ['¢', '¢', true, 'cent sign'], + ['€', '€', true, 'euro sign'], + ['£', '£', true, 'pound sign'], + ['¥', '¥', true, 'yen sign'], +// signs + ['©', '©', true, 'copyright sign'], + ['®', '®', true, 'registered sign'], + ['™', '™', true, 'trade mark sign'], + ['‰', '‰', true, 'per mille sign'], + ['µ', 'µ', true, 'micro sign'], + ['·', '·', true, 'middle dot'], + ['•', '•', true, 'bullet'], + ['…', '…', true, 'three dot leader'], + ['′', '′', true, 'minutes / feet'], + ['″', '″', true, 'seconds / inches'], + ['§', '§', true, 'section sign'], + ['¶', '¶', true, 'paragraph sign'], + ['ß', 'ß', true, 'sharp s / ess-zed'], +// quotations + ['‹', '‹', true, 'single left-pointing angle quotation mark'], + ['›', '›', true, 'single right-pointing angle quotation mark'], + ['«', '«', true, 'left pointing guillemet'], + ['»', '»', true, 'right pointing guillemet'], + ['‘', '‘', true, 'left single quotation mark'], + ['’', '’', true, 'right single quotation mark'], + ['“', '“', true, 'left double quotation mark'], + ['”', '”', true, 'right double quotation mark'], + ['‚', '‚', true, 'single low-9 quotation mark'], + ['„', '„', true, 'double low-9 quotation mark'], + ['<', '<', true, 'less-than sign'], + ['>', '>', true, 'greater-than sign'], + ['≤', '≤', true, 'less-than or equal to'], + ['≥', '≥', true, 'greater-than or equal to'], + ['–', '–', true, 'en dash'], + ['—', '—', true, 'em dash'], + ['¯', '¯', true, 'macron'], + ['‾', '‾', true, 'overline'], + ['¤', '¤', true, 'currency sign'], + ['¦', '¦', true, 'broken bar'], + ['¨', '¨', true, 'diaeresis'], + ['¡', '¡', true, 'inverted exclamation mark'], + ['¿', '¿', true, 'turned question mark'], + ['ˆ', 'ˆ', true, 'circumflex accent'], + ['˜', '˜', true, 'small tilde'], + ['°', '°', true, 'degree sign'], + ['−', '−', true, 'minus sign'], + ['±', '±', true, 'plus-minus sign'], + ['÷', '÷', true, 'division sign'], + ['⁄', '⁄', true, 'fraction slash'], + ['×', '×', true, 'multiplication sign'], + ['¹', '¹', true, 'superscript one'], + ['²', '²', true, 'superscript two'], + ['³', '³', true, 'superscript three'], + ['¼', '¼', true, 'fraction one quarter'], + ['½', '½', true, 'fraction one half'], + ['¾', '¾', true, 'fraction three quarters'], +// math / logical + ['ƒ', 'ƒ', true, 'function / florin'], + ['∫', '∫', true, 'integral'], + ['∑', '∑', true, 'n-ary sumation'], + ['∞', '∞', true, 'infinity'], + ['√', '√', true, 'square root'], + ['∼', '∼', false,'similar to'], + ['≅', '≅', false,'approximately equal to'], + ['≈', '≈', true, 'almost equal to'], + ['≠', '≠', true, 'not equal to'], + ['≡', '≡', true, 'identical to'], + ['∈', '∈', false,'element of'], + ['∉', '∉', false,'not an element of'], + ['∋', '∋', false,'contains as member'], + ['∏', '∏', true, 'n-ary product'], + ['∧', '∧', false,'logical and'], + ['∨', '∨', false,'logical or'], + ['¬', '¬', true, 'not sign'], + ['∩', '∩', true, 'intersection'], + ['∪', '∪', false,'union'], + ['∂', '∂', true, 'partial differential'], + ['∀', '∀', false,'for all'], + ['∃', '∃', false,'there exists'], + ['∅', '∅', false,'diameter'], + ['∇', '∇', false,'backward difference'], + ['∗', '∗', false,'asterisk operator'], + ['∝', '∝', false,'proportional to'], + ['∠', '∠', false,'angle'], +// undefined + ['´', '´', true, 'acute accent'], + ['¸', '¸', true, 'cedilla'], + ['ª', 'ª', true, 'feminine ordinal indicator'], + ['º', 'º', true, 'masculine ordinal indicator'], + ['†', '†', true, 'dagger'], + ['‡', '‡', true, 'double dagger'], +// alphabetical special chars + ['À', 'À', true, 'A - grave'], + ['Á', 'Á', true, 'A - acute'], + ['Â', 'Â', true, 'A - circumflex'], + ['Ã', 'Ã', true, 'A - tilde'], + ['Ä', 'Ä', true, 'A - diaeresis'], + ['Å', 'Å', true, 'A - ring above'], + ['Æ', 'Æ', true, 'ligature AE'], + ['Ç', 'Ç', true, 'C - cedilla'], + ['È', 'È', true, 'E - grave'], + ['É', 'É', true, 'E - acute'], + ['Ê', 'Ê', true, 'E - circumflex'], + ['Ë', 'Ë', true, 'E - diaeresis'], + ['Ì', 'Ì', true, 'I - grave'], + ['Í', 'Í', true, 'I - acute'], + ['Î', 'Î', true, 'I - circumflex'], + ['Ï', 'Ï', true, 'I - diaeresis'], + ['Ð', 'Ð', true, 'ETH'], + ['Ñ', 'Ñ', true, 'N - tilde'], + ['Ò', 'Ò', true, 'O - grave'], + ['Ó', 'Ó', true, 'O - acute'], + ['Ô', 'Ô', true, 'O - circumflex'], + ['Õ', 'Õ', true, 'O - tilde'], + ['Ö', 'Ö', true, 'O - diaeresis'], + ['Ø', 'Ø', true, 'O - slash'], + ['Œ', 'Œ', true, 'ligature OE'], + ['Š', 'Š', true, 'S - caron'], + ['Ù', 'Ù', true, 'U - grave'], + ['Ú', 'Ú', true, 'U - acute'], + ['Û', 'Û', true, 'U - circumflex'], + ['Ü', 'Ü', true, 'U - diaeresis'], + ['Ý', 'Ý', true, 'Y - acute'], + ['Ÿ', 'Ÿ', true, 'Y - diaeresis'], + ['Þ', 'Þ', true, 'THORN'], + ['à', 'à', true, 'a - grave'], + ['á', 'á', true, 'a - acute'], + ['â', 'â', true, 'a - circumflex'], + ['ã', 'ã', true, 'a - tilde'], + ['ä', 'ä', true, 'a - diaeresis'], + ['å', 'å', true, 'a - ring above'], + ['æ', 'æ', true, 'ligature ae'], + ['ç', 'ç', true, 'c - cedilla'], + ['è', 'è', true, 'e - grave'], + ['é', 'é', true, 'e - acute'], + ['ê', 'ê', true, 'e - circumflex'], + ['ë', 'ë', true, 'e - diaeresis'], + ['ì', 'ì', true, 'i - grave'], + ['í', 'í', true, 'i - acute'], + ['î', 'î', true, 'i - circumflex'], + ['ï', 'ï', true, 'i - diaeresis'], + ['ð', 'ð', true, 'eth'], + ['ñ', 'ñ', true, 'n - tilde'], + ['ò', 'ò', true, 'o - grave'], + ['ó', 'ó', true, 'o - acute'], + ['ô', 'ô', true, 'o - circumflex'], + ['õ', 'õ', true, 'o - tilde'], + ['ö', 'ö', true, 'o - diaeresis'], + ['ø', 'ø', true, 'o slash'], + ['œ', 'œ', true, 'ligature oe'], + ['š', 'š', true, 's - caron'], + ['ù', 'ù', true, 'u - grave'], + ['ú', 'ú', true, 'u - acute'], + ['û', 'û', true, 'u - circumflex'], + ['ü', 'ü', true, 'u - diaeresis'], + ['ý', 'ý', true, 'y - acute'], + ['þ', 'þ', true, 'thorn'], + ['ÿ', 'ÿ', true, 'y - diaeresis'], + ['Α', 'Α', true, 'Alpha'], + ['Β', 'Β', true, 'Beta'], + ['Γ', 'Γ', true, 'Gamma'], + ['Δ', 'Δ', true, 'Delta'], + ['Ε', 'Ε', true, 'Epsilon'], + ['Ζ', 'Ζ', true, 'Zeta'], + ['Η', 'Η', true, 'Eta'], + ['Θ', 'Θ', true, 'Theta'], + ['Ι', 'Ι', true, 'Iota'], + ['Κ', 'Κ', true, 'Kappa'], + ['Λ', 'Λ', true, 'Lambda'], + ['Μ', 'Μ', true, 'Mu'], + ['Ν', 'Ν', true, 'Nu'], + ['Ξ', 'Ξ', true, 'Xi'], + ['Ο', 'Ο', true, 'Omicron'], + ['Π', 'Π', true, 'Pi'], + ['Ρ', 'Ρ', true, 'Rho'], + ['Σ', 'Σ', true, 'Sigma'], + ['Τ', 'Τ', true, 'Tau'], + ['Υ', 'Υ', true, 'Upsilon'], + ['Φ', 'Φ', true, 'Phi'], + ['Χ', 'Χ', true, 'Chi'], + ['Ψ', 'Ψ', true, 'Psi'], + ['Ω', 'Ω', true, 'Omega'], + ['α', 'α', true, 'alpha'], + ['β', 'β', true, 'beta'], + ['γ', 'γ', true, 'gamma'], + ['δ', 'δ', true, 'delta'], + ['ε', 'ε', true, 'epsilon'], + ['ζ', 'ζ', true, 'zeta'], + ['η', 'η', true, 'eta'], + ['θ', 'θ', true, 'theta'], + ['ι', 'ι', true, 'iota'], + ['κ', 'κ', true, 'kappa'], + ['λ', 'λ', true, 'lambda'], + ['μ', 'μ', true, 'mu'], + ['ν', 'ν', true, 'nu'], + ['ξ', 'ξ', true, 'xi'], + ['ο', 'ο', true, 'omicron'], + ['π', 'π', true, 'pi'], + ['ρ', 'ρ', true, 'rho'], + ['ς', 'ς', true, 'final sigma'], + ['σ', 'σ', true, 'sigma'], + ['τ', 'τ', true, 'tau'], + ['υ', 'υ', true, 'upsilon'], + ['φ', 'φ', true, 'phi'], + ['χ', 'χ', true, 'chi'], + ['ψ', 'ψ', true, 'psi'], + ['ω', 'ω', true, 'omega'], +// symbols + ['ℵ', 'ℵ', false,'alef symbol'], + ['ϖ', 'ϖ', false,'pi symbol'], + ['ℜ', 'ℜ', false,'real part symbol'], + ['ϑ','ϑ', false,'theta symbol'], + ['ϒ', 'ϒ', false,'upsilon - hook symbol'], + ['℘', '℘', false,'Weierstrass p'], + ['ℑ', 'ℑ', false,'imaginary part'], +// arrows + ['←', '←', true, 'leftwards arrow'], + ['↑', '↑', true, 'upwards arrow'], + ['→', '→', true, 'rightwards arrow'], + ['↓', '↓', true, 'downwards arrow'], + ['↔', '↔', true, 'left right arrow'], + ['↵', '↵', false,'carriage return'], + ['⇐', '⇐', false,'leftwards double arrow'], + ['⇑', '⇑', false,'upwards double arrow'], + ['⇒', '⇒', false,'rightwards double arrow'], + ['⇓', '⇓', false,'downwards double arrow'], + ['⇔', '⇔', false,'left right double arrow'], + ['∴', '∴', false,'therefore'], + ['⊂', '⊂', false,'subset of'], + ['⊃', '⊃', false,'superset of'], + ['⊄', '⊄', false,'not a subset of'], + ['⊆', '⊆', false,'subset of or equal to'], + ['⊇', '⊇', false,'superset of or equal to'], + ['⊕', '⊕', false,'circled plus'], + ['⊗', '⊗', false,'circled times'], + ['⊥', '⊥', false,'perpendicular'], + ['⋅', '⋅', false,'dot operator'], + ['⌈', '⌈', false,'left ceiling'], + ['⌉', '⌉', false,'right ceiling'], + ['⌊', '⌊', false,'left floor'], + ['⌋', '⌋', false,'right floor'], + ['⟨', '〈', false,'left-pointing angle bracket'], + ['⟩', '〉', false,'right-pointing angle bracket'], + ['◊', '◊', true, 'lozenge'], + ['♠', '♠', true, 'black spade suit'], + ['♣', '♣', true, 'black club suit'], + ['♥', '♥', true, 'black heart suit'], + ['♦', '♦', true, 'black diamond suit'], + [' ', ' ', false,'en space'], + [' ', ' ', false,'em space'], + [' ', ' ', false,'thin space'], + ['‌', '‌', false,'zero width non-joiner'], + ['‍', '‍', false,'zero width joiner'], + ['‎', '‎', false,'left-to-right mark'], + ['‏', '‏', false,'right-to-left mark'], + ['­', '­', false,'soft hyphen'] +]; + +tinyMCEPopup.onInit.add(function() { + tinyMCEPopup.dom.setHTML('charmapView', renderCharMapHTML()); + addKeyboardNavigation(); +}); + +function addKeyboardNavigation(){ + var tableElm, cells, settings; + + cells = tinyMCEPopup.dom.select(".charmaplink", "charmapgroup"); + + settings ={ + root: "charmapgroup", + items: cells + }; + + tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', settings, tinyMCEPopup.dom); +} + +function renderCharMapHTML() { + var charsPerRow = 20, tdWidth=20, tdHeight=20, i; + var html = '
'+ + ''; + var cols=-1; + + for (i=0; i' + + '' + + charmap[i][1] + + ''; + if ((cols+1) % charsPerRow == 0) + html += ''; + } + } + + if (cols % charsPerRow > 0) { + var padd = charsPerRow - (cols % charsPerRow); + for (var i=0; i '; + } + + html += '
'; + html = html.replace(/<\/tr>/g, ''); + + return html; +} + +function insertChar(chr) { + tinyMCEPopup.execCommand('mceInsertContent', false, '&#' + chr + ';'); + + // Refocus in window + if (tinyMCEPopup.isWindow) + window.focus(); + + tinyMCEPopup.editor.focus(); + tinyMCEPopup.close(); +} + +function previewChar(codeA, codeB, codeN) { + var elmA = document.getElementById('codeA'); + var elmB = document.getElementById('codeB'); + var elmV = document.getElementById('codeV'); + var elmN = document.getElementById('codeN'); + + if (codeA=='#160;') { + elmV.innerHTML = '__'; + } else { + elmV.innerHTML = '&' + codeA; + } + + elmB.innerHTML = '&' + codeA; + elmA.innerHTML = '&' + codeB; + elmN.innerHTML = codeN; +} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/color_picker.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/color_picker.js new file mode 100644 index 00000000..cdf8c4c0 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/color_picker.js @@ -0,0 +1,329 @@ +tinyMCEPopup.requireLangPack(); + +var detail = 50, strhex = "0123456789ABCDEF", i, isMouseDown = false, isMouseOver = false; + +var colors = [ + "#000000","#000033","#000066","#000099","#0000cc","#0000ff","#330000","#330033", + "#330066","#330099","#3300cc","#3300ff","#660000","#660033","#660066","#660099", + "#6600cc","#6600ff","#990000","#990033","#990066","#990099","#9900cc","#9900ff", + "#cc0000","#cc0033","#cc0066","#cc0099","#cc00cc","#cc00ff","#ff0000","#ff0033", + "#ff0066","#ff0099","#ff00cc","#ff00ff","#003300","#003333","#003366","#003399", + "#0033cc","#0033ff","#333300","#333333","#333366","#333399","#3333cc","#3333ff", + "#663300","#663333","#663366","#663399","#6633cc","#6633ff","#993300","#993333", + "#993366","#993399","#9933cc","#9933ff","#cc3300","#cc3333","#cc3366","#cc3399", + "#cc33cc","#cc33ff","#ff3300","#ff3333","#ff3366","#ff3399","#ff33cc","#ff33ff", + "#006600","#006633","#006666","#006699","#0066cc","#0066ff","#336600","#336633", + "#336666","#336699","#3366cc","#3366ff","#666600","#666633","#666666","#666699", + "#6666cc","#6666ff","#996600","#996633","#996666","#996699","#9966cc","#9966ff", + "#cc6600","#cc6633","#cc6666","#cc6699","#cc66cc","#cc66ff","#ff6600","#ff6633", + "#ff6666","#ff6699","#ff66cc","#ff66ff","#009900","#009933","#009966","#009999", + "#0099cc","#0099ff","#339900","#339933","#339966","#339999","#3399cc","#3399ff", + "#669900","#669933","#669966","#669999","#6699cc","#6699ff","#999900","#999933", + "#999966","#999999","#9999cc","#9999ff","#cc9900","#cc9933","#cc9966","#cc9999", + "#cc99cc","#cc99ff","#ff9900","#ff9933","#ff9966","#ff9999","#ff99cc","#ff99ff", + "#00cc00","#00cc33","#00cc66","#00cc99","#00cccc","#00ccff","#33cc00","#33cc33", + "#33cc66","#33cc99","#33cccc","#33ccff","#66cc00","#66cc33","#66cc66","#66cc99", + "#66cccc","#66ccff","#99cc00","#99cc33","#99cc66","#99cc99","#99cccc","#99ccff", + "#cccc00","#cccc33","#cccc66","#cccc99","#cccccc","#ccccff","#ffcc00","#ffcc33", + "#ffcc66","#ffcc99","#ffcccc","#ffccff","#00ff00","#00ff33","#00ff66","#00ff99", + "#00ffcc","#00ffff","#33ff00","#33ff33","#33ff66","#33ff99","#33ffcc","#33ffff", + "#66ff00","#66ff33","#66ff66","#66ff99","#66ffcc","#66ffff","#99ff00","#99ff33", + "#99ff66","#99ff99","#99ffcc","#99ffff","#ccff00","#ccff33","#ccff66","#ccff99", + "#ccffcc","#ccffff","#ffff00","#ffff33","#ffff66","#ffff99","#ffffcc","#ffffff" +]; + +var named = { + '#F0F8FF':'Alice Blue','#FAEBD7':'Antique White','#00FFFF':'Aqua','#7FFFD4':'Aquamarine','#F0FFFF':'Azure','#F5F5DC':'Beige', + '#FFE4C4':'Bisque','#000000':'Black','#FFEBCD':'Blanched Almond','#0000FF':'Blue','#8A2BE2':'Blue Violet','#A52A2A':'Brown', + '#DEB887':'Burly Wood','#5F9EA0':'Cadet Blue','#7FFF00':'Chartreuse','#D2691E':'Chocolate','#FF7F50':'Coral','#6495ED':'Cornflower Blue', + '#FFF8DC':'Cornsilk','#DC143C':'Crimson','#00FFFF':'Cyan','#00008B':'Dark Blue','#008B8B':'Dark Cyan','#B8860B':'Dark Golden Rod', + '#A9A9A9':'Dark Gray','#A9A9A9':'Dark Grey','#006400':'Dark Green','#BDB76B':'Dark Khaki','#8B008B':'Dark Magenta','#556B2F':'Dark Olive Green', + '#FF8C00':'Darkorange','#9932CC':'Dark Orchid','#8B0000':'Dark Red','#E9967A':'Dark Salmon','#8FBC8F':'Dark Sea Green','#483D8B':'Dark Slate Blue', + '#2F4F4F':'Dark Slate Gray','#2F4F4F':'Dark Slate Grey','#00CED1':'Dark Turquoise','#9400D3':'Dark Violet','#FF1493':'Deep Pink','#00BFFF':'Deep Sky Blue', + '#696969':'Dim Gray','#696969':'Dim Grey','#1E90FF':'Dodger Blue','#B22222':'Fire Brick','#FFFAF0':'Floral White','#228B22':'Forest Green', + '#FF00FF':'Fuchsia','#DCDCDC':'Gainsboro','#F8F8FF':'Ghost White','#FFD700':'Gold','#DAA520':'Golden Rod','#808080':'Gray','#808080':'Grey', + '#008000':'Green','#ADFF2F':'Green Yellow','#F0FFF0':'Honey Dew','#FF69B4':'Hot Pink','#CD5C5C':'Indian Red','#4B0082':'Indigo','#FFFFF0':'Ivory', + '#F0E68C':'Khaki','#E6E6FA':'Lavender','#FFF0F5':'Lavender Blush','#7CFC00':'Lawn Green','#FFFACD':'Lemon Chiffon','#ADD8E6':'Light Blue', + '#F08080':'Light Coral','#E0FFFF':'Light Cyan','#FAFAD2':'Light Golden Rod Yellow','#D3D3D3':'Light Gray','#D3D3D3':'Light Grey','#90EE90':'Light Green', + '#FFB6C1':'Light Pink','#FFA07A':'Light Salmon','#20B2AA':'Light Sea Green','#87CEFA':'Light Sky Blue','#778899':'Light Slate Gray','#778899':'Light Slate Grey', + '#B0C4DE':'Light Steel Blue','#FFFFE0':'Light Yellow','#00FF00':'Lime','#32CD32':'Lime Green','#FAF0E6':'Linen','#FF00FF':'Magenta','#800000':'Maroon', + '#66CDAA':'Medium Aqua Marine','#0000CD':'Medium Blue','#BA55D3':'Medium Orchid','#9370D8':'Medium Purple','#3CB371':'Medium Sea Green','#7B68EE':'Medium Slate Blue', + '#00FA9A':'Medium Spring Green','#48D1CC':'Medium Turquoise','#C71585':'Medium Violet Red','#191970':'Midnight Blue','#F5FFFA':'Mint Cream','#FFE4E1':'Misty Rose','#FFE4B5':'Moccasin', + '#FFDEAD':'Navajo White','#000080':'Navy','#FDF5E6':'Old Lace','#808000':'Olive','#6B8E23':'Olive Drab','#FFA500':'Orange','#FF4500':'Orange Red','#DA70D6':'Orchid', + '#EEE8AA':'Pale Golden Rod','#98FB98':'Pale Green','#AFEEEE':'Pale Turquoise','#D87093':'Pale Violet Red','#FFEFD5':'Papaya Whip','#FFDAB9':'Peach Puff', + '#CD853F':'Peru','#FFC0CB':'Pink','#DDA0DD':'Plum','#B0E0E6':'Powder Blue','#800080':'Purple','#FF0000':'Red','#BC8F8F':'Rosy Brown','#4169E1':'Royal Blue', + '#8B4513':'Saddle Brown','#FA8072':'Salmon','#F4A460':'Sandy Brown','#2E8B57':'Sea Green','#FFF5EE':'Sea Shell','#A0522D':'Sienna','#C0C0C0':'Silver', + '#87CEEB':'Sky Blue','#6A5ACD':'Slate Blue','#708090':'Slate Gray','#708090':'Slate Grey','#FFFAFA':'Snow','#00FF7F':'Spring Green', + '#4682B4':'Steel Blue','#D2B48C':'Tan','#008080':'Teal','#D8BFD8':'Thistle','#FF6347':'Tomato','#40E0D0':'Turquoise','#EE82EE':'Violet', + '#F5DEB3':'Wheat','#FFFFFF':'White','#F5F5F5':'White Smoke','#FFFF00':'Yellow','#9ACD32':'Yellow Green' +}; + +var namedLookup = {}; + +function init() { + var inputColor = convertRGBToHex(tinyMCEPopup.getWindowArg('input_color')), key, value; + + tinyMCEPopup.resizeToInnerSize(); + + generatePicker(); + generateWebColors(); + generateNamedColors(); + + if (inputColor) { + changeFinalColor(inputColor); + + col = convertHexToRGB(inputColor); + + if (col) + updateLight(col.r, col.g, col.b); + } + + for (key in named) { + value = named[key]; + namedLookup[value.replace(/\s+/, '').toLowerCase()] = key.replace(/#/, '').toLowerCase(); + } +} + +function toHexColor(color) { + var matches, red, green, blue, toInt = parseInt; + + function hex(value) { + value = parseInt(value).toString(16); + + return value.length > 1 ? value : '0' + value; // Padd with leading zero + }; + + color = color.replace(/[\s#]+/g, '').toLowerCase(); + color = namedLookup[color] || color; + matches = /^rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)|([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})|([a-f0-9])([a-f0-9])([a-f0-9])$/.exec(color); + + if (matches) { + if (matches[1]) { + red = toInt(matches[1]); + green = toInt(matches[2]); + blue = toInt(matches[3]); + } else if (matches[4]) { + red = toInt(matches[4], 16); + green = toInt(matches[5], 16); + blue = toInt(matches[6], 16); + } else if (matches[7]) { + red = toInt(matches[7] + matches[7], 16); + green = toInt(matches[8] + matches[8], 16); + blue = toInt(matches[9] + matches[9], 16); + } + + return '#' + hex(red) + hex(green) + hex(blue); + } + + return ''; +} + +function insertAction() { + var color = document.getElementById("color").value, f = tinyMCEPopup.getWindowArg('func'); + + tinyMCEPopup.restoreSelection(); + + if (f) + f(toHexColor(color)); + + tinyMCEPopup.close(); +} + +function showColor(color, name) { + if (name) + document.getElementById("colorname").innerHTML = name; + + document.getElementById("preview").style.backgroundColor = color; + document.getElementById("color").value = color.toUpperCase(); +} + +function convertRGBToHex(col) { + var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi"); + + if (!col) + return col; + + var rgb = col.replace(re, "$1,$2,$3").split(','); + if (rgb.length == 3) { + r = parseInt(rgb[0]).toString(16); + g = parseInt(rgb[1]).toString(16); + b = parseInt(rgb[2]).toString(16); + + r = r.length == 1 ? '0' + r : r; + g = g.length == 1 ? '0' + g : g; + b = b.length == 1 ? '0' + b : b; + + return "#" + r + g + b; + } + + return col; +} + +function convertHexToRGB(col) { + if (col.indexOf('#') != -1) { + col = col.replace(new RegExp('[^0-9A-F]', 'gi'), ''); + + r = parseInt(col.substring(0, 2), 16); + g = parseInt(col.substring(2, 4), 16); + b = parseInt(col.substring(4, 6), 16); + + return {r : r, g : g, b : b}; + } + + return null; +} + +function generatePicker() { + var el = document.getElementById('light'), h = '', i; + + for (i = 0; i < detail; i++){ + h += '
'; + } + + el.innerHTML = h; +} + +function generateWebColors() { + var el = document.getElementById('webcolors'), h = '', i; + + if (el.className == 'generated') + return; + + // TODO: VoiceOver doesn't seem to support legend as a label referenced by labelledby. + h += '
' + + ''; + + for (i=0; i' + + ''; + if (tinyMCEPopup.editor.forcedHighContrastMode) { + h += ''; + } + h += ''; + h += ''; + if ((i+1) % 18 == 0) + h += ''; + } + + h += '
'; + + el.innerHTML = h; + el.className = 'generated'; + + paintCanvas(el); + enableKeyboardNavigation(el.firstChild); +} + +function paintCanvas(el) { + tinyMCEPopup.getWin().tinymce.each(tinyMCEPopup.dom.select('canvas.mceColorSwatch', el), function(canvas) { + var context; + if (canvas.getContext && (context = canvas.getContext("2d"))) { + context.fillStyle = canvas.getAttribute('data-color'); + context.fillRect(0, 0, 10, 10); + } + }); +} +function generateNamedColors() { + var el = document.getElementById('namedcolors'), h = '', n, v, i = 0; + + if (el.className == 'generated') + return; + + for (n in named) { + v = named[n]; + h += ''; + if (tinyMCEPopup.editor.forcedHighContrastMode) { + h += ''; + } + h += ''; + h += ''; + i++; + } + + el.innerHTML = h; + el.className = 'generated'; + + paintCanvas(el); + enableKeyboardNavigation(el); +} + +function enableKeyboardNavigation(el) { + tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', { + root: el, + items: tinyMCEPopup.dom.select('a', el) + }, tinyMCEPopup.dom); +} + +function dechex(n) { + return strhex.charAt(Math.floor(n / 16)) + strhex.charAt(n % 16); +} + +function computeColor(e) { + var x, y, partWidth, partDetail, imHeight, r, g, b, coef, i, finalCoef, finalR, finalG, finalB; + + x = e.offsetX ? e.offsetX : (e.target ? e.clientX - e.target.x : 0); + y = e.offsetY ? e.offsetY : (e.target ? e.clientY - e.target.y : 0); + + partWidth = document.getElementById('colors').width / 6; + partDetail = detail / 2; + imHeight = document.getElementById('colors').height; + + r = (x >= 0)*(x < partWidth)*255 + (x >= partWidth)*(x < 2*partWidth)*(2*255 - x * 255 / partWidth) + (x >= 4*partWidth)*(x < 5*partWidth)*(-4*255 + x * 255 / partWidth) + (x >= 5*partWidth)*(x < 6*partWidth)*255; + g = (x >= 0)*(x < partWidth)*(x * 255 / partWidth) + (x >= partWidth)*(x < 3*partWidth)*255 + (x >= 3*partWidth)*(x < 4*partWidth)*(4*255 - x * 255 / partWidth); + b = (x >= 2*partWidth)*(x < 3*partWidth)*(-2*255 + x * 255 / partWidth) + (x >= 3*partWidth)*(x < 5*partWidth)*255 + (x >= 5*partWidth)*(x < 6*partWidth)*(6*255 - x * 255 / partWidth); + + coef = (imHeight - y) / imHeight; + r = 128 + (r - 128) * coef; + g = 128 + (g - 128) * coef; + b = 128 + (b - 128) * coef; + + changeFinalColor('#' + dechex(r) + dechex(g) + dechex(b)); + updateLight(r, g, b); +} + +function updateLight(r, g, b) { + var i, partDetail = detail / 2, finalCoef, finalR, finalG, finalB, color; + + for (i=0; i=0) && (i'); + }, + + init : function() { + var f = document.forms[0], ed = tinyMCEPopup.editor; + + // Setup browse button + document.getElementById('srcbrowsercontainer').innerHTML = getBrowserHTML('srcbrowser','src','image','theme_advanced_image'); + if (isVisible('srcbrowser')) + document.getElementById('src').style.width = '180px'; + + e = ed.selection.getNode(); + + this.fillFileList('image_list', tinyMCEPopup.getParam('external_image_list', 'tinyMCEImageList')); + + if (e.nodeName == 'IMG') { + f.src.value = ed.dom.getAttrib(e, 'src'); + f.alt.value = ed.dom.getAttrib(e, 'alt'); + f.border.value = this.getAttrib(e, 'border'); + f.vspace.value = this.getAttrib(e, 'vspace'); + f.hspace.value = this.getAttrib(e, 'hspace'); + f.width.value = ed.dom.getAttrib(e, 'width'); + f.height.value = ed.dom.getAttrib(e, 'height'); + f.insert.value = ed.getLang('update'); + this.styleVal = ed.dom.getAttrib(e, 'style'); + selectByValue(f, 'image_list', f.src.value); + selectByValue(f, 'align', this.getAttrib(e, 'align')); + this.updateStyle(); + } + }, + + fillFileList : function(id, l) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; + + l = typeof(l) === 'function' ? l() : window[l]; + + if (l && l.length > 0) { + lst.options[lst.options.length] = new Option('', ''); + + tinymce.each(l, function(o) { + lst.options[lst.options.length] = new Option(o[0], o[1]); + }); + } else + dom.remove(dom.getParent(id, 'tr')); + }, + + update : function() { + var f = document.forms[0], nl = f.elements, ed = tinyMCEPopup.editor, args = {}, el; + + tinyMCEPopup.restoreSelection(); + + if (f.src.value === '') { + if (ed.selection.getNode().nodeName == 'IMG') { + ed.dom.remove(ed.selection.getNode()); + ed.execCommand('mceRepaint'); + } + + tinyMCEPopup.close(); + return; + } + + if (!ed.settings.inline_styles) { + args = tinymce.extend(args, { + vspace : nl.vspace.value, + hspace : nl.hspace.value, + border : nl.border.value, + align : getSelectValue(f, 'align') + }); + } else + args.style = this.styleVal; + + tinymce.extend(args, { + src : f.src.value.replace(/ /g, '%20'), + alt : f.alt.value, + width : f.width.value, + height : f.height.value + }); + + el = ed.selection.getNode(); + + if (el && el.nodeName == 'IMG') { + ed.dom.setAttribs(el, args); + tinyMCEPopup.editor.execCommand('mceRepaint'); + tinyMCEPopup.editor.focus(); + } else { + ed.execCommand('mceInsertContent', false, '', {skip_undo : 1}); + ed.dom.setAttribs('__mce_tmp', args); + ed.dom.setAttrib('__mce_tmp', 'id', ''); + ed.undoManager.add(); + } + + tinyMCEPopup.close(); + }, + + updateStyle : function() { + var dom = tinyMCEPopup.dom, st, v, f = document.forms[0]; + + if (tinyMCEPopup.editor.settings.inline_styles) { + st = tinyMCEPopup.dom.parseStyle(this.styleVal); + + // Handle align + v = getSelectValue(f, 'align'); + if (v) { + if (v == 'left' || v == 'right') { + st['float'] = v; + delete st['vertical-align']; + } else { + st['vertical-align'] = v; + delete st['float']; + } + } else { + delete st['float']; + delete st['vertical-align']; + } + + // Handle border + v = f.border.value; + if (v || v == '0') { + if (v == '0') + st['border'] = '0'; + else + st['border'] = v + 'px solid black'; + } else + delete st['border']; + + // Handle hspace + v = f.hspace.value; + if (v) { + delete st['margin']; + st['margin-left'] = v + 'px'; + st['margin-right'] = v + 'px'; + } else { + delete st['margin-left']; + delete st['margin-right']; + } + + // Handle vspace + v = f.vspace.value; + if (v) { + delete st['margin']; + st['margin-top'] = v + 'px'; + st['margin-bottom'] = v + 'px'; + } else { + delete st['margin-top']; + delete st['margin-bottom']; + } + + // Merge + st = tinyMCEPopup.dom.parseStyle(dom.serializeStyle(st), 'img'); + this.styleVal = dom.serializeStyle(st, 'img'); + } + }, + + getAttrib : function(e, at) { + var ed = tinyMCEPopup.editor, dom = ed.dom, v, v2; + + if (ed.settings.inline_styles) { + switch (at) { + case 'align': + if (v = dom.getStyle(e, 'float')) + return v; + + if (v = dom.getStyle(e, 'vertical-align')) + return v; + + break; + + case 'hspace': + v = dom.getStyle(e, 'margin-left') + v2 = dom.getStyle(e, 'margin-right'); + if (v && v == v2) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + + case 'vspace': + v = dom.getStyle(e, 'margin-top') + v2 = dom.getStyle(e, 'margin-bottom'); + if (v && v == v2) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + + case 'border': + v = 0; + + tinymce.each(['top', 'right', 'bottom', 'left'], function(sv) { + sv = dom.getStyle(e, 'border-' + sv + '-width'); + + // False or not the same as prev + if (!sv || (sv != v && v !== 0)) { + v = 0; + return false; + } + + if (sv) + v = sv; + }); + + if (v) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + } + } + + if (v = dom.getAttrib(e, at)) + return v; + + return ''; + }, + + resetImageData : function() { + var f = document.forms[0]; + + f.width.value = f.height.value = ""; + }, + + updateImageData : function() { + var f = document.forms[0], t = ImageDialog; + + if (f.width.value == "") + f.width.value = t.preloadImg.width; + + if (f.height.value == "") + f.height.value = t.preloadImg.height; + }, + + getImageData : function() { + var f = document.forms[0]; + + this.preloadImg = new Image(); + this.preloadImg.onload = this.updateImageData; + this.preloadImg.onerror = this.resetImageData; + this.preloadImg.src = tinyMCEPopup.editor.documentBaseURI.toAbsolute(f.src.value); + } +}; + +ImageDialog.preInit(); +tinyMCEPopup.onInit.add(ImageDialog.init, ImageDialog); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/link.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/link.js new file mode 100644 index 00000000..e67d868a --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/link.js @@ -0,0 +1,153 @@ +tinyMCEPopup.requireLangPack(); + +var LinkDialog = { + preInit : function() { + var url; + + if (url = tinyMCEPopup.getParam("external_link_list_url")) + document.write(''); + }, + + init : function() { + var f = document.forms[0], ed = tinyMCEPopup.editor; + + // Setup browse button + document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser', 'href', 'file', 'theme_advanced_link'); + if (isVisible('hrefbrowser')) + document.getElementById('href').style.width = '180px'; + + this.fillClassList('class_list'); + this.fillFileList('link_list', 'tinyMCELinkList'); + this.fillTargetList('target_list'); + + if (e = ed.dom.getParent(ed.selection.getNode(), 'A')) { + f.href.value = ed.dom.getAttrib(e, 'href'); + f.linktitle.value = ed.dom.getAttrib(e, 'title'); + f.insert.value = ed.getLang('update'); + selectByValue(f, 'link_list', f.href.value); + selectByValue(f, 'target_list', ed.dom.getAttrib(e, 'target')); + selectByValue(f, 'class_list', ed.dom.getAttrib(e, 'class')); + } + }, + + update : function() { + var f = document.forms[0], ed = tinyMCEPopup.editor, e, b, href = f.href.value.replace(/ /g, '%20'); + + tinyMCEPopup.restoreSelection(); + e = ed.dom.getParent(ed.selection.getNode(), 'A'); + + // Remove element if there is no href + if (!f.href.value) { + if (e) { + b = ed.selection.getBookmark(); + ed.dom.remove(e, 1); + ed.selection.moveToBookmark(b); + tinyMCEPopup.execCommand("mceEndUndoLevel"); + tinyMCEPopup.close(); + return; + } + } + + // Create new anchor elements + if (e == null) { + ed.getDoc().execCommand("unlink", false, null); + tinyMCEPopup.execCommand("mceInsertLink", false, "#mce_temp_url#", {skip_undo : 1}); + + tinymce.each(ed.dom.select("a"), function(n) { + if (ed.dom.getAttrib(n, 'href') == '#mce_temp_url#') { + e = n; + + ed.dom.setAttribs(e, { + href : href, + title : f.linktitle.value, + target : f.target_list ? getSelectValue(f, "target_list") : null, + 'class' : f.class_list ? getSelectValue(f, "class_list") : null + }); + } + }); + } else { + ed.dom.setAttribs(e, { + href : href, + title : f.linktitle.value, + target : f.target_list ? getSelectValue(f, "target_list") : null, + 'class' : f.class_list ? getSelectValue(f, "class_list") : null + }); + } + + // Don't move caret if selection was image + if (e.childNodes.length != 1 || e.firstChild.nodeName != 'IMG') { + ed.focus(); + ed.selection.select(e); + ed.selection.collapse(0); + tinyMCEPopup.storeSelection(); + } + + tinyMCEPopup.execCommand("mceEndUndoLevel"); + tinyMCEPopup.close(); + }, + + checkPrefix : function(n) { + if (n.value && Validator.isEmail(n) && !/^\s*mailto:/i.test(n.value) && confirm(tinyMCEPopup.getLang('advanced_dlg.link_is_email'))) + n.value = 'mailto:' + n.value; + + if (/^\s*www\./i.test(n.value) && confirm(tinyMCEPopup.getLang('advanced_dlg.link_is_external'))) + n.value = 'http://' + n.value; + }, + + fillFileList : function(id, l) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; + + l = window[l]; + + if (l && l.length > 0) { + lst.options[lst.options.length] = new Option('', ''); + + tinymce.each(l, function(o) { + lst.options[lst.options.length] = new Option(o[0], o[1]); + }); + } else + dom.remove(dom.getParent(id, 'tr')); + }, + + fillClassList : function(id) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; + + if (v = tinyMCEPopup.getParam('theme_advanced_styles')) { + cl = []; + + tinymce.each(v.split(';'), function(v) { + var p = v.split('='); + + cl.push({'title' : p[0], 'class' : p[1]}); + }); + } else + cl = tinyMCEPopup.editor.dom.getClasses(); + + if (cl.length > 0) { + lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), ''); + + tinymce.each(cl, function(o) { + lst.options[lst.options.length] = new Option(o.title || o['class'], o['class']); + }); + } else + dom.remove(dom.getParent(id, 'tr')); + }, + + fillTargetList : function(id) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v; + + lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), ''); + lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('advanced_dlg.link_target_same'), '_self'); + lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('advanced_dlg.link_target_blank'), '_blank'); + + if (v = tinyMCEPopup.getParam('theme_advanced_link_targets')) { + tinymce.each(v.split(','), function(v) { + v = v.split('='); + lst.options[lst.options.length] = new Option(v[0], v[1]); + }); + } + } +}; + +LinkDialog.preInit(); +tinyMCEPopup.onInit.add(LinkDialog.init, LinkDialog); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/source_editor.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/source_editor.js new file mode 100644 index 00000000..9cf6b1a2 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/source_editor.js @@ -0,0 +1,56 @@ +tinyMCEPopup.requireLangPack(); +tinyMCEPopup.onInit.add(onLoadInit); + +function saveContent() { + tinyMCEPopup.editor.setContent(document.getElementById('htmlSource').value, {source_view : true}); + tinyMCEPopup.close(); +} + +function onLoadInit() { + tinyMCEPopup.resizeToInnerSize(); + + // Remove Gecko spellchecking + if (tinymce.isGecko) + document.body.spellcheck = tinyMCEPopup.editor.getParam("gecko_spellcheck"); + + document.getElementById('htmlSource').value = tinyMCEPopup.editor.getContent({source_view : true}); + + if (tinyMCEPopup.editor.getParam("theme_advanced_source_editor_wrap", true)) { + setWrap('soft'); + document.getElementById('wraped').checked = true; + } + + resizeInputs(); +} + +function setWrap(val) { + var v, n, s = document.getElementById('htmlSource'); + + s.wrap = val; + + if (!tinymce.isIE) { + v = s.value; + n = s.cloneNode(false); + n.setAttribute("wrap", val); + s.parentNode.replaceChild(n, s); + n.value = v; + } +} + +function toggleWordWrap(elm) { + if (elm.checked) + setWrap('soft'); + else + setWrap('off'); +} + +function resizeInputs() { + var vp = tinyMCEPopup.dom.getViewPort(window), el; + + el = document.getElementById('htmlSource'); + + if (el) { + el.style.width = (vp.w - 20) + 'px'; + el.style.height = (vp.h - 65) + 'px'; + } +} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/langs/en.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/langs/en.js new file mode 100644 index 00000000..4c74747e --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/langs/en.js @@ -0,0 +1,68 @@ +tinyMCE.addI18n('en.advanced',{ +style_select:"Styles", +font_size:"Font size", +fontdefault:"Font family", +block:"Format", +paragraph:"Paragraph", +div:"Div", +address:"Address", +pre:"Preformatted", +h1:"Heading 1", +h2:"Heading 2", +h3:"Heading 3", +h4:"Heading 4", +h5:"Heading 5", +h6:"Heading 6", +blockquote:"Blockquote", +code:"Code", +samp:"Code sample", +dt:"Definition term ", +dd:"Definition description", +bold_desc:"Bold (Ctrl+B)", +italic_desc:"Italic (Ctrl+I)", +underline_desc:"Underline (Ctrl+U)", +striketrough_desc:"Strikethrough", +justifyleft_desc:"Align left", +justifycenter_desc:"Align center", +justifyright_desc:"Align right", +justifyfull_desc:"Align full", +bullist_desc:"Unordered list", +numlist_desc:"Ordered list", +outdent_desc:"Outdent", +indent_desc:"Indent", +undo_desc:"Undo (Ctrl+Z)", +redo_desc:"Redo (Ctrl+Y)", +link_desc:"Insert/edit link", +unlink_desc:"Unlink", +image_desc:"Insert/edit image", +cleanup_desc:"Cleanup messy code", +code_desc:"Edit HTML Source", +sub_desc:"Subscript", +sup_desc:"Superscript", +hr_desc:"Insert horizontal ruler", +removeformat_desc:"Remove formatting", +custom1_desc:"Your custom description here", +forecolor_desc:"Select text color", +backcolor_desc:"Select background color", +charmap_desc:"Insert custom character", +visualaid_desc:"Toggle guidelines/invisible elements", +anchor_desc:"Insert/edit anchor", +cut_desc:"Cut", +copy_desc:"Copy", +paste_desc:"Paste", +image_props_desc:"Image properties", +newdocument_desc:"New document", +help_desc:"Help", +blockquote_desc:"Blockquote", +clipboard_msg:"Copy/Cut/Paste is not available in Mozilla and Firefox.\r\nDo you want more information about this issue?", +path:"Path", +newdocument:"Are you sure you want clear all contents?", +toolbar_focus:"Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X", +more_colors:"More colors", + +// Accessibility Strings +shortcuts_desc:'Accessibility Help', +help_shortcut:'. Press ALT F10 for toolbar. Press ALT 0 for help.', +rich_text_area:"Rich Text Area", +toolbar:"Toolbar" +}); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js new file mode 100644 index 00000000..a4e2e0b2 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js @@ -0,0 +1,54 @@ +tinyMCE.addI18n('en.advanced_dlg',{ +about_title:"About TinyMCE", +about_general:"About", +about_help:"Help", +about_license:"License", +about_plugins:"Plugins", +about_plugin:"Plugin", +about_author:"Author", +about_version:"Version", +about_loaded:"Loaded plugins", +anchor_title:"Insert/edit anchor", +anchor_name:"Anchor name", +anchor_invalid:"Please specify a valid anchor name.", +code_title:"HTML Source Editor", +code_wordwrap:"Word wrap", +colorpicker_title:"Select a color", +colorpicker_picker_tab:"Picker", +colorpicker_picker_title:"Color picker", +colorpicker_palette_tab:"Palette", +colorpicker_palette_title:"Palette colors", +colorpicker_named_tab:"Named", +colorpicker_named_title:"Named colors", +colorpicker_color:"Color:", +colorpicker_name:"Name:", +charmap_title:"Select custom character", +image_title:"Insert/edit image", +image_src:"Image URL", +image_alt:"Image description", +image_list:"Image list", +image_border:"Border", +image_dimensions:"Dimensions", +image_vspace:"Vertical space", +image_hspace:"Horizontal space", +image_align:"Alignment", +image_align_baseline:"Baseline", +image_align_top:"Top", +image_align_middle:"Middle", +image_align_bottom:"Bottom", +image_align_texttop:"Text top", +image_align_textbottom:"Text bottom", +image_align_left:"Left", +image_align_right:"Right", +link_title:"Insert/edit link", +link_url:"Link URL", +link_target:"Target", +link_target_same:"Open link in the same window", +link_target_blank:"Open link in a new window", +link_titlefield:"Title", +link_is_email:"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?", +link_is_external:"The URL you entered seems to be an external link. Do you want to add the required http:// prefix?", +link_list:"Link list", +accessibility_help:"Accessibility Help", +accessibility_usage_title:"General Usage" +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/link.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/link.htm new file mode 100644 index 00000000..4a2459f8 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/link.htm @@ -0,0 +1,57 @@ + + + + {#advanced_dlg.link_title} + + + + + + + +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + +
+ + + + +
 
+
+
+ +
+ + +
+
+ + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/shortcuts.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/shortcuts.htm new file mode 100644 index 00000000..436091f1 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/shortcuts.htm @@ -0,0 +1,47 @@ + + + + {#advanced_dlg.accessibility_help} + + + + +

{#advanced_dlg.accessibility_usage_title}

+

Toolbars

+

Press ALT-F10 to move focus to the toolbars. Navigate through the buttons using the arrow keys. + Press enter to activate a button and return focus to the editor. + Press escape to return focus to the editor without performing any actions.

+ +

Status Bar

+

To access the editor status bar, press ALT-F11. Use the left and right arrow keys to navigate between elements in the path. + Press enter or space to select an element. Press escape to return focus to the editor without changing the selection.

+ +

Context Menu

+

Press shift-F10 to activate the context menu. Use the up and down arrow keys to move between menu items. To open sub-menus press the right arrow key. + To close submenus press the left arrow key. Press escape to close the context menu.

+ +

Keyboard Shortcuts

+ + + + + + + + + + + + + + + + + + + + + +
KeystrokeFunction
Control-BBold
Control-IItalic
Control-ZUndo
Control-YRedo
+ + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/content.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/content.css new file mode 100644 index 00000000..c08c7e6d --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/content.css @@ -0,0 +1,48 @@ +body, td, pre {color:#000; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; margin:8px;} +body {background:#FFF;} +body.mceForceColors {background:#FFF; color:#000;} +body.mceBrowserDefaults {background:transparent; color:inherit; font-size:inherit; font-family:inherit;} +h1 {font-size: 2em} +h2 {font-size: 1.5em} +h3 {font-size: 1.17em} +h4 {font-size: 1em} +h5 {font-size: .83em} +h6 {font-size: .75em} +.mceItemTable, .mceItemTable td, .mceItemTable th, .mceItemTable caption, .mceItemVisualAid {border: 1px dashed #BBB;} +a.mceItemAnchor {display:inline-block; -webkit-user-select:all; -webkit-user-modify:read-only; -moz-user-select:all; -moz-user-modify:read-only; width:11px !important; height:11px !important; background:url(img/items.png) no-repeat center center} +span.mceItemNbsp {background: #DDD} +td.mceSelected, th.mceSelected {background-color:#3399ff !important} +img {border:0;} +table {cursor:default} +table td, table th {cursor:text} +ins {border-bottom:1px solid green; text-decoration: none; color:green} +del {color:red; text-decoration:line-through} +cite {border-bottom:1px dashed blue} +acronym {border-bottom:1px dotted #CCC; cursor:help} +abbr {border-bottom:1px dashed #CCC; cursor:help} + +/* IE */ +* html body { +scrollbar-3dlight-color:#F0F0EE; +scrollbar-arrow-color:#676662; +scrollbar-base-color:#F0F0EE; +scrollbar-darkshadow-color:#DDD; +scrollbar-face-color:#E0E0DD; +scrollbar-highlight-color:#F0F0EE; +scrollbar-shadow-color:#F0F0EE; +scrollbar-track-color:#F5F5F5; +} + +img:-moz-broken {-moz-force-broken-image-icon:1; width:24px; height:24px} +font[face=mceinline] {font-family:inherit !important} + +.mceItemMedia {border:1px dotted #cc0000; background-position:center; background-repeat:no-repeat; background-color:#ffffcc} +.mceItemShockWave {background-image:url(../../img/shockwave.png)} +.mceItemFlash {background-image:url(../../img/flash.png)} +.mceItemQuickTime {background-image:url(../../img/quicktime.png)} +.mceItemWindowsMedia {background-image:url(../../img/windowsmedia.png)} +.mceItemRealMedia {background-image:url(../../img/realmedia.png)} +.mceItemVideo {background-image:url(../../img/video.png)} +.mceItemAudio {background-image:url(../../img/video.png)} +.mceItemIframe {background-image:url(../../img/iframe.png)} +.mcePageBreak {display:block;border:0;width:100%;height:12px;border-top:1px dotted #ccc;margin-top:15px;background:#fff url(../../img/pagebreak.png) no-repeat center top;} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css new file mode 100644 index 00000000..d5daec7e --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css @@ -0,0 +1,117 @@ +/* Generic */ +body { +font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; +scrollbar-3dlight-color:#F0F0EE; +scrollbar-arrow-color:#676662; +scrollbar-base-color:#F0F0EE; +scrollbar-darkshadow-color:#DDDDDD; +scrollbar-face-color:#E0E0DD; +scrollbar-highlight-color:#F0F0EE; +scrollbar-shadow-color:#F0F0EE; +scrollbar-track-color:#F5F5F5; +background:#F0F0EE; +padding:0; +margin:8px 8px 0 8px; +} + +html {background:#F0F0EE;} +td {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;} +textarea {resize:none;outline:none;} +a:link, a:visited {color:black;} +a:hover {color:#2B6FB6;} +.nowrap {white-space: nowrap} + +/* Forms */ +fieldset {margin:0; padding:4px; border:1px solid #919B9C; font-family:Verdana, Arial; font-size:10px;} +legend {color:#2B6FB6; font-weight:bold;} +label.msg {display:none;} +label.invalid {color:#EE0000; display:inline;} +input.invalid {border:1px solid #EE0000;} +input {background:#FFF; border:1px solid #CCC;} +input, select, textarea {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;} +input, select, textarea {border:1px solid #808080;} +input.radio {border:1px none #000000; background:transparent; vertical-align:middle;} +input.checkbox {border:1px none #000000; background:transparent; vertical-align:middle;} +.input_noborder {border:0;} + +/* Buttons */ +#insert, #cancel, input.button, .updateButton { +border:0; margin:0; padding:0; +font-weight:bold; +width:94px; height:26px; +background:url(img/buttons.png) 0 -26px; +cursor:pointer; +padding-bottom:2px; +float:left; +} + +#insert {background:url(img/buttons.png) 0 -52px} +#cancel {background:url(img/buttons.png) 0 0; float:right} + +/* Browse */ +a.pickcolor, a.browse {text-decoration:none} +a.browse span {display:block; width:20px; height:18px; background:url(../../img/icons.png) -860px 0; border:1px solid #FFF; margin-left:1px;} +.mceOldBoxModel a.browse span {width:22px; height:20px;} +a.browse:hover span {border:1px solid #0A246A; background-color:#B2BBD0;} +a.browse span.disabled {border:1px solid white; opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} +a.browse:hover span.disabled {border:1px solid white; background-color:transparent;} +a.pickcolor span {display:block; width:20px; height:16px; background:url(../../img/icons.png) -840px 0; margin-left:2px;} +.mceOldBoxModel a.pickcolor span {width:21px; height:17px;} +a.pickcolor:hover span {background-color:#B2BBD0;} +a.pickcolor:hover span.disabled {} + +/* Charmap */ +table.charmap {border:1px solid #AAA; text-align:center} +td.charmap, #charmap a {width:18px; height:18px; color:#000; border:1px solid #AAA; text-align:center; font-size:12px; vertical-align:middle; line-height: 18px;} +#charmap a {display:block; color:#000; text-decoration:none; border:0} +#charmap a:hover {background:#CCC;color:#2B6FB6} +#charmap #codeN {font-size:10px; font-family:Arial,Helvetica,sans-serif; text-align:center} +#charmap #codeV {font-size:40px; height:80px; border:1px solid #AAA; text-align:center} + +/* Source */ +.wordWrapCode {vertical-align:middle; border:1px none #000000; background:transparent;} +.mceActionPanel {margin-top:5px;} + +/* Tabs classes */ +.tabs {width:100%; height:18px; line-height:normal; background:url(img/tabs.gif) repeat-x 0 -72px;} +.tabs ul {margin:0; padding:0; list-style:none;} +.tabs li {float:left; background:url(img/tabs.gif) no-repeat 0 0; margin:0 2px 0 0; padding:0 0 0 10px; line-height:17px; height:18px; display:block;} +.tabs li.current {background:url(img/tabs.gif) no-repeat 0 -18px; margin-right:2px;} +.tabs span {float:left; display:block; background:url(img/tabs.gif) no-repeat right -36px; padding:0px 10px 0 0;} +.tabs .current span {background:url(img/tabs.gif) no-repeat right -54px;} +.tabs a {text-decoration:none; font-family:Verdana, Arial; font-size:10px;} +.tabs a:link, .tabs a:visited, .tabs a:hover {color:black;} + +/* Panels */ +.panel_wrapper div.panel {display:none;} +.panel_wrapper div.current {display:block; width:100%; height:300px; overflow:visible;} +.panel_wrapper {border:1px solid #919B9C; border-top:0px; padding:10px; padding-top:5px; clear:both; background:white;} + +/* Columns */ +.column {float:left;} +.properties {width:100%;} +.properties .column1 {} +.properties .column2 {text-align:left;} + +/* Titles */ +h1, h2, h3, h4 {color:#2B6FB6; margin:0; padding:0; padding-top:5px;} +h3 {font-size:14px;} +.title {font-size:12px; font-weight:bold; color:#2B6FB6;} + +/* Dialog specific */ +#link .panel_wrapper, #link div.current {height:125px;} +#image .panel_wrapper, #image div.current {height:200px;} +#plugintable thead {font-weight:bold; background:#DDD;} +#plugintable, #about #plugintable td {border:1px solid #919B9C;} +#plugintable {width:96%; margin-top:10px;} +#pluginscontainer {height:290px; overflow:auto;} +#colorpicker #preview {float:right; width:50px; height:14px;line-height:1px; border:1px solid black; margin-left:5px;} +#colorpicker #colors {float:left; border:1px solid gray; cursor:crosshair;} +#colorpicker #light {border:1px solid gray; margin-left:5px; float:left;width:15px; height:150px; cursor:crosshair;} +#colorpicker #light div {overflow:hidden;} +#colorpicker #previewblock {float:right; padding-left:10px; height:20px;} +#colorpicker .panel_wrapper div.current {height:175px;} +#colorpicker #namedcolors {width:150px;} +#colorpicker #namedcolors a {display:block; float:left; width:10px; height:10px; margin:1px 1px 0 0; overflow:hidden;} +#colorpicker #colornamecontainer {margin-top:5px;} +#colorpicker #picker_panel fieldset {margin:auto;width:325px;} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png new file mode 100644 index 0000000000000000000000000000000000000000..1e53560e0aa7bb1b9a0373fc2f330acab7d1d51f GIT binary patch literal 3133 zcmV-D48rq?P)gng~>+0yq!tBh% zt0xP1czF2u_k)9j>dM0B$HDja_H1ly_V)Go`1nXjNaW+;^YZfD+t}*M#Nxuc=*Yq1 z;NB`KDhCG#@bK{R@$l@+!)t46+`F{;`ugO=z30fm^Yila^6}@#zv02U-oCc!%EL4? zH23%S=jP<#-rMNs>FMdm#>K$Dy`ivK#l*utK0e&s+{nkq>gea}%)@eWa<{g% z>dL@PO-FDO<;_vP3{r&yS z%gJYFXW`)8?90T9iiya`$o2O1+}hao_x2?vCGqg?<>cY)?CRy@;^N@n=jG#KaTS=D zm+I)|g@uFe?(C6}kHNve?(FOH^YiBA;_dD0_xJVh?(XR4=IY46=jG(~_V(`W?9I*1 z!^6SJF#_`P^4;Ct@9*!-P0sTG012r{L_t(|+O?MXUsG2ahi}PpNZ7ob12ts4 zA_nFqLtjdnoh+!creNnz_KL?&0LP2uu@&_VjZFOf^A4upSXxT<`l7sS>g!pxJp2~b zgUf1h)S;pzug4E}@{1@iQEJjdaP@Ltb^$+T7zI?z4@yu#C-3srtNyDv6^9}$t5I62 z>xb$~{1JaiNl_6V8bd?=JbL9-OZ-DXKO)}#7Xi}+6#OZW7Begij5aQTVUu2>r61l7mL6M%W;u2b1cxN5qol8KVq;TnzZb$VIutgWfp%2Ix?b*q1c zp^rpdy`U!2+}vDCtV5;l-Wsivb|!ywlycE%FI3t1UC}6o*QwN+^e&e(+6tmh&IV$* zwKr1BS*PP_W%O>?$}xn9*J^BNZXP!2n_RA@)&|hpN1XEREc(VbqzbSVA5n4^h7iXM|9ZGb3fK`idO7ys2Lt+`qm~5qe2Y=O=dNx30Fri zO%RZ1g`tQ4_sh%*NOe8@%T1~FFYSIIXUE2k`Uvcx=T}~&aOr7E^L^Zb*nQ}WPrdxk zJ1^$|SWi(Sa_XfVacZGB*KO4MjfcaFIU#(w@qM8&{Po|#YujGmtnxR;Yuh-x-oA6^ zuPW=;|7B_P^k$a3bLVa1+i;_B_~hj6+w(c#_U(fw4-4VUKe^uY^@!eVA}U?3JN zw_3}~%v4||MYYOBD+pBBK=CiB2=GM=ZK74QsnEWGf%6%rzj!7P2v}t?l}eTCl$E#0 zCt|T!SuA#?$iibMaNC?>Kiw?CEKdz7J@m zh=3#=raCG7elLNAKrH)!qKsKt#0a)nOqN=3Ipr#WE9WM;em?(%Xq9ft;&=}b#V3I$ zVj$2nbyH3S@RR!2vy>>^v{Son5CX1CHOG#5ljy)?^FYn1j{`_;M zADPb=ZhIQ? zHi5i*0!a~!kBegd{0P&(I-l?JIeb2!v}MbdD$qi>-D#hIVvMoz@o}r2GQRY`r|cGi z4IOo&281m>pFB3k;xjWdZg>8ChpzV$j-yf?=hiJ*-qPv)1oe0=FyoffUNeFlHkBhs z+(*6MIyZ&4Fl3Y7(s`pD2p`>>vJ*#-;!E?jd#RF4@GUKZ(yrmPyBRG|GN;h~pQ9AL zRR<)g&ZJL&;iwD%4EptL_49PIl6 zhXKmq;2s}=Ev71;4-O8#m(B)@zP`a(n8A(2;9z3Td*z&}zj)?uJLsF9RTO3K;Pmt( z#fu7;o=yjG4h|InKc>^l^z>7oVg8Y(vD*K1`T=t9_6H%ju3Wl%=Hdv~4-CxT{qm2? z%9nTN2L_n_!g<_I&Roe~R<4}E?c_ObC*jPu2RV}+Bik6)ULEP^7@2&Ir`I^IgI%1r zu3>uDTZ~;ASf0c*?dzDlcI_HjMmoOEgmEkX>BA3y$^o$AR^AvsnYoZzejq&=Zp?KX zWwTjxrMKE_f-U@bGbpSq+-wFD3{0>8ZS=G`y!mn1CRl@QXV0$60cX!v2CewRY+Ji( z-@a9AmlJNRq%JMfhVjakqPSAWMx;bBWwWis3mYtrDFB0LnuotKvq<`V`_MU{CtI0? zHj_e^M#Eo`>xYW`2>4Sop9r3$7^9D0|tV3X(>MKmaTjd zTktrvwvFjGojrtexg~ch8%eTiL$?HEDrQFQ(o|zg&NduBtLhIOr!H+##_1SX!$S-& zLZ~82VT&b<_XeVjKkdaT)8&MZn3s6O? z@Gec#kU^Eh>o9787rQi=j4n;`dL2Ex7py*wi-C_@W;tGmM2H0td2k}Eu?UR&MBu6|>VLK7V2WZmcZX6GS zxVhu-27`juJ?VIY96{1iSCn8dt4q`M`ww_PhzNR&E=>uAmgv&rzt*M2LqTW>>P+IH z1N(Ko7y4j=2*o|XK`4oY=fy6~L8&FXv_z1HX=^Bv(Dl0y&{q|&t_}qgctS0PQeCYe z`pYgYR9#&iU!qG3RR?(*S6W@22p-sN=n3pnlmu<&1!%&<&tk3;N5Y%VhNKDTS)3e+ zxYwj#O?s^3If&gM#p`AIphv@~pdjEet2rJm%>~M8L%)0X>M#DVtbDN=Qm(JW=)me_ z<^ZH^(1$aRD>-eOHt8eKM$d&WQn~arrTISYK3<2LI5 XtZb~ra4Vor00000NkvXXu0mjf(5kL( literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/items.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/items.gif new file mode 100644 index 0000000000000000000000000000000000000000..d2f93671ca3090b277e16a67b1aa6cfb6ac4915f GIT binary patch literal 64 zcmZ?wbhEHbjEB<5wG8q|kKzxu41Cw-5|H{*E`4`XOxxoD9Y}F^Z SLTQbO*E^TJI;F+RU=09Vu@yA{ literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif new file mode 100644 index 0000000000000000000000000000000000000000..adfdddccd7cac62a17d68873fa53c248bff8351a GIT binary patch literal 70 zcmZ?wbhEHb6k!lyXkcUjg8%>jEB<5wG8q|kKzxu41Cwk||H{*E`4`XG(j;}D)%x|1 U%)82UlRJ8EoZ9xTT7&iJhvXcHF*h)T1OnEW1i^?zgDfop1p?usL*#PMGT;HQkSO{q6FlJyb$PWkPf|h*eTST}7h8z$}MF(XD(aQ)ZLZ zM?v0rT<1C4XHn<6PbNA{XL@>1^)apdD_@tcYDrW#m`k#MmslI7p^P;Az74wGs`!SI zLs$GEZHsafXsu1i-WleMzAL(yw$-LK{0hv;6hrx8kx!!4$``dAyBnY9Jz&DqJo2$A z!(L$H=KqBeY~CF_viHPz^tTglc?D97CqEBjzUwH}7GI zapg8YZM~>2Wk%E$d&r@9ly9b4Q zJpM7T@}r63I(OExUlG%Xcjz3MU+9U^r!SkpjNThDtaP)7>j6L5z%o5|^hlVOyI*uY zt^UU6NTuY?(Lb4ZIU2Zb5Vz}Pb7KF%ivf&j^CL>$cDz?rMNTQQ|NqDVD7mhghUp%h zhIA{gi{S8y9YhIIbSv$`B!JiPi!0#4#Jge0)p&YVPHchWcyAn zQhvb8ggXGXs9;k`u9Uq*YB>O+Q3Rq=2hlLFcG{Q3ORH_}JnY8C+r%@}6|%ySP%bWG zV~mA;?P`Q2L_Ss})nrJ{$TmeA9Tt*4=}X5x%RioM@_?ZsKSEST-f+GBv~Ya)xX3O{ z8!d=YthI-13OI;RN~`>|6u5L{z20oBp%9MIj)n$!Aw{Wpq&Rtr4~*_74Gjo@3el>B zz(Rk;;>2lp73<2;d=r*8z%WkdsG=vRuG_fvxO#uN^El|+5Qoz^X!2MfxJ3m}vyi?> zMLLDi8+${Z6YbUg?8GNR>-+SwHKdFyr%HqWcs|X_l*-DAC^bG&KCqWg7-_`UlwQ`EdOp_LJkr`L$mHHs75uP?fSgVfsDjuE#ft2b8HDt0yFt!+;C zEgL=)G9ZFt4wa+N3Xg7FGc0~`&EEt6_%7tyzmnb9B_h1~7~GD4V-Bhx7~QKRkF>&aT>(-!Us@aJxAY@8E?HW$G8g zSz@7Jcp>iCp;lU1ieF6n7!oAa-1E!rS0 zF1lBFVS%G#ZO}b@*+bIk+7@Q|iG60vIDVpV%4tW8rKyzwRo_<25;8*Ky@n z-sX>W*b;M){5lB_Edc@m1`VHy0@dg$PTR9uE$O2&a?KAe?xRlCj&Z$iZYw{QLU)`S|$v@$cX6?dI$1gD3v=j7e% z=;7w$-Rb7w=;hz@@$UBY^8Wt*`uh6+|Nj60000000000000000000000000000000 z00000A^8La001@sEC2ui04xDo06+%+K$1gIC>oE*q;kn@I-k&}bV{vSuh^_MTj5x~ z;IMd1E}PHjw0g~MyWjA*d`_1aD382;&+q&HfPsR8goTEOh>41ejE#C>oB7x?gDgX`C@W6PdRySDAy zxO3~?&AYen-@tu z`Sa-0t6$H)z5Dm@LOZmO%>O00UfxnIvLj zmiZW&W~QkanrgNg7@Ka!Dd(JY)@kRRc;=aq0|XcV`m}aW!rkr-_>81sY;K8V*mTKy$sHUpws;su^>Z`EED(kGY)@tjm zxZYZTYZdhB>#x8DE9|hu7HjOW$R?}ovdlK??6c5DD=oAId~w{h*k-Hkw%m5>?YH2D zEAF`DmTT_0=%%ax?z-w0009Ik#VhZ;^ww+dz4+#<@4o!@>+in+2Q2Ww1Q$$j0U2bV z!NLqT?C`@7M=bHg6jyBV#TaL-@x~l??D5ASdtAVH6qIc8$tb6+^2#i??DESn$1L;A zG}mnN%{b?*GtOJ|?DNk+2QBo_L>Daue_181^wLZ>?ex=7N9~l1I}U2~)mXDawT@YL z?e*83Y@H+6WS1?d*f^T4_Sz?+eIwg&$E~5;Hp*@H-M-LWBi?-X{fgc`1}^yEgcol3 z;X3N6_(2E|;K1UL57dDST1Ia9J29Y8`Q@Cev*hNThaS!eb%|~|J5qvv`s&nRsXFVh zKVw2)vDa=#`|SV?;3e+7Ljz~;z#H>>@Wcl*eDTB|k38_oFVB1P&fgAw^tDe<{q@*q gul@Gickli8;D;~%_~eUY^!ezgum1Y%w;u!mJFYAXt^fc4 literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/ui.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/ui.css new file mode 100644 index 00000000..013fc9f4 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/ui.css @@ -0,0 +1,214 @@ +/* Reset */ +.defaultSkin table, .defaultSkin tbody, .defaultSkin a, .defaultSkin img, .defaultSkin tr, .defaultSkin div, .defaultSkin td, .defaultSkin iframe, .defaultSkin span, .defaultSkin *, .defaultSkin .mceText {border:0; margin:0; padding:0; background:transparent; white-space:nowrap; text-decoration:none; font-weight:normal; cursor:default; color:#000; vertical-align:baseline; width:auto; border-collapse:separate; text-align:left} +.defaultSkin a:hover, .defaultSkin a:link, .defaultSkin a:visited, .defaultSkin a:active {text-decoration:none; font-weight:normal; cursor:default; color:#000} +.defaultSkin table td {vertical-align:middle} + +/* Containers */ +.defaultSkin table {direction:ltr;background:transparent} +.defaultSkin iframe {display:block;} +.defaultSkin .mceToolbar {height:26px} +.defaultSkin .mceLeft {text-align:left} +.defaultSkin .mceRight {text-align:right} + +/* External */ +.defaultSkin .mceExternalToolbar {position:absolute; border:1px solid #CCC; border-bottom:0; display:none;} +.defaultSkin .mceExternalToolbar td.mceToolbar {padding-right:13px;} +.defaultSkin .mceExternalClose {position:absolute; top:3px; right:3px; width:7px; height:7px; background:url(../../img/icons.png) -820px 0} + +/* Layout */ +.defaultSkin table.mceLayout {border:0; border-left:1px solid #CCC; border-right:1px solid #CCC} +.defaultSkin table.mceLayout tr.mceFirst td {border-top:1px solid #CCC} +.defaultSkin table.mceLayout tr.mceLast td {border-bottom:1px solid #CCC} +.defaultSkin table.mceToolbar, .defaultSkin tr.mceFirst .mceToolbar tr td, .defaultSkin tr.mceLast .mceToolbar tr td {border:0; margin:0; padding:0;} +.defaultSkin td.mceToolbar {background:#F0F0EE; padding-top:1px; vertical-align:top} +.defaultSkin .mceIframeContainer {border-top:1px solid #CCC; border-bottom:1px solid #CCC} +.defaultSkin .mceStatusbar {background:#F0F0EE; font-family:'MS Sans Serif',sans-serif,Verdana,Arial; font-size:9pt; line-height:16px; overflow:visible; color:#000; display:block; height:20px} +.defaultSkin .mceStatusbar div {float:left; margin:2px} +.defaultSkin .mceStatusbar a.mceResize {display:block; float:right; background:url(../../img/icons.png) -800px 0; width:20px; height:20px; cursor:se-resize; outline:0} +.defaultSkin .mceStatusbar a:hover {text-decoration:underline} +.defaultSkin table.mceToolbar {margin-left:3px} +.defaultSkin span.mceIcon, .defaultSkin img.mceIcon {display:block; width:20px; height:20px} +.defaultSkin .mceIcon {background:url(../../img/icons.png) no-repeat 20px 20px} +.defaultSkin td.mceCenter {text-align:center;} +.defaultSkin td.mceCenter table {margin:0 auto; text-align:left;} +.defaultSkin td.mceRight table {margin:0 0 0 auto;} + +/* Button */ +.defaultSkin .mceButton {display:block; border:1px solid #F0F0EE; width:20px; height:20px; margin-right:1px} +.defaultSkin a.mceButtonEnabled:hover {border:1px solid #0A246A; background-color:#B2BBD0} +.defaultSkin a.mceButtonActive, .defaultSkin a.mceButtonSelected {border:1px solid #0A246A; background-color:#C2CBE0} +.defaultSkin .mceButtonDisabled .mceIcon {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} +.defaultSkin .mceButtonLabeled {width:auto} +.defaultSkin .mceButtonLabeled span.mceIcon {float:left} +.defaultSkin span.mceButtonLabel {display:block; font-size:10px; padding:4px 6px 0 22px; font-family:Tahoma,Verdana,Arial,Helvetica} +.defaultSkin .mceButtonDisabled .mceButtonLabel {color:#888} + +/* Separator */ +.defaultSkin .mceSeparator {display:block; background:url(../../img/icons.png) -180px 0; width:2px; height:20px; margin:2px 2px 0 4px} + +/* ListBox */ +.defaultSkin .mceListBox, .defaultSkin .mceListBox a {display:block} +.defaultSkin .mceListBox .mceText {padding-left:4px; width:70px; text-align:left; border:1px solid #CCC; border-right:0; background:#FFF; font-family:Tahoma,Verdana,Arial,Helvetica; font-size:11px; height:20px; line-height:20px; overflow:hidden} +.defaultSkin .mceListBox .mceOpen {width:9px; height:20px; background:url(../../img/icons.png) -741px 0; margin-right:2px; border:1px solid #CCC;} +.defaultSkin table.mceListBoxEnabled:hover .mceText, .defaultSkin .mceListBoxHover .mceText, .defaultSkin .mceListBoxSelected .mceText {border:1px solid #A2ABC0; border-right:0; background:#FFF} +.defaultSkin table.mceListBoxEnabled:hover .mceOpen, .defaultSkin .mceListBoxHover .mceOpen, .defaultSkin .mceListBoxSelected .mceOpen {background-color:#FFF; border:1px solid #A2ABC0} +.defaultSkin .mceListBoxDisabled a.mceText {color:gray; background-color:transparent;} +.defaultSkin .mceListBoxMenu {overflow:auto; overflow-x:hidden} +.defaultSkin .mceOldBoxModel .mceListBox .mceText {height:22px} +.defaultSkin .mceOldBoxModel .mceListBox .mceOpen {width:11px; height:22px;} +.defaultSkin select.mceNativeListBox {font-family:'MS Sans Serif',sans-serif,Verdana,Arial; font-size:7pt; background:#F0F0EE; border:1px solid gray; margin-right:2px;} + +/* SplitButton */ +.defaultSkin .mceSplitButton {width:32px; height:20px; direction:ltr} +.defaultSkin .mceSplitButton a, .defaultSkin .mceSplitButton span {height:20px; display:block} +.defaultSkin .mceSplitButton a.mceAction {width:20px; border:1px solid #F0F0EE; border-right:0;} +.defaultSkin .mceSplitButton span.mceAction {width:20px; background-image:url(../../img/icons.png);} +.defaultSkin .mceSplitButton a.mceOpen {width:9px; background:url(../../img/icons.png) -741px 0; border:1px solid #F0F0EE;} +.defaultSkin .mceSplitButton span.mceOpen {display:none} +.defaultSkin table.mceSplitButtonEnabled:hover a.mceAction, .defaultSkin .mceSplitButtonHover a.mceAction, .defaultSkin .mceSplitButtonSelected a.mceAction {border:1px solid #0A246A; border-right:0; background-color:#B2BBD0} +.defaultSkin table.mceSplitButtonEnabled:hover a.mceOpen, .defaultSkin .mceSplitButtonHover a.mceOpen, .defaultSkin .mceSplitButtonSelected a.mceOpen {background-color:#B2BBD0; border:1px solid #0A246A;} +.defaultSkin .mceSplitButtonDisabled .mceAction, .defaultSkin .mceSplitButtonDisabled a.mceOpen {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} +.defaultSkin .mceSplitButtonActive a.mceAction {border:1px solid #0A246A; background-color:#C2CBE0} +.defaultSkin .mceSplitButtonActive a.mceOpen {border-left:0;} + +/* ColorSplitButton */ +.defaultSkin div.mceColorSplitMenu table {background:#FFF; border:1px solid gray} +.defaultSkin .mceColorSplitMenu td {padding:2px} +.defaultSkin .mceColorSplitMenu a {display:block; width:9px; height:9px; overflow:hidden; border:1px solid #808080} +.defaultSkin .mceColorSplitMenu td.mceMoreColors {padding:1px 3px 1px 1px} +.defaultSkin .mceColorSplitMenu a.mceMoreColors {width:100%; height:auto; text-align:center; font-family:Tahoma,Verdana,Arial,Helvetica; font-size:11px; line-height:20px; border:1px solid #FFF} +.defaultSkin .mceColorSplitMenu a.mceMoreColors:hover {border:1px solid #0A246A; background-color:#B6BDD2} +.defaultSkin a.mceMoreColors:hover {border:1px solid #0A246A} +.defaultSkin .mceColorPreview {margin-left:2px; width:16px; height:4px; overflow:hidden; background:#9a9b9a} +.defaultSkin .mce_forecolor span.mceAction, .defaultSkin .mce_backcolor span.mceAction {overflow:hidden; height:16px} + +/* Menu */ +.defaultSkin .mceMenu {position:absolute; left:0; top:0; z-index:1000; border:1px solid #D4D0C8} +.defaultSkin .mceNoIcons span.mceIcon {width:0;} +.defaultSkin .mceNoIcons a .mceText {padding-left:10px} +.defaultSkin .mceMenu table {background:#FFF} +.defaultSkin .mceMenu a, .defaultSkin .mceMenu span, .defaultSkin .mceMenu {display:block} +.defaultSkin .mceMenu td {height:20px} +.defaultSkin .mceMenu a {position:relative;padding:3px 0 4px 0} +.defaultSkin .mceMenu .mceText {position:relative; display:block; font-family:Tahoma,Verdana,Arial,Helvetica; color:#000; cursor:default; margin:0; padding:0 25px 0 25px; display:block} +.defaultSkin .mceMenu span.mceText, .defaultSkin .mceMenu .mcePreview {font-size:11px} +.defaultSkin .mceMenu pre.mceText {font-family:Monospace} +.defaultSkin .mceMenu .mceIcon {position:absolute; top:0; left:0; width:22px;} +.defaultSkin .mceMenu .mceMenuItemEnabled a:hover, .defaultSkin .mceMenu .mceMenuItemActive {background-color:#dbecf3} +.defaultSkin td.mceMenuItemSeparator {background:#DDD; height:1px} +.defaultSkin .mceMenuItemTitle a {border:0; background:#EEE; border-bottom:1px solid #DDD} +.defaultSkin .mceMenuItemTitle span.mceText {color:#000; font-weight:bold; padding-left:4px} +.defaultSkin .mceMenuItemDisabled .mceText {color:#888} +.defaultSkin .mceMenuItemSelected .mceIcon {background:url(img/menu_check.png)} +.defaultSkin .mceNoIcons .mceMenuItemSelected a {background:url(img/menu_arrow.png) no-repeat -6px center} +.defaultSkin .mceMenu span.mceMenuLine {display:none} +.defaultSkin .mceMenuItemSub a {background:url(img/menu_arrow.png) no-repeat top right;} +.defaultSkin .mceMenuItem td, .defaultSkin .mceMenuItem th {line-height: normal} + +/* Progress,Resize */ +.defaultSkin .mceBlocker {position:absolute; left:0; top:0; z-index:1000; opacity:0.5; -ms-filter:'alpha(opacity=50)'; filter:alpha(opacity=50); background:#FFF} +.defaultSkin .mceProgress {position:absolute; left:0; top:0; z-index:1001; background:url(img/progress.png) no-repeat; width:32px; height:32px; margin:-16px 0 0 -16px} + +/* Formats */ +.defaultSkin .mce_formatPreview a {font-size:10px} +.defaultSkin .mce_p span.mceText {} +.defaultSkin .mce_address span.mceText {font-style:italic} +.defaultSkin .mce_pre span.mceText {font-family:monospace} +.defaultSkin .mce_h1 span.mceText {font-weight:bolder; font-size: 2em} +.defaultSkin .mce_h2 span.mceText {font-weight:bolder; font-size: 1.5em} +.defaultSkin .mce_h3 span.mceText {font-weight:bolder; font-size: 1.17em} +.defaultSkin .mce_h4 span.mceText {font-weight:bolder; font-size: 1em} +.defaultSkin .mce_h5 span.mceText {font-weight:bolder; font-size: .83em} +.defaultSkin .mce_h6 span.mceText {font-weight:bolder; font-size: .75em} + +/* Theme */ +.defaultSkin span.mce_bold {background-position:0 0} +.defaultSkin span.mce_italic {background-position:-60px 0} +.defaultSkin span.mce_underline {background-position:-140px 0} +.defaultSkin span.mce_strikethrough {background-position:-120px 0} +.defaultSkin span.mce_undo {background-position:-160px 0} +.defaultSkin span.mce_redo {background-position:-100px 0} +.defaultSkin span.mce_cleanup {background-position:-40px 0} +.defaultSkin span.mce_bullist {background-position:-20px 0} +.defaultSkin span.mce_numlist {background-position:-80px 0} +.defaultSkin span.mce_justifyleft {background-position:-460px 0} +.defaultSkin span.mce_justifyright {background-position:-480px 0} +.defaultSkin span.mce_justifycenter {background-position:-420px 0} +.defaultSkin span.mce_justifyfull {background-position:-440px 0} +.defaultSkin span.mce_anchor {background-position:-200px 0} +.defaultSkin span.mce_indent {background-position:-400px 0} +.defaultSkin span.mce_outdent {background-position:-540px 0} +.defaultSkin span.mce_link {background-position:-500px 0} +.defaultSkin span.mce_unlink {background-position:-640px 0} +.defaultSkin span.mce_sub {background-position:-600px 0} +.defaultSkin span.mce_sup {background-position:-620px 0} +.defaultSkin span.mce_removeformat {background-position:-580px 0} +.defaultSkin span.mce_newdocument {background-position:-520px 0} +.defaultSkin span.mce_image {background-position:-380px 0} +.defaultSkin span.mce_help {background-position:-340px 0} +.defaultSkin span.mce_code {background-position:-260px 0} +.defaultSkin span.mce_hr {background-position:-360px 0} +.defaultSkin span.mce_visualaid {background-position:-660px 0} +.defaultSkin span.mce_charmap {background-position:-240px 0} +.defaultSkin span.mce_paste {background-position:-560px 0} +.defaultSkin span.mce_copy {background-position:-700px 0} +.defaultSkin span.mce_cut {background-position:-680px 0} +.defaultSkin span.mce_blockquote {background-position:-220px 0} +.defaultSkin .mce_forecolor span.mceAction {background-position:-720px 0} +.defaultSkin .mce_backcolor span.mceAction {background-position:-760px 0} +.defaultSkin span.mce_forecolorpicker {background-position:-720px 0} +.defaultSkin span.mce_backcolorpicker {background-position:-760px 0} + +/* Plugins */ +.defaultSkin span.mce_advhr {background-position:-0px -20px} +.defaultSkin span.mce_ltr {background-position:-20px -20px} +.defaultSkin span.mce_rtl {background-position:-40px -20px} +.defaultSkin span.mce_emotions {background-position:-60px -20px} +.defaultSkin span.mce_fullpage {background-position:-80px -20px} +.defaultSkin span.mce_fullscreen {background-position:-100px -20px} +.defaultSkin span.mce_iespell {background-position:-120px -20px} +.defaultSkin span.mce_insertdate {background-position:-140px -20px} +.defaultSkin span.mce_inserttime {background-position:-160px -20px} +.defaultSkin span.mce_absolute {background-position:-180px -20px} +.defaultSkin span.mce_backward {background-position:-200px -20px} +.defaultSkin span.mce_forward {background-position:-220px -20px} +.defaultSkin span.mce_insert_layer {background-position:-240px -20px} +.defaultSkin span.mce_insertlayer {background-position:-260px -20px} +.defaultSkin span.mce_movebackward {background-position:-280px -20px} +.defaultSkin span.mce_moveforward {background-position:-300px -20px} +.defaultSkin span.mce_media {background-position:-320px -20px} +.defaultSkin span.mce_nonbreaking {background-position:-340px -20px} +.defaultSkin span.mce_pastetext {background-position:-360px -20px} +.defaultSkin span.mce_pasteword {background-position:-380px -20px} +.defaultSkin span.mce_selectall {background-position:-400px -20px} +.defaultSkin span.mce_preview {background-position:-420px -20px} +.defaultSkin span.mce_print {background-position:-440px -20px} +.defaultSkin span.mce_cancel {background-position:-460px -20px} +.defaultSkin span.mce_save {background-position:-480px -20px} +.defaultSkin span.mce_replace {background-position:-500px -20px} +.defaultSkin span.mce_search {background-position:-520px -20px} +.defaultSkin span.mce_styleprops {background-position:-560px -20px} +.defaultSkin span.mce_table {background-position:-580px -20px} +.defaultSkin span.mce_cell_props {background-position:-600px -20px} +.defaultSkin span.mce_delete_table {background-position:-620px -20px} +.defaultSkin span.mce_delete_col {background-position:-640px -20px} +.defaultSkin span.mce_delete_row {background-position:-660px -20px} +.defaultSkin span.mce_col_after {background-position:-680px -20px} +.defaultSkin span.mce_col_before {background-position:-700px -20px} +.defaultSkin span.mce_row_after {background-position:-720px -20px} +.defaultSkin span.mce_row_before {background-position:-740px -20px} +.defaultSkin span.mce_merge_cells {background-position:-760px -20px} +.defaultSkin span.mce_table_props {background-position:-980px -20px} +.defaultSkin span.mce_row_props {background-position:-780px -20px} +.defaultSkin span.mce_split_cells {background-position:-800px -20px} +.defaultSkin span.mce_template {background-position:-820px -20px} +.defaultSkin span.mce_visualchars {background-position:-840px -20px} +.defaultSkin span.mce_abbr {background-position:-860px -20px} +.defaultSkin span.mce_acronym {background-position:-880px -20px} +.defaultSkin span.mce_attribs {background-position:-900px -20px} +.defaultSkin span.mce_cite {background-position:-920px -20px} +.defaultSkin span.mce_del {background-position:-940px -20px} +.defaultSkin span.mce_ins {background-position:-960px -20px} +.defaultSkin span.mce_pagebreak {background-position:0 -40px} +.defaultSkin span.mce_restoredraft {background-position:-20px -40px} +.defaultSkin span.mce_spellchecker {background-position:-540px -20px} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/highcontrast/content.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/highcontrast/content.css new file mode 100644 index 00000000..75cfaf18 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/highcontrast/content.css @@ -0,0 +1,23 @@ +body, td, pre { margin:8px;} +body.mceForceColors {background:#FFF; color:#000;} +h1 {font-size: 2em} +h2 {font-size: 1.5em} +h3 {font-size: 1.17em} +h4 {font-size: 1em} +h5 {font-size: .83em} +h6 {font-size: .75em} +.mceItemTable, .mceItemTable td, .mceItemTable th, .mceItemTable caption, .mceItemVisualAid {border: 1px dashed #BBB;} +a.mceItemAnchor {display:inline-block; width:11px !important; height:11px !important; background:url(../default/img/items.gif) no-repeat 0 0;} +span.mceItemNbsp {background: #DDD} +td.mceSelected, th.mceSelected {background-color:#3399ff !important} +img {border:0;} +table {cursor:default} +table td, table th {cursor:text} +ins {border-bottom:1px solid green; text-decoration: none; color:green} +del {color:red; text-decoration:line-through} +cite {border-bottom:1px dashed blue} +acronym {border-bottom:1px dotted #CCC; cursor:help} +abbr {border-bottom:1px dashed #CCC; cursor:help} + +img:-moz-broken {-moz-force-broken-image-icon:1; width:24px; height:24px} +font[face=mceinline] {font-family:inherit !important} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/highcontrast/dialog.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/highcontrast/dialog.css new file mode 100644 index 00000000..dafcd280 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/highcontrast/dialog.css @@ -0,0 +1,105 @@ +/* Generic */ +body { +font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; +background:#F0F0EE; +color: black; +padding:0; +margin:8px 8px 0 8px; +} + +html {background:#F0F0EE; color:#000;} +td {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;} +textarea {resize:none;outline:none;} +a:link, a:visited {color:black;background-color:transparent;} +a:hover {color:#2B6FB6;background-color:transparent;} +.nowrap {white-space: nowrap} + +/* Forms */ +fieldset {margin:0; padding:4px; border:1px solid #919B9C; font-family:Verdana, Arial; font-size:10px;} +legend {color:#2B6FB6; font-weight:bold;} +label.msg {display:none;} +label.invalid {color:#EE0000; display:inline;background-color:transparent;} +input.invalid {border:1px solid #EE0000;background-color:transparent;} +input {background:#FFF; border:1px solid #CCC;color:black;} +input, select, textarea {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;} +input, select, textarea {border:1px solid #808080;} +input.radio {border:1px none #000000; background:transparent; vertical-align:middle;} +input.checkbox {border:1px none #000000; background:transparent; vertical-align:middle;} +.input_noborder {border:0;} + +/* Buttons */ +#insert, #cancel, input.button, .updateButton { +font-weight:bold; +width:94px; height:23px; +cursor:pointer; +padding-bottom:2px; +float:left; +} + +#cancel {float:right} + +/* Browse */ +a.pickcolor, a.browse {text-decoration:none} +a.browse span {display:block; width:20px; height:18px; background:url(../../img/icons.gif) -860px 0; border:1px solid #FFF; margin-left:1px;} +.mceOldBoxModel a.browse span {width:22px; height:20px;} +a.browse:hover span {border:1px solid #0A246A; background-color:#B2BBD0;} +a.browse span.disabled {border:1px solid white; opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} +a.browse:hover span.disabled {border:1px solid white; background-color:transparent;} +a.pickcolor span {display:block; width:20px; height:16px; background:url(../../img/icons.gif) -840px 0; margin-left:2px;} +.mceOldBoxModel a.pickcolor span {width:21px; height:17px;} +a.pickcolor:hover span {background-color:#B2BBD0;} +a.pickcolor:hover span.disabled {} + +/* Charmap */ +table.charmap {border:1px solid #AAA; text-align:center} +td.charmap, #charmap a {width:18px; height:18px; color:#000; border:1px solid #AAA; text-align:center; font-size:12px; vertical-align:middle; line-height: 18px;} +#charmap a {display:block; color:#000; text-decoration:none; border:0} +#charmap a:hover {background:#CCC;color:#2B6FB6} +#charmap #codeN {font-size:10px; font-family:Arial,Helvetica,sans-serif; text-align:center} +#charmap #codeV {font-size:40px; height:80px; border:1px solid #AAA; text-align:center} + +/* Source */ +.wordWrapCode {vertical-align:middle; border:1px none #000000; background:transparent;} +.mceActionPanel {margin-top:5px;} + +/* Tabs classes */ +.tabs {width:100%; height:18px; line-height:normal;} +.tabs ul {margin:0; padding:0; list-style:none;} +.tabs li {float:left; border: 1px solid black; border-bottom:0; margin:0 2px 0 0; padding:0 0 0 10px; line-height:17px; height:18px; display:block; cursor:pointer;} +.tabs li.current {font-weight: bold; margin-right:2px;} +.tabs span {float:left; display:block; padding:0px 10px 0 0;} +.tabs a {text-decoration:none; font-family:Verdana, Arial; font-size:10px;} +.tabs a:link, .tabs a:visited, .tabs a:hover {color:black;} + +/* Panels */ +.panel_wrapper div.panel {display:none;} +.panel_wrapper div.current {display:block; width:100%; height:300px; overflow:visible;} +.panel_wrapper {border:1px solid #919B9C; padding:10px; padding-top:5px; clear:both; background:white;} + +/* Columns */ +.column {float:left;} +.properties {width:100%;} +.properties .column1 {} +.properties .column2 {text-align:left;} + +/* Titles */ +h1, h2, h3, h4 {color:#2B6FB6; margin:0; padding:0; padding-top:5px;} +h3 {font-size:14px;} +.title {font-size:12px; font-weight:bold; color:#2B6FB6;} + +/* Dialog specific */ +#link .panel_wrapper, #link div.current {height:125px;} +#image .panel_wrapper, #image div.current {height:200px;} +#plugintable thead {font-weight:bold; background:#DDD;} +#plugintable, #about #plugintable td {border:1px solid #919B9C;} +#plugintable {width:96%; margin-top:10px;} +#pluginscontainer {height:290px; overflow:auto;} +#colorpicker #preview {float:right; width:50px; height:14px;line-height:1px; border:1px solid black; margin-left:5px;} +#colorpicker #colors {float:left; border:1px solid gray; cursor:crosshair;} +#colorpicker #light {border:1px solid gray; margin-left:5px; float:left;width:15px; height:150px; cursor:crosshair;} +#colorpicker #light div {overflow:hidden;} +#colorpicker #previewblock {float:right; padding-left:10px; height:20px;} +#colorpicker .panel_wrapper div.current {height:175px;} +#colorpicker #namedcolors {width:150px;} +#colorpicker #namedcolors a {display:block; float:left; width:10px; height:10px; margin:1px 1px 0 0; overflow:hidden;} +#colorpicker #colornamecontainer {margin-top:5px;} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/highcontrast/ui.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/highcontrast/ui.css new file mode 100644 index 00000000..81da151f --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/highcontrast/ui.css @@ -0,0 +1,102 @@ +/* Reset */ +.highcontrastSkin table, .highcontrastSkin tbody, .highcontrastSkin a, .highcontrastSkin img, .highcontrastSkin tr, .highcontrastSkin div, .highcontrastSkin td, .highcontrastSkin iframe, .highcontrastSkin span, .highcontrastSkin *, .highcontrastSkin .mceText {border:0; margin:0; padding:0; vertical-align:baseline; border-collapse:separate;} +.highcontrastSkin a:hover, .highcontrastSkin a:link, .highcontrastSkin a:visited, .highcontrastSkin a:active {text-decoration:none; font-weight:normal; cursor:default;} +.highcontrastSkin table td {vertical-align:middle} + +.highcontrastSkin .mceIconOnly {display: block !important;} + +/* External */ +.highcontrastSkin .mceExternalToolbar {position:absolute; border:1px solid; border-bottom:0; display:none; background-color: white;} +.highcontrastSkin .mceExternalToolbar td.mceToolbar {padding-right:13px;} +.highcontrastSkin .mceExternalClose {position:absolute; top:3px; right:3px; width:7px; height:7px;} + +/* Layout */ +.highcontrastSkin table.mceLayout {border: 1px solid;} +.highcontrastSkin .mceIframeContainer {border-top:1px solid; border-bottom:1px solid} +.highcontrastSkin .mceStatusbar a:hover {text-decoration:underline} +.highcontrastSkin .mceStatusbar {display:block; line-height:1.5em; overflow:visible;} +.highcontrastSkin .mceStatusbar div {float:left} +.highcontrastSkin .mceStatusbar a.mceResize {display:block; float:right; width:20px; height:20px; cursor:se-resize; outline:0} + +.highcontrastSkin .mceToolbar td { display: inline-block; float: left;} +.highcontrastSkin .mceToolbar tr { display: block;} +.highcontrastSkin .mceToolbar table { display: block; } + +/* Button */ + +.highcontrastSkin .mceButton { display:block; margin: 2px; padding: 5px 10px;border: 1px solid; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; -ms-border-radius: 3px; height: 2em;} +.highcontrastSkin .mceButton .mceVoiceLabel { height: 100%; vertical-align: center; line-height: 2em} +.highcontrastSkin .mceButtonDisabled .mceVoiceLabel { opacity:0.6; -ms-filter:'alpha(opacity=60)'; filter:alpha(opacity=60);} +.highcontrastSkin .mceButtonActive, .highcontrastSkin .mceButton:focus, .highcontrastSkin .mceButton:active { border: 5px solid; padding: 1px 6px;-webkit-focus-ring-color:none;outline:none;} + +/* Separator */ +.highcontrastSkin .mceSeparator {display:block; width:16px; height:26px;} + +/* ListBox */ +.highcontrastSkin .mceListBox { display: block; margin:2px;-webkit-focus-ring-color:none;outline:none;} +.highcontrastSkin .mceListBox .mceText {padding: 5px 6px; line-height: 2em; width: 15ex; overflow: hidden;} +.highcontrastSkin .mceListBoxDisabled .mceText { opacity:0.6; -ms-filter:'alpha(opacity=60)'; filter:alpha(opacity=60);} +.highcontrastSkin .mceListBox a.mceText { padding: 5px 10px; display: block; height: 2em; line-height: 2em; border: 1px solid; border-right: 0; border-radius: 3px 0px 0px 3px; -moz-border-radius: 3px 0px 0px 3px; -webkit-border-radius: 3px 0px 0px 3px; -ms-border-radius: 3px 0px 0px 3px;} +.highcontrastSkin .mceListBox a.mceOpen { padding: 5px 4px; display: block; height: 2em; line-height: 2em; border: 1px solid; border-left: 0; border-radius: 0px 3px 3px 0px; -moz-border-radius: 0px 3px 3px 0px; -webkit-border-radius: 0px 3px 3px 0px; -ms-border-radius: 0px 3px 3px 0px;} +.highcontrastSkin .mceListBox:focus a.mceText, .highcontrastSkin .mceListBox:active a.mceText { border-width: 5px; padding: 1px 10px 1px 6px;} +.highcontrastSkin .mceListBox:focus a.mceOpen, .highcontrastSkin .mceListBox:active a.mceOpen { border-width: 5px; padding: 1px 0px 1px 4px;} + +.highcontrastSkin .mceListBoxMenu {overflow-y:auto} + +/* SplitButton */ +.highcontrastSkin .mceSplitButtonDisabled .mceAction {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} + +.highcontrastSkin .mceSplitButton { border-collapse: collapse; margin: 2px; height: 2em; line-height: 2em;-webkit-focus-ring-color:none;outline:none;} +.highcontrastSkin .mceSplitButton td { display: table-cell; float: none; margin: 0; padding: 0; height: 2em;} +.highcontrastSkin .mceSplitButton tr { display: table-row; } +.highcontrastSkin table.mceSplitButton { display: table; } +.highcontrastSkin .mceSplitButton a.mceAction { padding: 5px 10px; display: block; height: 2em; line-height: 2em; overflow: hidden; border: 1px solid; border-right: 0; border-radius: 3px 0px 0px 3px; -moz-border-radius: 3px 0px 0px 3px; -webkit-border-radius: 3px 0px 0px 3px; -ms-border-radius: 3px 0px 0px 3px;} +.highcontrastSkin .mceSplitButton a.mceOpen { padding: 5px 4px; display: block; height: 2em; line-height: 2em; border: 1px solid; border-radius: 0px 3px 3px 0px; -moz-border-radius: 0px 3px 3px 0px; -webkit-border-radius: 0px 3px 3px 0px; -ms-border-radius: 0px 3px 3px 0px;} +.highcontrastSkin .mceSplitButton .mceVoiceLabel { height: 2em; vertical-align: center; line-height: 2em; } +.highcontrastSkin .mceSplitButton:focus a.mceAction, .highcontrastSkin .mceSplitButton:active a.mceAction { border-width: 5px; border-right-width: 1px; padding: 1px 10px 1px 6px;-webkit-focus-ring-color:none;outline:none;} +.highcontrastSkin .mceSplitButton:focus a.mceOpen, .highcontrastSkin .mceSplitButton:active a.mceOpen { border-width: 5px; border-left-width: 1px; padding: 1px 0px 1px 4px;-webkit-focus-ring-color:none;outline:none;} + +/* Menu */ +.highcontrastSkin .mceNoIcons span.mceIcon {width:0;} +.highcontrastSkin .mceMenu {position:absolute; left:0; top:0; z-index:1000; border:1px solid; } +.highcontrastSkin .mceMenu table {background:white; color: black} +.highcontrastSkin .mceNoIcons a .mceText {padding-left:10px} +.highcontrastSkin .mceMenu a, .highcontrastSkin .mceMenu span, .highcontrastSkin .mceMenu {display:block;background:white; color: black} +.highcontrastSkin .mceMenu td {height:2em} +.highcontrastSkin .mceMenu a {position:relative;padding:3px 0 4px 0; display: block;} +.highcontrastSkin .mceMenu .mceText {position:relative; display:block; cursor:default; margin:0; padding:0 25px 0 25px;} +.highcontrastSkin .mceMenu pre.mceText {font-family:Monospace} +.highcontrastSkin .mceMenu .mceIcon {position:absolute; top:0; left:0; width:26px;} +.highcontrastSkin td.mceMenuItemSeparator {border-top:1px solid; height:1px} +.highcontrastSkin .mceMenuItemTitle a {border:0; border-bottom:1px solid} +.highcontrastSkin .mceMenuItemTitle span.mceText {font-weight:bold; padding-left:4px} +.highcontrastSkin .mceNoIcons .mceMenuItemSelected span.mceText:before {content: "\2713\A0";} +.highcontrastSkin .mceMenu span.mceMenuLine {display:none} +.highcontrastSkin .mceMenuItemSub a .mceText:after {content: "\A0\25B8"} +.highcontrastSkin .mceMenuItem td, .highcontrastSkin .mceMenuItem th {line-height: normal} + +/* ColorSplitButton */ +.highcontrastSkin div.mceColorSplitMenu table {background:#FFF; border:1px solid; color: #000} +.highcontrastSkin .mceColorSplitMenu td {padding:2px} +.highcontrastSkin .mceColorSplitMenu a {display:block; width:16px; height:16px; overflow:hidden; color:#000; margin: 0; padding: 0;} +.highcontrastSkin .mceColorSplitMenu td.mceMoreColors {padding:1px 3px 1px 1px} +.highcontrastSkin .mceColorSplitMenu a.mceMoreColors {width:100%; height:auto; text-align:center; font-family:Tahoma,Verdana,Arial,Helvetica; font-size:11px; line-height:20px; border:1px solid #FFF} +.highcontrastSkin .mceColorSplitMenu a.mceMoreColors:hover {border:1px solid; background-color:#B6BDD2} +.highcontrastSkin a.mceMoreColors:hover {border:1px solid #0A246A; color: #000;} +.highcontrastSkin .mceColorPreview {display:none;} +.highcontrastSkin .mce_forecolor span.mceAction, .highcontrastSkin .mce_backcolor span.mceAction {height:17px;overflow:hidden} + +/* Progress,Resize */ +.highcontrastSkin .mceBlocker {position:absolute; left:0; top:0; z-index:1000; opacity:0.5; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=50); background:#FFF} +.highcontrastSkin .mceProgress {position:absolute; left:0; top:0; z-index:1001; background:url(../default/img/progress.gif) no-repeat; width:32px; height:32px; margin:-16px 0 0 -16px} + +/* Formats */ +.highcontrastSkin .mce_p span.mceText {} +.highcontrastSkin .mce_address span.mceText {font-style:italic} +.highcontrastSkin .mce_pre span.mceText {font-family:monospace} +.highcontrastSkin .mce_h1 span.mceText {font-weight:bolder; font-size: 2em} +.highcontrastSkin .mce_h2 span.mceText {font-weight:bolder; font-size: 1.5em} +.highcontrastSkin .mce_h3 span.mceText {font-weight:bolder; font-size: 1.17em} +.highcontrastSkin .mce_h4 span.mceText {font-weight:bolder; font-size: 1em} +.highcontrastSkin .mce_h5 span.mceText {font-weight:bolder; font-size: .83em} +.highcontrastSkin .mce_h6 span.mceText {font-weight:bolder; font-size: .75em} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css new file mode 100644 index 00000000..a666e4c7 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css @@ -0,0 +1,47 @@ +body, td, pre {color:#000; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; margin:8px;} +body {background:#FFF;} +body.mceForceColors {background:#FFF; color:#000;} +h1 {font-size: 2em} +h2 {font-size: 1.5em} +h3 {font-size: 1.17em} +h4 {font-size: 1em} +h5 {font-size: .83em} +h6 {font-size: .75em} +.mceItemTable, .mceItemTable td, .mceItemTable th, .mceItemTable caption, .mceItemVisualAid {border: 1px dashed #BBB;} +a.mceItemAnchor {display:inline-block; width:11px !important; height:11px !important; background:url(../default/img/items.gif) no-repeat 0 0;} +span.mceItemNbsp {background: #DDD} +td.mceSelected, th.mceSelected {background-color:#3399ff !important} +img {border:0;} +table {cursor:default} +table td, table th {cursor:text} +ins {border-bottom:1px solid green; text-decoration: none; color:green} +del {color:red; text-decoration:line-through} +cite {border-bottom:1px dashed blue} +acronym {border-bottom:1px dotted #CCC; cursor:help} +abbr {border-bottom:1px dashed #CCC; cursor:help} + +/* IE */ +* html body { +scrollbar-3dlight-color:#F0F0EE; +scrollbar-arrow-color:#676662; +scrollbar-base-color:#F0F0EE; +scrollbar-darkshadow-color:#DDD; +scrollbar-face-color:#E0E0DD; +scrollbar-highlight-color:#F0F0EE; +scrollbar-shadow-color:#F0F0EE; +scrollbar-track-color:#F5F5F5; +} + +img:-moz-broken {-moz-force-broken-image-icon:1; width:24px; height:24px} +font[face=mceinline] {font-family:inherit !important} + +.mceItemMedia {border:1px dotted #cc0000; background-position:center; background-repeat:no-repeat; background-color:#ffffcc} +.mceItemShockWave {background-image:url(../../img/shockwave.gif)} +.mceItemFlash {background-image:url(../../img/flash.gif)} +.mceItemQuickTime {background-image:url(../../img/quicktime.gif)} +.mceItemWindowsMedia {background-image:url(../../img/windowsmedia.gif)} +.mceItemRealMedia {background-image:url(../../img/realmedia.gif)} +.mceItemVideo {background-image:url(../../img/video.gif)} +.mceItemAudio {background-image:url(../../img/video.gif)} +.mceItemIframe {background-image:url(../../img/iframe.gif)} +.mcePageBreak {display:block;border:0;width:100%;height:12px;border-top:1px dotted #ccc;margin-top:15px;background:#fff url(../../img/pagebreak.gif) no-repeat center top;} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css new file mode 100644 index 00000000..c97d38e8 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css @@ -0,0 +1,117 @@ +/* Generic */ +body { +font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; +scrollbar-3dlight-color:#F0F0EE; +scrollbar-arrow-color:#676662; +scrollbar-base-color:#F0F0EE; +scrollbar-darkshadow-color:#DDDDDD; +scrollbar-face-color:#E0E0DD; +scrollbar-highlight-color:#F0F0EE; +scrollbar-shadow-color:#F0F0EE; +scrollbar-track-color:#F5F5F5; +background:#F0F0EE; +padding:0; +margin:8px 8px 0 8px; +} + +html {background:#F0F0EE;} +td {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;} +textarea {resize:none;outline:none;} +a:link, a:visited {color:black;} +a:hover {color:#2B6FB6;} +.nowrap {white-space: nowrap} + +/* Forms */ +fieldset {margin:0; padding:4px; border:1px solid #919B9C; font-family:Verdana, Arial; font-size:10px;} +legend {color:#2B6FB6; font-weight:bold;} +label.msg {display:none;} +label.invalid {color:#EE0000; display:inline;} +input.invalid {border:1px solid #EE0000;} +input {background:#FFF; border:1px solid #CCC;} +input, select, textarea {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;} +input, select, textarea {border:1px solid #808080;} +input.radio {border:1px none #000000; background:transparent; vertical-align:middle;} +input.checkbox {border:1px none #000000; background:transparent; vertical-align:middle;} +.input_noborder {border:0;} + +/* Buttons */ +#insert, #cancel, input.button, .updateButton { +border:0; margin:0; padding:0; +font-weight:bold; +width:94px; height:26px; +background:url(../default/img/buttons.png) 0 -26px; +cursor:pointer; +padding-bottom:2px; +float:left; +} + +#insert {background:url(../default/img/buttons.png) 0 -52px} +#cancel {background:url(../default/img/buttons.png) 0 0; float:right} + +/* Browse */ +a.pickcolor, a.browse {text-decoration:none} +a.browse span {display:block; width:20px; height:18px; background:url(../../img/icons.gif) -860px 0; border:1px solid #FFF; margin-left:1px;} +.mceOldBoxModel a.browse span {width:22px; height:20px;} +a.browse:hover span {border:1px solid #0A246A; background-color:#B2BBD0;} +a.browse span.disabled {border:1px solid white; opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} +a.browse:hover span.disabled {border:1px solid white; background-color:transparent;} +a.pickcolor span {display:block; width:20px; height:16px; background:url(../../img/icons.gif) -840px 0; margin-left:2px;} +.mceOldBoxModel a.pickcolor span {width:21px; height:17px;} +a.pickcolor:hover span {background-color:#B2BBD0;} +a.pickcolor:hover span.disabled {} + +/* Charmap */ +table.charmap {border:1px solid #AAA; text-align:center} +td.charmap, #charmap a {width:18px; height:18px; color:#000; border:1px solid #AAA; text-align:center; font-size:12px; vertical-align:middle; line-height: 18px;} +#charmap a {display:block; color:#000; text-decoration:none; border:0} +#charmap a:hover {background:#CCC;color:#2B6FB6} +#charmap #codeN {font-size:10px; font-family:Arial,Helvetica,sans-serif; text-align:center} +#charmap #codeV {font-size:40px; height:80px; border:1px solid #AAA; text-align:center} + +/* Source */ +.wordWrapCode {vertical-align:middle; border:1px none #000000; background:transparent;} +.mceActionPanel {margin-top:5px;} + +/* Tabs classes */ +.tabs {width:100%; height:18px; line-height:normal; background:url(../default/img/tabs.gif) repeat-x 0 -72px;} +.tabs ul {margin:0; padding:0; list-style:none;} +.tabs li {float:left; background:url(../default/img/tabs.gif) no-repeat 0 0; margin:0 2px 0 0; padding:0 0 0 10px; line-height:17px; height:18px; display:block;} +.tabs li.current {background:url(../default/img/tabs.gif) no-repeat 0 -18px; margin-right:2px;} +.tabs span {float:left; display:block; background:url(../default/img/tabs.gif) no-repeat right -36px; padding:0px 10px 0 0;} +.tabs .current span {background:url(../default/img/tabs.gif) no-repeat right -54px;} +.tabs a {text-decoration:none; font-family:Verdana, Arial; font-size:10px;} +.tabs a:link, .tabs a:visited, .tabs a:hover {color:black;} + +/* Panels */ +.panel_wrapper div.panel {display:none;} +.panel_wrapper div.current {display:block; width:100%; height:300px; overflow:visible;} +.panel_wrapper {border:1px solid #919B9C; border-top:0px; padding:10px; padding-top:5px; clear:both; background:white;} + +/* Columns */ +.column {float:left;} +.properties {width:100%;} +.properties .column1 {} +.properties .column2 {text-align:left;} + +/* Titles */ +h1, h2, h3, h4 {color:#2B6FB6; margin:0; padding:0; padding-top:5px;} +h3 {font-size:14px;} +.title {font-size:12px; font-weight:bold; color:#2B6FB6;} + +/* Dialog specific */ +#link .panel_wrapper, #link div.current {height:125px;} +#image .panel_wrapper, #image div.current {height:200px;} +#plugintable thead {font-weight:bold; background:#DDD;} +#plugintable, #about #plugintable td {border:1px solid #919B9C;} +#plugintable {width:96%; margin-top:10px;} +#pluginscontainer {height:290px; overflow:auto;} +#colorpicker #preview {float:right; width:50px; height:14px;line-height:1px; border:1px solid black; margin-left:5px;} +#colorpicker #colors {float:left; border:1px solid gray; cursor:crosshair;} +#colorpicker #light {border:1px solid gray; margin-left:5px; float:left;width:15px; height:150px; cursor:crosshair;} +#colorpicker #light div {overflow:hidden;} +#colorpicker #previewblock {float:right; padding-left:10px; height:20px;} +#colorpicker .panel_wrapper div.current {height:175px;} +#colorpicker #namedcolors {width:150px;} +#colorpicker #namedcolors a {display:block; float:left; width:10px; height:10px; margin:1px 1px 0 0; overflow:hidden;} +#colorpicker #colornamecontainer {margin-top:5px;} +#colorpicker #picker_panel fieldset {margin:auto;width:325px;} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..13a5cb03097c004f7b37658654a9250748cf073c GIT binary patch literal 2766 zcmd^B`#;nBAK!9c(dCSc_`04XBu+J597MXvt(oeZlcJpHIOSO7atc#AMWG$3$V7)q zNx38nEwRmIE*oapX3E%2Y_rQ}@3ZgU@qIsD@7L?`e7_#g=kxt|zu!N+{|XHbG)7n; zU@(~Rf&KpB+Imzw{S0-qnWxWD!C*SD&>&2J76Jgq`yNnO3$>r8@B|Y69x0pfIh#Ow z)WjyX^8T)+6I-}NwZreI-$r>-HeZJQv#zX#Th_uMwsMIrlO4mNj{|cbX#CdxSrSA1 zi7x6G7Jj7hJB9?EBN7TrO5@0TC%zA`m*~?n<~POISNRA}Ix(kW@s(5astLYgTBw@h z%VrlKo=`C@ST1R1m9LYgOf7Md z%vzvMe5Z_y2DwWEoJHD{xNkz(%My(67Mb6qJc(v%ez|*GL}7^sxZ0gBO!Bo{;Q&WM zV~hKzM04L20BA!600h)@pk@MPCs0oSH5X{4K+yx#GXN3-jT}guz%o@MqX6}sMoQL5 zDbQRgH1}A|FIDkNfw)Q|r2+XcBpuQyW`K$hDQ1Cc9;n4YEdkIH;ALod*EG}Dz-$rp zodRS-8tD*F2^9QBm7ql>XjO|zDiH~iGQlzzD86d`M;8Iw0Wf$N3>*f7!C)X53}FF1 zT0@Toj5C077L3FL<|Sw<4{-A#&RxJIKpX-MAm?_cBlxb#&;M-FLuSz*n4d&h` zXWyvinw0!TAZh`kHX!Z*ViJ&afdz_MOab5f!Qzm5fd-Zs&>|hkCV+ej$T>j02*z+= z>_u@$tA>DwJ(UpDP?lurK+A9mzvO(D-+gFH)8MEW*O2c>3^gu}@HCz3w3$-%Bg0iD72j)nmts zO~01P6^cappH!;k{M1!%*t$nQ=-$~$cX+fEkj^3P+$d^La54PkS=(gpNkdn~8?D*hW^hb50#Qbv(Vr z7mux=@03*OzkBFr1euY0!)>k{MMqGw8F#U zRe``TW;?0PDm5oCUDqnyR2D|VTUKrljh??&VAFx_Y8>n0){SLYN4rN@58&~EY<8F( z0{QSBO|7FRtIxB?ykG0dfo2c-Y&e&zlYMnqkV9vq+=EwnBv2HB%MeBD4xS7LeKIpT_! z`x2_k`zl`LzeQ$W8QpB(KQ+0LVyEJr9M?0CO4qCq-VU);<`uj}<}S1&Q7xSe=5T(8 ziLmqu&AMuP>etg&fo)XY<9~c4ufJu@Ux>Osj0^B-);#sZ?RMt%g}dL*c}ZebdsbpF zCGfuwrDfcoU0*mJ)RD4V;PPr$+Lrfm`b7p-cJd8)xqdLm^ZH#<*JQfYJ~PoB*LK5| zH$C3CzsVSRfseg&M51H8?1)k+yOYwqQqn)B#!aMev)#63aXG;9DDJn_0c)Gxymon< zymu+j@mLckYTb1Up+$oES-Qj(fgx}5+7lCfvmr6-7IAsgPaDgPES=EUr(Q2%O-m}?RmP5S6{I{NuN(T6$1*`X7IJXi>l zhX)mey1{@?Zefvr;ZbWC>l|x544h)bavSVvqawV&>mHYcaIE7arJsyhy0aAZ28%Ea^Z`=aTvh4miaaN0)5vL*wCb?j}Dsf4O@AD!~!zsLr>lt6x7K z3`4aaD)%xv?5(p|tKkpFdnS6dqgrLbo&zQ4gEPu=g5tj(#rWP>nDR~6@jTSz^oix< mOkD9tMJf;J-L)*xtX8`HcJ}PmJwolr6m}pW*#DJZbk@H_2$Vel literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png new file mode 100644 index 0000000000000000000000000000000000000000..7fc57f2bc2d63a3ad6fbf98b663f336539f011ec GIT binary patch literal 651 zcmV;60(AX}P)~UV&BV#i#>&vh%+bls)637) z|EoX$u}%N7Q2(@4|Fu{Dw_E?XUjMpc|GQ=Xy=niyZU4b?|HF3w#e4t9fd9#a|I3O0 z&5r-ub^qLY|J{H8--Q3*iT~k_|KpSYd|L3Cr=%)YbtN-h;|LwH@@45f* zzW?&W|MbWI_00eO|F&Wq@&Et;0(4SNQveUqL%#keZfRNo2=jQw7k!se7X^9V1j4iLUp68Z@t=r4G(h~O zNf#5nT>kpvo%+~iMX{n4jABdM%#4?wj5qS!L>wXh2IPsmmi~l5Z*gRt`Huw!S{nag zygxXo!EY-rAUF!s;uNGb)obDTa;U{!asI0iv51EeU)nfId~s{&Jwj9nO>J@7?&+bL86o&f`_+2dMjNDlznHevZxL*5CO3g!A%X+HtoOt*;a#?S#1tH|-{3nqVC~3) z-TZe2lRd$Eg7*aH=fv^j*7(0A*nUqK2MS);6Z}sFFDxvGP0yz zu<#RHZ#1M{S2O^|jk+{4RMd0zG2?zjm17>gsz-r(G{Jg*xXugDJ!hfztM(r#SifJy zyRXgnjO+UeE>|j2E?1-iDrG5Gke9O@^$g@HGRGWpJ=U*9k6I&|U|du0Q$!2__$qTB z!Gf_az%?eUt=*u{Q!oW?qrwFA`rM|&V>jzZjg$#wpx?d_7sf& z8U{&4lFA(t)Q~5rtDL=N4LzKTCYbvp_)5(EBL)lR{t3RY7HeGJOYr>syd)X(^ND1+ zMUrGONmQ=je6j_uf&OTM&3z{3p3FR0uwIjJE#&}F^b9`{S#it!1pPlzWJ1(avR;FV7+1Waz2(|Uc;urnCmH` z!L@zx6WnSxrP*vrv(=JThRQ)R8*>hQYQ71wvFg#UXH>6?^{X=WplEV0ExjMW`9Q(y z{i(G;wl>F@)APzl%kNj^PNyxMPDk494x$C>ZH`GBSan^CCfK|VA>41MV6M?- zyf)x|0tM?efzDYo-?QTb_y5n4(Y||qWEADl6Knb&dIn0kFJKR$f>#3827ZU0Xo>+A zk3p0@aNS6!%7e}(qkdcE!yC*wXVg;Ws5A20GXkl|Xx+&V=g)@1MbTE*L+4Hoo%#y%6mDum^XrA#ikAq_KzC(jyDTxBt>PqC_AX^<0AcU6Jcg6Rxes1igNO1%i#c)FIBO6OJPb zUMpt;rwky#s;&N>Q}AH}tj#g;7CdTvD01zwF{9Z>0dk{;NFGOY5l=Ag%;oRhtd;W# zo_pShT!KNkVAjzaU+~I|$jxat>q)p^Jlg&7iVx`Z6O2cy^y=YE$}@;M-yE~{tj;ZD zR`nwS)S?N#c~RunB{%EUVhF}B2I<_Zz+ZS)}ov59sw54Dg5DWImc)L*zU^%8VwsgeQcZ>32c6;K5Ci z)^Q)u>wT)s&wzpYoY(sNm$~z^;g(b6R$T9&;IKO%}Dcw_FgZ2W#^OdmPN z$XT~wpYBma7Cc%tPqS_C3=E1PSgwC8>2D`Dk-1N-F?tx)JaWF4V-Q(z_RnP(IMpbK z;H$@Emx17@r^@NAX(zIt6hrXnr`JS&eq9i){L&j3gULPiTx7w^UMJk?>Rd4d4}W-C zMi)#}?T}S7#@|21u}O5ngI>wO*OIQx7DMphivt26WgDt~W_#^H=6tOY(G&B?Xrq0~ z$?)do;t6I>ftGN;7*}xPq>HR=x)_2d3Y=WC?_j$Y_f+}v{eXv(1a(F2NHGMbUq2$l z(!-)7b0h9dDTBSS?_f%_PkxIhcr^8dq~AU{2037U5RtH#eRdspa@j?wcy^IhX_f&c2fC1!MwfeDQ2%d1p2CN#-?if+mxdwuxo+{5i;sT#d z7ep}5-6ou^sdG2x3ibiytScZm>Z$Ut2i>%e7eg@5(ZU!_o`c}Hr^<7O+_XO}h+v+r znP+XtS+}WzyPoAiaNJYnKVEio<5V#O4?6EldgB8@9FB7}Mnp}+Ippja>K@kOKBg_5 z^E+1WepL*?TF~8ua*ktDs?Lo$+`(~Am8(acpsyH$DTeT_reNlrGy4B6!6ox_+lGGu z@E*(MsdD{Ak@`zA`cp-qYr-++84ZkH2#$NI+`s7JUpq3|`(J7AF@FQ|kL}L{k<6z6 O0000 + + {#advanced_dlg.code_title} + + + + +
+
+ +
+ +
+ +
+ + + +
+ + +
+
+ + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/editor_template.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/editor_template.js new file mode 100644 index 00000000..4b3209cc --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/editor_template.js @@ -0,0 +1 @@ +(function(){var a=tinymce.DOM;tinymce.ThemeManager.requireLangPack("simple");tinymce.create("tinymce.themes.SimpleTheme",{init:function(c,d){var e=this,b=["Bold","Italic","Underline","Strikethrough","InsertUnorderedList","InsertOrderedList"],f=c.settings;e.editor=c;c.contentCSS.push(d+"/skins/"+f.skin+"/content.css");c.onInit.add(function(){c.onNodeChange.add(function(h,g){tinymce.each(b,function(i){g.get(i.toLowerCase()).setActive(h.queryCommandState(i))})})});a.loadCSS((f.editor_css?c.documentBaseURI.toAbsolute(f.editor_css):"")||d+"/skins/"+f.skin+"/ui.css")},renderUI:function(h){var e=this,i=h.targetNode,b,c,d=e.editor,f=d.controlManager,g;i=a.insertAfter(a.create("span",{id:d.id+"_container","class":"mceEditor "+d.settings.skin+"SimpleSkin"}),i);i=g=a.add(i,"table",{cellPadding:0,cellSpacing:0,"class":"mceLayout"});i=c=a.add(i,"tbody");i=a.add(c,"tr");i=b=a.add(a.add(i,"td"),"div",{"class":"mceIframeContainer"});i=a.add(a.add(c,"tr",{"class":"last"}),"td",{"class":"mceToolbar mceLast",align:"center"});c=e.toolbar=f.createToolbar("tools1");c.add(f.createButton("bold",{title:"simple.bold_desc",cmd:"Bold"}));c.add(f.createButton("italic",{title:"simple.italic_desc",cmd:"Italic"}));c.add(f.createButton("underline",{title:"simple.underline_desc",cmd:"Underline"}));c.add(f.createButton("strikethrough",{title:"simple.striketrough_desc",cmd:"Strikethrough"}));c.add(f.createSeparator());c.add(f.createButton("undo",{title:"simple.undo_desc",cmd:"Undo"}));c.add(f.createButton("redo",{title:"simple.redo_desc",cmd:"Redo"}));c.add(f.createSeparator());c.add(f.createButton("cleanup",{title:"simple.cleanup_desc",cmd:"mceCleanup"}));c.add(f.createSeparator());c.add(f.createButton("insertunorderedlist",{title:"simple.bullist_desc",cmd:"InsertUnorderedList"}));c.add(f.createButton("insertorderedlist",{title:"simple.numlist_desc",cmd:"InsertOrderedList"}));c.renderTo(i);return{iframeContainer:b,editorContainer:d.id+"_container",sizeContainer:g,deltaHeight:-20}},getInfo:function(){return{longname:"Simple theme",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.ThemeManager.add("simple",tinymce.themes.SimpleTheme)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/editor_template_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/editor_template_src.js new file mode 100644 index 00000000..35c19a6b --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/editor_template_src.js @@ -0,0 +1,84 @@ +/** + * editor_template_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var DOM = tinymce.DOM; + + // Tell it to load theme specific language pack(s) + tinymce.ThemeManager.requireLangPack('simple'); + + tinymce.create('tinymce.themes.SimpleTheme', { + init : function(ed, url) { + var t = this, states = ['Bold', 'Italic', 'Underline', 'Strikethrough', 'InsertUnorderedList', 'InsertOrderedList'], s = ed.settings; + + t.editor = ed; + ed.contentCSS.push(url + "/skins/" + s.skin + "/content.css"); + + ed.onInit.add(function() { + ed.onNodeChange.add(function(ed, cm) { + tinymce.each(states, function(c) { + cm.get(c.toLowerCase()).setActive(ed.queryCommandState(c)); + }); + }); + }); + + DOM.loadCSS((s.editor_css ? ed.documentBaseURI.toAbsolute(s.editor_css) : '') || url + "/skins/" + s.skin + "/ui.css"); + }, + + renderUI : function(o) { + var t = this, n = o.targetNode, ic, tb, ed = t.editor, cf = ed.controlManager, sc; + + n = DOM.insertAfter(DOM.create('span', {id : ed.id + '_container', 'class' : 'mceEditor ' + ed.settings.skin + 'SimpleSkin'}), n); + n = sc = DOM.add(n, 'table', {cellPadding : 0, cellSpacing : 0, 'class' : 'mceLayout'}); + n = tb = DOM.add(n, 'tbody'); + + // Create iframe container + n = DOM.add(tb, 'tr'); + n = ic = DOM.add(DOM.add(n, 'td'), 'div', {'class' : 'mceIframeContainer'}); + + // Create toolbar container + n = DOM.add(DOM.add(tb, 'tr', {'class' : 'last'}), 'td', {'class' : 'mceToolbar mceLast', align : 'center'}); + + // Create toolbar + tb = t.toolbar = cf.createToolbar("tools1"); + tb.add(cf.createButton('bold', {title : 'simple.bold_desc', cmd : 'Bold'})); + tb.add(cf.createButton('italic', {title : 'simple.italic_desc', cmd : 'Italic'})); + tb.add(cf.createButton('underline', {title : 'simple.underline_desc', cmd : 'Underline'})); + tb.add(cf.createButton('strikethrough', {title : 'simple.striketrough_desc', cmd : 'Strikethrough'})); + tb.add(cf.createSeparator()); + tb.add(cf.createButton('undo', {title : 'simple.undo_desc', cmd : 'Undo'})); + tb.add(cf.createButton('redo', {title : 'simple.redo_desc', cmd : 'Redo'})); + tb.add(cf.createSeparator()); + tb.add(cf.createButton('cleanup', {title : 'simple.cleanup_desc', cmd : 'mceCleanup'})); + tb.add(cf.createSeparator()); + tb.add(cf.createButton('insertunorderedlist', {title : 'simple.bullist_desc', cmd : 'InsertUnorderedList'})); + tb.add(cf.createButton('insertorderedlist', {title : 'simple.numlist_desc', cmd : 'InsertOrderedList'})); + tb.renderTo(n); + + return { + iframeContainer : ic, + editorContainer : ed.id + '_container', + sizeContainer : sc, + deltaHeight : -20 + }; + }, + + getInfo : function() { + return { + longname : 'Simple theme', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + version : tinymce.majorVersion + "." + tinymce.minorVersion + } + } + }); + + tinymce.ThemeManager.add('simple', tinymce.themes.SimpleTheme); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/img/icons.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/img/icons.gif new file mode 100644 index 0000000000000000000000000000000000000000..6fcbcb5dedf16a5fa1d15c2aa127bceb612f1e71 GIT binary patch literal 806 zcmZ?wbhEHbJi#Es@KuxH{{08bHy>kQU|4+kcV*u?6Yu2z|Nk2X_I-c9E~4fBsnb_x z&7Ngzq1inB@Woqi-rnfiGF7yw9zM z^p;~=3MY4TT)2AY!iC=7fBwej_wPS(UDm1P!}|}9?`#au+qhx#R?Fl=KuakHia%Lc z85lGfbU;Rd{N%v)|G<<24;`ug6HAIt=2*?Yu%d)ZG@><(acbwmDSj%f4MMZ#%vkt3 z%+g~)i8kP^LLB_(WJHBo z)4eilyozQ8a&qqSt%<6xpa0;xA7k;M?mchbzI*>+`RnL~M?L!{MDwZt;o_B2F2$0=pQSpQ!u@RcUGT{(44KaY91N#ws_nDH9G%Qf=ZF z5o_THWH`G~`GwyilS^z$ZvV~I`dh4Lx_8c>?R@8gr-07UIgFjp0y#A&c{B)cE>2kS zL5I1;i$zoEA)6qV`HGJvVWE!{8MZ6ST|PC}d%Kid7{KiD{l18xziSGKuWtj9AkWy-*`}#c~0`Lrjq> z-;O-o=3A#@&dst%_SasuJq0xZW;OwR3vM!diY%Es?;J~Pp}LYununP(i|XxU>#u=* zSvNC^0?cJ=S?=UK4&2DdcCO^BsHxjWc4vR-Z64x&8r#>V9!JMd4O!Z*d@mNrgX=jUy;0|T>ZntHjDU$=-I8y`|tN~Y9 literal 0 HcmV?d00001 diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/langs/en.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/langs/en.js new file mode 100644 index 00000000..6f095311 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/langs/en.js @@ -0,0 +1,11 @@ +tinyMCE.addI18n('en.simple',{ +bold_desc:"Bold (Ctrl+B)", +italic_desc:"Italic (Ctrl+I)", +underline_desc:"Underline (Ctrl+U)", +striketrough_desc:"Strikethrough", +bullist_desc:"Unordered list", +numlist_desc:"Ordered list", +undo_desc:"Undo (Ctrl+Z)", +redo_desc:"Redo (Ctrl+Y)", +cleanup_desc:"Cleanup messy code" +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/default/content.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/default/content.css new file mode 100644 index 00000000..783b170f --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/default/content.css @@ -0,0 +1,25 @@ +body, td, pre { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; +} + +body { + background-color: #FFFFFF; +} + +.mceVisualAid { + border: 1px dashed #BBBBBB; +} + +/* MSIE specific */ + +* html body { + scrollbar-3dlight-color: #F0F0EE; + scrollbar-arrow-color: #676662; + scrollbar-base-color: #F0F0EE; + scrollbar-darkshadow-color: #DDDDDD; + scrollbar-face-color: #E0E0DD; + scrollbar-highlight-color: #F0F0EE; + scrollbar-shadow-color: #F0F0EE; + scrollbar-track-color: #F5F5F5; +} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/default/ui.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/default/ui.css new file mode 100644 index 00000000..32feae62 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/default/ui.css @@ -0,0 +1,32 @@ +/* Reset */ +.defaultSimpleSkin table, .defaultSimpleSkin tbody, .defaultSimpleSkin a, .defaultSimpleSkin img, .defaultSimpleSkin tr, .defaultSimpleSkin div, .defaultSimpleSkin td, .defaultSimpleSkin iframe, .defaultSimpleSkin span, .defaultSimpleSkin * {border:0; margin:0; padding:0; background:transparent; white-space:nowrap; text-decoration:none; font-weight:normal; cursor:default; color:#000} + +/* Containers */ +.defaultSimpleSkin {position:relative} +.defaultSimpleSkin table.mceLayout {background:#F0F0EE; border:1px solid #CCC;} +.defaultSimpleSkin iframe {display:block; background:#FFF; border-bottom:1px solid #CCC;} +.defaultSimpleSkin .mceToolbar {height:24px;} + +/* Layout */ +.defaultSimpleSkin span.mceIcon, .defaultSimpleSkin img.mceIcon {display:block; width:20px; height:20px} +.defaultSimpleSkin .mceIcon {background:url(../../img/icons.gif) no-repeat 20px 20px} + +/* Button */ +.defaultSimpleSkin .mceButton {display:block; border:1px solid #F0F0EE; width:20px; height:20px} +.defaultSimpleSkin a.mceButtonEnabled:hover {border:1px solid #0A246A; background-color:#B2BBD0} +.defaultSimpleSkin a.mceButtonActive {border:1px solid #0A246A; background-color:#C2CBE0} +.defaultSimpleSkin .mceButtonDisabled span {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} + +/* Separator */ +.defaultSimpleSkin .mceSeparator {display:block; background:url(../../img/icons.gif) -180px 0; width:2px; height:20px; margin:0 2px 0 4px} + +/* Theme */ +.defaultSimpleSkin span.mce_bold {background-position:0 0} +.defaultSimpleSkin span.mce_italic {background-position:-60px 0} +.defaultSimpleSkin span.mce_underline {background-position:-140px 0} +.defaultSimpleSkin span.mce_strikethrough {background-position:-120px 0} +.defaultSimpleSkin span.mce_undo {background-position:-160px 0} +.defaultSimpleSkin span.mce_redo {background-position:-100px 0} +.defaultSimpleSkin span.mce_cleanup {background-position:-40px 0} +.defaultSimpleSkin span.mce_insertunorderedlist {background-position:-20px 0} +.defaultSimpleSkin span.mce_insertorderedlist {background-position:-80px 0} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/o2k7/content.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/o2k7/content.css new file mode 100644 index 00000000..e10558f9 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/o2k7/content.css @@ -0,0 +1,17 @@ +body, td, pre {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;} + +body {background: #FFF;} +.mceVisualAid {border: 1px dashed #BBB;} + +/* IE */ + +* html body { +scrollbar-3dlight-color: #F0F0EE; +scrollbar-arrow-color: #676662; +scrollbar-base-color: #F0F0EE; +scrollbar-darkshadow-color: #DDDDDD; +scrollbar-face-color: #E0E0DD; +scrollbar-highlight-color: #F0F0EE; +scrollbar-shadow-color: #F0F0EE; +scrollbar-track-color: #F5F5F5; +} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/progressBarEmpty.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png similarity index 52% rename from resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/progressBarEmpty.png rename to resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png index e0a68561f21cd11298234b35d2eb13a74ee35841..527e3495a653e57d76bf7e55316793d17dda497a 100644 GIT binary patch delta 2396 zcmchZ=~L5b632go3K@+GE`s9$!GQr?bpRQ~Sz*Ki1>Jz0N)2)-;D{8*h{!P-1r`t$ zTtq+w!Bs>NVPy$H10sei33o_BE%i}!d7*{^Rkq)yZbfJP0m=Q4Nqc7*u0mWfE3V4BAiS{$Io0}MR@FwPF z9hj@v3L92uUx9_z)%jN40&Z2*4rF*B>jv^3ASZyu0iYo1YNK)j|ONHY-A^@G>+_$atD+CcctKuCZ;Uj`!uhT(iLTBvIa z)wPA`+t2E;XJLFan5=}SUIAt!sjY(8RtXrdS6S^^CYIDzN&HVGMnb`gDcDse*7*Lr zRqoyp^bM32Cg4QbhyuCs)n2A(*GV{bXv&9n)^?|5B z@1AQH10Ge;Lj&F4KH3-Vjk23|81DNv`(R^zEb#gb)h;aTvh($NG-2(V9+h{B@hPY= zq!p~cr!LJHJZ+NOG_*s6O03V0!A$H=iApO8;1jND28g)oq?KJbvZy-k1N#7u>>*0~ zxu!YAeW!Mn0kRKWx9> zj69Ln*BnT)`1a(^!_TfeeAsf|WJe^(Px0Q(i$R#1K+r976NDWEnJkB3Vq-;e2%6t> z9D%xJ4k4gh^LMc45_hh#fXIXWGkcB|+Hecsa%}Pg#$8Q5g$+jP72b(2o>#m?6zz_` zT=g$RRUIPdrAVZhQey2i((_9;ex>$)o_5{#wGUQg|Fl2iVZqua^0jb7kFQ1l#nLO- z(r3)l#lwbGxDg)sF6Sj?PYw!E^+WugDiorquEFsT?P&ngD?e_V+LPeAL2@HK=61~E zf9QnXiQlXHoMYp^OD~UMtV_Qgw=KRr=CLD=e&HRjSh7VNwWNb3(Hgj^w$mdkGv3O& z!phn#E|q8#b)@4+(tPAE5vB+T8gqpZ`&qa-h2_9T!sBDk<_L_bNl!FNgEB{&=5EgM z%G&E@y*S@#2$>r?MtOnM=xq>EKqwwY4G_xPrtPgLZaXU!bV zGe2&-+>?oTw)wO9Kq?zOpN_9iYPd2XdYXohxXvCS`r#<>WqVwI(Cd%`s@)Z*>VJP9 zvY-puTS2OKc7B8*7lj8}uB5AbJpwI#0@)Tm$e}xoT`o^JMA@Beez8*#qp5QE!pz-X z8ZGRoMah8RiNgEBL5mW{Evd*MSvS*`^aj3xWCvp_s$O1hTn!2h4GsP&l# zI@ruup(!Cq_Aj1ByLpLzoqiRm_bQG3x~B42KTNqpc=-#utEs_>d?<52xzzr2={~aS zroBsZ$qwPIuk&)(X|ZTYXk2*t;;xb(QZdrCAaF5ki zpFm7mPS8Hf4Sl;e$!r;!S1NGHCB?NYo?IFoD6ukC<2i3`;#l%Xl@7ky&5}l*KhKM9 z;3P%0v!vvaxVcu2sEt+QZ)OI1*O~o@sj{{nzI&Hjh0dNxjErzgT^w>lDW)A$O++ZS2Cs&!o$8cF}BE^5dK`)o4D|>4Q5y7uu3H} zQ`&iG&=#xQzKOQuepXi?z#1ns-kwJ$yDfA)JYrmkn=~suzUs^COiYo-mF(K;ZTYDe zLhco%2Du>Dn7xVXYOGL|HdmaYHa4FozuGPQOmpQ>d%Fw zoSCxH2-Abi*Lpq{;vROQ5*<@33am?WP>Y=pgj)L_5uKkLGb2uV5|u~0_apoweUmnr zj5;b(5)aq-HC(5NmXloK4?iTvx{A`6pJm7Am0t6=$1Zi7J~LaLanfIh9?;Oy#7pAS Q#_tj2=i~3)d^|emzYePp5&!@I delta 125 zcmaE-zEDiDGr-TCmrII^fq{Y7)59eQNHYO3KL;C-Jf|V|Yop>it{?^*PZ!6Kid!jX z4Y>{|h`1aS40^WKv~TPrWSt akCCCEQn2cB=534;if(d.tinyMCEPreInit){s.suffix=tinyMCEPreInit.suffix;s.baseURL=tinyMCEPreInit.base;s.query=tinyMCEPreInit.query;return}s.suffix="";f=q.getElementsByTagName("base");for(m=0;m=c.length){for(e=0,b=g.length;e=c.length||g[e]!=c[e]){f=e+1;break}}}if(g.length=g.length||g[e]!=c[e]){f=e+1;break}}}if(f==1){return h}for(e=0,b=g.length-(f-1);e=0;c--){if(f[c].length==0||f[c]=="."){continue}if(f[c]==".."){b++;continue}if(b>0){b--;continue}h.push(f[c])}c=e.length-b;if(c<=0){g=h.reverse().join("/")}else{g=e.slice(0,c).join("/")+"/"+h.reverse().join("/")}if(g.indexOf("/")!==0){g="/"+g}if(d&&g.lastIndexOf("/")!==g.length-1){g+=d}return g},getURI:function(d){var c,b=this;if(!b.source||d){c="";if(!d){if(b.protocol){c+=b.protocol+"://"}if(b.userInfo){c+=b.userInfo+"@"}if(b.host){c+=b.host}if(b.port){c+=":"+b.port}}if(b.path){c+=b.path}if(b.query){c+="?"+b.query}if(b.anchor){c+="#"+b.anchor}b.source=c}return b.source}})})();(function(){var a=tinymce.each;tinymce.create("static tinymce.util.Cookie",{getHash:function(d){var b=this.get(d),c;if(b){a(b.split("&"),function(e){e=e.split("=");c=c||{};c[unescape(e[0])]=unescape(e[1])})}return c},setHash:function(j,b,g,f,i,c){var h="";a(b,function(e,d){h+=(!h?"":"&")+escape(d)+"="+escape(e)});this.set(j,h,g,f,i,c)},get:function(i){var h=document.cookie,g,f=i+"=",d;if(!h){return}d=h.indexOf("; "+f);if(d==-1){d=h.indexOf(f);if(d!=0){return null}}else{d+=2}g=h.indexOf(";",d);if(g==-1){g=h.length}return unescape(h.substring(d+f.length,g))},set:function(i,b,g,f,h,c){document.cookie=i+"="+escape(b)+((g)?"; expires="+g.toGMTString():"")+((f)?"; path="+escape(f):"")+((h)?"; domain="+h:"")+((c)?"; secure":"")},remove:function(e,b){var c=new Date();c.setTime(c.getTime()-1000);this.set(e,"",c,b,c)}})})();(function(){function serialize(o,quote){var i,v,t;quote=quote||'"';if(o==null){return"null"}t=typeof o;if(t=="string"){v="\bb\tt\nn\ff\rr\"\"''\\\\";return quote+o.replace(/([\u0080-\uFFFF\x00-\x1f\"\'\\])/g,function(a,b){if(quote==='"'&&a==="'"){return a}i=v.indexOf(b);if(i+1){return"\\"+v.charAt(i+1)}a=b.charCodeAt().toString(16);return"\\u"+"0000".substring(a.length)+a})+quote}if(t=="object"){if(o.hasOwnProperty&&o instanceof Array){for(i=0,v="[";i0?",":"")+serialize(o[i],quote)}return v+"]"}v="{";for(i in o){v+=typeof o[i]!="function"?(v.length>1?","+quote:quote)+i+quote+":"+serialize(o[i],quote):""}return v+"}"}return""+o}tinymce.util.JSON={serialize:serialize,parse:function(s){try{return eval("("+s+")")}catch(ex){}}}})();tinymce.create("static tinymce.util.XHR",{send:function(g){var a,e,b=window,h=0;g.scope=g.scope||this;g.success_scope=g.success_scope||g.scope;g.error_scope=g.error_scope||g.scope;g.async=g.async===false?false:true;g.data=g.data||"";function d(i){a=0;try{a=new ActiveXObject(i)}catch(c){}return a}a=b.XMLHttpRequest?new XMLHttpRequest():d("Microsoft.XMLHTTP")||d("Msxml2.XMLHTTP");if(a){if(a.overrideMimeType){a.overrideMimeType(g.content_type)}a.open(g.type||(g.data?"POST":"GET"),g.url,g.async);if(g.content_type){a.setRequestHeader("Content-Type",g.content_type)}a.setRequestHeader("X-Requested-With","XMLHttpRequest");a.send(g.data);function f(){if(!g.async||a.readyState==4||h++>10000){if(g.success&&h<10000&&a.status==200){g.success.call(g.success_scope,""+a.responseText,a,g)}else{if(g.error){g.error.call(g.error_scope,h>10000?"TIMED_OUT":"GENERAL",a,g)}}a=null}else{b.setTimeout(f,10)}}if(!g.async){return f()}e=b.setTimeout(f,10)}}});(function(){var c=tinymce.extend,b=tinymce.util.JSON,a=tinymce.util.XHR;tinymce.create("tinymce.util.JSONRequest",{JSONRequest:function(d){this.settings=c({},d);this.count=0},send:function(f){var e=f.error,d=f.success;f=c(this.settings,f);f.success=function(h,g){h=b.parse(h);if(typeof(h)=="undefined"){h={error:"JSON Parse error."}}if(h.error){e.call(f.error_scope||f.scope,h.error,g)}else{d.call(f.success_scope||f.scope,h.result)}};f.error=function(h,g){if(e){e.call(f.error_scope||f.scope,h,g)}};f.data=b.serialize({id:f.id||"c"+(this.count++),method:f.method,params:f.params});f.content_type="application/json";a.send(f)},"static":{sendRPC:function(d){return new tinymce.util.JSONRequest().send(d)}}})}());(function(a){a.VK={DELETE:46,BACKSPACE:8}})(tinymce);(function(b){function a(c){var f=c.dom,d=c.selection,e=b.VK;c.onKeyUp.add(function(g,j){if(j.keyCode==e.DELETE||j.keyCode==e.BACKSPACE){var i=d.getRng().startContainer;var k=i;while(!f.isBlock(k)){k=k.parentNode}var h=f.select("span.Apple-style-span",k);f.remove(h,true)}})}b.create("tinymce.util.Quirks",{Quirks:function(c){if(b.isWebKit){a(c)}}})})(tinymce);(function(j){var a,g,d,k=/[&<>\"\u007E-\uD7FF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,b=/[<>&\u007E-\uD7FF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,f=/[<>&\"\']/g,c=/&(#x|#)?([\w]+);/g,i={128:"\u20AC",130:"\u201A",131:"\u0192",132:"\u201E",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02C6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017D",145:"\u2018",146:"\u2019",147:"\u201C",148:"\u201D",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02DC",153:"\u2122",154:"\u0161",155:"\u203A",156:"\u0153",158:"\u017E",159:"\u0178"};g={'"':""","'":"'","<":"<",">":">","&":"&"};d={"<":"<",">":">","&":"&",""":'"',"'":"'"};function h(l){var m;m=document.createElement("div");m.innerHTML=l;return m.textContent||m.innerText||l}function e(m,p){var n,o,l,q={};if(m){m=m.split(",");p=p||10;for(n=0;n1){return"&#"+(((n.charCodeAt(0)-55296)*1024)+(n.charCodeAt(1)-56320)+65536)+";"}return g[n]||"&#"+n.charCodeAt(0)+";"})},encodeNamed:function(n,l,m){m=m||a;return n.replace(l?k:b,function(o){return g[o]||m[o]||o})},getEncodeFunc:function(l,o){var p=j.html.Entities;o=e(o)||a;function m(r,q){return r.replace(q?k:b,function(s){return g[s]||o[s]||"&#"+s.charCodeAt(0)+";"||s})}function n(r,q){return p.encodeNamed(r,q,o)}l=j.makeMap(l.replace(/\+/g,","));if(l.named&&l.numeric){return m}if(l.named){if(o){return n}return p.encodeNamed}if(l.numeric){return p.encodeNumeric}return p.encodeRaw},decode:function(l){return l.replace(c,function(n,m,o){if(m){o=parseInt(o,m.length===2?16:10);if(o>65535){o-=65536;return String.fromCharCode(55296+(o>>10),56320+(o&1023))}else{return i[o]||String.fromCharCode(o)}}return d[n]||a[n]||h(n)})}}})(tinymce);tinymce.html.Styles=function(d,f){var k=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,h=/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,b=/\s*([^:]+):\s*([^;]+);?/g,l=/\s+$/,m=/rgb/,e,g,a={},j;d=d||{};j="\\\" \\' \\; \\: ; : \uFEFF".split(" ");for(g=0;g1?r:"0"+r}return"#"+o(q)+o(p)+o(i)}return{toHex:function(i){return i.replace(k,c)},parse:function(r){var y={},p,n,v,q,u=d.url_converter,x=d.url_converter_scope||this;function o(C,F){var E,B,A,D;E=y[C+"-top"+F];if(!E){return}B=y[C+"-right"+F];if(E!=B){return}A=y[C+"-bottom"+F];if(B!=A){return}D=y[C+"-left"+F];if(A!=D){return}y[C+F]=D;delete y[C+"-top"+F];delete y[C+"-right"+F];delete y[C+"-bottom"+F];delete y[C+"-left"+F]}function t(B){var C=y[B],A;if(!C||C.indexOf(" ")<0){return}C=C.split(" ");A=C.length;while(A--){if(C[A]!==C[0]){return false}}y[B]=C[0];return true}function z(C,B,A,D){if(!t(B)){return}if(!t(A)){return}if(!t(D)){return}y[C]=y[B]+" "+y[A]+" "+y[D];delete y[B];delete y[A];delete y[D]}function s(A){q=true;return a[A]}function i(B,A){if(q){B=B.replace(/\uFEFF[0-9]/g,function(C){return a[C]})}if(!A){B=B.replace(/\\([\'\";:])/g,"$1")}return B}if(r){r=r.replace(/\\[\"\';:\uFEFF]/g,s).replace(/\"[^\"]+\"|\'[^\']+\'/g,function(A){return A.replace(/[;:]/g,s)});while(p=b.exec(r)){n=p[1].replace(l,"").toLowerCase();v=p[2].replace(l,"");if(n&&v.length>0){if(n==="font-weight"&&v==="700"){v="bold"}else{if(n==="color"||n==="background-color"){v=v.toLowerCase()}}v=v.replace(k,c);v=v.replace(h,function(B,A,E,D,F,C){F=F||C;if(F){F=i(F);return"'"+F.replace(/\'/g,"\\'")+"'"}A=i(A||E||D);if(u){A=u.call(x,A,"style")}return"url('"+A.replace(/\'/g,"\\'")+"')"});y[n]=q?i(v,true):v}b.lastIndex=p.index+p[0].length}o("border","");o("border","-width");o("border","-color");o("border","-style");o("padding","");o("margin","");z("border","border-width","border-style","border-color");if(y.border==="medium none"){delete y.border}}return y},serialize:function(p,r){var o="",n,q;function i(t){var x,u,s,v;x=f.styles[t];if(x){for(u=0,s=x.length;u0){o+=(o.length>0?" ":"")+t+": "+v+";"}}}}if(r&&f&&f.styles){i("*");i(r)}else{for(n in p){q=p[n];if(q!==e&&q.length>0){o+=(o.length>0?" ":"")+n+": "+q+";"}}}return o}}};(function(m){var h={},j,l,g,f,c={},b,e,d=m.makeMap,k=m.each;function i(o,n){return o.split(n||",")}function a(r,q){var o,p={};function n(s){return s.replace(/[A-Z]+/g,function(t){return n(r[t])})}for(o in r){if(r.hasOwnProperty(o)){r[o]=n(r[o])}}n(q).replace(/#/g,"#text").replace(/(\w+)\[([^\]]+)\]\[([^\]]*)\]/g,function(v,t,s,u){s=i(s,"|");p[t]={attributes:d(s),attributesOrder:s,children:d(u,"|",{"#comment":{}})}});return p}l="h1,h2,h3,h4,h5,h6,hr,p,div,address,pre,form,table,tbody,thead,tfoot,th,tr,td,li,ol,ul,caption,blockquote,center,dl,dt,dd,dir,fieldset,noscript,menu,isindex,samp,header,footer,article,section,hgroup";l=d(l,",",d(l.toUpperCase()));h=a({Z:"H|K|N|O|P",Y:"X|form|R|Q",ZG:"E|span|width|align|char|charoff|valign",X:"p|T|div|U|W|isindex|fieldset|table",ZF:"E|align|char|charoff|valign",W:"pre|hr|blockquote|address|center|noframes",ZE:"abbr|axis|headers|scope|rowspan|colspan|align|char|charoff|valign|nowrap|bgcolor|width|height",ZD:"[E][S]",U:"ul|ol|dl|menu|dir",ZC:"p|Y|div|U|W|table|br|span|bdo|object|applet|img|map|K|N|Q",T:"h1|h2|h3|h4|h5|h6",ZB:"X|S|Q",S:"R|P",ZA:"a|G|J|M|O|P",R:"a|H|K|N|O",Q:"noscript|P",P:"ins|del|script",O:"input|select|textarea|label|button",N:"M|L",M:"em|strong|dfn|code|q|samp|kbd|var|cite|abbr|acronym",L:"sub|sup",K:"J|I",J:"tt|i|b|u|s|strike",I:"big|small|font|basefont",H:"G|F",G:"br|span|bdo",F:"object|applet|img|map|iframe",E:"A|B|C",D:"accesskey|tabindex|onfocus|onblur",C:"onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup",B:"lang|xml:lang|dir",A:"id|class|style|title"},"script[id|charset|type|language|src|defer|xml:space][]style[B|id|type|media|title|xml:space][]object[E|declare|classid|codebase|data|type|codetype|archive|standby|width|height|usemap|name|tabindex|align|border|hspace|vspace][#|param|Y]param[id|name|value|valuetype|type][]p[E|align][#|S]a[E|D|charset|type|name|href|hreflang|rel|rev|shape|coords|target][#|Z]br[A|clear][]span[E][#|S]bdo[A|C|B][#|S]applet[A|codebase|archive|code|object|alt|name|width|height|align|hspace|vspace][#|param|Y]h1[E|align][#|S]img[E|src|alt|name|longdesc|width|height|usemap|ismap|align|border|hspace|vspace][]map[B|C|A|name][X|form|Q|area]h2[E|align][#|S]iframe[A|longdesc|name|src|frameborder|marginwidth|marginheight|scrolling|align|width|height][#|Y]h3[E|align][#|S]tt[E][#|S]i[E][#|S]b[E][#|S]u[E][#|S]s[E][#|S]strike[E][#|S]big[E][#|S]small[E][#|S]font[A|B|size|color|face][#|S]basefont[id|size|color|face][]em[E][#|S]strong[E][#|S]dfn[E][#|S]code[E][#|S]q[E|cite][#|S]samp[E][#|S]kbd[E][#|S]var[E][#|S]cite[E][#|S]abbr[E][#|S]acronym[E][#|S]sub[E][#|S]sup[E][#|S]input[E|D|type|name|value|checked|disabled|readonly|size|maxlength|src|alt|usemap|onselect|onchange|accept|align][]select[E|name|size|multiple|disabled|tabindex|onfocus|onblur|onchange][optgroup|option]optgroup[E|disabled|label][option]option[E|selected|disabled|label|value][]textarea[E|D|name|rows|cols|disabled|readonly|onselect|onchange][]label[E|for|accesskey|onfocus|onblur][#|S]button[E|D|name|value|type|disabled][#|p|T|div|U|W|table|G|object|applet|img|map|K|N|Q]h4[E|align][#|S]ins[E|cite|datetime][#|Y]h5[E|align][#|S]del[E|cite|datetime][#|Y]h6[E|align][#|S]div[E|align][#|Y]ul[E|type|compact][li]li[E|type|value][#|Y]ol[E|type|compact|start][li]dl[E|compact][dt|dd]dt[E][#|S]dd[E][#|Y]menu[E|compact][li]dir[E|compact][li]pre[E|width|xml:space][#|ZA]hr[E|align|noshade|size|width][]blockquote[E|cite][#|Y]address[E][#|S|p]center[E][#|Y]noframes[E][#|Y]isindex[A|B|prompt][]fieldset[E][#|legend|Y]legend[E|accesskey|align][#|S]table[E|summary|width|border|frame|rules|cellspacing|cellpadding|align|bgcolor][caption|col|colgroup|thead|tfoot|tbody|tr]caption[E|align][#|S]col[ZG][]colgroup[ZG][col]thead[ZF][tr]tr[ZF|bgcolor][th|td]th[E|ZE][#|Y]form[E|action|method|name|enctype|onsubmit|onreset|accept|accept-charset|target][#|X|R|Q]noscript[E][#|Y]td[E|ZE][#|Y]tfoot[ZF][tr]tbody[ZF][tr]area[E|D|shape|coords|href|nohref|alt|target][]base[id|href|target][]body[E|onload|onunload|background|bgcolor|text|link|vlink|alink][#|Y]");j=d("checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected,autoplay,loop,controls");g=d("area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed,source");f=m.extend(d("td,th,iframe,video,audio,object"),g);b=d("pre,script,style,textarea");e=d("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr");m.html.Schema=function(q){var z=this,n={},o={},x=[],p;q=q||{};if(q.verify_html===false){q.valid_elements="*[*]"}if(q.valid_styles){p={};k(q.valid_styles,function(B,A){p[A]=m.explode(B)})}function y(A){return new RegExp("^"+A.replace(/([?+*])/g,".$1")+"$")}function s(H){var G,C,V,R,W,B,E,Q,T,M,U,Y,K,F,S,A,O,D,X,Z,L,P,J=/^([#+-])?([^\[\/]+)(?:\/([^\[]+))?(?:\[([^\]]+)\])?$/,N=/^([!\-])?(\w+::\w+|[^=:<]+)?(?:([=:<])(.*))?$/,I=/[*?+]/;if(H){H=i(H);if(n["@"]){O=n["@"].attributes;D=n["@"].attributesOrder}for(G=0,C=H.length;G=0){for(R=l.length-1;R>=S;R--){Q=l[R];if(Q.valid){B.end(Q.name)}}l.length=S}}E=new RegExp("<(?:(?:!--([\\w\\W]*?)-->)|(?:!\\[CDATA\\[([\\w\\W]*?)\\]\\]>)|(?:!DOCTYPE([\\w\\W]*?)>)|(?:\\?([^\\s\\/<>]+) ?([\\w\\W]*?)[?/]>)|(?:\\/([^>]+)>)|(?:([^\\s\\/<>]+)\\s*((?:[^\"'>]+(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>]*))*)>))","g");h=/([\w:\-]+)(?:\s*=\s*(?:(?:\"((?:\\.|[^\"])*)\")|(?:\'((?:\\.|[^\'])*)\')|([^>\s]+)))?/g;g={script:/<\/script[^>]*>/gi,style:/<\/style[^>]*>/gi,noscript:/<\/noscript[^>]*>/gi};G=e.getShortEndedElements();A=e.getSelfClosingElements();k=e.getBoolAttrs();y=c.validate;K=c.remove_internals;z=c.fix_self_closing;while(f=E.exec(q)){if(m0&&l[l.length-1].name===H){D(H)}if(!y||(J=e.getElementRule(H))){r=true;if(y){L=J.attributes;n=J.attributePatterns}if(o=f[8]){s=o.indexOf("data-mce-type")!==-1;if(s&&K){r=false}C=[];C.map={};o.replace(h,function(R,Q,V,U,T){var W,S;Q=Q.toLowerCase();V=Q in k?Q:x(V||U||T||"");if(y&&!s&&Q.indexOf("data-")!==0){W=L[Q];if(!W&&n){S=n.length;while(S--){W=n[S];if(W.pattern.test(Q)){break}}if(S===-1){W=null}}if(!W){return}if(W.validValues&&!(V in W.validValues)){return}}C.map[Q]=V;C.push({name:Q,value:V})})}else{C=[];C.map={}}if(y&&!s){I=J.attributesRequired;O=J.attributesDefault;N=J.attributesForced;if(N){M=N.length;while(M--){F=N[M];P=F.name;v=F.value;if(v==="{$uid}"){v="mce_"+t++}C.map[P]=v;C.push({name:P,value:v})}}if(O){M=O.length;while(M--){F=O[M];P=F.name;if(!(P in C.map)){v=F.value;if(v==="{$uid}"){v="mce_"+t++}C.map[P]=v;C.push({name:P,value:v})}}}if(I){M=I.length;while(M--){if(I[M] in C.map){break}}if(M===-1){r=false}}if(C.map["data-mce-bogus"]){r=false}}if(r){B.start(H,C,p)}}else{r=false}if(j=g[H]){j.lastIndex=m=f.index+f[0].length;if(f=j.exec(q)){if(r){u=q.substr(m,f.index-m)}m=f.index+f[0].length}else{u=q.substr(m);m=q.length}if(r&&u.length>0){B.text(u,true)}if(r){B.end(H)}E.lastIndex=m;continue}if(!p){if(!o||o.indexOf("/")!=o.length-1){l.push({name:H,valid:r})}else{if(r){B.end(H)}}}}else{if(H=f[1]){B.comment(H)}else{if(H=f[2]){B.cdata(H)}else{if(H=f[3]){B.doctype(H)}else{if(H=f[4]){B.pi(H,f[5])}}}}}}m=f.index+f[0].length}if(m=0;M--){H=l[M];if(H.valid){B.end(H.name)}}}}})(tinymce);(function(d){var c=/^[ \t\r\n]*$/,e={"#text":3,"#comment":8,"#cdata":4,"#pi":7,"#doctype":10,"#document-fragment":11};function a(k,l,j){var i,h,f=j?"lastChild":"firstChild",g=j?"prev":"next";if(k[f]){return k[f]}if(k!==l){i=k[g];if(i){return i}for(h=k.parent;h&&h!==l;h=h.parent){i=h[g];if(i){return i}}}}function b(f,g){this.name=f;this.type=g;if(g===1){this.attributes=[];this.attributes.map={}}}d.extend(b.prototype,{replace:function(g){var f=this;if(g.parent){g.remove()}f.insert(g,f);f.remove();return f},attr:function(h,l){var f=this,g,j,k;if(typeof h!=="string"){for(j in h){f.attr(j,h[j])}return f}if(g=f.attributes){if(l!==k){if(l===null){if(h in g.map){delete g.map[h];j=g.length;while(j--){if(g[j].name===h){g=g.splice(j,1);return f}}}return f}if(h in g.map){j=g.length;while(j--){if(g[j].name===h){g[j].value=l;break}}}else{g.push({name:h,value:l})}g.map[h]=l;return f}else{return g.map[h]}}},clone:function(){var g=this,n=new b(g.name,g.type),h,f,m,j,k;if(m=g.attributes){k=[];k.map={};for(h=0,f=m.length;h1){v.reverse();z=n=f.filterNode(v[0].clone());for(t=0;t0){N.value=l;N=N.prev}else{L=N.prev;N.remove();N=L}}}n=new b.html.SaxParser({validate:y,fix_self_closing:!y,cdata:function(l){A.append(I("#cdata",4)).value=l},text:function(M,l){var L;if(!s[A.name]){M=M.replace(k," ");if(A.lastChild&&o[A.lastChild.name]){M=M.replace(D,"")}}if(M.length!==0){L=I("#text",3);L.raw=!!l;A.append(L).value=M}},comment:function(l){A.append(I("#comment",8)).value=l},pi:function(l,L){A.append(I(l,7)).value=L;G(A)},doctype:function(L){var l;l=A.append(I("#doctype",10));l.value=L;G(A)},start:function(l,T,M){var R,O,N,L,P,U,S,Q;N=y?h.getElementRule(l):{};if(N){R=I(N.outputName||l,1);R.attributes=T;R.shortEnded=M;A.append(R);Q=p[A.name];if(Q&&p[R.name]&&!Q[R.name]){J.push(R)}O=d.length;while(O--){P=d[O].name;if(P in T.map){E=c[P];if(E){E.push(R)}else{c[P]=[R]}}}if(o[l]){G(R)}if(!M){A=R}}},end:function(l){var P,M,O,L,N;M=y?h.getElementRule(l):{};if(M){if(o[l]){if(!s[A.name]){for(P=A.firstChild;P&&P.type===3;){O=P.value.replace(D,"");if(O.length>0){P.value=O;P=P.next}else{L=P.next;P.remove();P=L}}for(P=A.lastChild;P&&P.type===3;){O=P.value.replace(t,"");if(O.length>0){P.value=O;P=P.prev}else{L=P.prev;P.remove();P=L}}}P=A.prev;if(P&&P.type===3){O=P.value.replace(D,"");if(O.length>0){P.value=O}else{P.remove()}}}if(M.removeEmpty||M.paddEmpty){if(A.isEmpty(u)){if(M.paddEmpty){A.empty().append(new a("#text","3")).value="\u00a0"}else{if(!A.attributes.map.name){N=A.parent;A.empty().remove();A=N;return}}}}A=A.parent}}},h);H=A=new a(m.context||g.root_name,11);n.parse(v);if(y&&J.length){if(!m.context){j(J)}else{m.invalid=true}}if(q&&H.name=="body"){F()}if(!m.invalid){for(K in i){E=e[K];z=i[K];x=z.length;while(x--){if(!z[x].parent){z.splice(x,1)}}for(C=0,B=E.length;C0){o=c[c.length-1];if(o.length>0&&o!=="\n"){c.push("\n")}}c.push("<",m);if(k){for(n=0,j=k.length;n0){o=c[c.length-1];if(o.length>0&&o!=="\n"){c.push("\n")}}},end:function(h){var i;c.push("");if(a&&d[h]&&c.length>0){i=c[c.length-1];if(i.length>0&&i!=="\n"){c.push("\n")}}},text:function(i,h){if(i.length>0){c[c.length]=h?i:f(i)}},cdata:function(h){c.push("")},comment:function(h){c.push("")},pi:function(h,i){if(i){c.push("")}else{c.push("")}if(a){c.push("\n")}},doctype:function(h){c.push("",a?"\n":"")},reset:function(){c.length=0},getContent:function(){return c.join("").replace(/\n$/,"")}}};(function(a){a.html.Serializer=function(c,d){var b=this,e=new a.html.Writer(c);c=c||{};c.validate="validate" in c?c.validate:true;b.schema=d=d||new a.html.Schema();b.writer=e;b.serialize=function(h){var g,i;i=c.validate;g={3:function(k,j){e.text(k.value,k.raw)},8:function(j){e.comment(j.value)},7:function(j){e.pi(j.name,j.value)},10:function(j){e.doctype(j.value)},4:function(j){e.cdata(j.value)},11:function(j){if((j=j.firstChild)){do{f(j)}while(j=j.next)}}};e.reset();function f(k){var t=g[k.type],j,o,s,r,p,u,n,m,q;if(!t){j=k.name;o=k.shortEnded;s=k.attributes;if(i&&s&&s.length>1){u=[];u.map={};q=d.getElementRule(k.name);for(n=0,m=q.attributesOrder.length;n=8;l.boxModel=!h.isIE||o.compatMode=="CSS1Compat"||l.stdMode;l.hasOuterHTML="outerHTML" in o.createElement("a");l.settings=m=h.extend({keep_values:false,hex_colors:1},m);l.schema=m.schema;l.styles=new h.html.Styles({url_converter:m.url_converter,url_converter_scope:m.url_converter_scope},m.schema);if(h.isIE6){try{o.execCommand("BackgroundImageCache",false,true)}catch(n){l.cssFlicker=true}}if(b&&m.schema){("abbr article aside audio canvas details figcaption figure footer header hgroup mark menu meter nav output progress section summary time video").replace(/\w+/g,function(p){o.createElement(p)});for(k in m.schema.getCustomElements()){o.createElement(k)}}h.addUnload(l.destroy,l)},getRoot:function(){var j=this,k=j.settings;return(k&&j.get(k.root_element))||j.doc.body},getViewPort:function(k){var l,j;k=!k?this.win:k;l=k.document;j=this.boxModel?l.documentElement:l.body;return{x:k.pageXOffset||j.scrollLeft,y:k.pageYOffset||j.scrollTop,w:k.innerWidth||j.clientWidth,h:k.innerHeight||j.clientHeight}},getRect:function(m){var l,j=this,k;m=j.get(m);l=j.getPos(m);k=j.getSize(m);return{x:l.x,y:l.y,w:k.w,h:k.h}},getSize:function(m){var k=this,j,l;m=k.get(m);j=k.getStyle(m,"width");l=k.getStyle(m,"height");if(j.indexOf("px")===-1){j=0}if(l.indexOf("px")===-1){l=0}return{w:parseInt(j)||m.offsetWidth||m.clientWidth,h:parseInt(l)||m.offsetHeight||m.clientHeight}},getParent:function(l,k,j){return this.getParents(l,k,j,false)},getParents:function(u,p,l,s){var k=this,j,m=k.settings,q=[];u=k.get(u);s=s===undefined;if(m.strict_root){l=l||k.getRoot()}if(e(p,"string")){j=p;if(p==="*"){p=function(o){return o.nodeType==1}}else{p=function(o){return k.is(o,j)}}}while(u){if(u==l||!u.nodeType||u.nodeType===9){break}if(!p||p(u)){if(s){q.push(u)}else{return u}}u=u.parentNode}return s?q:null},get:function(j){var k;if(j&&this.doc&&typeof(j)=="string"){k=j;j=this.doc.getElementById(j);if(j&&j.id!==k){return this.doc.getElementsByName(k)[1]}}return j},getNext:function(k,j){return this._findSib(k,j,"nextSibling")},getPrev:function(k,j){return this._findSib(k,j,"previousSibling")},select:function(l,k){var j=this;return h.dom.Sizzle(l,j.get(k)||j.get(j.settings.root_element)||j.doc,[])},is:function(l,j){var k;if(l.length===undefined){if(j==="*"){return l.nodeType==1}if(a.test(j)){j=j.toLowerCase().split(/,/);l=l.nodeName.toLowerCase();for(k=j.length-1;k>=0;k--){if(j[k]==l){return true}}return false}}return h.dom.Sizzle.matches(j,l.nodeType?[l]:l).length>0},add:function(m,q,j,l,o){var k=this;return this.run(m,function(s){var r,n;r=e(q,"string")?k.doc.createElement(q):q;k.setAttribs(r,j);if(l){if(l.nodeType){r.appendChild(l)}else{k.setHTML(r,l)}}return !o?s.appendChild(r):r})},create:function(l,j,k){return this.add(this.doc.createElement(l),l,j,k,1)},createHTML:function(r,j,p){var q="",m=this,l;q+="<"+r;for(l in j){if(j.hasOwnProperty(l)){q+=" "+l+'="'+m.encode(j[l])+'"'}}if(typeof(p)!="undefined"){return q+">"+p+""}return q+" />"},remove:function(j,k){return this.run(j,function(m){var n,l=m.parentNode;if(!l){return null}if(k){while(n=m.firstChild){if(!h.isIE||n.nodeType!==3||n.nodeValue){l.insertBefore(n,m)}else{m.removeChild(n)}}}return l.removeChild(m)})},setStyle:function(m,j,k){var l=this;return l.run(m,function(p){var o,n;o=p.style;j=j.replace(/-(\D)/g,function(r,q){return q.toUpperCase()});if(l.pixelStyles.test(j)&&(h.is(k,"number")||/^[\-0-9\.]+$/.test(k))){k+="px"}switch(j){case"opacity":if(b){o.filter=k===""?"":"alpha(opacity="+(k*100)+")";if(!m.currentStyle||!m.currentStyle.hasLayout){o.display="inline-block"}}o[j]=o["-moz-opacity"]=o["-khtml-opacity"]=k||"";break;case"float":b?o.styleFloat=k:o.cssFloat=k;break;default:o[j]=k||""}if(l.settings.update_styles){l.setAttrib(p,"data-mce-style")}})},getStyle:function(m,j,l){m=this.get(m);if(!m){return}if(this.doc.defaultView&&l){j=j.replace(/[A-Z]/g,function(n){return"-"+n});try{return this.doc.defaultView.getComputedStyle(m,null).getPropertyValue(j)}catch(k){return null}}j=j.replace(/-(\D)/g,function(o,n){return n.toUpperCase()});if(j=="float"){j=b?"styleFloat":"cssFloat"}if(m.currentStyle&&l){return m.currentStyle[j]}return m.style?m.style[j]:undefined},setStyles:function(m,n){var k=this,l=k.settings,j;j=l.update_styles;l.update_styles=0;f(n,function(o,p){k.setStyle(m,p,o)});l.update_styles=j;if(l.update_styles){k.setAttrib(m,l.cssText)}},removeAllAttribs:function(j){return this.run(j,function(m){var l,k=m.attributes;for(l=k.length-1;l>=0;l--){m.removeAttributeNode(k.item(l))}})},setAttrib:function(l,m,j){var k=this;if(!l||!m){return}if(k.settings.strict){m=m.toLowerCase()}return this.run(l,function(o){var n=k.settings;switch(m){case"style":if(!e(j,"string")){f(j,function(p,q){k.setStyle(o,q,p)});return}if(n.keep_values){if(j&&!k._isRes(j)){o.setAttribute("data-mce-style",j,2)}else{o.removeAttribute("data-mce-style",2)}}o.style.cssText=j;break;case"class":o.className=j||"";break;case"src":case"href":if(n.keep_values){if(n.url_converter){j=n.url_converter.call(n.url_converter_scope||k,j,m,o)}k.setAttrib(o,"data-mce-"+m,j,2)}break;case"shape":o.setAttribute("data-mce-style",j);break}if(e(j)&&j!==null&&j.length!==0){o.setAttribute(m,""+j,2)}else{o.removeAttribute(m,2)}})},setAttribs:function(k,l){var j=this;return this.run(k,function(m){f(l,function(o,p){j.setAttrib(m,p,o)})})},getAttrib:function(o,p,l){var j,k=this,m;o=k.get(o);if(!o||o.nodeType!==1){return l===m?false:l}if(!e(l)){l=""}if(/^(src|href|style|coords|shape)$/.test(p)){j=o.getAttribute("data-mce-"+p);if(j){return j}}if(b&&k.props[p]){j=o[k.props[p]];j=j&&j.nodeValue?j.nodeValue:j}if(!j){j=o.getAttribute(p,2)}if(/^(checked|compact|declare|defer|disabled|ismap|multiple|nohref|noshade|nowrap|readonly|selected)$/.test(p)){if(o[k.props[p]]===true&&j===""){return p}return j?p:""}if(o.nodeName==="FORM"&&o.getAttributeNode(p)){return o.getAttributeNode(p).nodeValue}if(p==="style"){j=j||o.style.cssText;if(j){j=k.serializeStyle(k.parseStyle(j),o.nodeName);if(k.settings.keep_values&&!k._isRes(j)){o.setAttribute("data-mce-style",j)}}}if(d&&p==="class"&&j){j=j.replace(/(apple|webkit)\-[a-z\-]+/gi,"")}if(b){switch(p){case"rowspan":case"colspan":if(j===1){j=""}break;case"size":if(j==="+0"||j===20||j===0){j=""}break;case"width":case"height":case"vspace":case"checked":case"disabled":case"readonly":if(j===0){j=""}break;case"hspace":if(j===-1){j=""}break;case"maxlength":case"tabindex":if(j===32768||j===2147483647||j==="32768"){j=""}break;case"multiple":case"compact":case"noshade":case"nowrap":if(j===65535){return p}return l;case"shape":j=j.toLowerCase();break;default:if(p.indexOf("on")===0&&j){j=h._replace(/^function\s+\w+\(\)\s+\{\s+(.*)\s+\}$/,"$1",""+j)}}}return(j!==m&&j!==null&&j!=="")?""+j:l},getPos:function(s,m){var k=this,j=0,q=0,o,p=k.doc,l;s=k.get(s);m=m||p.body;if(s){if(s.getBoundingClientRect){s=s.getBoundingClientRect();o=k.boxModel?p.documentElement:p.body;j=s.left+(p.documentElement.scrollLeft||p.body.scrollLeft)-o.clientTop;q=s.top+(p.documentElement.scrollTop||p.body.scrollTop)-o.clientLeft;return{x:j,y:q}}l=s;while(l&&l!=m&&l.nodeType){j+=l.offsetLeft||0;q+=l.offsetTop||0;l=l.offsetParent}l=s.parentNode;while(l&&l!=m&&l.nodeType){j-=l.scrollLeft||0;q-=l.scrollTop||0;l=l.parentNode}}return{x:j,y:q}},parseStyle:function(j){return this.styles.parse(j)},serializeStyle:function(k,j){return this.styles.serialize(k,j)},loadCSS:function(j){var l=this,m=l.doc,k;if(!j){j=""}k=l.select("head")[0];f(j.split(","),function(n){var o;if(l.files[n]){return}l.files[n]=true;o=l.create("link",{rel:"stylesheet",href:h._addVer(n)});if(b&&m.documentMode&&m.recalc){o.onload=function(){if(m.recalc){m.recalc()}o.onload=null}}k.appendChild(o)})},addClass:function(j,k){return this.run(j,function(l){var m;if(!k){return 0}if(this.hasClass(l,k)){return l.className}m=this.removeClass(l,k);return l.className=(m!=""?(m+" "):"")+k})},removeClass:function(l,m){var j=this,k;return j.run(l,function(o){var n;if(j.hasClass(o,m)){if(!k){k=new RegExp("(^|\\s+)"+m+"(\\s+|$)","g")}n=o.className.replace(k," ");n=h.trim(n!=" "?n:"");o.className=n;if(!n){o.removeAttribute("class");o.removeAttribute("className")}return n}return o.className})},hasClass:function(k,j){k=this.get(k);if(!k||!j){return false}return(" "+k.className+" ").indexOf(" "+j+" ")!==-1},show:function(j){return this.setStyle(j,"display","block")},hide:function(j){return this.setStyle(j,"display","none")},isHidden:function(j){j=this.get(j);return !j||j.style.display=="none"||this.getStyle(j,"display")=="none"},uniqueId:function(j){return(!j?"mce_":j)+(this.counter++)},setHTML:function(l,k){var j=this;return j.run(l,function(n){if(b){while(n.firstChild){n.removeChild(n.firstChild)}try{n.innerHTML="
"+k;n.removeChild(n.firstChild)}catch(m){n=j.create("div");n.innerHTML="
"+k;f(n.childNodes,function(p,o){if(o){n.appendChild(p)}})}}else{n.innerHTML=k}return k})},getOuterHTML:function(l){var k,j=this;l=j.get(l);if(!l){return null}if(l.nodeType===1&&j.hasOuterHTML){return l.outerHTML}k=(l.ownerDocument||j.doc).createElement("body");k.appendChild(l.cloneNode(true));return k.innerHTML},setOuterHTML:function(m,k,n){var j=this;function l(p,o,r){var s,q;q=r.createElement("body");q.innerHTML=o;s=q.lastChild;while(s){j.insertAfter(s.cloneNode(true),p);s=s.previousSibling}j.remove(p)}return this.run(m,function(p){p=j.get(p);if(p.nodeType==1){n=n||p.ownerDocument||j.doc;if(b){try{if(b&&p.nodeType==1){p.outerHTML=k}else{l(p,k,n)}}catch(o){l(p,k,n)}}else{l(p,k,n)}}})},decode:c.decode,encode:c.encodeAllRaw,insertAfter:function(j,k){k=this.get(k);return this.run(j,function(m){var l,n;l=k.parentNode;n=k.nextSibling;if(n){l.insertBefore(m,n)}else{l.appendChild(m)}return m})},isBlock:function(k){var j=k.nodeType;if(j){return !!(j===1&&g[k.nodeName])}return !!g[k]},replace:function(p,m,j){var l=this;if(e(m,"array")){p=p.cloneNode(true)}return l.run(m,function(k){if(j){f(h.grep(k.childNodes),function(n){p.appendChild(n)})}return k.parentNode.replaceChild(p,k)})},rename:function(m,j){var l=this,k;if(m.nodeName!=j.toUpperCase()){k=l.create(j);f(l.getAttribs(m),function(n){l.setAttrib(k,n.nodeName,l.getAttrib(m,n.nodeName))});l.replace(k,m,1)}return k||m},findCommonAncestor:function(l,j){var m=l,k;while(m){k=j;while(k&&m!=k){k=k.parentNode}if(m==k){break}m=m.parentNode}if(!m&&l.ownerDocument){return l.ownerDocument.documentElement}return m},toHex:function(j){var l=/^\s*rgb\s*?\(\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?\)\s*$/i.exec(j);function k(m){m=parseInt(m).toString(16);return m.length>1?m:"0"+m}if(l){j="#"+k(l[1])+k(l[2])+k(l[3]);return j}return j},getClasses:function(){var n=this,j=[],m,o={},p=n.settings.class_filter,l;if(n.classes){return n.classes}function q(r){f(r.imports,function(s){q(s)});f(r.cssRules||r.rules,function(s){switch(s.type||1){case 1:if(s.selectorText){f(s.selectorText.split(","),function(t){t=t.replace(/^\s*|\s*$|^\s\./g,"");if(/\.mce/.test(t)||!/\.[\w\-]+$/.test(t)){return}l=t;t=h._replace(/.*\.([a-z0-9_\-]+).*/i,"$1",t);if(p&&!(t=p(t,l))){return}if(!o[t]){j.push({"class":t});o[t]=1}})}break;case 3:q(s.styleSheet);break}})}try{f(n.doc.styleSheets,q)}catch(k){}if(j.length>0){n.classes=j}return j},run:function(m,l,k){var j=this,n;if(j.doc&&typeof(m)==="string"){m=j.get(m)}if(!m){return false}k=k||this;if(!m.nodeType&&(m.length||m.length===0)){n=[];f(m,function(p,o){if(p){if(typeof(p)=="string"){p=j.doc.getElementById(p)}n.push(l.call(k,p,o))}});return n}return l.call(k,m)},getAttribs:function(k){var j;k=this.get(k);if(!k){return[]}if(b){j=[];if(k.nodeName=="OBJECT"){return k.attributes}if(k.nodeName==="OPTION"&&this.getAttrib(k,"selected")){j.push({specified:1,nodeName:"selected"})}k.cloneNode(false).outerHTML.replace(/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi,"").replace(/[\w:\-]+/gi,function(l){j.push({specified:1,nodeName:l})});return j}return k.attributes},isEmpty:function(o,p){var k=this,m,j,n,q,l;o=o.firstChild;if(o){q=new h.dom.TreeWalker(o);p=p||k.schema?k.schema.getNonEmptyElements():null;do{n=o.nodeType;if(n===1){if(o.getAttribute("data-mce-bogus")){continue}if(p&&p[o.nodeName.toLowerCase()]){return false}j=k.getAttribs(o);m=o.attributes.length;while(m--){l=o.attributes[m].nodeName;if(l==="name"||l==="data-mce-bookmark"){return false}}}if((n===3&&!i.test(o.nodeValue))){return false}}while(o=q.next())}return true},destroy:function(k){var j=this;if(j.events){j.events.destroy()}j.win=j.doc=j.root=j.events=null;if(!k){h.removeUnload(j.destroy)}},createRng:function(){var j=this.doc;return j.createRange?j.createRange():new h.dom.Range(this)},nodeIndex:function(n,o){var j=0,l,m,k;if(n){for(l=n.nodeType,n=n.previousSibling,m=n;n;n=n.previousSibling){k=n.nodeType;if(o&&k==3){if(k==l||!n.nodeValue.length){continue}}j++;l=k}}return j},split:function(n,m,q){var s=this,j=s.createRng(),o,l,p;function k(v){var t,r=v.childNodes,u=v.nodeType;if(u==1&&v.getAttribute("data-mce-type")=="bookmark"){return}for(t=r.length-1;t>=0;t--){k(r[t])}if(u!=9){if(u==3&&v.nodeValue.length>0){if(!s.isBlock(v.parentNode)||h.trim(v.nodeValue).length>0){return}}else{if(u==1){r=v.childNodes;if(r.length==1&&r[0]&&r[0].nodeType==1&&r[0].getAttribute("data-mce-type")=="bookmark"){v.parentNode.insertBefore(r[0],v)}if(r.length||/^(br|hr|input|img)$/i.test(v.nodeName)){return}}}s.remove(v)}return v}if(n&&m){j.setStart(n.parentNode,s.nodeIndex(n));j.setEnd(m.parentNode,s.nodeIndex(m));o=j.extractContents();j=s.createRng();j.setStart(m.parentNode,s.nodeIndex(m)+1);j.setEnd(n.parentNode,s.nodeIndex(n)+1);l=j.extractContents();p=n.parentNode;p.insertBefore(k(o),n);if(q){p.replaceChild(q,m)}else{p.insertBefore(m,n)}p.insertBefore(k(l),n);s.remove(n);return q||m}},bind:function(n,j,m,l){var k=this;if(!k.events){k.events=new h.dom.EventUtils()}return k.events.add(n,j,m,l||this)},unbind:function(m,j,l){var k=this;if(!k.events){k.events=new h.dom.EventUtils()}return k.events.remove(m,j,l)},_findSib:function(m,j,k){var l=this,n=j;if(m){if(e(n,"string")){n=function(o){return l.is(o,j)}}for(m=m[k];m;m=m[k]){if(n(m)){return m}}}return null},_isRes:function(j){return/^(top|left|bottom|right|width|height)/i.test(j)||/;\s*(top|left|bottom|right|width|height)/i.test(j)}});h.DOM=new h.dom.DOMUtils(document,{process_html:0})})(tinymce);(function(a){function b(c){var N=this,e=c.doc,S=0,E=1,j=2,D=true,R=false,U="startOffset",h="startContainer",P="endContainer",z="endOffset",k=tinymce.extend,n=c.nodeIndex;k(N,{startContainer:e,startOffset:0,endContainer:e,endOffset:0,collapsed:D,commonAncestorContainer:e,START_TO_START:0,START_TO_END:1,END_TO_END:2,END_TO_START:3,setStart:q,setEnd:s,setStartBefore:g,setStartAfter:I,setEndBefore:J,setEndAfter:u,collapse:A,selectNode:x,selectNodeContents:F,compareBoundaryPoints:v,deleteContents:p,extractContents:H,cloneContents:d,insertNode:C,surroundContents:M,cloneRange:K});function q(V,t){B(D,V,t)}function s(V,t){B(R,V,t)}function g(t){q(t.parentNode,n(t))}function I(t){q(t.parentNode,n(t)+1)}function J(t){s(t.parentNode,n(t))}function u(t){s(t.parentNode,n(t)+1)}function A(t){if(t){N[P]=N[h];N[z]=N[U]}else{N[h]=N[P];N[U]=N[z]}N.collapsed=D}function x(t){g(t);u(t)}function F(t){q(t,0);s(t,t.nodeType===1?t.childNodes.length:t.nodeValue.length)}function v(Y,t){var ab=N[h],W=N[U],aa=N[P],V=N[z],Z=t.startContainer,ad=t.startOffset,X=t.endContainer,ac=t.endOffset;if(Y===0){return G(ab,W,Z,ad)}if(Y===1){return G(aa,V,Z,ad)}if(Y===2){return G(aa,V,X,ac)}if(Y===3){return G(ab,W,X,ac)}}function p(){m(j)}function H(){return m(S)}function d(){return m(E)}function C(Y){var V=this[h],t=this[U],X,W;if((V.nodeType===3||V.nodeType===4)&&V.nodeValue){if(!t){V.parentNode.insertBefore(Y,V)}else{if(t>=V.nodeValue.length){c.insertAfter(Y,V)}else{X=V.splitText(t);V.parentNode.insertBefore(Y,X)}}}else{if(V.childNodes.length>0){W=V.childNodes[t]}if(W){V.insertBefore(Y,W)}else{V.appendChild(Y)}}}function M(V){var t=N.extractContents();N.insertNode(V);V.appendChild(t);N.selectNode(V)}function K(){return k(new b(c),{startContainer:N[h],startOffset:N[U],endContainer:N[P],endOffset:N[z],collapsed:N.collapsed,commonAncestorContainer:N.commonAncestorContainer})}function O(t,V){var W;if(t.nodeType==3){return t}if(V<0){return t}W=t.firstChild;while(W&&V>0){--V;W=W.nextSibling}if(W){return W}return t}function l(){return(N[h]==N[P]&&N[U]==N[z])}function G(X,Z,V,Y){var aa,W,t,ab,ad,ac;if(X==V){if(Z==Y){return 0}if(Z0){N.collapse(V)}}else{N.collapse(V)}N.collapsed=l();N.commonAncestorContainer=c.findCommonAncestor(N[h],N[P])}function m(ab){var aa,X=0,ad=0,V,Z,W,Y,t,ac;if(N[h]==N[P]){return f(ab)}for(aa=N[P],V=aa.parentNode;V;aa=V,V=V.parentNode){if(V==N[h]){return r(aa,ab)}++X}for(aa=N[h],V=aa.parentNode;V;aa=V,V=V.parentNode){if(V==N[P]){return T(aa,ab)}++ad}Z=ad-X;W=N[h];while(Z>0){W=W.parentNode;Z--}Y=N[P];while(Z<0){Y=Y.parentNode;Z++}for(t=W.parentNode,ac=Y.parentNode;t!=ac;t=t.parentNode,ac=ac.parentNode){W=t;Y=ac}return o(W,Y,ab)}function f(Z){var ab,Y,X,aa,t,W,V;if(Z!=j){ab=e.createDocumentFragment()}if(N[U]==N[z]){return ab}if(N[h].nodeType==3){Y=N[h].nodeValue;X=Y.substring(N[U],N[z]);if(Z!=E){N[h].deleteData(N[U],N[z]-N[U]);N.collapse(D)}if(Z==j){return}ab.appendChild(e.createTextNode(X));return ab}aa=O(N[h],N[U]);t=N[z]-N[U];while(t>0){W=aa.nextSibling;V=y(aa,Z);if(ab){ab.appendChild(V)}--t;aa=W}if(Z!=E){N.collapse(D)}return ab}function r(ab,Y){var aa,Z,V,t,X,W;if(Y!=j){aa=e.createDocumentFragment()}Z=i(ab,Y);if(aa){aa.appendChild(Z)}V=n(ab);t=V-N[U];if(t<=0){if(Y!=E){N.setEndBefore(ab);N.collapse(R)}return aa}Z=ab.previousSibling;while(t>0){X=Z.previousSibling;W=y(Z,Y);if(aa){aa.insertBefore(W,aa.firstChild)}--t;Z=X}if(Y!=E){N.setEndBefore(ab);N.collapse(R)}return aa}function T(Z,Y){var ab,V,aa,t,X,W;if(Y!=j){ab=e.createDocumentFragment()}aa=Q(Z,Y);if(ab){ab.appendChild(aa)}V=n(Z);++V;t=N[z]-V;aa=Z.nextSibling;while(t>0){X=aa.nextSibling;W=y(aa,Y);if(ab){ab.appendChild(W)}--t;aa=X}if(Y!=E){N.setStartAfter(Z);N.collapse(D)}return ab}function o(Z,t,ac){var W,ae,Y,aa,ab,V,ad,X;if(ac!=j){ae=e.createDocumentFragment()}W=Q(Z,ac);if(ae){ae.appendChild(W)}Y=Z.parentNode;aa=n(Z);ab=n(t);++aa;V=ab-aa;ad=Z.nextSibling;while(V>0){X=ad.nextSibling;W=y(ad,ac);if(ae){ae.appendChild(W)}ad=X;--V}W=i(t,ac);if(ae){ae.appendChild(W)}if(ac!=E){N.setStartAfter(Z);N.collapse(D)}return ae}function i(aa,ab){var W=O(N[P],N[z]-1),ac,Z,Y,t,V,X=W!=N[P];if(W==aa){return L(W,X,R,ab)}ac=W.parentNode;Z=L(ac,R,R,ab);while(ac){while(W){Y=W.previousSibling;t=L(W,X,R,ab);if(ab!=j){Z.insertBefore(t,Z.firstChild)}X=D;W=Y}if(ac==aa){return Z}W=ac.previousSibling;ac=ac.parentNode;V=L(ac,R,R,ab);if(ab!=j){V.appendChild(Z)}Z=V}}function Q(aa,ab){var X=O(N[h],N[U]),Y=X!=N[h],ac,Z,W,t,V;if(X==aa){return L(X,Y,D,ab)}ac=X.parentNode;Z=L(ac,R,D,ab);while(ac){while(X){W=X.nextSibling;t=L(X,Y,D,ab);if(ab!=j){Z.appendChild(t)}Y=D;X=W}if(ac==aa){return Z}X=ac.nextSibling;ac=ac.parentNode;V=L(ac,R,D,ab);if(ab!=j){V.appendChild(Z)}Z=V}}function L(t,Y,ab,ac){var X,W,Z,V,aa;if(Y){return y(t,ac)}if(t.nodeType==3){X=t.nodeValue;if(ab){V=N[U];W=X.substring(V);Z=X.substring(0,V)}else{V=N[z];W=X.substring(0,V);Z=X.substring(V)}if(ac!=E){t.nodeValue=Z}if(ac==j){return}aa=t.cloneNode(R);aa.nodeValue=W;return aa}if(ac==j){return}return t.cloneNode(R)}function y(V,t){if(t!=j){return t==E?V.cloneNode(D):V}V.parentNode.removeChild(V)}}a.Range=b})(tinymce.dom);(function(){function a(d){var b=this,h=d.dom,c=true,f=false;function e(i,j){var k,t=0,q,n,m,l,o,r,p=-1,s;k=i.duplicate();k.collapse(j);s=k.parentElement();if(s.ownerDocument!==d.dom.doc){return}while(s.contentEditable==="false"){s=s.parentNode}if(!s.hasChildNodes()){return{node:s,inside:1}}m=s.children;q=m.length-1;while(t<=q){r=Math.floor((t+q)/2);l=m[r];k.moveToElementText(l);p=k.compareEndPoints(j?"StartToStart":"EndToEnd",i);if(p>0){q=r-1}else{if(p<0){t=r+1}else{return{node:l}}}}if(p<0){if(!l){k.moveToElementText(s);k.collapse(true);l=s;n=true}else{k.collapse(false)}k.setEndPoint(j?"EndToStart":"EndToEnd",i);if(k.compareEndPoints(j?"StartToStart":"StartToEnd",i)>0){k=i.duplicate();k.collapse(j);o=-1;while(s==k.parentElement()){if(k.move("character",-1)==0){break}o++}}o=o||k.text.replace("\r\n"," ").length}else{k.collapse(true);k.setEndPoint(j?"StartToStart":"StartToEnd",i);o=k.text.replace("\r\n"," ").length}return{node:l,position:p,offset:o,inside:n}}function g(){var i=d.getRng(),r=h.createRng(),l,k,p,q,m,j;l=i.item?i.item(0):i.parentElement();if(l.ownerDocument!=h.doc){return r}k=d.isCollapsed();if(i.item){r.setStart(l.parentNode,h.nodeIndex(l));r.setEnd(r.startContainer,r.startOffset+1);return r}function o(A){var u=e(i,A),s,y,z=0,x,v,t;s=u.node;y=u.offset;if(u.inside&&!s.hasChildNodes()){r[A?"setStart":"setEnd"](s,0);return}if(y===v){r[A?"setStartBefore":"setEndAfter"](s);return}if(u.position<0){x=u.inside?s.firstChild:s.nextSibling;if(!x){r[A?"setStartAfter":"setEndAfter"](s);return}if(!y){if(x.nodeType==3){r[A?"setStart":"setEnd"](x,0)}else{r[A?"setStartBefore":"setEndBefore"](x)}return}while(x){t=x.nodeValue;z+=t.length;if(z>=y){s=x;z-=y;z=t.length-z;break}x=x.nextSibling}}else{x=s.previousSibling;if(!x){return r[A?"setStartBefore":"setEndBefore"](s)}if(!y){if(s.nodeType==3){r[A?"setStart":"setEnd"](x,s.nodeValue.length)}else{r[A?"setStartAfter":"setEndAfter"](x)}return}while(x){z+=x.nodeValue.length;if(z>=y){s=x;z-=y;break}x=x.previousSibling}}r[A?"setStart":"setEnd"](s,z)}try{o(true);if(!k){o()}}catch(n){if(n.number==-2147024809){m=b.getBookmark(2);p=i.duplicate();p.collapse(true);l=p.parentElement();if(!k){p=i.duplicate();p.collapse(false);q=p.parentElement();q.innerHTML=q.innerHTML}l.innerHTML=l.innerHTML;b.moveToBookmark(m);i=d.getRng();o(true);if(!k){o()}}else{throw n}}return r}this.getBookmark=function(m){var j=d.getRng(),o,i,l={};function n(u){var u,t,p,s,r,q=[];t=u.parentNode;p=h.getRoot().parentNode;while(t!=p){s=t.children;r=s.length;while(r--){if(u===s[r]){q.push(r);break}}u=t;t=t.parentNode}return q}function k(q){var p;p=e(j,q);if(p){return{position:p.position,offset:p.offset,indexes:n(p.node),inside:p.inside}}}if(m===2){if(!j.item){l.start=k(true);if(!d.isCollapsed()){l.end=k()}}else{l.start={ctrl:true,indexes:n(j.item(0))}}}return l};this.moveToBookmark=function(k){var j,i=h.doc.body;function m(o){var r,q,n,p;r=h.getRoot();for(q=o.length-1;q>=0;q--){p=r.children;n=o[q];if(n<=p.length-1){r=p[n]}}return r}function l(r){var n=k[r?"start":"end"],q,p,o;if(n){q=n.position>0;p=i.createTextRange();p.moveToElementText(m(n.indexes));offset=n.offset;if(offset!==o){p.collapse(n.inside||q);p.moveStart("character",q?-offset:offset)}else{p.collapse(r)}j.setEndPoint(r?"StartToStart":"EndToStart",p);if(r){j.collapse(true)}}}if(k.start){if(k.start.ctrl){j=i.createControlRange();j.addElement(m(k.start.indexes));j.select()}else{j=i.createTextRange();l(true);l();j.select()}}};this.addRange=function(i){var n,l,k,p,s,q,r=d.dom.doc,m=r.body;function j(z){var u,y,t,x,v;t=h.create("a");u=z?k:s;y=z?p:q;x=n.duplicate();if(u==r||u==r.documentElement){u=m;y=0}if(u.nodeType==3){u.parentNode.insertBefore(t,u);x.moveToElementText(t);x.moveStart("character",y);h.remove(t);n.setEndPoint(z?"StartToStart":"EndToEnd",x)}else{v=u.childNodes;if(v.length){if(y>=v.length){h.insertAfter(t,v[v.length-1])}else{u.insertBefore(t,v[y])}x.moveToElementText(t)}else{t=r.createTextNode("\uFEFF");u.appendChild(t);x.moveToElementText(t.parentNode);x.collapse(c)}n.setEndPoint(z?"StartToStart":"EndToEnd",x);h.remove(t)}}k=i.startContainer;p=i.startOffset;s=i.endContainer;q=i.endOffset;n=m.createTextRange();if(k==s&&k.nodeType==1&&p==q-1){if(p==q-1){try{l=m.createControlRange();l.addElement(k.childNodes[p]);l.select();return}catch(o){}}}j(true);j();n.select()};this.getRangeAt=g}tinymce.dom.TridentSelection=a})();(function(){var p=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,j=0,d=Object.prototype.toString,o=false,i=true;[0,0].sort(function(){i=false;return 0});var b=function(v,e,z,A){z=z||[];e=e||document;var C=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!v||typeof v!=="string"){return z}var x=[],s,E,H,r,u=true,t=b.isXML(e),B=v,D,G,F,y;do{p.exec("");s=p.exec(B);if(s){B=s[3];x.push(s[1]);if(s[2]){r=s[3];break}}}while(s);if(x.length>1&&k.exec(v)){if(x.length===2&&f.relative[x[0]]){E=h(x[0]+x[1],e)}else{E=f.relative[x[0]]?[e]:b(x.shift(),e);while(x.length){v=x.shift();if(f.relative[v]){v+=x.shift()}E=h(v,E)}}}else{if(!A&&x.length>1&&e.nodeType===9&&!t&&f.match.ID.test(x[0])&&!f.match.ID.test(x[x.length-1])){D=b.find(x.shift(),e,t);e=D.expr?b.filter(D.expr,D.set)[0]:D.set[0]}if(e){D=A?{expr:x.pop(),set:a(A)}:b.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&e.parentNode?e.parentNode:e,t);E=D.expr?b.filter(D.expr,D.set):D.set;if(x.length>0){H=a(E)}else{u=false}while(x.length){G=x.pop();F=G;if(!f.relative[G]){G=""}else{F=x.pop()}if(F==null){F=e}f.relative[G](H,F,t)}}else{H=x=[]}}if(!H){H=E}if(!H){b.error(G||v)}if(d.call(H)==="[object Array]"){if(!u){z.push.apply(z,H)}else{if(e&&e.nodeType===1){for(y=0;H[y]!=null;y++){if(H[y]&&(H[y]===true||H[y].nodeType===1&&b.contains(e,H[y]))){z.push(E[y])}}}else{for(y=0;H[y]!=null;y++){if(H[y]&&H[y].nodeType===1){z.push(E[y])}}}}}else{a(H,z)}if(r){b(r,C,z,A);b.uniqueSort(z)}return z};b.uniqueSort=function(r){if(c){o=i;r.sort(c);if(o){for(var e=1;e":function(x,r){var u=typeof r==="string",v,s=0,e=x.length;if(u&&!/\W/.test(r)){r=r.toLowerCase();for(;s=0)){if(!s){e.push(v)}}else{if(s){r[u]=false}}}}return false},ID:function(e){return e[1].replace(/\\/g,"")},TAG:function(r,e){return r[1].toLowerCase()},CHILD:function(e){if(e[1]==="nth"){var r=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(r[1]+(r[2]||1))-0;e[3]=r[3]-0}e[0]=j++;return e},ATTR:function(u,r,s,e,v,x){var t=u[1].replace(/\\/g,"");if(!x&&f.attrMap[t]){u[1]=f.attrMap[t]}if(u[2]==="~="){u[4]=" "+u[4]+" "}return u},PSEUDO:function(u,r,s,e,v){if(u[1]==="not"){if((p.exec(u[3])||"").length>1||/^\w/.test(u[3])){u[3]=b(u[3],null,null,r)}else{var t=b.filter(u[3],r,s,true^v);if(!s){e.push.apply(e,t)}return false}}else{if(f.match.POS.test(u[0])||f.match.CHILD.test(u[0])){return true}}return u},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){e.parentNode.selectedIndex;return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(s,r,e){return !!b(e[3],s).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(e){return"text"===e.type},radio:function(e){return"radio"===e.type},checkbox:function(e){return"checkbox"===e.type},file:function(e){return"file"===e.type},password:function(e){return"password"===e.type},submit:function(e){return"submit"===e.type},image:function(e){return"image"===e.type},reset:function(e){return"reset"===e.type},button:function(e){return"button"===e.type||e.nodeName.toLowerCase()==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)}},setFilters:{first:function(r,e){return e===0},last:function(s,r,e,t){return r===t.length-1},even:function(r,e){return e%2===0},odd:function(r,e){return e%2===1},lt:function(s,r,e){return re[3]-0},nth:function(s,r,e){return e[3]-0===r},eq:function(s,r,e){return e[3]-0===r}},filter:{PSEUDO:function(s,y,x,z){var e=y[1],r=f.filters[e];if(r){return r(s,x,y,z)}else{if(e==="contains"){return(s.textContent||s.innerText||b.getText([s])||"").indexOf(y[3])>=0}else{if(e==="not"){var t=y[3];for(var v=0,u=t.length;v=0)}}},ID:function(r,e){return r.nodeType===1&&r.getAttribute("id")===e},TAG:function(r,e){return(e==="*"&&r.nodeType===1)||r.nodeName.toLowerCase()===e},CLASS:function(r,e){return(" "+(r.className||r.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(v,t){var s=t[1],e=f.attrHandle[s]?f.attrHandle[s](v):v[s]!=null?v[s]:v.getAttribute(s),x=e+"",u=t[2],r=t[4];return e==null?u==="!=":u==="="?x===r:u==="*="?x.indexOf(r)>=0:u==="~="?(" "+x+" ").indexOf(r)>=0:!r?x&&e!==false:u==="!="?x!==r:u==="^="?x.indexOf(r)===0:u==="$="?x.substr(x.length-r.length)===r:u==="|="?x===r||x.substr(0,r.length+1)===r+"-":false},POS:function(u,r,s,v){var e=r[2],t=f.setFilters[e];if(t){return t(u,s,r,v)}}}};var k=f.match.POS,g=function(r,e){return"\\"+(e-0+1)};for(var m in f.match){f.match[m]=new RegExp(f.match[m].source+(/(?![^\[]*\])(?![^\(]*\))/.source));f.leftMatch[m]=new RegExp(/(^(?:.|\r|\n)*?)/.source+f.match[m].source.replace(/\\(\d+)/g,g))}var a=function(r,e){r=Array.prototype.slice.call(r,0);if(e){e.push.apply(e,r);return e}return r};try{Array.prototype.slice.call(document.documentElement.childNodes,0)[0].nodeType}catch(l){a=function(u,t){var r=t||[],s=0;if(d.call(u)==="[object Array]"){Array.prototype.push.apply(r,u)}else{if(typeof u.length==="number"){for(var e=u.length;s";var e=document.documentElement;e.insertBefore(r,e.firstChild);if(document.getElementById(s)){f.find.ID=function(u,v,x){if(typeof v.getElementById!=="undefined"&&!x){var t=v.getElementById(u[1]);return t?t.id===u[1]||typeof t.getAttributeNode!=="undefined"&&t.getAttributeNode("id").nodeValue===u[1]?[t]:undefined:[]}};f.filter.ID=function(v,t){var u=typeof v.getAttributeNode!=="undefined"&&v.getAttributeNode("id");return v.nodeType===1&&u&&u.nodeValue===t}}e.removeChild(r);e=r=null})();(function(){var e=document.createElement("div");e.appendChild(document.createComment(""));if(e.getElementsByTagName("*").length>0){f.find.TAG=function(r,v){var u=v.getElementsByTagName(r[1]);if(r[1]==="*"){var t=[];for(var s=0;u[s];s++){if(u[s].nodeType===1){t.push(u[s])}}u=t}return u}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){f.attrHandle.href=function(r){return r.getAttribute("href",2)}}e=null})();if(document.querySelectorAll){(function(){var e=b,s=document.createElement("div");s.innerHTML="

";if(s.querySelectorAll&&s.querySelectorAll(".TEST").length===0){return}b=function(x,v,t,u){v=v||document;if(!u&&v.nodeType===9&&!b.isXML(v)){try{return a(v.querySelectorAll(x),t)}catch(y){}}return e(x,v,t,u)};for(var r in e){b[r]=e[r]}s=null})()}(function(){var e=document.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}f.order.splice(1,0,"CLASS");f.find.CLASS=function(r,s,t){if(typeof s.getElementsByClassName!=="undefined"&&!t){return s.getElementsByClassName(r[1])}};e=null})();function n(r,x,v,A,y,z){for(var t=0,s=A.length;t0){u=e;break}}}e=e[r]}A[t]=u}}}b.contains=document.compareDocumentPosition?function(r,e){return !!(r.compareDocumentPosition(e)&16)}:function(r,e){return r!==e&&(r.contains?r.contains(e):true)};b.isXML=function(e){var r=(e?e.ownerDocument||e:0).documentElement;return r?r.nodeName!=="HTML":false};var h=function(e,y){var t=[],u="",v,s=y.nodeType?[y]:y;while((v=f.match.PSEUDO.exec(e))){u+=v[0];e=e.replace(f.match.PSEUDO,"")}e=f.relative[e]?e+"*":e;for(var x=0,r=s.length;x=0;h--){k=g[h];if(k.obj===l){j._remove(k.obj,k.name,k.cfunc);k.obj=k.cfunc=null;g.splice(h,1)}}}},cancel:function(g){if(!g){return false}this.stop(g);return this.prevent(g)},stop:function(g){if(g.stopPropagation){g.stopPropagation()}else{g.cancelBubble=true}return false},prevent:function(g){if(g.preventDefault){g.preventDefault()}else{g.returnValue=false}return false},destroy:function(){var g=this;f(g.events,function(j,h){g._remove(j.obj,j.name,j.cfunc);j.obj=j.cfunc=null});g.events=[];g=null},_add:function(h,i,g){if(h.attachEvent){h.attachEvent("on"+i,g)}else{if(h.addEventListener){h.addEventListener(i,g,false)}else{h["on"+i]=g}}},_remove:function(i,j,h){if(i){try{if(i.detachEvent){i.detachEvent("on"+j,h)}else{if(i.removeEventListener){i.removeEventListener(j,h,false)}else{i["on"+j]=null}}}catch(g){}}},_pageInit:function(h){var g=this;if(g.domLoaded){return}g.domLoaded=true;f(g.inits,function(i){i()});g.inits=[]},_wait:function(i){var g=this,h=i.document;if(i.tinyMCE_GZ&&tinyMCE_GZ.loaded){g.domLoaded=1;return}if(h.attachEvent){h.attachEvent("onreadystatechange",function(){if(h.readyState==="complete"){h.detachEvent("onreadystatechange",arguments.callee);g._pageInit(i)}});if(h.documentElement.doScroll&&i==i.top){(function(){if(g.domLoaded){return}try{h.documentElement.doScroll("left")}catch(j){setTimeout(arguments.callee,0);return}g._pageInit(i)})()}}else{if(h.addEventListener){g._add(i,"DOMContentLoaded",function(){g._pageInit(i)})}}g._add(i,"load",function(){g._pageInit(i)})},_stoppers:{preventDefault:function(){this.returnValue=false},stopPropagation:function(){this.cancelBubble=true}}});a=d.dom.Event=new d.dom.EventUtils();a._wait(window);d.addUnload(function(){a.destroy()})})(tinymce);(function(a){a.dom.Element=function(f,d){var b=this,e,c;b.settings=d=d||{};b.id=f;b.dom=e=d.dom||a.DOM;if(!a.isIE){c=e.get(b.id)}a.each(("getPos,getRect,getParent,add,setStyle,getStyle,setStyles,setAttrib,setAttribs,getAttrib,addClass,removeClass,hasClass,getOuterHTML,setOuterHTML,remove,show,hide,isHidden,setHTML,get").split(/,/),function(g){b[g]=function(){var h=[f],j;for(j=0;j_';if(f.startContainer==k&&f.endContainer==k){k.body.innerHTML=g}else{f.deleteContents();if(k.body.childNodes.length==0){k.body.innerHTML=g}else{if(f.createContextualFragment){f.insertNode(f.createContextualFragment(g))}else{m=k.createDocumentFragment();l=k.createElement("div");m.appendChild(l);l.outerHTML=g;f.insertNode(m)}}}j=n.dom.get("__caret");f=k.createRange();f.setStartBefore(j);f.setEndBefore(j);n.setRng(f);n.dom.remove("__caret");try{n.setRng(f)}catch(h){}}else{if(f.item){k.execCommand("Delete",false,null);f=n.getRng()}f.pasteHTML(g)}if(!i.no_events){n.onSetContent.dispatch(n,i)}},getStart:function(){var g=this.getRng(),h,f,j,i;if(g.duplicate||g.item){if(g.item){return g.item(0)}j=g.duplicate();j.collapse(1);h=j.parentElement();f=i=g.parentElement();while(i=i.parentNode){if(i==h){h=f;break}}return h}else{h=g.startContainer;if(h.nodeType==1&&h.hasChildNodes()){h=h.childNodes[Math.min(h.childNodes.length-1,g.startOffset)]}if(h&&h.nodeType==3){return h.parentNode}return h}},getEnd:function(){var g=this,h=g.getRng(),i,f;if(h.duplicate||h.item){if(h.item){return h.item(0)}h=h.duplicate();h.collapse(0);i=h.parentElement();if(i&&i.nodeName=="BODY"){return i.lastChild||i}return i}else{i=h.endContainer;f=h.endOffset;if(i.nodeType==1&&i.hasChildNodes()){i=i.childNodes[f>0?f-1:f]}if(i&&i.nodeType==3){return i.parentNode}return i}},getBookmark:function(r,s){var v=this,m=v.dom,g,j,i,n,h,o,p,l="\uFEFF",u;function f(x,y){var t=0;d(m.select(x),function(A,z){if(A==y){t=z}});return t}if(r==2){function k(){var x=v.getRng(true),t=m.getRoot(),y={};function z(C,H){var B=C[H?"startContainer":"endContainer"],G=C[H?"startOffset":"endOffset"],A=[],D,F,E=0;if(B.nodeType==3){if(s){for(D=B.previousSibling;D&&D.nodeType==3;D=D.previousSibling){G+=D.nodeValue.length}}A.push(G)}else{F=B.childNodes;if(G>=F.length&&F.length){E=1;G=Math.max(0,F.length-1)}A.push(v.dom.nodeIndex(F[G],s)+E)}for(;B&&B!=t;B=B.parentNode){A.push(v.dom.nodeIndex(B,s))}return A}y.start=z(x,true);if(!v.isCollapsed()){y.end=z(x)}return y}if(v.tridentSel){return v.tridentSel.getBookmark(r)}return k()}if(r){return{rng:v.getRng()}}g=v.getRng();i=m.uniqueId();n=tinyMCE.activeEditor.selection.isCollapsed();u="overflow:hidden;line-height:0px";if(g.duplicate||g.item){if(!g.item){j=g.duplicate();try{g.collapse();g.pasteHTML(''+l+"");if(!n){j.collapse(false);g.moveToElementText(j.parentElement());if(g.compareEndPoints("StartToEnd",j)==0){j.move("character",-1)}j.pasteHTML(''+l+"")}}catch(q){return null}}else{o=g.item(0);h=o.nodeName;return{name:h,index:f(h,o)}}}else{o=v.getNode();h=o.nodeName;if(h=="IMG"){return{name:h,index:f(h,o)}}j=g.cloneRange();if(!n){j.collapse(false);j.insertNode(m.create("span",{"data-mce-type":"bookmark",id:i+"_end",style:u},l))}g.collapse(true);g.insertNode(m.create("span",{"data-mce-type":"bookmark",id:i+"_start",style:u},l))}v.moveToBookmark({id:i,keep:1});return{id:i}},moveToBookmark:function(n){var r=this,l=r.dom,i,h,f,q,j,s,o,p;if(n){if(n.start){f=l.createRng();q=l.getRoot();function g(z){var t=n[z?"start":"end"],v,x,y,u;if(t){y=t[0];for(x=q,v=t.length-1;v>=1;v--){u=x.childNodes;if(t[v]>u.length-1){return}x=u[t[v]]}if(x.nodeType===3){y=Math.min(t[0],x.nodeValue.length)}if(x.nodeType===1){y=Math.min(t[0],x.childNodes.length)}if(z){f.setStart(x,y)}else{f.setEnd(x,y)}}return true}if(r.tridentSel){return r.tridentSel.moveToBookmark(n)}if(g(true)&&g()){r.setRng(f)}}else{if(n.id){function k(A){var u=l.get(n.id+"_"+A),z,t,x,y,v=n.keep;if(u){z=u.parentNode;if(A=="start"){if(!v){t=l.nodeIndex(u)}else{z=u.firstChild;t=1}j=s=z;o=p=t}else{if(!v){t=l.nodeIndex(u)}else{z=u.firstChild;t=1}s=z;p=t}if(!v){y=u.previousSibling;x=u.nextSibling;d(c.grep(u.childNodes),function(B){if(B.nodeType==3){B.nodeValue=B.nodeValue.replace(/\uFEFF/g,"")}});while(u=l.get(n.id+"_"+A)){l.remove(u,1)}if(y&&x&&y.nodeType==x.nodeType&&y.nodeType==3&&!c.isOpera){t=y.nodeValue.length;y.appendData(x.nodeValue);l.remove(x);if(A=="start"){j=s=y;o=p=t}else{s=y;p=t}}}}}function m(t){if(l.isBlock(t)&&!t.innerHTML){t.innerHTML=!a?'
':" "}return t}k("start");k("end");if(j){f=l.createRng();f.setStart(m(j),o);f.setEnd(m(s),p);r.setRng(f)}}else{if(n.name){r.select(l.select(n.name)[n.index])}else{if(n.rng){r.setRng(n.rng)}}}}}},select:function(k,j){var i=this,l=i.dom,g=l.createRng(),f;if(k){f=l.nodeIndex(k);g.setStart(k.parentNode,f);g.setEnd(k.parentNode,f+1);if(j){function h(m,o){var n=new c.dom.TreeWalker(m,m);do{if(m.nodeType==3&&c.trim(m.nodeValue).length!=0){if(o){g.setStart(m,0)}else{g.setEnd(m,m.nodeValue.length)}return}if(m.nodeName=="BR"){if(o){g.setStartBefore(m)}else{g.setEndBefore(m)}return}}while(m=(o?n.next():n.prev()))}h(k,1);h(k)}i.setRng(g)}return k},isCollapsed:function(){var f=this,h=f.getRng(),g=f.getSel();if(!h||h.item){return false}if(h.compareEndPoints){return h.compareEndPoints("StartToEnd",h)===0}return !g||h.collapsed},collapse:function(f){var h=this,g=h.getRng(),i;if(g.item){i=g.item(0);g=h.win.document.body.createTextRange();g.moveToElementText(i)}g.collapse(!!f);h.setRng(g)},getSel:function(){var g=this,f=this.win;return f.getSelection?f.getSelection():f.document.selection},getRng:function(l){var g=this,h,i,k,j=g.win.document;if(l&&g.tridentSel){return g.tridentSel.getRangeAt(0)}try{if(h=g.getSel()){i=h.rangeCount>0?h.getRangeAt(0):(h.createRange?h.createRange():j.createRange())}}catch(f){}if(c.isIE&&i&&i.setStart&&j.selection.createRange().item){k=j.selection.createRange().item(0);i=j.createRange();i.setStartBefore(k);i.setEndAfter(k)}if(!i){i=j.createRange?j.createRange():j.body.createTextRange()}if(g.selectedRange&&g.explicitRange){if(i.compareBoundaryPoints(i.START_TO_START,g.selectedRange)===0&&i.compareBoundaryPoints(i.END_TO_END,g.selectedRange)===0){i=g.explicitRange}else{g.selectedRange=null;g.explicitRange=null}}return i},setRng:function(i){var h,g=this;if(!g.tridentSel){h=g.getSel();if(h){g.explicitRange=i;try{h.removeAllRanges()}catch(f){}h.addRange(i);g.selectedRange=h.getRangeAt(0)}}else{if(i.cloneRange){g.tridentSel.addRange(i);return}try{i.select()}catch(f){}}},setNode:function(g){var f=this;f.setContent(f.dom.getOuterHTML(g));return g},getNode:function(){var h=this,g=h.getRng(),i=h.getSel(),l,k=g.startContainer,f=g.endContainer;if(!g){return h.dom.getRoot()}if(g.setStart){l=g.commonAncestorContainer;if(!g.collapsed){if(g.startContainer==g.endContainer){if(g.endOffset-g.startOffset<2){if(g.startContainer.hasChildNodes()){l=g.startContainer.childNodes[g.startOffset]}}}if(k.nodeType===3&&f.nodeType===3){function j(p,m){var o=p;while(p&&p.nodeType===3&&p.length===0){p=m?p.nextSibling:p.previousSibling}return p||o}if(k.length===g.startOffset){k=j(k.nextSibling,true)}else{k=k.parentNode}if(g.endOffset===0){f=j(f.previousSibling,false)}else{f=f.parentNode}if(k&&k===f){return k}}}if(l&&l.nodeType==3){return l.parentNode}return l}return g.item?g.item(0):g.parentElement()},getSelectedBlocks:function(g,f){var i=this,j=i.dom,m,h,l,k=[];m=j.getParent(g||i.getStart(),j.isBlock);h=j.getParent(f||i.getEnd(),j.isBlock);if(m){k.push(m)}if(m&&h&&m!=h){l=m;while((l=l.nextSibling)&&l!=h){if(j.isBlock(l)){k.push(l)}}}if(h&&m!=h){k.push(h)}return k},normalize:function(){var g=this,f,i;if(c.isIE){return}function h(p){var k,o,n,m=g.dom,j=m.getRoot(),l;k=f[(p?"start":"end")+"Container"];o=f[(p?"start":"end")+"Offset"];if(k.nodeType===9){k=k.body;o=0}if(k===j){if(k.hasChildNodes()){k=k.childNodes[Math.min(!p&&o>0?o-1:o,k.childNodes.length-1)];o=0;l=k;n=new c.dom.TreeWalker(k,j);do{if(l.nodeType===3){o=p?0:l.nodeValue.length-1;k=l;break}if(l.nodeName==="BR"){o=m.nodeIndex(l);k=l.parentNode;break}}while(l=(p?n.next():n.prev()));i=true}}if(i){f["set"+(p?"Start":"End")](k,o)}}f=g.getRng();h(true);if(f.collapsed){h()}if(i){g.setRng(f)}},destroy:function(g){var f=this;f.win=null;if(!g){c.removeUnload(f.destroy)}},_fixIESelection:function(){var g=this.dom,m=g.doc,h=m.body,j,n,f;m.documentElement.unselectable=true;function i(o,r){var p=h.createTextRange();try{p.moveToPoint(o,r)}catch(q){p=null}return p}function l(p){var o;if(p.button){o=i(p.x,p.y);if(o){if(o.compareEndPoints("StartToStart",n)>0){o.setEndPoint("StartToStart",n)}else{o.setEndPoint("EndToEnd",n)}o.select()}}else{k()}}function k(){var o=m.selection.createRange();if(n&&!o.item&&o.compareEndPoints("StartToEnd",o)===0){n.select()}g.unbind(m,"mouseup",k);g.unbind(m,"mousemove",l);n=j=0}g.bind(m,["mousedown","contextmenu"],function(o){if(o.target.nodeName==="HTML"){if(j){k()}f=m.documentElement;if(f.scrollHeight>f.clientHeight){return}j=1;n=i(o.x,o.y);if(n){g.bind(m,"mouseup",k);g.bind(m,"mousemove",l);g.win.focus();n.select()}}})}})})(tinymce);(function(a){a.dom.Serializer=function(e,i,f){var h,b,d=a.isIE,g=a.each,c;if(!e.apply_source_formatting){e.indent=false}e.remove_trailing_brs=true;i=i||a.DOM;f=f||new a.html.Schema(e);e.entity_encoding=e.entity_encoding||"named";h=new a.util.Dispatcher(self);b=new a.util.Dispatcher(self);c=new a.html.DomParser(e,f);c.addAttributeFilter("src,href,style",function(k,j){var o=k.length,l,q,n="data-mce-"+j,p=e.url_converter,r=e.url_converter_scope,m;while(o--){l=k[o];q=l.attributes.map[n];if(q!==m){l.attr(j,q.length>0?q:null);l.attr(n,null)}else{q=l.attributes.map[j];if(j==="style"){q=i.serializeStyle(i.parseStyle(q),l.name)}else{if(p){q=p.call(r,q,j,l.name)}}l.attr(j,q.length>0?q:null)}}});c.addAttributeFilter("class",function(j,k){var l=j.length,m,n;while(l--){m=j[l];n=m.attr("class").replace(/\s*mce(Item\w+|Selected)\s*/g,"");m.attr("class",n.length>0?n:null)}});c.addAttributeFilter("data-mce-type",function(j,l,k){var m=j.length,n;while(m--){n=j[m];if(n.attributes.map["data-mce-type"]==="bookmark"&&!k.cleanup){n.remove()}}});c.addNodeFilter("script,style",function(k,l){var m=k.length,n,o;function j(p){return p.replace(/()/g,"\n").replace(/^[\r\n]*|[\r\n]*$/g,"").replace(/^\s*(\/\/\s*|\]\]>|-->|\]\]-->)\s*$/g,"")}while(m--){n=k[m];o=n.firstChild?n.firstChild.value:"";if(l==="script"){n.attr("type",(n.attr("type")||"text/javascript").replace(/^mce\-/,""));if(o.length>0){n.firstChild.value="// "}}else{if(o.length>0){n.firstChild.value=""}}}});c.addNodeFilter("#comment",function(j,k){var l=j.length,m;while(l--){m=j[l];if(m.value.indexOf("[CDATA[")===0){m.name="#cdata";m.type=4;m.value=m.value.replace(/^\[CDATA\[|\]\]$/g,"")}else{if(m.value.indexOf("mce:protected ")===0){m.name="#text";m.type=3;m.raw=true;m.value=unescape(m.value).substr(14)}}}});c.addNodeFilter("xml:namespace,input",function(j,k){var l=j.length,m;while(l--){m=j[l];if(m.type===7){m.remove()}else{if(m.type===1){if(k==="input"&&!("type" in m.attributes.map)){m.attr("type","text")}}}}});if(e.fix_list_elements){c.addNodeFilter("ul,ol",function(k,l){var m=k.length,n,j;while(m--){n=k[m];j=n.parent;if(j.name==="ul"||j.name==="ol"){if(n.prev&&n.prev.name==="li"){n.prev.append(n)}}}})}c.addAttributeFilter("data-mce-src,data-mce-href,data-mce-style",function(j,k){var l=j.length;while(l--){j[l].attr(k,null)}});return{schema:f,addNodeFilter:c.addNodeFilter,addAttributeFilter:c.addAttributeFilter,onPreProcess:h,onPostProcess:b,serialize:function(o,m){var l,p,k,j,n;if(d&&i.select("script,style,select").length>0){n=o.innerHTML;o=o.cloneNode(false);i.setHTML(o,n)}else{o=o.cloneNode(true)}l=o.ownerDocument.implementation;if(l.createHTMLDocument){p=l.createHTMLDocument("");g(o.nodeName=="BODY"?o.childNodes:[o],function(q){p.body.appendChild(p.importNode(q,true))});if(o.nodeName!="BODY"){o=p.body.firstChild}else{o=p.body}k=i.doc;i.doc=p}m=m||{};m.format=m.format||"html";if(!m.no_events){m.node=o;h.dispatch(self,m)}j=new a.html.Serializer(e,f);m.content=j.serialize(c.parse(m.getInner?o.innerHTML:a.trim(i.getOuterHTML(o),m),m));if(!m.cleanup){m.content=m.content.replace(/\uFEFF/g,"")}if(!m.no_events){b.dispatch(self,m)}if(k){i.doc=k}m.node=null;return m.content},addRules:function(j){f.addValidElements(j)},setRules:function(j){f.setValidElements(j)}}}})(tinymce);(function(a){a.dom.ScriptLoader=function(h){var c=0,k=1,i=2,l={},j=[],f={},d=[],g=0,e;function b(m,v){var x=this,q=a.DOM,s,o,r,n;function p(){q.remove(n);if(s){s.onreadystatechange=s.onload=s=null}v()}function u(){if(typeof(console)!=="undefined"&&console.log){console.log("Failed to load: "+m)}}n=q.uniqueId();if(a.isIE6){o=new a.util.URI(m);r=location;if(o.host==r.hostname&&o.port==r.port&&(o.protocol+":")==r.protocol&&o.protocol.toLowerCase()!="file"){a.util.XHR.send({url:a._addVer(o.getURI()),success:function(y){var t=q.create("script",{type:"text/javascript"});t.text=y;document.getElementsByTagName("head")[0].appendChild(t);q.remove(t);p()},error:u});return}}s=q.create("script",{id:n,type:"text/javascript",src:a._addVer(m)});if(!a.isIE){s.onload=p}s.onerror=u;if(!a.isOpera){s.onreadystatechange=function(){var t=s.readyState;if(t=="complete"||t=="loaded"){p()}}}(document.getElementsByTagName("head")[0]||document.body).appendChild(s)}this.isDone=function(m){return l[m]==i};this.markDone=function(m){l[m]=i};this.add=this.load=function(m,q,n){var o,p=l[m];if(p==e){j.push(m);l[m]=c}if(q){if(!f[m]){f[m]=[]}f[m].push({func:q,scope:n||this})}};this.loadQueue=function(n,m){this.loadScripts(j,n,m)};this.loadScripts=function(m,q,p){var o;function n(r){a.each(f[r],function(s){s.func.call(s.scope)});f[r]=e}d.push({func:q,scope:p||this});o=function(){var r=a.grep(m);m.length=0;a.each(r,function(s){if(l[s]==i){n(s);return}if(l[s]!=k){l[s]=k;g++;b(s,function(){l[s]=i;g--;n(s);o()})}});if(!g){a.each(d,function(s){s.func.call(s.scope)});d.length=0}};o()}};a.ScriptLoader=new a.dom.ScriptLoader()})(tinymce);tinymce.dom.TreeWalker=function(a,c){var b=a;function d(i,f,e,j){var h,g;if(i){if(!j&&i[f]){return i[f]}if(i!=c){h=i[e];if(h){return h}for(g=i.parentNode;g&&g!=c;g=g.parentNode){h=g[e];if(h){return h}}}}}this.current=function(){return b};this.next=function(e){return(b=d(b,"firstChild","nextSibling",e))};this.prev=function(e){return(b=d(b,"lastChild","previousSibling",e))}};(function(a){a.dom.RangeUtils=function(c){var b="\uFEFF";this.walk=function(d,r){var h=d.startContainer,k=d.startOffset,s=d.endContainer,l=d.endOffset,i,f,n,g,q,p,e;e=c.select("td.mceSelected,th.mceSelected");if(e.length>0){a.each(e,function(t){r([t])});return}function o(v,u,t){var x=[];for(;v&&v!=t;v=v[u]){x.push(v)}return x}function m(u,t){do{if(u.parentNode==t){return u}u=u.parentNode}while(u)}function j(v,u,x){var t=x?"nextSibling":"previousSibling";for(g=v,q=g.parentNode;g&&g!=u;g=q){q=g.parentNode;p=o(g==v?g:g[t],t);if(p.length){if(!x){p.reverse()}r(p)}}}if(h.nodeType==1&&h.hasChildNodes()){h=h.childNodes[k]}if(s.nodeType==1&&s.hasChildNodes()){s=s.childNodes[Math.min(l-1,s.childNodes.length-1)]}i=c.findCommonAncestor(h,s);if(h==s){return r([h])}for(g=h;g;g=g.parentNode){if(g==s){return j(h,i,true)}if(g==i){break}}for(g=s;g;g=g.parentNode){if(g==h){return j(s,i)}if(g==i){break}}f=m(h,i)||h;n=m(s,i)||s;j(h,f,true);p=o(f==h?f:f.nextSibling,"nextSibling",n==s?n.nextSibling:n);if(p.length){r(p)}j(s,n)}};a.dom.RangeUtils.compareRanges=function(c,b){if(c&&b){if(c.item||c.duplicate){if(c.item&&b.item&&c.item(0)===b.item(0)){return true}if(c.isEqual&&b.isEqual&&b.isEqual(c)){return true}}else{return c.startContainer==b.startContainer&&c.startOffset==b.startOffset}}return false}})(tinymce);(function(b){var a=b.dom.Event,c=b.each;b.create("tinymce.ui.KeyboardNavigation",{KeyboardNavigation:function(e,f){var p=this,m=e.root,l=e.items,n=e.enableUpDown,i=e.enableLeftRight||!e.enableUpDown,k=e.excludeFromTabOrder,j,h,o,d,g;f=f||b.DOM;j=function(q){g=q.target.id};h=function(q){f.setAttrib(q.target.id,"tabindex","-1")};d=function(q){var r=f.get(g);f.setAttrib(r,"tabindex","0");r.focus()};p.focus=function(){f.get(g).focus()};p.destroy=function(){c(l,function(q){f.unbind(f.get(q.id),"focus",j);f.unbind(f.get(q.id),"blur",h)});f.unbind(f.get(m),"focus",d);f.unbind(f.get(m),"keydown",o);l=f=m=p.focus=j=h=o=d=null;p.destroy=function(){}};p.moveFocus=function(u,r){var q=-1,t=p.controls,s;if(!g){return}c(l,function(x,v){if(x.id===g){q=v;return false}});q+=u;if(q<0){q=l.length-1}else{if(q>=l.length){q=0}}s=l[q];f.setAttrib(g,"tabindex","-1");f.setAttrib(s.id,"tabindex","0");f.get(s.id).focus();if(e.actOnFocus){e.onAction(s.id)}if(r){a.cancel(r)}};o=function(y){var u=37,t=39,x=38,z=40,q=27,s=14,r=13,v=32;switch(y.keyCode){case u:if(i){p.moveFocus(-1)}break;case t:if(i){p.moveFocus(1)}break;case x:if(n){p.moveFocus(-1)}break;case z:if(n){p.moveFocus(1)}break;case q:if(e.onCancel){e.onCancel();a.cancel(y)}break;case s:case r:case v:if(e.onAction){e.onAction(g);a.cancel(y)}break}};c(l,function(s,q){var r;if(!s.id){s.id=f.uniqueId("_mce_item_")}if(k){f.bind(s.id,"blur",h);r="-1"}else{r=(q===0?"0":"-1")}f.setAttrib(s.id,"tabindex",r);f.bind(f.get(s.id),"focus",j)});if(l[0]){g=l[0].id}f.setAttrib(m,"tabindex","-1");f.bind(f.get(m),"focus",d);f.bind(f.get(m),"keydown",o)}})})(tinymce);(function(c){var b=c.DOM,a=c.is;c.create("tinymce.ui.Control",{Control:function(f,e,d){this.id=f;this.settings=e=e||{};this.rendered=false;this.onRender=new c.util.Dispatcher(this);this.classPrefix="";this.scope=e.scope||this;this.disabled=0;this.active=0;this.editor=d},setAriaProperty:function(f,e){var d=b.get(this.id+"_aria")||b.get(this.id);if(d){b.setAttrib(d,"aria-"+f,!!e)}},focus:function(){b.get(this.id).focus()},setDisabled:function(d){if(d!=this.disabled){this.setAriaProperty("disabled",d);this.setState("Disabled",d);this.setState("Enabled",!d);this.disabled=d}},isDisabled:function(){return this.disabled},setActive:function(d){if(d!=this.active){this.setState("Active",d);this.active=d;this.setAriaProperty("pressed",d)}},isActive:function(){return this.active},setState:function(f,d){var e=b.get(this.id);f=this.classPrefix+f;if(d){b.addClass(e,f)}else{b.removeClass(e,f)}},isRendered:function(){return this.rendered},renderHTML:function(){},renderTo:function(d){b.setHTML(d,this.renderHTML())},postRender:function(){var e=this,d;if(a(e.disabled)){d=e.disabled;e.disabled=-1;e.setDisabled(d)}if(a(e.active)){d=e.active;e.active=-1;e.setActive(d)}},remove:function(){b.remove(this.id);this.destroy()},destroy:function(){c.dom.Event.clear(this.id)}})})(tinymce);tinymce.create("tinymce.ui.Container:tinymce.ui.Control",{Container:function(c,b,a){this.parent(c,b,a);this.controls=[];this.lookup={}},add:function(a){this.lookup[a.id]=a;this.controls.push(a);return a},get:function(a){return this.lookup[a]}});tinymce.create("tinymce.ui.Separator:tinymce.ui.Control",{Separator:function(b,a){this.parent(b,a);this.classPrefix="mceSeparator";this.setDisabled(true)},renderHTML:function(){return tinymce.DOM.createHTML("span",{"class":this.classPrefix,role:"separator","aria-orientation":"vertical",tabindex:"-1"})}});(function(d){var c=d.is,b=d.DOM,e=d.each,a=d.walk;d.create("tinymce.ui.MenuItem:tinymce.ui.Control",{MenuItem:function(g,f){this.parent(g,f);this.classPrefix="mceMenuItem"},setSelected:function(f){this.setState("Selected",f);this.setAriaProperty("checked",!!f);this.selected=f},isSelected:function(){return this.selected},postRender:function(){var f=this;f.parent();if(c(f.selected)){f.setSelected(f.selected)}}})})(tinymce);(function(d){var c=d.is,b=d.DOM,e=d.each,a=d.walk;d.create("tinymce.ui.Menu:tinymce.ui.MenuItem",{Menu:function(h,g){var f=this;f.parent(h,g);f.items={};f.collapsed=false;f.menuCount=0;f.onAddItem=new d.util.Dispatcher(this)},expand:function(g){var f=this;if(g){a(f,function(h){if(h.expand){h.expand()}},"items",f)}f.collapsed=false},collapse:function(g){var f=this;if(g){a(f,function(h){if(h.collapse){h.collapse()}},"items",f)}f.collapsed=true},isCollapsed:function(){return this.collapsed},add:function(f){if(!f.settings){f=new d.ui.MenuItem(f.id||b.uniqueId(),f)}this.onAddItem.dispatch(this,f);return this.items[f.id]=f},addSeparator:function(){return this.add({separator:true})},addMenu:function(f){if(!f.collapse){f=this.createMenu(f)}this.menuCount++;return this.add(f)},hasMenus:function(){return this.menuCount!==0},remove:function(f){delete this.items[f.id]},removeAll:function(){var f=this;a(f,function(g){if(g.removeAll){g.removeAll()}else{g.remove()}g.destroy()},"items",f);f.items={}},createMenu:function(g){var f=new d.ui.Menu(g.id||b.uniqueId(),g);f.onAddItem.add(this.onAddItem.dispatch,this.onAddItem);return f}})})(tinymce);(function(e){var d=e.is,c=e.DOM,f=e.each,a=e.dom.Event,b=e.dom.Element;e.create("tinymce.ui.DropMenu:tinymce.ui.Menu",{DropMenu:function(h,g){g=g||{};g.container=g.container||c.doc.body;g.offset_x=g.offset_x||0;g.offset_y=g.offset_y||0;g.vp_offset_x=g.vp_offset_x||0;g.vp_offset_y=g.vp_offset_y||0;if(d(g.icons)&&!g.icons){g["class"]+=" mceNoIcons"}this.parent(h,g);this.onShowMenu=new e.util.Dispatcher(this);this.onHideMenu=new e.util.Dispatcher(this);this.classPrefix="mceMenu"},createMenu:function(j){var h=this,i=h.settings,g;j.container=j.container||i.container;j.parent=h;j.constrain=j.constrain||i.constrain;j["class"]=j["class"]||i["class"];j.vp_offset_x=j.vp_offset_x||i.vp_offset_x;j.vp_offset_y=j.vp_offset_y||i.vp_offset_y;j.keyboard_focus=i.keyboard_focus;g=new e.ui.DropMenu(j.id||c.uniqueId(),j);g.onAddItem.add(h.onAddItem.dispatch,h.onAddItem);return g},focus:function(){var g=this;if(g.keyboardNav){g.keyboardNav.focus()}},update:function(){var i=this,j=i.settings,g=c.get("menu_"+i.id+"_tbl"),l=c.get("menu_"+i.id+"_co"),h,k;h=j.max_width?Math.min(g.clientWidth,j.max_width):g.clientWidth;k=j.max_height?Math.min(g.clientHeight,j.max_height):g.clientHeight;if(!c.boxModel){i.element.setStyles({width:h+2,height:k+2})}else{i.element.setStyles({width:h,height:k})}if(j.max_width){c.setStyle(l,"width",h)}if(j.max_height){c.setStyle(l,"height",k);if(g.clientHeightv){p=r?r-u:Math.max(0,(v-A.vp_offset_x)-u)}if((n+A.vp_offset_y+l)>q){n=Math.max(0,(q-A.vp_offset_y)-l)}}c.setStyles(o,{left:p,top:n});z.element.update();z.isMenuVisible=1;z.mouseClickFunc=a.add(o,"click",function(s){var h;s=s.target;if(s&&(s=c.getParent(s,"tr"))&&!c.hasClass(s,m+"ItemSub")){h=z.items[s.id];if(h.isDisabled()){return}k=z;while(k){if(k.hideMenu){k.hideMenu()}k=k.settings.parent}if(h.settings.onclick){h.settings.onclick(s)}return a.cancel(s)}});if(z.hasMenus()){z.mouseOverFunc=a.add(o,"mouseover",function(x){var h,t,s;x=x.target;if(x&&(x=c.getParent(x,"tr"))){h=z.items[x.id];if(z.lastMenu){z.lastMenu.collapse(1)}if(h.isDisabled()){return}if(x&&c.hasClass(x,m+"ItemSub")){t=c.getRect(x);h.showMenu((t.x+t.w-i),t.y-i,t.x);z.lastMenu=h;c.addClass(c.get(h.id).firstChild,m+"ItemActive")}}})}a.add(o,"keydown",z._keyHandler,z);z.onShowMenu.dispatch(z);if(A.keyboard_focus){z._setupKeyboardNav()}},hideMenu:function(j){var g=this,i=c.get("menu_"+g.id),h;if(!g.isMenuVisible){return}if(g.keyboardNav){g.keyboardNav.destroy()}a.remove(i,"mouseover",g.mouseOverFunc);a.remove(i,"click",g.mouseClickFunc);a.remove(i,"keydown",g._keyHandler);c.hide(i);g.isMenuVisible=0;if(!j){g.collapse(1)}if(g.element){g.element.hide()}if(h=c.get(g.id)){c.removeClass(h.firstChild,g.classPrefix+"ItemActive")}g.onHideMenu.dispatch(g)},add:function(i){var g=this,h;i=g.parent(i);if(g.isRendered&&(h=c.get("menu_"+g.id))){g._add(c.select("tbody",h)[0],i)}return i},collapse:function(g){this.parent(g);this.hideMenu(1)},remove:function(g){c.remove(g.id);this.destroy();return this.parent(g)},destroy:function(){var g=this,h=c.get("menu_"+g.id);if(g.keyboardNav){g.keyboardNav.destroy()}a.remove(h,"mouseover",g.mouseOverFunc);a.remove(c.select("a",h),"focus",g.mouseOverFunc);a.remove(h,"click",g.mouseClickFunc);a.remove(h,"keydown",g._keyHandler);if(g.element){g.element.remove()}c.remove(h)},renderNode:function(){var i=this,j=i.settings,l,h,k,g;g=c.create("div",{role:"listbox",id:"menu_"+i.id,"class":j["class"],style:"position:absolute;left:0;top:0;z-index:200000;outline:0"});if(i.settings.parent){c.setAttrib(g,"aria-parent","menu_"+i.settings.parent.id)}k=c.add(g,"div",{role:"presentation",id:"menu_"+i.id+"_co","class":i.classPrefix+(j["class"]?" "+j["class"]:"")});i.element=new b("menu_"+i.id,{blocker:1,container:j.container});if(j.menu_line){c.add(k,"span",{"class":i.classPrefix+"Line"})}l=c.add(k,"table",{role:"presentation",id:"menu_"+i.id+"_tbl",border:0,cellPadding:0,cellSpacing:0});h=c.add(l,"tbody");f(i.items,function(m){i._add(h,m)});i.rendered=true;return g},_setupKeyboardNav:function(){var i,h,g=this;i=c.select("#menu_"+g.id)[0];h=c.select("a[role=option]","menu_"+g.id);h.splice(0,0,i);g.keyboardNav=new e.ui.KeyboardNavigation({root:"menu_"+g.id,items:h,onCancel:function(){g.hideMenu()},enableUpDown:true});i.focus()},_keyHandler:function(g){var h=this,i;switch(g.keyCode){case 37:if(h.settings.parent){h.hideMenu();h.settings.parent.focus();a.cancel(g)}break;case 39:if(h.mouseOverFunc){h.mouseOverFunc(g)}break}},_add:function(j,h){var i,q=h.settings,p,l,k,m=this.classPrefix,g;if(q.separator){l=c.add(j,"tr",{id:h.id,"class":m+"ItemSeparator"});c.add(l,"td",{"class":m+"ItemSeparator"});if(i=l.previousSibling){c.addClass(i,"mceLast")}return}i=l=c.add(j,"tr",{id:h.id,"class":m+"Item "+m+"ItemEnabled"});i=k=c.add(i,q.titleItem?"th":"td");i=p=c.add(i,"a",{id:h.id+"_aria",role:q.titleItem?"presentation":"option",href:"javascript:;",onclick:"return false;",onmousedown:"return false;"});if(q.parent){c.setAttrib(p,"aria-haspopup","true");c.setAttrib(p,"aria-owns","menu_"+h.id)}c.addClass(k,q["class"]);g=c.add(i,"span",{"class":"mceIcon"+(q.icon?" mce_"+q.icon:"")});if(q.icon_src){c.add(g,"img",{src:q.icon_src})}i=c.add(i,q.element||"span",{"class":"mceText",title:h.settings.title},h.settings.title);if(h.settings.style){c.setAttrib(i,"style",h.settings.style)}if(j.childNodes.length==1){c.addClass(l,"mceFirst")}if((i=l.previousSibling)&&c.hasClass(i,m+"ItemSeparator")){c.addClass(l,"mceFirst")}if(h.collapse){c.addClass(l,m+"ItemSub")}if(i=l.previousSibling){c.removeClass(i,"mceLast")}c.addClass(l,"mceLast")}})})(tinymce);(function(b){var a=b.DOM;b.create("tinymce.ui.Button:tinymce.ui.Control",{Button:function(e,d,c){this.parent(e,d,c);this.classPrefix="mceButton"},renderHTML:function(){var f=this.classPrefix,e=this.settings,d,c;c=a.encode(e.label||"");d='';if(e.image&&!(this.editor&&this.editor.forcedHighContrastMode)){d+=''+a.encode(e.title)+''+c}else{d+=''+(c?''+c+"":"")}d+='";d+="";return d},postRender:function(){var c=this,d=c.settings;b.dom.Event.add(c.id,"click",function(f){if(!c.isDisabled()){return d.onclick.call(d.scope,f)}})}})})(tinymce);(function(d){var c=d.DOM,b=d.dom.Event,e=d.each,a=d.util.Dispatcher;d.create("tinymce.ui.ListBox:tinymce.ui.Control",{ListBox:function(i,h,f){var g=this;g.parent(i,h,f);g.items=[];g.onChange=new a(g);g.onPostRender=new a(g);g.onAdd=new a(g);g.onRenderMenu=new d.util.Dispatcher(this);g.classPrefix="mceListBox"},select:function(h){var g=this,j,i;if(h==undefined){return g.selectByIndex(-1)}if(h&&h.call){i=h}else{i=function(f){return f==h}}if(h!=g.selectedValue){e(g.items,function(k,f){if(i(k.value)){j=1;g.selectByIndex(f);return false}});if(!j){g.selectByIndex(-1)}}},selectByIndex:function(f){var g=this,h,i;if(f!=g.selectedIndex){h=c.get(g.id+"_text");i=g.items[f];if(i){g.selectedValue=i.value;g.selectedIndex=f;c.setHTML(h,c.encode(i.title));c.removeClass(h,"mceTitle");c.setAttrib(g.id,"aria-valuenow",i.title)}else{c.setHTML(h,c.encode(g.settings.title));c.addClass(h,"mceTitle");g.selectedValue=g.selectedIndex=null;c.setAttrib(g.id,"aria-valuenow",g.settings.title)}h=0}},add:function(i,f,h){var g=this;h=h||{};h=d.extend(h,{title:i,value:f});g.items.push(h);g.onAdd.dispatch(g,h)},getLength:function(){return this.items.length},renderHTML:function(){var i="",f=this,g=f.settings,j=f.classPrefix;i='';i+="";i+="";i+="";return i},showMenu:function(){var g=this,i,h=c.get(this.id),f;if(g.isDisabled()||g.items.length==0){return}if(g.menu&&g.menu.isMenuVisible){return g.hideMenu()}if(!g.isMenuRendered){g.renderMenu();g.isMenuRendered=true}i=c.getPos(h);f=g.menu;f.settings.offset_x=i.x;f.settings.offset_y=i.y;f.settings.keyboard_focus=!d.isOpera;if(g.oldID){f.items[g.oldID].setSelected(0)}e(g.items,function(j){if(j.value===g.selectedValue){f.items[j.id].setSelected(1);g.oldID=j.id}});f.showMenu(0,h.clientHeight);b.add(c.doc,"mousedown",g.hideMenu,g);c.addClass(g.id,g.classPrefix+"Selected")},hideMenu:function(g){var f=this;if(f.menu&&f.menu.isMenuVisible){c.removeClass(f.id,f.classPrefix+"Selected");if(g&&g.type=="mousedown"&&(g.target.id==f.id+"_text"||g.target.id==f.id+"_open")){return}if(!g||!c.getParent(g.target,".mceMenu")){c.removeClass(f.id,f.classPrefix+"Selected");b.remove(c.doc,"mousedown",f.hideMenu,f);f.menu.hideMenu()}}},renderMenu:function(){var g=this,f;f=g.settings.control_manager.createDropMenu(g.id+"_menu",{menu_line:1,"class":g.classPrefix+"Menu mceNoIcons",max_width:150,max_height:150});f.onHideMenu.add(function(){g.hideMenu();g.focus()});f.add({title:g.settings.title,"class":"mceMenuItemTitle",onclick:function(){if(g.settings.onselect("")!==false){g.select("")}}});e(g.items,function(h){if(h.value===undefined){f.add({title:h.title,"class":"mceMenuItemTitle",onclick:function(){if(g.settings.onselect("")!==false){g.select("")}}})}else{h.id=c.uniqueId();h.onclick=function(){if(g.settings.onselect(h.value)!==false){g.select(h.value)}};f.add(h)}});g.onRenderMenu.dispatch(g,f);g.menu=f},postRender:function(){var f=this,g=f.classPrefix;b.add(f.id,"click",f.showMenu,f);b.add(f.id,"keydown",function(h){if(h.keyCode==32){f.showMenu(h);b.cancel(h)}});b.add(f.id,"focus",function(){if(!f._focused){f.keyDownHandler=b.add(f.id,"keydown",function(h){if(h.keyCode==40){f.showMenu();b.cancel(h)}});f.keyPressHandler=b.add(f.id,"keypress",function(i){var h;if(i.keyCode==13){h=f.selectedValue;f.selectedValue=null;b.cancel(i);f.settings.onselect(h)}})}f._focused=1});b.add(f.id,"blur",function(){b.remove(f.id,"keydown",f.keyDownHandler);b.remove(f.id,"keypress",f.keyPressHandler);f._focused=0});if(d.isIE6||!c.boxModel){b.add(f.id,"mouseover",function(){if(!c.hasClass(f.id,g+"Disabled")){c.addClass(f.id,g+"Hover")}});b.add(f.id,"mouseout",function(){if(!c.hasClass(f.id,g+"Disabled")){c.removeClass(f.id,g+"Hover")}})}f.onPostRender.dispatch(f,c.get(f.id))},destroy:function(){this.parent();b.clear(this.id+"_text");b.clear(this.id+"_open")}})})(tinymce);(function(d){var c=d.DOM,b=d.dom.Event,e=d.each,a=d.util.Dispatcher;d.create("tinymce.ui.NativeListBox:tinymce.ui.ListBox",{NativeListBox:function(g,f){this.parent(g,f);this.classPrefix="mceNativeListBox"},setDisabled:function(f){c.get(this.id).disabled=f;this.setAriaProperty("disabled",f)},isDisabled:function(){return c.get(this.id).disabled},select:function(h){var g=this,j,i;if(h==undefined){return g.selectByIndex(-1)}if(h&&h.call){i=h}else{i=function(f){return f==h}}if(h!=g.selectedValue){e(g.items,function(k,f){if(i(k.value)){j=1;g.selectByIndex(f);return false}});if(!j){g.selectByIndex(-1)}}},selectByIndex:function(f){c.get(this.id).selectedIndex=f+1;this.selectedValue=this.items[f]?this.items[f].value:null},add:function(j,g,f){var i,h=this;f=f||{};f.value=g;if(h.isRendered()){c.add(c.get(this.id),"option",f,j)}i={title:j,value:g,attribs:f};h.items.push(i);h.onAdd.dispatch(h,i)},getLength:function(){return this.items.length},renderHTML:function(){var g,f=this;g=c.createHTML("option",{value:""},"-- "+f.settings.title+" --");e(f.items,function(h){g+=c.createHTML("option",{value:h.value},h.title)});g=c.createHTML("select",{id:f.id,"class":"mceNativeListBox","aria-labelledby":f.id+"_aria"},g);g+=c.createHTML("span",{id:f.id+"_aria",style:"display: none"},f.settings.title);return g},postRender:function(){var g=this,h,i=true;g.rendered=true;function f(k){var j=g.items[k.target.selectedIndex-1];if(j&&(j=j.value)){g.onChange.dispatch(g,j);if(g.settings.onselect){g.settings.onselect(j)}}}b.add(g.id,"change",f);b.add(g.id,"keydown",function(k){var j;b.remove(g.id,"change",h);i=false;j=b.add(g.id,"blur",function(){if(i){return}i=true;b.add(g.id,"change",f);b.remove(g.id,"blur",j)});if(k.keyCode==13||k.keyCode==32){f(k);return b.cancel(k)}});g.onPostRender.dispatch(g,c.get(g.id))}})})(tinymce);(function(c){var b=c.DOM,a=c.dom.Event,d=c.each;c.create("tinymce.ui.MenuButton:tinymce.ui.Button",{MenuButton:function(g,f,e){this.parent(g,f,e);this.onRenderMenu=new c.util.Dispatcher(this);f.menu_container=f.menu_container||b.doc.body},showMenu:function(){var g=this,j,i,h=b.get(g.id),f;if(g.isDisabled()){return}if(!g.isMenuRendered){g.renderMenu();g.isMenuRendered=true}if(g.isMenuVisible){return g.hideMenu()}j=b.getPos(g.settings.menu_container);i=b.getPos(h);f=g.menu;f.settings.offset_x=i.x;f.settings.offset_y=i.y;f.settings.vp_offset_x=i.x;f.settings.vp_offset_y=i.y;f.settings.keyboard_focus=g._focused;f.showMenu(0,h.clientHeight);a.add(b.doc,"mousedown",g.hideMenu,g);g.setState("Selected",1);g.isMenuVisible=1},renderMenu:function(){var f=this,e;e=f.settings.control_manager.createDropMenu(f.id+"_menu",{menu_line:1,"class":this.classPrefix+"Menu",icons:f.settings.icons});e.onHideMenu.add(function(){f.hideMenu();f.focus()});f.onRenderMenu.dispatch(f,e);f.menu=e},hideMenu:function(g){var f=this;if(g&&g.type=="mousedown"&&b.getParent(g.target,function(h){return h.id===f.id||h.id===f.id+"_open"})){return}if(!g||!b.getParent(g.target,".mceMenu")){f.setState("Selected",0);a.remove(b.doc,"mousedown",f.hideMenu,f);if(f.menu){f.menu.hideMenu()}}f.isMenuVisible=0},postRender:function(){var e=this,f=e.settings;a.add(e.id,"click",function(){if(!e.isDisabled()){if(f.onclick){f.onclick(e.value)}e.showMenu()}})}})})(tinymce);(function(c){var b=c.DOM,a=c.dom.Event,d=c.each;c.create("tinymce.ui.SplitButton:tinymce.ui.MenuButton",{SplitButton:function(g,f,e){this.parent(g,f,e);this.classPrefix="mceSplitButton"},renderHTML:function(){var i,f=this,g=f.settings,e;i="";if(g.image){e=b.createHTML("img ",{src:g.image,role:"presentation","class":"mceAction "+g["class"]})}else{e=b.createHTML("span",{"class":"mceAction "+g["class"]},"")}e+=b.createHTML("span",{"class":"mceVoiceLabel mceIconOnly",id:f.id+"_voice",style:"display:none;"},g.title);i+=""+b.createHTML("a",{role:"button",id:f.id+"_action",tabindex:"-1",href:"javascript:;","class":"mceAction "+g["class"],onclick:"return false;",onmousedown:"return false;",title:g.title},e)+"";e=b.createHTML("span",{"class":"mceOpen "+g["class"]},'');i+=""+b.createHTML("a",{role:"button",id:f.id+"_open",tabindex:"-1",href:"javascript:;","class":"mceOpen "+g["class"],onclick:"return false;",onmousedown:"return false;",title:g.title},e)+"";i+="";i=b.createHTML("table",{id:f.id,role:"presentation",tabindex:"0","class":"mceSplitButton mceSplitButtonEnabled "+g["class"],cellpadding:"0",cellspacing:"0",title:g.title},i);return b.createHTML("span",{role:"button","aria-labelledby":f.id+"_voice","aria-haspopup":"true"},i)},postRender:function(){var e=this,g=e.settings,f;if(g.onclick){f=function(h){if(!e.isDisabled()){g.onclick(e.value);a.cancel(h)}};a.add(e.id+"_action","click",f);a.add(e.id,["click","keydown"],function(h){var k=32,m=14,i=13,j=38,l=40;if((h.keyCode===32||h.keyCode===13||h.keyCode===14)&&!h.altKey&&!h.ctrlKey&&!h.metaKey){f();a.cancel(h)}else{if(h.type==="click"||h.keyCode===l){e.showMenu();a.cancel(h)}}})}a.add(e.id+"_open","click",function(h){e.showMenu();a.cancel(h)});a.add([e.id,e.id+"_open"],"focus",function(){e._focused=1});a.add([e.id,e.id+"_open"],"blur",function(){e._focused=0});if(c.isIE6||!b.boxModel){a.add(e.id,"mouseover",function(){if(!b.hasClass(e.id,"mceSplitButtonDisabled")){b.addClass(e.id,"mceSplitButtonHover")}});a.add(e.id,"mouseout",function(){if(!b.hasClass(e.id,"mceSplitButtonDisabled")){b.removeClass(e.id,"mceSplitButtonHover")}})}},destroy:function(){this.parent();a.clear(this.id+"_action");a.clear(this.id+"_open");a.clear(this.id)}})})(tinymce);(function(d){var c=d.DOM,a=d.dom.Event,b=d.is,e=d.each;d.create("tinymce.ui.ColorSplitButton:tinymce.ui.SplitButton",{ColorSplitButton:function(i,h,f){var g=this;g.parent(i,h,f);g.settings=h=d.extend({colors:"000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,008000,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF",grid_width:8,default_color:"#888888"},g.settings);g.onShowMenu=new d.util.Dispatcher(g);g.onHideMenu=new d.util.Dispatcher(g);g.value=h.default_color},showMenu:function(){var f=this,g,j,i,h;if(f.isDisabled()){return}if(!f.isMenuRendered){f.renderMenu();f.isMenuRendered=true}if(f.isMenuVisible){return f.hideMenu()}i=c.get(f.id);c.show(f.id+"_menu");c.addClass(i,"mceSplitButtonSelected");h=c.getPos(i);c.setStyles(f.id+"_menu",{left:h.x,top:h.y+i.clientHeight,zIndex:200000});i=0;a.add(c.doc,"mousedown",f.hideMenu,f);f.onShowMenu.dispatch(f);if(f._focused){f._keyHandler=a.add(f.id+"_menu","keydown",function(k){if(k.keyCode==27){f.hideMenu()}});c.select("a",f.id+"_menu")[0].focus()}f.isMenuVisible=1},hideMenu:function(g){var f=this;if(f.isMenuVisible){if(g&&g.type=="mousedown"&&c.getParent(g.target,function(h){return h.id===f.id+"_open"})){return}if(!g||!c.getParent(g.target,".mceSplitButtonMenu")){c.removeClass(f.id,"mceSplitButtonSelected");a.remove(c.doc,"mousedown",f.hideMenu,f);a.remove(f.id+"_menu","keydown",f._keyHandler);c.hide(f.id+"_menu")}f.isMenuVisible=0}},renderMenu:function(){var p=this,h,k=0,q=p.settings,g,j,l,o,f;o=c.add(q.menu_container,"div",{role:"listbox",id:p.id+"_menu","class":q.menu_class+" "+q["class"],style:"position:absolute;left:0;top:-1000px;"});h=c.add(o,"div",{"class":q["class"]+" mceSplitButtonMenu"});c.add(h,"span",{"class":"mceMenuLine"});g=c.add(h,"table",{role:"presentation","class":"mceColorSplitMenu"});j=c.add(g,"tbody");k=0;e(b(q.colors,"array")?q.colors:q.colors.split(","),function(i){i=i.replace(/^#/,"");if(!k--){l=c.add(j,"tr");k=q.grid_width-1}g=c.add(l,"td");g=c.add(g,"a",{role:"option",href:"javascript:;",style:{backgroundColor:"#"+i},title:p.editor.getLang("colors."+i,i),"data-mce-color":"#"+i});if(p.editor.forcedHighContrastMode){g=c.add(g,"canvas",{width:16,height:16,"aria-hidden":"true"});if(g.getContext&&(f=g.getContext("2d"))){f.fillStyle="#"+i;f.fillRect(0,0,16,16)}else{c.remove(g)}}});if(q.more_colors_func){g=c.add(j,"tr");g=c.add(g,"td",{colspan:q.grid_width,"class":"mceMoreColors"});g=c.add(g,"a",{role:"option",id:p.id+"_more",href:"javascript:;",onclick:"return false;","class":"mceMoreColors"},q.more_colors_title);a.add(g,"click",function(i){q.more_colors_func.call(q.more_colors_scope||this);return a.cancel(i)})}c.addClass(h,"mceColorSplitMenu");new d.ui.KeyboardNavigation({root:p.id+"_menu",items:c.select("a",p.id+"_menu"),onCancel:function(){p.hideMenu();p.focus()}});a.add(p.id+"_menu","mousedown",function(i){return a.cancel(i)});a.add(p.id+"_menu","click",function(i){var m;i=c.getParent(i.target,"a",j);if(i&&i.nodeName.toLowerCase()=="a"&&(m=i.getAttribute("data-mce-color"))){p.setColor(m)}return a.cancel(i)});return o},setColor:function(f){this.displayColor(f);this.hideMenu();this.settings.onselect(f)},displayColor:function(g){var f=this;c.setStyle(f.id+"_preview","backgroundColor",g);f.value=g},postRender:function(){var f=this,g=f.id;f.parent();c.add(g+"_action","div",{id:g+"_preview","class":"mceColorPreview"});c.setStyle(f.id+"_preview","backgroundColor",f.value)},destroy:function(){this.parent();a.clear(this.id+"_menu");a.clear(this.id+"_more");c.remove(this.id+"_menu")}})})(tinymce);(function(b){var d=b.DOM,c=b.each,a=b.dom.Event;b.create("tinymce.ui.ToolbarGroup:tinymce.ui.Container",{renderHTML:function(){var f=this,i=[],e=f.controls,j=b.each,g=f.settings;i.push('
');i.push("");i.push('");j(e,function(h){i.push(h.renderHTML())});i.push("");i.push("
");return i.join("")},focus:function(){this.keyNav.focus()},postRender:function(){var f=this,e=[];c(f.controls,function(g){c(g.controls,function(h){if(h.id){e.push(h)}})});f.keyNav=new b.ui.KeyboardNavigation({root:f.id,items:e,onCancel:function(){f.editor.focus()},excludeFromTabOrder:!f.settings.tab_focus_toolbar})},destroy:function(){var e=this;e.parent();e.keyNav.destroy();a.clear(e.id)}})})(tinymce);(function(a){var c=a.DOM,b=a.each;a.create("tinymce.ui.Toolbar:tinymce.ui.Container",{renderHTML:function(){var m=this,f="",j,k,n=m.settings,e,d,g,l;l=m.controls;for(e=0;e"))}if(d&&k.ListBox){if(d.Button||d.SplitButton){f+=c.createHTML("td",{"class":"mceToolbarEnd"},c.createHTML("span",null,""))}}if(c.stdMode){f+=''+k.renderHTML()+""}else{f+=""+k.renderHTML()+""}if(g&&k.ListBox){if(g.Button||g.SplitButton){f+=c.createHTML("td",{"class":"mceToolbarStart"},c.createHTML("span",null,""))}}}j="mceToolbarEnd";if(k.Button){j+=" mceToolbarEndButton"}else{if(k.SplitButton){j+=" mceToolbarEndSplitButton"}else{if(k.ListBox){j+=" mceToolbarEndListBox"}}}f+=c.createHTML("td",{"class":j},c.createHTML("span",null,""));return c.createHTML("table",{id:m.id,"class":"mceToolbar"+(n["class"]?" "+n["class"]:""),cellpadding:"0",cellspacing:"0",align:m.settings.align||"",role:"presentation",tabindex:"-1"},""+f+"")}})})(tinymce);(function(b){var a=b.util.Dispatcher,c=b.each;b.create("tinymce.AddOnManager",{AddOnManager:function(){var d=this;d.items=[];d.urls={};d.lookup={};d.onAdd=new a(d)},get:function(d){if(this.lookup[d]){return this.lookup[d].instance}else{return undefined}},dependencies:function(e){var d;if(this.lookup[e]){d=this.lookup[e].dependencies}return d||[]},requireLangPack:function(e){var d=b.settings;if(d&&d.language&&d.language_load!==false){b.ScriptLoader.add(this.urls[e]+"/langs/"+d.language+".js")}},add:function(f,e,d){this.items.push(e);this.lookup[f]={instance:e,dependencies:d};this.onAdd.dispatch(this,f,e);return e},createUrl:function(d,e){if(typeof e==="object"){return e}else{return{prefix:d.prefix,resource:e,suffix:d.suffix}}},addComponents:function(f,d){var e=this.urls[f];b.each(d,function(g){b.ScriptLoader.add(e+"/"+g)})},load:function(j,f,d,h){var g=this,e=f;function i(){var k=g.dependencies(j);b.each(k,function(m){var l=g.createUrl(f,m);g.load(l.resource,l,undefined,undefined)});if(d){if(h){d.call(h)}else{d.call(b.ScriptLoader)}}}if(g.urls[j]){return}if(typeof f==="object"){e=f.prefix+f.resource+f.suffix}if(e.indexOf("/")!=0&&e.indexOf("://")==-1){e=b.baseURL+"/"+e}g.urls[j]=e.substring(0,e.lastIndexOf("/"));if(g.lookup[j]){i()}else{b.ScriptLoader.add(e,i,h)}}});b.PluginManager=new b.AddOnManager();b.ThemeManager=new b.AddOnManager()}(tinymce));(function(j){var g=j.each,d=j.extend,k=j.DOM,i=j.dom.Event,f=j.ThemeManager,b=j.PluginManager,e=j.explode,h=j.util.Dispatcher,a,c=0;j.documentBaseURL=window.location.href.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,"");if(!/[\/\\]$/.test(j.documentBaseURL)){j.documentBaseURL+="/"}j.baseURL=new j.util.URI(j.documentBaseURL).toAbsolute(j.baseURL);j.baseURI=new j.util.URI(j.baseURL);j.onBeforeUnload=new h(j);i.add(window,"beforeunload",function(l){j.onBeforeUnload.dispatch(j,l)});j.onAddEditor=new h(j);j.onRemoveEditor=new h(j);j.EditorManager=d(j,{editors:[],i18n:{},activeEditor:null,init:function(q){var n=this,p,l=j.ScriptLoader,u,o=[],m;function r(x,y,t){var v=x[y];if(!v){return}if(j.is(v,"string")){t=v.replace(/\.\w+$/,"");t=t?j.resolve(t):0;v=j.resolve(v)}return v.apply(t||this,Array.prototype.slice.call(arguments,2))}q=d({theme:"simple",language:"en"},q);n.settings=q;i.add(document,"init",function(){var s,v;r(q,"onpageload");switch(q.mode){case"exact":s=q.elements||"";if(s.length>0){g(e(s),function(x){if(k.get(x)){m=new j.Editor(x,q);o.push(m);m.render(1)}else{g(document.forms,function(y){g(y.elements,function(z){if(z.name===x){x="mce_editor_"+c++;k.setAttrib(z,"id",x);m=new j.Editor(x,q);o.push(m);m.render(1)}})})}})}break;case"textareas":case"specific_textareas":function t(y,x){return x.constructor===RegExp?x.test(y.className):k.hasClass(y,x)}g(k.select("textarea"),function(x){if(q.editor_deselector&&t(x,q.editor_deselector)){return}if(!q.editor_selector||t(x,q.editor_selector)){u=k.get(x.name);if(!x.id&&!u){x.id=x.name}if(!x.id||n.get(x.id)){x.id=k.uniqueId()}m=new j.Editor(x.id,q);o.push(m);m.render(1)}});break}if(q.oninit){s=v=0;g(o,function(x){v++;if(!x.initialized){x.onInit.add(function(){s++;if(s==v){r(q,"oninit")}})}else{s++}if(s==v){r(q,"oninit")}})}})},get:function(l){if(l===a){return this.editors}return this.editors[l]},getInstanceById:function(l){return this.get(l)},add:function(m){var l=this,n=l.editors;n[m.id]=m;n.push(m);l._setActive(m);l.onAddEditor.dispatch(l,m);return m},remove:function(n){var m=this,l,o=m.editors;if(!o[n.id]){return null}delete o[n.id];for(l=0;l':"",visual_table_class:"mceItemTable",visual:1,font_size_style_values:"xx-small,x-small,small,medium,large,x-large,xx-large",apply_source_formatting:1,directionality:"ltr",forced_root_block:"p",hidden_input:1,padd_empty_editor:1,render_ui:1,init_theme:1,force_p_newlines:1,indentation:"30px",keep_styles:1,fix_table_elements:1,inline_styles:1,convert_fonts_to_spans:true,indent:"simple",indent_before:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,li,area,table,thead,tfoot,tbody,tr",indent_after:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,li,area,table,thead,tfoot,tbody,tr",validate:true,entity_encoding:"named",url_converter:p.convertURL,url_converter_scope:p,ie7_compat:true},q);p.documentBaseURI=new m.util.URI(q.document_base_url||m.documentBaseURL,{base_uri:tinyMCE.baseURI});p.baseURI=m.baseURI;p.contentCSS=[];p.execCallback("setup",p)},render:function(r){var u=this,v=u.settings,x=u.id,p=m.ScriptLoader;if(!j.domLoaded){j.add(document,"init",function(){u.render()});return}tinyMCE.settings=v;if(!u.getElement()){return}if(m.isIDevice&&!m.isIOS5){return}if(!/TEXTAREA|INPUT/i.test(u.getElement().nodeName)&&v.hidden_input&&n.getParent(x,"form")){n.insertAfter(n.create("input",{type:"hidden",name:x}),x)}if(m.WindowManager){u.windowManager=new m.WindowManager(u)}if(v.encoding=="xml"){u.onGetContent.add(function(s,t){if(t.save){t.content=n.encode(t.content)}})}if(v.add_form_submit_trigger){u.onSubmit.addToTop(function(){if(u.initialized){u.save();u.isNotDirty=1}})}if(v.add_unload_trigger){u._beforeUnload=tinyMCE.onBeforeUnload.add(function(){if(u.initialized&&!u.destroyed&&!u.isHidden()){u.save({format:"raw",no_events:true})}})}m.addUnload(u.destroy,u);if(v.submit_patch){u.onBeforeRenderUI.add(function(){var s=u.getElement().form;if(!s){return}if(s._mceOldSubmit){return}if(!s.submit.nodeType&&!s.submit.length){u.formElement=s;s._mceOldSubmit=s.submit;s.submit=function(){m.triggerSave();u.isNotDirty=1;return u.formElement._mceOldSubmit(u.formElement)}}s=null})}function q(){if(v.language&&v.language_load!==false){p.add(m.baseURL+"/langs/"+v.language+".js")}if(v.theme&&v.theme.charAt(0)!="-"&&!h.urls[v.theme]){h.load(v.theme,"themes/"+v.theme+"/editor_template"+m.suffix+".js")}i(g(v.plugins),function(t){if(t&&!c.urls[t]){if(t.charAt(0)=="-"){t=t.substr(1,t.length);var s=c.dependencies(t);i(s,function(z){var y={prefix:"plugins/",resource:z,suffix:"/editor_plugin"+m.suffix+".js"};var z=c.createUrl(y,z);c.load(z.resource,z)})}else{if(t=="safari"){return}c.load(t,{prefix:"plugins/",resource:t,suffix:"/editor_plugin"+m.suffix+".js"})}}});p.loadQueue(function(){if(!u.removed){u.init()}})}q()},init:function(){var r,H=this,I=H.settings,E,A,D=H.getElement(),q,p,F,y,C,G,z,v=[];m.add(H);I.aria_label=I.aria_label||n.getAttrib(D,"aria-label",H.getLang("aria.rich_text_area"));if(I.theme){I.theme=I.theme.replace(/-/,"");q=h.get(I.theme);H.theme=new q();if(H.theme.init&&I.init_theme){H.theme.init(H,h.urls[I.theme]||m.documentBaseURL.replace(/\/$/,""))}}function B(J){var K=c.get(J),t=c.urls[J]||m.documentBaseURL.replace(/\/$/,""),s;if(K&&m.inArray(v,J)===-1){i(c.dependencies(J),function(u){B(u)});s=new K(H,t);H.plugins[J]=s;if(s.init){s.init(H,t);v.push(J)}}}i(g(I.plugins.replace(/\-/g,"")),B);if(I.popup_css!==false){if(I.popup_css){I.popup_css=H.documentBaseURI.toAbsolute(I.popup_css)}else{I.popup_css=H.baseURI.toAbsolute("themes/"+I.theme+"/skins/"+I.skin+"/dialog.css")}}if(I.popup_css_add){I.popup_css+=","+H.documentBaseURI.toAbsolute(I.popup_css_add)}H.controlManager=new m.ControlManager(H);if(I.custom_undo_redo){H.onBeforeExecCommand.add(function(t,J,u,K,s){if(J!="Undo"&&J!="Redo"&&J!="mceRepaint"&&(!s||!s.skip_undo)){H.undoManager.beforeChange()}});H.onExecCommand.add(function(t,J,u,K,s){if(J!="Undo"&&J!="Redo"&&J!="mceRepaint"&&(!s||!s.skip_undo)){H.undoManager.add()}})}H.onExecCommand.add(function(s,t){if(!/^(FontName|FontSize)$/.test(t)){H.nodeChanged()}});if(a){function x(s,t){if(!t||!t.initial){H.execCommand("mceRepaint")}}H.onUndo.add(x);H.onRedo.add(x);H.onSetContent.add(x)}H.onBeforeRenderUI.dispatch(H,H.controlManager);if(I.render_ui){E=I.width||D.style.width||D.offsetWidth;A=I.height||D.style.height||D.offsetHeight;H.orgDisplay=D.style.display;G=/^[0-9\.]+(|px)$/i;if(G.test(""+E)){E=Math.max(parseInt(E)+(q.deltaWidth||0),100)}if(G.test(""+A)){A=Math.max(parseInt(A)+(q.deltaHeight||0),100)}q=H.theme.renderUI({targetNode:D,width:E,height:A,deltaWidth:I.delta_width,deltaHeight:I.delta_height});H.editorContainer=q.editorContainer}if(document.domain&&location.hostname!=document.domain){m.relaxedDomain=document.domain}n.setStyles(q.sizeContainer||q.editorContainer,{width:E,height:A});if(I.content_css){m.each(g(I.content_css),function(s){H.contentCSS.push(H.documentBaseURI.toAbsolute(s))})}A=(q.iframeHeight||A)+(typeof(A)=="number"?(q.deltaHeight||0):"");if(A<100){A=100}H.iframeHTML=I.doctype+'';if(I.document_base_url!=m.documentBaseURL){H.iframeHTML+=''}if(I.ie7_compat){H.iframeHTML+=''}else{H.iframeHTML+=''}H.iframeHTML+='';if(!a||!/Firefox\/2/.test(navigator.userAgent)){for(z=0;z'}H.contentCSS=[]}y=I.body_id||"tinymce";if(y.indexOf("=")!=-1){y=H.getParam("body_id","","hash");y=y[H.id]||y}C=I.body_class||"";if(C.indexOf("=")!=-1){C=H.getParam("body_class","","hash");C=C[H.id]||""}H.iframeHTML+='';if(m.relaxedDomain&&(b||(m.isOpera&&parseFloat(opera.version())<11))){F='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinyMCE.get("'+H.id+'");document.write(ed.iframeHTML);document.close();ed.setupIframe();})()'}r=n.add(q.iframeContainer,"iframe",{id:H.id+"_ifr",src:F||'javascript:""',frameBorder:"0",allowTransparency:"true",title:I.aria_label,style:{width:"100%",height:A}});H.contentAreaContainer=q.iframeContainer;n.get(q.editorContainer).style.display=H.orgDisplay;n.get(H.id).style.display="none";n.setAttrib(H.id,"aria-hidden",true);if(!m.relaxedDomain||!F){H.setupIframe()}D=r=q=null},setupIframe:function(x){var q=this,v=q.settings,y=n.get(q.id),z=q.getDoc(),u,p;if((!b||!m.relaxedDomain)&&!x){if(a&&!v.readonly){q.getWin().addEventListener("DOMContentLoaded",function(){window.setTimeout(function(){var s=q.getBody(),t;s.innerHTML="
";if(s.contentEditable!==t){s.contentEditable=false;s.contentEditable=true;q.onMouseDown.add(function(A,B){if(B.target.nodeName==="HTML"){s.contentEditable=false;s.contentEditable=true;z.designMode="on";window.setTimeout(function(){z.designMode="off";q.getBody().focus()},1)}})}else{z.designMode="on"}q.setupIframe(true)},1)},false)}z.open();z.write(q.iframeHTML);z.close();if(m.relaxedDomain){z.domain=m.relaxedDomain}if(a&&!v.readonly){return}}p=q.getBody();p.disabled=true;if(!a&&!v.readonly){p.contentEditable=true}p.disabled=false;q.schema=new m.html.Schema(v);q.dom=new m.dom.DOMUtils(q.getDoc(),{keep_values:true,url_converter:q.convertURL,url_converter_scope:q,hex_colors:v.force_hex_style_colors,class_filter:v.class_filter,update_styles:1,fix_ie_paragraphs:1,schema:q.schema});q.parser=new m.html.DomParser(v,q.schema);if(!q.settings.allow_html_in_named_anchor){q.parser.addAttributeFilter("name",function(s,t){var B=s.length,D,A,C,E;while(B--){E=s[B];if(E.name==="a"&&E.firstChild){C=E.parent;D=E.lastChild;do{A=D.prev;C.insert(D,E);D=A}while(D)}}})}q.parser.addAttributeFilter("src,href,style",function(s,t){var A=s.length,C,E=q.dom,D,B;while(A--){C=s[A];D=C.attr(t);B="data-mce-"+t;if(!C.attributes.map[B]){if(t==="style"){C.attr(B,E.serializeStyle(E.parseStyle(D),C.name))}else{C.attr(B,q.convertURL(D,t,C.name))}}}});q.parser.addNodeFilter("script",function(s,t){var A=s.length;while(A--){s[A].attr("type","mce-text/javascript")}});q.parser.addNodeFilter("#cdata",function(s,t){var A=s.length,B;while(A--){B=s[A];B.type=8;B.name="#comment";B.value="[CDATA["+B.value+"]]"}});q.parser.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",function(t,A){var B=t.length,C,s=q.schema.getNonEmptyElements();while(B--){C=t[B];if(C.isEmpty(s)){C.empty().append(new m.html.Node("br",1)).shortEnded=true}}});q.serializer=new m.dom.Serializer(v,q.dom,q.schema);q.selection=new m.dom.Selection(q.dom,q.getWin(),q.serializer);q.formatter=new m.Formatter(this);q.formatter.register({alignleft:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"left"}},{selector:"img,table",collapsed:false,styles:{"float":"left"}}],aligncenter:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"center"}},{selector:"img",collapsed:false,styles:{display:"block",marginLeft:"auto",marginRight:"auto"}},{selector:"table",collapsed:false,styles:{marginLeft:"auto",marginRight:"auto"}}],alignright:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"right"}},{selector:"img,table",collapsed:false,styles:{"float":"right"}}],alignfull:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"justify"}}],bold:[{inline:"strong",remove:"all"},{inline:"span",styles:{fontWeight:"bold"}},{inline:"b",remove:"all"}],italic:[{inline:"em",remove:"all"},{inline:"span",styles:{fontStyle:"italic"}},{inline:"i",remove:"all"}],underline:[{inline:"span",styles:{textDecoration:"underline"},exact:true},{inline:"u",remove:"all"}],strikethrough:[{inline:"span",styles:{textDecoration:"line-through"},exact:true},{inline:"strike",remove:"all"}],forecolor:{inline:"span",styles:{color:"%value"},wrap_links:false},hilitecolor:{inline:"span",styles:{backgroundColor:"%value"},wrap_links:false},fontname:{inline:"span",styles:{fontFamily:"%value"}},fontsize:{inline:"span",styles:{fontSize:"%value"}},fontsize_class:{inline:"span",attributes:{"class":"%value"}},blockquote:{block:"blockquote",wrapper:1,remove:"all"},subscript:{inline:"sub"},superscript:{inline:"sup"},removeformat:[{selector:"b,strong,em,i,font,u,strike",remove:"all",split:true,expand:false,block_expand:true,deep:true},{selector:"span",attributes:["style","class"],remove:"empty",split:true,expand:false,deep:true},{selector:"*",attributes:["style","class"],split:false,expand:false,deep:true}]});i("p h1 h2 h3 h4 h5 h6 div address pre div code dt dd samp".split(/\s/),function(s){q.formatter.register(s,{block:s,remove:"all"})});q.formatter.register(q.settings.formats);q.undoManager=new m.UndoManager(q);q.undoManager.onAdd.add(function(t,s){if(t.hasUndo()){return q.onChange.dispatch(q,s,t)}});q.undoManager.onUndo.add(function(t,s){return q.onUndo.dispatch(q,s,t)});q.undoManager.onRedo.add(function(t,s){return q.onRedo.dispatch(q,s,t)});q.forceBlocks=new m.ForceBlocks(q,{forced_root_block:v.forced_root_block});q.editorCommands=new m.EditorCommands(q);q.serializer.onPreProcess.add(function(s,t){return q.onPreProcess.dispatch(q,t,s)});q.serializer.onPostProcess.add(function(s,t){return q.onPostProcess.dispatch(q,t,s)});q.onPreInit.dispatch(q);if(!v.gecko_spellcheck){q.getBody().spellcheck=0}if(!v.readonly){q._addEvents()}q.controlManager.onPostRender.dispatch(q,q.controlManager);q.onPostRender.dispatch(q);q.quirks=new m.util.Quirks(this);if(v.directionality){q.getBody().dir=v.directionality}if(v.nowrap){q.getBody().style.whiteSpace="nowrap"}if(v.handle_node_change_callback){q.onNodeChange.add(function(t,s,A){q.execCallback("handle_node_change_callback",q.id,A,-1,-1,true,q.selection.isCollapsed())})}if(v.save_callback){q.onSaveContent.add(function(s,A){var t=q.execCallback("save_callback",q.id,A.content,q.getBody());if(t){A.content=t}})}if(v.onchange_callback){q.onChange.add(function(t,s){q.execCallback("onchange_callback",q,s)})}if(v.protect){q.onBeforeSetContent.add(function(s,t){if(v.protect){i(v.protect,function(A){t.content=t.content.replace(A,function(B){return""})})}})}if(v.convert_newlines_to_brs){q.onBeforeSetContent.add(function(s,t){if(t.initial){t.content=t.content.replace(/\r?\n/g,"
")}})}if(v.preformatted){q.onPostProcess.add(function(s,t){t.content=t.content.replace(/^\s*/,"");t.content=t.content.replace(/<\/pre>\s*$/,"");if(t.set){t.content='
'+t.content+"
"}})}if(v.verify_css_classes){q.serializer.attribValueFilter=function(C,A){var B,t;if(C=="class"){if(!q.classesRE){t=q.dom.getClasses();if(t.length>0){B="";i(t,function(s){B+=(B?"|":"")+s["class"]});q.classesRE=new RegExp("("+B+")","gi")}}return !q.classesRE||/(\bmceItem\w+\b|\bmceTemp\w+\b)/g.test(A)||q.classesRE.test(A)?A:""}return A}}if(v.cleanup_callback){q.onBeforeSetContent.add(function(s,t){t.content=q.execCallback("cleanup_callback","insert_to_editor",t.content,t)});q.onPreProcess.add(function(s,t){if(t.set){q.execCallback("cleanup_callback","insert_to_editor_dom",t.node,t)}if(t.get){q.execCallback("cleanup_callback","get_from_editor_dom",t.node,t)}});q.onPostProcess.add(function(s,t){if(t.set){t.content=q.execCallback("cleanup_callback","insert_to_editor",t.content,t)}if(t.get){t.content=q.execCallback("cleanup_callback","get_from_editor",t.content,t)}})}if(v.save_callback){q.onGetContent.add(function(s,t){if(t.save){t.content=q.execCallback("save_callback",q.id,t.content,q.getBody())}})}if(v.handle_event_callback){q.onEvent.add(function(s,t,A){if(q.execCallback("handle_event_callback",t,s,A)===false){j.cancel(t)}})}q.onSetContent.add(function(){q.addVisual(q.getBody())});if(v.padd_empty_editor){q.onPostProcess.add(function(s,t){t.content=t.content.replace(/^(]*>( | |\s|\u00a0|)<\/p>[\r\n]*|
[\r\n]*)$/,"")})}if(a){function r(s,t){i(s.dom.select("a"),function(B){var A=B.parentNode;if(s.dom.isBlock(A)&&A.lastChild===B){s.dom.add(A,"br",{"data-mce-bogus":1})}})}q.onExecCommand.add(function(s,t){if(t==="CreateLink"){r(s)}});q.onSetContent.add(q.selection.onSetContent.add(r))}q.load({initial:true,format:"html"});q.startContent=q.getContent({format:"raw"});q.undoManager.add();q.initialized=true;q.onInit.dispatch(q);q.execCallback("setupcontent_callback",q.id,q.getBody(),q.getDoc());q.execCallback("init_instance_callback",q);q.focus(true);q.nodeChanged({initial:1});i(q.contentCSS,function(s){q.dom.loadCSS(s)});if(v.auto_focus){setTimeout(function(){var s=m.get(v.auto_focus);s.selection.select(s.getBody(),1);s.selection.collapse(1);s.getBody().focus();s.getWin().focus()},100)}y=null},focus:function(u){var y,q=this,s=q.selection,x=q.settings.content_editable,r,p,v=q.getDoc();if(!u){r=s.getRng();if(r.item){p=r.item(0)}s.normalize();if(!x){q.getWin().focus()}if(m.isGecko){q.getBody().focus()}if(p&&p.ownerDocument==v){r=v.body.createControlRange();r.addElement(p);r.select()}}if(m.activeEditor!=q){if((y=m.activeEditor)!=null){y.onDeactivate.dispatch(y,q)}q.onActivate.dispatch(q,y)}m._setActive(q)},execCallback:function(u){var p=this,r=p.settings[u],q;if(!r){return}if(p.callbackLookup&&(q=p.callbackLookup[u])){r=q.func;q=q.scope}if(d(r,"string")){q=r.replace(/\.\w+$/,"");q=q?m.resolve(q):0;r=m.resolve(r);p.callbackLookup=p.callbackLookup||{};p.callbackLookup[u]={func:r,scope:q}}return r.apply(q||p,Array.prototype.slice.call(arguments,1))},translate:function(p){var r=this.settings.language||"en",q=m.i18n;if(!p){return""}return q[r+"."+p]||p.replace(/{\#([^}]+)\}/g,function(t,s){return q[r+"."+s]||"{#"+s+"}"})},getLang:function(q,p){return m.i18n[(this.settings.language||"en")+"."+q]||(d(p)?p:"{#"+q+"}")},getParam:function(u,r,p){var s=m.trim,q=d(this.settings[u])?this.settings[u]:r,t;if(p==="hash"){t={};if(d(q,"string")){i(q.indexOf("=")>0?q.split(/[;,](?![^=;,]*(?:[;,]|$))/):q.split(","),function(x){x=x.split("=");if(x.length>1){t[s(x[0])]=s(x[1])}else{t[s(x[0])]=s(x)}})}else{t=q}return t}return q},nodeChanged:function(r){var p=this,q=p.selection,u=q.getStart()||p.getBody();if(p.initialized){r=r||{};u=b&&u.ownerDocument!=p.getDoc()?p.getBody():u;r.parents=[];p.dom.getParent(u,function(s){if(s.nodeName=="BODY"){return true}r.parents.push(s)});p.onNodeChange.dispatch(p,r?r.controlManager||p.controlManager:p.controlManager,u,q.isCollapsed(),r)}},addButton:function(r,q){var p=this;p.buttons=p.buttons||{};p.buttons[r]=q},addCommand:function(p,r,q){this.execCommands[p]={func:r,scope:q||this}},addQueryStateHandler:function(p,r,q){this.queryStateCommands[p]={func:r,scope:q||this}},addQueryValueHandler:function(p,r,q){this.queryValueCommands[p]={func:r,scope:q||this}},addShortcut:function(r,u,p,s){var q=this,v;if(!q.settings.custom_shortcuts){return false}q.shortcuts=q.shortcuts||{};if(d(p,"string")){v=p;p=function(){q.execCommand(v,false,null)}}if(d(p,"object")){v=p;p=function(){q.execCommand(v[0],v[1],v[2])}}i(g(r),function(t){var x={func:p,scope:s||this,desc:u,alt:false,ctrl:false,shift:false};i(g(t,"+"),function(y){switch(y){case"alt":case"ctrl":case"shift":x[y]=true;break;default:x.charCode=y.charCodeAt(0);x.keyCode=y.toUpperCase().charCodeAt(0)}});q.shortcuts[(x.ctrl?"ctrl":"")+","+(x.alt?"alt":"")+","+(x.shift?"shift":"")+","+x.keyCode]=x});return true},execCommand:function(x,v,z,p){var r=this,u=0,y,q;if(!/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint|SelectAll)$/.test(x)&&(!p||!p.skip_focus)){r.focus()}y={};r.onBeforeExecCommand.dispatch(r,x,v,z,y);if(y.terminate){return false}if(r.execCallback("execcommand_callback",r.id,r.selection.getNode(),x,v,z)){r.onExecCommand.dispatch(r,x,v,z,p);return true}if(y=r.execCommands[x]){q=y.func.call(y.scope,v,z);if(q!==true){r.onExecCommand.dispatch(r,x,v,z,p);return q}}i(r.plugins,function(s){if(s.execCommand&&s.execCommand(x,v,z)){r.onExecCommand.dispatch(r,x,v,z,p);u=1;return false}});if(u){return true}if(r.theme&&r.theme.execCommand&&r.theme.execCommand(x,v,z)){r.onExecCommand.dispatch(r,x,v,z,p);return true}if(r.editorCommands.execCommand(x,v,z)){r.onExecCommand.dispatch(r,x,v,z,p);return true}r.getDoc().execCommand(x,v,z);r.onExecCommand.dispatch(r,x,v,z,p)},queryCommandState:function(u){var q=this,v,r;if(q._isHidden()){return}if(v=q.queryStateCommands[u]){r=v.func.call(v.scope);if(r!==true){return r}}v=q.editorCommands.queryCommandState(u);if(v!==-1){return v}try{return this.getDoc().queryCommandState(u)}catch(p){}},queryCommandValue:function(v){var q=this,u,r;if(q._isHidden()){return}if(u=q.queryValueCommands[v]){r=u.func.call(u.scope);if(r!==true){return r}}u=q.editorCommands.queryCommandValue(v);if(d(u)){return u}try{return this.getDoc().queryCommandValue(v)}catch(p){}},show:function(){var p=this;n.show(p.getContainer());n.hide(p.id);p.load()},hide:function(){var p=this,q=p.getDoc();if(b&&q){q.execCommand("SelectAll")}p.save();n.hide(p.getContainer());n.setStyle(p.id,"display",p.orgDisplay)},isHidden:function(){return !n.isHidden(this.id)},setProgressState:function(p,q,r){this.onSetProgressState.dispatch(this,p,q,r);return p},load:function(s){var p=this,r=p.getElement(),q;if(r){s=s||{};s.load=true;q=p.setContent(d(r.value)?r.value:r.innerHTML,s);s.element=r;if(!s.no_events){p.onLoadContent.dispatch(p,s)}s.element=r=null;return q}},save:function(u){var p=this,s=p.getElement(),q,r;if(!s||!p.initialized){return}u=u||{};u.save=true;if(!u.no_events){p.undoManager.typing=false;p.undoManager.add()}u.element=s;q=u.content=p.getContent(u);if(!u.no_events){p.onSaveContent.dispatch(p,u)}q=u.content;if(!/TEXTAREA|INPUT/i.test(s.nodeName)){s.innerHTML=q;if(r=n.getParent(p.id,"form")){i(r.elements,function(t){if(t.name==p.id){t.value=q;return false}})}}else{s.value=q}u.element=s=null;return q},setContent:function(u,s){var r=this,q,p=r.getBody(),t;s=s||{};s.format=s.format||"html";s.set=true;s.content=u;if(!s.no_events){r.onBeforeSetContent.dispatch(r,s)}u=s.content;if(!m.isIE&&(u.length===0||/^\s+$/.test(u))){t=r.settings.forced_root_block;if(t){u="<"+t+'>
"}else{u='
'}p.innerHTML=u;r.selection.select(p,true);r.selection.collapse(true);return}if(s.format!=="raw"){u=new m.html.Serializer({},r.schema).serialize(r.parser.parse(u))}s.content=m.trim(u);r.dom.setHTML(p,s.content);if(!s.no_events){r.onSetContent.dispatch(r,s)}r.selection.normalize();return s.content},getContent:function(q){var p=this,r;q=q||{};q.format=q.format||"html";q.get=true;if(!q.no_events){p.onBeforeGetContent.dispatch(p,q)}if(q.format=="raw"){r=p.getBody().innerHTML}else{r=p.serializer.serialize(p.getBody(),q)}q.content=m.trim(r);if(!q.no_events){p.onGetContent.dispatch(p,q)}return q.content},isDirty:function(){var p=this;return m.trim(p.startContent)!=m.trim(p.getContent({format:"raw",no_events:1}))&&!p.isNotDirty},getContainer:function(){var p=this;if(!p.container){p.container=n.get(p.editorContainer||p.id+"_parent")}return p.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return n.get(this.settings.content_element||this.id)},getWin:function(){var p=this,q;if(!p.contentWindow){q=n.get(p.id+"_ifr");if(q){p.contentWindow=q.contentWindow}}return p.contentWindow},getDoc:function(){var q=this,p;if(!q.contentDocument){p=q.getWin();if(p){q.contentDocument=p.document}}return q.contentDocument},getBody:function(){return this.bodyElement||this.getDoc().body},convertURL:function(p,x,v){var q=this,r=q.settings;if(r.urlconverter_callback){return q.execCallback("urlconverter_callback",p,v,true,x)}if(!r.convert_urls||(v&&v.nodeName=="LINK")||p.indexOf("file:")===0){return p}if(r.relative_urls){return q.documentBaseURI.toRelative(p)}p=q.documentBaseURI.toAbsolute(p,r.remove_script_host);return p},addVisual:function(r){var p=this,q=p.settings;r=r||p.getBody();if(!d(p.hasVisual)){p.hasVisual=q.visual}i(p.dom.select("table,a",r),function(t){var s;switch(t.nodeName){case"TABLE":s=p.dom.getAttrib(t,"border");if(!s||s=="0"){if(p.hasVisual){p.dom.addClass(t,q.visual_table_class)}else{p.dom.removeClass(t,q.visual_table_class)}}return;case"A":s=p.dom.getAttrib(t,"name");if(s){if(p.hasVisual){p.dom.addClass(t,"mceItemAnchor")}else{p.dom.removeClass(t,"mceItemAnchor")}}return}});p.onVisualAid.dispatch(p,r,p.hasVisual)},remove:function(){var p=this,q=p.getContainer();p.removed=1;p.hide();p.execCallback("remove_instance_callback",p);p.onRemove.dispatch(p);p.onExecCommand.listeners=[];m.remove(p);n.remove(q)},destroy:function(q){var p=this;if(p.destroyed){return}if(!q){m.removeUnload(p.destroy);tinyMCE.onBeforeUnload.remove(p._beforeUnload);if(p.theme&&p.theme.destroy){p.theme.destroy()}p.controlManager.destroy();p.selection.destroy();p.dom.destroy();if(!p.settings.content_editable){j.clear(p.getWin());j.clear(p.getDoc())}j.clear(p.getBody());j.clear(p.formElement)}if(p.formElement){p.formElement.submit=p.formElement._mceOldSubmit;p.formElement._mceOldSubmit=null}p.contentAreaContainer=p.formElement=p.container=p.settings.content_element=p.bodyElement=p.contentDocument=p.contentWindow=null;if(p.selection){p.selection=p.selection.win=p.selection.dom=p.selection.dom.doc=null}p.destroyed=1},_addEvents:function(){var B=this,r,C=B.settings,q=B.dom,x={mouseup:"onMouseUp",mousedown:"onMouseDown",click:"onClick",keyup:"onKeyUp",keydown:"onKeyDown",keypress:"onKeyPress",submit:"onSubmit",reset:"onReset",contextmenu:"onContextMenu",dblclick:"onDblClick",paste:"onPaste"};function p(t,D){var s=t.type;if(B.removed){return}if(B.onEvent.dispatch(B,t,D)!==false){B[x[t.fakeType||t.type]].dispatch(B,t,D)}}i(x,function(t,s){switch(s){case"contextmenu":q.bind(B.getDoc(),s,p);break;case"paste":q.bind(B.getBody(),s,function(D){p(D)});break;case"submit":case"reset":q.bind(B.getElement().form||n.getParent(B.id,"form"),s,p);break;default:q.bind(C.content_editable?B.getBody():B.getDoc(),s,p)}});q.bind(C.content_editable?B.getBody():(a?B.getDoc():B.getWin()),"focus",function(s){B.focus(true)});if(m.isGecko){q.bind(B.getDoc(),"DOMNodeInserted",function(t){var s;t=t.target;if(t.nodeType===1&&t.nodeName==="IMG"&&(s=t.getAttribute("data-mce-src"))){t.src=B.documentBaseURI.toAbsolute(s)}})}if(a){function u(){var E=this,G=E.getDoc(),F=E.settings;if(a&&!F.readonly){if(E._isHidden()){try{if(!F.content_editable){G.body.contentEditable=false;G.body.contentEditable=true}}catch(D){}}try{G.execCommand("styleWithCSS",0,false)}catch(D){if(!E._isHidden()){try{G.execCommand("useCSS",0,true)}catch(D){}}}if(!F.table_inline_editing){try{G.execCommand("enableInlineTableEditing",false,false)}catch(D){}}if(!F.object_resizing){try{G.execCommand("enableObjectResizing",false,false)}catch(D){}}}}B.onBeforeExecCommand.add(u);B.onMouseDown.add(u)}B.onClick.add(function(s,t){t=t.target;if(m.isWebKit&&t.nodeName=="IMG"){B.selection.getSel().setBaseAndExtent(t,0,t,1)}if(t.nodeName=="A"&&q.hasClass(t,"mceItemAnchor")){B.selection.select(t)}B.nodeChanged()});B.onMouseUp.add(B.nodeChanged);B.onKeyUp.add(function(s,t){var D=t.keyCode;if((D>=33&&D<=36)||(D>=37&&D<=40)||D==13||D==45||D==46||D==8||(m.isMac&&(D==91||D==93))||t.ctrlKey){B.nodeChanged()}});B.onKeyDown.add(function(t,D){if(D.keyCode!=8){return}var F=t.selection.getRng().startContainer;var E=t.selection.getRng().startOffset;while(F&&F.nodeType&&F.nodeType!=1&&F.parentNode){F=F.parentNode}if(F&&F.parentNode&&F.parentNode.tagName==="BLOCKQUOTE"&&F.parentNode.firstChild==F&&E==0){t.formatter.toggle("blockquote",null,F.parentNode);var s=t.selection.getRng();s.setStart(F,0);s.setEnd(F,0);t.selection.setRng(s);t.selection.collapse(false)}});B.onReset.add(function(){B.setContent(B.startContent,{format:"raw"})});if(C.custom_shortcuts){if(C.custom_undo_redo_keyboard_shortcuts){B.addShortcut("ctrl+z",B.getLang("undo_desc"),"Undo");B.addShortcut("ctrl+y",B.getLang("redo_desc"),"Redo")}B.addShortcut("ctrl+b",B.getLang("bold_desc"),"Bold");B.addShortcut("ctrl+i",B.getLang("italic_desc"),"Italic");B.addShortcut("ctrl+u",B.getLang("underline_desc"),"Underline");for(r=1;r<=6;r++){B.addShortcut("ctrl+"+r,"",["FormatBlock",false,"h"+r])}B.addShortcut("ctrl+7","",["FormatBlock",false,"p"]);B.addShortcut("ctrl+8","",["FormatBlock",false,"div"]);B.addShortcut("ctrl+9","",["FormatBlock",false,"address"]);function v(t){var s=null;if(!t.altKey&&!t.ctrlKey&&!t.metaKey){return s}i(B.shortcuts,function(D){if(m.isMac&&D.ctrl!=t.metaKey){return}else{if(!m.isMac&&D.ctrl!=t.ctrlKey){return}}if(D.alt!=t.altKey){return}if(D.shift!=t.shiftKey){return}if(t.keyCode==D.keyCode||(t.charCode&&t.charCode==D.charCode)){s=D;return false}});return s}B.onKeyUp.add(function(s,t){var D=v(t);if(D){return j.cancel(t)}});B.onKeyPress.add(function(s,t){var D=v(t);if(D){return j.cancel(t)}});B.onKeyDown.add(function(s,t){var D=v(t);if(D){D.func.call(D.scope);return j.cancel(t)}})}if(m.isIE){q.bind(B.getDoc(),"controlselect",function(D){var t=B.resizeInfo,s;D=D.target;if(D.nodeName!=="IMG"){return}if(t){q.unbind(t.node,t.ev,t.cb)}if(!q.hasClass(D,"mceItemNoResize")){ev="resizeend";s=q.bind(D,ev,function(F){var E;F=F.target;if(E=q.getStyle(F,"width")){q.setAttrib(F,"width",E.replace(/[^0-9%]+/g,""));q.setStyle(F,"width","")}if(E=q.getStyle(F,"height")){q.setAttrib(F,"height",E.replace(/[^0-9%]+/g,""));q.setStyle(F,"height","")}})}else{ev="resizestart";s=q.bind(D,"resizestart",j.cancel,j)}t=B.resizeInfo={node:D,ev:ev,cb:s}})}if(m.isOpera){B.onClick.add(function(s,t){j.prevent(t)})}if(C.custom_undo_redo){function y(){B.undoManager.typing=false;B.undoManager.add()}q.bind(B.getDoc(),"focusout",function(s){if(!B.removed&&B.undoManager.typing){y()}});B.dom.bind(B.dom.getRoot(),"dragend",function(s){y()});B.onKeyUp.add(function(s,D){var t=D.keyCode;if((t>=33&&t<=36)||(t>=37&&t<=40)||t==13||t==45||D.ctrlKey){y()}});B.onKeyDown.add(function(s,E){var D=E.keyCode,t;if(D==8){t=B.getDoc().selection;if(t&&t.createRange&&t.createRange().item){B.undoManager.beforeChange();s.dom.remove(t.createRange().item(0));y();return j.cancel(E)}}if((D>=33&&D<=36)||(D>=37&&D<=40)||D==13||D==45){if(m.isIE&&D==13){B.undoManager.beforeChange()}if(B.undoManager.typing){y()}return}if((D<16||D>20)&&D!=224&&D!=91&&!B.undoManager.typing){B.undoManager.beforeChange();B.undoManager.typing=true;B.undoManager.add()}});B.onMouseDown.add(function(){if(B.undoManager.typing){y()}})}if(m.isWebKit){q.bind(B.getDoc(),"selectionchange",function(){if(B.selectionTimer){window.clearTimeout(B.selectionTimer);B.selectionTimer=0}B.selectionTimer=window.setTimeout(function(){B.nodeChanged()},50)})}if(m.isGecko){function A(){var s=B.dom.getAttribs(B.selection.getStart().cloneNode(false));return function(){var t=B.selection.getStart();if(t!==B.getBody()){B.dom.removeAllAttribs(t);i(s,function(D){t.setAttributeNode(D.cloneNode(true))})}}}function z(){var t=B.selection;return !t.isCollapsed()&&t.getStart()!=t.getEnd()}B.onKeyPress.add(function(s,D){var t;if((D.keyCode==8||D.keyCode==46)&&z()){t=A();B.getDoc().execCommand("delete",false,null);t();return j.cancel(D)}});B.dom.bind(B.getDoc(),"cut",function(t){var s;if(z()){s=A();B.onKeyUp.addToTop(j.cancel,j);setTimeout(function(){s();B.onKeyUp.remove(j.cancel,j)},0)}})}},_isHidden:function(){var p;if(!a){return 0}p=this.selection.getSel();return(!p||!p.rangeCount||p.rangeCount==0)}})})(tinymce);(function(c){var d=c.each,e,a=true,b=false;c.EditorCommands=function(n){var l=n.dom,p=n.selection,j={state:{},exec:{},value:{}},k=n.settings,o;function q(y,x,v){var u;y=y.toLowerCase();if(u=j.exec[y]){u(y,x,v);return a}return b}function m(v){var u;v=v.toLowerCase();if(u=j.state[v]){return u(v)}return -1}function h(v){var u;v=v.toLowerCase();if(u=j.value[v]){return u(v)}return b}function t(u,v){v=v||"exec";d(u,function(y,x){d(x.toLowerCase().split(","),function(z){j[v][z]=y})})}c.extend(this,{execCommand:q,queryCommandState:m,queryCommandValue:h,addCommands:t});function f(x,v,u){if(v===e){v=b}if(u===e){u=null}return n.getDoc().execCommand(x,v,u)}function s(u){return n.formatter.match(u)}function r(u,v){n.formatter.toggle(u,v?{value:v}:e)}function i(u){o=p.getBookmark(u)}function g(){p.moveToBookmark(o)}t({"mceResetDesignMode,mceBeginUndoLevel":function(){},"mceEndUndoLevel,mceAddUndoLevel":function(){n.undoManager.add()},"Cut,Copy,Paste":function(y){var x=n.getDoc(),u;try{f(y)}catch(v){u=a}if(u||!x.queryCommandSupported(y)){if(c.isGecko){n.windowManager.confirm(n.getLang("clipboard_msg"),function(z){if(z){open("http://www.mozilla.org/editor/midasdemo/securityprefs.html","_blank")}})}else{n.windowManager.alert(n.getLang("clipboard_no_support"))}}},unlink:function(u){if(p.isCollapsed()){p.select(p.getNode())}f(u);p.collapse(b)},"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(u){var v=u.substring(7);d("left,center,right,full".split(","),function(x){if(v!=x){n.formatter.remove("align"+x)}});r("align"+v);q("mceRepaint")},"InsertUnorderedList,InsertOrderedList":function(x){var u,v;f(x);u=l.getParent(p.getNode(),"ol,ul");if(u){v=u.parentNode;if(/^(H[1-6]|P|ADDRESS|PRE)$/.test(v.nodeName)){i();l.split(v,u);g()}}},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(u){r(u)},"ForeColor,HiliteColor,FontName":function(x,v,u){r(x,u)},FontSize:function(y,x,v){var u,z;if(v>=1&&v<=7){z=c.explode(k.font_size_style_values);u=c.explode(k.font_size_classes);if(u){v=u[v-1]||v}else{v=z[v-1]||v}}r(y,v)},RemoveFormat:function(u){n.formatter.remove(u)},mceBlockQuote:function(u){r("blockquote")},FormatBlock:function(x,v,u){return r(u||"p")},mceCleanup:function(){var u=p.getBookmark();n.setContent(n.getContent({cleanup:a}),{cleanup:a});p.moveToBookmark(u)},mceRemoveNode:function(y,x,v){var u=v||p.getNode();if(u!=n.getBody()){i();n.dom.remove(u,a);g()}},mceSelectNodeDepth:function(y,x,v){var u=0;l.getParent(p.getNode(),function(z){if(z.nodeType==1&&u++==v){p.select(z);return b}},n.getBody())},mceSelectNode:function(x,v,u){p.select(u)},mceInsertContent:function(A,H,J){var x,I,D,y,E,F,C,B,K,v,z,L,u,G;x=n.parser;I=new c.html.Serializer({},n.schema);u='\uFEFF';F={content:J,format:"html"};p.onBeforeSetContent.dispatch(p,F);J=F.content;if(J.indexOf("{$caret}")==-1){J+="{$caret}"}J=J.replace(/\{\$caret\}/,u);if(!p.isCollapsed()){n.getDoc().execCommand("Delete",false,null)}D=p.getNode();F={context:D.nodeName.toLowerCase()};E=x.parse(J,F);z=E.lastChild;if(z.attr("id")=="mce_marker"){C=z;for(z=z.prev;z;z=z.walk(true)){if(z.type==3||!l.isBlock(z.name)){z.parent.insert(C,z,z.name==="br");break}}}if(!F.invalid){J=I.serialize(E);z=D.firstChild;L=D.lastChild;if(!z||(z===L&&z.nodeName==="BR")){l.setHTML(D,J)}else{p.setContent(J)}}else{p.setContent(u);D=n.selection.getNode();y=n.getBody();if(D.nodeType==9){D=z=y}else{z=D}while(z!==y){D=z;z=z.parentNode}J=D==y?y.innerHTML:l.getOuterHTML(D);J=I.serialize(x.parse(J.replace(//i,function(){return I.serialize(E)})));if(D==y){l.setHTML(y,J)}else{l.setOuterHTML(D,J)}}C=l.get("mce_marker");B=l.getRect(C);K=l.getViewPort(n.getWin());if((B.y+B.h>K.y+K.h||B.yK.x+K.w||B.x")},mceToggleVisualAid:function(){n.hasVisual=!n.hasVisual;n.addVisual()},mceReplaceContent:function(x,v,u){n.execCommand("mceInsertContent",false,u.replace(/\{\$selection\}/g,p.getContent({format:"text"})))},mceInsertLink:function(B,A,z){var y=l.getParent(p.getNode(),"a"),v,x,u;if(c.is(z,"string")){z={href:z}}z.href=z.href.replace(" ","%20");if(!y){if(c.isWebKit){v=l.getParent(p.getNode(),"img");if(v){x=v.style.cssText;u=v.className;v.style.cssText=null;v.className=null}}f("CreateLink",b,"javascript:mctmp(0);");if(x){v.style.cssText=x}if(u){v.className=u}d(l.select("a[href='javascript:mctmp(0);']"),function(C){l.setAttribs(C,z)})}else{if(z.href){l.setAttribs(y,z)}else{n.dom.remove(y,a)}}},selectAll:function(){var v=l.getRoot(),u=l.createRng();u.setStart(v,0);u.setEnd(v,v.childNodes.length);n.selection.setRng(u)}});t({"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(u){return s("align"+u.substring(7))},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(u){return s(u)},mceBlockQuote:function(){return s("blockquote")},Outdent:function(){var u;if(k.inline_styles){if((u=l.getParent(p.getStart(),l.isBlock))&&parseInt(u.style.paddingLeft)>0){return a}if((u=l.getParent(p.getEnd(),l.isBlock))&&parseInt(u.style.paddingLeft)>0){return a}}return m("InsertUnorderedList")||m("InsertOrderedList")||(!k.inline_styles&&!!l.getParent(p.getNode(),"BLOCKQUOTE"))},"InsertUnorderedList,InsertOrderedList":function(u){return l.getParent(p.getNode(),u=="insertunorderedlist"?"UL":"OL")}},"state");t({"FontSize,FontName":function(x){var v=0,u;if(u=l.getParent(p.getNode(),"span")){if(x=="fontsize"){v=u.style.fontSize}else{v=u.style.fontFamily.replace(/, /g,",").replace(/[\'\"]/g,"").toLowerCase()}}return v}},"value");if(k.custom_undo_redo){t({Undo:function(){n.undoManager.undo()},Redo:function(){n.undoManager.redo()}})}}})(tinymce);(function(b){var a=b.util.Dispatcher;b.UndoManager=function(f){var d,e=0,h=[],c;function g(){return b.trim(f.getContent({format:"raw",no_events:1}))}return d={typing:false,onAdd:new a(d),onUndo:new a(d),onRedo:new a(d),beforeChange:function(){c=f.selection.getBookmark(2,true)},add:function(m){var j,k=f.settings,l;m=m||{};m.content=g();l=h[e];if(l&&l.content==m.content){return null}if(h[e]){h[e].beforeBookmark=c}if(k.custom_undo_redo_levels){if(h.length>k.custom_undo_redo_levels){for(j=0;j0){k=h[--e];f.setContent(k.content,{format:"raw"});f.selection.moveToBookmark(k.beforeBookmark);d.onUndo.dispatch(d,k)}return k},redo:function(){var i;if(e0||this.typing},hasRedo:function(){return e');q.replace(p,m);o.select(p,1)}return g}return d}l.create("tinymce.ForceBlocks",{ForceBlocks:function(m){var n=this,o=m.settings,p;n.editor=m;n.dom=m.dom;p=(o.forced_root_block||"p").toLowerCase();o.element=p.toUpperCase();m.onPreInit.add(n.setup,n)},setup:function(){var n=this,m=n.editor,p=m.settings,u=m.dom,o=m.selection,q=m.schema.getBlockElements();if(p.forced_root_block){function v(){var y=o.getStart(),t=m.getBody(),s,z,D,F,E,x,A,B=-16777215;if(!y||y.nodeType!==1){return}while(y!=t){if(q[y.nodeName]){return}y=y.parentNode}s=o.getRng();if(s.setStart){z=s.startContainer;D=s.startOffset;F=s.endContainer;E=s.endOffset}else{if(s.item){s=m.getDoc().body.createTextRange();s.moveToElementText(s.item(0))}tmpRng=s.duplicate();tmpRng.collapse(true);D=tmpRng.move("character",B)*-1;if(!tmpRng.collapsed){tmpRng=s.duplicate();tmpRng.collapse(false);E=(tmpRng.move("character",B)*-1)-D}}for(y=t.firstChild;y;y){if(y.nodeType===3||(y.nodeType==1&&!q[y.nodeName])){if(!x){x=u.create(p.forced_root_block);y.parentNode.insertBefore(x,y)}A=y;y=y.nextSibling;x.appendChild(A)}else{x=null;y=y.nextSibling}}if(s.setStart){s.setStart(z,D);s.setEnd(F,E);o.setRng(s)}else{try{s=m.getDoc().body.createTextRange();s.moveToElementText(t);s.collapse(true);s.moveStart("character",D);if(E>0){s.moveEnd("character",E)}s.select()}catch(C){}}m.nodeChanged()}m.onKeyUp.add(v);m.onClick.add(v)}if(p.force_br_newlines){if(c){m.onKeyPress.add(function(s,t){var x;if(t.keyCode==13&&o.getNode().nodeName!="LI"){o.setContent('
',{format:"raw"});x=u.get("__");x.removeAttribute("id");o.select(x);o.collapse();return j.cancel(t)}})}}if(p.force_p_newlines){if(!c){m.onKeyPress.add(function(s,t){if(t.keyCode==13&&!t.shiftKey&&!n.insertPara(t)){j.cancel(t)}})}else{l.addUnload(function(){n._previousFormats=0});m.onKeyPress.add(function(s,t){n._previousFormats=0;if(t.keyCode==13&&!t.shiftKey&&s.selection.isCollapsed()&&p.keep_styles){n._previousFormats=k(s.selection.getStart())}});m.onKeyUp.add(function(t,y){if(y.keyCode==13&&!y.shiftKey){var x=t.selection.getStart(),s=n._previousFormats;if(!x.hasChildNodes()&&s){x=u.getParent(x,u.isBlock);if(x&&x.nodeName!="LI"){x.innerHTML="";if(n._previousFormats){x.appendChild(s.wrapper);s.inner.innerHTML="\uFEFF"}else{x.innerHTML="\uFEFF"}o.select(x,1);o.collapse(true);t.getDoc().execCommand("Delete",false,null);n._previousFormats=0}}}})}if(a){m.onKeyDown.add(function(s,t){if((t.keyCode==8||t.keyCode==46)&&!t.shiftKey){n.backspaceDelete(t,t.keyCode==8)}})}}if(l.isWebKit){function r(t){var s=o.getRng(),x,A=u.create("div",null," "),z,y=u.getViewPort(t.getWin()).h;s.insertNode(x=u.create("br"));s.setStartAfter(x);s.setEndAfter(x);o.setRng(s);if(o.getSel().focusNode==x.previousSibling){o.select(u.insertAfter(u.doc.createTextNode("\u00a0"),x));o.collapse(d)}u.insertAfter(A,x);z=u.getPos(A).y;u.remove(A);if(z>y){t.getWin().scrollTo(0,z)}}m.onKeyPress.add(function(s,t){if(t.keyCode==13&&(t.shiftKey||(p.force_br_newlines&&!u.getParent(o.getNode(),"h1,h2,h3,h4,h5,h6,ol,ul")))){r(s);j.cancel(t)}})}if(c){if(p.element!="P"){m.onKeyPress.add(function(s,t){n.lastElm=o.getNode().nodeName});m.onKeyUp.add(function(t,x){var z,y=o.getNode(),s=t.getBody();if(s.childNodes.length===1&&y.nodeName=="P"){y=u.rename(y,p.element);o.select(y);o.collapse();t.nodeChanged()}else{if(x.keyCode==13&&!x.shiftKey&&n.lastElm!="P"){z=u.getParent(y,"p");if(z){u.rename(z,p.element);t.nodeChanged()}}}})}}},getParentBlock:function(o){var m=this.dom;return m.getParent(o,m.isBlock)},insertPara:function(Q){var E=this,v=E.editor,M=v.dom,R=v.getDoc(),V=v.settings,F=v.selection.getSel(),G=F.getRangeAt(0),U=R.body;var J,K,H,O,N,q,o,u,z,m,C,T,p,x,I,L=M.getViewPort(v.getWin()),B,D,A;v.undoManager.beforeChange();J=R.createRange();J.setStart(F.anchorNode,F.anchorOffset);J.collapse(d);K=R.createRange();K.setStart(F.focusNode,F.focusOffset);K.collapse(d);H=J.compareBoundaryPoints(J.START_TO_END,K)<0;O=H?F.anchorNode:F.focusNode;N=H?F.anchorOffset:F.focusOffset;q=H?F.focusNode:F.anchorNode;o=H?F.focusOffset:F.anchorOffset;if(O===q&&/^(TD|TH)$/.test(O.nodeName)){if(O.firstChild.nodeName=="BR"){M.remove(O.firstChild)}if(O.childNodes.length==0){v.dom.add(O,V.element,null,"
");T=v.dom.add(O,V.element,null,"
")}else{I=O.innerHTML;O.innerHTML="";v.dom.add(O,V.element,null,I);T=v.dom.add(O,V.element,null,"
")}G=R.createRange();G.selectNodeContents(T);G.collapse(1);v.selection.setRng(G);return g}if(O==U&&q==U&&U.firstChild&&v.dom.isBlock(U.firstChild)){O=q=O.firstChild;N=o=0;J=R.createRange();J.setStart(O,0);K=R.createRange();K.setStart(q,0)}O=O.nodeName=="HTML"?R.body:O;O=O.nodeName=="BODY"?O.firstChild:O;q=q.nodeName=="HTML"?R.body:q;q=q.nodeName=="BODY"?q.firstChild:q;u=E.getParentBlock(O);z=E.getParentBlock(q);m=u?u.nodeName:V.element;if(I=E.dom.getParent(u,"li,pre")){if(I.nodeName=="LI"){return e(v.selection,E.dom,I)}return d}if(u&&(u.nodeName=="CAPTION"||/absolute|relative|fixed/gi.test(M.getStyle(u,"position",1)))){m=V.element;u=null}if(z&&(z.nodeName=="CAPTION"||/absolute|relative|fixed/gi.test(M.getStyle(u,"position",1)))){m=V.element;z=null}if(/(TD|TABLE|TH|CAPTION)/.test(m)||(u&&m=="DIV"&&/left|right/gi.test(M.getStyle(u,"float",1)))){m=V.element;u=z=null}C=(u&&u.nodeName==m)?u.cloneNode(0):v.dom.create(m);T=(z&&z.nodeName==m)?z.cloneNode(0):v.dom.create(m);T.removeAttribute("id");if(/^(H[1-6])$/.test(m)&&f(G,u)){T=v.dom.create(V.element)}I=p=O;do{if(I==U||I.nodeType==9||E.dom.isBlock(I)||/(TD|TABLE|TH|CAPTION)/.test(I.nodeName)){break}p=I}while((I=I.previousSibling?I.previousSibling:I.parentNode));I=x=q;do{if(I==U||I.nodeType==9||E.dom.isBlock(I)||/(TD|TABLE|TH|CAPTION)/.test(I.nodeName)){break}x=I}while((I=I.nextSibling?I.nextSibling:I.parentNode));if(p.nodeName==m){J.setStart(p,0)}else{J.setStartBefore(p)}J.setEnd(O,N);C.appendChild(J.cloneContents()||R.createTextNode(""));try{K.setEndAfter(x)}catch(P){}K.setStart(q,o);T.appendChild(K.cloneContents()||R.createTextNode(""));G=R.createRange();if(!p.previousSibling&&p.parentNode.nodeName==m){G.setStartBefore(p.parentNode)}else{if(J.startContainer.nodeName==m&&J.startOffset==0){G.setStartBefore(J.startContainer)}else{G.setStart(J.startContainer,J.startOffset)}}if(!x.nextSibling&&x.parentNode.nodeName==m){G.setEndAfter(x.parentNode)}else{G.setEnd(K.endContainer,K.endOffset)}G.deleteContents();if(b){v.getWin().scrollTo(0,L.y)}if(C.firstChild&&C.firstChild.nodeName==m){C.innerHTML=C.firstChild.innerHTML}if(T.firstChild&&T.firstChild.nodeName==m){T.innerHTML=T.firstChild.innerHTML}function S(y,s){var r=[],X,W,t;y.innerHTML="";if(V.keep_styles){W=s;do{if(/^(SPAN|STRONG|B|EM|I|FONT|STRIKE|U)$/.test(W.nodeName)){X=W.cloneNode(g);M.setAttrib(X,"id","");r.push(X)}}while(W=W.parentNode)}if(r.length>0){for(t=r.length-1,X=y;t>=0;t--){X=X.appendChild(r[t])}r[0].innerHTML=b?"\u00a0":"
";return r[0]}else{y.innerHTML=b?"\u00a0":"
"}}if(M.isEmpty(C)){S(C,O)}if(M.isEmpty(T)){A=S(T,q)}if(b&&parseFloat(opera.version())<9.5){G.insertNode(C);G.insertNode(T)}else{G.insertNode(T);G.insertNode(C)}T.normalize();C.normalize();v.selection.select(T,true);v.selection.collapse(true);B=v.dom.getPos(T).y;if(BL.y+L.h){v.getWin().scrollTo(0,B1||ac==au){return ac}}}var am=V.selection.getRng();var aq=am.startContainer;var al=am.endContainer;if(aq!=al&&am.endOffset==0){var ap=an(aq,al);var ao=ap.nodeType==3?ap.length:ap.childNodes.length;am.setEnd(ap,ao)}return am}function Y(ao,au,ar,aq,am){var al=[],an=-1,at,aw=-1,ap=-1,av;O(ao.childNodes,function(ay,ax){if(ay.nodeName==="UL"||ay.nodeName==="OL"){an=ax;at=ay;return false}});O(ao.childNodes,function(ay,ax){if(ay.nodeName==="SPAN"&&c.getAttrib(ay,"data-mce-type")=="bookmark"&&ay.id==au.id+"_start"){aw=ax}if(ay.nodeName==="SPAN"&&c.getAttrib(ay,"data-mce-type")=="bookmark"&&ay.id==au.id+"_end"){ap=ax}});if(an<=0||(awan)){O(a.grep(ao.childNodes),am);return 0}else{av=ar.cloneNode(S);O(a.grep(ao.childNodes),function(ay,ax){if((awan&&ax>an)){al.push(ay);ay.parentNode.removeChild(ay)}});if(awan){ao.insertBefore(av,at.nextSibling)}}aq.push(av);O(al,function(ax){av.appendChild(ax)});return av}}function aj(am,ao){var al=[],ap,an;ap=ai.inline||ai.block;an=c.create(ap);W(an);K.walk(am,function(aq){var ar;function at(au){var ax=au.nodeName.toLowerCase(),aw=au.parentNode.nodeName.toLowerCase(),av;if(g(ax,"br")){ar=0;if(ai.block){c.remove(au)}return}if(ai.wrapper&&x(au,Z,ah)){ar=0;return}if(ai.block&&!ai.wrapper&&G(ax)){au=c.rename(au,ap);W(au);al.push(au);ar=0;return}if(ai.selector){O(ad,function(ay){if("collapsed" in ay&&ay.collapsed!==ae){return}if(c.is(au,ay.selector)&&!b(au)){W(au,ay);av=true}});if(!ai.inline||av){ar=0;return}}if(d(ap,ax)&&d(aw,ap)&&!(au.nodeType===3&&au.nodeValue.length===1&&au.nodeValue.charCodeAt(0)===65279)){if(!ar){ar=an.cloneNode(S);au.parentNode.insertBefore(ar,au);al.push(ar)}ar.appendChild(au)}else{if(ax=="li"&&ao){ar=Y(au,ao,an,al,at)}else{ar=0;O(a.grep(au.childNodes),at);ar=0}}}O(aq,at)});if(ai.wrap_links===false){O(al,function(aq){function ar(aw){var av,au,at;if(aw.nodeName==="A"){au=an.cloneNode(S);al.push(au);at=a.grep(aw.childNodes);for(av=0;av1||!F(at))&&aq===0){c.remove(at,1);return}if(ai.inline||ai.wrapper){if(!ai.exact&&aq===1){at=ar(at)}O(ad,function(av){O(c.select(av.inline,at),function(ax){var aw;if(av.wrap_links===false){aw=ax.parentNode;do{if(aw.nodeName==="A"){return}}while(aw=aw.parentNode)}U(av,ah,ax,av.exact?ax:null)})});if(x(at.parentNode,Z,ah)){c.remove(at,1);at=0;return B}if(ai.merge_with_parents){c.getParent(at.parentNode,function(av){if(x(av,Z,ah)){c.remove(at,1);at=0;return B}})}if(at){at=u(C(at),at);at=u(at,C(at,B))}}})}if(ai){if(ac){X=c.createRng();X.setStartBefore(ac);X.setEndAfter(ac);aj(o(X,ad))}else{if(!ae||!ai.inline||c.select("td.mceSelected,th.mceSelected").length){var ak=V.selection.getNode();V.selection.setRng(ab());ag=q.getBookmark();aj(o(q.getRng(B),ad),ag);if(ai.styles&&(ai.styles.color||ai.styles.textDecoration)){a.walk(ak,I,"childNodes");I(ak)}q.moveToBookmark(ag);q.setRng(aa(q.getRng(B)));V.nodeChanged()}else{Q("apply",Z,ah)}}}}function A(Y,ah,ab){var ac=R(Y),aj=ac[0],ag,af,X;function aa(am){var al=am.startContainer,ar=am.startOffset,aq,ap,an,ao;if(al.nodeType==3&&ar>=al.nodeValue.length-1){al=al.parentNode;ar=s(al)+1}if(al.nodeType==1){an=al.childNodes;al=an[Math.min(ar,an.length-1)];aq=new t(al);if(ar>an.length-1){aq.next()}for(ap=aq.current();ap;ap=aq.next()){if(ap.nodeType==3&&!f(ap)){ao=c.create("a",null,E);ap.parentNode.insertBefore(ao,ap);am.setStart(ap,0);q.setRng(am);c.remove(ao);return}}}}function Z(ao){var an,am,al;an=a.grep(ao.childNodes);for(am=0,al=ac.length;am=0;Z--){if(P.apply[Z].name==Y){return true}}for(Z=P.remove.length-1;Z>=0;Z--){if(P.remove[Z].name==Y){return false}}return W(q.getNode())}aa=q.getNode();if(W(aa)){return B}X=q.getStart();if(X!=aa){if(W(X)){return B}}return S}function v(ad,ac){var aa,ab=[],Z={},Y,X,W;if(q.isCollapsed()){for(X=0;X=0;Y--){W=ad[X];if(P.remove[Y].name==W){Z[W]=true;break}}}for(Y=P.apply.length-1;Y>=0;Y--){for(X=0;X=0;X--){W=ac[X].selector;if(!W){return B}for(ab=Y.length-1;ab>=0;ab--){if(c.is(Y[ab],W)){return B}}}}return S}a.extend(this,{get:R,register:k,apply:T,remove:A,toggle:D,match:j,matchAll:v,matchNode:x,canApply:y});function h(W,X){if(g(W,X.inline)){return B}if(g(W,X.block)){return B}if(X.selector){return c.is(W,X.selector)}}function g(X,W){X=X||"";W=W||"";X=""+(X.nodeName||X);W=""+(W.nodeName||W);return X.toLowerCase()==W.toLowerCase()}function L(X,W){var Y=c.getStyle(X,W);if(W=="color"||W=="backgroundColor"){Y=c.toHex(Y)}if(W=="fontWeight"&&Y==700){Y="bold"}return""+Y}function r(W,X){if(typeof(W)!="string"){W=W(X)}else{if(X){W=W.replace(/%(\w+)/g,function(Z,Y){return X[Y]||Z})}}return W}function f(W){return W&&W.nodeType===3&&/^([\s\r\n]+|)$/.test(W.nodeValue)}function N(Y,X,W){var Z=c.create(X,W);Y.parentNode.insertBefore(Z,Y);Z.appendChild(Y);return Z}function o(W,ag,Z){var Y=W.startContainer,ad=W.startOffset,aj=W.endContainer,ae=W.endOffset,ai,af,ac;function ah(am,an,ak,al){var ao,ap;al=al||c.getRoot();for(;;){ao=am.parentNode;if(ao==al||(!ag[0].block_expand&&F(ao))){return am}for(ai=ao[an];ai&&ai!=am;ai=ai[ak]){if(ai.nodeType==1&&!H(ai)){return am}if(ai.nodeType==3&&!f(ai)){return am}}am=am.parentNode}return am}function ab(ak,al){if(al===p){al=ak.nodeType===3?ak.length:ak.childNodes.length}while(ak&&ak.hasChildNodes()){ak=ak.childNodes[al];if(ak){al=ak.nodeType===3?ak.length:ak.childNodes.length}}return{node:ak,offset:al}}if(Y.nodeType==1&&Y.hasChildNodes()){af=Y.childNodes.length-1;Y=Y.childNodes[ad>af?af:ad];if(Y.nodeType==3){ad=0}}if(aj.nodeType==1&&aj.hasChildNodes()){af=aj.childNodes.length-1;aj=aj.childNodes[ae>af?af:ae-1];if(aj.nodeType==3){ae=aj.nodeValue.length}}if(H(Y.parentNode)){Y=Y.parentNode}if(H(Y)){Y=Y.nextSibling||Y}if(H(aj.parentNode)){ae=c.nodeIndex(aj);aj=aj.parentNode}if(H(aj)&&aj.previousSibling){aj=aj.previousSibling;ae=aj.length}if(ag[0].inline){ac=ab(aj,ae);if(ac.node){while(ac.node&&ac.offset===0&&ac.node.previousSibling){ac=ab(ac.node.previousSibling)}if(ac.node&&ac.offset>0&&ac.node.nodeType===3&&ac.node.nodeValue.charAt(ac.offset-1)===" "){if(ac.offset>1){aj=ac.node;aj.splitText(ac.offset-1)}else{if(ac.node.previousSibling){aj=ac.node.previousSibling}}}}}if(ag[0].inline||ag[0].block_expand){Y=ah(Y,"firstChild","nextSibling");aj=ah(aj,"lastChild","previousSibling")}if(ag[0].selector&&ag[0].expand!==S&&!ag[0].inline){function aa(al,ak){var am,an,ap,ao;if(al.nodeType==3&&al.nodeValue.length==0&&al[ak]){al=al[ak]}am=m(al);for(an=0;anY?Y:Z]}return W}function Q(ad,Y,ac){var aa,X=P[ad],ae=P[ad=="apply"?"remove":"apply"];function af(){return P.apply.length||P.remove.length}function ab(){P.apply=[];P.remove=[]}function ag(ah){O(P.apply.reverse(),function(ai){T(ai.name,ai.vars,ah);if(ai.name==="forecolor"&&ai.vars.value){I(ah.parentNode)}});O(P.remove.reverse(),function(ai){A(ai.name,ai.vars,ah)});c.remove(ah,1);ab()}for(aa=X.length-1;aa>=0;aa--){if(X[aa].name==Y){return}}X.push({name:Y,vars:ac});for(aa=ae.length-1;aa>=0;aa--){if(ae[aa].name==Y){ae.splice(aa,1)}}if(af()){V.getDoc().execCommand("FontName",false,"mceinline");P.lastRng=q.getRng();O(c.select("font,span"),function(ai){var ah;if(b(ai)){ah=q.getBookmark();ag(ai);q.moveToBookmark(ah);V.nodeChanged()}});if(!P.isListening&&af()){P.isListening=true;function W(ai,aj){var ah=c.createRng();ag(ai);ah.setStart(aj,aj.nodeValue.length);ah.setEnd(aj,aj.nodeValue.length);q.setRng(ah);V.nodeChanged()}var Z=false;O("onKeyDown,onKeyUp,onKeyPress,onMouseUp".split(","),function(ah){V[ah].addToTop(function(ai,al){if(al.keyCode==13&&!al.shiftKey){Z=true;return}if(af()&&!a.dom.RangeUtils.compareRanges(P.lastRng,q.getRng())){var aj=false;O(c.select("font,span"),function(ao){var ap,an;if(b(ao)){aj=true;ap=ao.firstChild;while(ap&&ap.nodeType!=3){ap=ap.firstChild}if(ap){W(ao,ap)}else{c.remove(ao)}}});if(Z&&!aj){var ak=q.getNode();var am=ak;while(am&&am.nodeType!=3){am=am.firstChild}if(am){ak=am.parentNode;while(!F(ak)){ak=ak.parentNode}W(ak,am)}}if(al.type=="keyup"||al.type=="mouseup"){ab();Z=false}}})})}}}}})(tinymce);tinymce.onAddEditor.add(function(e,a){var d,h,g,c=a.settings;if(c.inline_styles){h=e.explode(c.font_size_style_values);function b(j,i){e.each(i,function(l,k){if(l){g.setStyle(j,k,l)}});g.rename(j,"span")}d={font:function(j,i){b(i,{backgroundColor:i.style.backgroundColor,color:i.color,fontFamily:i.face,fontSize:h[parseInt(i.size)-1]})},u:function(j,i){b(i,{textDecoration:"underline"})},strike:function(j,i){b(i,{textDecoration:"line-through"})}};function f(i,j){g=i.dom;if(c.convert_fonts_to_spans){e.each(g.select("font,u,strike",j.node),function(k){d[k.nodeName.toLowerCase()](a.dom,k)})}}a.onPreProcess.add(f);a.onSetContent.add(f);a.onInit.add(function(){a.selection.onSetContent.add(f)})}}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/tiny_mce_popup.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/tiny_mce_popup.js new file mode 100644 index 00000000..f859d24e --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/tiny_mce_popup.js @@ -0,0 +1,5 @@ + +// Uncomment and change this document.domain value if you are loading the script cross subdomains +// document.domain = 'moxiecode.com'; + +var tinymce=null,tinyMCEPopup,tinyMCE;tinyMCEPopup={init:function(){var b=this,a,c;a=b.getWin();tinymce=a.tinymce;tinyMCE=a.tinyMCE;b.editor=tinymce.EditorManager.activeEditor;b.params=b.editor.windowManager.params;b.features=b.editor.windowManager.features;b.dom=b.editor.windowManager.createInstance("tinymce.dom.DOMUtils",document);if(b.features.popup_css!==false){b.dom.loadCSS(b.features.popup_css||b.editor.settings.popup_css)}b.listeners=[];b.onInit={add:function(e,d){b.listeners.push({func:e,scope:d})}};b.isWindow=!b.getWindowArg("mce_inline");b.id=b.getWindowArg("mce_window_id");b.editor.windowManager.onOpen.dispatch(b.editor.windowManager,window)},getWin:function(){return(!window.frameElement&&window.dialogArguments)||opener||parent||top},getWindowArg:function(c,b){var a=this.params[c];return tinymce.is(a)?a:b},getParam:function(b,a){return this.editor.getParam(b,a)},getLang:function(b,a){return this.editor.getLang(b,a)},execCommand:function(d,c,e,b){b=b||{};b.skip_focus=1;this.restoreSelection();return this.editor.execCommand(d,c,e,b)},resizeToInnerSize:function(){var a=this;setTimeout(function(){var b=a.dom.getViewPort(window);a.editor.windowManager.resizeBy(a.getWindowArg("mce_width")-b.w,a.getWindowArg("mce_height")-b.h,a.id||window)},10)},executeOnLoad:function(s){this.onInit.add(function(){eval(s)})},storeSelection:function(){this.editor.windowManager.bookmark=tinyMCEPopup.editor.selection.getBookmark(1)},restoreSelection:function(){var a=tinyMCEPopup;if(!a.isWindow&&tinymce.isIE){a.editor.selection.moveToBookmark(a.editor.windowManager.bookmark)}},requireLangPack:function(){var b=this,a=b.getWindowArg("plugin_url")||b.getWindowArg("theme_url");if(a&&b.editor.settings.language&&b.features.translate_i18n!==false&&b.editor.settings.language_load!==false){a+="/langs/"+b.editor.settings.language+"_dlg.js";if(!tinymce.ScriptLoader.isDone(a)){document.write(' - // | - d._modulePrefixes[module] = { name: module, value: prefix }; - }; - - dojo.requireLocalization = function(/*String*/moduleName, /*String*/bundleName, /*String?*/locale, /*String?*/availableFlatLocales){ - // summary: - // Declares translated resources and loads them if necessary, in the - // same style as dojo.require. Contents of the resource bundle are - // typically strings, but may be any name/value pair, represented in - // JSON format. See also `dojo.i18n.getLocalization`. - // - // description: - // Load translated resource bundles provided underneath the "nls" - // directory within a package. Translated resources may be located in - // different packages throughout the source tree. - // - // Each directory is named for a locale as specified by RFC 3066, - // (http://www.ietf.org/rfc/rfc3066.txt), normalized in lowercase. - // Note that the two bundles in the example do not define all the - // same variants. For a given locale, bundles will be loaded for - // that locale and all more general locales above it, including a - // fallback at the root directory. For example, a declaration for - // the "de-at" locale will first load `nls/de-at/bundleone.js`, - // then `nls/de/bundleone.js` and finally `nls/bundleone.js`. The - // data will be flattened into a single Object so that lookups - // will follow this cascading pattern. An optional build step can - // preload the bundles to avoid data redundancy and the multiple - // network hits normally required to load these resources. - // - // moduleName: - // name of the package containing the "nls" directory in which the - // bundle is found - // - // bundleName: - // bundle name, i.e. the filename without the '.js' suffix. Using "nls" as a - // a bundle name is not supported, since "nls" is the name of the folder - // that holds bundles. Using "nls" as the bundle name will cause problems - // with the custom build. - // - // locale: - // the locale to load (optional) By default, the browser's user - // locale as defined by dojo.locale - // - // availableFlatLocales: - // A comma-separated list of the available, flattened locales for this - // bundle. This argument should only be set by the build process. - // - // example: - // A particular widget may define one or more resource bundles, - // structured in a program as follows, where moduleName is - // mycode.mywidget and bundleNames available include bundleone and - // bundletwo: - // | ... - // | mycode/ - // | mywidget/ - // | nls/ - // | bundleone.js (the fallback translation, English in this example) - // | bundletwo.js (also a fallback translation) - // | de/ - // | bundleone.js - // | bundletwo.js - // | de-at/ - // | bundleone.js - // | en/ - // | (empty; use the fallback translation) - // | en-us/ - // | bundleone.js - // | en-gb/ - // | bundleone.js - // | es/ - // | bundleone.js - // | bundletwo.js - // | ...etc - // | ... - // - - d.require("dojo.i18n"); - d.i18n._requireLocalization.apply(d.hostenv, arguments); - }; - - - var ore = new RegExp("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$"), - ire = new RegExp("^((([^\\[:]+):)?([^@]+)@)?(\\[([^\\]]+)\\]|([^\\[:]*))(:([0-9]+))?$"); - - dojo._Url = function(/*dojo._Url|String...*/){ - // summary: - // Constructor to create an object representing a URL. - // It is marked as private, since we might consider removing - // or simplifying it. - // description: - // Each argument is evaluated in order relative to the next until - // a canonical uri is produced. To get an absolute Uri relative to - // the current document use: - // new dojo._Url(document.baseURI, url) - - var n = null, - _a = arguments, - uri = [_a[0]]; - // resolve uri components relative to each other - for(var i = 1; i<_a.length; i++){ - if(!_a[i]){ continue; } - - // Safari doesn't support this.constructor so we have to be explicit - // FIXME: Tracked (and fixed) in Webkit bug 3537. - // http://bugs.webkit.org/show_bug.cgi?id=3537 - var relobj = new d._Url(_a[i]+""), - uriobj = new d._Url(uri[0]+""); - - if( - relobj.path == "" && - !relobj.scheme && - !relobj.authority && - !relobj.query - ){ - if(relobj.fragment != n){ - uriobj.fragment = relobj.fragment; - } - relobj = uriobj; - }else if(!relobj.scheme){ - relobj.scheme = uriobj.scheme; - - if(!relobj.authority){ - relobj.authority = uriobj.authority; - - if(relobj.path.charAt(0) != "/"){ - var path = uriobj.path.substring(0, - uriobj.path.lastIndexOf("/") + 1) + relobj.path; - - var segs = path.split("/"); - for(var j = 0; j < segs.length; j++){ - if(segs[j] == "."){ - // flatten "./" references - if(j == segs.length - 1){ - segs[j] = ""; - }else{ - segs.splice(j, 1); - j--; - } - }else if(j > 0 && !(j == 1 && segs[0] == "") && - segs[j] == ".." && segs[j-1] != ".."){ - // flatten "../" references - if(j == (segs.length - 1)){ - segs.splice(j, 1); - segs[j - 1] = ""; - }else{ - segs.splice(j - 1, 2); - j -= 2; - } - } - } - relobj.path = segs.join("/"); - } - } - } - - uri = []; - if(relobj.scheme){ - uri.push(relobj.scheme, ":"); - } - if(relobj.authority){ - uri.push("//", relobj.authority); - } - uri.push(relobj.path); - if(relobj.query){ - uri.push("?", relobj.query); - } - if(relobj.fragment){ - uri.push("#", relobj.fragment); - } - } - - this.uri = uri.join(""); - - // break the uri into its main components - var r = this.uri.match(ore); - - this.scheme = r[2] || (r[1] ? "" : n); - this.authority = r[4] || (r[3] ? "" : n); - this.path = r[5]; // can never be undefined - this.query = r[7] || (r[6] ? "" : n); - this.fragment = r[9] || (r[8] ? "" : n); - - if(this.authority != n){ - // server based naming authority - r = this.authority.match(ire); - - this.user = r[3] || n; - this.password = r[4] || n; - this.host = r[6] || r[7]; // ipv6 || ipv4 - this.port = r[9] || n; - } - } - - dojo._Url.prototype.toString = function(){ return this.uri; }; - - dojo.moduleUrl = function(/*String*/module, /*dojo._Url||String*/url){ - // summary: - // Returns a `dojo._Url` object relative to a module. - // example: - // | var pngPath = dojo.moduleUrl("acme","images/small.png"); - // | console.dir(pngPath); // list the object properties - // | // create an image and set it's source to pngPath's value: - // | var img = document.createElement("img"); - // | // NOTE: we assign the string representation of the url object - // | img.src = pngPath.toString(); - // | // add our image to the document - // | dojo.body().appendChild(img); - // example: - // you may de-reference as far as you like down the package - // hierarchy. This is sometimes handy to avoid lenghty relative - // urls or for building portable sub-packages. In this example, - // the `acme.widget` and `acme.util` directories may be located - // under different roots (see `dojo.registerModulePath`) but the - // the modules which reference them can be unaware of their - // relative locations on the filesystem: - // | // somewhere in a configuration block - // | dojo.registerModulePath("acme.widget", "../../acme/widget"); - // | dojo.registerModulePath("acme.util", "../../util"); - // | - // | // ... - // | - // | // code in a module using acme resources - // | var tmpltPath = dojo.moduleUrl("acme.widget","templates/template.html"); - // | var dataPath = dojo.moduleUrl("acme.util","resources/data.json"); - - var loc = d._getModuleSymbols(module).join('/'); - if(!loc){ return null; } - if(loc.lastIndexOf("/") != loc.length-1){ - loc += "/"; - } - - //If the path is an absolute path (starts with a / or is on another - //domain/xdomain) then don't add the baseUrl. - var colonIndex = loc.indexOf(":"); - if(loc.charAt(0) != "/" && (colonIndex == -1 || colonIndex > loc.indexOf("/"))){ - loc = d.baseUrl + loc; - } - - return new d._Url(loc, url); // dojo._Url - }; - - - -})(); - -/*===== -dojo.isBrowser = { - // example: - // | if(dojo.isBrowser){ ... } -}; - -dojo.isFF = { - // example: - // | if(dojo.isFF > 1){ ... } -}; - -dojo.isIE = { - // example: - // | if(dojo.isIE > 6){ - // | // we are IE7 - // | } -}; - -dojo.isSafari = { - // example: - // | if(dojo.isSafari){ ... } - // example: - // Detect iPhone: - // | if(dojo.isSafari && navigator.userAgent.indexOf("iPhone") != -1){ - // | // we are iPhone. Note, iPod touch reports "iPod" above and fails this test. - // | } -}; - -dojo = { - // isBrowser: Boolean - // True if the client is a web-browser - isBrowser: true, - // isFF: Number | undefined - // Version as a Number if client is FireFox. undefined otherwise. Corresponds to - // major detected FireFox version (1.5, 2, 3, etc.) - isFF: 2, - // isIE: Number | undefined - // Version as a Number if client is MSIE(PC). undefined otherwise. Corresponds to - // major detected IE version (6, 7, 8, etc.) - isIE: 6, - // isKhtml: Number | undefined - // Version as a Number if client is a KHTML browser. undefined otherwise. Corresponds to major - // detected version. - isKhtml: 0, - // isWebKit: Number | undefined - // Version as a Number if client is a WebKit-derived browser (Konqueror, - // Safari, Chrome, etc.). undefined otherwise. - isWebKit: 0, - // isMozilla: Number | undefined - // Version as a Number if client is a Mozilla-based browser (Firefox, - // SeaMonkey). undefined otherwise. Corresponds to major detected version. - isMozilla: 0, - // isOpera: Number | undefined - // Version as a Number if client is Opera. undefined otherwise. Corresponds to - // major detected version. - isOpera: 0, - // isSafari: Number | undefined - // Version as a Number if client is Safari or iPhone. undefined otherwise. - isSafari: 0, - // isChrome: Number | undefined - // Version as a Number if client is Chrome browser. undefined otherwise. - isChrome: 0 - // isMac: Boolean - // True if the client runs on Mac -} -=====*/ -if(typeof window != 'undefined'){ - dojo.isBrowser = true; - dojo._name = "browser"; - - - // attempt to figure out the path to dojo if it isn't set in the config - (function(){ - var d = dojo; - - // this is a scope protection closure. We set browser versions and grab - // the URL we were loaded from here. - - // grab the node we were loaded from - if(document && document.getElementsByTagName){ - var scripts = document.getElementsByTagName("script"); - var rePkg = /dojo(\.xd)?\.js(\W|$)/i; - for(var i = 0; i < scripts.length; i++){ - var src = scripts[i].getAttribute("src"); - if(!src){ continue; } - var m = src.match(rePkg); - if(m){ - // find out where we came from - if(!d.config.baseUrl){ - d.config.baseUrl = src.substring(0, m.index); - } - // and find out if we need to modify our behavior - var cfg = (scripts[i].getAttribute("djConfig") || scripts[i].getAttribute("data-dojo-config")); - if(cfg){ - var cfgo = eval("({ "+cfg+" })"); - for(var x in cfgo){ - dojo.config[x] = cfgo[x]; - } - } - break; // "first Dojo wins" - } - } - } - d.baseUrl = d.config.baseUrl; - - // fill in the rendering support information in dojo.render.* - var n = navigator; - var dua = n.userAgent, - dav = n.appVersion, - tv = parseFloat(dav); - - if(dua.indexOf("Opera") >= 0){ d.isOpera = tv; } - if(dua.indexOf("AdobeAIR") >= 0){ d.isAIR = 1; } - d.isKhtml = (dav.indexOf("Konqueror") >= 0) ? tv : 0; - d.isWebKit = parseFloat(dua.split("WebKit/")[1]) || undefined; - d.isChrome = parseFloat(dua.split("Chrome/")[1]) || undefined; - d.isMac = dav.indexOf("Macintosh") >= 0; - - // safari detection derived from: - // http://developer.apple.com/internet/safari/faq.html#anchor2 - // http://developer.apple.com/internet/safari/uamatrix.html - var index = Math.max(dav.indexOf("WebKit"), dav.indexOf("Safari"), 0); - if(index && !dojo.isChrome){ - // try to grab the explicit Safari version first. If we don't get - // one, look for less than 419.3 as the indication that we're on something - // "Safari 2-ish". - d.isSafari = parseFloat(dav.split("Version/")[1]); - if(!d.isSafari || parseFloat(dav.substr(index + 7)) <= 419.3){ - d.isSafari = 2; - } - } - - if(dua.indexOf("Gecko") >= 0 && !d.isKhtml && !d.isWebKit){ d.isMozilla = d.isMoz = tv; } - if(d.isMoz){ - //We really need to get away from this. Consider a sane isGecko approach for the future. - d.isFF = parseFloat(dua.split("Firefox/")[1] || dua.split("Minefield/")[1]) || undefined; - } - if(document.all && !d.isOpera){ - d.isIE = parseFloat(dav.split("MSIE ")[1]) || undefined; - //In cases where the page has an HTTP header or META tag with - //X-UA-Compatible, then it is in emulation mode. - //Make sure isIE reflects the desired version. - //document.documentMode of 5 means quirks mode. - //Only switch the value if documentMode's major version - //is different from isIE's major version. - var mode = document.documentMode; - if(mode && mode != 5 && Math.floor(d.isIE) != mode){ - d.isIE = mode; - } - } - - //Workaround to get local file loads of dojo to work on IE 7 - //by forcing to not use native xhr. - if(dojo.isIE && window.location.protocol === "file:"){ - dojo.config.ieForceActiveXXhr=true; - } - - d.isQuirks = document.compatMode == "BackCompat"; - - // TODO: is the HTML LANG attribute relevant? - d.locale = dojo.config.locale || (d.isIE ? n.userLanguage : n.language).toLowerCase(); - - // These are in order of decreasing likelihood; this will change in time. - d._XMLHTTP_PROGIDS = ['Msxml2.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.4.0']; - - d._xhrObj = function(){ - // summary: - // does the work of portably generating a new XMLHTTPRequest object. - var http, last_e; - if(!dojo.isIE || !dojo.config.ieForceActiveXXhr){ - try{ http = new XMLHttpRequest(); }catch(e){} - } - if(!http){ - for(var i=0; i<3; ++i){ - var progid = d._XMLHTTP_PROGIDS[i]; - try{ - http = new ActiveXObject(progid); - }catch(e){ - last_e = e; - } - - if(http){ - d._XMLHTTP_PROGIDS = [progid]; // so faster next time - break; - } - } - } - - if(!http){ - throw new Error("XMLHTTP not available: "+last_e); - } - - return http; // XMLHTTPRequest instance - } - - d._isDocumentOk = function(http){ - var stat = http.status || 0, - lp = location.protocol; - return (stat >= 200 && stat < 300) || // Boolean - stat == 304 || // allow any 2XX response code - stat == 1223 || // get it out of the cache - // Internet Explorer mangled the status code - // Internet Explorer mangled the status code OR we're Titanium/browser chrome/chrome extension requesting a local file - (!stat && (lp == "file:" || lp == "chrome:" || lp == "chrome-extension:" || lp == "app:")); - } - - //See if base tag is in use. - //This is to fix http://trac.dojotoolkit.org/ticket/3973, - //but really, we need to find out how to get rid of the dojo._Url reference - //below and still have DOH work with the dojo.i18n test following some other - //test that uses the test frame to load a document (trac #2757). - //Opera still has problems, but perhaps a larger issue of base tag support - //with XHR requests (hasBase is true, but the request is still made to document - //path, not base path). - var owloc = window.location+""; - var base = document.getElementsByTagName("base"); - var hasBase = (base && base.length > 0); - - d._getText = function(/*URI*/ uri, /*Boolean*/ fail_ok){ - // summary: Read the contents of the specified uri and return those contents. - // uri: - // A relative or absolute uri. If absolute, it still must be in - // the same "domain" as we are. - // fail_ok: - // Default false. If fail_ok and loading fails, return null - // instead of throwing. - // returns: The response text. null is returned when there is a - // failure and failure is okay (an exception otherwise) - - // NOTE: must be declared before scope switches ie. this._xhrObj() - var http = d._xhrObj(); - - if(!hasBase && dojo._Url){ - uri = (new dojo._Url(owloc, uri)).toString(); - } - - if(d.config.cacheBust){ - //Make sure we have a string before string methods are used on uri - uri += ""; - uri += (uri.indexOf("?") == -1 ? "?" : "&") + String(d.config.cacheBust).replace(/\W+/g,""); - } - - http.open('GET', uri, false); - try{ - http.send(null); - if(!d._isDocumentOk(http)){ - var err = Error("Unable to load "+uri+" status:"+ http.status); - err.status = http.status; - err.responseText = http.responseText; - throw err; - } - }catch(e){ - if(fail_ok){ return null; } // null - // rethrow the exception - throw e; - } - return http.responseText; // String - } - - - var _w = window; - var _handleNodeEvent = function(/*String*/evtName, /*Function*/fp){ - // summary: - // non-destructively adds the specified function to the node's - // evtName handler. - // evtName: should be in the form "onclick" for "onclick" handlers. - // Make sure you pass in the "on" part. - var _a = _w.attachEvent || _w.addEventListener; - evtName = _w.attachEvent ? evtName : evtName.substring(2); - _a(evtName, function(){ - fp.apply(_w, arguments); - }, false); - }; - - - d._windowUnloaders = []; - - d.windowUnloaded = function(){ - // summary: - // signal fired by impending window destruction. You may use - // dojo.addOnWindowUnload() to register a listener for this - // event. NOTE: if you wish to dojo.connect() to this method - // to perform page/application cleanup, be aware that this - // event WILL NOT fire if no handler has been registered with - // dojo.addOnWindowUnload. This behavior started in Dojo 1.3. - // Previous versions always triggered dojo.windowUnloaded. See - // dojo.addOnWindowUnload for more info. - var mll = d._windowUnloaders; - while(mll.length){ - (mll.pop())(); - } - d = null; - }; - - var _onWindowUnloadAttached = 0; - d.addOnWindowUnload = function(/*Object?|Function?*/obj, /*String|Function?*/functionName){ - // summary: - // registers a function to be triggered when window.onunload - // fires. - // description: - // The first time that addOnWindowUnload is called Dojo - // will register a page listener to trigger your unload - // handler with. Note that registering these handlers may - // destory "fastback" page caching in browsers that support - // it. Be careful trying to modify the DOM or access - // JavaScript properties during this phase of page unloading: - // they may not always be available. Consider - // dojo.addOnUnload() if you need to modify the DOM or do - // heavy JavaScript work since it fires at the eqivalent of - // the page's "onbeforeunload" event. - // example: - // | dojo.addOnWindowUnload(functionPointer) - // | dojo.addOnWindowUnload(object, "functionName"); - // | dojo.addOnWindowUnload(object, function(){ /* ... */}); - - d._onto(d._windowUnloaders, obj, functionName); - if(!_onWindowUnloadAttached){ - _onWindowUnloadAttached = 1; - _handleNodeEvent("onunload", d.windowUnloaded); - } - }; - - var _onUnloadAttached = 0; - d.addOnUnload = function(/*Object?|Function?*/obj, /*String|Function?*/functionName){ - // summary: - // registers a function to be triggered when the page unloads. - // description: - // The first time that addOnUnload is called Dojo will - // register a page listener to trigger your unload handler - // with. - // - // In a browser enviroment, the functions will be triggered - // during the window.onbeforeunload event. Be careful of doing - // too much work in an unload handler. onbeforeunload can be - // triggered if a link to download a file is clicked, or if - // the link is a javascript: link. In these cases, the - // onbeforeunload event fires, but the document is not - // actually destroyed. So be careful about doing destructive - // operations in a dojo.addOnUnload callback. - // - // Further note that calling dojo.addOnUnload will prevent - // browsers from using a "fast back" cache to make page - // loading via back button instantaneous. - // example: - // | dojo.addOnUnload(functionPointer) - // | dojo.addOnUnload(object, "functionName") - // | dojo.addOnUnload(object, function(){ /* ... */}); - - d._onto(d._unloaders, obj, functionName); - if(!_onUnloadAttached){ - _onUnloadAttached = 1; - _handleNodeEvent("onbeforeunload", dojo.unloaded); - } - }; - - })(); - - //START DOMContentLoaded - dojo._initFired = false; - dojo._loadInit = function(e){ - if(dojo._scrollIntervalId){ - clearInterval(dojo._scrollIntervalId); - dojo._scrollIntervalId = 0; - } - - if(!dojo._initFired){ - dojo._initFired = true; - - //Help out IE to avoid memory leak. - if(!dojo.config.afterOnLoad && window.detachEvent){ - window.detachEvent("onload", dojo._loadInit); - } - - if(dojo._inFlightCount == 0){ - dojo._modulesLoaded(); - } - } - } - - if(!dojo.config.afterOnLoad){ - if(document.addEventListener){ - //Standards. Hooray! Assumption here that if standards based, - //it knows about DOMContentLoaded. It is OK if it does not, the fall through - //to window onload should be good enough. - document.addEventListener("DOMContentLoaded", dojo._loadInit, false); - window.addEventListener("load", dojo._loadInit, false); - }else if(window.attachEvent){ - window.attachEvent("onload", dojo._loadInit); - - //DOMContentLoaded approximation. Diego Perini found this MSDN article - //that indicates doScroll is available after DOM ready, so do a setTimeout - //to check when it is available. - //http://msdn.microsoft.com/en-us/library/ms531426.aspx - if(!dojo.config.skipIeDomLoaded && self === self.top){ - dojo._scrollIntervalId = setInterval(function (){ - try{ - //When dojo is loaded into an iframe in an IE HTML Application - //(HTA), such as in a selenium test, javascript in the iframe - //can't see anything outside of it, so self===self.top is true, - //but the iframe is not the top window and doScroll will be - //available before document.body is set. Test document.body - //before trying the doScroll trick - if(document.body){ - document.documentElement.doScroll("left"); - dojo._loadInit(); - } - }catch (e){} - }, 30); - } - } - } - - if(dojo.isIE){ - try{ - (function(){ - document.namespaces.add("v", "urn:schemas-microsoft-com:vml"); - var vmlElems = ["*", "group", "roundrect", "oval", "shape", "rect", "imagedata", "path", "textpath", "text"], - i = 0, l = 1, s = document.createStyleSheet(); - if(dojo.isIE >= 8){ - i = 1; - l = vmlElems.length; - } - for(; i < l; ++i){ - s.addRule("v\\:" + vmlElems[i], "behavior:url(#default#VML); display:inline-block"); - } - })(); - }catch(e){} - } - //END DOMContentLoaded - - - /* - OpenAjax.subscribe("OpenAjax", "onload", function(){ - if(dojo._inFlightCount == 0){ - dojo._modulesLoaded(); - } - }); - - OpenAjax.subscribe("OpenAjax", "onunload", function(){ - dojo.unloaded(); - }); - */ -} //if (typeof window != 'undefined') - -//Register any module paths set up in djConfig. Need to do this -//in the hostenvs since hostenv_browser can read djConfig from a -//script tag's attribute. -(function(){ - var mp = dojo.config["modulePaths"]; - if(mp){ - for(var param in mp){ - dojo.registerModulePath(param, mp[param]); - } - } -})(); - -//Load debug code if necessary. -if(dojo.config.isDebug){ - dojo.require("dojo._firebug.firebug"); -} - -if(dojo.config.debugAtAllCosts){ - // this breaks the new AMD based module loader. The XDomain won't be necessary - // anyway if you switch to the asynchronous loader - //dojo.config.useXDomain = true; - //dojo.require("dojo._base._loader.loader_xd"); - dojo.require("dojo._base._loader.loader_debug"); - dojo.require("dojo.i18n"); -} - - -if(!dojo._hasResource["dojo._base.lang"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojo._base.lang"] = true; -dojo.provide("dojo._base.lang"); - - -(function(){ - var d = dojo, opts = Object.prototype.toString; - - // Crockford (ish) functions - - dojo.isString = function(/*anything*/ it){ - // summary: - // Return true if it is a String - return (typeof it == "string" || it instanceof String); // Boolean - }; - - dojo.isArray = function(/*anything*/ it){ - // summary: - // Return true if it is an Array. - // Does not work on Arrays created in other windows. - return it && (it instanceof Array || typeof it == "array"); // Boolean - }; - - dojo.isFunction = function(/*anything*/ it){ - // summary: - // Return true if it is a Function - return opts.call(it) === "[object Function]"; - }; - - dojo.isObject = function(/*anything*/ it){ - // summary: - // Returns true if it is a JavaScript object (or an Array, a Function - // or null) - return it !== undefined && - (it === null || typeof it == "object" || d.isArray(it) || d.isFunction(it)); // Boolean - }; - - dojo.isArrayLike = function(/*anything*/ it){ - // summary: - // similar to dojo.isArray() but more permissive - // description: - // Doesn't strongly test for "arrayness". Instead, settles for "isn't - // a string or number and has a length property". Arguments objects - // and DOM collections will return true when passed to - // dojo.isArrayLike(), but will return false when passed to - // dojo.isArray(). - // returns: - // If it walks like a duck and quacks like a duck, return `true` - return it && it !== undefined && // Boolean - // keep out built-in constructors (Number, String, ...) which have length - // properties - !d.isString(it) && !d.isFunction(it) && - !(it.tagName && it.tagName.toLowerCase() == 'form') && - (d.isArray(it) || isFinite(it.length)); - }; - - dojo.isAlien = function(/*anything*/ it){ - // summary: - // Returns true if it is a built-in function or some other kind of - // oddball that *should* report as a function but doesn't - return it && !d.isFunction(it) && /\{\s*\[native code\]\s*\}/.test(String(it)); // Boolean - }; - - dojo.extend = function(/*Object*/ constructor, /*Object...*/ props){ - // summary: - // Adds all properties and methods of props to constructor's - // prototype, making them available to all instances created with - // constructor. - for(var i=1, l=arguments.length; i 2){ - return d._hitchArgs.apply(d, arguments); // Function - } - if(!method){ - method = scope; - scope = null; - } - if(d.isString(method)){ - scope = scope || d.global; - if(!scope[method]){ throw(['dojo.hitch: scope["', method, '"] is null (scope="', scope, '")'].join('')); } - return function(){ return scope[method].apply(scope, arguments || []); }; // Function - } - return !scope ? method : function(){ return method.apply(scope, arguments || []); }; // Function - }; - - /*===== - dojo.delegate = function(obj, props){ - // summary: - // Returns a new object which "looks" to obj for properties which it - // does not have a value for. Optionally takes a bag of properties to - // seed the returned object with initially. - // description: - // This is a small implementaton of the Boodman/Crockford delegation - // pattern in JavaScript. An intermediate object constructor mediates - // the prototype chain for the returned object, using it to delegate - // down to obj for property lookup when object-local lookup fails. - // This can be thought of similarly to ES4's "wrap", save that it does - // not act on types but rather on pure objects. - // obj: - // The object to delegate to for properties not found directly on the - // return object or in props. - // props: - // an object containing properties to assign to the returned object - // returns: - // an Object of anonymous type - // example: - // | var foo = { bar: "baz" }; - // | var thinger = dojo.delegate(foo, { thud: "xyzzy"}); - // | thinger.bar == "baz"; // delegated to foo - // | foo.thud == undefined; // by definition - // | thinger.thud == "xyzzy"; // mixed in from props - // | foo.bar = "thonk"; - // | thinger.bar == "thonk"; // still delegated to foo's bar - } - =====*/ - - dojo.delegate = dojo._delegate = (function(){ - // boodman/crockford delegation w/ cornford optimization - function TMP(){} - return function(obj, props){ - TMP.prototype = obj; - var tmp = new TMP(); - TMP.prototype = null; - if(props){ - d._mixin(tmp, props); - } - return tmp; // Object - }; - })(); - - /*===== - dojo._toArray = function(obj, offset, startWith){ - // summary: - // Converts an array-like object (i.e. arguments, DOMCollection) to an - // array. Returns a new Array with the elements of obj. - // obj: Object - // the object to "arrayify". We expect the object to have, at a - // minimum, a length property which corresponds to integer-indexed - // properties. - // offset: Number? - // the location in obj to start iterating from. Defaults to 0. - // Optional. - // startWith: Array? - // An array to pack with the properties of obj. If provided, - // properties in obj are appended at the end of startWith and - // startWith is the returned array. - } - =====*/ - - var efficient = function(obj, offset, startWith){ - return (startWith||[]).concat(Array.prototype.slice.call(obj, offset||0)); - }; - - var slow = function(obj, offset, startWith){ - var arr = startWith||[]; - for(var x = offset || 0; x < obj.length; x++){ - arr.push(obj[x]); - } - return arr; - }; - - dojo._toArray = - d.isIE ? function(obj){ - return ((obj.item) ? slow : efficient).apply(this, arguments); - } : - efficient; - - dojo.partial = function(/*Function|String*/method /*, ...*/){ - // summary: - // similar to hitch() except that the scope object is left to be - // whatever the execution context eventually becomes. - // description: - // Calling dojo.partial is the functional equivalent of calling: - // | dojo.hitch(null, funcName, ...); - var arr = [ null ]; - return d.hitch.apply(d, arr.concat(d._toArray(arguments))); // Function - }; - - var extraNames = d._extraNames, extraLen = extraNames.length, empty = {}; - - dojo.clone = function(/*anything*/ o){ - // summary: - // Clones objects (including DOM nodes) and all children. - // Warning: do not clone cyclic structures. - if(!o || typeof o != "object" || d.isFunction(o)){ - // null, undefined, any non-object, or function - return o; // anything - } - if(o.nodeType && "cloneNode" in o){ - // DOM Node - return o.cloneNode(true); // Node - } - if(o instanceof Date){ - // Date - return new Date(o.getTime()); // Date - } - if(o instanceof RegExp){ - // RegExp - return new RegExp(o); // RegExp - } - var r, i, l, s, name; - if(d.isArray(o)){ - // array - r = []; - for(i = 0, l = o.length; i < l; ++i){ - if(i in o){ - r.push(d.clone(o[i])); - } - } -// we don't clone functions for performance reasons -// }else if(d.isFunction(o)){ -// // function -// r = function(){ return o.apply(this, arguments); }; - }else{ - // generic objects - r = o.constructor ? new o.constructor() : {}; - } - for(name in o){ - // the "tobj" condition avoid copying properties in "source" - // inherited from Object.prototype. For example, if target has a custom - // toString() method, don't overwrite it with the toString() method - // that source inherited from Object.prototype - s = o[name]; - if(!(name in r) || (r[name] !== s && (!(name in empty) || empty[name] !== s))){ - r[name] = d.clone(s); - } - } - // IE doesn't recognize some custom functions in for..in - if(extraLen){ - for(i = 0; i < extraLen; ++i){ - name = extraNames[i]; - s = o[name]; - if(!(name in r) || (r[name] !== s && (!(name in empty) || empty[name] !== s))){ - r[name] = s; // functions only, we don't clone them - } - } - } - return r; // Object - }; - - /*===== - dojo.trim = function(str){ - // summary: - // Trims whitespace from both sides of the string - // str: String - // String to be trimmed - // returns: String - // Returns the trimmed string - // description: - // This version of trim() was selected for inclusion into the base due - // to its compact size and relatively good performance - // (see [Steven Levithan's blog](http://blog.stevenlevithan.com/archives/faster-trim-javascript) - // Uses String.prototype.trim instead, if available. - // The fastest but longest version of this function is located at - // dojo.string.trim() - return ""; // String - } - =====*/ - - dojo.trim = String.prototype.trim ? - function(str){ return str.trim(); } : - function(str){ return str.replace(/^\s\s*/, '').replace(/\s\s*$/, ''); }; - - /*===== - dojo.replace = function(tmpl, map, pattern){ - // summary: - // Performs parameterized substitutions on a string. Throws an - // exception if any parameter is unmatched. - // tmpl: String - // String to be used as a template. - // map: Object|Function - // If an object, it is used as a dictionary to look up substitutions. - // If a function, it is called for every substitution with following - // parameters: a whole match, a name, an offset, and the whole template - // string (see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/replace - // for more details). - // pattern: RegEx? - // Optional regular expression objects that overrides the default pattern. - // Must be global and match one item. The default is: /\{([^\}]+)\}/g, - // which matches patterns like that: "{xxx}", where "xxx" is any sequence - // of characters, which doesn't include "}". - // returns: String - // Returns the substituted string. - // example: - // | // uses a dictionary for substitutions: - // | dojo.replace("Hello, {name.first} {name.last} AKA {nick}!", - // | { - // | nick: "Bob", - // | name: { - // | first: "Robert", - // | middle: "X", - // | last: "Cringely" - // | } - // | }); - // | // returns: Hello, Robert Cringely AKA Bob! - // example: - // | // uses an array for substitutions: - // | dojo.replace("Hello, {0} {2}!", - // | ["Robert", "X", "Cringely"]); - // | // returns: Hello, Robert Cringely! - // example: - // | // uses a function for substitutions: - // | function sum(a){ - // | var t = 0; - // | dojo.forEach(a, function(x){ t += x; }); - // | return t; - // | } - // | dojo.replace( - // | "{count} payments averaging {avg} USD per payment.", - // | dojo.hitch( - // | { payments: [11, 16, 12] }, - // | function(_, key){ - // | switch(key){ - // | case "count": return this.payments.length; - // | case "min": return Math.min.apply(Math, this.payments); - // | case "max": return Math.max.apply(Math, this.payments); - // | case "sum": return sum(this.payments); - // | case "avg": return sum(this.payments) / this.payments.length; - // | } - // | } - // | ) - // | ); - // | // prints: 3 payments averaging 13 USD per payment. - // example: - // | // uses an alternative PHP-like pattern for substitutions: - // | dojo.replace("Hello, ${0} ${2}!", - // | ["Robert", "X", "Cringely"], /\$\{([^\}]+)\}/g); - // | // returns: Hello, Robert Cringely! - return ""; // String - } - =====*/ - - var _pattern = /\{([^\}]+)\}/g; - dojo.replace = function(tmpl, map, pattern){ - return tmpl.replace(pattern || _pattern, d.isFunction(map) ? - map : function(_, k){ return d.getObject(k, false, map); }); - }; -})(); - -} - -if(!dojo._hasResource["dojo._base.array"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojo._base.array"] = true; -dojo.provide("dojo._base.array"); - - - -(function(){ - var _getParts = function(arr, obj, cb){ - return [ - (typeof arr == "string") ? arr.split("") : arr, - obj || dojo.global, - // FIXME: cache the anonymous functions we create here? - (typeof cb == "string") ? new Function("item", "index", "array", cb) : cb - ]; - }; - - var everyOrSome = function(/*Boolean*/every, /*Array|String*/arr, /*Function|String*/callback, /*Object?*/thisObject){ - var _p = _getParts(arr, thisObject, callback); arr = _p[0]; - for(var i=0,l=arr.length; i end) || i < end){ - for(; i != end; i += step){ - if(array[i] == value){ return i; } - } - } - return -1; // Number - }, - - lastIndexOf: function(/*Array*/array, /*Object*/value, /*Integer?*/fromIndex){ - // summary: - // locates the last index of the provided value in the passed - // array. If the value is not found, -1 is returned. - // description: - // This method corresponds to the JavaScript 1.6 Array.lastIndexOf method, with one difference: when - // run over sparse arrays, the Dojo function invokes the callback for every index whereas JavaScript - // 1.6's lastIndexOf skips the holes in the sparse array. - // For details on this method, see: - // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/lastIndexOf - return dojo.indexOf(array, value, fromIndex, true); // Number - }, - - forEach: function(/*Array|String*/arr, /*Function|String*/callback, /*Object?*/thisObject){ - // summary: - // for every item in arr, callback is invoked. Return values are ignored. - // If you want to break out of the loop, consider using dojo.every() or dojo.some(). - // forEach does not allow breaking out of the loop over the items in arr. - // arr: - // the array to iterate over. If a string, operates on individual characters. - // callback: - // a function is invoked with three arguments: item, index, and array - // thisObject: - // may be used to scope the call to callback - // description: - // This function corresponds to the JavaScript 1.6 Array.forEach() method, with one difference: when - // run over sparse arrays, this implemenation passes the "holes" in the sparse array to - // the callback function with a value of undefined. JavaScript 1.6's forEach skips the holes in the sparse array. - // For more details, see: - // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/forEach - // example: - // | // log out all members of the array: - // | dojo.forEach( - // | [ "thinger", "blah", "howdy", 10 ], - // | function(item){ - // | console.log(item); - // | } - // | ); - // example: - // | // log out the members and their indexes - // | dojo.forEach( - // | [ "thinger", "blah", "howdy", 10 ], - // | function(item, idx, arr){ - // | console.log(item, "at index:", idx); - // | } - // | ); - // example: - // | // use a scoped object member as the callback - // | - // | var obj = { - // | prefix: "logged via obj.callback:", - // | callback: function(item){ - // | console.log(this.prefix, item); - // | } - // | }; - // | - // | // specifying the scope function executes the callback in that scope - // | dojo.forEach( - // | [ "thinger", "blah", "howdy", 10 ], - // | obj.callback, - // | obj - // | ); - // | - // | // alternately, we can accomplish the same thing with dojo.hitch() - // | dojo.forEach( - // | [ "thinger", "blah", "howdy", 10 ], - // | dojo.hitch(obj, "callback") - // | ); - - // match the behavior of the built-in forEach WRT empty arrs - if(!arr || !arr.length){ return; } - - // FIXME: there are several ways of handilng thisObject. Is - // dojo.global always the default context? - var _p = _getParts(arr, thisObject, callback); arr = _p[0]; - for(var i=0,l=arr.length; i1; }); - // example: - // | // returns true - // | dojo.every([1, 2, 3, 4], function(item){ return item>0; }); - return everyOrSome(true, arr, callback, thisObject); // Boolean - }, - - some: function(/*Array|String*/arr, /*Function|String*/callback, /*Object?*/thisObject){ - // summary: - // Determines whether or not any item in arr satisfies the - // condition implemented by callback. - // arr: - // the array to iterate over. If a string, operates on individual characters. - // callback: - // a function is invoked with three arguments: item, index, - // and array and returns true if the condition is met. - // thisObject: - // may be used to scope the call to callback - // description: - // This function corresponds to the JavaScript 1.6 Array.some() method, with one difference: when - // run over sparse arrays, this implemenation passes the "holes" in the sparse array to - // the callback function with a value of undefined. JavaScript 1.6's some skips the holes in the sparse array. - // For more details, see: - // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/some - // example: - // | // is true - // | dojo.some([1, 2, 3, 4], function(item){ return item>1; }); - // example: - // | // is false - // | dojo.some([1, 2, 3, 4], function(item){ return item<1; }); - return everyOrSome(false, arr, callback, thisObject); // Boolean - }, - - map: function(/*Array|String*/arr, /*Function|String*/callback, /*Function?*/thisObject){ - // summary: - // applies callback to each element of arr and returns - // an Array with the results - // arr: - // the array to iterate on. If a string, operates on - // individual characters. - // callback: - // a function is invoked with three arguments, (item, index, - // array), and returns a value - // thisObject: - // may be used to scope the call to callback - // description: - // This function corresponds to the JavaScript 1.6 Array.map() method, with one difference: when - // run over sparse arrays, this implemenation passes the "holes" in the sparse array to - // the callback function with a value of undefined. JavaScript 1.6's map skips the holes in the sparse array. - // For more details, see: - // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map - // example: - // | // returns [2, 3, 4, 5] - // | dojo.map([1, 2, 3, 4], function(item){ return item+1 }); - - var _p = _getParts(arr, thisObject, callback); arr = _p[0]; - var outArr = (arguments[3] ? (new arguments[3]()) : []); - for(var i=0,l=arr.length; i1; }); - - var _p = _getParts(arr, thisObject, callback); arr = _p[0]; - var outArr = []; - for(var i=0,l=arr.length; i= 0; --j){ - proto = lin[j].prototype; - if(!proto.hasOwnProperty("declaredClass")){ - proto.declaredClass = "uniqName_" + (counter++); - } - name = proto.declaredClass; - if(!nameMap.hasOwnProperty(name)){ - nameMap[name] = {count: 0, refs: [], cls: lin[j]}; - ++clsCount; - } - rec = nameMap[name]; - if(top && top !== rec){ - rec.refs.push(top); - ++top.count; - } - top = rec; - } - ++top.count; - roots[0].refs.push(top); - } - - // remove classes without external references recursively - while(roots.length){ - top = roots.pop(); - result.push(top.cls); - --clsCount; - // optimization: follow a single-linked chain - while(refs = top.refs, refs.length == 1){ - top = refs[0]; - if(!top || --top.count){ - // branch or end of chain => do not end to roots - top = 0; - break; - } - result.push(top.cls); - --clsCount; - } - if(top){ - // branch - for(i = 0, l = refs.length; i < l; ++i){ - top = refs[i]; - if(!--top.count){ - roots.push(top); - } - } - } - } - if(clsCount){ - err("can't build consistent linearization", className); - } - - // calculate the superclass offset - base = bases[0]; - result[0] = base ? - base._meta && base === result[result.length - base._meta.bases.length] ? - base._meta.bases.length : 1 : 0; - - return result; - } - - function inherited(args, a, f){ - var name, chains, bases, caller, meta, base, proto, opf, pos, - cache = this._inherited = this._inherited || {}; - - // crack arguments - if(typeof args == "string"){ - name = args; - args = a; - a = f; - } - f = 0; - - caller = args.callee; - name = name || caller.nom; - if(!name){ - err("can't deduce a name to call inherited()", this.declaredClass); - } - - meta = this.constructor._meta; - bases = meta.bases; - - pos = cache.p; - if(name != cname){ - // method - if(cache.c !== caller){ - // cache bust - pos = 0; - base = bases[0]; - meta = base._meta; - if(meta.hidden[name] !== caller){ - // error detection - chains = meta.chains; - if(chains && typeof chains[name] == "string"){ - err("calling chained method with inherited: " + name, this.declaredClass); - } - // find caller - do{ - meta = base._meta; - proto = base.prototype; - if(meta && (proto[name] === caller && proto.hasOwnProperty(name) || meta.hidden[name] === caller)){ - break; - } - }while(base = bases[++pos]); // intentional assignment - pos = base ? pos : -1; - } - } - // find next - base = bases[++pos]; - if(base){ - proto = base.prototype; - if(base._meta && proto.hasOwnProperty(name)){ - f = proto[name]; - }else{ - opf = op[name]; - do{ - proto = base.prototype; - f = proto[name]; - if(f && (base._meta ? proto.hasOwnProperty(name) : f !== opf)){ - break; - } - }while(base = bases[++pos]); // intentional assignment - } - } - f = base && f || op[name]; - }else{ - // constructor - if(cache.c !== caller){ - // cache bust - pos = 0; - meta = bases[0]._meta; - if(meta && meta.ctor !== caller){ - // error detection - chains = meta.chains; - if(!chains || chains.constructor !== "manual"){ - err("calling chained constructor with inherited", this.declaredClass); - } - // find caller - while(base = bases[++pos]){ // intentional assignment - meta = base._meta; - if(meta && meta.ctor === caller){ - break; - } - } - pos = base ? pos : -1; - } - } - // find next - while(base = bases[++pos]){ // intentional assignment - meta = base._meta; - f = meta ? meta.ctor : base; - if(f){ - break; - } - } - f = base && f; - } - - // cache the found super method - cache.c = f; - cache.p = pos; - - // now we have the result - if(f){ - return a === true ? f : f.apply(this, a || args); - } - // intentionally if a super method was not found - } - - function getInherited(name, args){ - if(typeof name == "string"){ - return this.inherited(name, args, true); - } - return this.inherited(name, true); - } - - // emulation of "instanceof" - function isInstanceOf(cls){ - var bases = this.constructor._meta.bases; - for(var i = 0, l = bases.length; i < l; ++i){ - if(bases[i] === cls){ - return true; - } - } - return this instanceof cls; - } - - function mixOwn(target, source){ - var name, i = 0, l = d._extraNames.length; - // add props adding metadata for incoming functions skipping a constructor - for(name in source){ - if(name != cname && source.hasOwnProperty(name)){ - target[name] = source[name]; - } - } - // process unenumerable methods on IE - for(; i < l; ++i){ - name = d._extraNames[i]; - if(name != cname && source.hasOwnProperty(name)){ - target[name] = source[name]; - } - } - } - - // implementation of safe mixin function - function safeMixin(target, source){ - var name, t, i = 0, l = d._extraNames.length; - // add props adding metadata for incoming functions skipping a constructor - for(name in source){ - t = source[name]; - if((t !== op[name] || !(name in op)) && name != cname){ - if(opts.call(t) == "[object Function]"){ - // non-trivial function method => attach its name - t.nom = name; - } - target[name] = t; - } - } - // process unenumerable methods on IE - for(; i < l; ++i){ - name = d._extraNames[i]; - t = source[name]; - if((t !== op[name] || !(name in op)) && name != cname){ - if(opts.call(t) == "[object Function]"){ - // non-trivial function method => attach its name - t.nom = name; - } - target[name] = t; - } - } - return target; - } - - function extend(source){ - safeMixin(this.prototype, source); - return this; - } - - // chained constructor compatible with the legacy dojo.declare() - function chainedConstructor(bases, ctorSpecial){ - return function(){ - var a = arguments, args = a, a0 = a[0], f, i, m, - l = bases.length, preArgs; - - if(!(this instanceof a.callee)){ - // not called via new, so force it - return applyNew(a); - } - - //this._inherited = {}; - // perform the shaman's rituals of the original dojo.declare() - // 1) call two types of the preamble - if(ctorSpecial && (a0 && a0.preamble || this.preamble)){ - // full blown ritual - preArgs = new Array(bases.length); - // prepare parameters - preArgs[0] = a; - for(i = 0;;){ - // process the preamble of the 1st argument - a0 = a[0]; - if(a0){ - f = a0.preamble; - if(f){ - a = f.apply(this, a) || a; - } - } - // process the preamble of this class - f = bases[i].prototype; - f = f.hasOwnProperty("preamble") && f.preamble; - if(f){ - a = f.apply(this, a) || a; - } - // one peculiarity of the preamble: - // it is called if it is not needed, - // e.g., there is no constructor to call - // let's watch for the last constructor - // (see ticket #9795) - if(++i == l){ - break; - } - preArgs[i] = a; - } - } - // 2) call all non-trivial constructors using prepared arguments - for(i = l - 1; i >= 0; --i){ - f = bases[i]; - m = f._meta; - f = m ? m.ctor : f; - if(f){ - f.apply(this, preArgs ? preArgs[i] : a); - } - } - // 3) continue the original ritual: call the postscript - f = this.postscript; - if(f){ - f.apply(this, args); - } - }; - } - - - // chained constructor compatible with the legacy dojo.declare() - function singleConstructor(ctor, ctorSpecial){ - return function(){ - var a = arguments, t = a, a0 = a[0], f; - - if(!(this instanceof a.callee)){ - // not called via new, so force it - return applyNew(a); - } - - //this._inherited = {}; - // perform the shaman's rituals of the original dojo.declare() - // 1) call two types of the preamble - if(ctorSpecial){ - // full blown ritual - if(a0){ - // process the preamble of the 1st argument - f = a0.preamble; - if(f){ - t = f.apply(this, t) || t; - } - } - f = this.preamble; - if(f){ - // process the preamble of this class - f.apply(this, t); - // one peculiarity of the preamble: - // it is called even if it is not needed, - // e.g., there is no constructor to call - // let's watch for the last constructor - // (see ticket #9795) - } - } - // 2) call a constructor - if(ctor){ - ctor.apply(this, a); - } - // 3) continue the original ritual: call the postscript - f = this.postscript; - if(f){ - f.apply(this, a); - } - }; - } - - // plain vanilla constructor (can use inherited() to call its base constructor) - function simpleConstructor(bases){ - return function(){ - var a = arguments, i = 0, f, m; - - if(!(this instanceof a.callee)){ - // not called via new, so force it - return applyNew(a); - } - - //this._inherited = {}; - // perform the shaman's rituals of the original dojo.declare() - // 1) do not call the preamble - // 2) call the top constructor (it can use this.inherited()) - for(; f = bases[i]; ++i){ // intentional assignment - m = f._meta; - f = m ? m.ctor : f; - if(f){ - f.apply(this, a); - break; - } - } - // 3) call the postscript - f = this.postscript; - if(f){ - f.apply(this, a); - } - }; - } - - function chain(name, bases, reversed){ - return function(){ - var b, m, f, i = 0, step = 1; - if(reversed){ - i = bases.length - 1; - step = -1; - } - for(; b = bases[i]; i += step){ // intentional assignment - m = b._meta; - f = (m ? m.hidden : b.prototype)[name]; - if(f){ - f.apply(this, arguments); - } - } - }; - } - - // forceNew(ctor) - // return a new object that inherits from ctor.prototype but - // without actually running ctor on the object. - function forceNew(ctor){ - // create object with correct prototype using a do-nothing - // constructor - xtor.prototype = ctor.prototype; - var t = new xtor; - xtor.prototype = null; // clean up - return t; - } - - // applyNew(args) - // just like 'new ctor()' except that the constructor and its arguments come - // from args, which must be an array or an arguments object - function applyNew(args){ - // create an object with ctor's prototype but without - // calling ctor on it. - var ctor = args.callee, t = forceNew(ctor); - // execute the real constructor on the new object - ctor.apply(t, args); - return t; - } - - d.declare = function(className, superclass, props){ - // crack parameters - if(typeof className != "string"){ - props = superclass; - superclass = className; - className = ""; - } - props = props || {}; - - var proto, i, t, ctor, name, bases, chains, mixins = 1, parents = superclass; - - // build a prototype - if(opts.call(superclass) == "[object Array]"){ - // C3 MRO - bases = c3mro(superclass, className); - t = bases[0]; - mixins = bases.length - t; - superclass = bases[mixins]; - }else{ - bases = [0]; - if(superclass){ - if(opts.call(superclass) == "[object Function]"){ - t = superclass._meta; - bases = bases.concat(t ? t.bases : superclass); - }else{ - err("base class is not a callable constructor.", className); - } - }else if(superclass !== null){ - err("unknown base class. Did you use dojo.require to pull it in?", className); - } - } - if(superclass){ - for(i = mixins - 1;; --i){ - proto = forceNew(superclass); - if(!i){ - // stop if nothing to add (the last base) - break; - } - // mix in properties - t = bases[i]; - (t._meta ? mixOwn : mix)(proto, t.prototype); - // chain in new constructor - ctor = new Function; - ctor.superclass = superclass; - ctor.prototype = proto; - superclass = proto.constructor = ctor; - } - }else{ - proto = {}; - } - // add all properties - safeMixin(proto, props); - // add constructor - t = props.constructor; - if(t !== op.constructor){ - t.nom = cname; - proto.constructor = t; - } - - // collect chains and flags - for(i = mixins - 1; i; --i){ // intentional assignment - t = bases[i]._meta; - if(t && t.chains){ - chains = mix(chains || {}, t.chains); - } - } - if(proto["-chains-"]){ - chains = mix(chains || {}, proto["-chains-"]); - } - - // build ctor - t = !chains || !chains.hasOwnProperty(cname); - bases[0] = ctor = (chains && chains.constructor === "manual") ? simpleConstructor(bases) : - (bases.length == 1 ? singleConstructor(props.constructor, t) : chainedConstructor(bases, t)); - - // add meta information to the constructor - ctor._meta = {bases: bases, hidden: props, chains: chains, - parents: parents, ctor: props.constructor}; - ctor.superclass = superclass && superclass.prototype; - ctor.extend = extend; - ctor.prototype = proto; - proto.constructor = ctor; - - // add "standard" methods to the prototype - proto.getInherited = getInherited; - proto.inherited = inherited; - proto.isInstanceOf = isInstanceOf; - - // add name if specified - if(className){ - proto.declaredClass = className; - d.setObject(className, ctor); - } - - // build chains and add them to the prototype - if(chains){ - for(name in chains){ - if(proto[name] && typeof chains[name] == "string" && name != cname){ - t = proto[name] = chain(name, bases, chains[name] === "after"); - t.nom = name; - } - } - } - // chained methods do not return values - // no need to chain "invisible" functions - - return ctor; // Function - }; - - d.safeMixin = safeMixin; - - /*===== - dojo.declare = function(className, superclass, props){ - // summary: - // Create a feature-rich constructor from compact notation. - // className: String?: - // The optional name of the constructor (loosely, a "class") - // stored in the "declaredClass" property in the created prototype. - // It will be used as a global name for a created constructor. - // superclass: Function|Function[]: - // May be null, a Function, or an Array of Functions. This argument - // specifies a list of bases (the left-most one is the most deepest - // base). - // props: Object: - // An object whose properties are copied to the created prototype. - // Add an instance-initialization function by making it a property - // named "constructor". - // returns: - // New constructor function. - // description: - // Create a constructor using a compact notation for inheritance and - // prototype extension. - // - // Mixin ancestors provide a type of multiple inheritance. - // Prototypes of mixin ancestors are copied to the new class: - // changes to mixin prototypes will not affect classes to which - // they have been mixed in. - // - // Ancestors can be compound classes created by this version of - // dojo.declare. In complex cases all base classes are going to be - // linearized according to C3 MRO algorithm - // (see http://www.python.org/download/releases/2.3/mro/ for more - // details). - // - // "className" is cached in "declaredClass" property of the new class, - // if it was supplied. The immediate super class will be cached in - // "superclass" property of the new class. - // - // Methods in "props" will be copied and modified: "nom" property - // (the declared name of the method) will be added to all copied - // functions to help identify them for the internal machinery. Be - // very careful, while reusing methods: if you use the same - // function under different names, it can produce errors in some - // cases. - // - // It is possible to use constructors created "manually" (without - // dojo.declare) as bases. They will be called as usual during the - // creation of an instance, their methods will be chained, and even - // called by "this.inherited()". - // - // Special property "-chains-" governs how to chain methods. It is - // a dictionary, which uses method names as keys, and hint strings - // as values. If a hint string is "after", this method will be - // called after methods of its base classes. If a hint string is - // "before", this method will be called before methods of its base - // classes. - // - // If "constructor" is not mentioned in "-chains-" property, it will - // be chained using the legacy mode: using "after" chaining, - // calling preamble() method before each constructor, if available, - // and calling postscript() after all constructors were executed. - // If the hint is "after", it is chained as a regular method, but - // postscript() will be called after the chain of constructors. - // "constructor" cannot be chained "before", but it allows - // a special hint string: "manual", which means that constructors - // are not going to be chained in any way, and programmer will call - // them manually using this.inherited(). In the latter case - // postscript() will be called after the construction. - // - // All chaining hints are "inherited" from base classes and - // potentially can be overridden. Be very careful when overriding - // hints! Make sure that all chained methods can work in a proposed - // manner of chaining. - // - // Once a method was chained, it is impossible to unchain it. The - // only exception is "constructor". You don't need to define a - // method in order to supply a chaining hint. - // - // If a method is chained, it cannot use this.inherited() because - // all other methods in the hierarchy will be called automatically. - // - // Usually constructors and initializers of any kind are chained - // using "after" and destructors of any kind are chained as - // "before". Note that chaining assumes that chained methods do not - // return any value: any returned value will be discarded. - // - // example: - // | dojo.declare("my.classes.bar", my.classes.foo, { - // | // properties to be added to the class prototype - // | someValue: 2, - // | // initialization function - // | constructor: function(){ - // | this.myComplicatedObject = new ReallyComplicatedObject(); - // | }, - // | // other functions - // | someMethod: function(){ - // | doStuff(); - // | } - // | }); - // - // example: - // | var MyBase = dojo.declare(null, { - // | // constructor, properties, and methods go here - // | // ... - // | }); - // | var MyClass1 = dojo.declare(MyBase, { - // | // constructor, properties, and methods go here - // | // ... - // | }); - // | var MyClass2 = dojo.declare(MyBase, { - // | // constructor, properties, and methods go here - // | // ... - // | }); - // | var MyDiamond = dojo.declare([MyClass1, MyClass2], { - // | // constructor, properties, and methods go here - // | // ... - // | }); - // - // example: - // | var F = function(){ console.log("raw constructor"); }; - // | F.prototype.method = function(){ - // | console.log("raw method"); - // | }; - // | var A = dojo.declare(F, { - // | constructor: function(){ - // | console.log("A.constructor"); - // | }, - // | method: function(){ - // | console.log("before calling F.method..."); - // | this.inherited(arguments); - // | console.log("...back in A"); - // | } - // | }); - // | new A().method(); - // | // will print: - // | // raw constructor - // | // A.constructor - // | // before calling F.method... - // | // raw method - // | // ...back in A - // - // example: - // | var A = dojo.declare(null, { - // | "-chains-": { - // | destroy: "before" - // | } - // | }); - // | var B = dojo.declare(A, { - // | constructor: function(){ - // | console.log("B.constructor"); - // | }, - // | destroy: function(){ - // | console.log("B.destroy"); - // | } - // | }); - // | var C = dojo.declare(B, { - // | constructor: function(){ - // | console.log("C.constructor"); - // | }, - // | destroy: function(){ - // | console.log("C.destroy"); - // | } - // | }); - // | new C().destroy(); - // | // prints: - // | // B.constructor - // | // C.constructor - // | // C.destroy - // | // B.destroy - // - // example: - // | var A = dojo.declare(null, { - // | "-chains-": { - // | constructor: "manual" - // | } - // | }); - // | var B = dojo.declare(A, { - // | constructor: function(){ - // | // ... - // | // call the base constructor with new parameters - // | this.inherited(arguments, [1, 2, 3]); - // | // ... - // | } - // | }); - // - // example: - // | var A = dojo.declare(null, { - // | "-chains-": { - // | m1: "before" - // | }, - // | m1: function(){ - // | console.log("A.m1"); - // | }, - // | m2: function(){ - // | console.log("A.m2"); - // | } - // | }); - // | var B = dojo.declare(A, { - // | "-chains-": { - // | m2: "after" - // | }, - // | m1: function(){ - // | console.log("B.m1"); - // | }, - // | m2: function(){ - // | console.log("B.m2"); - // | } - // | }); - // | var x = new B(); - // | x.m1(); - // | // prints: - // | // B.m1 - // | // A.m1 - // | x.m2(); - // | // prints: - // | // A.m2 - // | // B.m2 - return new Function(); // Function - }; - =====*/ - - /*===== - dojo.safeMixin = function(target, source){ - // summary: - // Mix in properties skipping a constructor and decorating functions - // like it is done by dojo.declare. - // target: Object - // Target object to accept new properties. - // source: Object - // Source object for new properties. - // description: - // This function is used to mix in properties like dojo._mixin does, - // but it skips a constructor property and decorates functions like - // dojo.declare does. - // - // It is meant to be used with classes and objects produced with - // dojo.declare. Functions mixed in with dojo.safeMixin can use - // this.inherited() like normal methods. - // - // This function is used to implement extend() method of a constructor - // produced with dojo.declare(). - // - // example: - // | var A = dojo.declare(null, { - // | m1: function(){ - // | console.log("A.m1"); - // | }, - // | m2: function(){ - // | console.log("A.m2"); - // | } - // | }); - // | var B = dojo.declare(A, { - // | m1: function(){ - // | this.inherited(arguments); - // | console.log("B.m1"); - // | } - // | }); - // | B.extend({ - // | m2: function(){ - // | this.inherited(arguments); - // | console.log("B.m2"); - // | } - // | }); - // | var x = new B(); - // | dojo.safeMixin(x, { - // | m1: function(){ - // | this.inherited(arguments); - // | console.log("X.m1"); - // | }, - // | m2: function(){ - // | this.inherited(arguments); - // | console.log("X.m2"); - // | } - // | }); - // | x.m2(); - // | // prints: - // | // A.m1 - // | // B.m1 - // | // X.m1 - }; - =====*/ - - /*===== - Object.inherited = function(name, args, newArgs){ - // summary: - // Calls a super method. - // name: String? - // The optional method name. Should be the same as the caller's - // name. Usually "name" is specified in complex dynamic cases, when - // the calling method was dynamically added, undecorated by - // dojo.declare, and it cannot be determined. - // args: Arguments - // The caller supply this argument, which should be the original - // "arguments". - // newArgs: Object? - // If "true", the found function will be returned without - // executing it. - // If Array, it will be used to call a super method. Otherwise - // "args" will be used. - // returns: - // Whatever is returned by a super method, or a super method itself, - // if "true" was specified as newArgs. - // description: - // This method is used inside method of classes produced with - // dojo.declare to call a super method (next in the chain). It is - // used for manually controlled chaining. Consider using the regular - // chaining, because it is faster. Use "this.inherited()" only in - // complex cases. - // - // This method cannot me called from automatically chained - // constructors including the case of a special (legacy) - // constructor chaining. It cannot be called from chained methods. - // - // If "this.inherited()" cannot find the next-in-chain method, it - // does nothing and returns "undefined". The last method in chain - // can be a default method implemented in Object, which will be - // called last. - // - // If "name" is specified, it is assumed that the method that - // received "args" is the parent method for this call. It is looked - // up in the chain list and if it is found the next-in-chain method - // is called. If it is not found, the first-in-chain method is - // called. - // - // If "name" is not specified, it will be derived from the calling - // method (using a methoid property "nom"). - // - // example: - // | var B = dojo.declare(A, { - // | method1: function(a, b, c){ - // | this.inherited(arguments); - // | }, - // | method2: function(a, b){ - // | return this.inherited(arguments, [a + b]); - // | } - // | }); - // | // next method is not in the chain list because it is added - // | // manually after the class was created. - // | B.prototype.method3 = function(){ - // | console.log("This is a dynamically-added method."); - // | this.inherited("method3", arguments); - // | }; - // example: - // | var B = dojo.declare(A, { - // | method: function(a, b){ - // | var super = this.inherited(arguments, true); - // | // ... - // | if(!super){ - // | console.log("there is no super method"); - // | return 0; - // | } - // | return super.apply(this, arguments); - // | } - // | }); - return {}; // Object - } - =====*/ - - /*===== - Object.getInherited = function(name, args){ - // summary: - // Returns a super method. - // name: String? - // The optional method name. Should be the same as the caller's - // name. Usually "name" is specified in complex dynamic cases, when - // the calling method was dynamically added, undecorated by - // dojo.declare, and it cannot be determined. - // args: Arguments - // The caller supply this argument, which should be the original - // "arguments". - // returns: - // Returns a super method (Function) or "undefined". - // description: - // This method is a convenience method for "this.inherited()". - // It uses the same algorithm but instead of executing a super - // method, it returns it, or "undefined" if not found. - // - // example: - // | var B = dojo.declare(A, { - // | method: function(a, b){ - // | var super = this.getInherited(arguments); - // | // ... - // | if(!super){ - // | console.log("there is no super method"); - // | return 0; - // | } - // | return super.apply(this, arguments); - // | } - // | }); - return {}; // Object - } - =====*/ - - /*===== - Object.isInstanceOf = function(cls){ - // summary: - // Checks the inheritance chain to see if it is inherited from this - // class. - // cls: Function - // Class constructor. - // returns: - // "true", if this object is inherited from this class, "false" - // otherwise. - // description: - // This method is used with instances of classes produced with - // dojo.declare to determine of they support a certain interface or - // not. It models "instanceof" operator. - // - // example: - // | var A = dojo.declare(null, { - // | // constructor, properties, and methods go here - // | // ... - // | }); - // | var B = dojo.declare(null, { - // | // constructor, properties, and methods go here - // | // ... - // | }); - // | var C = dojo.declare([A, B], { - // | // constructor, properties, and methods go here - // | // ... - // | }); - // | var D = dojo.declare(A, { - // | // constructor, properties, and methods go here - // | // ... - // | }); - // | - // | var a = new A(), b = new B(), c = new C(), d = new D(); - // | - // | console.log(a.isInstanceOf(A)); // true - // | console.log(b.isInstanceOf(A)); // false - // | console.log(c.isInstanceOf(A)); // true - // | console.log(d.isInstanceOf(A)); // true - // | - // | console.log(a.isInstanceOf(B)); // false - // | console.log(b.isInstanceOf(B)); // true - // | console.log(c.isInstanceOf(B)); // true - // | console.log(d.isInstanceOf(B)); // false - // | - // | console.log(a.isInstanceOf(C)); // false - // | console.log(b.isInstanceOf(C)); // false - // | console.log(c.isInstanceOf(C)); // true - // | console.log(d.isInstanceOf(C)); // false - // | - // | console.log(a.isInstanceOf(D)); // false - // | console.log(b.isInstanceOf(D)); // false - // | console.log(c.isInstanceOf(D)); // false - // | console.log(d.isInstanceOf(D)); // true - return {}; // Object - } - =====*/ - - /*===== - Object.extend = function(source){ - // summary: - // Adds all properties and methods of source to constructor's - // prototype, making them available to all instances created with - // constructor. This method is specific to constructors created with - // dojo.declare. - // source: Object - // Source object which properties are going to be copied to the - // constructor's prototype. - // description: - // Adds source properties to the constructor's prototype. It can - // override existing properties. - // - // This method is similar to dojo.extend function, but it is specific - // to constructors produced by dojo.declare. It is implemented - // using dojo.safeMixin, and it skips a constructor property, - // and properly decorates copied functions. - // - // example: - // | var A = dojo.declare(null, { - // | m1: function(){}, - // | s1: "Popokatepetl" - // | }); - // | A.extend({ - // | m1: function(){}, - // | m2: function(){}, - // | f1: true, - // | d1: 42 - // | }); - }; - =====*/ -})(); - -} - -if(!dojo._hasResource["dojo._base.connect"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojo._base.connect"] = true; -dojo.provide("dojo._base.connect"); - - - -// this file courtesy of the TurboAjax Group, licensed under a Dojo CLA - -// low-level delegation machinery -dojo._listener = { - // create a dispatcher function - getDispatcher: function(){ - // following comments pulled out-of-line to prevent cloning them - // in the returned function. - // - indices (i) that are really in the array of listeners (ls) will - // not be in Array.prototype. This is the 'sparse array' trick - // that keeps us safe from libs that take liberties with built-in - // objects - // - listener is invoked with current scope (this) - return function(){ - var ap = Array.prototype, c = arguments.callee, ls = c._listeners, t = c.target, - // return value comes from original target function - r = t && t.apply(this, arguments), - // make local copy of listener array so it is immutable during processing - i, lls = [].concat(ls) - ; - - // invoke listeners after target function - for(i in lls){ - if(!(i in ap)){ - lls[i].apply(this, arguments); - } - } - // return value comes from original target function - return r; - }; - }, - // add a listener to an object - add: function(/*Object*/ source, /*String*/ method, /*Function*/ listener){ - // Whenever 'method' is invoked, 'listener' will have the same scope. - // Trying to supporting a context object for the listener led to - // complexity. - // Non trivial to provide 'once' functionality here - // because listener could be the result of a dojo.hitch call, - // in which case two references to the same hitch target would not - // be equivalent. - source = source || dojo.global; - // The source method is either null, a dispatcher, or some other function - var f = source[method]; - // Ensure a dispatcher - if(!f || !f._listeners){ - var d = dojo._listener.getDispatcher(); - // original target function is special - d.target = f; - // dispatcher holds a list of listeners - d._listeners = []; - // redirect source to dispatcher - f = source[method] = d; - } - // The contract is that a handle is returned that can - // identify this listener for disconnect. - // - // The type of the handle is private. Here is it implemented as Integer. - // DOM event code has this same contract but handle is Function - // in non-IE browsers. - // - // We could have separate lists of before and after listeners. - return f._listeners.push(listener); /*Handle*/ - }, - // remove a listener from an object - remove: function(/*Object*/ source, /*String*/ method, /*Handle*/ handle){ - var f = (source || dojo.global)[method]; - // remember that handle is the index+1 (0 is not a valid handle) - if(f && f._listeners && handle--){ - delete f._listeners[handle]; - } - } -}; - -// Multiple delegation for arbitrary methods. - -// This unit knows nothing about DOM, but we include DOM aware documentation -// and dontFix argument here to help the autodocs. Actual DOM aware code is in -// event.js. - -dojo.connect = function(/*Object|null*/ obj, - /*String*/ event, - /*Object|null*/ context, - /*String|Function*/ method, - /*Boolean?*/ dontFix){ - // summary: - // `dojo.connect` is the core event handling and delegation method in - // Dojo. It allows one function to "listen in" on the execution of - // any other, triggering the second whenever the first is called. Many - // listeners may be attached to a function, and source functions may - // be either regular function calls or DOM events. - // - // description: - // Connects listeners to actions, so that after event fires, a - // listener is called with the same arguments passed to the original - // function. - // - // Since `dojo.connect` allows the source of events to be either a - // "regular" JavaScript function or a DOM event, it provides a uniform - // interface for listening to all the types of events that an - // application is likely to deal with though a single, unified - // interface. DOM programmers may want to think of it as - // "addEventListener for everything and anything". - // - // When setting up a connection, the `event` parameter must be a - // string that is the name of the method/event to be listened for. If - // `obj` is null, `dojo.global` is assumed, meaning that connections - // to global methods are supported but also that you may inadvertently - // connect to a global by passing an incorrect object name or invalid - // reference. - // - // `dojo.connect` generally is forgiving. If you pass the name of a - // function or method that does not yet exist on `obj`, connect will - // not fail, but will instead set up a stub method. Similarly, null - // arguments may simply be omitted such that fewer than 4 arguments - // may be required to set up a connection See the examples for details. - // - // The return value is a handle that is needed to - // remove this connection with `dojo.disconnect`. - // - // obj: - // The source object for the event function. - // Defaults to `dojo.global` if null. - // If obj is a DOM node, the connection is delegated - // to the DOM event manager (unless dontFix is true). - // - // event: - // String name of the event function in obj. - // I.e. identifies a property `obj[event]`. - // - // context: - // The object that method will receive as "this". - // - // If context is null and method is a function, then method - // inherits the context of event. - // - // If method is a string then context must be the source - // object object for method (context[method]). If context is null, - // dojo.global is used. - // - // method: - // A function reference, or name of a function in context. - // The function identified by method fires after event does. - // method receives the same arguments as the event. - // See context argument comments for information on method's scope. - // - // dontFix: - // If obj is a DOM node, set dontFix to true to prevent delegation - // of this connection to the DOM event manager. - // - // example: - // When obj.onchange(), do ui.update(): - // | dojo.connect(obj, "onchange", ui, "update"); - // | dojo.connect(obj, "onchange", ui, ui.update); // same - // - // example: - // Using return value for disconnect: - // | var link = dojo.connect(obj, "onchange", ui, "update"); - // | ... - // | dojo.disconnect(link); - // - // example: - // When onglobalevent executes, watcher.handler is invoked: - // | dojo.connect(null, "onglobalevent", watcher, "handler"); - // - // example: - // When ob.onCustomEvent executes, customEventHandler is invoked: - // | dojo.connect(ob, "onCustomEvent", null, "customEventHandler"); - // | dojo.connect(ob, "onCustomEvent", "customEventHandler"); // same - // - // example: - // When ob.onCustomEvent executes, customEventHandler is invoked - // with the same scope (this): - // | dojo.connect(ob, "onCustomEvent", null, customEventHandler); - // | dojo.connect(ob, "onCustomEvent", customEventHandler); // same - // - // example: - // When globalEvent executes, globalHandler is invoked - // with the same scope (this): - // | dojo.connect(null, "globalEvent", null, globalHandler); - // | dojo.connect("globalEvent", globalHandler); // same - - // normalize arguments - var a=arguments, args=[], i=0; - // if a[0] is a String, obj was omitted - args.push(dojo.isString(a[0]) ? null : a[i++], a[i++]); - // if the arg-after-next is a String or Function, context was NOT omitted - var a1 = a[i+1]; - args.push(dojo.isString(a1)||dojo.isFunction(a1) ? a[i++] : null, a[i++]); - // absorb any additional arguments - for(var l=a.length; i44 - // - var returnDeferred = progressCallback == mutator ? this : new dojo.Deferred(promise.cancel); - var listener = { - resolved: resolvedCallback, - error: errorCallback, - progress: progressCallback, - deferred: returnDeferred - }; - if(nextListener){ - head = head.next = listener; - } - else{ - nextListener = head = listener; - } - if(finished){ - notify(); - } - return returnDeferred.promise; - }; - var deferred = this; - this.cancel = promise.cancel = function () { - // summary: - // Cancels the asynchronous operation - if(!finished){ - var error = canceller && canceller(deferred); - if(!finished){ - if (!(error instanceof Error)) { - error = new Error(error); - } - error.log = false; - deferred.reject(error); - } - } - }; - freeze(promise); - }; - dojo.extend(dojo.Deferred, { - addCallback: function (/*Function*/callback) { - return this.addCallbacks(dojo.hitch.apply(dojo, arguments)); - }, - - addErrback: function (/*Function*/errback) { - return this.addCallbacks(null, dojo.hitch.apply(dojo, arguments)); - }, - - addBoth: function (/*Function*/callback) { - var enclosed = dojo.hitch.apply(dojo, arguments); - return this.addCallbacks(enclosed, enclosed); - }, - fired: -1 - }); -})(); -dojo.when = function(promiseOrValue, /*Function?*/callback, /*Function?*/errback, /*Function?*/progressHandler){ - // summary: - // This provides normalization between normal synchronous values and - // asynchronous promises, so you can interact with them in a common way - // example: - // | function printFirstAndList(items){ - // | dojo.when(findFirst(items), console.log); - // | dojo.when(findLast(items), console.log); - // | } - // | function findFirst(items){ - // | return dojo.when(items, function(items){ - // | return items[0]; - // | }); - // | } - // | function findLast(items){ - // | return dojo.when(items, function(items){ - // | return items[items.length]; - // | }); - // | } - // And now all three of his functions can be used sync or async. - // | printFirstAndLast([1,2,3,4]) will work just as well as - // | printFirstAndLast(dojo.xhrGet(...)); - - if(promiseOrValue && typeof promiseOrValue.then === "function"){ - return promiseOrValue.then(callback, errback, progressHandler); - } - return callback(promiseOrValue); -}; - -} - -if(!dojo._hasResource["dojo._base.json"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojo._base.json"] = true; -dojo.provide("dojo._base.json"); - - -dojo.fromJson = function(/*String*/ json){ - // summary: - // Parses a [JSON](http://json.org) string to return a JavaScript object. - // description: - // Throws for invalid JSON strings, but it does not use a strict JSON parser. It - // delegates to eval(). The content passed to this method must therefore come - // from a trusted source. - // json: - // a string literal of a JSON item, for instance: - // `'{ "foo": [ "bar", 1, { "baz": "thud" } ] }'` - - return eval("(" + json + ")"); // Object -}; - -dojo._escapeString = function(/*String*/str){ - //summary: - // Adds escape sequences for non-visual characters, double quote and - // backslash and surrounds with double quotes to form a valid string - // literal. - return ('"' + str.replace(/(["\\])/g, '\\$1') + '"'). - replace(/[\f]/g, "\\f").replace(/[\b]/g, "\\b").replace(/[\n]/g, "\\n"). - replace(/[\t]/g, "\\t").replace(/[\r]/g, "\\r"); // string -}; - -dojo.toJsonIndentStr = "\t"; -dojo.toJson = function(/*Object*/ it, /*Boolean?*/ prettyPrint, /*String?*/ _indentStr){ - // summary: - // Returns a [JSON](http://json.org) serialization of an object. - // description: - // Returns a [JSON](http://json.org) serialization of an object. - // Note that this doesn't check for infinite recursion, so don't do that! - // it: - // an object to be serialized. Objects may define their own - // serialization via a special "__json__" or "json" function - // property. If a specialized serializer has been defined, it will - // be used as a fallback. - // prettyPrint: - // if true, we indent objects and arrays to make the output prettier. - // The variable `dojo.toJsonIndentStr` is used as the indent string -- - // to use something other than the default (tab), change that variable - // before calling dojo.toJson(). - // _indentStr: - // private variable for recursive calls when pretty printing, do not use. - // example: - // simple serialization of a trivial object - // | var jsonStr = dojo.toJson({ howdy: "stranger!", isStrange: true }); - // | doh.is('{"howdy":"stranger!","isStrange":true}', jsonStr); - // example: - // a custom serializer for an objects of a particular class: - // | dojo.declare("Furby", null, { - // | furbies: "are strange", - // | furbyCount: 10, - // | __json__: function(){ - // | }, - // | }); - - if(it === undefined){ - return "undefined"; - } - var objtype = typeof it; - if(objtype == "number" || objtype == "boolean"){ - return it + ""; - } - if(it === null){ - return "null"; - } - if(dojo.isString(it)){ - return dojo._escapeString(it); - } - // recurse - var recurse = arguments.callee; - // short-circuit for objects that support "json" serialization - // if they return "self" then just pass-through... - var newObj; - _indentStr = _indentStr || ""; - var nextIndent = prettyPrint ? _indentStr + dojo.toJsonIndentStr : ""; - var tf = it.__json__||it.json; - if(dojo.isFunction(tf)){ - newObj = tf.call(it); - if(it !== newObj){ - return recurse(newObj, prettyPrint, nextIndent); - } - } - if(it.nodeType && it.cloneNode){ // isNode - // we can't seriailize DOM nodes as regular objects because they have cycles - // DOM nodes could be serialized with something like outerHTML, but - // that can be provided by users in the form of .json or .__json__ function. - throw new Error("Can't serialize DOM nodes"); - } - - var sep = prettyPrint ? " " : ""; - var newLine = prettyPrint ? "\n" : ""; - - // array - if(dojo.isArray(it)){ - var res = dojo.map(it, function(obj){ - var val = recurse(obj, prettyPrint, nextIndent); - if(typeof val != "string"){ - val = "undefined"; - } - return newLine + nextIndent + val; - }); - return "[" + res.join("," + sep) + newLine + _indentStr + "]"; - } - /* - // look in the registry - try { - window.o = it; - newObj = dojo.json.jsonRegistry.match(it); - return recurse(newObj, prettyPrint, nextIndent); - }catch(e){ - // console.log(e); - } - // it's a function with no adapter, skip it - */ - if(objtype == "function"){ - return null; // null - } - // generic object code path - var output = [], key; - for(key in it){ - var keyStr, val; - if(typeof key == "number"){ - keyStr = '"' + key + '"'; - }else if(typeof key == "string"){ - keyStr = dojo._escapeString(key); - }else{ - // skip non-string or number keys - continue; - } - val = recurse(it[key], prettyPrint, nextIndent); - if(typeof val != "string"){ - // skip non-serializable values - continue; - } - // FIXME: use += on Moz!! - // MOW NOTE: using += is a pain because you have to account for the dangling comma... - output.push(newLine + nextIndent + keyStr + ":" + sep + val); - } - return "{" + output.join("," + sep) + newLine + _indentStr + "}"; // String -}; - -} - -if(!dojo._hasResource["dojo._base.Color"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojo._base.Color"] = true; -dojo.provide("dojo._base.Color"); - - - - -(function(){ - - var d = dojo; - - dojo.Color = function(/*Array|String|Object*/ color){ - // summary: - // Takes a named string, hex string, array of rgb or rgba values, - // an object with r, g, b, and a properties, or another `dojo.Color` object - // and creates a new Color instance to work from. - // - // example: - // Work with a Color instance: - // | var c = new dojo.Color(); - // | c.setColor([0,0,0]); // black - // | var hex = c.toHex(); // #000000 - // - // example: - // Work with a node's color: - // | var color = dojo.style("someNode", "backgroundColor"); - // | var n = new dojo.Color(color); - // | // adjust the color some - // | n.r *= .5; - // | console.log(n.toString()); // rgb(128, 255, 255); - if(color){ this.setColor(color); } - }; - - // FIXME: - // there's got to be a more space-efficient way to encode or discover - // these!! Use hex? - dojo.Color.named = { - black: [0,0,0], - silver: [192,192,192], - gray: [128,128,128], - white: [255,255,255], - maroon: [128,0,0], - red: [255,0,0], - purple: [128,0,128], - fuchsia: [255,0,255], - green: [0,128,0], - lime: [0,255,0], - olive: [128,128,0], - yellow: [255,255,0], - navy: [0,0,128], - blue: [0,0,255], - teal: [0,128,128], - aqua: [0,255,255], - transparent: d.config.transparentColor || [255,255,255] - }; - - dojo.extend(dojo.Color, { - r: 255, g: 255, b: 255, a: 1, - _set: function(r, g, b, a){ - var t = this; t.r = r; t.g = g; t.b = b; t.a = a; - }, - setColor: function(/*Array|String|Object*/ color){ - // summary: - // Takes a named string, hex string, array of rgb or rgba values, - // an object with r, g, b, and a properties, or another `dojo.Color` object - // and sets this color instance to that value. - // - // example: - // | var c = new dojo.Color(); // no color - // | c.setColor("#ededed"); // greyish - if(d.isString(color)){ - d.colorFromString(color, this); - }else if(d.isArray(color)){ - d.colorFromArray(color, this); - }else{ - this._set(color.r, color.g, color.b, color.a); - if(!(color instanceof d.Color)){ this.sanitize(); } - } - return this; // dojo.Color - }, - sanitize: function(){ - // summary: - // Ensures the object has correct attributes - // description: - // the default implementation does nothing, include dojo.colors to - // augment it with real checks - return this; // dojo.Color - }, - toRgb: function(){ - // summary: - // Returns 3 component array of rgb values - // example: - // | var c = new dojo.Color("#000000"); - // | console.log(c.toRgb()); // [0,0,0] - var t = this; - return [t.r, t.g, t.b]; // Array - }, - toRgba: function(){ - // summary: - // Returns a 4 component array of rgba values from the color - // represented by this object. - var t = this; - return [t.r, t.g, t.b, t.a]; // Array - }, - toHex: function(){ - // summary: - // Returns a CSS color string in hexadecimal representation - // example: - // | console.log(new dojo.Color([0,0,0]).toHex()); // #000000 - var arr = d.map(["r", "g", "b"], function(x){ - var s = this[x].toString(16); - return s.length < 2 ? "0" + s : s; - }, this); - return "#" + arr.join(""); // String - }, - toCss: function(/*Boolean?*/ includeAlpha){ - // summary: - // Returns a css color string in rgb(a) representation - // example: - // | var c = new dojo.Color("#FFF").toCss(); - // | console.log(c); // rgb('255','255','255') - var t = this, rgb = t.r + ", " + t.g + ", " + t.b; - return (includeAlpha ? "rgba(" + rgb + ", " + t.a : "rgb(" + rgb) + ")"; // String - }, - toString: function(){ - // summary: - // Returns a visual representation of the color - return this.toCss(true); // String - } - }); - - dojo.blendColors = function( - /*dojo.Color*/ start, - /*dojo.Color*/ end, - /*Number*/ weight, - /*dojo.Color?*/ obj - ){ - // summary: - // Blend colors end and start with weight from 0 to 1, 0.5 being a 50/50 blend, - // can reuse a previously allocated dojo.Color object for the result - var t = obj || new d.Color(); - d.forEach(["r", "g", "b", "a"], function(x){ - t[x] = start[x] + (end[x] - start[x]) * weight; - if(x != "a"){ t[x] = Math.round(t[x]); } - }); - return t.sanitize(); // dojo.Color - }; - - dojo.colorFromRgb = function(/*String*/ color, /*dojo.Color?*/ obj){ - // summary: - // Returns a `dojo.Color` instance from a string of the form - // "rgb(...)" or "rgba(...)". Optionally accepts a `dojo.Color` - // object to update with the parsed value and return instead of - // creating a new object. - // returns: - // A dojo.Color object. If obj is passed, it will be the return value. - var m = color.toLowerCase().match(/^rgba?\(([\s\.,0-9]+)\)/); - return m && dojo.colorFromArray(m[1].split(/\s*,\s*/), obj); // dojo.Color - }; - - dojo.colorFromHex = function(/*String*/ color, /*dojo.Color?*/ obj){ - // summary: - // Converts a hex string with a '#' prefix to a color object. - // Supports 12-bit #rgb shorthand. Optionally accepts a - // `dojo.Color` object to update with the parsed value. - // - // returns: - // A dojo.Color object. If obj is passed, it will be the return value. - // - // example: - // | var thing = dojo.colorFromHex("#ededed"); // grey, longhand - // - // example: - // | var thing = dojo.colorFromHex("#000"); // black, shorthand - var t = obj || new d.Color(), - bits = (color.length == 4) ? 4 : 8, - mask = (1 << bits) - 1; - color = Number("0x" + color.substr(1)); - if(isNaN(color)){ - return null; // dojo.Color - } - d.forEach(["b", "g", "r"], function(x){ - var c = color & mask; - color >>= bits; - t[x] = bits == 4 ? 17 * c : c; - }); - t.a = 1; - return t; // dojo.Color - }; - - dojo.colorFromArray = function(/*Array*/ a, /*dojo.Color?*/ obj){ - // summary: - // Builds a `dojo.Color` from a 3 or 4 element array, mapping each - // element in sequence to the rgb(a) values of the color. - // example: - // | var myColor = dojo.colorFromArray([237,237,237,0.5]); // grey, 50% alpha - // returns: - // A dojo.Color object. If obj is passed, it will be the return value. - var t = obj || new d.Color(); - t._set(Number(a[0]), Number(a[1]), Number(a[2]), Number(a[3])); - if(isNaN(t.a)){ t.a = 1; } - return t.sanitize(); // dojo.Color - }; - - dojo.colorFromString = function(/*String*/ str, /*dojo.Color?*/ obj){ - // summary: - // Parses `str` for a color value. Accepts hex, rgb, and rgba - // style color values. - // description: - // Acceptable input values for str may include arrays of any form - // accepted by dojo.colorFromArray, hex strings such as "#aaaaaa", or - // rgb or rgba strings such as "rgb(133, 200, 16)" or "rgba(10, 10, - // 10, 50)" - // returns: - // A dojo.Color object. If obj is passed, it will be the return value. - var a = d.Color.named[str]; - return a && d.colorFromArray(a, obj) || d.colorFromRgb(str, obj) || d.colorFromHex(str, obj); - }; -})(); - -} - -if(!dojo._hasResource["dojo._base.window"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojo._base.window"] = true; -dojo.provide("dojo._base.window"); - - -/*===== -dojo.doc = { - // summary: - // Alias for the current document. 'dojo.doc' can be modified - // for temporary context shifting. Also see dojo.withDoc(). - // description: - // Refer to dojo.doc rather - // than referring to 'window.document' to ensure your code runs - // correctly in managed contexts. - // example: - // | n.appendChild(dojo.doc.createElement('div')); -} -=====*/ -dojo.doc = window["document"] || null; - -dojo.body = function(){ - // summary: - // Return the body element of the document - // return the body object associated with dojo.doc - // example: - // | dojo.body().appendChild(dojo.doc.createElement('div')); - - // Note: document.body is not defined for a strict xhtml document - // Would like to memoize this, but dojo.doc can change vi dojo.withDoc(). - return dojo.doc.body || dojo.doc.getElementsByTagName("body")[0]; // Node -}; - -dojo.setContext = function(/*Object*/globalObject, /*DocumentElement*/globalDocument){ - // summary: - // changes the behavior of many core Dojo functions that deal with - // namespace and DOM lookup, changing them to work in a new global - // context (e.g., an iframe). The varibles dojo.global and dojo.doc - // are modified as a result of calling this function and the result of - // `dojo.body()` likewise differs. - dojo.global = globalObject; - dojo.doc = globalDocument; -}; - -dojo.withGlobal = function( /*Object*/globalObject, - /*Function*/callback, - /*Object?*/thisObject, - /*Array?*/cbArguments){ - // summary: - // Invoke callback with globalObject as dojo.global and - // globalObject.document as dojo.doc. - // description: - // Invoke callback with globalObject as dojo.global and - // globalObject.document as dojo.doc. If provided, globalObject - // will be executed in the context of object thisObject - // When callback() returns or throws an error, the dojo.global - // and dojo.doc will be restored to its previous state. - - var oldGlob = dojo.global; - try{ - dojo.global = globalObject; - return dojo.withDoc.call(null, globalObject.document, callback, thisObject, cbArguments); - }finally{ - dojo.global = oldGlob; - } -}; - -dojo.withDoc = function( /*DocumentElement*/documentObject, - /*Function*/callback, - /*Object?*/thisObject, - /*Array?*/cbArguments){ - // summary: - // Invoke callback with documentObject as dojo.doc. - // description: - // Invoke callback with documentObject as dojo.doc. If provided, - // callback will be executed in the context of object thisObject - // When callback() returns or throws an error, the dojo.doc will - // be restored to its previous state. - - var oldDoc = dojo.doc, - oldLtr = dojo._bodyLtr, - oldQ = dojo.isQuirks; - - try{ - dojo.doc = documentObject; - delete dojo._bodyLtr; // uncache - dojo.isQuirks = dojo.doc.compatMode == "BackCompat"; // no need to check for QuirksMode which was Opera 7 only - - if(thisObject && typeof callback == "string"){ - callback = thisObject[callback]; - } - - return callback.apply(thisObject, cbArguments || []); - }finally{ - dojo.doc = oldDoc; - delete dojo._bodyLtr; // in case it was undefined originally, and set to true/false by the alternate document - if(oldLtr !== undefined){ dojo._bodyLtr = oldLtr; } - dojo.isQuirks = oldQ; - } -}; - -} - -if(!dojo._hasResource["dojo._base.event"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojo._base.event"] = true; -dojo.provide("dojo._base.event"); - - - -// this file courtesy of the TurboAjax Group, licensed under a Dojo CLA - -(function(){ - // DOM event listener machinery - var del = (dojo._event_listener = { - add: function(/*DOMNode*/ node, /*String*/ name, /*Function*/ fp){ - if(!node){return;} - name = del._normalizeEventName(name); - fp = del._fixCallback(name, fp); - if( - !dojo.isIE && - (name == "mouseenter" || name == "mouseleave") - ){ - var ofp = fp; - name = (name == "mouseenter") ? "mouseover" : "mouseout"; - fp = function(e){ - if(!dojo.isDescendant(e.relatedTarget, node)){ - // e.type = oname; // FIXME: doesn't take? SJM: event.type is generally immutable. - return ofp.call(this, e); - } - } - } - node.addEventListener(name, fp, false); - return fp; /*Handle*/ - }, - remove: function(/*DOMNode*/ node, /*String*/ event, /*Handle*/ handle){ - // summary: - // clobbers the listener from the node - // node: - // DOM node to attach the event to - // event: - // the name of the handler to remove the function from - // handle: - // the handle returned from add - if(node){ - event = del._normalizeEventName(event); - if(!dojo.isIE && (event == "mouseenter" || event == "mouseleave")){ - event = (event == "mouseenter") ? "mouseover" : "mouseout"; - } - - node.removeEventListener(event, handle, false); - } - }, - _normalizeEventName: function(/*String*/ name){ - // Generally, name should be lower case, unless it is special - // somehow (e.g. a Mozilla DOM event). - // Remove 'on'. - return name.slice(0,2) =="on" ? name.slice(2) : name; - }, - _fixCallback: function(/*String*/ name, fp){ - // By default, we only invoke _fixEvent for 'keypress' - // If code is added to _fixEvent for other events, we have - // to revisit this optimization. - // This also applies to _fixEvent overrides for Safari and Opera - // below. - return name != "keypress" ? fp : function(e){ return fp.call(this, del._fixEvent(e, this)); }; - }, - _fixEvent: function(evt, sender){ - // _fixCallback only attaches us to keypress. - // Switch on evt.type anyway because we might - // be called directly from dojo.fixEvent. - switch(evt.type){ - case "keypress": - del._setKeyChar(evt); - break; - } - return evt; - }, - _setKeyChar: function(evt){ - evt.keyChar = evt.charCode >= 32 ? String.fromCharCode(evt.charCode) : ''; - evt.charOrCode = evt.keyChar || evt.keyCode; - }, - // For IE and Safari: some ctrl-key combinations (mostly w/punctuation) do not emit a char code in IE - // we map those virtual key codes to ascii here - // not valid for all (non-US) keyboards, so maybe we shouldn't bother - _punctMap: { - 106:42, - 111:47, - 186:59, - 187:43, - 188:44, - 189:45, - 190:46, - 191:47, - 192:96, - 219:91, - 220:92, - 221:93, - 222:39 - } - }); - - // DOM events - - dojo.fixEvent = function(/*Event*/ evt, /*DOMNode*/ sender){ - // summary: - // normalizes properties on the event object including event - // bubbling methods, keystroke normalization, and x/y positions - // evt: Event - // native event object - // sender: DOMNode - // node to treat as "currentTarget" - return del._fixEvent(evt, sender); - }; - - dojo.stopEvent = function(/*Event*/ evt){ - // summary: - // prevents propagation and clobbers the default action of the - // passed event - // evt: Event - // The event object. If omitted, window.event is used on IE. - evt.preventDefault(); - evt.stopPropagation(); - // NOTE: below, this method is overridden for IE - }; - - // the default listener to use on dontFix nodes, overriden for IE - var node_listener = dojo._listener; - - // Unify connect and event listeners - dojo._connect = function(obj, event, context, method, dontFix){ - // FIXME: need a more strict test - var isNode = obj && (obj.nodeType||obj.attachEvent||obj.addEventListener); - // choose one of three listener options: raw (connect.js), DOM event on a Node, custom event on a Node - // we need the third option to provide leak prevention on broken browsers (IE) - var lid = isNode ? (dontFix ? 2 : 1) : 0, l = [dojo._listener, del, node_listener][lid]; - // create a listener - var h = l.add(obj, event, dojo.hitch(context, method)); - // formerly, the disconnect package contained "l" directly, but if client code - // leaks the disconnect package (by connecting it to a node), referencing "l" - // compounds the problem. - // instead we return a listener id, which requires custom _disconnect below. - // return disconnect package - return [ obj, event, h, lid ]; - }; - - dojo._disconnect = function(obj, event, handle, listener){ - ([dojo._listener, del, node_listener][listener]).remove(obj, event, handle); - }; - - // Constants - - // Public: client code should test - // keyCode against these named constants, as the - // actual codes can vary by browser. - dojo.keys = { - // summary: - // Definitions for common key values - BACKSPACE: 8, - TAB: 9, - CLEAR: 12, - ENTER: 13, - SHIFT: 16, - CTRL: 17, - ALT: 18, - META: dojo.isSafari ? 91 : 224, // the apple key on macs - PAUSE: 19, - CAPS_LOCK: 20, - ESCAPE: 27, - SPACE: 32, - PAGE_UP: 33, - PAGE_DOWN: 34, - END: 35, - HOME: 36, - LEFT_ARROW: 37, - UP_ARROW: 38, - RIGHT_ARROW: 39, - DOWN_ARROW: 40, - INSERT: 45, - DELETE: 46, - HELP: 47, - LEFT_WINDOW: 91, - RIGHT_WINDOW: 92, - SELECT: 93, - NUMPAD_0: 96, - NUMPAD_1: 97, - NUMPAD_2: 98, - NUMPAD_3: 99, - NUMPAD_4: 100, - NUMPAD_5: 101, - NUMPAD_6: 102, - NUMPAD_7: 103, - NUMPAD_8: 104, - NUMPAD_9: 105, - NUMPAD_MULTIPLY: 106, - NUMPAD_PLUS: 107, - NUMPAD_ENTER: 108, - NUMPAD_MINUS: 109, - NUMPAD_PERIOD: 110, - NUMPAD_DIVIDE: 111, - F1: 112, - F2: 113, - F3: 114, - F4: 115, - F5: 116, - F6: 117, - F7: 118, - F8: 119, - F9: 120, - F10: 121, - F11: 122, - F12: 123, - F13: 124, - F14: 125, - F15: 126, - NUM_LOCK: 144, - SCROLL_LOCK: 145, - // virtual key mapping - copyKey: dojo.isMac && !dojo.isAIR ? (dojo.isSafari ? 91 : 224 ) : 17 - }; - - var evtCopyKey = dojo.isMac ? "metaKey" : "ctrlKey"; - - dojo.isCopyKey = function(e){ - // summary: - // Checks an event for the copy key (meta on Mac, and ctrl anywhere else) - // e: Event - // Event object to examine - return e[evtCopyKey]; // Boolean - }; - - // Public: decoding mouse buttons from events - -/*===== - dojo.mouseButtons = { - // LEFT: Number - // Numeric value of the left mouse button for the platform. - LEFT: 0, - // MIDDLE: Number - // Numeric value of the middle mouse button for the platform. - MIDDLE: 1, - // RIGHT: Number - // Numeric value of the right mouse button for the platform. - RIGHT: 2, - - isButton: function(e, button){ - // summary: - // Checks an event object for a pressed button - // e: Event - // Event object to examine - // button: Number - // The button value (example: dojo.mouseButton.LEFT) - return e.button == button; // Boolean - }, - isLeft: function(e){ - // summary: - // Checks an event object for the pressed left button - // e: Event - // Event object to examine - return e.button == 0; // Boolean - }, - isMiddle: function(e){ - // summary: - // Checks an event object for the pressed middle button - // e: Event - // Event object to examine - return e.button == 1; // Boolean - }, - isRight: function(e){ - // summary: - // Checks an event object for the pressed right button - // e: Event - // Event object to examine - return e.button == 2; // Boolean - } - }; -=====*/ - - if(dojo.isIE < 9 || (dojo.isIE && dojo.isQuirks)){ - dojo.mouseButtons = { - LEFT: 1, - MIDDLE: 4, - RIGHT: 2, - // helper functions - isButton: function(e, button){ return e.button & button; }, - isLeft: function(e){ return e.button & 1; }, - isMiddle: function(e){ return e.button & 4; }, - isRight: function(e){ return e.button & 2; } - }; - }else{ - dojo.mouseButtons = { - LEFT: 0, - MIDDLE: 1, - RIGHT: 2, - // helper functions - isButton: function(e, button){ return e.button == button; }, - isLeft: function(e){ return e.button == 0; }, - isMiddle: function(e){ return e.button == 1; }, - isRight: function(e){ return e.button == 2; } - }; - } - - // IE event normalization - if(dojo.isIE){ - var _trySetKeyCode = function(e, code){ - try{ - // squelch errors when keyCode is read-only - // (e.g. if keyCode is ctrl or shift) - return (e.keyCode = code); - }catch(e){ - return 0; - } - }; - - // by default, use the standard listener - var iel = dojo._listener; - var listenersName = (dojo._ieListenersName = "_" + dojo._scopeName + "_listeners"); - // dispatcher tracking property - if(!dojo.config._allow_leaks){ - // custom listener that handles leak protection for DOM events - node_listener = iel = dojo._ie_listener = { - // support handler indirection: event handler functions are - // referenced here. Event dispatchers hold only indices. - handlers: [], - // add a listener to an object - add: function(/*Object*/ source, /*String*/ method, /*Function*/ listener){ - source = source || dojo.global; - var f = source[method]; - if(!f||!f[listenersName]){ - var d = dojo._getIeDispatcher(); - // original target function is special - d.target = f && (ieh.push(f) - 1); - // dispatcher holds a list of indices into handlers table - d[listenersName] = []; - // redirect source to dispatcher - f = source[method] = d; - } - return f[listenersName].push(ieh.push(listener) - 1) ; /*Handle*/ - }, - // remove a listener from an object - remove: function(/*Object*/ source, /*String*/ method, /*Handle*/ handle){ - var f = (source||dojo.global)[method], l = f && f[listenersName]; - if(f && l && handle--){ - delete ieh[l[handle]]; - delete l[handle]; - } - } - }; - // alias used above - var ieh = iel.handlers; - } - - dojo.mixin(del, { - add: function(/*DOMNode*/ node, /*String*/ event, /*Function*/ fp){ - if(!node){return;} // undefined - event = del._normalizeEventName(event); - if(event=="onkeypress"){ - // we need to listen to onkeydown to synthesize - // keypress events that otherwise won't fire - // on IE - var kd = node.onkeydown; - if(!kd || !kd[listenersName] || !kd._stealthKeydownHandle){ - var h = del.add(node, "onkeydown", del._stealthKeyDown); - kd = node.onkeydown; - kd._stealthKeydownHandle = h; - kd._stealthKeydownRefs = 1; - }else{ - kd._stealthKeydownRefs++; - } - } - return iel.add(node, event, del._fixCallback(fp)); - }, - remove: function(/*DOMNode*/ node, /*String*/ event, /*Handle*/ handle){ - event = del._normalizeEventName(event); - iel.remove(node, event, handle); - if(event=="onkeypress"){ - var kd = node.onkeydown; - if(--kd._stealthKeydownRefs <= 0){ - iel.remove(node, "onkeydown", kd._stealthKeydownHandle); - delete kd._stealthKeydownHandle; - } - } - }, - _normalizeEventName: function(/*String*/ eventName){ - // Generally, eventName should be lower case, unless it is - // special somehow (e.g. a Mozilla event) - // ensure 'on' - return eventName.slice(0,2) != "on" ? "on" + eventName : eventName; - }, - _nop: function(){}, - _fixEvent: function(/*Event*/ evt, /*DOMNode*/ sender){ - // summary: - // normalizes properties on the event object including event - // bubbling methods, keystroke normalization, and x/y positions - // evt: - // native event object - // sender: - // node to treat as "currentTarget" - if(!evt){ - var w = sender && (sender.ownerDocument || sender.document || sender).parentWindow || window; - evt = w.event; - } - if(!evt){return(evt);} - evt.target = evt.srcElement; - evt.currentTarget = (sender || evt.srcElement); - evt.layerX = evt.offsetX; - evt.layerY = evt.offsetY; - // FIXME: scroll position query is duped from dojo.html to - // avoid dependency on that entire module. Now that HTML is in - // Base, we should convert back to something similar there. - var se = evt.srcElement, doc = (se && se.ownerDocument) || document; - // DO NOT replace the following to use dojo.body(), in IE, document.documentElement should be used - // here rather than document.body - var docBody = ((dojo.isIE < 6) || (doc["compatMode"] == "BackCompat")) ? doc.body : doc.documentElement; - var offset = dojo._getIeDocumentElementOffset(); - evt.pageX = evt.clientX + dojo._fixIeBiDiScrollLeft(docBody.scrollLeft || 0) - offset.x; - evt.pageY = evt.clientY + (docBody.scrollTop || 0) - offset.y; - if(evt.type == "mouseover"){ - evt.relatedTarget = evt.fromElement; - } - if(evt.type == "mouseout"){ - evt.relatedTarget = evt.toElement; - } - if (dojo.isIE < 9 || dojo.isQuirks) { - evt.stopPropagation = del._stopPropagation; - evt.preventDefault = del._preventDefault; - } - return del._fixKeys(evt); - }, - _fixKeys: function(evt){ - switch(evt.type){ - case "keypress": - var c = ("charCode" in evt ? evt.charCode : evt.keyCode); - if (c==10){ - // CTRL-ENTER is CTRL-ASCII(10) on IE, but CTRL-ENTER on Mozilla - c=0; - evt.keyCode = 13; - }else if(c==13||c==27){ - c=0; // Mozilla considers ENTER and ESC non-printable - }else if(c==3){ - c=99; // Mozilla maps CTRL-BREAK to CTRL-c - } - // Mozilla sets keyCode to 0 when there is a charCode - // but that stops the event on IE. - evt.charCode = c; - del._setKeyChar(evt); - break; - } - return evt; - }, - _stealthKeyDown: function(evt){ - // IE doesn't fire keypress for most non-printable characters. - // other browsers do, we simulate it here. - var kp = evt.currentTarget.onkeypress; - // only works if kp exists and is a dispatcher - if(!kp || !kp[listenersName]){ return; } - // munge key/charCode - var k=evt.keyCode; - // These are Windows Virtual Key Codes - // http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/UserInput/VirtualKeyCodes.asp - var unprintable = (k!=13 || (dojo.isIE >= 9 && !dojo.isQuirks)) && k!=32 && k!=27 && (k<48||k>90) && (k<96||k>111) && (k<186||k>192) && (k<219||k>222); - - // synthesize keypress for most unprintables and CTRL-keys - if(unprintable||evt.ctrlKey){ - var c = unprintable ? 0 : k; - if(evt.ctrlKey){ - if(k==3 || k==13){ - return; // IE will post CTRL-BREAK, CTRL-ENTER as keypress natively - }else if(c>95 && c<106){ - c -= 48; // map CTRL-[numpad 0-9] to ASCII - }else if((!evt.shiftKey)&&(c>=65&&c<=90)){ - c += 32; // map CTRL-[A-Z] to lowercase - }else{ - c = del._punctMap[c] || c; // map other problematic CTRL combinations to ASCII - } - } - // simulate a keypress event - var faux = del._synthesizeEvent(evt, {type: 'keypress', faux: true, charCode: c}); - kp.call(evt.currentTarget, faux); - if(dojo.isIE < 9 || (dojo.isIE && dojo.isQuirks)){ - evt.cancelBubble = faux.cancelBubble; - } - evt.returnValue = faux.returnValue; - _trySetKeyCode(evt, faux.keyCode); - } - }, - // Called in Event scope - _stopPropagation: function(){ - this.cancelBubble = true; - }, - _preventDefault: function(){ - // Setting keyCode to 0 is the only way to prevent certain keypresses (namely - // ctrl-combinations that correspond to menu accelerator keys). - // Otoh, it prevents upstream listeners from getting this information - // Try to split the difference here by clobbering keyCode only for ctrl - // combinations. If you still need to access the key upstream, bubbledKeyCode is - // provided as a workaround. - this.bubbledKeyCode = this.keyCode; - if(this.ctrlKey){_trySetKeyCode(this, 0);} - this.returnValue = false; - } - }); - - // override stopEvent for IE - dojo.stopEvent = (dojo.isIE < 9 || dojo.isQuirks) ? function(evt){ - evt = evt || window.event; - del._stopPropagation.call(evt); - del._preventDefault.call(evt); - } : dojo.stopEvent; - } - - del._synthesizeEvent = function(evt, props){ - var faux = dojo.mixin({}, evt, props); - del._setKeyChar(faux); - // FIXME: would prefer to use dojo.hitch: dojo.hitch(evt, evt.preventDefault); - // but it throws an error when preventDefault is invoked on Safari - // does Event.preventDefault not support "apply" on Safari? - faux.preventDefault = function(){ evt.preventDefault(); }; - faux.stopPropagation = function(){ evt.stopPropagation(); }; - return faux; - }; - - // Opera event normalization - if(dojo.isOpera){ - dojo.mixin(del, { - _fixEvent: function(evt, sender){ - switch(evt.type){ - case "keypress": - var c = evt.which; - if(c==3){ - c=99; // Mozilla maps CTRL-BREAK to CTRL-c - } - // can't trap some keys at all, like INSERT and DELETE - // there is no differentiating info between DELETE and ".", or INSERT and "-" - c = c<41 && !evt.shiftKey ? 0 : c; - if(evt.ctrlKey && !evt.shiftKey && c>=65 && c<=90){ - // lowercase CTRL-[A-Z] keys - c += 32; - } - return del._synthesizeEvent(evt, { charCode: c }); - } - return evt; - } - }); - } - - // Webkit event normalization - if(dojo.isWebKit){ - del._add = del.add; - del._remove = del.remove; - - dojo.mixin(del, { - add: function(/*DOMNode*/ node, /*String*/ event, /*Function*/ fp){ - if(!node){return;} // undefined - var handle = del._add(node, event, fp); - if(del._normalizeEventName(event) == "keypress"){ - // we need to listen to onkeydown to synthesize - // keypress events that otherwise won't fire - // in Safari 3.1+: https://lists.webkit.org/pipermail/webkit-dev/2007-December/002992.html - handle._stealthKeyDownHandle = del._add(node, "keydown", function(evt){ - //A variation on the IE _stealthKeydown function - //Synthesize an onkeypress event, but only for unprintable characters. - var k=evt.keyCode; - // These are Windows Virtual Key Codes - // http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/UserInput/VirtualKeyCodes.asp - var unprintable = k!=13 && k!=32 && (k<48 || k>90) && (k<96 || k>111) && (k<186 || k>192) && (k<219 || k>222); - // synthesize keypress for most unprintables and CTRL-keys - if(unprintable || evt.ctrlKey){ - var c = unprintable ? 0 : k; - if(evt.ctrlKey){ - if(k==3 || k==13){ - return; // IE will post CTRL-BREAK, CTRL-ENTER as keypress natively - }else if(c>95 && c<106){ - c -= 48; // map CTRL-[numpad 0-9] to ASCII - }else if(!evt.shiftKey && c>=65 && c<=90){ - c += 32; // map CTRL-[A-Z] to lowercase - }else{ - c = del._punctMap[c] || c; // map other problematic CTRL combinations to ASCII - } - } - // simulate a keypress event - var faux = del._synthesizeEvent(evt, {type: 'keypress', faux: true, charCode: c}); - fp.call(evt.currentTarget, faux); - } - }); - } - return handle; /*Handle*/ - }, - - remove: function(/*DOMNode*/ node, /*String*/ event, /*Handle*/ handle){ - if(node){ - if(handle._stealthKeyDownHandle){ - del._remove(node, "keydown", handle._stealthKeyDownHandle); - } - del._remove(node, event, handle); - } - }, - _fixEvent: function(evt, sender){ - switch(evt.type){ - case "keypress": - if(evt.faux){ return evt; } - var c = evt.charCode; - c = c>=32 ? c : 0; - return del._synthesizeEvent(evt, {charCode: c, faux: true}); - } - return evt; - } - }); - } - })(); - -if(dojo.isIE){ - // keep this out of the closure - // closing over 'iel' or 'ieh' b0rks leak prevention - // ls[i] is an index into the master handler array - dojo._ieDispatcher = function(args, sender){ - var ap = Array.prototype, - h = dojo._ie_listener.handlers, - c = args.callee, - ls = c[dojo._ieListenersName], - t = h[c.target]; - // return value comes from original target function - var r = t && t.apply(sender, args); - // make local copy of listener array so it's immutable during processing - var lls = [].concat(ls); - // invoke listeners after target function - for(var i in lls){ - var f = h[lls[i]]; - if(!(i in ap) && f){ - f.apply(sender, args); - } - } - return r; - }; - dojo._getIeDispatcher = function(){ - // ensure the returned function closes over nothing ("new Function" apparently doesn't close) - return new Function(dojo._scopeName + "._ieDispatcher(arguments, this)"); // function - }; - // keep this out of the closure to reduce RAM allocation - dojo._event_listener._fixCallback = function(fp){ - var f = dojo._event_listener._fixEvent; - return function(e){ return fp.call(this, f(e, this)); }; - }; -} - -} - -if(!dojo._hasResource["dojo._base.html"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojo._base.html"] = true; -dojo.provide("dojo._base.html"); - - - -// FIXME: need to add unit tests for all the semi-public methods - -try{ - document.execCommand("BackgroundImageCache", false, true); -}catch(e){ - // sane browsers don't have cache "issues" -} - -// ============================= -// DOM Functions -// ============================= - -/*===== -dojo.byId = function(id, doc){ - // summary: - // Returns DOM node with matching `id` attribute or `null` - // if not found. If `id` is a DomNode, this function is a no-op. - // - // id: String|DOMNode - // A string to match an HTML id attribute or a reference to a DOM Node - // - // doc: Document? - // Document to work in. Defaults to the current value of - // dojo.doc. Can be used to retrieve - // node references from other documents. - // - // example: - // Look up a node by ID: - // | var n = dojo.byId("foo"); - // - // example: - // Check if a node exists, and use it. - // | var n = dojo.byId("bar"); - // | if(n){ doStuff() ... } - // - // example: - // Allow string or DomNode references to be passed to a custom function: - // | var foo = function(nodeOrId){ - // | nodeOrId = dojo.byId(nodeOrId); - // | // ... more stuff - // | } -=====*/ - -if(dojo.isIE){ - dojo.byId = function(id, doc){ - if(typeof id != "string"){ - return id; - } - var _d = doc || dojo.doc, te = _d.getElementById(id); - // attributes.id.value is better than just id in case the - // user has a name=id inside a form - if(te && (te.attributes.id.value == id || te.id == id)){ - return te; - }else{ - var eles = _d.all[id]; - if(!eles || eles.nodeName){ - eles = [eles]; - } - // if more than 1, choose first with the correct id - var i=0; - while((te=eles[i++])){ - if((te.attributes && te.attributes.id && te.attributes.id.value == id) - || te.id == id){ - return te; - } - } - } - }; -}else{ - dojo.byId = function(id, doc){ - // inline'd type check. - // be sure to return null per documentation, to match IE branch. - return ((typeof id == "string") ? (doc || dojo.doc).getElementById(id) : id) || null; // DomNode - }; -} -/*===== -}; -=====*/ - -(function(){ - var d = dojo; - var byId = d.byId; - - var _destroyContainer = null, - _destroyDoc; - d.addOnWindowUnload(function(){ - _destroyContainer = null; //prevent IE leak - }); - -/*===== - dojo._destroyElement = function(node){ - // summary: - // Existing alias for `dojo.destroy`. Deprecated, will be removed - // in 2.0 - } -=====*/ - dojo._destroyElement = dojo.destroy = function(/*String|DomNode*/node){ - // summary: - // Removes a node from its parent, clobbering it and all of its - // children. - // - // description: - // Removes a node from its parent, clobbering it and all of its - // children. Function only works with DomNodes, and returns nothing. - // - // node: - // A String ID or DomNode reference of the element to be destroyed - // - // example: - // Destroy a node byId: - // | dojo.destroy("someId"); - // - // example: - // Destroy all nodes in a list by reference: - // | dojo.query(".someNode").forEach(dojo.destroy); - - node = byId(node); - try{ - var doc = node.ownerDocument; - // cannot use _destroyContainer.ownerDocument since this can throw an exception on IE - if(!_destroyContainer || _destroyDoc != doc){ - _destroyContainer = doc.createElement("div"); - _destroyDoc = doc; - } - _destroyContainer.appendChild(node.parentNode ? node.parentNode.removeChild(node) : node); - // NOTE: see http://trac.dojotoolkit.org/ticket/2931. This may be a bug and not a feature - _destroyContainer.innerHTML = ""; - }catch(e){ - /* squelch */ - } - }; - - dojo.isDescendant = function(/*DomNode|String*/node, /*DomNode|String*/ancestor){ - // summary: - // Returns true if node is a descendant of ancestor - // node: string id or node reference to test - // ancestor: string id or node reference of potential parent to test against - // - // example: - // Test is node id="bar" is a descendant of node id="foo" - // | if(dojo.isDescendant("bar", "foo")){ ... } - try{ - node = byId(node); - ancestor = byId(ancestor); - while(node){ - if(node == ancestor){ - return true; // Boolean - } - node = node.parentNode; - } - }catch(e){ /* squelch, return false */ } - return false; // Boolean - }; - - dojo.setSelectable = function(/*DomNode|String*/node, /*Boolean*/selectable){ - // summary: - // Enable or disable selection on a node - // node: - // id or reference to node - // selectable: - // state to put the node in. false indicates unselectable, true - // allows selection. - // example: - // Make the node id="bar" unselectable - // | dojo.setSelectable("bar"); - // example: - // Make the node id="bar" selectable - // | dojo.setSelectable("bar", true); - node = byId(node); - if(d.isMozilla){ - node.style.MozUserSelect = selectable ? "" : "none"; - }else if(d.isKhtml || d.isWebKit){ - node.style.KhtmlUserSelect = selectable ? "auto" : "none"; - }else if(d.isIE){ - var v = (node.unselectable = selectable ? "" : "on"); - d.query("*", node).forEach("item.unselectable = '"+v+"'"); - } - //FIXME: else? Opera? - }; - - var _insertBefore = function(/*DomNode*/node, /*DomNode*/ref){ - var parent = ref.parentNode; - if(parent){ - parent.insertBefore(node, ref); - } - }; - - var _insertAfter = function(/*DomNode*/node, /*DomNode*/ref){ - // summary: - // Try to insert node after ref - var parent = ref.parentNode; - if(parent){ - if(parent.lastChild == ref){ - parent.appendChild(node); - }else{ - parent.insertBefore(node, ref.nextSibling); - } - } - }; - - dojo.place = function(node, refNode, position){ - // summary: - // Attempt to insert node into the DOM, choosing from various positioning options. - // Returns the first argument resolved to a DOM node. - // - // node: String|DomNode - // id or node reference, or HTML fragment starting with "<" to place relative to refNode - // - // refNode: String|DomNode - // id or node reference to use as basis for placement - // - // position: String|Number? - // string noting the position of node relative to refNode or a - // number indicating the location in the childNodes collection of refNode. - // Accepted string values are: - // | * before - // | * after - // | * replace - // | * only - // | * first - // | * last - // "first" and "last" indicate positions as children of refNode, "replace" replaces refNode, - // "only" replaces all children. position defaults to "last" if not specified - // - // returns: DomNode - // Returned values is the first argument resolved to a DOM node. - // - // .place() is also a method of `dojo.NodeList`, allowing `dojo.query` node lookups. - // - // example: - // Place a node by string id as the last child of another node by string id: - // | dojo.place("someNode", "anotherNode"); - // - // example: - // Place a node by string id before another node by string id - // | dojo.place("someNode", "anotherNode", "before"); - // - // example: - // Create a Node, and place it in the body element (last child): - // | dojo.place("
", dojo.body()); - // - // example: - // Put a new LI as the first child of a list by id: - // | dojo.place("
  • ", "someUl", "first"); - - refNode = byId(refNode); - if(typeof node == "string"){ // inline'd type check - node = /^\s* td", node).forEach(function(i){ - d._setOpacity(i, opacity); - }); - } - return opacity; - } : - function(node, opacity){ - return node.style.opacity = opacity; - }; - - var _pixelNamesCache = { - left: true, top: true - }; - var _pixelRegExp = /margin|padding|width|height|max|min|offset/; // |border - var _toStyleValue = function(node, type, value){ - type = type.toLowerCase(); // FIXME: should we really be doing string case conversion here? Should we cache it? Need to profile! - if(d.isIE){ - if(value == "auto"){ - if(type == "height"){ return node.offsetHeight; } - if(type == "width"){ return node.offsetWidth; } - } - if(type == "fontweight"){ - switch(value){ - case 700: return "bold"; - case 400: - default: return "normal"; - } - } - } - if(!(type in _pixelNamesCache)){ - _pixelNamesCache[type] = _pixelRegExp.test(type); - } - return _pixelNamesCache[type] ? px(node, value) : value; - }; - - var _floatStyle = d.isIE ? "styleFloat" : "cssFloat", - _floatAliases = { "cssFloat": _floatStyle, "styleFloat": _floatStyle, "float": _floatStyle } - ; - - // public API - - dojo.style = function( /*DomNode|String*/ node, - /*String?|Object?*/ style, - /*String?*/ value){ - // summary: - // Accesses styles on a node. If 2 arguments are - // passed, acts as a getter. If 3 arguments are passed, acts - // as a setter. - // description: - // Getting the style value uses the computed style for the node, so the value - // will be a calculated value, not just the immediate node.style value. - // Also when getting values, use specific style names, - // like "borderBottomWidth" instead of "border" since compound values like - // "border" are not necessarily reflected as expected. - // If you want to get node dimensions, use `dojo.marginBox()`, - // `dojo.contentBox()` or `dojo.position()`. - // node: - // id or reference to node to get/set style for - // style: - // the style property to set in DOM-accessor format - // ("borderWidth", not "border-width") or an object with key/value - // pairs suitable for setting each property. - // value: - // If passed, sets value on the node for style, handling - // cross-browser concerns. When setting a pixel value, - // be sure to include "px" in the value. For instance, top: "200px". - // Otherwise, in some cases, some browsers will not apply the style. - // example: - // Passing only an ID or node returns the computed style object of - // the node: - // | dojo.style("thinger"); - // example: - // Passing a node and a style property returns the current - // normalized, computed value for that property: - // | dojo.style("thinger", "opacity"); // 1 by default - // - // example: - // Passing a node, a style property, and a value changes the - // current display of the node and returns the new computed value - // | dojo.style("thinger", "opacity", 0.5); // == 0.5 - // - // example: - // Passing a node, an object-style style property sets each of the values in turn and returns the computed style object of the node: - // | dojo.style("thinger", { - // | "opacity": 0.5, - // | "border": "3px solid black", - // | "height": "300px" - // | }); - // - // example: - // When the CSS style property is hyphenated, the JavaScript property is camelCased. - // font-size becomes fontSize, and so on. - // | dojo.style("thinger",{ - // | fontSize:"14pt", - // | letterSpacing:"1.2em" - // | }); - // - // example: - // dojo.NodeList implements .style() using the same syntax, omitting the "node" parameter, calling - // dojo.style() on every element of the list. See: `dojo.query()` and `dojo.NodeList()` - // | dojo.query(".someClassName").style("visibility","hidden"); - // | // or - // | dojo.query("#baz > div").style({ - // | opacity:0.75, - // | fontSize:"13pt" - // | }); - - var n = byId(node), args = arguments.length, op = (style == "opacity"); - style = _floatAliases[style] || style; - if(args == 3){ - return op ? d._setOpacity(n, value) : n.style[style] = value; /*Number*/ - } - if(args == 2 && op){ - return d._getOpacity(n); - } - var s = gcs(n); - if(args == 2 && typeof style != "string"){ // inline'd type check - for(var x in style){ - d.style(node, x, style[x]); - } - return s; - } - return (args == 1) ? s : _toStyleValue(n, style, s[style] || n.style[style]); /* CSS2Properties||String||Number */ - }; - - // ============================= - // Box Functions - // ============================= - - dojo._getPadExtents = function(/*DomNode*/n, /*Object*/computedStyle){ - // summary: - // Returns object with special values specifically useful for node - // fitting. - // description: - // Returns an object with `w`, `h`, `l`, `t` properties: - // | l/t = left/top padding (respectively) - // | w = the total of the left and right padding - // | h = the total of the top and bottom padding - // If 'node' has position, l/t forms the origin for child nodes. - // The w/h are used for calculating boxes. - // Normally application code will not need to invoke this - // directly, and will use the ...box... functions instead. - var - s = computedStyle||gcs(n), - l = px(n, s.paddingLeft), - t = px(n, s.paddingTop); - return { - l: l, - t: t, - w: l+px(n, s.paddingRight), - h: t+px(n, s.paddingBottom) - }; - }; - - dojo._getBorderExtents = function(/*DomNode*/n, /*Object*/computedStyle){ - // summary: - // returns an object with properties useful for noting the border - // dimensions. - // description: - // * l/t = the sum of left/top border (respectively) - // * w = the sum of the left and right border - // * h = the sum of the top and bottom border - // - // The w/h are used for calculating boxes. - // Normally application code will not need to invoke this - // directly, and will use the ...box... functions instead. - var - ne = "none", - s = computedStyle||gcs(n), - bl = (s.borderLeftStyle != ne ? px(n, s.borderLeftWidth) : 0), - bt = (s.borderTopStyle != ne ? px(n, s.borderTopWidth) : 0); - return { - l: bl, - t: bt, - w: bl + (s.borderRightStyle!=ne ? px(n, s.borderRightWidth) : 0), - h: bt + (s.borderBottomStyle!=ne ? px(n, s.borderBottomWidth) : 0) - }; - }; - - dojo._getPadBorderExtents = function(/*DomNode*/n, /*Object*/computedStyle){ - // summary: - // Returns object with properties useful for box fitting with - // regards to padding. - // description: - // * l/t = the sum of left/top padding and left/top border (respectively) - // * w = the sum of the left and right padding and border - // * h = the sum of the top and bottom padding and border - // - // The w/h are used for calculating boxes. - // Normally application code will not need to invoke this - // directly, and will use the ...box... functions instead. - var - s = computedStyle||gcs(n), - p = d._getPadExtents(n, s), - b = d._getBorderExtents(n, s); - return { - l: p.l + b.l, - t: p.t + b.t, - w: p.w + b.w, - h: p.h + b.h - }; - }; - - dojo._getMarginExtents = function(n, computedStyle){ - // summary: - // returns object with properties useful for box fitting with - // regards to box margins (i.e., the outer-box). - // - // * l/t = marginLeft, marginTop, respectively - // * w = total width, margin inclusive - // * h = total height, margin inclusive - // - // The w/h are used for calculating boxes. - // Normally application code will not need to invoke this - // directly, and will use the ...box... functions instead. - var - s = computedStyle||gcs(n), - l = px(n, s.marginLeft), - t = px(n, s.marginTop), - r = px(n, s.marginRight), - b = px(n, s.marginBottom); - if(d.isWebKit && (s.position != "absolute")){ - // FIXME: Safari's version of the computed right margin - // is the space between our right edge and the right edge - // of our offsetParent. - // What we are looking for is the actual margin value as - // determined by CSS. - // Hack solution is to assume left/right margins are the same. - r = l; - } - return { - l: l, - t: t, - w: l+r, - h: t+b - }; - }; - - // Box getters work in any box context because offsetWidth/clientWidth - // are invariant wrt box context - // - // They do *not* work for display: inline objects that have padding styles - // because the user agent ignores padding (it's bogus styling in any case) - // - // Be careful with IMGs because they are inline or block depending on - // browser and browser mode. - - // Although it would be easier to read, there are not separate versions of - // _getMarginBox for each browser because: - // 1. the branching is not expensive - // 2. factoring the shared code wastes cycles (function call overhead) - // 3. duplicating the shared code wastes bytes - - dojo._getMarginBox = function(/*DomNode*/node, /*Object*/computedStyle){ - // summary: - // returns an object that encodes the width, height, left and top - // positions of the node's margin box. - var s = computedStyle || gcs(node), me = d._getMarginExtents(node, s); - var l = node.offsetLeft - me.l, t = node.offsetTop - me.t, p = node.parentNode; - if(d.isMoz){ - // Mozilla: - // If offsetParent has a computed overflow != visible, the offsetLeft is decreased - // by the parent's border. - // We don't want to compute the parent's style, so instead we examine node's - // computed left/top which is more stable. - var sl = parseFloat(s.left), st = parseFloat(s.top); - if(!isNaN(sl) && !isNaN(st)){ - l = sl, t = st; - }else{ - // If child's computed left/top are not parseable as a number (e.g. "auto"), we - // have no choice but to examine the parent's computed style. - if(p && p.style){ - var pcs = gcs(p); - if(pcs.overflow != "visible"){ - var be = d._getBorderExtents(p, pcs); - l += be.l, t += be.t; - } - } - } - }else if(d.isOpera || (d.isIE > 7 && !d.isQuirks)){ - // On Opera and IE 8, offsetLeft/Top includes the parent's border - if(p){ - be = d._getBorderExtents(p); - l -= be.l; - t -= be.t; - } - } - return { - l: l, - t: t, - w: node.offsetWidth + me.w, - h: node.offsetHeight + me.h - }; - } - - dojo._getMarginSize = function(/*DomNode*/node, /*Object*/computedStyle){ - // summary: - // returns an object that encodes the width and height of - // the node's margin box - node = byId(node); - var me = d._getMarginExtents(node, computedStyle || gcs(node)); - - var size = node.getBoundingClientRect(); - return { - w: (size.right - size.left) + me.w, - h: (size.bottom - size.top) + me.h - } - } - - dojo._getContentBox = function(node, computedStyle){ - // summary: - // Returns an object that encodes the width, height, left and top - // positions of the node's content box, irrespective of the - // current box model. - - // clientWidth/Height are important since the automatically account for scrollbars - // fallback to offsetWidth/Height for special cases (see #3378) - var s = computedStyle || gcs(node), - pe = d._getPadExtents(node, s), - be = d._getBorderExtents(node, s), - w = node.clientWidth, - h - ; - if(!w){ - w = node.offsetWidth, h = node.offsetHeight; - }else{ - h = node.clientHeight, be.w = be.h = 0; - } - // On Opera, offsetLeft includes the parent's border - if(d.isOpera){ pe.l += be.l; pe.t += be.t; }; - return { - l: pe.l, - t: pe.t, - w: w - pe.w - be.w, - h: h - pe.h - be.h - }; - }; - - dojo._getBorderBox = function(node, computedStyle){ - var s = computedStyle || gcs(node), - pe = d._getPadExtents(node, s), - cb = d._getContentBox(node, s) - ; - return { - l: cb.l - pe.l, - t: cb.t - pe.t, - w: cb.w + pe.w, - h: cb.h + pe.h - }; - }; - - // Box setters depend on box context because interpretation of width/height styles - // vary wrt box context. - // - // The value of dojo.boxModel is used to determine box context. - // dojo.boxModel can be set directly to change behavior. - // - // Beware of display: inline objects that have padding styles - // because the user agent ignores padding (it's a bogus setup anyway) - // - // Be careful with IMGs because they are inline or block depending on - // browser and browser mode. - // - // Elements other than DIV may have special quirks, like built-in - // margins or padding, or values not detectable via computedStyle. - // In particular, margins on TABLE do not seems to appear - // at all in computedStyle on Mozilla. - - dojo._setBox = function(/*DomNode*/node, /*Number?*/l, /*Number?*/t, /*Number?*/w, /*Number?*/h, /*String?*/u){ - // summary: - // sets width/height/left/top in the current (native) box-model - // dimentions. Uses the unit passed in u. - // node: - // DOM Node reference. Id string not supported for performance - // reasons. - // l: - // left offset from parent. - // t: - // top offset from parent. - // w: - // width in current box model. - // h: - // width in current box model. - // u: - // unit measure to use for other measures. Defaults to "px". - u = u || "px"; - var s = node.style; - if(!isNaN(l)){ s.left = l + u; } - if(!isNaN(t)){ s.top = t + u; } - if(w >= 0){ s.width = w + u; } - if(h >= 0){ s.height = h + u; } - }; - - dojo._isButtonTag = function(/*DomNode*/node) { - // summary: - // True if the node is BUTTON or INPUT.type="button". - return node.tagName == "BUTTON" - || node.tagName=="INPUT" && (node.getAttribute("type")||'').toUpperCase() == "BUTTON"; // boolean - }; - - dojo._usesBorderBox = function(/*DomNode*/node){ - // summary: - // True if the node uses border-box layout. - - // We could test the computed style of node to see if a particular box - // has been specified, but there are details and we choose not to bother. - - // TABLE and BUTTON (and INPUT type=button) are always border-box by default. - // If you have assigned a different box to either one via CSS then - // box functions will break. - - var n = node.tagName; - return d.boxModel=="border-box" || n=="TABLE" || d._isButtonTag(node); // boolean - }; - - dojo._setContentSize = function(/*DomNode*/node, /*Number*/widthPx, /*Number*/heightPx, /*Object*/computedStyle){ - // summary: - // Sets the size of the node's contents, irrespective of margins, - // padding, or borders. - if(d._usesBorderBox(node)){ - var pb = d._getPadBorderExtents(node, computedStyle); - if(widthPx >= 0){ widthPx += pb.w; } - if(heightPx >= 0){ heightPx += pb.h; } - } - d._setBox(node, NaN, NaN, widthPx, heightPx); - }; - - dojo._setMarginBox = function(/*DomNode*/node, /*Number?*/leftPx, /*Number?*/topPx, - /*Number?*/widthPx, /*Number?*/heightPx, - /*Object*/computedStyle){ - // summary: - // sets the size of the node's margin box and placement - // (left/top), irrespective of box model. Think of it as a - // passthrough to dojo._setBox that handles box-model vagaries for - // you. - - var s = computedStyle || gcs(node), - // Some elements have special padding, margin, and box-model settings. - // To use box functions you may need to set padding, margin explicitly. - // Controlling box-model is harder, in a pinch you might set dojo.boxModel. - bb = d._usesBorderBox(node), - pb = bb ? _nilExtents : d._getPadBorderExtents(node, s) - ; - if(d.isWebKit){ - // on Safari (3.1.2), button nodes with no explicit size have a default margin - // setting an explicit size eliminates the margin. - // We have to swizzle the width to get correct margin reading. - if(d._isButtonTag(node)){ - var ns = node.style; - if(widthPx >= 0 && !ns.width) { ns.width = "4px"; } - if(heightPx >= 0 && !ns.height) { ns.height = "4px"; } - } - } - var mb = d._getMarginExtents(node, s); - if(widthPx >= 0){ widthPx = Math.max(widthPx - pb.w - mb.w, 0); } - if(heightPx >= 0){ heightPx = Math.max(heightPx - pb.h - mb.h, 0); } - d._setBox(node, leftPx, topPx, widthPx, heightPx); - }; - - var _nilExtents = { l:0, t:0, w:0, h:0 }; - - // public API - - dojo.marginBox = function(/*DomNode|String*/node, /*Object?*/box){ - // summary: - // Getter/setter for the margin-box of node. - // description: - // Getter/setter for the margin-box of node. - // Returns an object in the expected format of box (regardless - // if box is passed). The object might look like: - // `{ l: 50, t: 200, w: 300: h: 150 }` - // for a node offset from its parent 50px to the left, 200px from - // the top with a margin width of 300px and a margin-height of - // 150px. - // node: - // id or reference to DOM Node to get/set box for - // box: - // If passed, denotes that dojo.marginBox() should - // update/set the margin box for node. Box is an object in the - // above format. All properties are optional if passed. - // example: - // Retrieve the marginbox of a passed node - // | var box = dojo.marginBox("someNodeId"); - // | console.dir(box); - // - // example: - // Set a node's marginbox to the size of another node - // | var box = dojo.marginBox("someNodeId"); - // | dojo.marginBox("someOtherNode", box); - - var n = byId(node), s = gcs(n), b = box; - return !b ? d._getMarginBox(n, s) : d._setMarginBox(n, b.l, b.t, b.w, b.h, s); // Object - }; - - dojo.contentBox = function(/*DomNode|String*/node, /*Object?*/box){ - // summary: - // Getter/setter for the content-box of node. - // description: - // Returns an object in the expected format of box (regardless if box is passed). - // The object might look like: - // `{ l: 50, t: 200, w: 300: h: 150 }` - // for a node offset from its parent 50px to the left, 200px from - // the top with a content width of 300px and a content-height of - // 150px. Note that the content box may have a much larger border - // or margin box, depending on the box model currently in use and - // CSS values set/inherited for node. - // While the getter will return top and left values, the - // setter only accepts setting the width and height. - // node: - // id or reference to DOM Node to get/set box for - // box: - // If passed, denotes that dojo.contentBox() should - // update/set the content box for node. Box is an object in the - // above format, but only w (width) and h (height) are supported. - // All properties are optional if passed. - var n = byId(node), s = gcs(n), b = box; - return !b ? d._getContentBox(n, s) : d._setContentSize(n, b.w, b.h, s); // Object - }; - - // ============================= - // Positioning - // ============================= - - var _sumAncestorProperties = function(node, prop){ - if(!(node = (node||0).parentNode)){return 0;} - var val, retVal = 0, _b = d.body(); - while(node && node.style){ - if(gcs(node).position == "fixed"){ - return 0; - } - val = node[prop]; - if(val){ - retVal += val - 0; - // opera and khtml #body & #html has the same values, we only - // need one value - if(node == _b){ break; } - } - node = node.parentNode; - } - return retVal; // integer - }; - - dojo._docScroll = function(){ - var n = d.global; - return "pageXOffset" in n - ? { x:n.pageXOffset, y:n.pageYOffset } - : (n = d.isQuirks? d.doc.body : d.doc.documentElement, { x:d._fixIeBiDiScrollLeft(n.scrollLeft || 0), y:n.scrollTop || 0 }); - }; - - dojo._isBodyLtr = function(){ - return "_bodyLtr" in d? d._bodyLtr : - d._bodyLtr = (d.body().dir || d.doc.documentElement.dir || "ltr").toLowerCase() == "ltr"; // Boolean - }; - - dojo._getIeDocumentElementOffset = function(){ - // summary: - // returns the offset in x and y from the document body to the - // visual edge of the page - // description: - // The following values in IE contain an offset: - // | event.clientX - // | event.clientY - // | node.getBoundingClientRect().left - // | node.getBoundingClientRect().top - // But other position related values do not contain this offset, - // such as node.offsetLeft, node.offsetTop, node.style.left and - // node.style.top. The offset is always (2, 2) in LTR direction. - // When the body is in RTL direction, the offset counts the width - // of left scroll bar's width. This function computes the actual - // offset. - - //NOTE: assumes we're being called in an IE browser - - var de = d.doc.documentElement; // only deal with HTML element here, _abs handles body/quirks - - if(d.isIE < 8){ - var r = de.getBoundingClientRect(); // works well for IE6+ - //console.debug('rect left,top = ' + r.left+','+r.top + ', html client left/top = ' + de.clientLeft+','+de.clientTop + ', rtl = ' + (!d._isBodyLtr()) + ', quirks = ' + d.isQuirks); - var l = r.left, - t = r.top; - if(d.isIE < 7){ - l += de.clientLeft; // scrollbar size in strict/RTL, or, - t += de.clientTop; // HTML border size in strict - } - return { - x: l < 0? 0 : l, // FRAME element border size can lead to inaccurate negative values - y: t < 0? 0 : t - }; - }else{ - return { - x: 0, - y: 0 - }; - } - - }; - - dojo._fixIeBiDiScrollLeft = function(/*Integer*/ scrollLeft){ - // In RTL direction, scrollLeft should be a negative value, but IE - // returns a positive one. All codes using documentElement.scrollLeft - // must call this function to fix this error, otherwise the position - // will offset to right when there is a horizontal scrollbar. - - var ie = d.isIE; - if(ie && !d._isBodyLtr()){ - var qk = d.isQuirks, - de = qk ? d.doc.body : d.doc.documentElement; - if(ie == 6 && !qk && d.global.frameElement && de.scrollHeight > de.clientHeight){ - scrollLeft += de.clientLeft; // workaround ie6+strict+rtl+iframe+vertical-scrollbar bug where clientWidth is too small by clientLeft pixels - } - return (ie < 8 || qk) ? (scrollLeft + de.clientWidth - de.scrollWidth) : -scrollLeft; // Integer - } - return scrollLeft; // Integer - }; - - // FIXME: need a setter for coords or a moveTo!! - dojo._abs = dojo.position = function(/*DomNode*/node, /*Boolean?*/includeScroll){ - // summary: - // Gets the position and size of the passed element relative to - // the viewport (if includeScroll==false), or relative to the - // document root (if includeScroll==true). - // - // description: - // Returns an object of the form: - // { x: 100, y: 300, w: 20, h: 15 } - // If includeScroll==true, the x and y values will include any - // document offsets that may affect the position relative to the - // viewport. - // Uses the border-box model (inclusive of border and padding but - // not margin). Does not act as a setter. - - node = byId(node); - var db = d.body(), - dh = db.parentNode, - ret = node.getBoundingClientRect(); - ret = { x: ret.left, y: ret.top, w: ret.right - ret.left, h: ret.bottom - ret.top }; - if(d.isIE){ - // On IE there's a 2px offset that we need to adjust for, see _getIeDocumentElementOffset() - var offset = d._getIeDocumentElementOffset(); - - // fixes the position in IE, quirks mode - ret.x -= offset.x + (d.isQuirks ? db.clientLeft+db.offsetLeft : 0); - ret.y -= offset.y + (d.isQuirks ? db.clientTop+db.offsetTop : 0); - }else if(d.isFF == 3){ - // In FF3 you have to subtract the document element margins. - // Fixed in FF3.5 though. - var cs = gcs(dh); - ret.x -= px(dh, cs.marginLeft) + px(dh, cs.borderLeftWidth); - ret.y -= px(dh, cs.marginTop) + px(dh, cs.borderTopWidth); - } - // account for document scrolling - if(includeScroll){ - var scroll = d._docScroll(); - ret.x += scroll.x; - ret.y += scroll.y; - } - - return ret; // Object - }; - - dojo.coords = function(/*DomNode|String*/node, /*Boolean?*/includeScroll){ - // summary: - // Deprecated: Use position() for border-box x/y/w/h - // or marginBox() for margin-box w/h/l/t. - // Returns an object representing a node's size and position. - // - // description: - // Returns an object that measures margin-box (w)idth/(h)eight - // and absolute position x/y of the border-box. Also returned - // is computed (l)eft and (t)op values in pixels from the - // node's offsetParent as returned from marginBox(). - // Return value will be in the form: - //| { l: 50, t: 200, w: 300: h: 150, x: 100, y: 300 } - // Does not act as a setter. If includeScroll is passed, the x and - // y params are affected as one would expect in dojo.position(). - var n = byId(node), s = gcs(n), mb = d._getMarginBox(n, s); - var abs = d.position(n, includeScroll); - mb.x = abs.x; - mb.y = abs.y; - return mb; - }; - - // ============================= - // Element attribute Functions - // ============================= - - // dojo.attr() should conform to http://www.w3.org/TR/DOM-Level-2-Core/ - - var _propNames = { - // properties renamed to avoid clashes with reserved words - "class": "className", - "for": "htmlFor", - // properties written as camelCase - tabindex: "tabIndex", - readonly: "readOnly", - colspan: "colSpan", - frameborder: "frameBorder", - rowspan: "rowSpan", - valuetype: "valueType" - }, - _attrNames = { - // original attribute names - classname: "class", - htmlfor: "for", - // for IE - tabindex: "tabIndex", - readonly: "readOnly" - }, - _forcePropNames = { - innerHTML: 1, - className: 1, - htmlFor: d.isIE, - value: 1 - }; - - var _fixAttrName = function(/*String*/ name){ - return _attrNames[name.toLowerCase()] || name; - }; - - var _hasAttr = function(node, name){ - var attr = node.getAttributeNode && node.getAttributeNode(name); - return attr && attr.specified; // Boolean - }; - - // There is a difference in the presence of certain properties and their default values - // between browsers. For example, on IE "disabled" is present on all elements, - // but it is value is "false"; "tabIndex" of
    returns 0 by default on IE, yet other browsers - // can return -1. - - dojo.hasAttr = function(/*DomNode|String*/node, /*String*/name){ - // summary: - // Returns true if the requested attribute is specified on the - // given element, and false otherwise. - // node: - // id or reference to the element to check - // name: - // the name of the attribute - // returns: - // true if the requested attribute is specified on the - // given element, and false otherwise - var lc = name.toLowerCase(); - return _forcePropNames[_propNames[lc] || name] || _hasAttr(byId(node), _attrNames[lc] || name); // Boolean - }; - - var _evtHdlrMap = {}, _ctr = 0, - _attrId = dojo._scopeName + "attrid", - // the next dictionary lists elements with read-only innerHTML on IE - _roInnerHtml = {col: 1, colgroup: 1, - // frameset: 1, head: 1, html: 1, style: 1, - table: 1, tbody: 1, tfoot: 1, thead: 1, tr: 1, title: 1}; - - dojo.attr = function(/*DomNode|String*/node, /*String|Object*/name, /*String?*/value){ - // summary: - // Gets or sets an attribute on an HTML element. - // description: - // Handles normalized getting and setting of attributes on DOM - // Nodes. If 2 arguments are passed, and a the second argumnt is a - // string, acts as a getter. - // - // If a third argument is passed, or if the second argument is a - // map of attributes, acts as a setter. - // - // When passing functions as values, note that they will not be - // directly assigned to slots on the node, but rather the default - // behavior will be removed and the new behavior will be added - // using `dojo.connect()`, meaning that event handler properties - // will be normalized and that some caveats with regards to - // non-standard behaviors for onsubmit apply. Namely that you - // should cancel form submission using `dojo.stopEvent()` on the - // passed event object instead of returning a boolean value from - // the handler itself. - // node: - // id or reference to the element to get or set the attribute on - // name: - // the name of the attribute to get or set. - // value: - // The value to set for the attribute - // returns: - // when used as a getter, the value of the requested attribute - // or null if that attribute does not have a specified or - // default value; - // - // when used as a setter, the DOM node - // - // example: - // | // get the current value of the "foo" attribute on a node - // | dojo.attr(dojo.byId("nodeId"), "foo"); - // | // or we can just pass the id: - // | dojo.attr("nodeId", "foo"); - // - // example: - // | // use attr() to set the tab index - // | dojo.attr("nodeId", "tabIndex", 3); - // | - // - // example: - // Set multiple values at once, including event handlers: - // | dojo.attr("formId", { - // | "foo": "bar", - // | "tabIndex": -1, - // | "method": "POST", - // | "onsubmit": function(e){ - // | // stop submitting the form. Note that the IE behavior - // | // of returning true or false will have no effect here - // | // since our handler is connect()ed to the built-in - // | // onsubmit behavior and so we need to use - // | // dojo.stopEvent() to ensure that the submission - // | // doesn't proceed. - // | dojo.stopEvent(e); - // | - // | // submit the form with Ajax - // | dojo.xhrPost({ form: "formId" }); - // | } - // | }); - // - // example: - // Style is s special case: Only set with an object hash of styles - // | dojo.attr("someNode",{ - // | id:"bar", - // | style:{ - // | width:"200px", height:"100px", color:"#000" - // | } - // | }); - // - // example: - // Again, only set style as an object hash of styles: - // | var obj = { color:"#fff", backgroundColor:"#000" }; - // | dojo.attr("someNode", "style", obj); - // | - // | // though shorter to use `dojo.style()` in this case: - // | dojo.style("someNode", obj); - - node = byId(node); - var args = arguments.length, prop; - if(args == 2 && typeof name != "string"){ // inline'd type check - // the object form of setter: the 2nd argument is a dictionary - for(var x in name){ - d.attr(node, x, name[x]); - } - return node; // DomNode - } - var lc = name.toLowerCase(), - propName = _propNames[lc] || name, - forceProp = _forcePropNames[propName], - attrName = _attrNames[lc] || name; - if(args == 3){ - // setter - do{ - if(propName == "style" && typeof value != "string"){ // inline'd type check - // special case: setting a style - d.style(node, value); - break; - } - if(propName == "innerHTML"){ - // special case: assigning HTML - if(d.isIE && node.tagName.toLowerCase() in _roInnerHtml){ - d.empty(node); - node.appendChild(d._toDom(value, node.ownerDocument)); - }else{ - node[propName] = value; - } - break; - } - if(d.isFunction(value)){ - // special case: assigning an event handler - // clobber if we can - var attrId = d.attr(node, _attrId); - if(!attrId){ - attrId = _ctr++; - d.attr(node, _attrId, attrId); - } - if(!_evtHdlrMap[attrId]){ - _evtHdlrMap[attrId] = {}; - } - var h = _evtHdlrMap[attrId][propName]; - if(h){ - d.disconnect(h); - }else{ - try{ - delete node[propName]; - }catch(e){} - } - // ensure that event objects are normalized, etc. - _evtHdlrMap[attrId][propName] = d.connect(node, propName, value); - break; - } - if(forceProp || typeof value == "boolean"){ - // special case: forcing assignment to the property - // special case: setting boolean to a property instead of attribute - node[propName] = value; - break; - } - // node's attribute - node.setAttribute(attrName, value); - }while(false); - return node; // DomNode - } - // getter - // should we access this attribute via a property or - // via getAttribute()? - value = node[propName]; - if(forceProp && typeof value != "undefined"){ - // node's property - return value; // Anything - } - if(propName != "href" && (typeof value == "boolean" || d.isFunction(value))){ - // node's property - return value; // Anything - } - // node's attribute - // we need _hasAttr() here to guard against IE returning a default value - return _hasAttr(node, attrName) ? node.getAttribute(attrName) : null; // Anything - }; - - dojo.removeAttr = function(/*DomNode|String*/ node, /*String*/ name){ - // summary: - // Removes an attribute from an HTML element. - // node: - // id or reference to the element to remove the attribute from - // name: - // the name of the attribute to remove - byId(node).removeAttribute(_fixAttrName(name)); - }; - - dojo.getNodeProp = function(/*DomNode|String*/ node, /*String*/ name){ - // summary: - // Returns an effective value of a property or an attribute. - // node: - // id or reference to the element to remove the attribute from - // name: - // the name of the attribute - node = byId(node); - var lc = name.toLowerCase(), - propName = _propNames[lc] || name; - if((propName in node) && propName != "href"){ - // node's property - return node[propName]; // Anything - } - // node's attribute - var attrName = _attrNames[lc] || name; - return _hasAttr(node, attrName) ? node.getAttribute(attrName) : null; // Anything - }; - - dojo.create = function(tag, attrs, refNode, pos){ - // summary: - // Create an element, allowing for optional attribute decoration - // and placement. - // - // description: - // A DOM Element creation function. A shorthand method for creating a node or - // a fragment, and allowing for a convenient optional attribute setting step, - // as well as an optional DOM placement reference. - //| - // Attributes are set by passing the optional object through `dojo.attr`. - // See `dojo.attr` for noted caveats and nuances, and API if applicable. - //| - // Placement is done via `dojo.place`, assuming the new node to be the action - // node, passing along the optional reference node and position. - // - // tag: String|DomNode - // A string of the element to create (eg: "div", "a", "p", "li", "script", "br"), - // or an existing DOM node to process. - // - // attrs: Object - // An object-hash of attributes to set on the newly created node. - // Can be null, if you don't want to set any attributes/styles. - // See: `dojo.attr` for a description of available attributes. - // - // refNode: String?|DomNode? - // Optional reference node. Used by `dojo.place` to place the newly created - // node somewhere in the dom relative to refNode. Can be a DomNode reference - // or String ID of a node. - // - // pos: String? - // Optional positional reference. Defaults to "last" by way of `dojo.place`, - // though can be set to "first","after","before","last", "replace" or "only" - // to further control the placement of the new node relative to the refNode. - // 'refNode' is required if a 'pos' is specified. - // - // returns: DomNode - // - // example: - // Create a DIV: - // | var n = dojo.create("div"); - // - // example: - // Create a DIV with content: - // | var n = dojo.create("div", { innerHTML:"

    hi

    " }); - // - // example: - // Place a new DIV in the BODY, with no attributes set - // | var n = dojo.create("div", null, dojo.body()); - // - // example: - // Create an UL, and populate it with LI's. Place the list as the first-child of a - // node with id="someId": - // | var ul = dojo.create("ul", null, "someId", "first"); - // | var items = ["one", "two", "three", "four"]; - // | dojo.forEach(items, function(data){ - // | dojo.create("li", { innerHTML: data }, ul); - // | }); - // - // example: - // Create an anchor, with an href. Place in BODY: - // | dojo.create("a", { href:"foo.html", title:"Goto FOO!" }, dojo.body()); - // - // example: - // Create a `dojo.NodeList()` from a new element (for syntatic sugar): - // | dojo.query(dojo.create('div')) - // | .addClass("newDiv") - // | .onclick(function(e){ console.log('clicked', e.target) }) - // | .place("#someNode"); // redundant, but cleaner. - - var doc = d.doc; - if(refNode){ - refNode = byId(refNode); - doc = refNode.ownerDocument; - } - if(typeof tag == "string"){ // inline'd type check - tag = doc.createElement(tag); - } - if(attrs){ d.attr(tag, attrs); } - if(refNode){ d.place(tag, refNode, pos); } - return tag; // DomNode - }; - - /*===== - dojo.empty = function(node){ - // summary: - // safely removes all children of the node. - // node: DOMNode|String - // a reference to a DOM node or an id. - // example: - // Destroy node's children byId: - // | dojo.empty("someId"); - // - // example: - // Destroy all nodes' children in a list by reference: - // | dojo.query(".someNode").forEach(dojo.empty); - } - =====*/ - - d.empty = - d.isIE ? function(node){ - node = byId(node); - for(var c; c = node.lastChild;){ // intentional assignment - d.destroy(c); - } - } : - function(node){ - byId(node).innerHTML = ""; - }; - - /*===== - dojo._toDom = function(frag, doc){ - // summary: - // instantiates an HTML fragment returning the corresponding DOM. - // frag: String - // the HTML fragment - // doc: DocumentNode? - // optional document to use when creating DOM nodes, defaults to - // dojo.doc if not specified. - // returns: DocumentFragment - // - // example: - // Create a table row: - // | var tr = dojo._toDom("First!"); - } - =====*/ - - // support stuff for dojo._toDom - var tagWrap = { - option: ["select"], - tbody: ["table"], - thead: ["table"], - tfoot: ["table"], - tr: ["table", "tbody"], - td: ["table", "tbody", "tr"], - th: ["table", "thead", "tr"], - legend: ["fieldset"], - caption: ["table"], - colgroup: ["table"], - col: ["table", "colgroup"], - li: ["ul"] - }, - reTag = /<\s*([\w\:]+)/, - masterNode = {}, masterNum = 0, - masterName = "__" + d._scopeName + "ToDomId"; - - // generate start/end tag strings to use - // for the injection for each special tag wrap case. - for(var param in tagWrap){ - if(tagWrap.hasOwnProperty(param)){ - var tw = tagWrap[param]; - tw.pre = param == "option" ? ' - // | - // | - // | - // | - // - // yields this object structure as the result of a call to - // formToObject(): - // - // | { - // | blah: "blah", - // | multi: [ - // | "thud", - // | "thonk" - // | ] - // | }; - - var ret = {}; - var exclude = "file|submit|image|reset|button|"; - _d.forEach(dojo.byId(formNode).elements, function(item){ - var _in = item.name; - var type = (item.type||"").toLowerCase(); - if(_in && type && exclude.indexOf(type) == -1 && !item.disabled){ - setValue(ret, _in, _d.fieldToObject(item)); - if(type == "image"){ - ret[_in+".x"] = ret[_in+".y"] = ret[_in].x = ret[_in].y = 0; - } - } - }); - return ret; // Object - }; - - dojo.objectToQuery = function(/*Object*/ map){ - // summary: - // takes a name/value mapping object and returns a string representing - // a URL-encoded version of that object. - // example: - // this object: - // - // | { - // | blah: "blah", - // | multi: [ - // | "thud", - // | "thonk" - // | ] - // | }; - // - // yields the following query string: - // - // | "blah=blah&multi=thud&multi=thonk" - - // FIXME: need to implement encodeAscii!! - var enc = encodeURIComponent; - var pairs = []; - var backstop = {}; - for(var name in map){ - var value = map[name]; - if(value != backstop[name]){ - var assign = enc(name) + "="; - if(_d.isArray(value)){ - for(var i=0; i < value.length; i++){ - pairs.push(assign + enc(value[i])); - } - }else{ - pairs.push(assign + enc(value)); - } - } - } - return pairs.join("&"); // String - }; - - dojo.formToQuery = function(/*DOMNode||String*/ formNode){ - // summary: - // Returns a URL-encoded string representing the form passed as either a - // node or string ID identifying the form to serialize - return _d.objectToQuery(_d.formToObject(formNode)); // String - }; - - dojo.formToJson = function(/*DOMNode||String*/ formNode, /*Boolean?*/prettyPrint){ - // summary: - // Create a serialized JSON string from a form node or string - // ID identifying the form to serialize - return _d.toJson(_d.formToObject(formNode), prettyPrint); // String - }; - - dojo.queryToObject = function(/*String*/ str){ - // summary: - // Create an object representing a de-serialized query section of a - // URL. Query keys with multiple values are returned in an array. - // - // example: - // This string: - // - // | "foo=bar&foo=baz&thinger=%20spaces%20=blah&zonk=blarg&" - // - // results in this object structure: - // - // | { - // | foo: [ "bar", "baz" ], - // | thinger: " spaces =blah", - // | zonk: "blarg" - // | } - // - // Note that spaces and other urlencoded entities are correctly - // handled. - - // FIXME: should we grab the URL string if we're not passed one? - var ret = {}; - var qp = str.split("&"); - var dec = decodeURIComponent; - _d.forEach(qp, function(item){ - if(item.length){ - var parts = item.split("="); - var name = dec(parts.shift()); - var val = dec(parts.join("=")); - if(typeof ret[name] == "string"){ // inline'd type check - ret[name] = [ret[name]]; - } - - if(_d.isArray(ret[name])){ - ret[name].push(val); - }else{ - ret[name] = val; - } - } - }); - return ret; // Object - }; - - // need to block async callbacks from snatching this thread as the result - // of an async callback might call another sync XHR, this hangs khtml forever - // must checked by watchInFlight() - - dojo._blockAsync = false; - - // MOW: remove dojo._contentHandlers alias in 2.0 - var handlers = _d._contentHandlers = dojo.contentHandlers = { - // summary: - // A map of availble XHR transport handle types. Name matches the - // `handleAs` attribute passed to XHR calls. - // - // description: - // A map of availble XHR transport handle types. Name matches the - // `handleAs` attribute passed to XHR calls. Each contentHandler is - // called, passing the xhr object for manipulation. The return value - // from the contentHandler will be passed to the `load` or `handle` - // functions defined in the original xhr call. - // - // example: - // Creating a custom content-handler: - // | dojo.contentHandlers.makeCaps = function(xhr){ - // | return xhr.responseText.toUpperCase(); - // | } - // | // and later: - // | dojo.xhrGet({ - // | url:"foo.txt", - // | handleAs:"makeCaps", - // | load: function(data){ /* data is a toUpper version of foo.txt */ } - // | }); - - text: function(xhr){ - // summary: A contentHandler which simply returns the plaintext response data - return xhr.responseText; - }, - json: function(xhr){ - // summary: A contentHandler which returns a JavaScript object created from the response data - return _d.fromJson(xhr.responseText || null); - }, - "json-comment-filtered": function(xhr){ - // summary: A contentHandler which expects comment-filtered JSON. - // description: - // A contentHandler which expects comment-filtered JSON. - // the json-comment-filtered option was implemented to prevent - // "JavaScript Hijacking", but it is less secure than standard JSON. Use - // standard JSON instead. JSON prefixing can be used to subvert hijacking. - // - // Will throw a notice suggesting to use application/json mimetype, as - // json-commenting can introduce security issues. To decrease the chances of hijacking, - // use the standard `json` contentHandler, and prefix your "JSON" with: {}&& - // - // use djConfig.useCommentedJson = true to turn off the notice - if(!dojo.config.useCommentedJson){ - console.warn("Consider using the standard mimetype:application/json." - + " json-commenting can introduce security issues. To" - + " decrease the chances of hijacking, use the standard the 'json' handler and" - + " prefix your json with: {}&&\n" - + "Use djConfig.useCommentedJson=true to turn off this message."); - } - - var value = xhr.responseText; - var cStartIdx = value.indexOf("\/*"); - var cEndIdx = value.lastIndexOf("*\/"); - if(cStartIdx == -1 || cEndIdx == -1){ - throw new Error("JSON was not comment filtered"); - } - return _d.fromJson(value.substring(cStartIdx+2, cEndIdx)); - }, - javascript: function(xhr){ - // summary: A contentHandler which evaluates the response data, expecting it to be valid JavaScript - - // FIXME: try Moz and IE specific eval variants? - return _d.eval(xhr.responseText); - }, - xml: function(xhr){ - // summary: A contentHandler returning an XML Document parsed from the response data - var result = xhr.responseXML; - if(_d.isIE && (!result || !result.documentElement)){ - //WARNING: this branch used by the xml handling in dojo.io.iframe, - //so be sure to test dojo.io.iframe if making changes below. - var ms = function(n){ return "MSXML" + n + ".DOMDocument"; }; - var dp = ["Microsoft.XMLDOM", ms(6), ms(4), ms(3), ms(2)]; - _d.some(dp, function(p){ - try{ - var dom = new ActiveXObject(p); - dom.async = false; - dom.loadXML(xhr.responseText); - result = dom; - }catch(e){ return false; } - return true; - }); - } - return result; // DOMDocument - }, - "json-comment-optional": function(xhr){ - // summary: A contentHandler which checks the presence of comment-filtered JSON and - // alternates between the `json` and `json-comment-filtered` contentHandlers. - if(xhr.responseText && /^[^{\[]*\/\*/.test(xhr.responseText)){ - return handlers["json-comment-filtered"](xhr); - }else{ - return handlers["json"](xhr); - } - } - }; - - /*===== - dojo.__IoArgs = function(){ - // url: String - // URL to server endpoint. - // content: Object? - // Contains properties with string values. These - // properties will be serialized as name1=value2 and - // passed in the request. - // timeout: Integer? - // Milliseconds to wait for the response. If this time - // passes, the then error callbacks are called. - // form: DOMNode? - // DOM node for a form. Used to extract the form values - // and send to the server. - // preventCache: Boolean? - // Default is false. If true, then a - // "dojo.preventCache" parameter is sent in the request - // with a value that changes with each request - // (timestamp). Useful only with GET-type requests. - // handleAs: String? - // Acceptable values depend on the type of IO - // transport (see specific IO calls for more information). - // rawBody: String? - // Sets the raw body for an HTTP request. If this is used, then the content - // property is ignored. This is mostly useful for HTTP methods that have - // a body to their requests, like PUT or POST. This property can be used instead - // of postData and putData for dojo.rawXhrPost and dojo.rawXhrPut respectively. - // ioPublish: Boolean? - // Set this explicitly to false to prevent publishing of topics related to - // IO operations. Otherwise, if djConfig.ioPublish is set to true, topics - // will be published via dojo.publish for different phases of an IO operation. - // See dojo.__IoPublish for a list of topics that are published. - // load: Function? - // This function will be - // called on a successful HTTP response code. - // error: Function? - // This function will - // be called when the request fails due to a network or server error, the url - // is invalid, etc. It will also be called if the load or handle callback throws an - // exception, unless djConfig.debugAtAllCosts is true. This allows deployed applications - // to continue to run even when a logic error happens in the callback, while making - // it easier to troubleshoot while in debug mode. - // handle: Function? - // This function will - // be called at the end of every request, whether or not an error occurs. - this.url = url; - this.content = content; - this.timeout = timeout; - this.form = form; - this.preventCache = preventCache; - this.handleAs = handleAs; - this.ioPublish = ioPublish; - this.load = function(response, ioArgs){ - // ioArgs: dojo.__IoCallbackArgs - // Provides additional information about the request. - // response: Object - // The response in the format as defined with handleAs. - } - this.error = function(response, ioArgs){ - // ioArgs: dojo.__IoCallbackArgs - // Provides additional information about the request. - // response: Object - // The response in the format as defined with handleAs. - } - this.handle = function(loadOrError, response, ioArgs){ - // loadOrError: String - // Provides a string that tells you whether this function - // was called because of success (load) or failure (error). - // response: Object - // The response in the format as defined with handleAs. - // ioArgs: dojo.__IoCallbackArgs - // Provides additional information about the request. - } - } - =====*/ - - /*===== - dojo.__IoCallbackArgs = function(args, xhr, url, query, handleAs, id, canDelete, json){ - // args: Object - // the original object argument to the IO call. - // xhr: XMLHttpRequest - // For XMLHttpRequest calls only, the - // XMLHttpRequest object that was used for the - // request. - // url: String - // The final URL used for the call. Many times it - // will be different than the original args.url - // value. - // query: String - // For non-GET requests, the - // name1=value1&name2=value2 parameters sent up in - // the request. - // handleAs: String - // The final indicator on how the response will be - // handled. - // id: String - // For dojo.io.script calls only, the internal - // script ID used for the request. - // canDelete: Boolean - // For dojo.io.script calls only, indicates - // whether the script tag that represents the - // request can be deleted after callbacks have - // been called. Used internally to know when - // cleanup can happen on JSONP-type requests. - // json: Object - // For dojo.io.script calls only: holds the JSON - // response for JSONP-type requests. Used - // internally to hold on to the JSON responses. - // You should not need to access it directly -- - // the same object should be passed to the success - // callbacks directly. - this.args = args; - this.xhr = xhr; - this.url = url; - this.query = query; - this.handleAs = handleAs; - this.id = id; - this.canDelete = canDelete; - this.json = json; - } - =====*/ - - - /*===== - dojo.__IoPublish = function(){ - // summary: - // This is a list of IO topics that can be published - // if djConfig.ioPublish is set to true. IO topics can be - // published for any Input/Output, network operation. So, - // dojo.xhr, dojo.io.script and dojo.io.iframe can all - // trigger these topics to be published. - // start: String - // "/dojo/io/start" is sent when there are no outstanding IO - // requests, and a new IO request is started. No arguments - // are passed with this topic. - // send: String - // "/dojo/io/send" is sent whenever a new IO request is started. - // It passes the dojo.Deferred for the request with the topic. - // load: String - // "/dojo/io/load" is sent whenever an IO request has loaded - // successfully. It passes the response and the dojo.Deferred - // for the request with the topic. - // error: String - // "/dojo/io/error" is sent whenever an IO request has errored. - // It passes the error and the dojo.Deferred - // for the request with the topic. - // done: String - // "/dojo/io/done" is sent whenever an IO request has completed, - // either by loading or by erroring. It passes the error and - // the dojo.Deferred for the request with the topic. - // stop: String - // "/dojo/io/stop" is sent when all outstanding IO requests have - // finished. No arguments are passed with this topic. - this.start = "/dojo/io/start"; - this.send = "/dojo/io/send"; - this.load = "/dojo/io/load"; - this.error = "/dojo/io/error"; - this.done = "/dojo/io/done"; - this.stop = "/dojo/io/stop"; - } - =====*/ - - - dojo._ioSetArgs = function(/*dojo.__IoArgs*/args, - /*Function*/canceller, - /*Function*/okHandler, - /*Function*/errHandler){ - // summary: - // sets up the Deferred and ioArgs property on the Deferred so it - // can be used in an io call. - // args: - // The args object passed into the public io call. Recognized properties on - // the args object are: - // canceller: - // The canceller function used for the Deferred object. The function - // will receive one argument, the Deferred object that is related to the - // canceller. - // okHandler: - // The first OK callback to be registered with Deferred. It has the opportunity - // to transform the OK response. It will receive one argument -- the Deferred - // object returned from this function. - // errHandler: - // The first error callback to be registered with Deferred. It has the opportunity - // to do cleanup on an error. It will receive two arguments: error (the - // Error object) and dfd, the Deferred object returned from this function. - - var ioArgs = {args: args, url: args.url}; - - //Get values from form if requestd. - var formObject = null; - if(args.form){ - var form = _d.byId(args.form); - //IE requires going through getAttributeNode instead of just getAttribute in some form cases, - //so use it for all. See #2844 - var actnNode = form.getAttributeNode("action"); - ioArgs.url = ioArgs.url || (actnNode ? actnNode.value : null); - formObject = _d.formToObject(form); - } - - // set up the query params - var miArgs = [{}]; - - if(formObject){ - // potentially over-ride url-provided params w/ form values - miArgs.push(formObject); - } - if(args.content){ - // stuff in content over-rides what's set by form - miArgs.push(args.content); - } - if(args.preventCache){ - miArgs.push({"dojo.preventCache": new Date().valueOf()}); - } - ioArgs.query = _d.objectToQuery(_d.mixin.apply(null, miArgs)); - - // .. and the real work of getting the deferred in order, etc. - ioArgs.handleAs = args.handleAs || "text"; - var d = new _d.Deferred(canceller); - d.addCallbacks(okHandler, function(error){ - return errHandler(error, d); - }); - - //Support specifying load, error and handle callback functions from the args. - //For those callbacks, the "this" object will be the args object. - //The callbacks will get the deferred result value as the - //first argument and the ioArgs object as the second argument. - var ld = args.load; - if(ld && _d.isFunction(ld)){ - d.addCallback(function(value){ - return ld.call(args, value, ioArgs); - }); - } - var err = args.error; - if(err && _d.isFunction(err)){ - d.addErrback(function(value){ - return err.call(args, value, ioArgs); - }); - } - var handle = args.handle; - if(handle && _d.isFunction(handle)){ - d.addBoth(function(value){ - return handle.call(args, value, ioArgs); - }); - } - - //Plug in topic publishing, if dojo.publish is loaded. - if(cfg.ioPublish && _d.publish && ioArgs.args.ioPublish !== false){ - d.addCallbacks( - function(res){ - _d.publish("/dojo/io/load", [d, res]); - return res; - }, - function(res){ - _d.publish("/dojo/io/error", [d, res]); - return res; - } - ); - d.addBoth(function(res){ - _d.publish("/dojo/io/done", [d, res]); - return res; - }); - } - - d.ioArgs = ioArgs; - - // FIXME: need to wire up the xhr object's abort method to something - // analagous in the Deferred - return d; - }; - - var _deferredCancel = function(/*Deferred*/dfd){ - // summary: canceller function for dojo._ioSetArgs call. - - dfd.canceled = true; - var xhr = dfd.ioArgs.xhr; - var _at = typeof xhr.abort; - if(_at == "function" || _at == "object" || _at == "unknown"){ - xhr.abort(); - } - var err = dfd.ioArgs.error; - if(!err){ - err = new Error("xhr cancelled"); - err.dojoType="cancel"; - } - return err; - }; - var _deferredOk = function(/*Deferred*/dfd){ - // summary: okHandler function for dojo._ioSetArgs call. - - var ret = handlers[dfd.ioArgs.handleAs](dfd.ioArgs.xhr); - return ret === undefined ? null : ret; - }; - var _deferError = function(/*Error*/error, /*Deferred*/dfd){ - // summary: errHandler function for dojo._ioSetArgs call. - - if(!dfd.ioArgs.args.failOk){ - console.error(error); - } - return error; - }; - - // avoid setting a timer per request. It degrades performance on IE - // something fierece if we don't use unified loops. - var _inFlightIntvl = null; - var _inFlight = []; - - - //Use a separate count for knowing if we are starting/stopping io calls. - //Cannot use _inFlight.length since it can change at a different time than - //when we want to do this kind of test. We only want to decrement the count - //after a callback/errback has finished, since the callback/errback should be - //considered as part of finishing a request. - var _pubCount = 0; - var _checkPubCount = function(dfd){ - if(_pubCount <= 0){ - _pubCount = 0; - if(cfg.ioPublish && _d.publish && (!dfd || dfd && dfd.ioArgs.args.ioPublish !== false)){ - _d.publish("/dojo/io/stop"); - } - } - }; - - var _watchInFlight = function(){ - //summary: - // internal method that checks each inflight XMLHttpRequest to see - // if it has completed or if the timeout situation applies. - - var now = (new Date()).getTime(); - // make sure sync calls stay thread safe, if this callback is called - // during a sync call and this results in another sync call before the - // first sync call ends the browser hangs - if(!_d._blockAsync){ - // we need manual loop because we often modify _inFlight (and therefore 'i') while iterating - // note: the second clause is an assigment on purpose, lint may complain - for(var i = 0, tif; i < _inFlight.length && (tif = _inFlight[i]); i++){ - var dfd = tif.dfd; - var func = function(){ - if(!dfd || dfd.canceled || !tif.validCheck(dfd)){ - _inFlight.splice(i--, 1); - _pubCount -= 1; - }else if(tif.ioCheck(dfd)){ - _inFlight.splice(i--, 1); - tif.resHandle(dfd); - _pubCount -= 1; - }else if(dfd.startTime){ - //did we timeout? - if(dfd.startTime + (dfd.ioArgs.args.timeout || 0) < now){ - _inFlight.splice(i--, 1); - var err = new Error("timeout exceeded"); - err.dojoType = "timeout"; - dfd.errback(err); - //Cancel the request so the io module can do appropriate cleanup. - dfd.cancel(); - _pubCount -= 1; - } - } - }; - if(dojo.config.debugAtAllCosts){ - func.call(this); - }else{ - try{ - func.call(this); - }catch(e){ - dfd.errback(e); - } - } - } - } - - _checkPubCount(dfd); - - if(!_inFlight.length){ - clearInterval(_inFlightIntvl); - _inFlightIntvl = null; - return; - } - }; - - dojo._ioCancelAll = function(){ - //summary: Cancels all pending IO requests, regardless of IO type - //(xhr, script, iframe). - try{ - _d.forEach(_inFlight, function(i){ - try{ - i.dfd.cancel(); - }catch(e){/*squelch*/} - }); - }catch(e){/*squelch*/} - }; - - //Automatically call cancel all io calls on unload - //in IE for trac issue #2357. - if(_d.isIE){ - _d.addOnWindowUnload(_d._ioCancelAll); - } - - _d._ioNotifyStart = function(/*Deferred*/dfd){ - // summary: - // If dojo.publish is available, publish topics - // about the start of a request queue and/or the - // the beginning of request. - // description: - // Used by IO transports. An IO transport should - // call this method before making the network connection. - if(cfg.ioPublish && _d.publish && dfd.ioArgs.args.ioPublish !== false){ - if(!_pubCount){ - _d.publish("/dojo/io/start"); - } - _pubCount += 1; - _d.publish("/dojo/io/send", [dfd]); - } - }; - - _d._ioWatch = function(dfd, validCheck, ioCheck, resHandle){ - // summary: - // Watches the io request represented by dfd to see if it completes. - // dfd: Deferred - // The Deferred object to watch. - // validCheck: Function - // Function used to check if the IO request is still valid. Gets the dfd - // object as its only argument. - // ioCheck: Function - // Function used to check if basic IO call worked. Gets the dfd - // object as its only argument. - // resHandle: Function - // Function used to process response. Gets the dfd - // object as its only argument. - var args = dfd.ioArgs.args; - if(args.timeout){ - dfd.startTime = (new Date()).getTime(); - } - - _inFlight.push({dfd: dfd, validCheck: validCheck, ioCheck: ioCheck, resHandle: resHandle}); - if(!_inFlightIntvl){ - _inFlightIntvl = setInterval(_watchInFlight, 50); - } - // handle sync requests - //A weakness: async calls in flight - //could have their handlers called as part of the - //_watchInFlight call, before the sync's callbacks - // are called. - if(args.sync){ - _watchInFlight(); - } - }; - - var _defaultContentType = "application/x-www-form-urlencoded"; - - var _validCheck = function(/*Deferred*/dfd){ - return dfd.ioArgs.xhr.readyState; //boolean - }; - var _ioCheck = function(/*Deferred*/dfd){ - return 4 == dfd.ioArgs.xhr.readyState; //boolean - }; - var _resHandle = function(/*Deferred*/dfd){ - var xhr = dfd.ioArgs.xhr; - if(_d._isDocumentOk(xhr)){ - dfd.callback(dfd); - }else{ - var err = new Error("Unable to load " + dfd.ioArgs.url + " status:" + xhr.status); - err.status = xhr.status; - err.responseText = xhr.responseText; - dfd.errback(err); - } - }; - - dojo._ioAddQueryToUrl = function(/*dojo.__IoCallbackArgs*/ioArgs){ - //summary: Adds query params discovered by the io deferred construction to the URL. - //Only use this for operations which are fundamentally GET-type operations. - if(ioArgs.query.length){ - ioArgs.url += (ioArgs.url.indexOf("?") == -1 ? "?" : "&") + ioArgs.query; - ioArgs.query = null; - } - }; - - /*===== - dojo.declare("dojo.__XhrArgs", dojo.__IoArgs, { - constructor: function(){ - // summary: - // In addition to the properties listed for the dojo._IoArgs type, - // the following properties are allowed for dojo.xhr* methods. - // handleAs: String? - // Acceptable values are: text (default), json, json-comment-optional, - // json-comment-filtered, javascript, xml. See `dojo.contentHandlers` - // sync: Boolean? - // false is default. Indicates whether the request should - // be a synchronous (blocking) request. - // headers: Object? - // Additional HTTP headers to send in the request. - // failOk: Boolean? - // false is default. Indicates whether a request should be - // allowed to fail (and therefore no console error message in - // the event of a failure) - this.handleAs = handleAs; - this.sync = sync; - this.headers = headers; - this.failOk = failOk; - } - }); - =====*/ - - dojo.xhr = function(/*String*/ method, /*dojo.__XhrArgs*/ args, /*Boolean?*/ hasBody){ - // summary: - // Sends an HTTP request with the given method. - // description: - // Sends an HTTP request with the given method. - // See also dojo.xhrGet(), xhrPost(), xhrPut() and dojo.xhrDelete() for shortcuts - // for those HTTP methods. There are also methods for "raw" PUT and POST methods - // via dojo.rawXhrPut() and dojo.rawXhrPost() respectively. - // method: - // HTTP method to be used, such as GET, POST, PUT, DELETE. Should be uppercase. - // hasBody: - // If the request has an HTTP body, then pass true for hasBody. - - //Make the Deferred object for this xhr request. - var dfd = _d._ioSetArgs(args, _deferredCancel, _deferredOk, _deferError); - var ioArgs = dfd.ioArgs; - - //Pass the args to _xhrObj, to allow alternate XHR calls based specific calls, like - //the one used for iframe proxies. - var xhr = ioArgs.xhr = _d._xhrObj(ioArgs.args); - //If XHR factory fails, cancel the deferred. - if(!xhr){ - dfd.cancel(); - return dfd; - } - - //Allow for specifying the HTTP body completely. - if("postData" in args){ - ioArgs.query = args.postData; - }else if("putData" in args){ - ioArgs.query = args.putData; - }else if("rawBody" in args){ - ioArgs.query = args.rawBody; - }else if((arguments.length > 2 && !hasBody) || "POST|PUT".indexOf(method.toUpperCase()) == -1){ - //Check for hasBody being passed. If no hasBody, - //then only append query string if not a POST or PUT request. - _d._ioAddQueryToUrl(ioArgs); - } - - // IE 6 is a steaming pile. It won't let you call apply() on the native function (xhr.open). - // workaround for IE6's apply() "issues" - xhr.open(method, ioArgs.url, args.sync !== true, args.user || undefined, args.password || undefined); - if(args.headers){ - for(var hdr in args.headers){ - if(hdr.toLowerCase() === "content-type" && !args.contentType){ - args.contentType = args.headers[hdr]; - }else if(args.headers[hdr]){ - //Only add header if it has a value. This allows for instnace, skipping - //insertion of X-Requested-With by specifying empty value. - xhr.setRequestHeader(hdr, args.headers[hdr]); - } - } - } - // FIXME: is this appropriate for all content types? - xhr.setRequestHeader("Content-Type", args.contentType || _defaultContentType); - if(!args.headers || !("X-Requested-With" in args.headers)){ - xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest"); - } - // FIXME: set other headers here! - _d._ioNotifyStart(dfd); - if(dojo.config.debugAtAllCosts){ - xhr.send(ioArgs.query); - }else{ - try{ - xhr.send(ioArgs.query); - }catch(e){ - ioArgs.error = e; - dfd.cancel(); - } - } - _d._ioWatch(dfd, _validCheck, _ioCheck, _resHandle); - xhr = null; - return dfd; // dojo.Deferred - }; - - dojo.xhrGet = function(/*dojo.__XhrArgs*/ args){ - // summary: - // Sends an HTTP GET request to the server. - return _d.xhr("GET", args); // dojo.Deferred - }; - - dojo.rawXhrPost = dojo.xhrPost = function(/*dojo.__XhrArgs*/ args){ - // summary: - // Sends an HTTP POST request to the server. In addtion to the properties - // listed for the dojo.__XhrArgs type, the following property is allowed: - // postData: - // String. Send raw data in the body of the POST request. - return _d.xhr("POST", args, true); // dojo.Deferred - }; - - dojo.rawXhrPut = dojo.xhrPut = function(/*dojo.__XhrArgs*/ args){ - // summary: - // Sends an HTTP PUT request to the server. In addtion to the properties - // listed for the dojo.__XhrArgs type, the following property is allowed: - // putData: - // String. Send raw data in the body of the PUT request. - return _d.xhr("PUT", args, true); // dojo.Deferred - }; - - dojo.xhrDelete = function(/*dojo.__XhrArgs*/ args){ - // summary: - // Sends an HTTP DELETE request to the server. - return _d.xhr("DELETE", args); //dojo.Deferred - }; - - /* - dojo.wrapForm = function(formNode){ - //summary: - // A replacement for FormBind, but not implemented yet. - - // FIXME: need to think harder about what extensions to this we might - // want. What should we allow folks to do w/ this? What events to - // set/send? - throw new Error("dojo.wrapForm not yet implemented"); - } - */ -})(); - -} - -if(!dojo._hasResource["dojo._base.fx"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojo._base.fx"] = true; -dojo.provide("dojo._base.fx"); - - - - - - -/* - Animation loosely package based on Dan Pupius' work, contributed under CLA: - http://pupius.co.uk/js/Toolkit.Drawing.js -*/ -(function(){ - var d = dojo; - var _mixin = d._mixin; - - dojo._Line = function(/*int*/ start, /*int*/ end){ - // summary: - // dojo._Line is the object used to generate values from a start value - // to an end value - // start: int - // Beginning value for range - // end: int - // Ending value for range - this.start = start; - this.end = end; - }; - - dojo._Line.prototype.getValue = function(/*float*/ n){ - // summary: Returns the point on the line - // n: a floating point number greater than 0 and less than 1 - return ((this.end - this.start) * n) + this.start; // Decimal - }; - - dojo.Animation = function(args){ - // summary: - // A generic animation class that fires callbacks into its handlers - // object at various states. - // description: - // A generic animation class that fires callbacks into its handlers - // object at various states. Nearly all dojo animation functions - // return an instance of this method, usually without calling the - // .play() method beforehand. Therefore, you will likely need to - // call .play() on instances of `dojo.Animation` when one is - // returned. - // args: Object - // The 'magic argument', mixing all the properties into this - // animation instance. - - _mixin(this, args); - if(d.isArray(this.curve)){ - this.curve = new d._Line(this.curve[0], this.curve[1]); - } - - }; - - // Alias to drop come 2.0: - d._Animation = d.Animation; - - d.extend(dojo.Animation, { - // duration: Integer - // The time in milliseonds the animation will take to run - duration: 350, - - /*===== - // curve: dojo._Line|Array - // A two element array of start and end values, or a `dojo._Line` instance to be - // used in the Animation. - curve: null, - - // easing: Function? - // A Function to adjust the acceleration (or deceleration) of the progress - // across a dojo._Line - easing: null, - =====*/ - - // repeat: Integer? - // The number of times to loop the animation - repeat: 0, - - // rate: Integer? - // the time in milliseconds to wait before advancing to next frame - // (used as a fps timer: 1000/rate = fps) - rate: 20 /* 50 fps */, - - /*===== - // delay: Integer? - // The time in milliseconds to wait before starting animation after it - // has been .play()'ed - delay: null, - - // beforeBegin: Event? - // Synthetic event fired before a dojo.Animation begins playing (synchronous) - beforeBegin: null, - - // onBegin: Event? - // Synthetic event fired as a dojo.Animation begins playing (useful?) - onBegin: null, - - // onAnimate: Event? - // Synthetic event fired at each interval of a `dojo.Animation` - onAnimate: null, - - // onEnd: Event? - // Synthetic event fired after the final frame of a `dojo.Animation` - onEnd: null, - - // onPlay: Event? - // Synthetic event fired any time a `dojo.Animation` is play()'ed - onPlay: null, - - // onPause: Event? - // Synthetic event fired when a `dojo.Animation` is paused - onPause: null, - - // onStop: Event - // Synthetic event fires when a `dojo.Animation` is stopped - onStop: null, - - =====*/ - - _percent: 0, - _startRepeatCount: 0, - - _getStep: function(){ - var _p = this._percent, - _e = this.easing - ; - return _e ? _e(_p) : _p; - }, - _fire: function(/*Event*/ evt, /*Array?*/ args){ - // summary: - // Convenience function. Fire event "evt" and pass it the - // arguments specified in "args". - // description: - // Convenience function. Fire event "evt" and pass it the - // arguments specified in "args". - // Fires the callback in the scope of the `dojo.Animation` - // instance. - // evt: - // The event to fire. - // args: - // The arguments to pass to the event. - var a = args||[]; - if(this[evt]){ - if(d.config.debugAtAllCosts){ - this[evt].apply(this, a); - }else{ - try{ - this[evt].apply(this, a); - }catch(e){ - // squelch and log because we shouldn't allow exceptions in - // synthetic event handlers to cause the internal timer to run - // amuck, potentially pegging the CPU. I'm not a fan of this - // squelch, but hopefully logging will make it clear what's - // going on - console.error("exception in animation handler for:", evt); - console.error(e); - } - } - } - return this; // dojo.Animation - }, - - play: function(/*int?*/ delay, /*Boolean?*/ gotoStart){ - // summary: - // Start the animation. - // delay: - // How many milliseconds to delay before starting. - // gotoStart: - // If true, starts the animation from the beginning; otherwise, - // starts it from its current position. - // returns: dojo.Animation - // The instance to allow chaining. - - var _t = this; - if(_t._delayTimer){ _t._clearTimer(); } - if(gotoStart){ - _t._stopTimer(); - _t._active = _t._paused = false; - _t._percent = 0; - }else if(_t._active && !_t._paused){ - return _t; - } - - _t._fire("beforeBegin", [_t.node]); - - var de = delay || _t.delay, - _p = dojo.hitch(_t, "_play", gotoStart); - - if(de > 0){ - _t._delayTimer = setTimeout(_p, de); - return _t; - } - _p(); - return _t; - }, - - _play: function(gotoStart){ - var _t = this; - if(_t._delayTimer){ _t._clearTimer(); } - _t._startTime = new Date().valueOf(); - if(_t._paused){ - _t._startTime -= _t.duration * _t._percent; - } - - _t._active = true; - _t._paused = false; - var value = _t.curve.getValue(_t._getStep()); - if(!_t._percent){ - if(!_t._startRepeatCount){ - _t._startRepeatCount = _t.repeat; - } - _t._fire("onBegin", [value]); - } - - _t._fire("onPlay", [value]); - - _t._cycle(); - return _t; // dojo.Animation - }, - - pause: function(){ - // summary: Pauses a running animation. - var _t = this; - if(_t._delayTimer){ _t._clearTimer(); } - _t._stopTimer(); - if(!_t._active){ return _t; /*dojo.Animation*/ } - _t._paused = true; - _t._fire("onPause", [_t.curve.getValue(_t._getStep())]); - return _t; // dojo.Animation - }, - - gotoPercent: function(/*Decimal*/ percent, /*Boolean?*/ andPlay){ - // summary: - // Sets the progress of the animation. - // percent: - // A percentage in decimal notation (between and including 0.0 and 1.0). - // andPlay: - // If true, play the animation after setting the progress. - var _t = this; - _t._stopTimer(); - _t._active = _t._paused = true; - _t._percent = percent; - if(andPlay){ _t.play(); } - return _t; // dojo.Animation - }, - - stop: function(/*boolean?*/ gotoEnd){ - // summary: Stops a running animation. - // gotoEnd: If true, the animation will end. - var _t = this; - if(_t._delayTimer){ _t._clearTimer(); } - if(!_t._timer){ return _t; /* dojo.Animation */ } - _t._stopTimer(); - if(gotoEnd){ - _t._percent = 1; - } - _t._fire("onStop", [_t.curve.getValue(_t._getStep())]); - _t._active = _t._paused = false; - return _t; // dojo.Animation - }, - - status: function(){ - // summary: - // Returns a string token representation of the status of - // the animation, one of: "paused", "playing", "stopped" - if(this._active){ - return this._paused ? "paused" : "playing"; // String - } - return "stopped"; // String - }, - - _cycle: function(){ - var _t = this; - if(_t._active){ - var curr = new Date().valueOf(); - var step = (curr - _t._startTime) / (_t.duration); - - if(step >= 1){ - step = 1; - } - _t._percent = step; - - // Perform easing - if(_t.easing){ - step = _t.easing(step); - } - - _t._fire("onAnimate", [_t.curve.getValue(step)]); - - if(_t._percent < 1){ - _t._startTimer(); - }else{ - _t._active = false; - - if(_t.repeat > 0){ - _t.repeat--; - _t.play(null, true); - }else if(_t.repeat == -1){ - _t.play(null, true); - }else{ - if(_t._startRepeatCount){ - _t.repeat = _t._startRepeatCount; - _t._startRepeatCount = 0; - } - } - _t._percent = 0; - _t._fire("onEnd", [_t.node]); - !_t.repeat && _t._stopTimer(); - } - } - return _t; // dojo.Animation - }, - - _clearTimer: function(){ - // summary: Clear the play delay timer - clearTimeout(this._delayTimer); - delete this._delayTimer; - } - - }); - - // the local timer, stubbed into all Animation instances - var ctr = 0, - timer = null, - runner = { - run: function(){} - }; - - d.extend(d.Animation, { - - _startTimer: function(){ - if(!this._timer){ - this._timer = d.connect(runner, "run", this, "_cycle"); - ctr++; - } - if(!timer){ - timer = setInterval(d.hitch(runner, "run"), this.rate); - } - }, - - _stopTimer: function(){ - if(this._timer){ - d.disconnect(this._timer); - this._timer = null; - ctr--; - } - if(ctr <= 0){ - clearInterval(timer); - timer = null; - ctr = 0; - } - } - - }); - - var _makeFadeable = - d.isIE ? function(node){ - // only set the zoom if the "tickle" value would be the same as the - // default - var ns = node.style; - // don't set the width to auto if it didn't already cascade that way. - // We don't want to f anyones designs - if(!ns.width.length && d.style(node, "width") == "auto"){ - ns.width = "auto"; - } - } : - function(){}; - - dojo._fade = function(/*Object*/ args){ - // summary: - // Returns an animation that will fade the node defined by - // args.node from the start to end values passed (args.start - // args.end) (end is mandatory, start is optional) - - args.node = d.byId(args.node); - var fArgs = _mixin({ properties: {} }, args), - props = (fArgs.properties.opacity = {}); - - props.start = !("start" in fArgs) ? - function(){ - return +d.style(fArgs.node, "opacity")||0; - } : fArgs.start; - props.end = fArgs.end; - - var anim = d.animateProperty(fArgs); - d.connect(anim, "beforeBegin", d.partial(_makeFadeable, fArgs.node)); - - return anim; // dojo.Animation - }; - - /*===== - dojo.__FadeArgs = function(node, duration, easing){ - // node: DOMNode|String - // The node referenced in the animation - // duration: Integer? - // Duration of the animation in milliseconds. - // easing: Function? - // An easing function. - this.node = node; - this.duration = duration; - this.easing = easing; - } - =====*/ - - dojo.fadeIn = function(/*dojo.__FadeArgs*/ args){ - // summary: - // Returns an animation that will fade node defined in 'args' from - // its current opacity to fully opaque. - return d._fade(_mixin({ end: 1 }, args)); // dojo.Animation - }; - - dojo.fadeOut = function(/*dojo.__FadeArgs*/ args){ - // summary: - // Returns an animation that will fade node defined in 'args' - // from its current opacity to fully transparent. - return d._fade(_mixin({ end: 0 }, args)); // dojo.Animation - }; - - dojo._defaultEasing = function(/*Decimal?*/ n){ - // summary: The default easing function for dojo.Animation(s) - return 0.5 + ((Math.sin((n + 1.5) * Math.PI)) / 2); - }; - - var PropLine = function(properties){ - // PropLine is an internal class which is used to model the values of - // an a group of CSS properties across an animation lifecycle. In - // particular, the "getValue" function handles getting interpolated - // values between start and end for a particular CSS value. - this._properties = properties; - for(var p in properties){ - var prop = properties[p]; - if(prop.start instanceof d.Color){ - // create a reusable temp color object to keep intermediate results - prop.tempColor = new d.Color(); - } - } - }; - - PropLine.prototype.getValue = function(r){ - var ret = {}; - for(var p in this._properties){ - var prop = this._properties[p], - start = prop.start; - if(start instanceof d.Color){ - ret[p] = d.blendColors(start, prop.end, r, prop.tempColor).toCss(); - }else if(!d.isArray(start)){ - ret[p] = ((prop.end - start) * r) + start + (p != "opacity" ? prop.units || "px" : 0); - } - } - return ret; - }; - - /*===== - dojo.declare("dojo.__AnimArgs", [dojo.__FadeArgs], { - // Properties: Object? - // A hash map of style properties to Objects describing the transition, - // such as the properties of dojo._Line with an additional 'units' property - properties: {} - - //TODOC: add event callbacks - }); - =====*/ - - dojo.animateProperty = function(/*dojo.__AnimArgs*/ args){ - // summary: - // Returns an animation that will transition the properties of - // node defined in `args` depending how they are defined in - // `args.properties` - // - // description: - // `dojo.animateProperty` is the foundation of most `dojo.fx` - // animations. It takes an object of "properties" corresponding to - // style properties, and animates them in parallel over a set - // duration. - // - // example: - // A simple animation that changes the width of the specified node. - // | dojo.animateProperty({ - // | node: "nodeId", - // | properties: { width: 400 }, - // | }).play(); - // Dojo figures out the start value for the width and converts the - // integer specified for the width to the more expressive but - // verbose form `{ width: { end: '400', units: 'px' } }` which you - // can also specify directly. Defaults to 'px' if ommitted. - // - // example: - // Animate width, height, and padding over 2 seconds... the - // pedantic way: - // | dojo.animateProperty({ node: node, duration:2000, - // | properties: { - // | width: { start: '200', end: '400', units:"px" }, - // | height: { start:'200', end: '400', units:"px" }, - // | paddingTop: { start:'5', end:'50', units:"px" } - // | } - // | }).play(); - // Note 'paddingTop' is used over 'padding-top'. Multi-name CSS properties - // are written using "mixed case", as the hyphen is illegal as an object key. - // - // example: - // Plug in a different easing function and register a callback for - // when the animation ends. Easing functions accept values between - // zero and one and return a value on that basis. In this case, an - // exponential-in curve. - // | dojo.animateProperty({ - // | node: "nodeId", - // | // dojo figures out the start value - // | properties: { width: { end: 400 } }, - // | easing: function(n){ - // | return (n==0) ? 0 : Math.pow(2, 10 * (n - 1)); - // | }, - // | onEnd: function(node){ - // | // called when the animation finishes. The animation - // | // target is passed to this function - // | } - // | }).play(500); // delay playing half a second - // - // example: - // Like all `dojo.Animation`s, animateProperty returns a handle to the - // Animation instance, which fires the events common to Dojo FX. Use `dojo.connect` - // to access these events outside of the Animation definiton: - // | var anim = dojo.animateProperty({ - // | node:"someId", - // | properties:{ - // | width:400, height:500 - // | } - // | }); - // | dojo.connect(anim,"onEnd", function(){ - // | console.log("animation ended"); - // | }); - // | // play the animation now: - // | anim.play(); - // - // example: - // Each property can be a function whose return value is substituted along. - // Additionally, each measurement (eg: start, end) can be a function. The node - // reference is passed direcly to callbacks. - // | dojo.animateProperty({ - // | node:"mine", - // | properties:{ - // | height:function(node){ - // | // shrink this node by 50% - // | return dojo.position(node).h / 2 - // | }, - // | width:{ - // | start:function(node){ return 100; }, - // | end:function(node){ return 200; } - // | } - // | } - // | }).play(); - // - - var n = args.node = d.byId(args.node); - if(!args.easing){ args.easing = d._defaultEasing; } - - var anim = new d.Animation(args); - d.connect(anim, "beforeBegin", anim, function(){ - var pm = {}; - for(var p in this.properties){ - // Make shallow copy of properties into pm because we overwrite - // some values below. In particular if start/end are functions - // we don't want to overwrite them or the functions won't be - // called if the animation is reused. - if(p == "width" || p == "height"){ - this.node.display = "block"; - } - var prop = this.properties[p]; - if(d.isFunction(prop)){ - prop = prop(n); - } - prop = pm[p] = _mixin({}, (d.isObject(prop) ? prop: { end: prop })); - - if(d.isFunction(prop.start)){ - prop.start = prop.start(n); - } - if(d.isFunction(prop.end)){ - prop.end = prop.end(n); - } - var isColor = (p.toLowerCase().indexOf("color") >= 0); - function getStyle(node, p){ - // dojo.style(node, "height") can return "auto" or "" on IE; this is more reliable: - var v = { height: node.offsetHeight, width: node.offsetWidth }[p]; - if(v !== undefined){ return v; } - v = d.style(node, p); - return (p == "opacity") ? +v : (isColor ? v : parseFloat(v)); - } - if(!("end" in prop)){ - prop.end = getStyle(n, p); - }else if(!("start" in prop)){ - prop.start = getStyle(n, p); - } - - if(isColor){ - prop.start = new d.Color(prop.start); - prop.end = new d.Color(prop.end); - }else{ - prop.start = (p == "opacity") ? +prop.start : parseFloat(prop.start); - } - } - this.curve = new PropLine(pm); - }); - d.connect(anim, "onAnimate", d.hitch(d, "style", anim.node)); - return anim; // dojo.Animation - }; - - dojo.anim = function( /*DOMNode|String*/ node, - /*Object*/ properties, - /*Integer?*/ duration, - /*Function?*/ easing, - /*Function?*/ onEnd, - /*Integer?*/ delay){ - // summary: - // A simpler interface to `dojo.animateProperty()`, also returns - // an instance of `dojo.Animation` but begins the animation - // immediately, unlike nearly every other Dojo animation API. - // description: - // `dojo.anim` is a simpler (but somewhat less powerful) version - // of `dojo.animateProperty`. It uses defaults for many basic properties - // and allows for positional parameters to be used in place of the - // packed "property bag" which is used for other Dojo animation - // methods. - // - // The `dojo.Animation` object returned from `dojo.anim` will be - // already playing when it is returned from this function, so - // calling play() on it again is (usually) a no-op. - // node: - // a DOM node or the id of a node to animate CSS properties on - // duration: - // The number of milliseconds over which the animation - // should run. Defaults to the global animation default duration - // (350ms). - // easing: - // An easing function over which to calculate acceleration - // and deceleration of the animation through its duration. - // A default easing algorithm is provided, but you may - // plug in any you wish. A large selection of easing algorithms - // are available in `dojo.fx.easing`. - // onEnd: - // A function to be called when the animation finishes - // running. - // delay: - // The number of milliseconds to delay beginning the - // animation by. The default is 0. - // example: - // Fade out a node - // | dojo.anim("id", { opacity: 0 }); - // example: - // Fade out a node over a full second - // | dojo.anim("id", { opacity: 0 }, 1000); - return d.animateProperty({ // dojo.Animation - node: node, - duration: duration || d.Animation.prototype.duration, - properties: properties, - easing: easing, - onEnd: onEnd - }).play(delay || 0); - }; -})(); - -} - -if(!dojo._hasResource["dojo._base.browser"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojo._base.browser"] = true; -dojo.provide("dojo._base.browser"); - - - - - - - - - - //Need this to be the last code segment in base, so do not place any - //dojo/requireIf calls in this file/ Otherwise, due to how the build system - //puts all requireIf dependencies after the current file, the require calls - //could be called before all of base is defined/ - dojo.forEach(dojo.config.require, function(i){ - dojo["require"](i); - }); - -} - -if(!dojo._hasResource["dojo._base"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojo._base"] = true; -dojo.provide("dojo._base"); - - - - - - - - - - - -} - - //INSERT dojo.i18n._preloadLocalizations HERE - - //Check if document already complete, and if so, just trigger page load - //listeners. NOTE: does not work with Firefox before 3.6. To support - //those browsers, set djConfig.afterOnLoad = true when you know Dojo is added - //after page load. Using a timeout so the rest of this - //script gets evaluated properly. This work needs to happen after the - //dojo.config.require work done in dojo._base. - if(dojo.isBrowser && (document.readyState === "complete" || dojo.config.afterOnLoad)){ - window.setTimeout(dojo._loadInit, 100); - } -})(); - diff --git a/resources/library/interactive/barre_prof.wgt/dojo/fx.js b/resources/library/interactive/barre_prof.wgt/dojo/fx.js deleted file mode 100644 index e3588286..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/fx.js +++ /dev/null @@ -1,252 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.fx"]){ -dojo._hasResource["dojo.fx"]=true; -dojo.provide("dojo.fx"); -dojo.require("dojo.fx.Toggler"); -(function(){ -var d=dojo,_1={_fire:function(_2,_3){ -if(this[_2]){ -this[_2].apply(this,_3||[]); -} -return this; -}}; -var _4=function(_5){ -this._index=-1; -this._animations=_5||[]; -this._current=this._onAnimateCtx=this._onEndCtx=null; -this.duration=0; -d.forEach(this._animations,function(a){ -this.duration+=a.duration; -if(a.delay){ -this.duration+=a.delay; -} -},this); -}; -d.extend(_4,{_onAnimate:function(){ -this._fire("onAnimate",arguments); -},_onEnd:function(){ -d.disconnect(this._onAnimateCtx); -d.disconnect(this._onEndCtx); -this._onAnimateCtx=this._onEndCtx=null; -if(this._index+1==this._animations.length){ -this._fire("onEnd"); -}else{ -this._current=this._animations[++this._index]; -this._onAnimateCtx=d.connect(this._current,"onAnimate",this,"_onAnimate"); -this._onEndCtx=d.connect(this._current,"onEnd",this,"_onEnd"); -this._current.play(0,true); -} -},play:function(_6,_7){ -if(!this._current){ -this._current=this._animations[this._index=0]; -} -if(!_7&&this._current.status()=="playing"){ -return this; -} -var _8=d.connect(this._current,"beforeBegin",this,function(){ -this._fire("beforeBegin"); -}),_9=d.connect(this._current,"onBegin",this,function(_a){ -this._fire("onBegin",arguments); -}),_b=d.connect(this._current,"onPlay",this,function(_c){ -this._fire("onPlay",arguments); -d.disconnect(_8); -d.disconnect(_9); -d.disconnect(_b); -}); -if(this._onAnimateCtx){ -d.disconnect(this._onAnimateCtx); -} -this._onAnimateCtx=d.connect(this._current,"onAnimate",this,"_onAnimate"); -if(this._onEndCtx){ -d.disconnect(this._onEndCtx); -} -this._onEndCtx=d.connect(this._current,"onEnd",this,"_onEnd"); -this._current.play.apply(this._current,arguments); -return this; -},pause:function(){ -if(this._current){ -var e=d.connect(this._current,"onPause",this,function(_d){ -this._fire("onPause",arguments); -d.disconnect(e); -}); -this._current.pause(); -} -return this; -},gotoPercent:function(_e,_f){ -this.pause(); -var _10=this.duration*_e; -this._current=null; -d.some(this._animations,function(a){ -if(a.duration<=_10){ -this._current=a; -return true; -} -_10-=a.duration; -return false; -}); -if(this._current){ -this._current.gotoPercent(_10/this._current.duration,_f); -} -return this; -},stop:function(_11){ -if(this._current){ -if(_11){ -for(;this._index+1this._animations.length){ -this._fire("onEnd"); -} -},_call:function(_19,_1a){ -var t=this._pseudoAnimation; -t[_19].apply(t,_1a); -},play:function(_1b,_1c){ -this._finished=0; -this._doAction("play",arguments); -this._call("play",arguments); -return this; -},pause:function(){ -this._doAction("pause",arguments); -this._call("pause",arguments); -return this; -},gotoPercent:function(_1d,_1e){ -var ms=this.duration*_1d; -d.forEach(this._animations,function(a){ -a.gotoPercent(a.duration= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.fx.Toggler"]){ -dojo._hasResource["dojo.fx.Toggler"]=true; -dojo.provide("dojo.fx.Toggler"); -dojo.declare("dojo.fx.Toggler",null,{node:null,showFunc:dojo.fadeIn,hideFunc:dojo.fadeOut,showDuration:200,hideDuration:200,constructor:function(_1){ -var _2=this; -dojo.mixin(_2,_1); -_2.node=_1.node; -_2._showArgs=dojo.mixin({},_1); -_2._showArgs.node=_2.node; -_2._showArgs.duration=_2.showDuration; -_2.showAnim=_2.showFunc(_2._showArgs); -_2._hideArgs=dojo.mixin({},_1); -_2._hideArgs.node=_2.node; -_2._hideArgs.duration=_2.hideDuration; -_2.hideAnim=_2.hideFunc(_2._hideArgs); -dojo.connect(_2.showAnim,"beforeBegin",dojo.hitch(_2.hideAnim,"stop",true)); -dojo.connect(_2.hideAnim,"beforeBegin",dojo.hitch(_2.showAnim,"stop",true)); -},show:function(_3){ -return this.showAnim.play(_3||0); -},hide:function(_4){ -return this.hideAnim.play(_4||0); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/fx/easing.js b/resources/library/interactive/barre_prof.wgt/dojo/fx/easing.js deleted file mode 100644 index 0d8a6694..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/fx/easing.js +++ /dev/null @@ -1,167 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.fx.easing"]){ -dojo._hasResource["dojo.fx.easing"]=true; -dojo.provide("dojo.fx.easing"); -dojo.getObject("fx.easing",true,dojo); -dojo.fx.easing={linear:function(n){ -return n; -},quadIn:function(n){ -return Math.pow(n,2); -},quadOut:function(n){ -return n*(n-2)*-1; -},quadInOut:function(n){ -n=n*2; -if(n<1){ -return Math.pow(n,2)/2; -} -return -1*((--n)*(n-2)-1)/2; -},cubicIn:function(n){ -return Math.pow(n,3); -},cubicOut:function(n){ -return Math.pow(n-1,3)+1; -},cubicInOut:function(n){ -n=n*2; -if(n<1){ -return Math.pow(n,3)/2; -} -n-=2; -return (Math.pow(n,3)+2)/2; -},quartIn:function(n){ -return Math.pow(n,4); -},quartOut:function(n){ -return -1*(Math.pow(n-1,4)-1); -},quartInOut:function(n){ -n=n*2; -if(n<1){ -return Math.pow(n,4)/2; -} -n-=2; -return -1/2*(Math.pow(n,4)-2); -},quintIn:function(n){ -return Math.pow(n,5); -},quintOut:function(n){ -return Math.pow(n-1,5)+1; -},quintInOut:function(n){ -n=n*2; -if(n<1){ -return Math.pow(n,5)/2; -} -n-=2; -return (Math.pow(n,5)+2)/2; -},sineIn:function(n){ -return -1*Math.cos(n*(Math.PI/2))+1; -},sineOut:function(n){ -return Math.sin(n*(Math.PI/2)); -},sineInOut:function(n){ -return -1*(Math.cos(Math.PI*n)-1)/2; -},expoIn:function(n){ -return (n==0)?0:Math.pow(2,10*(n-1)); -},expoOut:function(n){ -return (n==1)?1:(-1*Math.pow(2,-10*n)+1); -},expoInOut:function(n){ -if(n==0){ -return 0; -} -if(n==1){ -return 1; -} -n=n*2; -if(n<1){ -return Math.pow(2,10*(n-1))/2; -} ---n; -return (-1*Math.pow(2,-10*n)+2)/2; -},circIn:function(n){ -return -1*(Math.sqrt(1-Math.pow(n,2))-1); -},circOut:function(n){ -n=n-1; -return Math.sqrt(1-Math.pow(n,2)); -},circInOut:function(n){ -n=n*2; -if(n<1){ -return -1/2*(Math.sqrt(1-Math.pow(n,2))-1); -} -n-=2; -return 1/2*(Math.sqrt(1-Math.pow(n,2))+1); -},backIn:function(n){ -var s=1.70158; -return Math.pow(n,2)*((s+1)*n-s); -},backOut:function(n){ -n=n-1; -var s=1.70158; -return Math.pow(n,2)*((s+1)*n+s)+1; -},backInOut:function(n){ -var s=1.70158*1.525; -n=n*2; -if(n<1){ -return (Math.pow(n,2)*((s+1)*n-s))/2; -} -n-=2; -return (Math.pow(n,2)*((s+1)*n+s)+2)/2; -},elasticIn:function(n){ -if(n==0||n==1){ -return n; -} -var p=0.3; -var s=p/4; -n=n-1; -return -1*Math.pow(2,10*n)*Math.sin((n-s)*(2*Math.PI)/p); -},elasticOut:function(n){ -if(n==0||n==1){ -return n; -} -var p=0.3; -var s=p/4; -return Math.pow(2,-10*n)*Math.sin((n-s)*(2*Math.PI)/p)+1; -},elasticInOut:function(n){ -if(n==0){ -return 0; -} -n=n*2; -if(n==2){ -return 1; -} -var p=0.3*1.5; -var s=p/4; -if(n<1){ -n-=1; -return -0.5*(Math.pow(2,10*n)*Math.sin((n-s)*(2*Math.PI)/p)); -} -n-=1; -return 0.5*(Math.pow(2,-10*n)*Math.sin((n-s)*(2*Math.PI)/p))+1; -},bounceIn:function(n){ -return (1-dojo.fx.easing.bounceOut(1-n)); -},bounceOut:function(n){ -var s=7.5625; -var p=2.75; -var l; -if(n<(1/p)){ -l=s*Math.pow(n,2); -}else{ -if(n<(2/p)){ -n-=(1.5/p); -l=s*Math.pow(n,2)+0.75; -}else{ -if(n<(2.5/p)){ -n-=(2.25/p); -l=s*Math.pow(n,2)+0.9375; -}else{ -n-=(2.625/p); -l=s*Math.pow(n,2)+0.984375; -} -} -} -return l; -},bounceInOut:function(n){ -if(n<0.5){ -return dojo.fx.easing.bounceIn(n*2)/2; -} -return (dojo.fx.easing.bounceOut(n*2-1)/2)+0.5; -}}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/gears.js b/resources/library/interactive/barre_prof.wgt/dojo/gears.js deleted file mode 100644 index 0d5ff129..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/gears.js +++ /dev/null @@ -1,46 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.gears"]){ -dojo._hasResource["dojo.gears"]=true; -dojo.provide("dojo.gears"); -dojo.getObject("gears",true,dojo); -dojo.gears._gearsObject=function(){ -var _1; -var _2; -var _3=dojo.getObject("google.gears"); -if(_3){ -return _3; -} -if(typeof GearsFactory!="undefined"){ -_1=new GearsFactory(); -}else{ -if(dojo.isIE){ -try{ -_1=new ActiveXObject("Gears.Factory"); -} -catch(e){ -} -}else{ -if(navigator.mimeTypes["application/x-googlegears"]){ -_1=document.createElement("object"); -_1.setAttribute("type","application/x-googlegears"); -_1.setAttribute("width",0); -_1.setAttribute("height",0); -_1.style.display="none"; -document.documentElement.appendChild(_1); -} -} -} -if(!_1){ -return null; -} -dojo.setObject("google.gears.factory",_1); -return dojo.getObject("google.gears"); -}; -dojo.gears.available=(!!dojo.gears._gearsObject())||0; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/hash.js b/resources/library/interactive/barre_prof.wgt/dojo/hash.js deleted file mode 100644 index 96a92b3f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/hash.js +++ /dev/null @@ -1,140 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.hash"]){ -dojo._hasResource["dojo.hash"]=true; -dojo.provide("dojo.hash"); -(function(){ -dojo.hash=function(_1,_2){ -if(!arguments.length){ -return _3(); -} -if(_1.charAt(0)=="#"){ -_1=_1.substring(1); -} -if(_2){ -_4(_1); -}else{ -location.href="#"+_1; -} -return _1; -}; -var _5,_6,_7,_8=dojo.config.hashPollFrequency||100; -function _9(_a,_b){ -var i=_a.indexOf(_b); -return (i>=0)?_a.substring(i+1):""; -}; -function _3(){ -return _9(location.href,"#"); -}; -function _c(){ -dojo.publish("/dojo/hashchange",[_3()]); -}; -function _d(){ -if(_3()===_5){ -return; -} -_5=_3(); -_c(); -}; -function _4(_e){ -if(_6){ -if(_6.isTransitioning()){ -setTimeout(dojo.hitch(null,_4,_e),_8); -return; -} -var _f=_6.iframe.location.href; -var _10=_f.indexOf("?"); -_6.iframe.location.replace(_f.substring(0,_10)+"?"+_e); -return; -} -location.replace("#"+_e); -!_7&&_d(); -}; -function _11(){ -var ifr=document.createElement("iframe"),_12="dojo-hash-iframe",_13=dojo.config.dojoBlankHtmlUrl||dojo.moduleUrl("dojo","resources/blank.html"); -if(dojo.config.useXDomain&&!dojo.config.dojoBlankHtmlUrl){ -console.warn("dojo.hash: When using cross-domain Dojo builds,"+" please save dojo/resources/blank.html to your domain and set djConfig.dojoBlankHtmlUrl"+" to the path on your domain to blank.html"); -} -ifr.id=_12; -ifr.src=_13+"?"+_3(); -ifr.style.display="none"; -document.body.appendChild(ifr); -this.iframe=dojo.global[_12]; -var _14,_15,_16,_17,_18,_19=this.iframe.location; -function _1a(){ -_5=_3(); -_14=_18?_5:_9(_19.href,"?"); -_15=false; -_16=null; -}; -this.isTransitioning=function(){ -return _15; -}; -this.pollLocation=function(){ -if(!_18){ -try{ -var _1b=_9(_19.href,"?"); -if(document.title!=_17){ -_17=this.iframe.document.title=document.title; -} -} -catch(e){ -_18=true; -console.error("dojo.hash: Error adding history entry. Server unreachable."); -} -} -var _1c=_3(); -if(_15&&_5===_1c){ -if(_18||_1b===_16){ -_1a(); -_c(); -}else{ -setTimeout(dojo.hitch(this,this.pollLocation),0); -return; -} -}else{ -if(_5===_1c&&(_18||_14===_1b)){ -}else{ -if(_5!==_1c){ -_5=_1c; -_15=true; -_16=_1c; -ifr.src=_13+"?"+_16; -_18=false; -setTimeout(dojo.hitch(this,this.pollLocation),0); -return; -}else{ -if(!_18){ -location.href="#"+_19.search.substring(1); -_1a(); -_c(); -} -} -} -} -setTimeout(dojo.hitch(this,this.pollLocation),_8); -}; -_1a(); -setTimeout(dojo.hitch(this,this.pollLocation),_8); -}; -dojo.addOnLoad(function(){ -if("onhashchange" in dojo.global&&(!dojo.isIE||(dojo.isIE>=8&&document.compatMode!="BackCompat"))){ -_7=dojo.connect(dojo.global,"onhashchange",_c); -}else{ -if(document.addEventListener){ -_5=_3(); -setInterval(_d,_8); -}else{ -if(document.attachEvent){ -_6=new _11(); -} -} -} -}); -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/html.js b/resources/library/interactive/barre_prof.wgt/dojo/html.js deleted file mode 100644 index dea7f5aa..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/html.js +++ /dev/null @@ -1,152 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.html"]){ -dojo._hasResource["dojo.html"]=true; -dojo.provide("dojo.html"); -dojo.require("dojo.parser"); -dojo.getObject("html",true,dojo); -(function(){ -var _1=0,d=dojo; -dojo.html._secureForInnerHtml=function(_2){ -return _2.replace(/(?:\s*]+>|]*>[\s\S]*?<\/title>)/ig,""); -}; -dojo.html._emptyNode=dojo.empty; -dojo.html._setNodeContent=function(_3,_4){ -d.empty(_3); -if(_4){ -if(typeof _4=="string"){ -_4=d._toDom(_4,_3.ownerDocument); -} -if(!_4.nodeType&&d.isArrayLike(_4)){ -for(var _5=_4.length,i=0;i<_4.length;i=_5==_4.length?i+1:0){ -d.place(_4[i],_3,"last"); -} -}else{ -d.place(_4,_3,"last"); -} -} -return _3; -}; -dojo.declare("dojo.html._ContentSetter",null,{node:"",content:"",id:"",cleanContent:false,extractContent:false,parseContent:false,parserScope:dojo._scopeName,startup:true,constructor:function(_6,_7){ -dojo.mixin(this,_6||{}); -_7=this.node=dojo.byId(this.node||_7); -if(!this.id){ -this.id=["Setter",(_7)?_7.id||_7.tagName:"",_1++].join("_"); -} -},set:function(_8,_9){ -if(undefined!==_8){ -this.content=_8; -} -if(_9){ -this._mixin(_9); -} -this.onBegin(); -this.setContent(); -this.onEnd(); -return this.node; -},setContent:function(){ -var _a=this.node; -if(!_a){ -throw new Error(this.declaredClass+": setContent given no node"); -} -try{ -_a=dojo.html._setNodeContent(_a,this.content); -} -catch(e){ -var _b=this.onContentError(e); -try{ -_a.innerHTML=_b; -} -catch(e){ -console.error("Fatal "+this.declaredClass+".setContent could not change content due to "+e.message,e); -} -} -this.node=_a; -},empty:function(){ -if(this.parseResults&&this.parseResults.length){ -dojo.forEach(this.parseResults,function(w){ -if(w.destroy){ -w.destroy(); -} -}); -delete this.parseResults; -} -dojo.html._emptyNode(this.node); -},onBegin:function(){ -var _c=this.content; -if(dojo.isString(_c)){ -if(this.cleanContent){ -_c=dojo.html._secureForInnerHtml(_c); -} -if(this.extractContent){ -var _d=_c.match(/]*>\s*([\s\S]+)\s*<\/body>/im); -if(_d){ -_c=_d[1]; -} -} -} -this.empty(); -this.content=_c; -return this.node; -},onEnd:function(){ -if(this.parseContent){ -this._parse(); -} -return this.node; -},tearDown:function(){ -delete this.parseResults; -delete this.node; -delete this.content; -},onContentError:function(_e){ -return "Error occured setting content: "+_e; -},_mixin:function(_f){ -var _10={},key; -for(key in _f){ -if(key in _10){ -continue; -} -this[key]=_f[key]; -} -},_parse:function(){ -var _11=this.node; -try{ -var _12={}; -dojo.forEach(["dir","lang","textDir"],function(_13){ -if(this[_13]){ -_12[_13]=this[_13]; -} -},this); -this.parseResults=dojo.parser.parse({rootNode:_11,noStart:!this.startup,inherited:_12,scope:this.parserScope}); -} -catch(e){ -this._onError("Content",e,"Error parsing in _ContentSetter#"+this.id); -} -},_onError:function(_14,err,_15){ -var _16=this["on"+_14+"Error"].call(this,err); -if(_15){ -console.error(_15,err); -}else{ -if(_16){ -dojo.html._setNodeContent(this.node,_16,true); -} -} -}}); -dojo.html.set=function(_17,_18,_19){ -if(undefined==_18){ -console.warn("dojo.html.set: no cont argument provided, using empty string"); -_18=""; -} -if(!_19){ -return dojo.html._setNodeContent(_17,_18,true); -}else{ -var op=new dojo.html._ContentSetter(dojo.mixin(_19,{content:_18,node:_17})); -return op.set(); -} -}; -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/i18n.js b/resources/library/interactive/barre_prof.wgt/dojo/i18n.js deleted file mode 100644 index 40e282a9..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/i18n.js +++ /dev/null @@ -1,173 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.i18n"]){ -dojo._hasResource["dojo.i18n"]=true; -dojo.provide("dojo.i18n"); -dojo.getObject("i18n",true,dojo); -dojo.i18n.getLocalization=dojo.i18n.getLocalization||function(_1,_2,_3){ -_3=dojo.i18n.normalizeLocale(_3); -var _4=_3.split("-"); -var _5=[_1,"nls",_2].join("."); -var _6=dojo._loadedModules[_5]; -if(_6){ -var _7; -for(var i=_4.length;i>0;i--){ -var _8=_4.slice(0,i).join("_"); -if(_6[_8]){ -_7=_6[_8]; -break; -} -} -if(!_7){ -_7=_6.ROOT; -} -if(_7){ -var _9=function(){ -}; -_9.prototype=_7; -return new _9(); -} -} -throw new Error("Bundle not found: "+_2+" in "+_1+" , locale="+_3); -}; -dojo.i18n.normalizeLocale=function(_a){ -var _b=_a?_a.toLowerCase():dojo.locale; -if(_b=="root"){ -_b="ROOT"; -} -return _b; -}; -dojo.i18n._requireLocalization=function(_c,_d,_e,_f){ -var _10=dojo.i18n.normalizeLocale(_e); -var _11=[_c,"nls",_d].join("."); -var _12=""; -if(_f){ -var _13=_f.split(","); -for(var i=0;i<_13.length;i++){ -if(_10["indexOf"](_13[i])==0){ -if(_13[i].length>_12.length){ -_12=_13[i]; -} -} -} -if(!_12){ -_12="ROOT"; -} -} -var _14=_f?_12:_10; -var _15=dojo._loadedModules[_11]; -var _16=null; -if(_15){ -if(dojo.config.localizationComplete&&_15._built){ -return; -} -var _17=_14.replace(/-/g,"_"); -var _18=_11+"."+_17; -_16=dojo._loadedModules[_18]; -} -if(!_16){ -_15=dojo["provide"](_11); -var _19=dojo._getModuleSymbols(_c); -var _1a=_19.concat("nls").join("/"); -var _1b; -dojo.i18n._searchLocalePath(_14,_f,function(loc){ -var _1c=loc.replace(/-/g,"_"); -var _1d=_11+"."+_1c; -var _1e=false; -if(!dojo._loadedModules[_1d]){ -dojo["provide"](_1d); -var _1f=[_1a]; -if(loc!="ROOT"){ -_1f.push(loc); -} -_1f.push(_d); -var _20=_1f.join("/")+".js"; -_1e=dojo._loadPath(_20,null,function(_21){ -_21=_21.root||_21; -var _22=function(){ -}; -_22.prototype=_1b; -_15[_1c]=new _22(); -for(var j in _21){ -_15[_1c][j]=_21[j]; -} -}); -}else{ -_1e=true; -} -if(_1e&&_15[_1c]){ -_1b=_15[_1c]; -}else{ -_15[_1c]=_1b; -} -if(_f){ -return true; -} -}); -} -if(_f&&_10!=_12){ -_15[_10.replace(/-/g,"_")]=_15[_12.replace(/-/g,"_")]; -} -}; -(function(){ -var _23=dojo.config.extraLocale; -if(_23){ -if(!_23 instanceof Array){ -_23=[_23]; -} -var req=dojo.i18n._requireLocalization; -dojo.i18n._requireLocalization=function(m,b,_24,_25){ -req(m,b,_24,_25); -if(_24){ -return; -} -for(var i=0;i<_23.length;i++){ -req(m,b,_23[i],_25); -} -}; -} -})(); -dojo.i18n._searchLocalePath=function(_26,_27,_28){ -_26=dojo.i18n.normalizeLocale(_26); -var _29=_26.split("-"); -var _2a=[]; -for(var i=_29.length;i>0;i--){ -_2a.push(_29.slice(0,i).join("-")); -} -_2a.push(false); -if(_27){ -_2a.reverse(); -} -for(var j=_2a.length-1;j>=0;j--){ -var loc=_2a[j]||"ROOT"; -var _2b=_28(loc); -if(_2b){ -break; -} -} -}; -dojo.i18n._preloadLocalizations=function(_2c,_2d){ -function _2e(_2f){ -_2f=dojo.i18n.normalizeLocale(_2f); -dojo.i18n._searchLocalePath(_2f,true,function(loc){ -for(var i=0;i<_2d.length;i++){ -if(_2d[i]==loc){ -dojo["require"](_2c+"_"+loc); -return true; -} -} -return false; -}); -}; -_2e(); -var _30=dojo.config.extraLocale||[]; -for(var i=0;i<_30.length;i++){ -_2e(_30[i]); -} -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/jaxer.js b/resources/library/interactive/barre_prof.wgt/dojo/jaxer.js deleted file mode 100644 index ceaa109d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/jaxer.js +++ /dev/null @@ -1,19 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.jaxer"]){ -dojo._hasResource["dojo.jaxer"]=true; -dojo.provide("dojo.jaxer"); -if(typeof print=="function"){ -console.debug=Jaxer.Log.debug; -console.warn=Jaxer.Log.warn; -console.error=Jaxer.Log.error; -console.info=Jaxer.Log.info; -console.log=Jaxer.Log.warn; -} -onserverload=dojo._loadInit; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/nls/colors.js b/resources/library/interactive/barre_prof.wgt/dojo/nls/colors.js deleted file mode 100644 index 454e644e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/nls/colors.js +++ /dev/null @@ -1 +0,0 @@ -({"lightsteelblue":"light steel blue","orangered":"orange red","midnightblue":"midnight blue","cadetblue":"cadet blue","seashell":"seashell","slategrey":"slate gray","coral":"coral","darkturquoise":"dark turquoise","antiquewhite":"antique white","mediumspringgreen":"medium spring green","salmon":"salmon","darkgrey":"dark gray","ivory":"ivory","greenyellow":"green-yellow","mistyrose":"misty rose","lightsalmon":"light salmon","silver":"silver","dimgrey":"dim gray","orange":"orange","white":"white","navajowhite":"navajo white","royalblue":"royal blue","deeppink":"deep pink","lime":"lime","oldlace":"old lace","chartreuse":"chartreuse","darkcyan":"dark cyan","yellow":"yellow","linen":"linen","olive":"olive","gold":"gold","lawngreen":"lawn green","lightyellow":"light yellow","tan":"tan","darkviolet":"dark violet","lightslategrey":"light slate gray","grey":"gray","darkkhaki":"dark khaki","green":"green","deepskyblue":"deep sky blue","aqua":"aqua","sienna":"sienna","mintcream":"mint cream","rosybrown":"rosy brown","mediumslateblue":"medium slate blue","magenta":"magenta","lightseagreen":"light sea green","cyan":"cyan","olivedrab":"olive drab","darkgoldenrod":"dark goldenrod","slateblue":"slate blue","mediumaquamarine":"medium aquamarine","lavender":"lavender","mediumseagreen":"medium sea green","maroon":"maroon","darkslategray":"dark slate gray","mediumturquoise":"medium turquoise","ghostwhite":"ghost white","darkblue":"dark blue","mediumvioletred":"medium violet-red","brown":"brown","lightgray":"light gray","sandybrown":"sandy brown","pink":"pink","firebrick":"fire brick","indigo":"indigo","snow":"snow","darkorchid":"dark orchid","turquoise":"turquoise","chocolate":"chocolate","springgreen":"spring green","moccasin":"moccasin","navy":"navy","lemonchiffon":"lemon chiffon","teal":"teal","floralwhite":"floral white","cornflowerblue":"cornflower blue","paleturquoise":"pale turquoise","purple":"purple","gainsboro":"gainsboro","plum":"plum","red":"red","blue":"blue","forestgreen":"forest green","darkgreen":"dark green","honeydew":"honeydew","darkseagreen":"dark sea green","lightcoral":"light coral","palevioletred":"pale violet-red","mediumpurple":"medium purple","saddlebrown":"saddle brown","darkmagenta":"dark magenta","thistle":"thistle","whitesmoke":"white smoke","wheat":"wheat","violet":"violet","lightskyblue":"light sky blue","goldenrod":"goldenrod","mediumblue":"medium blue","skyblue":"sky blue","crimson":"crimson","darksalmon":"dark salmon","darkred":"dark red","darkslategrey":"dark slate gray","peru":"peru","lightgrey":"light gray","lightgoldenrodyellow":"light goldenrod yellow","blanchedalmond":"blanched almond","aliceblue":"alice blue","bisque":"bisque","slategray":"slate gray","palegoldenrod":"pale goldenrod","darkorange":"dark orange","aquamarine":"aquamarine","lightgreen":"light green","burlywood":"burlywood","dodgerblue":"dodger blue","darkgray":"dark gray","lightcyan":"light cyan","powderblue":"powder blue","blueviolet":"blue-violet","orchid":"orchid","dimgray":"dim gray","beige":"beige","fuchsia":"fuchsia","lavenderblush":"lavender blush","hotpink":"hot pink","steelblue":"steel blue","tomato":"tomato","lightpink":"light pink","limegreen":"lime green","indianred":"indian red","papayawhip":"papaya whip","lightslategray":"light slate gray","gray":"gray","mediumorchid":"medium orchid","cornsilk":"cornsilk","black":"black","seagreen":"sea green","darkslateblue":"dark slate blue","khaki":"khaki","lightblue":"light blue","palegreen":"pale green","azure":"azure","peachpuff":"peach puff","darkolivegreen":"dark olive green","yellowgreen":"yellow green"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojo/nls/de/colors.js b/resources/library/interactive/barre_prof.wgt/dojo/nls/de/colors.js deleted file mode 100644 index 7ae21bf4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/nls/de/colors.js +++ /dev/null @@ -1 +0,0 @@ -({"lightsteelblue":"Helles Stahlblau","orangered":"Orangerot","midnightblue":"Mitternachtblau","cadetblue":"Kadettenblau","seashell":"Muschelweiß","slategrey":"Schiefergrau","coral":"Koralle","darkturquoise":"Dunkeltürkis","antiquewhite":"Antikweiß","mediumspringgreen":"Mittelfrühlingsgrün","salmon":"Lachs","darkgrey":"Dunkelgrau","ivory":"Elfenbein","greenyellow":"Grüngelb","mistyrose":"Blassrose","lightsalmon":"Helllachs","silver":"Silbergrau","dimgrey":"Blassgrau","orange":"Orange","white":"Weiß","navajowhite":"Navajo-weiß","royalblue":"Königsblau","deeppink":"Tiefrosa","lime":"Limone","oldlace":"Alte Spitze","chartreuse":"Helles Gelbgrün","darkcyan":"Dunkelzyan","yellow":"Gelb","linen":"Leinen","olive":"Oliv","gold":"Gold","lawngreen":"Grasgrün","lightyellow":"Hellgelb","tan":"Hautfarben","darkviolet":"Dunkelviolett","lightslategrey":"Helles Schiefergrau","grey":"Grau","darkkhaki":"Dunkelkhaki","green":"Grün","deepskyblue":"Dunkles Himmelblau","aqua":"Wasserblau","sienna":"Sienna","mintcream":"Mintcreme","rosybrown":"Rosigbraun","mediumslateblue":"Mittelschieferblau ","magenta":"Magenta","lightseagreen":"Helles Meergrün","cyan":"Zyan","olivedrab":"Olivgrau","darkgoldenrod":"Dunkelgoldgelb","slateblue":"Schieferblau","mediumaquamarine":"Mittelaquamarin","lavender":"Lavendelblau","mediumseagreen":"Mittelmeeresgrün","maroon":"Kastanienbraun","darkslategray":"Dunkelschiefergrau","mediumturquoise":"Mitteltürkis ","ghostwhite":"Geisterweiß","darkblue":"Dunkelblau","mediumvioletred":"Mittelviolettrot ","brown":"Braun","lightgray":"Hellgrau","sandybrown":"Sandbraun","pink":"Rosa","firebrick":"Schamottestein","indigo":"Indigoblau","snow":"Schneeweiß","darkorchid":"Dunkelorchidee","turquoise":"Türkis","chocolate":"Schokoladenbraun","springgreen":"Frühlingsgrün","moccasin":"Mokassin","navy":"Marineblau","lemonchiffon":"Zitronenchiffon","teal":"Smaragdgrün","floralwhite":"Blütenweiß","cornflowerblue":"Kornblumenblau","paleturquoise":"Blasstürkis","purple":"Purpurrot","gainsboro":"Gainsboro","plum":"Pflaume","red":"Rot","blue":"Blau","forestgreen":"Forstgrün","darkgreen":"Dunkelgrün","honeydew":"Honigtau","darkseagreen":"Dunkles Meergrün","lightcoral":"Hellkoralle","palevioletred":"Blassviolettrot ","mediumpurple":"Mittelpurpur","saddlebrown":"Sattelbraun","darkmagenta":"Dunkelmagenta","thistle":"Distel","whitesmoke":"Rauchweiß","wheat":"Weizen","violet":"Violett","lightskyblue":"Helles Himmelblau","goldenrod":"Goldgelb","mediumblue":"Mittelblau","skyblue":"Himmelblau","crimson":"Karmesinrot","darksalmon":"Dunkellachs","darkred":"Dunkelrot","darkslategrey":"Dunkelschiefergrau","peru":"Peru","lightgrey":"Hellgrau","lightgoldenrodyellow":"Hellgoldgelb","blanchedalmond":"Mandelweiß","aliceblue":"Alice-blau","bisque":"Bisquit","slategray":"Schiefergrau","palegoldenrod":"Blassgoldgelb","darkorange":"Dunkelorange","aquamarine":"Aquamarin","lightgreen":"Hellgrün","burlywood":"Burlywood","dodgerblue":"Dodger-blau","darkgray":"Dunkelgrau","lightcyan":"Hellzyan","powderblue":"Pulverblau","blueviolet":"Blauviolett","orchid":"Orchidee","dimgray":"Blassgrau","beige":"Beige","fuchsia":"Fuchsia","lavenderblush":"Lavendelhauch","hotpink":"Knallrosa","steelblue":"Stahlblau","tomato":"Tomatenrot","lightpink":"Hellrosa","limegreen":"Limonengrün","indianred":"Indischrot","papayawhip":"Papayacreme","lightslategray":"Helles Schiefergrau","gray":"Grau","mediumorchid":"Mittelorchidee","cornsilk":"Kornseide","black":"Schwarz","seagreen":"Meeresgrün","darkslateblue":"Dunkelschieferblau","khaki":"Khaki","lightblue":"Hellblau","palegreen":"Blassgrün","azure":"Azur","peachpuff":"Pfirsich","darkolivegreen":"Dunkelolivgrün","yellowgreen":"Gelbgrün"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojo/nls/es/colors.js b/resources/library/interactive/barre_prof.wgt/dojo/nls/es/colors.js deleted file mode 100644 index 95bb23e8..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/nls/es/colors.js +++ /dev/null @@ -1 +0,0 @@ -({"lightsteelblue":"azul acero claro","orangered":"rojo anaranjado","midnightblue":"azul medianoche","cadetblue":"azul cadete","seashell":"blanco marfil","slategrey":"gris pizarra","coral":"coral","darkturquoise":"turquesa oscuro","antiquewhite":"blanco antiguo","mediumspringgreen":"verde primavera medio","salmon":"salmón","darkgrey":"gris oscuro","ivory":"marfil","greenyellow":"amarillo verdoso","mistyrose":"rosa difuminado","lightsalmon":"salmón claro","silver":"plateado","dimgrey":"gris marengo","orange":"naranja","white":"blanco","navajowhite":"blanco navajo","royalblue":"azul real","deeppink":"rosa fuerte","lime":"lima","oldlace":"encaje antiguo","chartreuse":"verde pálido 2","darkcyan":"cian oscuro","yellow":"amarillo","linen":"blanco arena","olive":"verde oliva","gold":"oro","lawngreen":"verde césped","lightyellow":"amarillo claro","tan":"canela","darkviolet":"violeta oscuro","lightslategrey":"gris pizarra claro","grey":"gris","darkkhaki":"caqui oscuro","green":"verde","deepskyblue":"azul cielo fuerte","aqua":"aguamarina","sienna":"siena","mintcream":"crema menta","rosybrown":"marrón rosáceo","mediumslateblue":"azul pizarra medio","magenta":"magenta","lightseagreen":"verde mar claro","cyan":"cian","olivedrab":"verde oliva pardusco","darkgoldenrod":"ocre oscuro","slateblue":"azul pizarra","mediumaquamarine":"aguamarina medio","lavender":"lavanda","mediumseagreen":"verde mar medio","maroon":"granate","darkslategray":"gris pizarra oscuro","mediumturquoise":"turquesa medio","ghostwhite":"blanco ligero","darkblue":"azul oscuro","mediumvioletred":"rojo violáceo medio","brown":"marrón","lightgray":"gris claro","sandybrown":"marrón arcilla","pink":"rosa","firebrick":"teja","indigo":"añil","snow":"nieve","darkorchid":"orquídea oscuro","turquoise":"turquesa","chocolate":"chocolate","springgreen":"verde fuerte","moccasin":"arena","navy":"azul marino","lemonchiffon":"amarillo pastel","teal":"verde azulado","floralwhite":"blanco manteca","cornflowerblue":"azul aciano","paleturquoise":"turquesa pálido","purple":"púrpura","gainsboro":"azul gainsboro","plum":"ciruela","red":"rojo","blue":"azul","forestgreen":"verde pino","darkgreen":"verde oscuro","honeydew":"flor de rocío","darkseagreen":"verde mar oscuro","lightcoral":"coral claro","palevioletred":"rojo violáceo pálido","mediumpurple":"púrpura medio","saddlebrown":"cuero","darkmagenta":"magenta oscuro","thistle":"cardo","whitesmoke":"blanco ahumado","wheat":"trigo","violet":"violeta","lightskyblue":"azul cielo claro","goldenrod":"ocre","mediumblue":"azul medio","skyblue":"azul cielo","crimson":"carmesí","darksalmon":"salmón oscuro","darkred":"rojo oscuro","darkslategrey":"gris pizarra oscuro","peru":"perú","lightgrey":"gris claro","lightgoldenrodyellow":"ocre claro","blanchedalmond":"almendra pálido","aliceblue":"blanco azulado","bisque":"miel","slategray":"gris pizarra","palegoldenrod":"ocre pálido","darkorange":"naranja oscuro","aquamarine":"aguamarina 2","lightgreen":"verde claro","burlywood":"madera","dodgerblue":"azul fuerte","darkgray":"gris oscuro","lightcyan":"cian claro","powderblue":"azul suave","blueviolet":"azul violáceo","orchid":"orquídea","dimgray":"gris marengo","beige":"beige","fuchsia":"fucsia","lavenderblush":"lavanda rosácea","hotpink":"rosa oscuro","steelblue":"azul acero","tomato":"tomate","lightpink":"rosa claro","limegreen":"lima limón","indianred":"rojo teja","papayawhip":"papaya claro","lightslategray":"gris pizarra claro","gray":"gris","mediumorchid":"orquídea medio","cornsilk":"crudo","black":"negro","seagreen":"verde mar","darkslateblue":"azul pizarra oscuro","khaki":"caqui","lightblue":"azul claro","palegreen":"verde pálido","azure":"blanco cielo","peachpuff":"melocotón","darkolivegreen":"verde oliva oscuro","yellowgreen":"verde amarillento"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojo/nls/fr/colors.js b/resources/library/interactive/barre_prof.wgt/dojo/nls/fr/colors.js deleted file mode 100644 index cf1e7e90..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/nls/fr/colors.js +++ /dev/null @@ -1 +0,0 @@ -({"lightsteelblue":"bleu acier clair","orangered":"rouge orangé","midnightblue":"bleu nuit","cadetblue":"bleu pétrole","seashell":"coquillage","slategrey":"gris ardoise","coral":"corail","darkturquoise":"turquoise foncé","antiquewhite":"blanc antique","mediumspringgreen":"vert printemps moyen","salmon":"saumon","darkgrey":"gris foncé","ivory":"ivoire","greenyellow":"vert-jaune","mistyrose":"rose pâle","lightsalmon":"saumon clair","silver":"argent","dimgrey":"gris soutenu","orange":"orange","white":"blanc","navajowhite":"chair","royalblue":"bleu roi","deeppink":"rose soutenu","lime":"vert citron","oldlace":"blanc cassé","chartreuse":"vert vif","darkcyan":"cyan foncé","yellow":"jaune","linen":"écru","olive":"olive","gold":"or","lawngreen":"vert prairie","lightyellow":"jaune clair","tan":"grège","darkviolet":"violet foncé","lightslategrey":"gris ardoise clair","grey":"gris","darkkhaki":"kaki foncé","green":"vert","deepskyblue":"bleu ciel soutenu","aqua":"bleu-vert","sienna":"terre de sienne","mintcream":"crème de menthe","rosybrown":"vieux rose","mediumslateblue":"bleu ardoise moyen","magenta":"magenta","lightseagreen":"vert d'eau clair","cyan":"cyan","olivedrab":"brun verdâtre","darkgoldenrod":"jaune paille foncé","slateblue":"bleu ardoise","mediumaquamarine":"aigue-marine moyen","lavender":"lavande","mediumseagreen":"vert d'eau moyen","maroon":"marron","darkslategray":"gris ardoise foncé","mediumturquoise":"turquoise moyen","ghostwhite":"blanc laiteux","darkblue":"bleu foncé","mediumvioletred":"rouge violacé moyen","brown":"brun","lightgray":"gris clair","sandybrown":"sable","pink":"rose","firebrick":"rouge brique","indigo":"indigo","snow":"neige","darkorchid":"lilas foncé","turquoise":"turquoise","chocolate":"chocolat","springgreen":"vert printemps","moccasin":"chamois","navy":"bleu marine","lemonchiffon":"mousse de citron","teal":"sarcelle","floralwhite":"lys","cornflowerblue":"bleuet","paleturquoise":"turquoise pâle","purple":"pourpre","gainsboro":"gris souris","plum":"prune","red":"rouge","blue":"bleu","forestgreen":"vert sapin","darkgreen":"vert foncé","honeydew":"opalin","darkseagreen":"vert d'eau foncé","lightcoral":"corail clair","palevioletred":"rouge violacé pâle","mediumpurple":"pourpre moyen","saddlebrown":"brun cuir","darkmagenta":"magenta foncé","thistle":"chardon","whitesmoke":"blanc cendré","wheat":"blé","violet":"violet","lightskyblue":"bleu ciel clair","goldenrod":"jaune paille","mediumblue":"bleu moyen","skyblue":"bleu ciel","crimson":"cramoisi","darksalmon":"saumon foncé","darkred":"rouge foncé","darkslategrey":"gris ardoise foncé","peru":"caramel","lightgrey":"gris clair","lightgoldenrodyellow":"jaune paille clair","blanchedalmond":"coquille d'oeuf","aliceblue":"bleu gris","bisque":"beige rosé","slategray":"gris ardoise","palegoldenrod":"jaune paille pâle","darkorange":"orange foncé","aquamarine":"aigue-marine","lightgreen":"vert clair","burlywood":"bois précieux","dodgerblue":"bleu France","darkgray":"gris foncé","lightcyan":"cyan clair","powderblue":"bleu de smalt","blueviolet":"bleu-violet","orchid":"lilas","dimgray":"gris soutenu","beige":"beige","fuchsia":"fuchsia","lavenderblush":"lavandin","hotpink":"rose intense","steelblue":"bleu acier","tomato":"tomate","lightpink":"rose clair","limegreen":"citron vert","indianred":"rose indien","papayawhip":"crème de papaye","lightslategray":"gris ardoise clair","gray":"gris","mediumorchid":"lilas moyen","cornsilk":"vanille","black":"noir","seagreen":"vert d'eau","darkslateblue":"bleu ardoise foncé","khaki":"kaki","lightblue":"bleu clair","palegreen":"vert pâle","azure":"bleu azur","peachpuff":"pêche","darkolivegreen":"olive foncé","yellowgreen":"vert jaunâtre"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojo/nls/it/colors.js b/resources/library/interactive/barre_prof.wgt/dojo/nls/it/colors.js deleted file mode 100644 index 8a530070..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/nls/it/colors.js +++ /dev/null @@ -1 +0,0 @@ -({"lightsteelblue":"blu acciao chiaro","orangered":"vermiglio","midnightblue":"blu melanzana scuro","cadetblue":"verde acqua","seashell":"sabbia rosa","slategrey":"grigio ardesia","coral":"corallo","darkturquoise":"turchese scuro","antiquewhite":"bianco antico","mediumspringgreen":"verde primavera medio","salmon":"salmone","darkgrey":"grigio scuro","ivory":"avorio","greenyellow":"giallo verde","mistyrose":"rosa pallido","lightsalmon":"salmone chiaro","silver":"grigio 25%","dimgrey":"grigio 80%","orange":"arancione","white":"bianco","navajowhite":"pesca chiaro","royalblue":"blu reale","deeppink":"ciclamino","lime":"verde fluorescente","oldlace":"mandorla","chartreuse":"verde brillante","darkcyan":"ciano scuro","yellow":"giallo","linen":"lino","olive":"verde oliva","gold":"oro","lawngreen":"verde prato","lightyellow":"giallo chiaro","tan":"grigio bruno","darkviolet":"viola scuro","lightslategrey":"grigio ardesia chiaro","grey":"grigio","darkkhaki":"kaki scuro","green":"verde","deepskyblue":"azzurro cielo scuro","aqua":"acqua","sienna":"cuoio","mintcream":"bianco nuvola","rosybrown":"marrone rosato","mediumslateblue":"blu ardesia medio","magenta":"magenta","lightseagreen":"verde mare chiaro","cyan":"ciano","olivedrab":"marrone oliva","darkgoldenrod":"ocra scuro","slateblue":"blu ardesia","mediumaquamarine":"acquamarina medio","lavender":"lavanda","mediumseagreen":"verde mare medio","maroon":"scarlatto","darkslategray":"grigio ardesia scuro","mediumturquoise":"turchese medio","ghostwhite":"bianco gesso","darkblue":"blu scuro","mediumvioletred":"vinaccia","brown":"marrone","lightgray":"grigio chiaro","sandybrown":"marrone sabbia","pink":"rosa","firebrick":"rosso mattone","indigo":"indaco","snow":"neve","darkorchid":"orchidea scuro","turquoise":"turchese","chocolate":"cioccolato","springgreen":"verde primavera","moccasin":"mocassino","navy":"blu notte","lemonchiffon":"caffelatte chiaro","teal":"verde turchese","floralwhite":"bianco giglio","cornflowerblue":"blu fiordaliso","paleturquoise":"turchese pallido","purple":"porpora","gainsboro":"grigio 10%","plum":"prugna","red":"rosso","blue":"blu","forestgreen":"verde foresta","darkgreen":"verde scuro","honeydew":"bianco germoglio","darkseagreen":"verde mare scuro","lightcoral":"rosa corallo","palevioletred":"vinaccia chiaro","mediumpurple":"porpora medio","saddlebrown":"cacao","darkmagenta":"magenta scuro","thistle":"rosa cenere","whitesmoke":"bianco fumo","wheat":"sabbia","violet":"viola","lightskyblue":"azzurro cielo chiaro","goldenrod":"ocra gialla","mediumblue":"blu medio","skyblue":"azzurro cielo","crimson":"cremisi","darksalmon":"salmone scuro","darkred":"rosso scuro","darkslategrey":"grigio ardesia scuro","peru":"marrone terra bruciata","lightgrey":"grigio chiaro","lightgoldenrodyellow":"giallo tenue","blanchedalmond":"mandorla chiaro","aliceblue":"blu alice","bisque":"incarnato","slategray":"grigio ardesia","palegoldenrod":"giallo zolfo chiaro","darkorange":"arancione scuro","aquamarine":"acquamarina","lightgreen":"verde chiaro","burlywood":"tabacco","dodgerblue":"blu d'oriente","darkgray":"grigio scuro","lightcyan":"ciano chiaro","powderblue":"azzurro polvere","blueviolet":"blu violetto","orchid":"orchidea","dimgray":"grigio 80%","beige":"beige","fuchsia":"fucsia","lavenderblush":"bianco rosato","hotpink":"rosa acceso","steelblue":"blu acciao","tomato":"pomodoro","lightpink":"rosa chiaro","limegreen":"verde lime","indianred":"terra indiana","papayawhip":"cipria","lightslategray":"grigio ardesia chiaro","gray":"grigio","mediumorchid":"orchidea medio","cornsilk":"crema","black":"nero","seagreen":"verde mare","darkslateblue":"blu ardesia scuro","khaki":"kaki","lightblue":"azzurro","palegreen":"verde pallido","azure":"azzurro ghiaccio","peachpuff":"pesca","darkolivegreen":"verde oliva scuro","yellowgreen":"giallo verde"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojo/nls/ru/colors.js b/resources/library/interactive/barre_prof.wgt/dojo/nls/ru/colors.js deleted file mode 100644 index 4b67053d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/nls/ru/colors.js +++ /dev/null @@ -1 +0,0 @@ -({"lightsteelblue":"светлый стальной","orangered":"оранжево-красный","midnightblue":"полуночно-синий","cadetblue":"серо-синий","seashell":"морская раковина","slategrey":"грифельно-серый","coral":"коралловый","darkturquoise":"темный бирюзовый","antiquewhite":"белый антик","mediumspringgreen":"нейтральный весенне-зеленый","salmon":"лососевый","darkgrey":"темно-серый","ivory":"слоновой кости","greenyellow":"зелено-желтый","mistyrose":"блекло-розовый","lightsalmon":"светло-лососевый","silver":"серебристый","dimgrey":"тускло-серый","orange":"оранжевый","white":"белый","navajowhite":"белый навахо","royalblue":"королевский голубой","deeppink":"темно-розовый","lime":"лайм","oldlace":"матово-белый","chartreuse":"желто-салатный","darkcyan":"темный циан","yellow":"желтый","linen":"хлопковый","olive":"оливковый","gold":"золотой","lawngreen":"зеленая лужайка","lightyellow":"светло-желтый","tan":"рыжевато-коричневый","darkviolet":"темно-фиолетовый","lightslategrey":"светлый грифельно-серый","grey":"серый","darkkhaki":"темный хаки","green":"зеленый","deepskyblue":"темный небесно-голубой","aqua":"зеленовато-голубой","sienna":"охра","mintcream":"мятно-кремовый","rosybrown":"розово-коричневый","mediumslateblue":"нейтральный грифельно-синий","magenta":"пурпурный","lightseagreen":"светлый морской волны","cyan":"циан","olivedrab":"желтовато-серый","darkgoldenrod":"темно-золотистый","slateblue":"грифельно-синий","mediumaquamarine":"нейтральный аквамарин","lavender":"бледно-лиловый","mediumseagreen":"нейтральный морской волны","maroon":"темно-бордовый","darkslategray":"темный грифельно-серый","mediumturquoise":"нейтральный бирюзовый","ghostwhite":"призрачно-белый","darkblue":"темно-синий","mediumvioletred":"нейтральный фиолетово-красный","brown":"коричневый","lightgray":"светло-серый","sandybrown":"коричнево-песчаный","pink":"розовый","firebrick":"кирпичный","indigo":"индиго","snow":"белоснежный","darkorchid":"темный орсель","turquoise":"бирюзовый","chocolate":"шоколадный","springgreen":"весенний зеленый","moccasin":"мокасин","navy":"темно-синий","lemonchiffon":"бледно-лимонный","teal":"чирок","floralwhite":"цветочно-белый","cornflowerblue":"фиолетово-синий","paleturquoise":"бледно-бирюзовый","purple":"фиолетовый","gainsboro":"бледно-серый","plum":"сливовый","red":"красный","blue":"синий","forestgreen":"зеленый лесной","darkgreen":"темно-зеленый","honeydew":"медовый","darkseagreen":"темный морской волны","lightcoral":"светло-коралловый","palevioletred":"бледный фиолетово-красный","mediumpurple":"нейтральный фиолетовый","saddlebrown":"кожано-коричневый","darkmagenta":"темно-пурпурный","thistle":"чертополох","whitesmoke":"дымчато-белый","wheat":"пшеница","violet":"фиолетовый","lightskyblue":"светлый небесно-голубой","goldenrod":"золотистый","mediumblue":"нейтральный синий","skyblue":"небесно-голубой","crimson":"малиновый","darksalmon":"темно-лососевый","darkred":"темно-красный","darkslategrey":"темный грифельно-серый","peru":"перу","lightgrey":"светло-серый","lightgoldenrodyellow":"светло-золотистый","blanchedalmond":"светло-миндальный","aliceblue":"серо-голубой","bisque":"бисквитный","slategray":"грифельно-серый","palegoldenrod":"бледно-золотистый","darkorange":"темно-оранжевый","aquamarine":"аквамарин","lightgreen":"светло-зеленый","burlywood":"светло-коричневый","dodgerblue":"бледно-синий","darkgray":"темно-серый","lightcyan":"светлый циан","powderblue":"пороховой","blueviolet":"сине-фиолетовый","orchid":"орсель","dimgray":"тускло-серый","beige":"бежевый","fuchsia":"фуксин","lavenderblush":"розовато-лиловый","hotpink":"красно-розовый","steelblue":"стальной","tomato":"помидор","lightpink":"светло-розовый","limegreen":"зеленый лайм","indianred":"индийский красный","papayawhip":"черенок папайи","lightslategray":"светлый грифельно-серый","gray":"серый","mediumorchid":"нейтральный орсель","cornsilk":"шелковый оттенок","black":"черный","seagreen":"морской волны","darkslateblue":"темный грифельно-синий","khaki":"хаки","lightblue":"светло-синий","palegreen":"бледно-зеленый","azure":"лазурный","peachpuff":"персиковый","darkolivegreen":"темно-оливковый","yellowgreen":"желто-зеленый"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojo/number.js b/resources/library/interactive/barre_prof.wgt/dojo/number.js deleted file mode 100644 index a61bdbf4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/number.js +++ /dev/null @@ -1,312 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.number"]){ -dojo._hasResource["dojo.number"]=true; -dojo.provide("dojo.number"); -dojo.require("dojo.i18n"); -dojo.requireLocalization("dojo.cldr","number",null,"ROOT,ar,ca,cs,da,de,el,en,en-au,en-gb,es,fi,fr,fr-ch,he,hu,it,ja,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-hant,zh-hk"); -dojo.require("dojo.string"); -dojo.require("dojo.regexp"); -dojo.getObject("number",true,dojo); -dojo.number.format=function(_1,_2){ -_2=dojo.mixin({},_2||{}); -var _3=dojo.i18n.normalizeLocale(_2.locale),_4=dojo.i18n.getLocalization("dojo.cldr","number",_3); -_2.customs=_4; -var _5=_2.pattern||_4[(_2.type||"decimal")+"Format"]; -if(isNaN(_1)||Math.abs(_1)==Infinity){ -return null; -} -return dojo.number._applyPattern(_1,_5,_2); -}; -dojo.number._numberPatternRE=/[#0,]*[#0](?:\.0*#*)?/; -dojo.number._applyPattern=function(_6,_7,_8){ -_8=_8||{}; -var _9=_8.customs.group,_a=_8.customs.decimal,_b=_7.split(";"),_c=_b[0]; -_7=_b[(_6<0)?1:0]||("-"+_c); -if(_7.indexOf("%")!=-1){ -_6*=100; -}else{ -if(_7.indexOf("‰")!=-1){ -_6*=1000; -}else{ -if(_7.indexOf("¤")!=-1){ -_9=_8.customs.currencyGroup||_9; -_a=_8.customs.currencyDecimal||_a; -_7=_7.replace(/\u00a4{1,3}/,function(_d){ -var _e=["symbol","currency","displayName"][_d.length-1]; -return _8[_e]||_8.currency||""; -}); -}else{ -if(_7.indexOf("E")!=-1){ -throw new Error("exponential notation not supported"); -} -} -} -} -var _f=dojo.number._numberPatternRE; -var _10=_c.match(_f); -if(!_10){ -throw new Error("unable to find a number expression in pattern: "+_7); -} -if(_8.fractional===false){ -_8.places=0; -} -return _7.replace(_f,dojo.number._formatAbsolute(_6,_10[0],{decimal:_a,group:_9,places:_8.places,round:_8.round})); -}; -dojo.number.round=function(_11,_12,_13){ -var _14=10/(_13||10); -return (_14*+_11).toFixed(_12)/_14; -}; -if((0.9).toFixed()==0){ -(function(){ -var _15=dojo.number.round; -dojo.number.round=function(v,p,m){ -var d=Math.pow(10,-p||0),a=Math.abs(v); -if(!v||a>=d||a*Math.pow(10,p+1)<5){ -d=0; -} -return _15(v,p,m)+(v>0?d:-d); -}; -})(); -} -dojo.number._formatAbsolute=function(_16,_17,_18){ -_18=_18||{}; -if(_18.places===true){ -_18.places=0; -} -if(_18.places===Infinity){ -_18.places=6; -} -var _19=_17.split("."),_1a=typeof _18.places=="string"&&_18.places.indexOf(","),_1b=_18.places; -if(_1a){ -_1b=_18.places.substring(_1a+1); -}else{ -if(!(_1b>=0)){ -_1b=(_19[1]||[]).length; -} -} -if(!(_18.round<0)){ -_16=dojo.number.round(_16,_1b,_18.round); -} -var _1c=String(Math.abs(_16)).split("."),_1d=_1c[1]||""; -if(_19[1]||_18.places){ -if(_1a){ -_18.places=_18.places.substring(0,_1a); -} -var pad=_18.places!==undefined?_18.places:(_19[1]&&_19[1].lastIndexOf("0")+1); -if(pad>_1d.length){ -_1c[1]=dojo.string.pad(_1d,pad,"0",true); -} -if(_1b<_1d.length){ -_1c[1]=_1d.substr(0,_1b); -} -}else{ -if(_1c[1]){ -_1c.pop(); -} -} -var _1e=_19[0].replace(",",""); -pad=_1e.indexOf("0"); -if(pad!=-1){ -pad=_1e.length-pad; -if(pad>_1c[0].length){ -_1c[0]=dojo.string.pad(_1c[0],pad); -} -if(_1e.indexOf("#")==-1){ -_1c[0]=_1c[0].substr(_1c[0].length-pad); -} -} -var _1f=_19[0].lastIndexOf(","),_20,_21; -if(_1f!=-1){ -_20=_19[0].length-_1f-1; -var _22=_19[0].substr(0,_1f); -_1f=_22.lastIndexOf(","); -if(_1f!=-1){ -_21=_22.length-_1f-1; -} -} -var _23=[]; -for(var _24=_1c[0];_24;){ -var off=_24.length-_20; -_23.push((off>0)?_24.substr(off):_24); -_24=(off>0)?_24.slice(0,off):""; -if(_21){ -_20=_21; -delete _21; -} -} -_1c[0]=_23.reverse().join(_18.group||","); -return _1c.join(_18.decimal||"."); -}; -dojo.number.regexp=function(_25){ -return dojo.number._parseInfo(_25).regexp; -}; -dojo.number._parseInfo=function(_26){ -_26=_26||{}; -var _27=dojo.i18n.normalizeLocale(_26.locale),_28=dojo.i18n.getLocalization("dojo.cldr","number",_27),_29=_26.pattern||_28[(_26.type||"decimal")+"Format"],_2a=_28.group,_2b=_28.decimal,_2c=1; -if(_29.indexOf("%")!=-1){ -_2c/=100; -}else{ -if(_29.indexOf("‰")!=-1){ -_2c/=1000; -}else{ -var _2d=_29.indexOf("¤")!=-1; -if(_2d){ -_2a=_28.currencyGroup||_2a; -_2b=_28.currencyDecimal||_2b; -} -} -} -var _2e=_29.split(";"); -if(_2e.length==1){ -_2e.push("-"+_2e[0]); -} -var re=dojo.regexp.buildGroupRE(_2e,function(_2f){ -_2f="(?:"+dojo.regexp.escapeString(_2f,".")+")"; -return _2f.replace(dojo.number._numberPatternRE,function(_30){ -var _31={signed:false,separator:_26.strict?_2a:[_2a,""],fractional:_26.fractional,decimal:_2b,exponent:false},_32=_30.split("."),_33=_26.places; -if(_32.length==1&&_2c!=1){ -_32[1]="###"; -} -if(_32.length==1||_33===0){ -_31.fractional=false; -}else{ -if(_33===undefined){ -_33=_26.pattern?_32[1].lastIndexOf("0")+1:Infinity; -} -if(_33&&_26.fractional==undefined){ -_31.fractional=true; -} -if(!_26.places&&(_33<_32[1].length)){ -_33+=","+_32[1].length; -} -_31.places=_33; -} -var _34=_32[0].split(","); -if(_34.length>1){ -_31.groupSize=_34.pop().length; -if(_34.length>1){ -_31.groupSize2=_34.pop().length; -} -} -return "("+dojo.number._realNumberRegexp(_31)+")"; -}); -},true); -if(_2d){ -re=re.replace(/([\s\xa0]*)(\u00a4{1,3})([\s\xa0]*)/g,function(_35,_36,_37,_38){ -var _39=["symbol","currency","displayName"][_37.length-1],_3a=dojo.regexp.escapeString(_26[_39]||_26.currency||""); -_36=_36?"[\\s\\xa0]":""; -_38=_38?"[\\s\\xa0]":""; -if(!_26.strict){ -if(_36){ -_36+="*"; -} -if(_38){ -_38+="*"; -} -return "(?:"+_36+_3a+_38+")?"; -} -return _36+_3a+_38; -}); -} -return {regexp:re.replace(/[\xa0 ]/g,"[\\s\\xa0]"),group:_2a,decimal:_2b,factor:_2c}; -}; -dojo.number.parse=function(_3b,_3c){ -var _3d=dojo.number._parseInfo(_3c),_3e=(new RegExp("^"+_3d.regexp+"$")).exec(_3b); -if(!_3e){ -return NaN; -} -var _3f=_3e[1]; -if(!_3e[1]){ -if(!_3e[2]){ -return NaN; -} -_3f=_3e[2]; -_3d.factor*=-1; -} -_3f=_3f.replace(new RegExp("["+_3d.group+"\\s\\xa0"+"]","g"),"").replace(_3d.decimal,"."); -return _3f*_3d.factor; -}; -dojo.number._realNumberRegexp=function(_40){ -_40=_40||{}; -if(!("places" in _40)){ -_40.places=Infinity; -} -if(typeof _40.decimal!="string"){ -_40.decimal="."; -} -if(!("fractional" in _40)||/^0/.test(_40.places)){ -_40.fractional=[true,false]; -} -if(!("exponent" in _40)){ -_40.exponent=[true,false]; -} -if(!("eSigned" in _40)){ -_40.eSigned=[true,false]; -} -var _41=dojo.number._integerRegexp(_40),_42=dojo.regexp.buildGroupRE(_40.fractional,function(q){ -var re=""; -if(q&&(_40.places!==0)){ -re="\\"+_40.decimal; -if(_40.places==Infinity){ -re="(?:"+re+"\\d+)?"; -}else{ -re+="\\d{"+_40.places+"}"; -} -} -return re; -},true); -var _43=dojo.regexp.buildGroupRE(_40.exponent,function(q){ -if(q){ -return "([eE]"+dojo.number._integerRegexp({signed:_40.eSigned})+")"; -} -return ""; -}); -var _44=_41+_42; -if(_42){ -_44="(?:(?:"+_44+")|(?:"+_42+"))"; -} -return _44+_43; -}; -dojo.number._integerRegexp=function(_45){ -_45=_45||{}; -if(!("signed" in _45)){ -_45.signed=[true,false]; -} -if(!("separator" in _45)){ -_45.separator=""; -}else{ -if(!("groupSize" in _45)){ -_45.groupSize=3; -} -} -var _46=dojo.regexp.buildGroupRE(_45.signed,function(q){ -return q?"[-+]":""; -},true); -var _47=dojo.regexp.buildGroupRE(_45.separator,function(sep){ -if(!sep){ -return "(?:\\d+)"; -} -sep=dojo.regexp.escapeString(sep); -if(sep==" "){ -sep="\\s"; -}else{ -if(sep==" "){ -sep="\\s\\xa0"; -} -} -var grp=_45.groupSize,_48=_45.groupSize2; -if(_48){ -var _49="(?:0|[1-9]\\d{0,"+(_48-1)+"}(?:["+sep+"]\\d{"+_48+"})*["+sep+"]\\d{"+grp+"})"; -return ((grp-_48)>0)?"(?:"+_49+"|(?:0|[1-9]\\d{0,"+(grp-1)+"}))":_49; -} -return "(?:0|[1-9]\\d{0,"+(grp-1)+"}(?:["+sep+"]\\d{"+grp+"})*)"; -},true); -return _46+_47; -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/package.json b/resources/library/interactive/barre_prof.wgt/dojo/package.json deleted file mode 100644 index 5855be51..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "dojo", - "directories": { - "lib": "." - }, - "main":"./lib/main-browser", - "description": "Dojo core is a powerful, lightweight library that makes common tasks quicker and easier. Animate elements, manipulate the DOM, and query with easy CSS syntax, all without sacrificing performance.", - "licenses": [ - { - "type": "AFLv2.1", - "url": "http://trac.dojotoolkit.org/browser/dojo/trunk/LICENSE#L43" - }, - { - "type": "BSD", - "url": "http://trac.dojotoolkit.org/browser/dojo/trunk/LICENSE#L13" - } - ], - "bugs": "http://bugs.dojotoolkit.org/", - "keywords": ["JavaScript", "Dojo", "Toolkit"], - "homepage": "http://dojotoolkit.org/" -} \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojo/parser.js b/resources/library/interactive/barre_prof.wgt/dojo/parser.js deleted file mode 100644 index 16c272a1..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/parser.js +++ /dev/null @@ -1,319 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.parser"]){ -dojo._hasResource["dojo.parser"]=true; -dojo.provide("dojo.parser"); -dojo.require("dojo.date.stamp"); -new Date("X"); -dojo.parser=new function(){ -var d=dojo; -function _1(_2){ -if(d.isString(_2)){ -return "string"; -} -if(typeof _2=="number"){ -return "number"; -} -if(typeof _2=="boolean"){ -return "boolean"; -} -if(d.isFunction(_2)){ -return "function"; -} -if(d.isArray(_2)){ -return "array"; -} -if(_2 instanceof Date){ -return "date"; -} -if(_2 instanceof d._Url){ -return "url"; -} -return "object"; -}; -function _3(_4,_5){ -switch(_5){ -case "string": -return _4; -case "number": -return _4.length?Number(_4):NaN; -case "boolean": -return typeof _4=="boolean"?_4:!(_4.toLowerCase()=="false"); -case "function": -if(d.isFunction(_4)){ -_4=_4.toString(); -_4=d.trim(_4.substring(_4.indexOf("{")+1,_4.length-1)); -} -try{ -if(_4===""||_4.search(/[^\w\.]+/i)!=-1){ -return new Function(_4); -}else{ -return d.getObject(_4,false)||new Function(_4); -} -} -catch(e){ -return new Function(); -} -case "array": -return _4?_4.split(/\s*,\s*/):[]; -case "date": -switch(_4){ -case "": -return new Date(""); -case "now": -return new Date(); -default: -return d.date.stamp.fromISOString(_4); -} -case "url": -return d.baseUrl+_4; -default: -return d.fromJson(_4); -} -}; -var _6={},_7={}; -d.connect(d,"extend",function(){ -_7={}; -}); -function _8(_9,_a){ -for(var _b in _9){ -if(_b.charAt(0)=="_"){ -continue; -} -if(_b in _6){ -continue; -} -_a[_b]=_1(_9[_b]); -} -return _a; -}; -function _c(_d,_e){ -var c=_7[_d]; -if(!c){ -var _f=d.getObject(_d),_10=null; -if(!_f){ -return null; -} -if(!_e){ -_10=_8(_f.prototype,{}); -} -c={cls:_f,params:_10}; -}else{ -if(!_e&&!c.params){ -c.params=_8(c.cls.prototype,{}); -} -} -return c; -}; -this._functionFromScript=function(_11,_12){ -var _13=""; -var _14=""; -var _15=(_11.getAttribute(_12+"args")||_11.getAttribute("args")); -if(_15){ -d.forEach(_15.split(/\s*,\s*/),function(_16,idx){ -_13+="var "+_16+" = arguments["+idx+"]; "; -}); -} -var _17=_11.getAttribute("with"); -if(_17&&_17.length){ -d.forEach(_17.split(/\s*,\s*/),function(_18){ -_13+="with("+_18+"){"; -_14+="}"; -}); -} -return new Function(_13+_11.innerHTML+_14); -}; -this.instantiate=function(_19,_1a,_1b){ -var _1c=[],_1a=_1a||{}; -_1b=_1b||{}; -var _1d=(_1b.scope||d._scopeName)+"Type",_1e="data-"+(_1b.scope||d._scopeName)+"-"; -d.forEach(_19,function(obj){ -if(!obj){ -return; -} -var _1f,_20,_21,_22,_23,_24; -if(obj.node){ -_1f=obj.node; -_20=obj.type; -_24=obj.fastpath; -_21=obj.clsInfo||(_20&&_c(_20,_24)); -_22=_21&&_21.cls; -_23=obj.scripts; -}else{ -_1f=obj; -_20=_1d in _1a?_1a[_1d]:_1f.getAttribute(_1d); -_21=_20&&_c(_20); -_22=_21&&_21.cls; -_23=(_22&&(_22._noScript||_22.prototype._noScript)?[]:d.query("> script[type^='dojo/']",_1f)); -} -if(!_21){ -throw new Error("Could not load class '"+_20); -} -var _25={}; -if(_1b.defaults){ -d._mixin(_25,_1b.defaults); -} -if(obj.inherited){ -d._mixin(_25,obj.inherited); -} -if(_24){ -var _26=_1f.getAttribute(_1e+"props"); -if(_26&&_26.length){ -try{ -_26=d.fromJson.call(_1b.propsThis,"{"+_26+"}"); -d._mixin(_25,_26); -} -catch(e){ -throw new Error(e.toString()+" in data-dojo-props='"+_26+"'"); -} -} -var _27=_1f.getAttribute(_1e+"attach-point"); -if(_27){ -_25.dojoAttachPoint=_27; -} -var _28=_1f.getAttribute(_1e+"attach-event"); -if(_28){ -_25.dojoAttachEvent=_28; -} -dojo.mixin(_25,_1a); -}else{ -var _29=_1f.attributes; -for(var _2a in _21.params){ -var _2b=_2a in _1a?{value:_1a[_2a],specified:true}:_29.getNamedItem(_2a); -if(!_2b||(!_2b.specified&&(!dojo.isIE||_2a.toLowerCase()!="value"))){ -continue; -} -var _2c=_2b.value; -switch(_2a){ -case "class": -_2c="className" in _1a?_1a.className:_1f.className; -break; -case "style": -_2c="style" in _1a?_1a.style:(_1f.style&&_1f.style.cssText); -} -var _2d=_21.params[_2a]; -if(typeof _2c=="string"){ -_25[_2a]=_3(_2c,_2d); -}else{ -_25[_2a]=_2c; -} -} -} -var _2e=[],_2f=[]; -d.forEach(_23,function(_30){ -_1f.removeChild(_30); -var _31=(_30.getAttribute(_1e+"event")||_30.getAttribute("event")),_20=_30.getAttribute("type"),nf=d.parser._functionFromScript(_30,_1e); -if(_31){ -if(_20=="dojo/connect"){ -_2e.push({event:_31,func:nf}); -}else{ -_25[_31]=nf; -} -}else{ -_2f.push(nf); -} -}); -var _32=_22.markupFactory||_22.prototype&&_22.prototype.markupFactory; -var _33=_32?_32(_25,_1f,_22):new _22(_25,_1f); -_1c.push(_33); -var _34=(_1f.getAttribute(_1e+"id")||_1f.getAttribute("jsId")); -if(_34){ -d.setObject(_34,_33); -} -d.forEach(_2e,function(_35){ -d.connect(_33,_35.event,null,_35.func); -}); -d.forEach(_2f,function(_36){ -_36.call(_33); -}); -}); -if(!_1a._started){ -d.forEach(_1c,function(_37){ -if(!_1b.noStart&&_37&&dojo.isFunction(_37.startup)&&!_37._started&&(!_37.getParent||!_37.getParent())){ -_37.startup(); -} -}); -} -return _1c; -}; -this.parse=function(_38,_39){ -var _3a; -if(!_39&&_38&&_38.rootNode){ -_39=_38; -_3a=_39.rootNode; -}else{ -_3a=_38; -} -_3a=_3a?dojo.byId(_3a):dojo.body(); -_39=_39||{}; -var _3b=(_39.scope||d._scopeName)+"Type",_3c="data-"+(_39.scope||d._scopeName)+"-"; -function _3d(_3e,_3f){ -var _40=dojo.clone(_3e.inherited); -dojo.forEach(["dir","lang"],function(_41){ -var val=_3e.node.getAttribute(_41); -if(val){ -_40[_41]=val; -} -}); -var _42=_3e.clsInfo&&!_3e.clsInfo.cls.prototype._noScript?_3e.scripts:null; -var _43=(!_3e.clsInfo||!_3e.clsInfo.cls.prototype.stopParser)||(_39&&_39.template); -for(var _44=_3e.node.firstChild;_44;_44=_44.nextSibling){ -if(_44.nodeType==1){ -var _45,_46=_43&&_44.getAttribute(_3c+"type"); -if(_46){ -_45=_46; -}else{ -_45=_43&&_44.getAttribute(_3b); -} -var _47=_46==_45; -if(_45){ -var _48={"type":_45,fastpath:_47,clsInfo:_c(_45,_47),node:_44,scripts:[],inherited:_40}; -_3f.push(_48); -_3d(_48,_3f); -}else{ -if(_42&&_44.nodeName.toLowerCase()=="script"){ -_45=_44.getAttribute("type"); -if(_45&&/^dojo\/\w/i.test(_45)){ -_42.push(_44); -} -}else{ -if(_43){ -_3d({node:_44,inherited:_40},_3f); -} -} -} -} -} -}; -var _49={}; -if(_39&&_39.inherited){ -for(var key in _39.inherited){ -if(_39.inherited[key]){ -_49[key]=_39.inherited[key]; -} -} -} -var _4a=[]; -_3d({node:_3a,inherited:_49},_4a); -var _4b=_39&&_39.template?{template:true}:null; -return this.instantiate(_4a,_4b,_39); -}; -}(); -(function(){ -var _4c=function(){ -if(dojo.config.parseOnLoad){ -dojo.parser.parse(); -} -}; -if(dojo.getObject("dijit.wai.onload")===dojo._loaders[0]){ -dojo._loaders.splice(1,0,_4c); -}else{ -dojo._loaders.unshift(_4c); -} -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/regexp.js b/resources/library/interactive/barre_prof.wgt/dojo/regexp.js deleted file mode 100644 index 784f24c4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/regexp.js +++ /dev/null @@ -1,33 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.regexp"]){ -dojo._hasResource["dojo.regexp"]=true; -dojo.provide("dojo.regexp"); -dojo.getObject("regexp",true,dojo); -dojo.regexp.escapeString=function(_1,_2){ -return _1.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,function(ch){ -if(_2&&_2.indexOf(ch)!=-1){ -return ch; -} -return "\\"+ch; -}); -}; -dojo.regexp.buildGroupRE=function(_3,re,_4){ -if(!(_3 instanceof Array)){ -return re(_3); -} -var b=[]; -for(var i=0;i<_3.length;i++){ -b.push(re(_3[i])); -} -return dojo.regexp.group(b.join("|"),_4); -}; -dojo.regexp.group=function(_5,_6){ -return "("+(_6?"?:":"")+_5+")"; -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/resources/LICENSE b/resources/library/interactive/barre_prof.wgt/dojo/resources/LICENSE deleted file mode 100644 index eb28b7e4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/resources/LICENSE +++ /dev/null @@ -1,30 +0,0 @@ -License Disclaimer: - -All contents of this directory are Copyright (c) the Dojo Foundation, with the -following exceptions: -------------------------------------------------------------------------------- - -dojo.css: - * parts Copyright (c) 2007, Yahoo! Inc. All rights reserved. - Distributed under the terms of the BSD License - -The Program includes all or portions of the following software which was obtained under the terms and conditions of the BSD License. - -http://developer.yahoo.com/yui/license.html - -Copyright (c) 2007, Yahoo! Inc. - All rights reserved. - Redistribution and use of this software in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. - * Neither the name of Yahoo! Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without -specific prior written permission of Yahoo! Inc. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY - EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, -OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/resources/library/interactive/barre_prof.wgt/dojo/resources/_modules.js b/resources/library/interactive/barre_prof.wgt/dojo/resources/_modules.js deleted file mode 100644 index 1db122dc..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/resources/_modules.js +++ /dev/null @@ -1,7 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - diff --git a/resources/library/interactive/barre_prof.wgt/dojo/resources/blank.gif b/resources/library/interactive/barre_prof.wgt/dojo/resources/blank.gif deleted file mode 100644 index e565824aafafe632011b281cba976baf8b3ba89a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43 qcmZ?wbhEHbWMp7uXkcLY4+e@qSs1y10y+#p0Fq%~V)9{Rum%7ZWeN!Z diff --git a/resources/library/interactive/barre_prof.wgt/dojo/resources/blank.html b/resources/library/interactive/barre_prof.wgt/dojo/resources/blank.html deleted file mode 100644 index 40fe7705..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/resources/blank.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/resources/library/interactive/barre_prof.wgt/dojo/resources/dnd.css b/resources/library/interactive/barre_prof.wgt/dojo/resources/dnd.css deleted file mode 100644 index def28fc9..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/resources/dnd.css +++ /dev/null @@ -1,14 +0,0 @@ - -.dojoDndAvatar {font-size: 75%; color: black;} -.dojoDndAvatarHeader td {padding-left: 20px; padding-right: 4px;} -.dojoDndAvatarHeader {background: #ccc;} -.dojoDndAvatarItem {background: #eee;} -.dojoDndMove .dojoDndAvatarHeader {background-image: url(images/dndNoMove.png); background-repeat: no-repeat;} -.dojoDndCopy .dojoDndAvatarHeader {background-image: url(images/dndNoCopy.png); background-repeat: no-repeat;} -.dojoDndMove .dojoDndAvatarCanDrop .dojoDndAvatarHeader {background-image: url(images/dndMove.png); background-repeat: no-repeat;} -.dojoDndCopy .dojoDndAvatarCanDrop .dojoDndAvatarHeader {background-image: url(images/dndCopy.png); background-repeat: no-repeat;} -.dojoDndHandle {cursor: move;} -.dojoDndIgnore {cursor: default;} -.dijit_a11y .dojoDndAvatar { font-size: 1em; font-weight:bold;} -.dijit_a11y .dojoDndAvatarHeader td {padding-left:2px !important;} -.dijit_a11y .dojoDndAvatarHeader td span {padding-right: 5px;} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/resources/dojo.css b/resources/library/interactive/barre_prof.wgt/dojo/resources/dojo.css deleted file mode 100644 index baf06cb7..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/resources/dojo.css +++ /dev/null @@ -1,98 +0,0 @@ - -body, div, dl, dt, dd, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td { - margin: 0; - padding: 0; -} -fieldset, img { - border: 0 none; -} -address, caption, cite, code, dfn, th, var { - font-style: normal; - font-weight: normal; -} -caption, th { - text-align: left; -} -q:before, q:after { - content:""; -} -abbr, acronym { - border:0; -} -body { - font: 12px Myriad,Helvetica,Tahoma,Arial,clean,sans-serif; - *font-size: 75%; -} -h1 { - font-size: 1.5em; - font-weight: normal; - line-height: 1em; - margin-top: 1em; - margin-bottom:0; -} -h2 { - font-size: 1.1667em; - font-weight: bold; - line-height: 1.286em; - margin-top: 1.929em; - margin-bottom:0.643em; -} -h3, h4, h5, h6 { - font-size: 1em; - font-weight: bold; - line-height: 1.5em; - margin-top: 1.5em; - margin-bottom: 0; -} -p { - font-size: 1em; - margin-top: 1.5em; - margin-bottom: 1.5em; - line-height: 1.5em; -} -blockquote { - font-size: 0.916em; - margin-top: 3.272em; - margin-bottom: 3.272em; - line-height: 1.636em; - padding: 1.636em; - border-top: 1px solid #ccc; - border-bottom: 1px solid #ccc; -} -ol li, ul li { - font-size: 1em; - line-height: 1.5em; - margin: 0; -} -pre, code { - font-size:115%; - *font-size:100%; - font-family: Courier, "Courier New"; - background-color: #efefef; - border: 1px solid #ccc; -} -pre { - border-width: 1px 0; - padding: 1.5em; -} -table { font-size:100%; } -.dojoTabular { - border-collapse: collapse; - border-spacing: 0; - border: 1px solid #ccc; - margin: 0 1.5em; -} -.dojoTabular th { - text-align: center; - font-weight: bold; -} -.dojoTabular thead, -.dojoTabular tfoot { - background-color: #efefef; - border: 1px solid #ccc; - border-width: 1px 0; -} -.dojoTabular th, -.dojoTabular td { - padding: 0.25em 0.5em; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/resources/iframe_history.html b/resources/library/interactive/barre_prof.wgt/dojo/resources/iframe_history.html deleted file mode 100644 index 2c5acce2..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/resources/iframe_history.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - -

    The Dojo Toolkit -- iframe_history.html

    - -

    This file is used in Dojo's back/fwd button management.

    - - diff --git a/resources/library/interactive/barre_prof.wgt/dojo/resources/images/dndCopy.png b/resources/library/interactive/barre_prof.wgt/dojo/resources/images/dndCopy.png deleted file mode 100644 index 660ca4fb10fc1a0a26bd6235a45395031d7e634e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 814 zcmV+}1JV46P)P}>M7A(51bsWI_m(WQiniHU*6AJCmEV`AdMUtm&QxDr?p zR^4G@6A_F_jnPtDzN`&G%UC{2A<*e`X5RC4N}A$|JDK-p^3FZ?o_pWr@V~Xf2OB~z zuhZ}Bbh;=d*py{?YhgQzJ%rgCYlL$R-y*JJ`oZJ-fxAPuku9%dqnJZkD}!SwE4AX+ z=im4i`4K@J4;fx-BoHx(`0KZ?`cirdscZ@rQb8fL2hGr7@d!{=h8HN#iyip#=IbJf z5pR`*H{Ds}s`FfN7Au=8AcUZ~)Pkkwt4P1dz^1lBH#C%v6vVfGqU({T4+EI4y7I8Y zHxdj4mRRK7g8~d=~mgU)(J|wV*Xc&RigsR)F>BOZQ2pCbPhWFIW=o)E-n>e=k2g+5~L=nPGH-& z!BKEP;CZYctV3-lP}w7O3x00!Nk6?jd7@NzzGIQl``B; zH%@Ck7kUB8T4(_*J9~NAEp)p+uFc}v{8KoZoKTtGZhH?#dPhu$spJ%r+ewJLh;$*1 zx%4N1DYOvCmRw>ddSg@w@`S@=a?&i+VfhI6x`yfmaqo7kzE+QVn#AesBLFUK+9i5U4+rmXF2h?Z6nK3qOI&i@1$0P;;ggN~w;y#N3J07*qoM6N<$f)S>15&!@I diff --git a/resources/library/interactive/barre_prof.wgt/dojo/resources/images/dndMove.png b/resources/library/interactive/barre_prof.wgt/dojo/resources/images/dndMove.png deleted file mode 100644 index 74af29c08938f718f4238fb5c4f09f6750ae56dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 785 zcmV+s1Md8ZP)7j^8B~!ytm5eA`Qiz4Q=^ARmoN zP$MF=^-@`wf2T=GrHG1(HOKDe{@%OWckgvNtB20v+;cgc-|su;eBU9mEF&xXtVD56 zz7n2BXLYmXU|pFKSlF0b8z27ePcFij`X-McM@W`{5W?@jik{n-Z@JyB8(6|JRuW4P zWf4X$A0?6rAKwkiU432sp=W4gI7!8+A0B*Z8wot^cx@Xe69|MR!7)|97J~&x47GT( zIRK+RAGTBtIy>5DR-Z@?g@hE{1f&i0yV@_fIm#iGNy2KZ!9Cl3$V}a%=b_W-)G8%O zQva*PDm?Cd&==~JFVU?*daAAUiaVZ4AQ;<3Ie$n6XGMrd5RWHRi^QX8!Jr zuOufaHOn5`nG*~gL=h>5&+#aCMvNc~A)#4#+efwp=?#!WOQu`bYuemE0IK$Sp*4&<$~+M^#ZZf?C>@s;2lGK!SOxGQ^GiMi%?n+*nxy+K|x$2 z#Ex$J-MZ^DE3=>r6qDZ39TFv(-l2cBAzNjYlzWJ7ieK=BN5TNR>Wn3W25-}DI|{B! z1E_Xb^GYuH0f=kxQQ3sy<$=|gYBJp=2_-|jy6^!TjiXkXZIjt@eTO^IdiXN^>cTuX(K-S9|!A|4M=9mq! zlPB0RiE{eSZ3JxWyq|EQ7#`MpGmJ2+CC9LidH4~84-NQ?x7vUe`7OWzEFUyg!Q)dC P00000NkvXXu0mjf^aNqO diff --git a/resources/library/interactive/barre_prof.wgt/dojo/resources/images/dndNoCopy.png b/resources/library/interactive/barre_prof.wgt/dojo/resources/images/dndNoCopy.png deleted file mode 100644 index 998c2f2692201457b3c310e24b13e834b5b9c4c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmd5*`%lw%6#abrz*0&rGG`wY8BE10+l*+o%mp;4V-EK%lIS$wp-j}dhmY0ZNao0r zEpZh=9)91u2RkC}1D!{)^q@H#fxqhyZ8?KmtGm049~H3yp38K;!SP#$s)8=f+hk zG4h?^!w{=V)#pd*fS^hMabdU-05J+>B#{h6;tZ2HO!5=q@y&R=*vrct5U33c6T{3B z2&%>TnD>MlN!v`p!TB&;NuvuXv|g+imqycvhtDv=B)&u?2E#=VK4X8iH{R$=oI7|( zhC&sE<}*g(7gfx1Q<*njb@<*)&o%H?cISw z4G~G>WU7Tm&-UoQiOukw1~YRIq;(6fo)XXsfRsw*0Wh?cB*I`O!an+k!7!7_-Dva- zW53LsC!MMsx=d#kZtMHGtm{p}){X$?Qr=Sv(>srZb2wu6V~Z~met zk=m)WY5)ub-wFiLY{5-XXhHxi^qpD)QAee6C=@f9x^Op1A4nHL7%9wDV7+vByq+Fl zp$8Sy0+c>JMv`ADgJC&#vUEST?3WY+cRQB}r^!E0uR4TPv z-PhOG-`}s%XtY}Gz`%e`ryCp`)a&&IgJEcB$Y?YU4-cD6rje16(b3Vdu`#pRJU%`? zF)?AWSgcm-B7Z+c= zc=7V(%cZ5ISFc_zFE6jGth|2xdUbVmZEfw%n>TOYzFl8m-`Lpj2$hW zF3)=dgFjC36o$=;J$=SQ|0e_f>fXNOsq?|;sH1Ur%?b0jufi^f6iEm`2)9fCQplIT zs>mzhSKapuN+C-`XbG9ccZVJb|DAv3a_Eig*U`A3zXhsX-c6?_o}i6si}+)b{e5Dn zVRLux`kowaiT!L?h|jMVc0_^$tUKTClHO$9IpCO1&HQoUnmqwm}r=tYNF8=v1R4eLY diff --git a/resources/library/interactive/barre_prof.wgt/dojo/resources/images/dndNoMove.png b/resources/library/interactive/barre_prof.wgt/dojo/resources/images/dndNoMove.png deleted file mode 100644 index e909173e0df652ae3585c6f9e5024749761bfc60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 991 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2v2c#w!6nA+G=b|3AXOaEyWBCD)eX;zLXK#<;kx%E~vncuq1fy!Z4uz`$_t-hMtpE$8FCgv&|>%xG5v#RP(q@>R%D9)9XoEIIvJs|M+uU{`iLgz9tJd2FHz{`6_ zPX0@Az`U*Msz@IzbMZK|rbxVX+TF|CS=yT!$QT2^fW z1H+FcD;|qV{9L*ArIG1#d8IoiPu>z1zAGraGB$RJq|`(SiAzpSvtwi5B&8f@V0a;? zaK+vIrFYPeimLq#40{+Dz66Ed*VdU89leo_>%5lM@8c)msB0`@U|20BdrLs@A`8pM zl(g%|k6$}>?2LxSGa31A4UHpAOdDci9_r}c6A(NhA@R}8>lP31Q5M!+Mn($)0?sfo z-sI#w#3y`DK;V(G$|VE)NBSlgG|kqsvTqLx-VzkNh=J)82ghj<(a91LzzALM63Gor z1anG){DOhp!3r4mr^ibJ-TBkg#WAGfR?-Y!7QeIGnwl7mycEn1zqvU_O}O$im+95D z>i(h(oHM+32H|eqQ-y1h?zP+jLJNvAH=+XQ6&ukoHJXV-? z*zeGvsOYM==IG`VtGxQuH%(uzY}vHX$e@#vC8F`bxwhz@g-5Jg7}+9Lhb}YrdAQAi z<4enI<0Y@Grg-kyee`HSLBR*3lhTF~zo%8Tl%34l*ubE?nXh@3cye@=-(G%kWo2>Y z$;rBha}uBVIoD2~dFITSoHIF94%0uGY8e?CnVsE`lAIL$n5DAMe@ByUcc= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.robot"]){ -dojo._hasResource["dojo.robot"]=true; -dojo.provide("dojo.robot"); -dojo.require("doh.robot"); -dojo.require("dojo.window"); -dojo.experimental("dojo.robot"); -(function(){ -dojo.mixin(doh.robot,{_resolveNode:function(n){ -if(typeof n=="function"){ -n=n(); -} -return n?dojo.byId(n):null; -},_scrollIntoView:function(n){ -var d=dojo,dr=doh.robot,p=null; -d.forEach(dr._getWindowChain(n),function(w){ -d.withGlobal(w,function(){ -var p2=d.position(n,false),b=d._getPadBorderExtents(n),_1=null; -if(!p){ -p=p2; -}else{ -_1=p; -p={x:p.x+p2.x+b.l,y:p.y+p2.y+b.t,w:p.w,h:p.h}; -} -dojo.window.scrollIntoView(n,p); -p2=d.position(n,false); -if(!_1){ -p=p2; -}else{ -p={x:_1.x+p2.x+b.l,y:_1.y+p2.y+b.t,w:p.w,h:p.h}; -} -n=w.frameElement; -}); -}); -},_position:function(n){ -var d=dojo,p=null,M=Math.max,m=Math.min; -d.forEach(doh.robot._getWindowChain(n),function(w){ -d.withGlobal(w,function(){ -var p2=d.position(n,false),b=d._getPadBorderExtents(n); -if(!p){ -p=p2; -}else{ -var _2; -d.withGlobal(n.contentWindow,function(){ -_2=dojo.window.getBox(); -}); -p2.r=p2.x+_2.w; -p2.b=p2.y+_2.h; -p={x:M(p.x+p2.x,p2.x)+b.l,y:M(p.y+p2.y,p2.y)+b.t,r:m(p.x+p2.x+p.w,p2.r)+b.l,b:m(p.y+p2.y+p.h,p2.b)+b.t}; -p.w=p.r-p.x; -p.h=p.b-p.y; -} -n=w.frameElement; -}); -}); -return p; -},_getWindowChain:function(n){ -var cW=dojo.window.get(n.ownerDocument); -var _3=[cW]; -var f=cW.frameElement; -return (cW==dojo.global||f==null)?_3:_3.concat(doh.robot._getWindowChain(f)); -},scrollIntoView:function(_4,_5){ -doh.robot.sequence(function(){ -doh.robot._scrollIntoView(doh.robot._resolveNode(_4)); -},_5); -},mouseMoveAt:function(_6,_7,_8,_9,_a){ -doh.robot._assertRobot(); -_8=_8||100; -this.sequence(function(){ -_6=doh.robot._resolveNode(_6); -doh.robot._scrollIntoView(_6); -var _b=doh.robot._position(_6); -if(_a===undefined){ -_9=_b.w/2; -_a=_b.h/2; -} -var x=_b.x+_9; -var y=_b.y+_a; -doh.robot._mouseMove(x,y,false,_8); -},_7,_8); -}}); -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/robotx.js b/resources/library/interactive/barre_prof.wgt/dojo/robotx.js deleted file mode 100644 index 18d08fda..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/robotx.js +++ /dev/null @@ -1,101 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.robotx"]){ -dojo._hasResource["dojo.robotx"]=true; -dojo.provide("dojo.robotx"); -dojo.require("dojo.robot"); -dojo.experimental("dojo.robotx"); -(function(){ -var _1=null; -var _2=dojo.connect(doh,"_groupStarted",function(){ -dojo.disconnect(_2); -_1.style.visibility="visible"; -}); -var _3=function(){ -dojo.addOnLoad(function(){ -var _4={overflow:dojo.isWebKit?"hidden":"visible",margin:"0px",borderWidth:"0px",height:"100%",width:"100%"}; -dojo.style(document.documentElement,_4); -dojo.style(document.body,_4); -document.body.appendChild(_1); -var _5=document.createElement("base"); -_5.href=_1.src; -document.getElementsByTagName("head")[0].appendChild(_5); -}); -}; -var _6=false; -var _7=null; -var _8=doh.robot._run; -doh.robot._run=function(_9){ -_6=true; -_7=_9; -doh.robot._run=_8; -if(_1.src){ -_3(); -} -}; -var _a=function(){ -doh.robot._updateDocument(); -_a=null; -var _b=(document.compatMode=="BackCompat")?document.body:document.documentElement; -var _c=document.getElementById("robotconsole").offsetHeight; -if(_c){ -_1.style.height=(_b.clientHeight-_c)+"px"; -} -if(_1.contentWindow.dojo){ -_1.contentWindow.dojo.addOnLoad(function(){ -doh.robot._run(_7); -}); -}else{ -doh.robot._run(_7); -} -}; -var _d=function(){ -if(_a){ -_a(); -} -var _e=dojo.connect(dojo.body(),"onunload",function(){ -dojo.global=window; -dojo.doc=document; -dojo.disconnect(_e); -}); -}; -dojo.config.debugContainerId="robotconsole"; -dojo.config.debugHeight=dojo.config.debugHeight||200; -document.write("
    "); -_1=document.createElement("iframe"); -_1.setAttribute("ALLOWTRANSPARENCY","true"); -_1.scrolling=dojo.isIE?"yes":"auto"; -dojo.style(_1,{visibility:"hidden",border:"0px none",padding:"0px",margin:"0px",position:"absolute",left:"0px",top:"0px",width:"100%",height:"100%"}); -if(_1["attachEvent"]!==undefined){ -_1.attachEvent("onload",_d); -}else{ -dojo.connect(_1,"onload",_d); -} -dojo.mixin(doh.robot,{_updateDocument:function(){ -dojo.setContext(_1.contentWindow,_1.contentWindow.document); -var _f=dojo.global; -if(_f["dojo"]){ -dojo._topics=_f.dojo._topics; -} -},initRobot:function(url){ -_1.src=url; -if(_6){ -_3(); -} -},waitForPageToLoad:function(_10){ -var d=new doh.Deferred(); -_a=function(){ -_a=null; -doh.robot._updateDocument(); -d.callback(true); -}; -_10(); -return d; -}}); -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/string.js b/resources/library/interactive/barre_prof.wgt/dojo/string.js deleted file mode 100644 index 0e434386..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/string.js +++ /dev/null @@ -1,58 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.string"]){ -dojo._hasResource["dojo.string"]=true; -dojo.provide("dojo.string"); -dojo.getObject("string",true,dojo); -dojo.string.rep=function(_1,_2){ -if(_2<=0||!_1){ -return ""; -} -var _3=[]; -for(;;){ -if(_2&1){ -_3.push(_1); -} -if(!(_2>>=1)){ -break; -} -_1+=_1; -} -return _3.join(""); -}; -dojo.string.pad=function(_4,_5,ch,_6){ -if(!ch){ -ch="0"; -} -var _7=String(_4),_8=dojo.string.rep(ch,Math.ceil((_5-_7.length)/ch.length)); -return _6?_7+_8:_8+_7; -}; -dojo.string.substitute=function(_9,_a,_b,_c){ -_c=_c||dojo.global; -_b=_b?dojo.hitch(_c,_b):function(v){ -return v; -}; -return _9.replace(/\$\{([^\s\:\}]+)(?:\:([^\s\:\}]+))?\}/g,function(_d,_e,_f){ -var _10=dojo.getObject(_e,false,_a); -if(_f){ -_10=dojo.getObject(_f,false,_c).call(_c,_10,_e); -} -return _b(_10,_e).toString(); -}); -}; -dojo.string.trim=String.prototype.trim?dojo.trim:function(str){ -str=str.replace(/^\s+/,""); -for(var i=str.length-1;i>=0;i--){ -if(/\S/.test(str.charAt(i))){ -str=str.substring(0,i+1); -break; -} -} -return str; -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/uacss.js b/resources/library/interactive/barre_prof.wgt/dojo/uacss.js deleted file mode 100644 index 3fff7d1f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/uacss.js +++ /dev/null @@ -1,28 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.uacss"]){ -dojo._hasResource["dojo.uacss"]=true; -dojo.provide("dojo.uacss"); -(function(){ -var d=dojo,_1=d.doc.documentElement,ie=d.isIE,_2=d.isOpera,_3=Math.floor,ff=d.isFF,_4=d.boxModel.replace(/-/,""),_5={dj_ie:ie,dj_ie6:_3(ie)==6,dj_ie7:_3(ie)==7,dj_ie8:_3(ie)==8,dj_ie9:_3(ie)==9,dj_quirks:d.isQuirks,dj_iequirks:ie&&d.isQuirks,dj_opera:_2,dj_khtml:d.isKhtml,dj_webkit:d.isWebKit,dj_safari:d.isSafari,dj_chrome:d.isChrome,dj_gecko:d.isMozilla,dj_ff3:_3(ff)==3}; -_5["dj_"+_4]=true; -var _6=""; -for(var _7 in _5){ -if(_5[_7]){ -_6+=_7+" "; -} -} -_1.className=d.trim(_1.className+" "+_6); -dojo._loaders.unshift(function(){ -if(!dojo._isBodyLtr()){ -var _8="dj_rtl dijitRtl "+_6.replace(/ /g,"-rtl "); -_1.className=d.trim(_1.className+" "+_8); -} -}); -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/window.js b/resources/library/interactive/barre_prof.wgt/dojo/window.js deleted file mode 100644 index d5a6408f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/window.js +++ /dev/null @@ -1,113 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.window"]){ -dojo._hasResource["dojo.window"]=true; -dojo.provide("dojo.window"); -dojo.getObject("window",true,dojo); -dojo.window.getBox=function(){ -var _1=(dojo.doc.compatMode=="BackCompat")?dojo.body():dojo.doc.documentElement; -var _2=dojo._docScroll(); -return {w:_1.clientWidth,h:_1.clientHeight,l:_2.x,t:_2.y}; -}; -dojo.window.get=function(_3){ -if(dojo.isIE&&window!==document.parentWindow){ -_3.parentWindow.execScript("document._parentWindow = window;","Javascript"); -var _4=_3._parentWindow; -_3._parentWindow=null; -return _4; -} -return _3.parentWindow||_3.defaultView; -}; -dojo.window.scrollIntoView=function(_5,_6){ -try{ -_5=dojo.byId(_5); -var _7=_5.ownerDocument||dojo.doc,_8=_7.body||dojo.body(),_9=_7.documentElement||_8.parentNode,_a=dojo.isIE,_b=dojo.isWebKit; -if((!(dojo.isMoz||_a||_b||dojo.isOpera)||_5==_8||_5==_9)&&(typeof _5.scrollIntoView!="undefined")){ -_5.scrollIntoView(false); -return; -} -var _c=_7.compatMode=="BackCompat",_d=(_a>=9&&_5.ownerDocument.parentWindow.frameElement)?((_9.clientHeight>0&&_9.clientWidth>0&&(_8.clientHeight==0||_8.clientWidth==0||_8.clientHeight>_9.clientHeight||_8.clientWidth>_9.clientWidth))?_9:_8):(_c?_8:_9),_e=_b?_8:_d,_f=_d.clientWidth,_10=_d.clientHeight,rtl=!dojo._isBodyLtr(),_11=_6||dojo.position(_5),el=_5.parentNode,_12=function(el){ -return ((_a<=6||(_a&&_c))?false:(dojo.style(el,"position").toLowerCase()=="fixed")); -}; -if(_12(_5)){ -return; -} -while(el){ -if(el==_8){ -el=_e; -} -var _13=dojo.position(el),_14=_12(el); -if(el==_e){ -_13.w=_f; -_13.h=_10; -if(_e==_9&&_a&&rtl){ -_13.x+=_e.offsetWidth-_13.w; -} -if(_13.x<0||!_a){ -_13.x=0; -} -if(_13.y<0||!_a){ -_13.y=0; -} -}else{ -var pb=dojo._getPadBorderExtents(el); -_13.w-=pb.w; -_13.h-=pb.h; -_13.x+=pb.l; -_13.y+=pb.t; -var _15=el.clientWidth,_16=_13.w-_15; -if(_15>0&&_16>0){ -_13.w=_15; -_13.x+=(rtl&&(_a||el.clientLeft>pb.l))?_16:0; -} -_15=el.clientHeight; -_16=_13.h-_15; -if(_15>0&&_16>0){ -_13.h=_15; -} -} -if(_14){ -if(_13.y<0){ -_13.h+=_13.y; -_13.y=0; -} -if(_13.x<0){ -_13.w+=_13.x; -_13.x=0; -} -if(_13.y+_13.h>_10){ -_13.h=_10-_13.y; -} -if(_13.x+_13.w>_f){ -_13.w=_f-_13.x; -} -} -var l=_11.x-_13.x,t=_11.y-Math.max(_13.y,0),r=l+_11.w-_13.w,bot=t+_11.h-_13.h; -if(r*l>0){ -var s=Math[l<0?"max":"min"](l,r); -if(rtl&&((_a==8&&!_c)||_a>=9)){ -s=-s; -} -_11.x+=el.scrollLeft; -el.scrollLeft+=s; -_11.x-=el.scrollLeft; -} -if(bot*t>0){ -_11.y+=el.scrollTop; -el.scrollTop+=Math[t<0?"max":"min"](t,bot); -_11.y-=el.scrollTop; -} -el=(el!=_e)&&!_14&&el.parentNode; -} -} -catch(error){ -console.error("scrollIntoView: "+error); -_5.scrollIntoView(false); -} -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/Breadcrumb.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/Breadcrumb.js deleted file mode 100644 index fb71da56..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/Breadcrumb.js +++ /dev/null @@ -1,245 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojox.editor.plugins.Breadcrumb"]){ -dojo._hasResource["dojox.editor.plugins.Breadcrumb"]=true; -dojo.provide("dojox.editor.plugins.Breadcrumb"); -dojo.require("dojo.string"); -dojo.require("dijit.Toolbar"); -dojo.require("dijit.Menu"); -dojo.require("dijit.MenuItem"); -dojo.require("dijit.MenuSeparator"); -dojo.require("dijit._editor.range"); -dojo.require("dijit._editor.selection"); -dojo.require("dijit._editor._Plugin"); -dojo.require("dijit.form.Button"); -dojo.require("dojo.i18n"); -dojo.requireLocalization("dojox.editor.plugins","Breadcrumb",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); -dojo.experimental("dojox.editor.plugins.Breadcrumb"); -dojo.declare("dojox.editor.plugins._BreadcrumbMenuTitle",[dijit._Widget,dijit._Templated,dijit._Contained],{templateString:"",menuTitle:"",postCreate:function(){ -dojo.setSelectable(this.domNode,false); -var _1=this.id+"_text"; -dijit.setWaiState(this.domNode,"labelledby",_1); -},_setMenuTitleAttr:function(_2){ -this.title.innerHTML=_2; -},_getMenuTitleAttr:function(_3){ -return this.title.innerHTML; -}}); -dojo.declare("dojox.editor.plugins.Breadcrumb",dijit._editor._Plugin,{_menu:null,breadcrumbBar:null,setEditor:function(_4){ -this.editor=_4; -this._buttons=[]; -this.breadcrumbBar=new dijit.Toolbar(); -var _5=dojo.i18n.getLocalization("dojox.editor.plugins","Breadcrumb"); -this._titleTemplate=_5.nodeActions; -dojo.place(this.breadcrumbBar.domNode,_4.footer); -this.editor.onLoadDeferred.addCallback(dojo.hitch(this,function(){ -this._menu=new dijit.Menu({}); -dojo.addClass(this.breadcrumbBar.domNode,"dojoxEditorBreadcrumbArrow"); -var _6=this; -var _7=new dijit.form.ComboButton({showLabel:true,label:"body",_selNode:_4.editNode,dropDown:this._menu,onClick:dojo.hitch(this,function(){ -this._menuTarget=_4.editNode; -this._selectContents(); -})}); -this._menuTitle=new dojox.editor.plugins._BreadcrumbMenuTitle({menuTitle:_5.nodeActions}); -this._selCMenu=new dijit.MenuItem({label:_5.selectContents,onClick:dojo.hitch(this,this._selectContents)}); -this._delCMenu=new dijit.MenuItem({label:_5.deleteContents,onClick:dojo.hitch(this,this._deleteContents)}); -this._selEMenu=new dijit.MenuItem({label:_5.selectElement,onClick:dojo.hitch(this,this._selectElement)}); -this._delEMenu=new dijit.MenuItem({label:_5.deleteElement,onClick:dojo.hitch(this,this._deleteElement)}); -this._moveSMenu=new dijit.MenuItem({label:_5.moveStart,onClick:dojo.hitch(this,this._moveCToStart)}); -this._moveEMenu=new dijit.MenuItem({label:_5.moveEnd,onClick:dojo.hitch(this,this._moveCToEnd)}); -this._menu.addChild(this._menuTitle); -this._menu.addChild(this._selCMenu); -this._menu.addChild(this._delCMenu); -this._menu.addChild(new dijit.MenuSeparator({})); -this._menu.addChild(this._selEMenu); -this._menu.addChild(this._delEMenu); -this._menu.addChild(new dijit.MenuSeparator({})); -this._menu.addChild(this._moveSMenu); -this._menu.addChild(this._moveEMenu); -_7._ddConnect=dojo.connect(_7,"openDropDown",dojo.hitch(this,function(){ -this._menuTarget=_7._selNode; -this._menuTitle.set("menuTitle",dojo.string.substitute(this._titleTemplate,{"nodeName":"<body>"})); -this._selEMenu.set("disabled",true); -this._delEMenu.set("disabled",true); -this._selCMenu.set("disabled",false); -this._delCMenu.set("disabled",false); -this._moveSMenu.set("disabled",false); -this._moveEMenu.set("disabled",false); -})); -this.breadcrumbBar.addChild(_7); -this.connect(this.editor,"onNormalizedDisplayChanged","updateState"); -})); -this.breadcrumbBar.startup(); -if(dojo.isIE){ -setTimeout(dojo.hitch(this,function(){ -this.breadcrumbBar.domNode.className=this.breadcrumbBar.domNode.className; -}),100); -} -},_selectContents:function(){ -this.editor.focus(); -if(this._menuTarget){ -var _8=this._menuTarget.tagName.toLowerCase(); -switch(_8){ -case "br": -case "hr": -case "img": -case "input": -case "base": -case "meta": -case "area": -case "basefont": -break; -default: -try{ -dojo.withGlobal(this.editor.window,"collapse",dijit._editor.selection,[null]); -dojo.withGlobal(this.editor.window,"selectElementChildren",dijit._editor.selection,[this._menuTarget]); -this.editor.onDisplayChanged(); -} -catch(e){ -} -} -} -},_deleteContents:function(){ -if(this._menuTarget){ -this.editor.beginEditing(); -this._selectContents(); -dojo.withGlobal(this.editor.window,"remove",dijit._editor.selection,[this._menuTarget]); -this.editor.endEditing(); -this._updateBreadcrumb(); -this.editor.onDisplayChanged(); -} -},_selectElement:function(){ -this.editor.focus(); -if(this._menuTarget){ -dojo.withGlobal(this.editor.window,"collapse",dijit._editor.selection,[null]); -dojo.withGlobal(this.editor.window,"selectElement",dijit._editor.selection,[this._menuTarget]); -this.editor.onDisplayChanged(); -} -},_deleteElement:function(){ -if(this._menuTarget){ -this.editor.beginEditing(); -this._selectElement(); -dojo.withGlobal(this.editor.window,"remove",dijit._editor.selection,[this._menuTarget]); -this.editor.endEditing(); -this._updateBreadcrumb(); -this.editor.onDisplayChanged(); -} -},_moveCToStart:function(){ -this.editor.focus(); -if(this._menuTarget){ -this._selectContents(); -dojo.withGlobal(this.editor.window,"collapse",dijit._editor.selection,[true]); -} -},_moveCToEnd:function(){ -this.editor.focus(); -if(this._menuTarget){ -this._selectContents(); -dojo.withGlobal(this.editor.window,"collapse",dijit._editor.selection,[false]); -} -},_updateBreadcrumb:function(){ -var ed=this.editor; -if(ed.window){ -var _9=dijit.range.getSelection(ed.window); -if(_9&&_9.rangeCount>0){ -var _a=_9.getRangeAt(0); -var _b=dojo.withGlobal(ed.window,"getSelectedElement",dijit._editor.selection)||_a.startContainer; -var _c=[]; -if(_b&&_b.ownerDocument===ed.document){ -while(_b&&_b!==ed.editNode&&_b!=ed.document.body&&_b!=ed.document){ -if(_b.nodeType===1){ -_c.push({type:_b.tagName.toLowerCase(),node:_b}); -} -_b=_b.parentNode; -} -_c=_c.reverse(); -while(this._buttons.length){ -var db=this._buttons.pop(); -dojo.disconnect(db._ddConnect); -this.breadcrumbBar.removeChild(db); -} -this._buttons=[]; -var i; -var _d=this; -for(i=0;i<_c.length;i++){ -var bc=_c[i]; -var b=new dijit.form.ComboButton({showLabel:true,label:bc.type,_selNode:bc.node,dropDown:this._menu,onClick:function(){ -_d._menuTarget=this._selNode; -_d._selectContents(); -}}); -b._ddConnect=dojo.connect(b,"openDropDown",dojo.hitch(b,function(){ -_d._menuTarget=this._selNode; -var _e=_d._menuTarget.tagName.toLowerCase(); -var _f=dojo.string.substitute(_d._titleTemplate,{"nodeName":"<"+_e+">"}); -_d._menuTitle.set("menuTitle",_f); -switch(_e){ -case "br": -case "hr": -case "img": -case "input": -case "base": -case "meta": -case "area": -case "basefont": -_d._selCMenu.set("disabled",true); -_d._delCMenu.set("disabled",true); -_d._moveSMenu.set("disabled",true); -_d._moveEMenu.set("disabled",true); -_d._selEMenu.set("disabled",false); -_d._delEMenu.set("disabled",false); -break; -default: -_d._selCMenu.set("disabled",false); -_d._delCMenu.set("disabled",false); -_d._selEMenu.set("disabled",false); -_d._delEMenu.set("disabled",false); -_d._moveSMenu.set("disabled",false); -_d._moveEMenu.set("disabled",false); -} -})); -this._buttons.push(b); -this.breadcrumbBar.addChild(b); -} -if(dojo.isIE){ -this.breadcrumbBar.domNode.className=this.breadcrumbBar.domNode.className; -} -} -} -} -},updateState:function(){ -if(dojo.style(this.editor.iframe,"display")==="none"||this.get("disabled")){ -dojo.style(this.breadcrumbBar.domNode,"display","none"); -}else{ -if(dojo.style(this.breadcrumbBar.domNode,"display")==="none"){ -dojo.style(this.breadcrumbBar.domNode,"display","block"); -} -this._updateBreadcrumb(); -var _10=dojo.marginBox(this.editor.domNode); -this.editor.resize({h:_10.h}); -} -},destroy:function(){ -if(this.breadcrumbBar){ -this.breadcrumbBar.destroyRecursive(); -this.breadcrumbBar=null; -} -if(this._menu){ -this._menu.destroyRecursive(); -delete this._menu; -} -this._buttons=null; -delete this.editor.breadcrumbBar; -this.inherited(arguments); -}}); -dojo.subscribe(dijit._scopeName+".Editor.getPlugin",null,function(o){ -if(o.plugin){ -return; -} -var _11=o.args.name.toLowerCase(); -if(_11==="breadcrumb"){ -o.plugin=new dojox.editor.plugins.Breadcrumb({}); -} -}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/CollapsibleToolbar.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/CollapsibleToolbar.js deleted file mode 100644 index bcaa69f8..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/CollapsibleToolbar.js +++ /dev/null @@ -1,92 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojox.editor.plugins.CollapsibleToolbar"]){ -dojo._hasResource["dojox.editor.plugins.CollapsibleToolbar"]=true; -dojo.provide("dojox.editor.plugins.CollapsibleToolbar"); -dojo.require("dijit._Widget"); -dojo.require("dijit._Templated"); -dojo.require("dijit._editor._Plugin"); -dojo.require("dijit.form.Button"); -dojo.require("dojo.i18n"); -dojo.requireLocalization("dojox.editor.plugins","CollapsibleToolbar",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); -dojo.declare("dojox.editor.plugins._CollapsibleToolbarButton",[dijit._Widget,dijit._Templated],{templateString:"
    ${text}
    ",title:"",buttonClass:"",text:"",textClass:"",onClick:function(e){ -}}); -dojo.declare("dojox.editor.plugins.CollapsibleToolbar",dijit._editor._Plugin,{_myWidgets:null,setEditor:function(_1){ -this.editor=_1; -this._constructContainer(); -},_constructContainer:function(){ -var _2=dojo.i18n.getLocalization("dojox.editor.plugins","CollapsibleToolbar"); -this._myWidgets=[]; -var _3=dojo.create("table",{style:{width:"100%"},tabindex:-1,"class":"dojoxCollapsibleToolbarContainer"}); -var _4=dojo.create("tbody",{tabindex:-1},_3); -var _5=dojo.create("tr",{tabindex:-1},_4); -var _6=dojo.create("td",{"class":"dojoxCollapsibleToolbarControl",tabindex:-1},_5); -var _7=dojo.create("td",{"class":"dojoxCollapsibleToolbarControl",tabindex:-1},_5); -var _8=dojo.create("td",{style:{width:"100%"},tabindex:-1},_5); -var m=dojo.create("span",{style:{width:"100%"},tabindex:-1},_8); -var _9=new dojox.editor.plugins._CollapsibleToolbarButton({buttonClass:"dojoxCollapsibleToolbarCollapse",title:_2.collapse,text:"-",textClass:"dojoxCollapsibleToolbarCollapseText"}); -dojo.place(_9.domNode,_6); -var _a=new dojox.editor.plugins._CollapsibleToolbarButton({buttonClass:"dojoxCollapsibleToolbarExpand",title:_2.expand,text:"+",textClass:"dojoxCollapsibleToolbarExpandText"}); -dojo.place(_a.domNode,_7); -this._myWidgets.push(_9); -this._myWidgets.push(_a); -dojo.style(_7,"display","none"); -dojo.place(_3,this.editor.toolbar.domNode,"after"); -dojo.place(this.editor.toolbar.domNode,m); -this.openTd=_6; -this.closeTd=_7; -this.menu=m; -this.connect(_9,"onClick","_onClose"); -this.connect(_a,"onClick","_onOpen"); -},_onClose:function(e){ -if(e){ -dojo.stopEvent(e); -} -var _b=dojo.marginBox(this.editor.domNode); -dojo.style(this.openTd,"display","none"); -dojo.style(this.closeTd,"display",""); -dojo.style(this.menu,"display","none"); -this.editor.resize({h:_b.h}); -if(dojo.isIE){ -this.editor.header.className=this.editor.header.className; -this.editor.footer.className=this.editor.footer.className; -} -dijit.focus(this.closeTd.firstChild); -},_onOpen:function(e){ -if(e){ -dojo.stopEvent(e); -} -var _c=dojo.marginBox(this.editor.domNode); -dojo.style(this.closeTd,"display","none"); -dojo.style(this.openTd,"display",""); -dojo.style(this.menu,"display",""); -this.editor.resize({h:_c.h}); -if(dojo.isIE){ -this.editor.header.className=this.editor.header.className; -this.editor.footer.className=this.editor.footer.className; -} -dijit.focus(this.openTd.firstChild); -},destroy:function(){ -this.inherited(arguments); -if(this._myWidgets){ -while(this._myWidgets.length){ -this._myWidgets.pop().destroy(); -} -delete this._myWidgets; -} -}}); -dojo.subscribe(dijit._scopeName+".Editor.getPlugin",null,function(o){ -if(o.plugin){ -return; -} -var _d=o.args.name.toLowerCase(); -if(_d==="collapsibletoolbar"){ -o.plugin=new dojox.editor.plugins.CollapsibleToolbar({}); -} -}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/FindReplace.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/FindReplace.js deleted file mode 100644 index 3ced6d98..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/FindReplace.js +++ /dev/null @@ -1,394 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojox.editor.plugins.FindReplace"]){ -dojo._hasResource["dojox.editor.plugins.FindReplace"]=true; -dojo.provide("dojox.editor.plugins.FindReplace"); -dojo.require("dojo.string"); -dojo.require("dijit.TooltipDialog"); -dojo.require("dijit.Toolbar"); -dojo.require("dijit.form.CheckBox"); -dojo.require("dijit.form.TextBox"); -dojo.require("dijit._editor._Plugin"); -dojo.require("dijit.form.Button"); -dojo.require("dojox.editor.plugins.ToolbarLineBreak"); -dojo.require("dojo.i18n"); -dojo.requireLocalization("dojox.editor.plugins","FindReplace",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); -dojo.experimental("dojox.editor.plugins.FindReplace"); -dojo.declare("dojox.editor.plugins._FindReplaceCloseBox",[dijit._Widget,dijit._Templated],{btnId:"",widget:null,widgetsInTemplate:true,templateString:""+""+"",postMixInProperties:function(){ -this.id=dijit.getUniqueId(this.declaredClass.replace(/\./g,"_")); -this.btnId=this.id+"_close"; -this.inherited(arguments); -},startup:function(){ -this.connect(this.button,"onClick","onClick"); -},onClick:function(){ -}}); -dojo.declare("dojox.editor.plugins._FindReplaceTextBox",[dijit._Widget,dijit._Templated],{textId:"",label:"",toolTip:"",widget:null,widgetsInTemplate:true,templateString:""+""+""+"",postMixInProperties:function(){ -this.id=dijit.getUniqueId(this.declaredClass.replace(/\./g,"_")); -this.textId=this.id+"_text"; -this.inherited(arguments); -},postCreate:function(){ -this.textBox.set("value",""); -this.disabled=this.textBox.get("disabled"); -this.connect(this.textBox,"onChange","onChange"); -},_setValueAttr:function(_1){ -this.value=_1; -this.textBox.set("value",_1); -},focus:function(){ -this.textBox.focus(); -},_setDisabledAttr:function(_2){ -this.disabled=_2; -this.textBox.set("disabled",_2); -},onChange:function(_3){ -this.value=_3; -},_onKeyPress:function(_4){ -var _5=0; -var _6=0; -if(_4.target&&!_4.ctrlKey&&!_4.altKey&&!_4.shiftKey){ -if(_4.keyCode==dojo.keys.LEFT_ARROW){ -_5=_4.target.selectionStart; -_6=_4.target.selectionEnd; -if(_5<_6){ -dijit.selectInputText(_4.target,_5,_5); -dojo.stopEvent(_4); -} -}else{ -if(_4.keyCode==dojo.keys.RIGHT_ARROW){ -_5=_4.target.selectionStart; -_6=_4.target.selectionEnd; -if(_5<_6){ -dijit.selectInputText(_4.target,_6,_6); -dojo.stopEvent(_4); -} -} -} -} -}}); -dojo.declare("dojox.editor.plugins._FindReplaceCheckBox",[dijit._Widget,dijit._Templated],{checkId:"",label:"",tooltip:"",widget:null,widgetsInTemplate:true,templateString:""+""+""+"",postMixInProperties:function(){ -this.id=dijit.getUniqueId(this.declaredClass.replace(/\./g,"_")); -this.checkId=this.id+"_check"; -this.inherited(arguments); -},postCreate:function(){ -this.checkBox.set("checked",false); -this.disabled=this.checkBox.get("disabled"); -this.checkBox.isFocusable=function(){ -return false; -}; -},_setValueAttr:function(_7){ -this.checkBox.set("value",_7); -},_getValueAttr:function(){ -return this.checkBox.get("value"); -},focus:function(){ -this.checkBox.focus(); -},_setDisabledAttr:function(_8){ -this.disabled=_8; -this.checkBox.set("disabled",_8); -}}); -dojo.declare("dojox.editor.plugins._FindReplaceToolbar",dijit.Toolbar,{postCreate:function(){ -this.connectKeyNavHandlers([],[]); -this.connect(this.containerNode,"onclick","_onToolbarEvent"); -this.connect(this.containerNode,"onkeydown","_onToolbarEvent"); -dojo.addClass(this.domNode,"dijitToolbar"); -},addChild:function(_9,_a){ -dijit._KeyNavContainer.superclass.addChild.apply(this,arguments); -},_onToolbarEvent:function(_b){ -_b.stopPropagation(); -}}); -dojo.declare("dojox.editor.plugins.FindReplace",[dijit._editor._Plugin],{buttonClass:dijit.form.ToggleButton,iconClassPrefix:"dijitEditorIconsFindReplace",editor:null,button:null,_frToolbar:null,_closeBox:null,_findField:null,_replaceField:null,_findButton:null,_replaceButton:null,_replaceAllButton:null,_caseSensitive:null,_backwards:null,_promDialog:null,_promDialogTimeout:null,_strings:null,_initButton:function(){ -this._strings=dojo.i18n.getLocalization("dojox.editor.plugins","FindReplace"); -this.button=new dijit.form.ToggleButton({label:this._strings["findReplace"],showLabel:false,iconClass:this.iconClassPrefix+" dijitEditorIconFindString",tabIndex:"-1",onChange:dojo.hitch(this,"_toggleFindReplace")}); -if(dojo.isOpera){ -this.button.set("disabled",true); -} -this.connect(this.button,"set",dojo.hitch(this,function(_c,_d){ -if(_c==="disabled"){ -this._toggleFindReplace((!_d&&this._displayed),true,true); -} -})); -},setEditor:function(_e){ -this.editor=_e; -this._initButton(); -},toggle:function(){ -this.button.set("checked",!this.button.get("checked")); -},_toggleFindReplace:function(_f,_10,_11){ -var _12=dojo.marginBox(this.editor.domNode); -if(_f&&!dojo.isOpera){ -dojo.style(this._frToolbar.domNode,"display","block"); -this._populateFindField(); -if(!_10){ -this._displayed=true; -} -}else{ -dojo.style(this._frToolbar.domNode,"display","none"); -if(!_10){ -this._displayed=false; -} -if(!_11){ -this.editor.focus(); -} -} -this.editor.resize({h:_12.h}); -},_populateFindField:function(){ -var ed=this.editor; -var win=ed.window; -var _13=dojo.withGlobal(ed.window,"getSelectedText",dijit._editor.selection,[null]); -if(this._findField&&this._findField.textBox){ -if(_13){ -this._findField.textBox.set("value",_13); -} -this._findField.textBox.focus(); -dijit.selectInputText(this._findField.textBox.focusNode); -} -},setToolbar:function(_14){ -this.inherited(arguments); -if(!dojo.isOpera){ -var _15=this._frToolbar=new dojox.editor.plugins._FindReplaceToolbar(); -dojo.style(_15.domNode,"display","none"); -dojo.place(_15.domNode,_14.domNode,"after"); -_15.startup(); -this._closeBox=new dojox.editor.plugins._FindReplaceCloseBox(); -_15.addChild(this._closeBox); -this._findField=new dojox.editor.plugins._FindReplaceTextBox({label:this._strings["findLabel"],tooltip:this._strings["findTooltip"]}); -_15.addChild(this._findField); -this._replaceField=new dojox.editor.plugins._FindReplaceTextBox({label:this._strings["replaceLabel"],tooltip:this._strings["replaceTooltip"]}); -_15.addChild(this._replaceField); -_15.addChild(new dojox.editor.plugins.ToolbarLineBreak()); -this._findButton=new dijit.form.Button({label:this._strings["findButton"],showLabel:true,iconClass:this.iconClassPrefix+" dijitEditorIconFind"}); -this._findButton.titleNode.title=this._strings["findButtonTooltip"]; -_15.addChild(this._findButton); -this._replaceButton=new dijit.form.Button({label:this._strings["replaceButton"],showLabel:true,iconClass:this.iconClassPrefix+" dijitEditorIconReplace"}); -this._replaceButton.titleNode.title=this._strings["replaceButtonTooltip"]; -_15.addChild(this._replaceButton); -this._replaceAllButton=new dijit.form.Button({label:this._strings["replaceAllButton"],showLabel:true,iconClass:this.iconClassPrefix+" dijitEditorIconReplaceAll"}); -this._replaceAllButton.titleNode.title=this._strings["replaceAllButtonTooltip"]; -_15.addChild(this._replaceAllButton); -this._caseSensitive=new dojox.editor.plugins._FindReplaceCheckBox({label:this._strings["matchCase"],tooltip:this._strings["matchCaseTooltip"]}); -_15.addChild(this._caseSensitive); -this._backwards=new dojox.editor.plugins._FindReplaceCheckBox({label:this._strings["backwards"],tooltip:this._strings["backwardsTooltip"]}); -_15.addChild(this._backwards); -this._findButton.set("disabled",true); -this._replaceButton.set("disabled",true); -this._replaceAllButton.set("disabled",true); -this.connect(this._findField,"onChange","_checkButtons"); -this.connect(this._findField,"onKeyDown","_onFindKeyDown"); -this.connect(this._replaceField,"onKeyDown","_onReplaceKeyDown"); -this.connect(this._findButton,"onClick","_find"); -this.connect(this._replaceButton,"onClick","_replace"); -this.connect(this._replaceAllButton,"onClick","_replaceAll"); -this.connect(this._closeBox,"onClick","toggle"); -this._promDialog=new dijit.TooltipDialog(); -this._promDialog.startup(); -this._promDialog.set("content",""); -} -},_checkButtons:function(){ -var _16=this._findField.get("value"); -if(_16){ -this._findButton.set("disabled",false); -this._replaceButton.set("disabled",false); -this._replaceAllButton.set("disabled",false); -}else{ -this._findButton.set("disabled",true); -this._replaceButton.set("disabled",true); -this._replaceAllButton.set("disabled",true); -} -},_onFindKeyDown:function(evt){ -if(evt.keyCode==dojo.keys.ENTER){ -this._find(); -dojo.stopEvent(evt); -} -},_onReplaceKeyDown:function(evt){ -if(evt.keyCode==dojo.keys.ENTER){ -if(!this._replace()){ -this._replace(); -} -dojo.stopEvent(evt); -} -},_find:function(_17){ -var txt=this._findField.get("value")||""; -if(txt){ -var _18=this._caseSensitive.get("value"); -var _19=this._backwards.get("value"); -var _1a=this._findText(txt,_18,_19); -if(!_1a&&_17){ -this._promDialog.set("content",dojo.string.substitute(this._strings["eofDialogText"],{"0":this._strings["eofDialogTextFind"]})); -dijit.popup.open({popup:this._promDialog,around:this._findButton.domNode}); -this._promDialogTimeout=setTimeout(dojo.hitch(this,function(){ -clearTimeout(this._promDialogTimeout); -this._promDialogTimeout=null; -dijit.popup.close(this._promDialog); -}),3000); -setTimeout(dojo.hitch(this,function(){ -this.editor.focus(); -}),0); -} -return _1a; -} -return false; -},_replace:function(_1b){ -var _1c=false; -var ed=this.editor; -ed.focus(); -var txt=this._findField.get("value")||""; -var _1d=this._replaceField.get("value")||""; -if(txt){ -var _1e=this._caseSensitive.get("value"); -var _1f=this._backwards.get("value"); -var _20=dojo.withGlobal(ed.window,"getSelectedText",dijit._editor.selection,[null]); -if(dojo.isMoz){ -txt=dojo.trim(txt); -_20=dojo.trim(_20); -} -var _21=this._filterRegexp(txt,!_1e); -if(_20&&_21.test(_20)){ -ed.execCommand("inserthtml",_1d); -_1c=true; -if(_1f){ -this._findText(_1d,_1e,_1f); -dojo.withGlobal(ed.window,"collapse",dijit._editor.selection,[true]); -} -} -if(!this._find(false)&&_1b){ -this._promDialog.set("content",dojo.string.substitute(this._strings["eofDialogText"],{"0":this._strings["eofDialogTextReplace"]})); -dijit.popup.open({popup:this._promDialog,around:this._replaceButton.domNode}); -this._promDialogTimeout=setTimeout(dojo.hitch(this,function(){ -clearTimeout(this._promDialogTimeout); -this._promDialogTimeout=null; -dijit.popup.close(this._promDialog); -}),3000); -setTimeout(dojo.hitch(this,function(){ -this.editor.focus(); -}),0); -} -return _1c; -} -return null; -},_replaceAll:function(_22){ -var _23=0; -var _24=this._backwards.get("value"); -if(_24){ -this.editor.placeCursorAtEnd(); -}else{ -this.editor.placeCursorAtStart(); -} -if(this._replace(false)){ -_23++; -} -var _25=dojo.hitch(this,function(){ -if(this._replace(false)){ -_23++; -setTimeout(_25,10); -}else{ -if(_22){ -this._promDialog.set("content",dojo.string.substitute(this._strings["replaceDialogText"],{"0":""+_23})); -dijit.popup.open({popup:this._promDialog,around:this._replaceAllButton.domNode}); -this._promDialogTimeout=setTimeout(dojo.hitch(this,function(){ -clearTimeout(this._promDialogTimeout); -this._promDialogTimeout=null; -dijit.popup.close(this._promDialog); -}),3000); -setTimeout(dojo.hitch(this,function(){ -this._findField.focus(); -this._findField.textBox.focusNode.select(); -}),0); -} -} -}); -_25(); -},_findText:function(txt,_26,_27){ -var ed=this.editor; -var win=ed.window; -var _28=false; -if(txt){ -if(win.find){ -_28=win.find(txt,_26,_27,false,false,false,false); -}else{ -var doc=ed.document; -if(doc.selection){ -this.editor.focus(); -var _29=doc.body.createTextRange(); -var _2a=doc.selection?doc.selection.createRange():null; -if(_2a){ -if(_27){ -_29.setEndPoint("EndToStart",_2a); -}else{ -_29.setEndPoint("StartToEnd",_2a); -} -} -var _2b=_26?4:0; -if(_27){ -_2b=_2b|1; -} -_28=_29.findText(txt,_29.text.length,_2b); -if(_28){ -_29.select(); -} -} -} -} -return _28; -},_filterRegexp:function(_2c,_2d){ -var rxp=""; -var c=null; -for(var i=0;i<_2c.length;i++){ -c=_2c.charAt(i); -switch(c){ -case "\\": -rxp+=c; -i++; -rxp+=_2c.charAt(i); -break; -case "$": -case "^": -case "/": -case "+": -case ".": -case "|": -case "(": -case ")": -case "{": -case "}": -case "[": -case "]": -rxp+="\\"; -default: -rxp+=c; -} -} -rxp="^"+rxp+"$"; -if(_2d){ -return new RegExp(rxp,"mi"); -}else{ -return new RegExp(rxp,"m"); -} -},updateState:function(){ -this.button.set("disabled",this.get("disabled")); -},destroy:function(){ -this.inherited(arguments); -if(this._promDialogTimeout){ -clearTimeout(this._promDialogTimeout); -this._promDialogTimeout=null; -dijit.popup.close(this._promDialog); -} -if(this._frToolbar){ -this._frToolbar.destroyRecursive(); -this._frToolbar=null; -} -if(this._promDialog){ -this._promDialog.destroyRecursive(); -this._promDialog=null; -} -}}); -dojo.subscribe(dijit._scopeName+".Editor.getPlugin",null,function(o){ -if(o.plugin){ -return; -} -var _2e=o.args.name.toLowerCase(); -if(_2e==="findreplace"){ -o.plugin=new dojox.editor.plugins.FindReplace({}); -} -}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/PasteFromWord.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/PasteFromWord.js deleted file mode 100644 index 5e419cc2..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/PasteFromWord.js +++ /dev/null @@ -1,80 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojox.editor.plugins.PasteFromWord"]){ -dojo._hasResource["dojox.editor.plugins.PasteFromWord"]=true; -dojo.provide("dojox.editor.plugins.PasteFromWord"); -dojo.require("dojo.string"); -dojo.require("dijit._editor._Plugin"); -dojo.require("dijit.form.Button"); -dojo.require("dijit.Dialog"); -dojo.require("dojo.i18n"); -dojo.require("dojox.html.format"); -dojo.requireLocalization("dojox.editor.plugins","PasteFromWord",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); -dojo.declare("dojox.editor.plugins.PasteFromWord",dijit._editor._Plugin,{iconClassPrefix:"dijitAdditionalEditorIcon",width:"400px",height:"300px",_template:["
    ","
    ${instructions}
    ","
    ","","","","","","","
    ",""," ","","
    ","
    "].join(""),_filters:[{regexp:/(]*\s*>)|(<\s*link\s* href="file:[^>]*\s*>)|(<\/?\s*\w+:[^>]*\s*>)/gi,handler:""},{regexp:/(?:]*)>([\s\S]*?)<\/style>|]*rel=['"]?stylesheet)([^>]*?href=(['"])([^>]*?)\4[^>\/]*)\/?>)/gi,handler:""},{regexp:/(class="Mso[^"]*")|()/gi,handler:""},{regexp:/(]*>\s*(\ |\u00A0)*\s*<\/p[^>]*>)|(]*>\s*]*>\s*(\ |\u00A0)*\s*<\/\s*font\s*>\s<\/p[^>]*>)/ig,handler:""},{regexp:/(style="[^"]*mso-[^;][^"]*")|(style="margin:\s*[^;"]*;")/gi,handler:""},{regexp:/(<\s*script[^>]*>((.|\s)*?)<\\?\/\s*script\s*>)|(<\s*script\b([^<>]|\s)*>?)|(<[^>]*=(\s|)*[("|')]javascript:[^$1][(\s|.)]*[$1][^>]*>)/ig,handler:""}],_initButton:function(){ -var _1=dojo.i18n.getLocalization("dojox.editor.plugins","PasteFromWord"); -this.button=new dijit.form.Button({label:_1["pasteFromWord"],showLabel:false,iconClass:this.iconClassPrefix+" "+this.iconClassPrefix+"PasteFromWord",tabIndex:"-1",onClick:dojo.hitch(this,"_openDialog")}); -this._uId=dijit.getUniqueId(this.editor.id); -_1.uId=this._uId; -_1.width=this.width||"400px"; -_1.height=this.height||"300px"; -this._dialog=new dijit.Dialog({title:_1["pasteFromWord"]}).placeAt(dojo.body()); -this._dialog.set("content",dojo.string.substitute(this._template,_1)); -dojo.style(dojo.byId(this._uId+"_rte"),"opacity",0.001); -this.connect(dijit.byId(this._uId+"_paste"),"onClick","_paste"); -this.connect(dijit.byId(this._uId+"_cancel"),"onClick","_cancel"); -this.connect(this._dialog,"onHide","_clearDialog"); -},updateState:function(){ -this.button.set("disabled",this.get("disabled")); -},setEditor:function(_2){ -this.editor=_2; -this._initButton(); -},_openDialog:function(){ -this._dialog.show(); -if(!this._rte){ -setTimeout(dojo.hitch(this,function(){ -this._rte=new dijit._editor.RichText({height:this.height||"300px"},this._uId+"_rte"); -this._rte.onLoadDeferred.addCallback(dojo.hitch(this,function(){ -dojo.animateProperty({node:this._rte.domNode,properties:{opacity:{start:0.001,end:1}}}).play(); -})); -}),100); -} -},_paste:function(){ -var _3=dojox.html.format.prettyPrint(this._rte.get("value")); -this._dialog.hide(); -var i; -for(i=0;i= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojox.editor.plugins.Preview"]){ -dojo._hasResource["dojox.editor.plugins.Preview"]=true; -dojo.provide("dojox.editor.plugins.Preview"); -dojo.require("dijit.form.Button"); -dojo.require("dijit._editor._Plugin"); -dojo.require("dojo.i18n"); -dojo.requireLocalization("dojox.editor.plugins","Preview",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); -dojo.declare("dojox.editor.plugins.Preview",dijit._editor._Plugin,{useDefaultCommand:false,styles:"",stylesheets:null,iconClassPrefix:"dijitAdditionalEditorIcon",_initButton:function(){ -this._nlsResources=dojo.i18n.getLocalization("dojox.editor.plugins","Preview"); -this.button=new dijit.form.Button({label:this._nlsResources["preview"],showLabel:false,iconClass:this.iconClassPrefix+" "+this.iconClassPrefix+"Preview",tabIndex:"-1",onClick:dojo.hitch(this,"_preview")}); -},setEditor:function(_1){ -this.editor=_1; -this._initButton(); -},updateState:function(){ -this.button.set("disabled",this.get("disabled")); -},_preview:function(){ -try{ -var _2=this.editor.get("value"); -var _3="\t\t\n"; -var i; -if(this.stylesheets){ -for(i=0;i\n"; -} -} -if(this.styles){ -_3+=("\t\t\n"); -} -_2="\n\t\n"+_3+"\t\n\t\n"+_2+"\n\t\n"; -var _4=window.open("javascript: ''",this._nlsResources["preview"],"status=1,menubar=0,location=0,toolbar=0"); -_4.document.open(); -_4.document.write(_2); -_4.document.close(); -} -catch(e){ -console.warn(e); -} -}}); -dojo.subscribe(dijit._scopeName+".Editor.getPlugin",null,function(o){ -if(o.plugin){ -return; -} -var _5=o.args.name.toLowerCase(); -if(_5==="preview"){ -o.plugin=new dojox.editor.plugins.Preview({styles:("styles" in o.args)?o.args.styles:"",stylesheets:("stylesheets" in o.args)?o.args.stylesheets:null}); -} -}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/ToolbarLineBreak.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/ToolbarLineBreak.js deleted file mode 100644 index 57f7e532..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/ToolbarLineBreak.js +++ /dev/null @@ -1,33 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojox.editor.plugins.ToolbarLineBreak"]){ -dojo._hasResource["dojox.editor.plugins.ToolbarLineBreak"]=true; -dojo.provide("dojox.editor.plugins.ToolbarLineBreak"); -dojo.require("dijit._Widget"); -dojo.require("dijit._Templated"); -dojo.require("dijit._editor._Plugin"); -dojo.require("dijit._Widget"); -dojo.require("dijit._Templated"); -dojo.require("dijit._editor._Plugin"); -dojo.declare("dojox.editor.plugins.ToolbarLineBreak",[dijit._Widget,dijit._Templated],{templateString:"
    ",postCreate:function(){ -dojo.setSelectable(this.domNode,false); -},isFocusable:function(){ -return false; -}}); -dojo.subscribe(dijit._scopeName+".Editor.getPlugin",null,function(o){ -if(o.plugin){ -return; -} -var _1=o.args.name.toLowerCase(); -if(_1==="||"||_1==="toolbarlinebreak"){ -o.plugin=new dijit._editor._Plugin({button:new dojox.editor.plugins.ToolbarLineBreak(),setEditor:function(_2){ -this.editor=_2; -}}); -} -}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/AutoSave.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/AutoSave.js deleted file mode 100644 index 42c97f7d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/AutoSave.js +++ /dev/null @@ -1 +0,0 @@ -({"saveLabel":"Save","saveSettingdialogTitle":"Auto-Save","saveSettingdialogButtonOk":"Set Interval","saveMessageSuccess":"Saved at ${0}","saveSettingdialogButtonCancel":"Cancel","saveSettingdialogDescription":"Specify Auto-Save interval","saveSettingLabelOn":"Set Auto-Save Interval...","saveSettingdialogParamLabel":"min","saveSettingdialogParamName":"Auto-Save Interval","saveMessageFail":"Failed to save at ${0}","saveSettingLabelOff":"Turn off Auto-Save"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Blockquote.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Blockquote.js deleted file mode 100644 index 8472a32b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Blockquote.js +++ /dev/null @@ -1 +0,0 @@ -({"blockquote":"Blockquote"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Breadcrumb.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Breadcrumb.js deleted file mode 100644 index c4985730..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Breadcrumb.js +++ /dev/null @@ -1 +0,0 @@ -({"selectContents":"Select contents","deleteElement":"Delete element","moveEnd":"Move cursor to end","deleteContents":"Delete contents","nodeActions":"${nodeName} Actions","selectElement":"Select element","moveStart":"Move cursor to start"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/CollapsibleToolbar.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/CollapsibleToolbar.js deleted file mode 100644 index 85561e43..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/CollapsibleToolbar.js +++ /dev/null @@ -1 +0,0 @@ -({"collapse":"Collapse Editor Toolbar","expand":"Expand Editor Toolbar"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/FindReplace.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/FindReplace.js deleted file mode 100644 index d2d26442..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/FindReplace.js +++ /dev/null @@ -1 +0,0 @@ -({"replaceDialogText":"Replaced ${0} occurrences.","eofDialogTextFind":"found","eofDialogText":"Last occurrence ${0}","backwards":"Backwards","replaceButton":"Replace","replaceLabel":"Replace with:","matchCase":"Match case","findTooltip":"Enter text to find","replaceTooltip":"Enter text to replace with","replaceAllButton":"Replace All","eofDialogTextReplace":"replaced","findReplace":"Find and Replace","backwardsTooltip":"Search backwards for text","replaceAllButtonTooltip":"Replace all the text","replaceButtonTooltip":"Replace the text","findLabel":"Find:","findButton":"Find","matchCaseTooltip":"Match case","findButtonTooltip":"Find the text"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/InsertAnchor.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/InsertAnchor.js deleted file mode 100644 index 5c7a5b05..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/InsertAnchor.js +++ /dev/null @@ -1 +0,0 @@ -({"set":"Set","insertAnchor":"Insert Anchor","title":"Anchor Properties","text":"Description:","cancel":"Cancel","anchor":"Name:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/InsertEntity.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/InsertEntity.js deleted file mode 100644 index 7914b897..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/InsertEntity.js +++ /dev/null @@ -1 +0,0 @@ -({"insertEntity":"Insert Symbol"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/LocalImage.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/LocalImage.js deleted file mode 100644 index 278758e6..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/LocalImage.js +++ /dev/null @@ -1 +0,0 @@ -({"set":"Insert","text":"Description","insertImageTitle":"Insert Image","invalidMessage":"Invalid image file type","prePopuTextBrowse":" or browse to a local file.","browse":"Browse...","prePopuTextUrl":"Enter an image URL","url":"Image"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/PageBreak.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/PageBreak.js deleted file mode 100644 index 4eaca96d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/PageBreak.js +++ /dev/null @@ -1 +0,0 @@ -({"pageBreak":"Page Break"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/PasteFromWord.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/PasteFromWord.js deleted file mode 100644 index bcd62db5..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/PasteFromWord.js +++ /dev/null @@ -1 +0,0 @@ -({"pasteFromWord":"Paste From Word","paste":"Paste","cancel":"Cancel","instructions":"Paste the content from Word into the text box below. Once you are satisfied with the content to insert, press the paste button. To abort inserting text, press the cancel button."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Preview.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Preview.js deleted file mode 100644 index f54aeb47..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Preview.js +++ /dev/null @@ -1 +0,0 @@ -({"preview":"Preview"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Save.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Save.js deleted file mode 100644 index 8f8072a2..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Save.js +++ /dev/null @@ -1 +0,0 @@ -({"save":"Save"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ShowBlockNodes.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ShowBlockNodes.js deleted file mode 100644 index d9c3dbde..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ShowBlockNodes.js +++ /dev/null @@ -1 +0,0 @@ -({"showBlockNodes":"Show HTML Block Elements"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Smiley.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Smiley.js deleted file mode 100644 index 6a6b5a29..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Smiley.js +++ /dev/null @@ -1 +0,0 @@ -({"emoticonLaughing":"laughing","emoticonCool":"cool","emoticonTongue":"tongue","emoticonCrying":"crying","emoticonOops":"oops","emoticonFrown":"frown","emoticonAngry":"angry","emoticonShy":"shy","emoticonNo":"no","emoticonAngel":"angel","smiley":"Insert Emoticon","emoticonIdea":"idea","emoticonEyebrow":"eyebrow","emoticonSmile":"smile","emoticonWink":"wink","emoticonYes":"yes","emoticonGrin":"grin","emoticonGoofy":"goofy","emoticonHalf":"half"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/SpellCheck.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/SpellCheck.js deleted file mode 100644 index 3d31337e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/SpellCheck.js +++ /dev/null @@ -1 +0,0 @@ -({"cancel":"Cancel","toDic":"Add to dictionary","skip":"Skip","iMsg":"No spelling suggestions","replaceAll":"Replace All","widgetLabel":"Batch Spell Check","skipAll":"Skip All","suggestions":"Suggestions","iSkipAll":"Skip all like this","replaceWith":"Replace with","msg":"No misspellings found","replace":"Replace","unfound":"Not found","iSkip":"Skip this"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/TableDialog.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/TableDialog.js deleted file mode 100644 index 5301dccc..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/TableDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"buttonSet":"Set","insertTableTitle":"Insert Table","insertTableRowAfterLabel":"Add Row After","buttonCancel":"Cancel","center":"center","deleteTableColumnLabel":"Delete Column","right":"right","insertTableColumnBeforeLabel":"Add Column Before","tableWidth":"Table Width:","buttonInsert":"Insert","default":"default","align":"Align:","insertTableRowBeforeLabel":"Add Row Before","cellSpacing":"Cell Spacing:","pixels":"pixels","selectTableLabel":"Select Table","rows":"Rows:","modifyTableTitle":"Modify Table","cellPadding":"Cell Padding:","deleteTableRowLabel":"Delete Row","backgroundColor":"Background Color:","insertTableColumnAfterLabel":"Add Column After","left":"left","borderThickness":"Border Thickness:","columns":"Columns:","percent":"percent","borderColor":"Border Color:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/TextColor.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/TextColor.js deleted file mode 100644 index c01f0e93..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/TextColor.js +++ /dev/null @@ -1 +0,0 @@ -({"setButtonText":"Set","cancelButtonText":"Cancel"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/AutoSave.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/AutoSave.js deleted file mode 100644 index 4fae5779..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/AutoSave.js +++ /dev/null @@ -1 +0,0 @@ -({"saveLabel":"Speichern","saveSettingdialogTitle":"Automatisch speichern","saveSettingdialogButtonOk":"Intervall festlegen","saveMessageSuccess":"Gespeichert um ${0}","saveSettingdialogButtonCancel":"Abbrechen","saveSettingdialogDescription":"Intervall für automatisches Speichern angeben","saveSettingLabelOn":"Intervall für automatisches Speichern festlegen","saveSettingdialogParamLabel":"Min.","saveSettingdialogParamName":"Intervall für automatisches Speichern","saveMessageFail":"Konnte nicht um ${0} gespeichert werden","saveSettingLabelOff":"Automatisches Speichern inaktivieren"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Blockquote.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Blockquote.js deleted file mode 100644 index d8723010..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Blockquote.js +++ /dev/null @@ -1 +0,0 @@ -({"blockquote":"Blockzitat"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Breadcrumb.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Breadcrumb.js deleted file mode 100644 index 2c35bc01..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Breadcrumb.js +++ /dev/null @@ -1 +0,0 @@ -({"selectContents":"Inhalt auswählen","deleteElement":"Element löschen","moveEnd":"Cursor an Ende verschieben","deleteContents":"Inhalt löschen","nodeActions":"Aktionen für ${nodeName}","selectElement":"Element auswählen","moveStart":"Cursor an Anfang verschieben"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/CollapsibleToolbar.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/CollapsibleToolbar.js deleted file mode 100644 index 85f03d72..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/CollapsibleToolbar.js +++ /dev/null @@ -1 +0,0 @@ -({"collapse":"Editor-Symbolleiste ausblenden","expand":"Editor-Symbolleiste einblenden"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/FindReplace.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/FindReplace.js deleted file mode 100644 index b8a9f1d2..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/FindReplace.js +++ /dev/null @@ -1 +0,0 @@ -({"replaceDialogText":"Es wurden ${0} Vorkommen ersetzt.","eofDialogTextFind":"gefunden","eofDialogText":"Letztes Vorkommen ${0}","backwards":"Zurück","replaceButton":"Ersetzen","replaceLabel":"Ersetzen durch:","matchCase":"Groß- und Kleinschreibung abgleichen","findTooltip":"Text zum Suchen eingeben","replaceTooltip":"Text zum Ersetzen eingeben","replaceAllButton":"Global ersetzen","eofDialogTextReplace":"ersetzt","findReplace":"Suchen/Ersetzen","backwardsTooltip":"Rückwärts nach Text suchen","replaceAllButtonTooltip":"Gesamten Text ersetzen","replaceButtonTooltip":"Text ersetzen","findLabel":"Suchbegriff:","findButton":"Suchen","matchCaseTooltip":"Groß- und Kleinschreibung abgleichen","findButtonTooltip":"Text suchen","replaceAll":"Alle Vorkommen"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/InsertAnchor.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/InsertAnchor.js deleted file mode 100644 index 0b4167b9..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/InsertAnchor.js +++ /dev/null @@ -1 +0,0 @@ -({"set":"Festlegen","insertAnchor":"Anker einfügen","title":"Eigenschaften des Ankers","text":"Beschreibung:","cancel":"Abbrechen","anchor":"Name:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/InsertEntity.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/InsertEntity.js deleted file mode 100644 index 4830561b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/InsertEntity.js +++ /dev/null @@ -1 +0,0 @@ -({"insertEntity":"Symbol einfügen"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/LocalImage.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/LocalImage.js deleted file mode 100644 index 79ff7c7e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/LocalImage.js +++ /dev/null @@ -1 +0,0 @@ -({"set":"Einfügen","text":"Beschreibung","insertImageTitle":"Grafik einfügen","invalidMessage":"Ungültiger Grafikdateityp","prePopuTextBrowse":"oder blättern Sie zu einer lokalen Datei.","browse":"Durchsuchen...","prePopuTextUrl":"Geben Sie eine gültige Grafik-URL ein","url":"Grafik"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/PageBreak.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/PageBreak.js deleted file mode 100644 index 14a0ea2c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/PageBreak.js +++ /dev/null @@ -1 +0,0 @@ -({"pageBreak":"Seitenumbruch"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/PasteFromWord.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/PasteFromWord.js deleted file mode 100644 index 55701e48..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/PasteFromWord.js +++ /dev/null @@ -1 +0,0 @@ -({"pasteFromWord":"Aus Word einfügen","paste":"Einfügen","cancel":"Abbrechen","instructions":"Fügt den Inhalt aus Word in das Textfeld unten ein. Wenn Sie mit dem einzufügenden Inhalt zufrieden sind, klicken Sie auf die Schaltfläche zum Einfügen. Um das Einfügen von Text abzubrechen, klicken Sie auf die Schaltfläche zum Abbrechen. "}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Preview.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Preview.js deleted file mode 100644 index 396d562c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Preview.js +++ /dev/null @@ -1 +0,0 @@ -({"preview":"Vorschau"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Save.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Save.js deleted file mode 100644 index 50af5b1d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Save.js +++ /dev/null @@ -1 +0,0 @@ -({"save":"Speichern"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/ShowBlockNodes.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/ShowBlockNodes.js deleted file mode 100644 index 6a17d87a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/ShowBlockNodes.js +++ /dev/null @@ -1 +0,0 @@ -({"showBlockNodes":"HTML-Blockelemente anzeigen"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Smiley.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Smiley.js deleted file mode 100644 index 07306d11..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Smiley.js +++ /dev/null @@ -1 +0,0 @@ -({"emoticonLaughing":"Lachen","emoticonCool":"Cool","emoticonTongue":"Zunge","emoticonCrying":"Weinen","emoticonOops":"Hoppla","emoticonFrown":"Stirnrunzeln","emoticonAngry":"Zornig","emoticonShy":"Schüchtern","emoticonNo":"Nein","emoticonAngel":"Engel","smiley":"Emoticon einfügen","emoticonIdea":"Idee","emoticonEyebrow":"Hochgezogene Augenbraue","emoticonSmile":"Lächeln","emoticonWink":"Augenzwinkern","emoticonYes":"Ja","emoticonGrin":"Grinsen","emoticonGoofy":"Albern","emoticonHalf":"Halb"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/SpellCheck.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/SpellCheck.js deleted file mode 100644 index 4800fd10..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/SpellCheck.js +++ /dev/null @@ -1 +0,0 @@ -({"cancel":"Abbrechen","toDic":"Zum Wörterbuch hinzufügen","skip":"Überspringen","iMsg":"Keine Rechtschreibvorschläge","replaceAll":"Global ersetzen","widgetLabel":"Batchrechtschreibprüfung","skipAll":"Alle überspringen","suggestions":"Vorschläge","iSkipAll":"Alle entsprechenden Funde überspringen","replaceWith":"Ersetzen durch","msg":"Keine Rechtschreibfehler gefunden","replace":"Ersetzen","unfound":"Nicht gefunden","iSkip":"Diesen Fund überspringen"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/TableDialog.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/TableDialog.js deleted file mode 100644 index da9f443c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/TableDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"buttonSet":"Festlegen","insertTableTitle":"Tabelle einfügen","insertTableRowAfterLabel":"Zeile unterhalb einfügen","buttonCancel":"Abbrechen","center":"Mitte","deleteTableColumnLabel":"Spalte löschen","right":"Rechts","insertTableColumnBeforeLabel":"Spalte oberhalb einfügen","tableWidth":"Tabellenbreite:","buttonInsert":"Einfügen","default":"Standard","align":"Ausrichten:","insertTableRowBeforeLabel":"Zeile oberhalb einfügen","cellSpacing":"Zellenabstand:","pixels":"Pixel","selectTableLabel":"Tabelle auswählen","rows":"Zeilen:","modifyTableTitle":"Tabelle ändern","cellPadding":"Zellenrandbreite:","deleteTableRowLabel":"Zeile löschen","backgroundColor":"Hintergrundfarbe:","insertTableColumnAfterLabel":"Spalte unterhalb einfügen","left":"Links","borderThickness":"Randbreite","columns":"Spalten:","percent":"Prozent","borderColor":"Randfarbe:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/TextColor.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/TextColor.js deleted file mode 100644 index c99a3b2e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/TextColor.js +++ /dev/null @@ -1 +0,0 @@ -({"setButtonText":"Festlegen","cancelButtonText":"Abbrechen"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/latinEntities.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/latinEntities.js deleted file mode 100644 index e8b26e97..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/latinEntities.js +++ /dev/null @@ -1 +0,0 @@ -({"le":"Kleiner-gleich","prod":"unäres Produkt\nProduktzeichen","zwj":"Verbinder mit Nullbreite","mdash":"Gedankenstrich von der Länge des Buchstabens m","frasl":"Schrägstrich für Bruch","upsih":"Griechisches Upsilon mit Haken","prop":"proportional zu","middot":"Multiplikationszeichen\nGeorgisches Komma\nGriechisches Multiplikationszeichen","hellip":"Auslassung\nDrei kleine Punkte","eta":"Griechischer Kleinbuchstabe Eta","iacute":"Kleinbuchstabe i mit Aktut","yen":"Yen-ZeichenNyuan-Zeichen","rlm":"Rechts-Links-Markierung","macr":"Makron\nLeerzeichen mit Makron\nÜberstrich\nQuerstrich über dem Buchstaben","ldquo":"Linkes doppeltes Anführungszeichen","Icirc":"Großbuchstabe I mit Zirkumflex","OElig":"Ligatur aus Großbuchstaben O und E","hArr":"Doppelter Rechts-Links-Pfeil","eth":"Kleines eth","divide":"Divisionszeichen","chi":"Griechischer Kleinbuchstabe Chi","eacute":"Kleinbuchstabe e mit Aktut","icirc":"Kleinbuchstabe i mit Zirkumflex","iexcl":"Umgekehrtes Ausrufezeichen","ETH":"Großes ETH","acute":"Akut\nsLeerzeichen mit Akut","crarr":"Abwärtspfeil, der nach links abknickt\nZeilenumbruch","mu":"Griechischer Kleinbuchstabe My","AElig":"Großes AE\nLigatur aus Großbuchstaben A und E","aacute":"Kleinbuchstabe a mit Aktut","lambda":"Griechischer Kleinbuchstabe Lambda","THORN":"Großes THORN","asymp":"Ungefähr gleich mit\nasymptotisch","fnof":"Kleines mit Haken\nFunction\nFlorin","lang":"Linke spitze Klammer","cup":"Vereinigungsmenge\nCup","ne":"Nicht gleich mit","Sigma":"Griechischer Großbuchstabe Sigma","oelig":"Ligatur aus Kleinbuchstaben o und e","cent":"Cent-Zeichen","ni":"Enthält als Member","dagger":"Kreuzzeichen","permil":"Promillezeichen","Omicron":"Griechischer Großbuchstabe Omicron","sigma":"Griechischer Kleinbuchstabe Sigma","euro":"Euro-Zeichen","Yacute":"Großbuchstabe Y mit Akut","thorn":"Kleines thorn","lceil":"Linke Ecke oben\nAPL upstile","Ograve":"Großbuchstabe O mit Gravis","rarr":"Rechtspfeil","nu":"Griechischer Kleinbuchstabe Ny","emsp":"Leerschritt von der Breite des Buchstaben m","Theta":"Griechischer Großbuchstabe Theta","lArr":"Doppelter Linkspfeil","tau":"Griechischer Kleinbuchstabe Tau","aelig":"Kleines ae\nLigatur aus Kleinbuchstaben a und e","ccedil":"Kleinbuchstabe c mit Cedilla","Ntilde":"Großbuchstabe N mit Tilde","cong":"Etwa gleich mit","Uacute":"Großbuchstabe U mit Akut","theta":"Griechischer Kleinbuchstabe Theta","darr":"Abwärtspfeil","Uuml":"Großbuchstabe U mit Trema","bdquo":"Doppeltes, gekrümmtes Anführungszeichen unten","Aring":"Großes A mit Ring darüber\nLateinischer Großbuchstabe A mit Ring darüber","sigmaf":"Griechischer Kleinbuchstabe Sigma am Wortende","pound":"Nummernzeichen","uArr":"Doppelter Aufwärtspfeil","sub":"Teil von","aring":"Kleines a mit Ring darüber\nKleinbuchstabe a mit Ring","sdot":"Punktoperator","thinsp":"Schmaler Leerschritt","or":"Logisches Oder\nv-förmig","Eacute":"Großbuchstabe E mit Akut","shy":"Veränderlicher Silbentrennstrich\nbedingter Trennstrich","curren":"Währungssymbol","loz":"Raute","not":"Nicht-Zeichen","tilde":"kleine Tilde","sum":"unäre Summation","spades":"Schwarzes Pik (Kartenspiel)","Psi":"Griechischer Großbuchstabe Psi","ndash":"Gedankenstrich von der Länge des Buchstabens n","sup":"Obermenge von","atilde":"Kleinbuchstabe a mit Tilde","clubs":"Schwarzes Kreuz (Kartenspiel)\nKleeblatt","uuml":"Kleinbuchstabe u mit Trema","Aacute":"Großbuchstabe A mit Akut","rsaquo":"Einfaches rechtes Anführungszeichen","otimes":"Multiplikationszeichen mit Kreis\nVektorprodukt","lfloor":"Linke Ecke unten\nAPL downstile","zwnj":"Nichtverbinder mit Nullbreite","sim":"Tilde (Operator)\nvariiert mit\nähnlich wie","Iota":"Griechischer Großbuchstabe Iota","Iacute":"Großbuchstabe I mit Akut","pi":"Griechischer Kleinbuchstabe Pi","ordf":"Weibliches Ordinalzeichen","frac12":"Bruch 1 durch 2\nEinhalb","frac14":"Bruch 1 durch 4\nEin Viertel","alefsym":"Alef-Symbol\nerste Transfinite Kardinalzahl","bull":"Rundes Aufzählungszeichen\nSchwarzer kleiner Kreis","deg":"Gradzeichen","ordm":"Männliches Ordinalzeichen","epsilon":"Griechischer Kleinbuchstabe Epsilon","equiv":"Identisch mit","Dagger":"Doppelkreuzzeichen","brvbar":"Unterbrochener Balken\nUnterbrochener vertikaler Balken","harr":"Links-Rechts-Pfeil","ugrave":"Kleinbuchstabe u mit Gravis","oslash":"Kleines o mit Schrägstrich\nKleiner dänisch-norwegischer Umlaut ö","Yuml":"Großbuchstabe Y mit Trema","hearts":"Schwarzes Herz (Kartenspiel)\nValentine","Xi":"Griechischer Großbuchstabe Xi","Prime":"Doppelter Prime\nSekunden\nZoll","iota":"Griechischer Kleinbuchstabe Iota","Ccedil":"Großbuchstabe C mit Cedilla","Lambda":"Griechischer Großbuchstabe Lambda","raquo":"Doppelte, winklige Anführungszeichen, die nach rechts weisen\nRechtes französisches Anführungszeichen","Phi":"Griechischer Großbuchstabe Phi","prime":"Prime\nMinuten\nFuß","nsub":"Kein Teil von","copy":"Copyrightzeichen","yuml":"Kleinbuchstabe y mit Trema","Rho":"Griechischer Großbuchstabe Rho","Ucirc":"Großbuchstabe U mit Zirkumflex","Kappa":"Griechischer Großbuchstabe Kappa","ucirc":"Kleinbuchstabe u mit Zirkumflex","sbquo":"Einfaches, gekrümmtes Anführungszeichen unten","igrave":"Kleinbuchstabe i mit Gravis","reg":"Registrierte Handelsmarke\nregistriertes Markenzeichen","infin":"Unendlich","iquest":"Umgekehrtes Fragezeichen\nFragezeichen auf dem Kopf","circ":"Zirkumflex, Akzent","kappa":"Griechischer Kleinbuchstabe Kappa","lrm":"Links-Rechts-Markierung","Atilde":"Großbuchstabe A mit Tilde","larr":"Linkspfeil","frac34":"Bruch 3 durch 4\nDreiviertel","oacute":"Kleinbuchstabe o mit Aktut","rsquo":"Rechtes einfaches Anführungszeichen","egrave":"Kleinbuchstabe e mit Gravis","oline":"Hochgestellter Querstrich\nLeerzeichen mit Oberstrich","Mu":"Griechischer Großbuchstabe My","exist":"Es existiert","cap":"Schnittpunkt\nHütchen","and":"Logisches Und\nKeil","Ouml":"Lateinischer Großbuchstabe O mit Trema","agrave":"Kleines a mit Gravis\nKleinbuchstabe a mit Gravis","uarr":"Aufwärtspfeil","ang":"Winkel","Zeta":"Griechischer Großbuchstabe Zeta","scaron":"Kleinbuchstabe s mit Caron","Gamma":"Griechischer Großbuchstabe Gamma","isin":"Element von","Auml":"Großbuchstabe A mit Trema","empty":"Leermenge\nNullmenge\nDurchmesser","gamma":"Griechischer Kleinbuchstabe Gamma","para":"Pilcrow-Zeichen (engl.)\nAbsatzzeichen","ge":"Größer-gleich","psi":"Griechischer Kleinbuchstabe Psi","Alpha":"Griechischer Großbuchstabe Alpha","Nu":"Griechischer Großbuchstabe Ny","ouml":"Kleinbuchstabe o mit Gravis","zeta":"Griechischer Kleinbuchstabe Zeta","alpha":"Griechischer Kleinbuchstabe Alpha","part":"Partielle Differenzialgleichung","auml":"Kleinbuchstabe a mit Trema","Ugrave":"Großbuchstabe U mit Gravis","Oslash":"Großes O mit Schrägstrich\nGroßer dänisch-norwegischer Umlaut ö","Epsilon":"Griechischer Großbuchstabe Epsilon","int":"Integral","Omega":"Griechischer Großbuchstabe Omega","perp":"Senkrecht\nSenkrecht zu\nLotrecht","uml":"Trema\nLeerzeichen mit Trema","upsilon":"Griechischer Kleinbuchstabe Upsilon","lowast":"Sternoperator","omega":"Griechischer Kleinbuchstabe Omega","otilde":"Kleinbuchstabe o mit Tilde","Egrave":"Großbuchstabe E mit Gravis","phi":"Griechischer Kleinbuchstabe Phi","ensp":"Leerschritt von der Breite des Buchstaben n","Euml":"Großbuchstabe E mit Trema","cedil":"Cedilla\nLeerzeichen mit Cedilla","laquo":"Doppelte, winklige Anführungszeichen, die nach links weisenlinke französische Anführungszeichen","forall":"Für alle","thetasym":"Griechischer Kleinbuchstabe Theta (Symbol)","Agrave":"Großes A mit Gravis\nGroßbuchstabe A mit Gravis","szlig":"Scharfes s\nEsszett","Pi":"Griechischer Großbuchstabe Pi","rho":"Griechischer Kleinbuchstabe Rho","trade":"Markenzeichen","Igrave":"Großbuchstabe I mit Gravis","minus":"Minuszeichen","Beta":"Griechischer Großbuchstabe Beta","Ocirc":"Großbuchstabe O mit Zirkumflex","rdquo":"Rechtes doppeltes Anführungszeichen","Eta":"Griechischer Großbuchstabe Eta","rfloor":"Rechte Ecke unten","Oacute":"Großbuchstabe O mit Akut","euml":"Kleinbuchstabe e mit Trema","oplus":"Pluszeichen mit Kreis\ndirekte Summe","ocirc":"Kleinbuchstabe o mit Zirkumflex","radic":"Quadratwurzel\nWurzelzeichen","Chi":"Griechischer Großbuchstabe Chi","notin":"Kein Element von","sect":"Abschnittszeichen","Acirc":"Großbuchstabe A mit Zirkumflex","lsquo":"Linkes einfaches Anführungszeichen","beta":"Griechischer Kleinbuchstabe Beta","piv":"Griechisches Pi-Symbol","sup1":"Hochgestellte Eins\nHoch 1","Scaron":"Großbuchstabe S mit Caron","sup2":"Hochgestellte Zwei\nHoch 2\nzum Quadrat","acirc":"Kleinbuchstabe a mit Zirkumflex","sube":"Teilmenge oder gleich mit","sup3":"Hochgestellte Drei\nHoch 3\nKubik","real":"Großes R in Frakturschrift\nRealteilsymbol","Iuml":"Großbuchstabe I mit Trema","rang":"Rechte spitze Klammer","lsaquo":"Einfaches linkes Anführungszeichen","nabla":"Nabla\nAbsteigende Differenz","omicron":"Griechischer Kleinbuchstabe Omicron","there4":"Deshalb","plusmn":"Plus-Minus-Zeichen\nPlus-oder-Minus-Zeichen","rceil":"Rechte Ecke oben","micro":"Micro-Zeichen","rArr":"Doppelter Rechtspfeil","Delta":"Griechischer Großbuchstabe Delta","iuml":"Kleinbuchstabe i mit Trema","Tau":"Griechischer Großbuchstabe Tau","times":"Multiplikationszeichen","yacute":"Kleinbuchstabe y mit Aktut","ograve":"Kleinbuchstabe o mit Gravis","delta":"Griechischer Kleinbuchstabe Delta","Ecirc":"Großbuchstabe E mit Zirkumflex","dArr":"Doppelter Abwärtspfeil","ntilde":"Kleinbuchstabe n mit Tilde","diams":"Schwarzes Karo (Kartenspiel)","uacute":"Kleinbuchstabe u mit Aktut","Otilde":"Lateinischer Großbuchstabe O mit Tilde","ecirc":"Kleinbuchstabe e mit Zirkumflex","Upsilon":"Griechischer Großbuchstabe Upsilon","image":"Großes I in Frakturschrift\nImaginärteil","supe":"Obermenge oder gleich mit","xi":"Griechischer Kleinbuchstabe Xi","weierp":"Kleines p in Schreibschrift\nPotenz\nWeierstrass'sche Ellipsen-Funktion"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/AutoSave.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/AutoSave.js deleted file mode 100644 index 734fa69b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/AutoSave.js +++ /dev/null @@ -1 +0,0 @@ -({"saveLabel":"Guardar","saveSettingdialogTitle":"Guardado automático","saveSettingdialogButtonOk":"Definir intervalo","saveMessageSuccess":"Guardado a las ${0}","saveSettingdialogButtonCancel":"Cancelar","saveSettingdialogDescription":"Especificar intervalo de guardado automático","saveSettingLabelOn":"Definir intervalo de guardado automático...","saveSettingdialogParamLabel":"min","saveSettingdialogParamName":"Intervalo de guardado automático","saveMessageFail":"No se ha podido guardar a las ${0}","saveSettingLabelOff":"Desactivar guardado automático"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Blockquote.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Blockquote.js deleted file mode 100644 index 146a31f5..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Blockquote.js +++ /dev/null @@ -1 +0,0 @@ -({"blockquote":"Cita en bloque"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Breadcrumb.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Breadcrumb.js deleted file mode 100644 index ce8cc3bd..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Breadcrumb.js +++ /dev/null @@ -1 +0,0 @@ -({"selectContents":"Seleccionar contenido","deleteElement":"Suprimir elemento","moveEnd":"Mover cursor al final","deleteContents":"Suprimir contenido","nodeActions":"Acciones de ${nodeName}","selectElement":"Seleccionar elemento","moveStart":"Mover cursor al inicio"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/CollapsibleToolbar.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/CollapsibleToolbar.js deleted file mode 100644 index 0061f1cd..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/CollapsibleToolbar.js +++ /dev/null @@ -1 +0,0 @@ -({"collapse":"Contraer barra de herramientas del editor","expand":"Expandir barra de herramientas del editor"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/FindReplace.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/FindReplace.js deleted file mode 100644 index a7011be9..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/FindReplace.js +++ /dev/null @@ -1 +0,0 @@ -({"replaceDialogText":"Se han sustituido ${0} apariciones.","eofDialogTextFind":"encontrado","eofDialogText":"Última aparición ${0}","backwards":"Hacia atrás","replaceButton":"Sustituir","replaceLabel":"Sustituir por:","matchCase":"Coincidir mayúsculas y minúsculas","findTooltip":"Especifique el texto que desee buscar","replaceTooltip":"Especifique el texto por el que se debe sustituir","replaceAllButton":"Sustituir todo","eofDialogTextReplace":"sustituido","findReplace":"Conmutar Buscar/Sustituir","backwardsTooltip":"Buscar texto hacia atrás","replaceAllButtonTooltip":"Sustituir todo el texto","replaceButtonTooltip":"Sustituir el texto","findLabel":"Buscar:","findButton":"Buscar","matchCaseTooltip":"Coincidir mayúsculas y minúsculas","findButtonTooltip":"Buscar el texto","replaceAll":"Todas las apariciones"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/InsertAnchor.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/InsertAnchor.js deleted file mode 100644 index 9a35fb71..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/InsertAnchor.js +++ /dev/null @@ -1 +0,0 @@ -({"set":"Establecer","insertAnchor":"Insertar ancla","title":"Propiedades del ancla","text":"Descripción:","cancel":"Cancelar","anchor":"Nombre:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/InsertEntity.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/InsertEntity.js deleted file mode 100644 index 5d5fd222..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/InsertEntity.js +++ /dev/null @@ -1 +0,0 @@ -({"insertEntity":"Insertar símbolo"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/LocalImage.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/LocalImage.js deleted file mode 100644 index cb6fd73a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/LocalImage.js +++ /dev/null @@ -1 +0,0 @@ -({"set":"Insertar","text":"Descripción","insertImageTitle":"Insertar imagen","invalidMessage":"Tipo de archivo de imagen no válido","prePopuTextBrowse":" o seleccione un archivo local.","browse":"Examinar...","prePopuTextUrl":"Especifique un URL de imagen","url":"Imagen"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/PageBreak.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/PageBreak.js deleted file mode 100644 index 1e97e81a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/PageBreak.js +++ /dev/null @@ -1 +0,0 @@ -({"pageBreak":"Salto de página"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/PasteFromWord.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/PasteFromWord.js deleted file mode 100644 index 983de9a0..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/PasteFromWord.js +++ /dev/null @@ -1 +0,0 @@ -({"pasteFromWord":"Pegar desde Word","paste":"Pegar","cancel":"Cancelar","instructions":"Pegue el contenido de Word en el siguiente recuadro de texto. Cuando esté satisfecho con el contenido que se debe insertar, pulse el botón pegar. Para abortar la inserción de texto, pulse el botón cancelar."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Preview.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Preview.js deleted file mode 100644 index ba400f61..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Preview.js +++ /dev/null @@ -1 +0,0 @@ -({"preview":"Previsualización"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Save.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Save.js deleted file mode 100644 index 426ca840..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Save.js +++ /dev/null @@ -1 +0,0 @@ -({"save":"Guardar"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/ShowBlockNodes.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/ShowBlockNodes.js deleted file mode 100644 index ef0570fa..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/ShowBlockNodes.js +++ /dev/null @@ -1 +0,0 @@ -({"showBlockNodes":"Mostrar elementos de bloque HTML"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Smiley.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Smiley.js deleted file mode 100644 index b0025d01..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Smiley.js +++ /dev/null @@ -1 +0,0 @@ -({"emoticonLaughing":"risa","emoticonCool":"guay","emoticonTongue":"burlón","emoticonCrying":"llorando","emoticonOops":"lo siento","emoticonFrown":"ceño fruncido","emoticonAngry":"enfadado","emoticonShy":"tímido","emoticonNo":"no","emoticonAngel":"ángel","smiley":"Insertar emoticono","emoticonIdea":"idea","emoticonEyebrow":"ceja levantada","emoticonSmile":"sonrisa","emoticonWink":"guiño","emoticonYes":"sí","emoticonGrin":"carcajada","emoticonGoofy":"patoso","emoticonHalf":"escéptico"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/SpellCheck.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/SpellCheck.js deleted file mode 100644 index be06051d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/SpellCheck.js +++ /dev/null @@ -1 +0,0 @@ -({"cancel":"Cancelar","toDic":"Añadir al diccionario","skip":"Saltar","iMsg":"No hay sugerencias de ortografía","replaceAll":"Sustituir todo","widgetLabel":"Corrector ortográfico por lotes","skipAll":"Saltar todo","suggestions":"Sugerencias","iSkipAll":"Saltar todos los casos como este","replaceWith":"Sustituir por","msg":"No se han encontrado errores ortográficos","replace":"Sustituir","unfound":"No encontrado","iSkip":"Saltar esto"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/TableDialog.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/TableDialog.js deleted file mode 100644 index ee4ea784..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/TableDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"buttonSet":"Establecer","insertTableTitle":"Insertar tabla","insertTableRowAfterLabel":"Añadir fila después","buttonCancel":"Cancelar","center":"centro","deleteTableColumnLabel":"Suprimir columna","right":"derecha","insertTableColumnBeforeLabel":"Añadir columna antes","tableWidth":"Ancho de tabla:","buttonInsert":"Insertar","default":"default","align":"Alinear:","insertTableRowBeforeLabel":"Añadir fila antes","cellSpacing":"Espaciado de celda:","pixels":"píxeles","selectTableLabel":"Seleccionar tabla","rows":"Filas:","modifyTableTitle":"Modificar tabla","cellPadding":"Relleno de celda:","deleteTableRowLabel":"Suprimir fila","backgroundColor":"Color de fondo:","insertTableColumnAfterLabel":"Añadir columna después","left":"izquierda","borderThickness":"Ancho de borde","columns":"Columnas:","percent":"por ciento","borderColor":"Color de borde:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/TextColor.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/TextColor.js deleted file mode 100644 index 53c683ce..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/TextColor.js +++ /dev/null @@ -1 +0,0 @@ -({"setButtonText":"Establecer","cancelButtonText":"Cancelar"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/latinEntities.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/latinEntities.js deleted file mode 100644 index ecc7b5f8..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/latinEntities.js +++ /dev/null @@ -1 +0,0 @@ -({"le":"menor o igual que","prod":"productoria\nmultiplicatoria","zwj":"conector de anchura cero","mdash":"guión largo","frasl":"barra de fracción","upsih":"símbolo de letra ípsilon griega con gancho","prop":"proporcional","middot":"punto medio\ncoma georgiana\npunto medio griego","hellip":"puntos suspensivos","eta":"letra eta griega minúscula","iacute":"letra i latina minúscula con acento agudo","yen":"símbolo del yen\nsímbolo de yuan","rlm":"marca de derecha a izquierda","macr":"macrón\ndiacrítico largo\nlínea superior\nbarra superior APL","ldquo":"comillas dobles abiertas","Icirc":"letra I latina mayúscula con acento circunflejo","OElig":"ligadura de OE latinas mayúsculas","hArr":"doble flecha izquierda-derecha","eth":"letra eth latina minúscula","divide":"signo de división","chi":"letra chi griega minúscula","eacute":"letra e latina minúscula con acento agudo","icirc":"letra i latina minúscula con acento circunflejo","iexcl":"signo de exclamación inicial","ETH":"letra ETH latina mayúscula","acute":"acento agudo\nagudo de espaciado","crarr":"flecha esquinada abajo a la izquierda\nretorno de carro","mu":"letra mu griega minúscula","AElig":"diptongo AE latinas mayúsculas\nligadura de AE latinas mayúsculas","aacute":"letra a latina minúscula con acento agudo","lambda":"letra lambda griega minúscula","THORN":"letra THORN latina mayúscula","asymp":"parecido\ncasi igual a","fnof":"letra f latina minúscula con gancho\nfunción\nflorín","lang":"corchete angular hacia la izquierda","cup":"unión\nconjuntos","ne":"no igual a","Sigma":"letra sigma griega mayúscula","oelig":"ligadura de oe latinas minúsculas","cent":"símbolo de centavos","ni":"está incluido","dagger":"daga","permil":"signo de por mil","Omicron":"letra ómicron griega mayúscula","sigma":"letra sigma griega minúscula","euro":"signo del euro","Yacute":"letra Y latina mayúscula con acento agudo","thorn":"letra thorn latina minúscula","lceil":"parte superior de corchete abierto","Ograve":"letra O latina mayúscula con acento grave","rarr":"flecha a la derecha","nu":"letra nu griega minúscula","emsp":"espacio largo","Theta":"letra theta griega mayúscula","lArr":"doble flecha a la izquierda","tau":"letra tau griega minúscula","aelig":"Diptongo ae latinas minúsculas\nligadura de ae latinas minúsculas","ccedil":"letra c latina minúscula con cedilla","Ntilde":"letra N latina mayúscula con virgulilla\nletra N latina mayúscula con tilde\nletra Ñ latina mayúscula","cong":"aproximadamente igual a","Uacute":"letra U latina mayúscula con acento agudo","theta":"letra theta griega minúscula","darr":"flecha hacia abajo","Uuml":"letra U latina mayúscula con diéresis","bdquo":"comillas dobles inferiores","Aring":"letra A latina mayúscula con anillo encima\nletra A latina mayúscula con anillo","sigmaf":"letra sigma final griega minúscula","pound":"símbolo libra esterlina","uArr":"doble flecha hacia arriba","sub":"subconjunto de","aring":"letra a latina minúscula con anillo encima\nletra a latina minúscula con anillo","sdot":"operador punto","thinsp":"espacio estrecho","or":"o lógico\nuve","Eacute":"letra E latina mayúscula con acento agudo","shy":"signo de guión corto","curren":"símbolo monetario","loz":"rombo","not":"signo de negación","tilde":"tilde pequeña","sum":"sumatoria","spades":"palo de picas","Psi":"letra psi griega mayúscula","ndash":"guión","sup":"superconjunto de","atilde":"letra a latina minúscula con virgulilla\nletra a latina minúscula con tilde","clubs":"palo de tréboles","uuml":"letra u latina minúscula con diéresis","Aacute":"letra A latina mayúscula con acento agudo","rsaquo":"comilla simple angular cerrada","otimes":"cruz en círculo\nproducto vectorial","lfloor":"parte inferior de corchete abierto","zwnj":"separador de anchura cero","sim":"operador de tilde\nno lógico\nparecido a","Iota":"letra iota griega mayúscula","Iacute":"letra I latina mayúscula con acento agudo","pi":"letra pi griega minúscula","ordf":"indicador de ordinal femenino","frac12":"fracción de medio vulgar\nfracción de medio","frac14":"fracción de cuarto vulgar\nfracción de cuarto","alefsym":"símbolo alef\nprimer número transfinito","bull":"viñeta\ncírculo negro pequeño","deg":"signo de grados","ordm":"indicador de ordinal masculino","epsilon":"letra épsilon griega minúscula","equiv":"idéntico a","Dagger":"daga doble","brvbar":"barra dividida\nbarra vertical dividida","harr":"flecha izquierda-derecha","ugrave":"letra u latina minúscula con acento grave","oslash":"letra o latina minúscula con barra\nletra o latina minúscula con barra inclinada","Yuml":"letra Y latina mayúscula con diéresis","hearts":"palo de corazones","Xi":"letra xi griega mayúscula","Prime":"símbolo primo doble\nsegundos\npulgadas","iota":"letra iota griega minúscula","Ccedil":"letra C latina mayúscula con cedilla","Lambda":"letra lambda griega mayúscula","raquo":"comillas dobles en ángulo a la derecha","Phi":"letra phi griega mayúscula","prime":"símbolo primo\nminutos\npies","nsub":"no un subconjunto de","copy":"símbolo de copyright","yuml":"letra y latina minúscula con diéresis","Rho":"letra rho griega mayúscula","Ucirc":"letra U latina mayúscula con acento circunflejo","Kappa":"letra kappa griega mayúscula","ucirc":"letra u latina minúscula con acento circunflejo","sbquo":"comilla simple inferior","igrave":"letra i latina minúscula con acento grave","reg":"símbolo de registrado\nsímbolo de marca registrada","infin":"infinito","iquest":"signo de interrogación inicial\nsigno de apertura de interrogación","circ":"acento circunflejo","kappa":"letra kappa griega minúscula","lrm":"marca de izquierda a derecha","Atilde":"letra A latina mayúscula con virgulilla\nletra A latina mayúscula con tilde","larr":"flecha a la izquierda","frac34":"fracción de tres cuartos vulgar\nfracción de tres cuartos","oacute":"letra o latina minúscula con acento agudo","rsquo":"comilla simple cerrada","egrave":"letra e latina minúscula con acento grave","oline":"sobrelínea\nsobre la letra","Mu":"letra mu griega mayúscula","exist":"existe","cap":"intersección\nconjuntos","and":"y lógico\ncuña","Ouml":"letra O latina mayúscula con diéresis","agrave":"letra a latina minúscula con acento grave\nletra a latina minúscula grave","uarr":"flecha hacia arriba","ang":"ángulo","Zeta":"letra zeta griega mayúscula","scaron":"letra s latina minúscula con anticircunflejo","Gamma":"letra gamma griega mayúscula","isin":"pertenece","Auml":"letra A latina mayúscula con diéresis","empty":"conjunto vacío\nconjunto nulo\ndiámetro","gamma":"letra gamma griega minúscula","para":"signo de párrafo","ge":"mayor o igual que","psi":"letra psi griega minúscula","Alpha":"letra alpha griega mayúscula","Nu":"letra nu griega mayúscula","ouml":"letra o latina minúscula con diéresis","zeta":"letra zeta griega minúscula","alpha":"letra alpha griega minúscula","part":"derivada parcial","auml":"letra a latina minúscula con diéresis","Ugrave":"letra U latina mayúscula con acento grave","Oslash":"letra O latina mayúscula con barra\nletra O latina mayúscula con barra inclinada","Epsilon":"letra épsilon griega mayúscula","int":"integral","Omega":"letra omega griega mayúscula","perp":"ortogonal a\nperpendicular","uml":"diéresis\ndiéresis de espaciado","upsilon":"letra ípsilon griega minúscula","lowast":"operador asterisco","omega":"letra omega griega minúscula","otilde":"letra o latina minúscula con virgulilla\nletra o latina minúscula con tilde","Egrave":"letra E latina mayúscula con acento grave","phi":"letra phi griega minúscula","ensp":"espacio","Euml":"letra E latina mayúscula con acento diéresis","cedil":"cedilla\ncedilla de espaciado","laquo":"comillas dobles en ángulo a la izquierda","forall":"para todo","thetasym":"símbolo de letra theta griega minúscula","Agrave":"letra A latina mayúscula con acento grave\nletra A latina mayúscula grave","szlig":"letra s fuerte latina minúscula\nEszet","Pi":"letra pi griega mayúscula","rho":"letra rho griega minúscula","trade":"símbolo de marca registrada","Igrave":"letra I latina mayúscula con acento grave","minus":"signo menos","Beta":"letra beta griega mayúscula","Ocirc":"letra O latina mayúscula con acento circunflejo","rdquo":"comillas dobles cerradas","Eta":"letra eta griega mayúscula","rfloor":"parte inferior de corchete abierto","Oacute":"letra O latina mayúscula con acento agudo","euml":"letra e latina minúscula con diéresis","oplus":"más en círculo\nsuma directa","ocirc":"letra o latina minúscula con acento circunflejo","radic":"raíz cuadrada\nsigno radical","Chi":"letra chi griega mayúscula","notin":"no pertenece","sect":"signo de sección","Acirc":"letra A latina mayúscula con acento circunflejo","lsquo":"comilla simple abierta","beta":"letra beta griega minúscula","piv":"símbolo pi griego","sup1":"superíndice uno\nsuperíndice de dígito uno","Scaron":"letra S latina mayúscula con anticircunflejo","sup2":"superíndice dos\nsuperíndice de dígito dos\nelevado al cuadrado","acirc":"letra a latina minúscula con acento circunflejo","sube":"subconjunto de o igual a","sup3":"superíndice tres\nsuperíndice de dígito tres\nelevado al cubo","real":"letra R mayúscula\nnúmeros reales","Iuml":"letra I latina mayúscula con diéresis","rang":"corchete angular hacia la derecha","lsaquo":"comilla simple angular abierta","nabla":"nabla\ngradiente","omicron":"letra ómicron griega minúscula","there4":"por lo tanto","plusmn":"signo de más-menos\nsigno de más o menos","rceil":"parte superior de corchete cerrado","micro":"signo de micro","rArr":"doble flecha a la derecha","Delta":"letra delta griega mayúscula","iuml":"letra i latina minúscula con diéresis","Tau":"letra tau griega mayúscula","times":"signo de multiplicación","yacute":"letra y latina minúscula con acento agudo","ograve":"letra o latina minúscula con acento grave","delta":"letra delta griega minúscula","Ecirc":"letra E latina mayúscula con acento circunflejo","dArr":"doble flecha hacia abajo","ntilde":"letra n latina minúscula con virgulilla\nletra n latina minúscula con tilde","diams":"palo de diamantes","uacute":"letra u latina minúscula con acento agudo","Otilde":"letra O latina mayúscula con virgulilla\nletra O latina mayúscula con tilde","ecirc":"letra e latina minúscula con acento circunflejo","Upsilon":"letra ípsilon griega mayúscula","image":"letra I mayúscula\nnúmeros imaginarios","supe":"superconjunto de o igual a","xi":"letra xi griega minúscula","weierp":"letra P mayúscula cursiva"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/AutoSave.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/AutoSave.js deleted file mode 100644 index dbe80a1d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/AutoSave.js +++ /dev/null @@ -1 +0,0 @@ -({"saveLabel":"Enregistrer","saveSettingdialogTitle":"Enregistrement automatique","saveSettingdialogButtonOk":"Définir l'intervalle","saveMessageSuccess":"Enregistré à ${0}","saveSettingdialogButtonCancel":"Annuler","saveSettingdialogDescription":"Spécifiez l'intervalle d'enregistrement automatique","saveSettingLabelOn":"Définir l'intervalle d'enregistrement automatique...","saveSettingdialogParamLabel":"min","saveSettingdialogParamName":"Intervalle d'enregistrement automatique","saveMessageFail":"Echec de l'enregistrement à ${0}","saveSettingLabelOff":"Désactiver l'enregistrement automatique"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Blockquote.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Blockquote.js deleted file mode 100644 index a451aa6f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Blockquote.js +++ /dev/null @@ -1 +0,0 @@ -({"blockquote":"Bloc de citation"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Breadcrumb.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Breadcrumb.js deleted file mode 100644 index 98a2dcf9..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Breadcrumb.js +++ /dev/null @@ -1 +0,0 @@ -({"selectContents":"Sélection de contenus","deleteElement":"Suppression d'un élément","moveEnd":"Déplacer le curseur vers la fin","deleteContents":"Suppression de contenus","nodeActions":"Actions ${nodeName}","selectElement":"Sélection d'un élément","moveStart":"Déplacer le curseur vers le début"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/CollapsibleToolbar.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/CollapsibleToolbar.js deleted file mode 100644 index 35641069..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/CollapsibleToolbar.js +++ /dev/null @@ -1 +0,0 @@ -({"collapse":"Réduire la barre d'outils de l'éditeur","expand":"Développer la barre d'outils de l'éditeur"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/FindReplace.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/FindReplace.js deleted file mode 100644 index 2c7eb692..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/FindReplace.js +++ /dev/null @@ -1 +0,0 @@ -({"replaceDialogText":"${0} occurrence(s) remplacée(s)","eofDialogTextFind":"trouvé","eofDialogText":"Dernière occurrence ${0}","backwards":"Vers l'arrière","replaceButton":"Remplacer","replaceLabel":"Remplacer par :","matchCase":"Respecter la casse","findTooltip":"Entrez le texte à rechercher","replaceTooltip":"Entrez le texte de remplacement","replaceAllButton":"Remplacer tout","eofDialogTextReplace":"remplacé","findReplace":"Rechercher et remplacer","backwardsTooltip":"Recherchez le texte vers l'arrière","replaceAllButtonTooltip":"Remplacez tout le texte","replaceButtonTooltip":"Remplacez le texte","findLabel":"Rechercher :","findButton":"Rechercher","matchCaseTooltip":"Respecter la casse","findButtonTooltip":"Recherchez le texte","replaceAll":"Toutes les occurrences"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/InsertAnchor.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/InsertAnchor.js deleted file mode 100644 index f0332c13..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/InsertAnchor.js +++ /dev/null @@ -1 +0,0 @@ -({"set":"Définir","insertAnchor":"Insérer un point d'ancrage","title":"Propriétés du point d'ancrage","text":"Description :","cancel":"Annuler","anchor":"Nom :"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/InsertEntity.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/InsertEntity.js deleted file mode 100644 index 9cdf9613..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/InsertEntity.js +++ /dev/null @@ -1 +0,0 @@ -({"insertEntity":"Insertion d'un symbole"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/LocalImage.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/LocalImage.js deleted file mode 100644 index ebf06d28..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/LocalImage.js +++ /dev/null @@ -1 +0,0 @@ -({"set":"Insérer","text":"Description","insertImageTitle":"Insérer une image","invalidMessage":"Type de fichier image non valide","prePopuTextBrowse":" ou sélectionnez un fichier local.","browse":"Parcourir...","prePopuTextUrl":"Entrez une URL d'image","url":"Image"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/PageBreak.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/PageBreak.js deleted file mode 100644 index f7e2e6f7..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/PageBreak.js +++ /dev/null @@ -1 +0,0 @@ -({"pageBreak":"Saut de page"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/PasteFromWord.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/PasteFromWord.js deleted file mode 100644 index eaa7f8a2..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/PasteFromWord.js +++ /dev/null @@ -1 +0,0 @@ -({"pasteFromWord":"Coller depuis Word","paste":"Coller","cancel":"Annuler","instructions":"Collez le contenu Word dans la zone de texte ci-dessous. Quand le contenu à insérer vous convient, appuyez sur le bouton Coller. Pour annuler l'insertion du texte, utilisez le bouton Annuler."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Preview.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Preview.js deleted file mode 100644 index 73d24e6d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Preview.js +++ /dev/null @@ -1 +0,0 @@ -({"preview":"Aperçu"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Save.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Save.js deleted file mode 100644 index 74657ea3..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Save.js +++ /dev/null @@ -1 +0,0 @@ -({"save":"Sauvegarder"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/ShowBlockNodes.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/ShowBlockNodes.js deleted file mode 100644 index 243cda50..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/ShowBlockNodes.js +++ /dev/null @@ -1 +0,0 @@ -({"showBlockNodes":"Affichage des éléments de bloc HTML"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Smiley.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Smiley.js deleted file mode 100644 index 1c0ae69e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Smiley.js +++ /dev/null @@ -1 +0,0 @@ -({"emoticonLaughing":"rire","emoticonCool":"calme","emoticonTongue":"langue","emoticonCrying":"pleurs","emoticonOops":"oops","emoticonFrown":"froncement de sourcils","emoticonAngry":"colère","emoticonShy":"timide","emoticonNo":"non","emoticonAngel":"ange","smiley":"Insérer une émoticône","emoticonIdea":"idée","emoticonEyebrow":"sourcils","emoticonSmile":"sourire","emoticonWink":"clin d'oeil","emoticonYes":"oui","emoticonGrin":"sourire large","emoticonGoofy":"dingo","emoticonHalf":"demi"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/SpellCheck.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/SpellCheck.js deleted file mode 100644 index bd77cd54..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/SpellCheck.js +++ /dev/null @@ -1 +0,0 @@ -({"cancel":"Annuler","toDic":"Ajouter au dictionnaire","skip":"Ignorer","iMsg":"Aucune suggestion orthographique","replaceAll":"Remplacer tout","widgetLabel":"Vérification orthographique par lots","skipAll":"Ignorer tout","suggestions":"Suggestions","iSkipAll":"Ignorer chaque fois","replaceWith":"Remplacer par","msg":"Aucune faute d'orthographe trouvée","replace":"Remplacer","unfound":"Introuvable","iSkip":"Ignorer une fois"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/TableDialog.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/TableDialog.js deleted file mode 100644 index c4a1624b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/TableDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"buttonSet":"Définir","insertTableTitle":"Insérer une table","insertTableRowAfterLabel":"Ajouter une ligne après","buttonCancel":"Annuler","center":"centré","deleteTableColumnLabel":"Supprimer la colonne","right":"aligné à droite","insertTableColumnBeforeLabel":"Ajouter une colonne avant","tableWidth":"Largeur de table :","buttonInsert":"Insérer","default":"par défaut","align":"Aligner :","insertTableRowBeforeLabel":"Ajouter une ligne avant","cellSpacing":"Espacement des cellules :","pixels":"pixels","selectTableLabel":"Sélectionner une table","rows":"Lignes :","modifyTableTitle":"Modifier une table","cellPadding":"Remplissage des cellules :","deleteTableRowLabel":"Supprimer la ligne","backgroundColor":"Couleur d'arrière-plan :","insertTableColumnAfterLabel":"Ajouter une colonne après","left":"aligné à gauche","borderThickness":"Epaisseur des bordures","columns":"Colonnes :","percent":"pourcentage","borderColor":"Couleur des bordures :"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/TextColor.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/TextColor.js deleted file mode 100644 index e57138d9..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/TextColor.js +++ /dev/null @@ -1 +0,0 @@ -({"setButtonText":"Définir","cancelButtonText":"Annuler"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/latinEntities.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/latinEntities.js deleted file mode 100644 index ad0b1e15..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/latinEntities.js +++ /dev/null @@ -1 +0,0 @@ -({"le":"inférieur ou égal à","prod":"produit n-aire\nsigne produit","zwj":"liant sans chasse","mdash":"tiret cadratin","frasl":"barre de fraction","upsih":"Greek - upsilon avec symbole de crochet","prop":"proportionnel à","middot":"point médian\nvirgule géorgiennea\npoint médian grec","hellip":"points de suspension\ntrois points de conduite","eta":"Grec - eta minuscule","iacute":"Latin - i minuscule avec accent aigu","yen":"signe yen\nsigne yuan","rlm":"marque de droite à gauche","macr":"macron\nmacron d'espacement\nligne supérieure\nbarre supérieure APL","ldquo":"guillemet double gauche","Icirc":"Latin - I majuscule avec accent circonflexe","OElig":"Latin - Ligature OE majuscule","hArr":"flèche double vers la gauche","eth":"Latin - eth minuscule","divide":"signe division","chi":"Grec - chi minuscule","eacute":"Latin - e minuscule avec accent aigu","icirc":"Latin - i minuscule avec accent circonflexe","iexcl":"point d'exclamation inversé","ETH":"Latin - ETH majuscule","acute":"accent aigu\naccent aigu d'espacement","crarr":"flèche vers le bas avec coin vers la gauche\nretour chariot","mu":"Grec - mu minuscule","AElig":"Latin - AE majuscule\nLatin - AE majuscule (ligature)","aacute":"Latin - a minuscule avec accent aigu","lambda":"Grec - lambda minuscule","THORN":"Latin THORN majuscule","asymp":"presque égal à\nasymptotique à","fnof":"Latin - f minuscule avec crochet\nfonction\nflorin","lang":"chevron vers la gauche","cup":"union\ncup","ne":"différente de","Sigma":"Grec - sigma majuscule","oelig":"Latin - Ligature oe minuscule","cent":"signe cent","ni":"contient comme membre","dagger":"obèle","permil":"signe pour-mille","Omicron":"Grec - omicron majuscule","sigma":"Grec - sigma minuscule","euro":"signe euro","Yacute":"Latin - Y majuscule avec accent aigu","thorn":"Latin - thorn minuscule","lceil":"plafond à gauche\nmontant APL","Ograve":"Latin - O majuscule avec accent grave","rarr":"flèche vers la droite","nu":"Grec - nu minuscule","emsp":"espace cadratin","Theta":"Grec - theta majuscule","lArr":"flèche double vers la gauche","tau":"Grec - tau minuscule","aelig":"Latin - AE minuscule\nLatin - AE minuscule (ligature)","ccedil":"Latin - c minuscule avec cédille","Ntilde":"Latin - N majuscule avec tilde","cong":"approximativement égal à","Uacute":"Latin - U majuscule avec accent aigu","theta":"Grec - theta minuscule","darr":"flèche vers le bas","Uuml":"Latin - U majuscule avec tréma","bdquo":"guillemet double fermant bas","Aring":"Latin - A majuscule rond en chef\nLatin - A majuscule rond","sigmaf":"Grec - sigma final minuscule","pound":"signe livre sterling","uArr":"flèche double vers le haut","sub":"sous-ensemble de","aring":"Latin - a minuscule rond en chef\nLatin - a minuscule rond","sdot":"point","thinsp":"espace fin","or":"ou logique\nvee","Eacute":"Latin - E majuscule avec accent aigu","shy":"trait d'union conditionnel\ntiret conditionnel","curren":"signe devise","loz":"losange","not":"signe non","tilde":"petit tilde","sum":"somme n-aire","spades":"pic noir","Psi":"Grec - psi majuscule","ndash":"tiret demi-cadratin","sup":"sur-ensemble de","atilde":"Latin - a minuscule avec tilde","clubs":"trèfle noir","uuml":"Latin - u minuscule avec tréma","Aacute":"Latin - A majuscule avec accent aigu","rsaquo":"guillemet simple orienté vers la droite","otimes":"signe multiplié entouré\nproduit vectoriel","lfloor":"plancher à gauche\ndescendant APL","zwnj":"antiliant sans chasse","sim":"tilde\nvarie en fonction de\nsimilaire à","Iota":"Grec - iota majuscule","Iacute":"Latin - I majuscule avec accent aigu","pi":"Grec - pi minuscule","ordf":"indicateur ordinal féminin","frac12":"fraction commune un demi\nfraction un demi","frac14":"fraction commune un quart\nfraction un quart","alefsym":"symbole alef\npremier cardinal transfini","bull":"puce\npetit cercle noir","deg":"signe degré","ordm":"indicateur ordinal masculin","epsilon":"Grec - epsilon minuscule","equiv":"identique à","Dagger":"double obèle","brvbar":"barre interrompue\nbarre verticale interrompue","harr":"flèche vers la gauche et la droite","ugrave":"Latin - u minuscule avec accent grave","oslash":"Latin - o minuscule barré\nLatin - Ensemble vide minuscule","Yuml":"Latin - Y majuscule avec tréma","hearts":"coeur noir\nvalentine","Xi":"Grec - xi majuscule","Prime":"double apostrophe\nsecondes\npouces","iota":"Grec - iota minuscule","Ccedil":"Latin - C majuscule avec cédille","Lambda":"Grec - lambda majuscule","raquo":"guillemets ouvrants","Phi":"Grec - phi majuscule","prime":"apostrophe\nminutes\npieds","nsub":"non sous-ensemble de","copy":"signe de droit d'auteur","yuml":"Latin - y minuscule avec tréma","Rho":"Grec - rho majuscule","Ucirc":"Latin - U majuscule avec accent circonflexe","Kappa":"Grec - kappa majuscule","ucirc":"Latin - u minuscule avec accent circonflexe","sbquo":"guillemet simple fermant bas","igrave":"Latin - i minuscule avec accent grave","reg":"signe enregistré\nmarque commerciale enregistrée","infin":"infinité","iquest":"point d'interrogation inversé\npoint d'interrogation retourné","circ":"accent circonflexe de lettre modificateur","kappa":"Grec - kappa minuscule","lrm":"marque de gauche à droite","Atilde":"Latin - A majuscule avec tilde","larr":"flèche vers la gauche","frac34":"fraction commune trois quarts\nfraction trois quarts","oacute":"Latin - o minuscule avec accent aigu","rsquo":"guillemet simple fermant","egrave":"Latin - e minuscule avec accent grave","oline":"surligné\nbarre supérieure d'espacement","Mu":"Grec - mu majuscule","exist":"il existe","cap":"intersection\ncap","and":"et logique\nwedge","Ouml":"Latin - O majuscule avec tréma","agrave":"Latin - a minuscule avec accent grave\nLatin - a minuscule accent grave","uarr":"flèche vers le haut","ang":"angle","Zeta":"Grec - zeta majuscule","scaron":"Latin - s minuscule avec caron","Gamma":"Grec - gamma majuscule","isin":"élément de","Auml":"Latin - A majuscule avec tréma","empty":"ensemble vide\nensemble null\ndiamètre","gamma":"Grec - gamma minuscule","para":"symbole de paragraphe","ge":"supérieur ou égal à","psi":"Grec - psi minuscule","Alpha":"Grec - alpha majuscule","Nu":"Grec - nu majuscule","ouml":"Latin - o minuscule avec tréma","zeta":"Grec - zeta minuscule","alpha":"Grec - alpha minuscule","part":"différentiel partiel","auml":"Latin - a minuscule avec tréma","Ugrave":"Latin - U majuscule avec accent grave","Oslash":"Latin - O majuscule barré\nLatin - Ensemble vide","Epsilon":"Grec - epsilon majuscule","int":"intégrale","Omega":"Grec - omega majuscule","perp":"orthogonal à\nperpendiculaire","uml":"tréma\ntréma d'espacement","upsilon":"Grec - upsilon minuscule","lowast":"astérisque","omega":"Grec - omega minuscule","otilde":"Latin - o minuscule avec tilde","Egrave":"Latin - E majuscule avec accent grave","phi":"Grec - phi minuscule","ensp":"espace demi-cadratin","Euml":"Latin - E majuscule avec tréma","cedil":"cédille\ncédille d'espacement","laquo":"guillemets fermants","forall":"pour tous","thetasym":"Grec - theta minuscule","Agrave":"Latin - A majuscule avec accent grave\nLatin - A majuscule accent grave","szlig":"Latin - s dur minuscule\nss","Pi":"Grec - pi majuscule","rho":"Grec - rho minuscule","trade":"signe de marque commerciale","Igrave":"Latin - I majuscule avec accent grave","minus":"signe moins","Beta":"Grec - beta majuscule","Ocirc":"Latin - O majuscule avec accent circonflexe","rdquo":"guillemet double droit","Eta":"Grec - eta majuscule","rfloor":"plancher à droite","Oacute":"Latin - O majuscule avec accent aigu","euml":"Latin - e minuscule avec tréma","oplus":"plus entouré\nsomme directe","ocirc":"Latin - o minuscule avec accent circonflexe","radic":"racine carrée\nsigne radical","Chi":"Grec - chi majuscule","notin":"non élément de","sect":"signe section","Acirc":"Latin - A majuscule avec accent circonflexe","lsquo":"guillemet simple ouvrant","beta":"Grec - beta minuscule","piv":"Greek - symbole pi","sup1":"exposant un\npuissance un","Scaron":"Latin - S majuscule avec caron","sup2":"exposant deux\npuissance deux\ncarré","acirc":"Latin - a minuscule avec accent circonflexe","sube":"sous-ensemble de ou égal à","sup3":"exposant trois\npuissance trois\ncube","real":"R majuscule noir\npartie réelle","Iuml":"Latin - I majuscule avec tréma","rang":"chevron vers la droite","lsaquo":"guillemet simple orienté vers la gauche","nabla":"nabla\ndifférence arrière","omicron":"Grec - omicron minuscule","there4":"donc","plusmn":"signe plus-moins\nsigne plus-ou-moins","rceil":"plafond à droite","micro":"signe micro","rArr":"flèche double vers la droite","Delta":"Grec - delta majuscule","iuml":"Latin - i minuscule avec tréma","Tau":"Grec - tau majuscule","times":"signe multiplication","yacute":"Latin - y minuscule avec accent aigu","ograve":"Latin - o minuscule avec accent grave","delta":"Grec - delta minuscule","Ecirc":"Latin - E majuscule avec accent circonflexe","dArr":"flèche double vers le bas","ntilde":"Latin - n minuscule avec tilde","diams":"carreau noir","uacute":"Latin - u minuscule avec accent aigu","Otilde":"Latin - O majuscule avec tilde","ecirc":"Latin - e minuscule avec accent circonflexe","Upsilon":"Grec - upsilon majuscule","image":"I majuscule noir\npartie imaginaire","supe":"sur-ensemble de ou égal à","xi":"Grec - xi minuscule","weierp":"P majuscule scripte\nensemble de puissances\nfonction elliptique de Weierstrass"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/AutoSave.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/AutoSave.js deleted file mode 100644 index 0b6e1fa7..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/AutoSave.js +++ /dev/null @@ -1 +0,0 @@ -({"saveLabel":"Salva","saveSettingdialogTitle":"Salvataggio automatico","saveSettingdialogButtonOk":"Imposta intervallo","saveMessageSuccess":"Salvato alle ${0}","saveSettingdialogButtonCancel":"Annulla","saveSettingdialogDescription":"Specifica intervallo di salvataggio automatico","saveSettingLabelOn":"Imposta intervallo di salvataggio automatico...","saveSettingdialogParamLabel":"min","saveSettingdialogParamName":"Intervallo di salvataggio automatico","saveMessageFail":"Salvataggio alle ${0} non riuscito","saveSettingLabelOff":"Disattiva salvataggio automatico"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Blockquote.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Blockquote.js deleted file mode 100644 index 8472a32b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Blockquote.js +++ /dev/null @@ -1 +0,0 @@ -({"blockquote":"Blockquote"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Breadcrumb.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Breadcrumb.js deleted file mode 100644 index 55377a2b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Breadcrumb.js +++ /dev/null @@ -1 +0,0 @@ -({"selectContents":"Seleziona contenuto","deleteElement":"Elimina elemento","moveEnd":"Sposta il cursore per terminare","deleteContents":"Elimina contenuto","nodeActions":"Azioni ${nodeName}","selectElement":"Seleziona elemento","moveStart":"Sposta il cursore per iniziare"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/CollapsibleToolbar.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/CollapsibleToolbar.js deleted file mode 100644 index d3f59a3a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/CollapsibleToolbar.js +++ /dev/null @@ -1 +0,0 @@ -({"collapse":"Comprimi la barra degli strumenti dell'editor","expand":"Espandi la barra degli strumenti dell'editor"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/FindReplace.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/FindReplace.js deleted file mode 100644 index 94b7b60c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/FindReplace.js +++ /dev/null @@ -1 +0,0 @@ -({"replaceDialogText":"${0} ricorrenze sostituite.","eofDialogTextFind":"trovato","eofDialogText":"Ultima ricorrenza ${0}","backwards":"Indietro","replaceButton":"Sostituisci","replaceLabel":"Sostituisci con:","matchCase":"Maiuscole/minuscole","findTooltip":"Immettere il testo da trovare","replaceTooltip":"Immettere il testo sostitutivo","replaceAllButton":"Sostituisci tutto","eofDialogTextReplace":"sostituito","findReplace":"Trova e sostituisci","backwardsTooltip":"Cerca testo indietro","replaceAllButtonTooltip":"Sostituisci tutto il testo","replaceButtonTooltip":"Sostituisci il testo","findLabel":"Trova:","findButton":"Trova","matchCaseTooltip":"Maiuscole/minuscole","findButtonTooltip":"Trova il testo","replaceAll":"Tutte le ricorrenze"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/InsertAnchor.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/InsertAnchor.js deleted file mode 100644 index 044dc113..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/InsertAnchor.js +++ /dev/null @@ -1 +0,0 @@ -({"set":"Imposta","insertAnchor":"Inserisci ancoraggio","title":"Proprietà ancoraggio","text":"Descrizione:","cancel":"Annulla","anchor":"Nome:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/InsertEntity.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/InsertEntity.js deleted file mode 100644 index 9e621807..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/InsertEntity.js +++ /dev/null @@ -1 +0,0 @@ -({"insertEntity":"Inserisci simbolo"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/LocalImage.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/LocalImage.js deleted file mode 100644 index 4fa4a8e0..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/LocalImage.js +++ /dev/null @@ -1 +0,0 @@ -({"set":"Inserisci","text":"Descrizione","insertImageTitle":"Inserisci immagine","invalidMessage":"Tipo di file immagine non valido","prePopuTextBrowse":" o individuare un file locale.","browse":"Sfoglia...","prePopuTextUrl":"Immettere un URL immagine","url":"Immagine"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/PageBreak.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/PageBreak.js deleted file mode 100644 index 3b526b00..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/PageBreak.js +++ /dev/null @@ -1 +0,0 @@ -({"pageBreak":"Interruzione di pagina"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/PasteFromWord.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/PasteFromWord.js deleted file mode 100644 index 94ce975c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/PasteFromWord.js +++ /dev/null @@ -1 +0,0 @@ -({"pasteFromWord":"Incolla da Word","paste":"Incolla","cancel":"Annulla","instructions":"Incolla il contenuto da Word nella casella di testo sottostante. Al termine dell'inserimento del contenuto, premere il pulsante Incolla. Per annullare l'inserimento del testo, premere il pulsante Annulla."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Preview.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Preview.js deleted file mode 100644 index d2728030..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Preview.js +++ /dev/null @@ -1 +0,0 @@ -({"preview":"Anteprima"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Save.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Save.js deleted file mode 100644 index 5e07c1c0..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Save.js +++ /dev/null @@ -1 +0,0 @@ -({"save":"Salva"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/ShowBlockNodes.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/ShowBlockNodes.js deleted file mode 100644 index 58c41fa4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/ShowBlockNodes.js +++ /dev/null @@ -1 +0,0 @@ -({"showBlockNodes":"Mostra elementi blocco HTML"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Smiley.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Smiley.js deleted file mode 100644 index 625cb588..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Smiley.js +++ /dev/null @@ -1 +0,0 @@ -({"emoticonLaughing":"risata","emoticonCool":"figo","emoticonTongue":"linguaccia","emoticonCrying":"in lacrime","emoticonOops":"ops","emoticonFrown":"triste","emoticonAngry":"arrabbiato","emoticonShy":"timido","emoticonNo":"no","emoticonAngel":"angelo","smiley":"Inserisci emoticon","emoticonIdea":"idea","emoticonEyebrow":"sopracciglia","emoticonSmile":"sorriso","emoticonWink":"occhiolino","emoticonYes":"yes","emoticonGrin":"ghigno","emoticonGoofy":"sciocco","emoticonHalf":"metà"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/SpellCheck.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/SpellCheck.js deleted file mode 100644 index 179693b4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/SpellCheck.js +++ /dev/null @@ -1 +0,0 @@ -({"cancel":"Annulla","toDic":"Aggiungi al dizionario","skip":"Ignora","iMsg":"Nessun suggerimento ortografico","replaceAll":"Sostituisci tutto","widgetLabel":"Controllo ortografico batch","skipAll":"Ignora tutto","suggestions":"Suggerimenti","iSkipAll":"Ignora tutto","replaceWith":"Sostituisci con","msg":"Nessun errore di ortografia trovato","replace":"Sostituisci","unfound":"Non trovato","iSkip":"Ignora"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/TableDialog.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/TableDialog.js deleted file mode 100644 index e6e2d542..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/TableDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"buttonSet":"Imposta","insertTableTitle":"Inserisci tabella","insertTableRowAfterLabel":"Aggiungi riga dopo","buttonCancel":"Annulla","center":"centro","deleteTableColumnLabel":"Elimina colonna","right":"destra","insertTableColumnBeforeLabel":"Aggiungi colonna prima","tableWidth":"Larghezza tabelle:","buttonInsert":"Inserisci","default":"predefinito","align":"Allinea:","insertTableRowBeforeLabel":"Aggiungi riga prima","cellSpacing":"Spaziatura celle:","pixels":"pixel","selectTableLabel":"Seleziona tabella","rows":"Righe:","modifyTableTitle":"Modifica tabella","cellPadding":"Padding celle:","deleteTableRowLabel":"Elimina riga","backgroundColor":"Colore di sfondo:","insertTableColumnAfterLabel":"Aggiungi colonna dopo","left":"sinistra","borderThickness":"Spessore bordi","columns":"Colonne:","percent":"percentuale","borderColor":"Colore bordi:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/TextColor.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/TextColor.js deleted file mode 100644 index 899f297e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/TextColor.js +++ /dev/null @@ -1 +0,0 @@ -({"setButtonText":"Imposta","cancelButtonText":"Annulla"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/latinEntities.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/latinEntities.js deleted file mode 100644 index 34a2a1e7..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/latinEntities.js +++ /dev/null @@ -1 +0,0 @@ -({"le":"minore di o uguale a","prod":"prodotto n-ario\nsegno di prodotto","zwj":"congiuntore di larghezza zero","mdash":"trattino em","frasl":"barra obliqua di frazione","upsih":"simbolo della upsilon greca con uncino","prop":"proporzionale a","middot":"punto in mezzo\nvirgola georgiana\npunto centrale greco","hellip":"puntini di sospensione\ntre puntini di guida","eta":"lettera greca minuscola eta","iacute":"lettera latina i minuscola con accento acuto","yen":"simbolo dello yen\nsimbolo dello yuan","rlm":"segno da-destra-a-sinistra","macr":"macron\nmacron con spaziatura\nlinea orizzontale superiore\nbarra sovrapposta APL","ldquo":"virgolette doppie sinistre","Icirc":"lettera latina I maiuscola con accento circonflesso","OElig":"legatura latina OE maiuscola","hArr":"doppia freccia sinistra destra","eth":"lettera latina eth minuscola","divide":"segno di divisione","chi":"lettera greca minuscola chi","eacute":"lettera latina e minuscola con accento acuto","icirc":"lettera latina i minuscola con accento circonflesso","iexcl":"punto esclamativo capovolto","ETH":"lettera latina ETH maiuscola","acute":"accento acuto\nacuto con spaziatura","crarr":"freccia verso il basso con angolo a sinistra\nritorno a capo","mu":"lettera greca minuscola mu","AElig":"lettera latina AE maiuscola\nlegatura latina maiuscola AE","aacute":"lettera latina a minuscola con accento acuto","lambda":"lettera greca minuscola lambda","THORN":"lettera latina THORN maiuscola","asymp":"quasi uguale a\nasintotico a","fnof":"f latina minuscola con uncino\nfunzione\nfiorino","lang":"parentesi angolare sinistra","cup":"unione\ncoppa","ne":"non uguale a","Sigma":"lettera greca maiuscola sigma","oelig":"legatura latina oe minuscola","cent":"simbolo del centesimo","ni":"contiene come membro","dagger":"croce latina","permil":"segno di per mille","Omicron":"lettera greca maiuscola omicron","sigma":"lettera greca minuscola sigma","euro":"simbolo dell'euro","Yacute":"lettera latina Y maiuscola con accento acuto","thorn":"lettera latina thorn minuscola","lceil":"soffitto sinistro\ngradino in su APL","Ograve":"lettera latina O maiuscola con accento grave","rarr":"freccia verso destra","nu":"lettera greca minuscola nu","emsp":"spazio em","Theta":"lettera greca maiuscola theta","lArr":"doppia freccia verso sinistra","tau":"lettera greca minuscola tau","aelig":"lettera latina ae minuscola\nlegatura latina minuscola ae","ccedil":"lettera latina c minuscola con cediglia","Ntilde":"lettera latina N maiuscola con tilde","cong":"approssimativamente uguale a","Uacute":"lettera latina U maiuscola con accento acuto","theta":"lettera greca minuscola theta","darr":"freccia verso il basso","Uuml":"lettera latina U maiuscola con dieresi","bdquo":"virgolette doppie in basso a destra","Aring":"lettera latina A maiuscola con sormontata da anello\nlettera latina A maiuscola anellata","sigmaf":"lettera greca minuscola sigma finale","pound":"simbolo della sterlina","uArr":"doppia freccia verso l'alto","sub":"sottoinsieme di","aring":"lettera latina a minuscola sormontata da anello\nlettera latina a minuscola anellata","sdot":"operatore punto","thinsp":"spazio finissimo","or":"o logico\nvi","Eacute":"lettera latina E maiuscola con accento acuto","shy":"trattino debole\ntrattino discrezionale","curren":"simbolo di valuta","loz":"losanga","not":"simbolo di negazione","tilde":"tilde piccola","sum":"sommatoria n-aria","spades":"seme di picche nero","Psi":"lettera greca maiuscola psi","ndash":"trattino en","sup":"sovrainsieme di","atilde":"lettera latina a minuscola con tilde","clubs":"seme di fiori nero\ntrifoglio","uuml":"lettera latina u minuscola con dieresi","Aacute":"lettera latina A maiuscola con accento acuto","rsaquo":"virgoletta angolare singola rivolta a destra","otimes":"per cerchiato\nprodotto vettoriale","lfloor":"pavimento sinistro\ngradino in giù APL","zwnj":"non-congiuntore di larghezza zero","sim":"operatore tilde\nvaria con\nsimile a","Iota":"lettera greca maiuscola iota","Iacute":"lettera latina I maiuscola con accento acuto","pi":"lettera greca minuscola pi","ordf":"indicatore ordinale femminile","frac12":"frazione semplice un mezzo\nfrazione un mezzo","frac14":"frazione semplice un quarto\nfrazione un quarto","alefsym":"simbolo alef\nprimo cardinale transfinito","bull":"pallino\npiccolo cerchio nero","deg":"simbolo dei gradi","ordm":"indicatore ordinale maschile","epsilon":"lettera greca minuscola epsilon","equiv":"identico a","Dagger":"croce latina doppia","brvbar":"barra interrotta\nbarra verticale interrotta","harr":"freccia sinistra destra","ugrave":"lettera latina u minuscola con accento grave","oslash":"lettera latina o minuscola con barra obliqua\nlettera latina o minuscola barrata","Yuml":"lettera latina Y maiuscola con dieresi","hearts":"seme di cuori nero\ninnamorato","Xi":"lettera greca maiuscola xi","Prime":"doppio apice\nsecondi\npollici","iota":"lettera greca minuscola iota","Ccedil":"lettera latina C maiuscola con cediglia","Lambda":"lettera greca maiuscola lambda","raquo":"virgolette doppie angolari indicanti a destra\n guillemet indicante a destra","Phi":"lettera greca maiuscola phi","prime":"apice\nminuti\npiedi","nsub":"non un sottoinsieme di","copy":"simbolo del copyright","yuml":"lettera latina y minuscola con dieresi","Rho":"lettera greca maiuscola rho","Ucirc":"lettera latina U maiuscola con accento circonflesso","Kappa":"lettera greca maiuscola kappa","ucirc":"lettera latina u minuscola con accento circonflesso","sbquo":"virgoletta singola in basso a destra","igrave":"lettera latina i minuscola con accento grave","reg":"simbolo di registrazione\nsimbolo di marchio registrato","infin":"infinito","iquest":"punto interrogativo invertito\npunto interrogativo rovesciato","circ":"lettera modificatrice accento circonflesso","kappa":"lettera greca minuscola kappa","lrm":"segno da-sinistra-a-destra","Atilde":"lettera latina A maiuscola con tilde","larr":"freccia verso sinistra","frac34":"frazione semplice tre quarti\nfrazione tre quarti","oacute":"lettera latina o minuscola con accento acuto","rsquo":"virgoletta destra singola","egrave":"lettera latina e minuscola con accento grave","oline":"linea sopra\noverscore con spazio","Mu":"lettera greca maiuscola mu","exist":"esiste","cap":"intersezione\nberretto","and":"and logico\ncuneo","Ouml":"lettera latina O maiuscola con dieresi","agrave":"lettera latina a minuscola con accento grave\nlettera latina a minuscola grave","uarr":"freccia verso l'alto","ang":"angolo","Zeta":"lettera greca maiuscola zeta","scaron":"lettera latina s minuscola con caron","Gamma":"lettera greca maiuscola gamma","isin":"elemento di","Auml":"lettera latina A maiuscola con dieresi","empty":"insieme vuoto\ninsieme nullo\ndiametro","gamma":"lettera greca minuscola gamma","para":"simbolo pilcrow\nsimbolo di paragrafo","ge":"maggiore di o uguale a","psi":"lettera greca minuscola psi","Alpha":"lettera greca maiuscola alpha","Nu":"lettera greca maiuscola nu","ouml":"lettera latina o minuscola con dieresi","zeta":"lettera greca minuscola zeta","alpha":"lettera greca maiuscola alpha","part":"differenziale parziale","auml":"lettera latina a minuscola con dieresi","Ugrave":"lettera latina U maiuscola con accento grave","Oslash":"lettera latina O maiuscola con barra obliqua\nlettera latina O maiuscola barrata","Epsilon":"lettera greca maiuscola epsilon","int":"integrale","Omega":"lettera greca maiuscola omega","perp":"puntina in su\nortogonale a\nperpendicolare","uml":"dieresi\ndieresi con spazio","upsilon":"lettera greca minuscola upsilon","lowast":"operatore asterisco","omega":"lettera greca minuscola omega","otilde":"lettera latina o minuscola con tilde","Egrave":"lettera latina E maiuscola con accento grave","phi":"lettera greca minuscola phi","ensp":"spazio en","Euml":"lettera latina E maiuscola con dieresi","cedil":"cediglia\ncediglia con spazio","laquo":"virgolette doppie angolari indicanti a sinistra\nguillemet indicante a sinistra","forall":"per tutti","thetasym":"simbolo della lettera greca minuscola theta","Agrave":"lettera latina A maiuscola con accento grave\nlettera latina A maiuscola grave","szlig":"lettera latina s minuscola sonora\nesse-zeta","Pi":"lettera greca maiuscola pi","rho":"lettera greca minuscola rho","trade":"simbolo di marchio commerciale","Igrave":"lettera latina I maiuscola con accento grave","minus":"segno meno","Beta":"lettera greca maiuscola beta","Ocirc":"lettera latina O maiuscola con accento circonflesso","rdquo":"virgolette doppie destre","Eta":"lettera greca maiuscola eta","rfloor":"pavimento destro","Oacute":"lettera latina O maiuscola con accento acuto","euml":"lettera latina e minuscola con dieresi","oplus":"più cerchiato\nsomma diretta","ocirc":"lettera latina o minuscola con accento circonflesso","radic":"radice quadrata\nsegno di radice","Chi":"lettera greca maiuscola chi","notin":"non un elemento di","sect":"simbolo di sezione","Acirc":"lettera latina A maiuscola con accento circonflesso","lsquo":"virgoletta sinistra singola","beta":"lettera greca minuscola beta","piv":"simbolo di pi greco","sup1":"esponente uno\nnumero uno in esponente","Scaron":"lettera latina S maiuscola con caron","sup2":"esponente due\nnumero due in esponente\nal quadrato","acirc":"lettera latina a minuscola con accento circonflesso","sube":"sottoinsieme di o uguale a","sup3":"esponente tre\nnumero tre in esponente\nal cubo","real":"R maiuscola gotica\nsimbolo di elemento reale","Iuml":"lettera latina I maiuscola con dieresi","rang":"parentesi angolare destra","lsaquo":"virgoletta angolare singola rivolta a sinistra","nabla":"nabla\ndifferenza retrograda","omicron":"lettera greca minuscola omicron","there4":"pertanto","plusmn":"segno più-meno\nsegno più o meno","rceil":"soffitto destro","micro":"simbolo di micro","rArr":"doppia freccia verso destra","Delta":"lettera greca maiuscola delta","iuml":"lettera latina i minuscola con dieresi","Tau":"lettera greca maiuscola tau","times":"segno di moltiplicazione","yacute":"lettera latina y minuscola con accento acuto","ograve":"lettera latina o minuscola con accento grave","delta":"lettera greca minuscola delta","Ecirc":"lettera latina E maiuscola con accento circonflesso","dArr":"doppia freccia verso il basso","ntilde":"lettera latina n minuscola con tilde","diams":"seme di quadri nero","uacute":"lettera latina u minuscola con accento acuto","Otilde":"lettera latina O maiuscola con tilde","ecirc":"lettera latina e minuscola con accento circonflesso","Upsilon":"lettera greca maiuscola upsilon","image":"I maiuscola gotica\nelemento immaginario","supe":"sovrainsieme di o uguale a","xi":"lettera greca minuscola xi","weierp":"P maiuscola scritta a mano\ninsieme potenza\np di Weierstrass"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/latinEntities.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/latinEntities.js deleted file mode 100644 index f49065e4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/latinEntities.js +++ /dev/null @@ -1 +0,0 @@ -({"le":"less-than or equal to","prod":"n-ary product\nproduct sign","zwj":"zero width joiner","mdash":"em dash","frasl":"fraction slash","upsih":"Greek upsilon with hook symbol","prop":"proportional to","middot":"middle dot\nGeorgian comma\nGreek middle dot","hellip":"horizontal ellipsis\nthree dot leader","eta":"Greek small letter eta","iacute":"Latin small letter i with acute","yen":"yen sign\nyuan sign","rlm":"right-to-left mark","macr":"macron\nspacing macron\noverline\nAPL overbar","ldquo":"left double quotation mark","Icirc":"Latin capital letter I with circumflex","OElig":"Latin capital ligature OE","hArr":"left right double arrow","eth":"Latin small letter eth","divide":"division sign","chi":"Greek small letter chi","eacute":"Latin small letter e with acute","icirc":"Latin small letter i with circumflex","iexcl":"inverted exclamation mark","ETH":"Latin capital letter ETH","acute":"acute accent\nspacing acute","crarr":"downwards arrow with corner leftwards\ncarriage return","mu":"Greek small letter mu","AElig":"Latin capital letter AE\nLatin capital ligature AE","aacute":"Latin small letter a with acute","lambda":"Greek small letter lambda","THORN":"Latin capital letter THORN","asymp":"almost equal to\nasymptotic to","fnof":"Latin small f with hook\nfunction\nflorin","lang":"left-pointing angle bracket","cup":"union\ncup","ne":"not equal to","Sigma":"Greek capital letter sigma","oelig":"Latin small ligature oe","cent":"cent sign","ni":"contains as member","dagger":"dagger","permil":"per mille sign","Omicron":"Greek capital letter omicron","sigma":"Greek small letter sigma","euro":"euro sign","Yacute":"Latin capital letter Y with acute","thorn":"Latin small letter thorn","lceil":"left ceiling\nAPL upstile","Ograve":"Latin capital letter O with grave","rarr":"rightwards arrow","nu":"Greek small letter nu","emsp":"em space","Theta":"Greek capital letter theta","lArr":"leftwards double arrow","tau":"Greek small letter tau","aelig":"Latin small letter ae\nLatin small ligature ae","ccedil":"Latin small letter c with cedilla","Ntilde":"Latin capital letter N with tilde","cong":"approximately equal to","Uacute":"Latin capital letter U with acute","theta":"Greek small letter theta","darr":"downwards arrow","Uuml":"Latin capital letter U with diaeresis","bdquo":"double low-9 quotation mark","Aring":"Latin capital letter A with ring above\nLatin capital letter A ring","sigmaf":"Greek small letter final sigma","pound":"pound sign","uArr":"upwards double arrow","sub":"subset of","aring":"Latin small letter a with ring above\nLatin small letter a ring","sdot":"dot operator","thinsp":"thin space","or":"logical or\nvee","Eacute":"Latin capital letter E with acute","shy":"soft hyphen\ndiscretionary hyphen","curren":"currency sign","loz":"lozenge","not":"not sign","tilde":"small tilde","sum":"n-ary sumation","spades":"black spade suit","Psi":"Greek capital letter psi","ndash":"en dash","sup":"superset of","atilde":"Latin small letter a with tilde","clubs":"black club suit\nshamrock","uuml":"Latin small letter u with diaeresis","Aacute":"Latin capital letter A with acute","rsaquo":"single right-pointing angle quotation mark","otimes":"circled times\nvector product","lfloor":"left floor\nAPL downstile","zwnj":"zero width non-joiner","sim":"tilde operator\nvaries with\nsimilar to","Iota":"Greek capital letter iota","Iacute":"Latin capital letter I with acute","pi":"Greek small letter pi","ordf":"feminine ordinal indicator","frac12":"vulgar fraction one half\nfraction one half","frac14":"vulgar fraction one quarter\nfraction one quarter","alefsym":"alef symbol\nfirst transfinite cardinal","bull":"bullet\nblack small circle","deg":"degree sign","ordm":"masculine ordinal indicator","epsilon":"Greek small letter epsilon","equiv":"identical to","Dagger":"double dagger","brvbar":"broken bar\nbroken vertical bar","harr":"left right arrow","ugrave":"Latin small letter u with grave","oslash":"Latin small letter o with stroke\nLatin small letter o slash","Yuml":"Latin capital letter Y with diaeresis","hearts":"black heart suit\nvalentine","Xi":"Greek capital letter xi","Prime":"double prime\nseconds\ninches","iota":"Greek small letter iota","Ccedil":"Latin capital letter C with cedilla","Lambda":"Greek capital letter lambda","raquo":"right-pointing double angle quotation mark\nright pointing guillemet","Phi":"Greek capital letter phi","prime":"prime\nminutes\nfeet","nsub":"not a subset of","copy":"copyright sign","yuml":"Latin small letter y with diaeresis","Rho":"Greek capital letter rho","Ucirc":"Latin capital letter U with circumflex","Kappa":"Greek capital letter kappa","ucirc":"Latin small letter u with circumflex","sbquo":"single low-9 quotation mark","igrave":"Latin small letter i with grave","reg":"registered sign\nregistered trade mark sign","infin":"infinity","iquest":"inverted question mark\nturned question mark","circ":"modifier letter circumflex accent","kappa":"Greek small letter kappa","lrm":"left-to-right mark","Atilde":"Latin capital letter A with tilde","larr":"leftwards arrow","frac34":"vulgar fraction three quarters\nfraction three quarters","oacute":"Latin small letter o with acute","rsquo":"right single quotation mark","egrave":"Latin small letter e with grave","oline":"overline\nspacing overscore","Mu":"Greek capital letter mu","exist":"there exists","cap":"intersection\ncap","and":"logical and\nwedge","Ouml":"Latin capital letter O with diaeresis","agrave":"Latin small letter a with grave\nLatin small letter a grave","uarr":"upwards arrow","ang":"angle","Zeta":"Greek capital letter zeta","scaron":"Latin small letter s with caron","Gamma":"Greek capital letter gamma","isin":"element of","Auml":"Latin capital letter A with diaeresis","empty":"empty set\nnull set\ndiameter","gamma":"Greek small letter gamma","para":"pilcrow sign\nparagraph sign","ge":"greater-than or equal to","psi":"Greek small letter psi","Alpha":"Greek capital letter alpha","Nu":"Greek capital letter nu","ouml":"Latin small letter o with diaeresis","zeta":"Greek small letter zeta","alpha":"Greek small letter alpha","part":"partial differential","auml":"Latin small letter a with diaeresis","Ugrave":"Latin capital letter U with grave","Oslash":"Latin capital letter O with stroke\nLatin capital letter O slash","Epsilon":"Greek capital letter epsilon","int":"integral","Omega":"Greek capital letter omega","perp":"up tack\northogonal to\nperpendicular","uml":"diaeresis\nspacing diaeresis","upsilon":"Greek small letter upsilon","lowast":"asterisk operator","omega":"Greek small letter omega","otilde":"Latin small letter o with tilde","Egrave":"Latin capital letter E with grave","phi":"Greek small letter phi","ensp":"en space","Euml":"Latin capital letter E with diaeresis","cedil":"cedilla\nspacing cedilla","laquo":"left-pointing double angle quotation mark\nleft pointing guillemet","forall":"for all","thetasym":"Greek small letter theta symbol","Agrave":"Latin capital letter A with grave\nLatin capital letter A grave","szlig":"Latin small letter sharp s\ness-zed","Pi":"Greek capital letter pi","rho":"Greek small letter rho","trade":"trade mark sign","Igrave":"Latin capital letter I with grave","minus":"minus sign","Beta":"Greek capital letter beta","Ocirc":"Latin capital letter O with circumflex","rdquo":"right double quotation mark","Eta":"Greek capital letter eta","rfloor":"right floor","Oacute":"Latin capital letter O with acute","euml":"Latin small letter e with diaeresis","oplus":"circled plus\ndirect sum","ocirc":"Latin small letter o with circumflex","radic":"square root\nradical sign","Chi":"Greek capital letter chi","notin":"not an element of","sect":"section sign","Acirc":"Latin capital letter A with circumflex","lsquo":"left single quotation mark","beta":"Greek small letter beta","piv":"Greek pi symbol","sup1":"superscript one\nsuperscript digit one","Scaron":"Latin capital letter S with caron","sup2":"superscript two\nsuperscript digit two\nsquared","acirc":"Latin small letter a with circumflex","sube":"subset of or equal to","sup3":"superscript three\nsuperscript digit three\ncubed","real":"blackletter capital R\nreal part symbol","Iuml":"Latin capital letter I with diaeresis","rang":"right-pointing angle bracket","lsaquo":"single left-pointing angle quotation mark","nabla":"nabla\nbackward difference","omicron":"Greek small letter omicron","there4":"therefore","plusmn":"plus-minus sign\nplus-or-minus sign","rceil":"right ceiling","micro":"micro sign","rArr":"rightwards double arrow","Delta":"Greek capital letter delta","iuml":"Latin small letter i with diaeresis","Tau":"Greek capital letter tau","times":"multiplication sign","yacute":"Latin small letter y with acute","ograve":"Latin small letter o with grave","delta":"Greek small letter delta","Ecirc":"Latin capital letter E with circumflex","dArr":"downwards double arrow","ntilde":"Latin small letter n with tilde","diams":"black diamond suit","uacute":"Latin small letter u with acute","Otilde":"Latin capital letter O with tilde","ecirc":"Latin small letter e with circumflex","Upsilon":"Greek capital letter upsilon","image":"blackletter capital I\nimaginary part","supe":"superset of or equal to","xi":"Greek small letter xi","weierp":"script capital P\npower set\nWeierstrass p"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/AutoSave.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/AutoSave.js deleted file mode 100644 index 8b7d23bf..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/AutoSave.js +++ /dev/null @@ -1 +0,0 @@ -({"saveLabel":"Сохранить","saveSettingdialogTitle":"Автосохранение","saveSettingdialogButtonOk":"Задать интервал","saveMessageSuccess":"Сохранено ${0}","saveSettingdialogButtonCancel":"Отменить","saveSettingdialogDescription":"Укажите интервал автосохранения","saveSettingLabelOn":"Задать интервал автосохранения...","saveSettingdialogParamLabel":"мин","saveSettingdialogParamName":"Интервал автосохранения","saveMessageFail":"Не удалось сохранить ${0}","saveSettingLabelOff":"Выключить автосохранение"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Blockquote.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Blockquote.js deleted file mode 100644 index f446e6b5..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Blockquote.js +++ /dev/null @@ -1 +0,0 @@ -({"blockquote":"Блок цитат"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Breadcrumb.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Breadcrumb.js deleted file mode 100644 index 448318dd..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Breadcrumb.js +++ /dev/null @@ -1 +0,0 @@ -({"selectContents":"Выбрать содержимое","deleteElement":"Удалить элемент","moveEnd":"Поместить курсор в конец","deleteContents":"Удалить содержимое","nodeActions":"${nodeName}: действия","selectElement":"Выбрать элемент","moveStart":"Поместить курсор в начало"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/CollapsibleToolbar.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/CollapsibleToolbar.js deleted file mode 100644 index 6ce47abb..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/CollapsibleToolbar.js +++ /dev/null @@ -1 +0,0 @@ -({"collapse":"Свернуть панель редактирования","expand":"Развернуть панель редактирования"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/FindReplace.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/FindReplace.js deleted file mode 100644 index 2b446344..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/FindReplace.js +++ /dev/null @@ -1 +0,0 @@ -({"replaceDialogText":"Заменено ${0} вхождений.","eofDialogTextFind":"найдено","eofDialogText":"Последнее вхождение ${0}","backwards":"Назад","replaceButton":"Заменить","replaceLabel":"Заменить на:","matchCase":"С учетом регистра","findTooltip":"Введите текст для поиска","replaceTooltip":"Введите текст для замены","replaceAllButton":"Заменить все","eofDialogTextReplace":"заменено","findReplace":"Найти и заменить","backwardsTooltip":"Поиск текста в обратном направлении","replaceAllButtonTooltip":"Заменить весь текст","replaceButtonTooltip":"Заменить текст","findLabel":"Найти:","findButton":"Найти","matchCaseTooltip":"С учетом регистра","findButtonTooltip":"Найти текст","replaceAll":"Все вхождения"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/InsertAnchor.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/InsertAnchor.js deleted file mode 100644 index 64d3d3a6..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/InsertAnchor.js +++ /dev/null @@ -1 +0,0 @@ -({"set":"Задать","insertAnchor":"Вставить метку","title":"Свойства метки","text":"Описание:","cancel":"Отменить","anchor":"Имя:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/InsertEntity.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/InsertEntity.js deleted file mode 100644 index b96e39b8..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/InsertEntity.js +++ /dev/null @@ -1 +0,0 @@ -({"insertEntity":"Вставить символ"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/LocalImage.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/LocalImage.js deleted file mode 100644 index bc746475..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/LocalImage.js +++ /dev/null @@ -1 +0,0 @@ -({"set":"Вставить","text":"Описание","insertImageTitle":"Вставить изображение","invalidMessage":"Недопустимый тип файла изображения","prePopuTextBrowse":" или выберите локальный файл.","browse":"Обзор...","prePopuTextUrl":"Введите URL изображения","url":"Изображение"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/PageBreak.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/PageBreak.js deleted file mode 100644 index e371e2ca..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/PageBreak.js +++ /dev/null @@ -1 +0,0 @@ -({"pageBreak":"Разделитель страниц"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/PasteFromWord.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/PasteFromWord.js deleted file mode 100644 index 27996aab..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/PasteFromWord.js +++ /dev/null @@ -1 +0,0 @@ -({"pasteFromWord":"Вставить из Word","paste":"Вставить","cancel":"Отменить","instructions":"Вставить содержимое из Word в текстовое поле ниже. Когда выберите содержимое для вставки, нажмите кнопку Вставить. Для отмены вставки текста нажмите кнопку Отмена."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Preview.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Preview.js deleted file mode 100644 index 0a8069d9..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Preview.js +++ /dev/null @@ -1 +0,0 @@ -({"preview":"Предварительный просмотр"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Save.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Save.js deleted file mode 100644 index 8e711ea4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Save.js +++ /dev/null @@ -1 +0,0 @@ -({"save":"Сохранить"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/ShowBlockNodes.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/ShowBlockNodes.js deleted file mode 100644 index 308f6c24..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/ShowBlockNodes.js +++ /dev/null @@ -1 +0,0 @@ -({"showBlockNodes":"Показать элементы блока HTML"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Smiley.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Smiley.js deleted file mode 100644 index 145f1315..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Smiley.js +++ /dev/null @@ -1 +0,0 @@ -({"emoticonLaughing":"смех","emoticonCool":"здорово","emoticonTongue":"насмешка","emoticonCrying":"плачь","emoticonOops":"уупс","emoticonFrown":"хмурый вид","emoticonAngry":"злость","emoticonShy":"застенчивость","emoticonNo":"нет","emoticonAngel":"ангел","smiley":"Вставить значок настроения","emoticonIdea":"есть идея","emoticonEyebrow":"удивление","emoticonSmile":"улыбка","emoticonWink":"подмигивание","emoticonYes":"да","emoticonGrin":"усмешка","emoticonGoofy":"глупый","emoticonHalf":"половина"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/SpellCheck.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/SpellCheck.js deleted file mode 100644 index db427dd3..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/SpellCheck.js +++ /dev/null @@ -1 +0,0 @@ -({"cancel":"Отменить","toDic":"Добавить в словарь","skip":"Пропустить","iMsg":"Нет вариантов написания","replaceAll":"Заменить все","widgetLabel":"Проверка орфографии","skipAll":"Пропустить все","suggestions":"Варианты","iSkipAll":"Пропусть все схожие","replaceWith":"Заменить на","msg":"Ошибок не найдено","replace":"Заменить","unfound":"Не найдено","iSkip":"Пропустить это"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/TableDialog.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/TableDialog.js deleted file mode 100644 index 8811d125..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/TableDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"buttonSet":"Задать","insertTableTitle":"Вставить таблицу","insertTableRowAfterLabel":"Добавить строку после","buttonCancel":"Отмена","center":"по центру","deleteTableColumnLabel":"Удалить столбец","right":"по правому краю","insertTableColumnBeforeLabel":"Добавить столбец перед","tableWidth":"Ширина таблицы:","buttonInsert":"Вставить","default":"по умолчанию","align":"Выровнять:","insertTableRowBeforeLabel":"Добавить строку перед","cellSpacing":"Расстояние между ячейками:","pixels":"пикселов","selectTableLabel":"Выбрать таблицу","rows":"Строк:","modifyTableTitle":"Изменить таблицу","cellPadding":"Отступ внутри ячеек:","deleteTableRowLabel":"Удалить строку","backgroundColor":"Цвет фона:","insertTableColumnAfterLabel":"Добавить столбец после","left":"по левому краю","borderThickness":"Толщина рамки","columns":"Столбцов:","percent":"процентов","borderColor":"Цвет рамки:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/TextColor.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/TextColor.js deleted file mode 100644 index d185eb2c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/TextColor.js +++ /dev/null @@ -1 +0,0 @@ -({"setButtonText":"Задать","cancelButtonText":"Отменить"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/latinEntities.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/latinEntities.js deleted file mode 100644 index f8c9daed..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/latinEntities.js +++ /dev/null @@ -1 +0,0 @@ -({"le":"меньше или равно","prod":"n-арное произведение\nсимвол произведения","zwj":"соединитель нулевой ширины","mdash":"тире длины M","frasl":"косая черта","upsih":"греческий ипсилон с хвостиком","prop":"пропорционально","middot":"средняя точка\nзапятая в грузинском\nсредняя точка в греческом","hellip":"многоточие\nтри точки","eta":"греческая строчная буква эта","iacute":"латинская строчная буква i с акутом","yen":"символ иены\nсимвол юаня","rlm":"знак справа-налево","macr":"знак долготы\nзнак долготы с интервалом\nверхняя черта\nнадчеркивание APL","ldquo":"левая двойная кавычка","Icirc":"латинская прописная буква I с циркумфлексом","OElig":"латинская прописная лигатура OE","hArr":"двойная стрелка влево-вправо","eth":"латинская строчная буква eth","divide":"знак деления","chi":"греческая строчная буква хи","eacute":"латинская строчная буква e с акутом","icirc":"латинская строчная буква i с циркумфлексом","iexcl":"инвертированный восклицательный знак","ETH":"латинская прописная буква ETH","acute":"знак акут\nакут с интервалом","crarr":"стрелка вниз с углом вправо\nвозврат каретки","mu":"греческая строчная буква мю","AElig":"латинская прописная буква AE\nлатинская прописная лигатура AE","aacute":"латинская строчная буква a с акутом","lambda":"греческая строчная буква лямбда","THORN":"латинская прописная буква THORN","asymp":"почти равно\nасимптотично","fnof":"латинская строчная буква f с хвостиком\nфункция\nфлорин","lang":"левая угловая скобка","cup":"объединение\nчашечка","ne":"не равно","Sigma":"греческая прописная буква сигма","oelig":"латинская строчная лигатура oe","cent":"символ цента","ni":"содержит в качестве элемента","dagger":"крест","permil":"знак промилле","Omicron":"греческая прописная буква омикрон","sigma":"греческая строчная буква сигма","euro":"символ евро","Yacute":"латинская прописная буква Y с акутом","thorn":"латинская строчная буква thorn","lceil":"левая скобка округления вверх\nAPL upstile","Ograve":"латинская прописная буква O с грависом","rarr":"стрелка вправо","nu":"греческая строчная буква ню","emsp":"пробел длины M","Theta":"греческая прописная буква тета","lArr":"двойная стрелка влево","tau":"греческая строчная буква тау","aelig":"латинская строчная буква ae\nлатинская строчная лигатура ae","ccedil":"латинская строчная буква c с седилью","Ntilde":"латинская прописная буква N с тильдой","cong":"приблизительно равно","Uacute":"латинская прописная буква U с акутом","theta":"греческая строчная буква тета","darr":"стрелка вниз","Uuml":"латинская прописная буква U с тремой","bdquo":"двойная нижняя кавычка","Aring":"латинская прописная буква A с кружком сверху\nлатинская прописная буква A с кружком","sigmaf":"греческая строчная конечная сигма","pound":"символ фунта стерлингов","uArr":"двойная стрелка вверх","sub":"подмножество","aring":"латинская строчная буква a с кружком сверху\nлатинская строчная a с кружком","sdot":"оператор точка","thinsp":"узкий пробел","or":"логическое ИЛИ\nклин вниз","Eacute":"латинская прописная буква E с акутом","shy":"мягкий перенос\nвозможный перенос","curren":"символ денежной единицы","loz":"ромб","not":"знак отрицания","tilde":"малая тильда","sum":"n-арное суммирование","spades":"пики","Psi":"греческая прописная буква пси","ndash":"тире длины N","sup":"включает в себя","atilde":"латинская строчная буква a с тильдой","clubs":"крести\nтрилистник","uuml":"латинская строчная буква u с тремой","Aacute":"латинская прописная буква A с акутом","rsaquo":"одинарная правая угловая кавычка","otimes":"умножение в круге\nвекторное произведение","lfloor":"левая скобка округления вниз\nAPL downstile","zwnj":"разделитель нулевой ширины","sim":"оператор тильда\nизменяться с\nподобно","Iota":"греческая прописная буква йота","Iacute":"латинская прописная буква I с акутом","pi":"греческая строчная буква пи","ordf":"индикатор женского рода","frac12":"дробь одна вторая\nодна вторая","frac14":"дробь одна четвертая\nодна четверть","alefsym":"буква Алеф\nкардинальное число","bull":"маркер списка\nчерный маленький кружок","deg":"символ градусов","ordm":"индикатор мужского рода","epsilon":"греческая строчная буква эпсилон","equiv":"идентично","Dagger":"двойной крест","brvbar":"прерывистая черта\nвертикальная прерывистая черта","harr":"стрелка влево-вправо","ugrave":"латинская строчная буква u с грависом","oslash":"латинская строчная буква o перечеркнутая\nлатинская строчная буква o с вертикальной чертой","Yuml":"латинская прописная буква Y с тремой","hearts":"червы\nвалентинка","Xi":"греческая прописная буква кси","Prime":"двойной штрих\nсекунды\nдюймы","iota":"греческая строчная буква йота","Ccedil":"латинская прописная буква C с седилью","Lambda":"греческая прописная буква лямбда","raquo":"правая двойная угловая кавычка\nправая кавычка","Phi":"греческая прописная буква фи","prime":"штрих\nминуты\nфуты","nsub":"не является подмножеством","copy":"символ авторских прав","yuml":"латинская строчная буква y с тремой","Rho":"греческая прописная буква ро","Ucirc":"латинская прописная буква U с циркумфлексом","Kappa":"греческая прописная буква каппа","ucirc":"латинская строчная буква u с циркумфлексом","sbquo":"одиночная нижняя кавычка","igrave":"латинская строчная буква i с грависом","reg":"символ Зарегистрирован\nсимвол зарегистрированного товарного знака","infin":"бесконечность","iquest":"инвертированный знак вопроса\nперевернутый знак вопроса","circ":"надстрочный знак циркумфлекс","kappa":"греческая строчная буква каппа","lrm":"знак слева-направо","Atilde":"латинская прописная буква A с тильдой","larr":"стрелка влево","frac34":"дробь три четверти\nтри четверти","oacute":"латинская строчная буква o с акутом","rsquo":"правая одинарная кавычка","egrave":"латинская строчная буква e с грависом","oline":"верхняя черта\nнадчеркивание с интервалом","Mu":"греческая прописная буква мю","exist":"существует","cap":"пересечение\nшапочка","and":"логическое И\nклин вверх","Ouml":"латинская прописная буква O с тремой","agrave":"латинская строчная буква a с грависом\nлатинская строчная a с грависом","uarr":"стрелка вверх","ang":"угол","Zeta":"греческая прописная буква дзета","scaron":"латинская строчная буква s с галочкой","Gamma":"греческая прописная буква гамма","isin":"является элементом","Auml":"латинская прописная буква A с тремой","empty":"пустой набор\nпустое множество\nдиаметр","gamma":"греческая строчная буква гамма","para":"символ абзаца\nсимвол параграфа","ge":"больше или равно","psi":"греческая строчная буква пси","Alpha":"греческая прописная буква альфа","Nu":"греческая прописная буква ню","ouml":"латинская строчная буква o с тремой","zeta":"греческая строчная буква дзета","alpha":"греческая строчная буква альфа","part":"частичный дифференциал","auml":"латинская строчная буква a с тремой","Ugrave":"латинская прописная буква U с грависом","Oslash":"латинская прописная буква O перечеркнутая\nлатинская прописная буква O с вертикальной чертой","Epsilon":"греческая прописная буква эпсилон","int":"интеграл","Omega":"греческая прописная буква омега","perp":"перевернутый гвоздь\nортогонально к\nперпендикулярно","uml":"трема\nтрема с интервалом","upsilon":"греческая строчная буква ипсилон","lowast":"оператор звездочка","omega":"греческая строчная буква омега","otilde":"латинская строчная буква o с тильдой","Egrave":"латинская прописная буква E с грависом","phi":"греческая строчная буква фи","ensp":"пробел длины N","Euml":"латинская прописная буква E с тремой","cedil":"седиль\nседиль с интервалом","laquo":"левые двойный угловые кавычки\nлевые кавычки","forall":"для всех","thetasym":"греческая символьная тета","Agrave":"латинская прописная буква A с грависом","szlig":"латинская строчная заостренная s\nэсцэт","Pi":"греческая прописная буква пи","rho":"греческая строчная буква ро","trade":"символ товарного знака","Igrave":"латинская прописная буква I с грависом","minus":"знак минуса","Beta":"греческая прописная буква бета","Ocirc":"латинская прописная буква O с циркумфлексом","rdquo":"правая двойная кавычка","Eta":"греческая прописная буква эта","rfloor":"правая скобка округления вниз","Oacute":"латинская прописная буква O с акутом","euml":"латинская строчная буква e с тремой","oplus":"плюс в круге\nпрямая сумма","ocirc":"латинская строчная буква o с циркумфлексом","radic":"квадратный корень\nзнак корня","Chi":"греческая прописная буква хи","notin":"не является элементом","sect":"символ раздела","Acirc":"латинская прописная буква A с циркумфлексом","lsquo":"левая одинарная кавычка","beta":"греческая строчная буква бета","piv":"греческая символьная пи","sup1":"верхний индекс один\nверхний индекс с цифрой один","Scaron":"латинская прописная буква S с галочкой","sup2":"верхний индекс два\nверхний индекс с цифрой два\nвозведение в квадрат","acirc":"латинская строчная буква a с циркумфлексом","sube":"является подмножеством или эквивалентно","sup3":"верхний индекс три\nверхний индекс с цифрой три\nвозведение в куб","real":"черная прописная R\nвещественная часть","Iuml":"латинская прописная буква I с тремой","rang":"правая угловая скобка","lsaquo":"одинарная левая угловая кавычка","nabla":"оператор набла\nразностное отношение назад","omicron":"греческая строчная буква омикрон","there4":"следовательно","plusmn":"символ плюс-минус\nсимвол плюса или минуса","rceil":"правая скобка округления вверх","micro":"знак микро","rArr":"двойная стрелка вправо","Delta":"греческая прописная буква дельта","iuml":"латинская строчная буква i с тремой","Tau":"греческая прописная буква тау","times":"знак умножения","yacute":"латинская строчная буква y с акутом","ograve":"латинская строчная буква o с грависом","delta":"греческая строчная буква дельта","Ecirc":"латинская прописная буква E с циркумфлексом","dArr":"двойная стрелка вниз","ntilde":"латинская строчная буква n с тильдой","diams":"бубны","uacute":"латинская строчная буква u с акутом","Otilde":"латинская прописная буква O с тильдой","ecirc":"латинская строчная буква e с циркумфлексом","Upsilon":"греческая прописная буква ипсилон","image":"черная прописная I\nмнимая часть","supe":"включает в себя или эквивалентно","xi":"греческая строчная буква хи","weierp":"рукописная прописная P\nстепенное множество\nфункции Вейерштрасса"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/AutoSave.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/AutoSave.css deleted file mode 100644 index a74d0d5b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/AutoSave.css +++ /dev/null @@ -1,38 +0,0 @@ -.dijitEditorIconAutoSave { - background-image: url(../icons/autoSave.png); - background-repeat: no-repeat; - width: 18px; - height: 18px; -} -.dijitEditorIconAutoSaveDefault { - background-position: -18px 0px; -} -.dijitDisabled .dijitEditorIconAutoSaveDefault { - background-position: -54px 0px; -} -.dijitEditorIconAutoSaveSetting { - background-position: 0px 0px; -} -.dijitEditorAutoSaveSettingDialog { - width: 21em; -} -.dijitEditorAutoSaveSettingInputArea { - margin-top: 0.3em; - margin-left: 2em; -} -.dijitEditorAutoSaveSettingInputArea .textBox { - width: 2em; -} -.dijitEditorAutoSaveSettingInputArea .boxLabel { - margin: 0em 0em 0em 0.3em; -} -.dijitEditorAutoSaveSettingButtonArea { - text-align: right; - margin: 0.3em 0em 0em 0em; -} -.lucid .dijitEditorAutoSaveSettingDialog { - width: 22em; -} -.lucid .dijitEditorAutoSaveSettingInputArea .textBox { - width: 2.5em; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Blockquote.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Blockquote.css deleted file mode 100644 index 03306e62..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Blockquote.css +++ /dev/null @@ -1,14 +0,0 @@ -.dijitAdditionalEditorIconBlockquote { - background-image: url(../icons/blockquote.png); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} -.dijitDisabled .dijitAdditionalEditorIconBlockquote { - background-image: url(../icons/blockquoteDisabled.png); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Breadcrumb.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Breadcrumb.css deleted file mode 100644 index 843946c8..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Breadcrumb.css +++ /dev/null @@ -1,10 +0,0 @@ -.dojoxEditorBreadcrumbArrow .dijitDownArrowButton { - width: 10px; -} -.dojoxEditorBreadcrumbArrow .dijitArrowButtonInner { - background-image: url(../icons/breadcrumbDown.png); - background-repeat: no-repeat; - background-position: center center; - width: 8px; - height: 8px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/CollapsibleToolbar.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/CollapsibleToolbar.css deleted file mode 100644 index 8a128d1a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/CollapsibleToolbar.css +++ /dev/null @@ -1,148 +0,0 @@ -.dojoxCollapsibleToolbarContainer { - border-collapse: collapse; - padding: 0px; - margin: 0px; - border-style: none; -} -.dojoxCollapsibleToolbarCollapse { - cursor: pointer; -} -.dojoxCollapsibleToolbarExpand { - cursor: pointer; -} -.claro .dojoxCollapsibleToolbarCollapse { - background-image: url(../images/claro/collapse.png); - background-repeat: no-repeat; - background-position: center center; - width: 12px; - height: 12px; -} -.claro .dojoxCollapsibleToolbarExpand { - background-image: url(../images/claro/expand.png); - background-repeat: no-repeat; - background-position: center center; - width: 12px; - height: 12px; -} -.claro .dojoxCollapsibleToolbarContainer { - background-color: #F1F1F1; -} -.claro .dojoxCollapsibleToolbarControl { - vertical-align: top; - border-bottom: 1px solid #ccc; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - margin-bottom: 1px; -} -.tundra .dojoxCollapsibleToolbarCollapse { - background-image: url(../images/tundra/collapse.png); - background-repeat: no-repeat; - background-position: center center; - width: 12px; - height: 12px; -} -.tundra .dojoxCollapsibleToolbarExpand { - background-image: url(../images/tundra/expand.png); - background-repeat: no-repeat; - background-position: center center; - width: 12px; - height: 12px; -} -.tundra .dojoxCollapsibleToolbarContainer { - background-image: url(../images/tundra/sidebar.png); - background-repeat: repeat-x; - background-position: top left; - background-color: #CCCCCC; -} -.tundra .dojoxCollapsibleToolbarControl { - vertical-align: top; - border-bottom: 1px solid #ccc; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; -} -.soria .dojoxCollapsibleToolbarCollapse { - background-image: url(../images/soria/collapse.png); - background-repeat: no-repeat; - background-position: center center; - width: 12px; - height: 12px; -} -.soria .dojoxCollapsibleToolbarExpand { - background-image: url(../images/soria/expand.png); - background-repeat: no-repeat; - background-position: center center; - width: 12px; - height: 12px; -} -.soria .dojoxCollapsibleToolbarContainer { - background-image: url(../images/soria/sidebar.png); - background-repeat: repeat-x; - background-position: top left; - background-color: #CCCCCC; -} -.soria .dojoxCollapsibleToolbarControl { - vertical-align: top; - border-bottom: 1px solid #ccc; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; -} -.nihilo .dojoxCollapsibleToolbarCollapse { - background-image: url(../images/nihilo/collapse.png); - background-repeat: no-repeat; - background-position: center center; - width: 12px; - height: 12px; -} -.nihilo .dojoxCollapsibleToolbarExpand { - background-image: url(../images/nihilo/expand.png); - background-repeat: no-repeat; - background-position: top left; - width: 12px; - height: 12px; -} -.nihilo .dojoxCollapsibleToolbarContainer { - background-image: url(../images/nihilo/sidebar.png); - background-repeat: repeat-x; - background-position: top left; - background-color: #CCCCCC; -} -.nihilo .dojoxCollapsibleToolbarControl { - vertical-align: top; - border-bottom: 1px solid #ccc; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; -} -.dijit_a11y .dojoxCollapsibleToolbarCollapse { - border-style: outset; - border-width: 3px; - border-color: black; - width: 1.5em; - height: 100%; - text-align: center; - vertical-align: middle; -} -.dijit_a11y .dojoxCollapsibleToolbarExpand { - border-style: outset; - border-width: 3px; - border-color: black; - width: 1.5em; - height: 100%; - text-align: center; - vertical-align: middle; -} -.dojoxCollapsibleToolbarCollapseText { - display: none; -} -.dojoxCollapsibleToolbarExpandText { - display: none; -} -.dijit_a11y .dojoxCollapsibleToolbarCollapseText { - display: inline; - padding: 3px; - font-weight: bold; -} -.dijit_a11y .dojoxCollapsibleToolbarExpandText { - display: inline; - padding: 3px; - font-weight: bold; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/FindReplace.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/FindReplace.css deleted file mode 100644 index 5075ac6a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/FindReplace.css +++ /dev/null @@ -1,59 +0,0 @@ -.dijitEditorIconsFindReplace { - background-image: url('../icons/editorIconsFindReplaceEnabled.png'); - background-repeat: no-repeat; - width: 18px; - height: 18px; - text-align: center; -} -.dijitDisabled .dijitEditorIconsFindReplace { - background-image: url('../icons/editorIconsFindReplaceDisabled.png'); - background-repeat: no-repeat; - width: 18px; - height: 18px; - text-align: center; -} -.dijitEditorIconFindString { background-position: 0px; } -.dijitEditorIconFind { background-position: -18px; } -.dijitEditorIconReplace { background-position: -36px; } -.dijitEditorIconReplaceAll { background-position: -54px; } -.dijitEditorFindReplaceCheckBox { - padding-left: 10px; - padding-right: 10px; - text-align: center; -} -.dijitEditorFindReplaceTextBox { - padding-top: 3px; - padding-bottom: 3px; - padding-right: 5px; -} -.dijitEditorFindReplaceTextBox .focusTextBox { - width: 13em; -} -.tundra .dijitEditorIconsFindReplaceClose { - background-image: url('../icons/tundra/close.png'); - background-repeat: no-repeat; - width: 18px; - height: 18px; - background-position: center; -} -.soria .dijitEditorIconsFindReplaceClose { - background-image: url('../icons/soria/close.png'); - background-repeat: no-repeat; - width: 18px; - height: 18px; - background-position: center; -} -.nihilo .dijitEditorIconsFindReplaceClose { - background-image: url('../icons/nihilo/close.png'); - background-repeat: no-repeat; - width: 18px; - height: 18px; - background-position: center; -} -.claro .dijitEditorIconsFindReplaceClose { - background-image: url('../icons/claro/close.png'); - background-repeat: no-repeat; - width: 18px; - height: 18px; - background-position: center; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/InsertAnchor.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/InsertAnchor.css deleted file mode 100644 index 2d2966d2..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/InsertAnchor.css +++ /dev/null @@ -1,14 +0,0 @@ -.dijitAdditionalEditorIconInsertAnchor { - background-image: url(../icons/anchor.gif); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} -.dijitDisabled .dijitAdditionalEditorIconInsertAnchor { - background-image: url(../icons/anchorDisabled.gif); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/InsertEntity.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/InsertEntity.css deleted file mode 100644 index 0f4dc067..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/InsertEntity.css +++ /dev/null @@ -1,59 +0,0 @@ -.dijitAdditionalEditorIconInsertEntity { - - background-image: url(../icons/insertEntity.png); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} -.dijitDisabled .dijitAdditionalEditorIconInsertEntity { - - background-image: url(../icons/insertEntityDisabled.png); -} -.dojoxEntityPalette { - - border: 1px solid #999; - background: #fff; - -moz-border-radius: 3pt; -} -.dojoxEntityPaletteCell { - - border: 1px dotted gray; - width: 20px; - line-height: 18px; - overflow: hidden; - z-index: 10; - text-align: center; -} -.dojoxEntityPaletteCellHover, .dojoxEntityPaletteCellActive, .dojoxEntityPaletteCellFocused { - width: 18px; - line-height: 16px; - overflow: hidden; - cursor: default; - border:1px dashed #000; - outline:1px dashed #dedede; -} -.dojoxEntityPalettePreviewTable { - table-layout: auto; - font-size: 1em; - width: 100%; -} -.dojoxEntityPalettePreviewHeader { - font-size: .8em; - padding: 3px 3px 3px 3px; -} -.dojoxEntityPalettePreviewDetailEntity { - font-size: 3em; - font-weight: bold; - width: 1em; - text-align: center; -} -.dojoxEntityPalettePreviewDetail { - font-size: 1em; - vertical-align: middle; - font-weight: bold; - padding: 3px 3px 3px 3px; -} -.dijit_a11y .dojoxEntityPaletteCell { - background-color:transparent !important; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/LocalImage.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/LocalImage.css deleted file mode 100644 index f36e18b1..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/LocalImage.css +++ /dev/null @@ -1,11 +0,0 @@ -.dijitEditorEilDialogTitle { - font-weight: bold; - margin-bottom: 0.6em; -} -.dijitEditorEilDialogDescription { - white-space: normal; - margin: 0em 0em 0.3em 0em; -} -.dijitEditorEilDialogField{ - width: 20em; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/PageBreak.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/PageBreak.css deleted file mode 100644 index 1a2bcd66..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/PageBreak.css +++ /dev/null @@ -1,14 +0,0 @@ -.dijitAdditionalEditorIconPageBreak { - background-image: url(../icons/pageBreak.gif); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} -.dijitDisabled .dijitAdditionalEditorIconPageBreak { - background-image: url(../icons/pageBreakDisabled.gif); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/PasteFromWord.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/PasteFromWord.css deleted file mode 100644 index dc5bef40..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/PasteFromWord.css +++ /dev/null @@ -1,25 +0,0 @@ -.dijitAdditionalEditorIconPasteFromWord { - background-image: url(../icons/pasteFromWord.png); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} -.dijitDisabled .dijitAdditionalEditorIconPasteFromWord { - background-image: url(../icons/pasteFromWordDisabled.png); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} -.tundra .dijitPasteFromWordEmbeddedRTE .dijitEditor, -.nihilo .dijitPasteFromWordEmbeddedRTE .dijitEditor { - border-color: #BFBFBF; - border-style: solid; - border-width: 1px; -} -.soria .dijitPasteFromWordEmbeddedRTE .dijitEditor { - border-color: #CCCCCC; - border-style: solid; - border-width: 1px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Preview.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Preview.css deleted file mode 100644 index 201cd9d8..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Preview.css +++ /dev/null @@ -1,14 +0,0 @@ -.dijitAdditionalEditorIconPreview { - background-image: url(../icons/preview.png); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} -.dijitDisabled .dijitAdditionalEditorIconPreview { - background-image: url(../icons/previewDisabled.png); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Save.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Save.css deleted file mode 100644 index a7f702d6..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Save.css +++ /dev/null @@ -1,14 +0,0 @@ -.dijitAdditionalEditorIconSave { - background-image: url(../icons/save.png); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} -.dijitDisabled .dijitAdditionalEditorIconSave { - background-image: url(../icons/saveDisabled.png); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/ShowBlockNodes.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/ShowBlockNodes.css deleted file mode 100644 index 1f99fe62..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/ShowBlockNodes.css +++ /dev/null @@ -1,14 +0,0 @@ -.dijitAdditionalEditorIconShowBlockNodes { - background-image: url(../icons/showBlockNodes.png); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} -.dijitDisabled .dijitAdditionalEditorIconShowBlockNodes { - background-image: url(../icons/showBlockNodesDisabled.png); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Smiley.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Smiley.css deleted file mode 100644 index 7adfbc9d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Smiley.css +++ /dev/null @@ -1,33 +0,0 @@ -.dijitAdditionalEditorIconSmiley { - - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; - background-image: url(../icons/smiley.gif); -} -.dijitDisabled .dijitAdditionalEditorIconSmiley { - - background-image: url(../icons/smileyDisabled.gif); -} -.dijitEditorSmileyPalette { - border: 1px solid black; - background: white; - overflow: hidden; - overflow-x: hidden; - overflow-y: hidden; -} -.dijitEditorSmileyPalette .dijitPaletteCell { - height: 23px; - width: 27px; -} -.dijitEditorSmileyPalette .dijitPaletteImg { - border: none; - height: 20px; - width: 20px; - padding: 2px 2px; -} -.dijitEditorSmileyPalette .dijitPaletteCellHover .dijitPaletteImg { - border: 1px solid black; - padding: 1px 1px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/SpellCheck.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/SpellCheck.css deleted file mode 100644 index 0c2beb54..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/SpellCheck.css +++ /dev/null @@ -1,43 +0,0 @@ -.dijitEditorSpellCheckIcon { - background-image: url(../icons/spellcheck.png); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} -.dijitEditorSpellCheckBusyIcon { - background-image: url(../images/checking.png); - background-repeat: no-repeat; - background-position: center center; - display: inline-block; - zoom: 1; - *display: inline; - width: 16px; - height: 16px; - margin: 0em 0.5em 0em 0.5em; -} -.dijitEditorSpellCheckTable .dijitEditorSpellCheckBox { - width: 15em; -} -.dijitEditorSpellCheckTable .listHeight { - height: 5em; -} -.dijitEditorSpellCheckTable, -.dijitEditorSpellCheckTable td { - border: none; - border-width: 0px; - vertical-align: top; -} -.dijitEditorSpellCheckTable .alignBottom { - vertical-align: bottom; -} -.dijitEditorSpellCheckTable .blockButton, -.dijitEditorSpellCheckTable .dijitButtonNode { - display: block; -} -.dijitEditorSpellCheckTable .topMargin { - margin-top: 0.56em; -} -.dijitEditorSpellCheckTable .hidden { - display: none; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/StatusBar.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/StatusBar.css deleted file mode 100644 index 6560704b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/StatusBar.css +++ /dev/null @@ -1,102 +0,0 @@ -.dojoxResizeHandle { - float: right; - position: absolute; - right: 2px; - bottom: 2px; - width: 13px; - height: 13px; - z-index: 20; - background-image: url(../../../../layout/resources/icons/resize.png); - line-height: 0px; -} -.dijitRtl .dojoxResizeHandle { - float: right; - left: 0px; - right: auto; - background-image: url(../../../../layout/resources/icons/resizeRtl.png); -} -.dojoxResizeNW { - cursor: nw-resize; -} -.dijitRtl .dojoxResizeNW { - cursor: ne-resize; -} -.dojoxResizeNE { - cursor: ne-resize; -} -.dijitRtl .dojoxResizeNE { - cursor: nw-resize; -} -.dojoxResizeW { - cursor: w-resize; -} -.dojoxResizeN { - cursor: n-resize; -} -.dojoxResizeHandleClone { - position:absolute; top:0; left:0; - border:1px dashed #666; - z-index:999; -} - -.dojoxEditorStatusBar { - overflow: hidden; - vertical-align: bottom; - padding: 2px; -} -.dojoxEditorStatusBar table { - width: 100%; -} -.dojoxEditorStatusBar .dojoxResizeHandle { - position: static; - padding: 0px; - vertical-align: bottom; -} -.dojoxEditorStatusBar .dojoxEditorStatusBarText{ - height: 1.5em; - vertical-align: middle; - width: 100%; - overflow: hidden; -} -.claro .dojoxEditorStatusBar { - background-color: #F1F1F1; -} -.claro .dojoxEditorStatusBar .dojoxEditorStatusBarText{ - border-style: solid; - border-width: 1px; - border-color: #B5BCC7; - -} -.tundra .dojoxEditorStatusBar { - background-color: #EAEAEA; -} -.tundra .dojoxEditorStatusBar .dojoxEditorStatusBarText{ - border-style: solid; - border-width: 1px; - border-color: #CCCCCC; - -} -.nihilo .dojoxEditorStatusBar { - border-style: solid; - background-color: #FFFFFF; - border-width: 1px; - border-color: #CCCCCC; -} -.nihilo .dojoxEditorStatusBar .dojoxEditorStatusBarText { - border-style: solid; - border-width: 1px; - border-color: #CCCCCC; - -} -.soria .dojoxEditorStatusBar { - border-style: solid; - background-color: #BDD6F0; - border-width: 1px; - border-color: #698FB3; -} -.soria .dojoxEditorStatusBar .dojoxEditorStatusBarText { - border-style: solid; - border-width: 1px; - border-color: #698FB3; - -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/TextColor.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/TextColor.css deleted file mode 100644 index cea8f99f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/TextColor.css +++ /dev/null @@ -1,107 +0,0 @@ -.dojoxColorPicker { - padding:8px; - -moz-border-radius:4pt; - -webkit-border-radius:5pt; - -webkit-drop-shadow:3pt; -} -.dojoxColorPickerRightPad { - padding-right: 8px; -} -.tundra .dojoxColorPicker { - background:#ededed; - border:1px solid #ccc; -} -.dojoxColorPickerBox { - position:relative; - width:150px; - height:150px; - margin:0; - padding:0; -} -.dojoxColorPickerUnderlay { - position:relative; - top:0; left:0; - width:150px; - height:150px; - z-index:1; -} -.tundra .dojoxColorPickerUnderlay { - border:1px solid #a0a0a0; -} -.claro .dojoxColorPicker { - background:#ededed; - border:1px solid #cdcdcd; -} -.claro .dojoxColorPickerUnderlay { - border:1px solid #cccccc; -} -.dojoxHuePickerUnderlay { - position:relative; - top:0; left:0; - height:150px; - width:20px; - z-index:1; - text-align: center; -} -.dojoxHuePicker { position:relative; top: 0px; left: 0px; padding: 0px;} -.dojoxHuePickerPoint { - position:absolute; - top:0; left:0; - width:20px; - height:8px; - z-index:3; - cursor:move; -} -.dojoxColorPickerPoint { - position:absolute; - width:10px; - height:10px; - border:0; - z-index:3; - cursor:move; -} -.dojoxColorPickerPreview { - display:block; - width:45px; - height:45px; - border:1px solid #333; - background-color:#fff; - position:relative; - top: 0px; - left: 0px; -} -.dojoxColorPickerWebSafePreview { - display:block; - width:25px; - height:25px; - position:relative; - top: 0px; - left: 0px; - border:1px solid #333; -} -.dojoxColorPickerOptional { - position:relative; - top: 0px; - left: 0px; - height: 100%; -} -.dojoxColorPickerOptional table { - border-spacing: 4px; -} -.dojoxColorPickerPreviewContainer table { - border-spacing: 6px 0px; -} -.dojoxColorPickerOptional input { - border:1px solid #a7a7a7; - width:25px; - padding:1px 3px 1px 3px; - line-height:1.1em; -} -.dojoxColorPickerHex input { - width:55px; -} -.dojoxEditorColorPicker { - overflow: hidden; - overflow-x: hidden; - overflow-y: hidden; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/editorPlugins.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/editorPlugins.css deleted file mode 100644 index 643c54fa..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/editorPlugins.css +++ /dev/null @@ -1,159 +0,0 @@ - -.EditorTableDialog{ -} -.EditorTableDialog .etdTable{ - border:none; - table-layout:fixed; - border-collapse:collapse; -} -.EditorTableDialog .etdTable td{ - border:#CCCCCC 0px solid; - padding:5px; -} -.EditorTableDialog .etdTable td.inner{ - padding:0px; -} -.EditorTableDialog .dijitTextBox{ - width:50px; - padding-left:3px; -} -.EditorTableDialog .dijitComboBox{ - width:85px; - padding-left:5px; -} -.EditorTableDialog label{ - float:right; - margin:0; - margin-right:5px; -} -.EditorTableDialog .cellpad{ - background:url(images/cellpad.png) no-repeat 5px; -} -.EditorTableDialog .cellspace{ - background:url(images/cellspace.png) no-repeat 5px; -} -.dialogButtonContainer{ - text-align:right; - margin-top:10px; - cursor:pointer; -} -.colorSwatchBtn{ - display:block; - border:#666666 2px solid; - background-color:#CCCCCC; - width:16px; - height:16px; - cursor:pointer; -} -.colorSwatchBtn:hover{ - border:#0099FF 2px solid; -} -.colorSwatchBtn div{ - background-color:#CCCCCC; - width:16px; - height:16px; - cursor:pointer; -} -.editorIcon{ - background-image:url(images/tableIcons.png); - background-repeat: no-repeat; - width: 18px; - height: 18px; - text-align: center; -} -.editorIconUploadImage{ - background:url(images/uploadImageIcon.gif) no-repeat 0px 4px; -} -.editorIconInsertTable{ - background-position:0px 0px; } -.dijitDisabled .editorIconInsertTable{ - background-position:-162px 0px; } -.editorIconInsertTableRowBefore{ - background-position:-36px 0px; } -.dijitDisabled .editorIconInsertTableRowBefore{ - background-position:-198px 0px; } - -.editorIconInsertTableRowAfter{ - background-position:-54px 0px; } -.dijitDisabled .editorIconInsertTableRowAfter{ - background-position:-216px 0px; } -.editorIconInsertTableColumnBefore{ - background-position:-72px 0px; } -.dijitDisabled .editorIconInsertTableColumnBefore{ - background-position:-234px 0px; } - -.editorIconInsertTableColumnAfter{ - background-position:-90px 0px; } -.dijitDisabled .editorIconInsertTableColumnAfter{ - background-position:-252px 0px; } - -.editorIconDeleteTableRow{ - background-position:-108px 0px; } -.dijitDisabled .editorIconDeleteTableRow{ - background-position:-270px 0px; } - -.editorIconDeleteTableColumn{ - background-position:-126px 0px; } -.dijitDisabled .editorIconDeleteTableColumn{ - background-position:-288px 0px; } - -.editorIconColorTableCell{ - background-position:-144px 0px; } -.dijitDisabled .editorIconColorTableCell{ - background-position:-306px 0px; } -.editorIconModifyTable{ - background-position:-18px 0px; } -.dijitDisabled .editorIconModifyTable{ - background-position:-180px 0px; } -.RichTextEditable .dijitTextBox, -.RichTextEditable .dijitComboBox, -.RichTextEditable .dijitSpinner { - width: 5em; -} -.dojoxDropDownSelect { - background:#FFFFFF url(images/dropBk.png) repeat-x scroll left top; - border: 1px solid; - border-top-color:#cccccc; - border-right-color:#cccccc; - border-left-color:#999999; - border-bottom-color:#ffffff; -} -.dojoxDropDownSelect.dojoxDropDownSelectHover{ - background-image:url(images/dropBkOver.png); -} -.dojoxDropDownSelect button{ - line-height:16px; - height:16px; - width:100px; - text-align:left; - color:#8397b9; -} -.dijitButtonNode .dijitArrowButtonInner{ - - background:url(../../../../dijit/themes/tundra/images/spriteArrows.png) no-repeat left top; - width:7px; -} -.dojoxEditorUploadNorm{ - font-family:Arial; - font-size:12px; - - - vertical-align: middle; - - margin:0; - line-height:normal; - text-align:center; - white-space: nowrap; - - cursor: pointer; - background: #ccc url("images/uploadImageIcon.gif") no-repeat 2px 2px; -} -.dojoxEditorUploadHover{ - background: #ccc url("images/uploadImageIcon.gif") no-repeat 2px 0px; -} -.dojoxEditorUploadActive{ - background: #ccc url("images/uploadImageIcon.gif") no-repeat 2px 4px; -} -.dojoxEditorUploadDisabled{ - background: #ccc url("images/uploadImageIcon.gif") no-repeat 2px 2px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonAngel.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonAngel.gif deleted file mode 100644 index 8841b9b6f0ce80be99dd67baf25a9026d46e96b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3908 zcmdUxX;f3!9>s4U6Dp9zFd85Ms%Qa&6p4yL!Vo~zAV^X10fGvOOlpf(fslj%GO8%F zRvF?v5FBu#kO0bP4Ksoa2|-doOqdLi;emZxtM+|(-`=;o*17kdv-W@Q{X1kg7s8rA z6rc^fQv!#g!b@(PuC6F)tS*wtX5vo7Oif5c&lYDK!;d`2wmpB?*;vMTa_2?m^@$2# zoC}PX10jJPouy`1(w8QO;9KkN6Kqe%#~$Udvsh=g&(27P2fALhRFqxNm5dI~NTa(3l@dIG+JTTJ?mo@-z?*MO$f#fi}Qi#isT{=|@jQs}u zQ2@w$bQOL2vo8@dEeqb&&3&k$=vyN1)=>%!<-K~{ry;`}XvZ07XBLEZ057}@8MzKT zh|`&>0mKghd7nPN5TYD3nW_WggYi`tbQA(ZS=Zu+bRFsMDvEw1Sr>Y!40`W`Zb}3` z?GT3NkUxW`9q(s}KrKK^MOdgNd(%f{0u}9d~Io*Ykwjg*nj5v7)y}iBcEc{7Y zR6CE8l^B%}6LdZI$JXC`1TWI*wD<>Sw10nIFY7g|yt1y8wY`B`*wNlTTBq6Fz`RtL zm!F?MJzSJ_Vpm`Duls{GKP_W7vyrV2Fv?ViUtU^5*>t1}O8I_L$*uY6UJXsfQ(FmGhc9DSqJ_Cl{==iy7(Qs(zyBN`Kk(yrw?* zO_&@#0XyW}t<_S=-K;i$?G=;)yG4hq;2E)sFcF(yWQ1HpI^IAvyF98xGlkm;_NICqhQ11fQZvVI#~R#VV=@hlbrw#vs(_BJfvV93HFQS=nrH~VtX zE3gwrwd=$3q+$s;S!-29fOaXtGzI5C?`y0^;BZ2O6Ux*3a}ia5Ib*{ifXzWT{Jp#tHcAlhYhrHabmU-&ZstL6d#X6!!0p}{p(BzYtdla7E~sK^U-tU9S{ zz5i8Baba}^)-eU+c867a+RW?nqR;mED@W+7)aJS0z!FGSD{v&NgWcTDTwI0L6?{l% zKyiP${&&%RoGhA)`bpcpP7XZWDV8(dxZxp{UBht8JcU_P@lE4d$32#4y_iA{-84yG z&#LKZz2>rQm;LglBN9)Vrj&{Mii2R9=Js^+TI>G)Jnes#Nyi^JE-1hMJ}h8it7X_h zasNKYqH=TZJSR0hQ4-QnE_=xftn{}xj;2d5)Ob^m?(4^{!(FDc_S~|!AY$RWN%SQokXm9MX`!qn9* z9m78rQlGy{Ck0*V89+igrKRfrAsAquUg2dqBD1Y@MmhV(h&zgDu(L*_v%*|S(X+oa ze)OS`igt-Q`>J0&3y9l()ghT=Le4XBiJ2JR=g3r#lPA?61wotLtulY~Xlv|`-aB7N zo=2Gr7d9$fA8`H1$-gX%^{EJrW-xa(tv@E-S@;x$`p%pfHce%a0}a+n<(_k=%HCjM zB90pCPq8<45=ggtkzgvP@FyM(T{9Mv&puMz15>d{YLF6T&Sr@Oo0f_7Ca|mYJkVP? zKFW!Euq6~}U*%#~U*fYRZWiF?k4;41jGWGHa<{NRBfc&(^{lIMW(Gcsk0H^LI~&e&K2C z%vU_^pGLGOJuVrHV4`D>bH9rU*z2mUzwgP!{doX9`vd@D(cp_jjU|d1WR^))^?3}T zD!7Ncovg_#cmtMLL0=nKn)}Wk>Rx)-;G6IZ(qy%H0L1P32!I-J@c>NQF#U+A?;Y6< zVdFE?5SYrTuFd#Xk%UO@-=by!cdgL1ym2KZ(`dVNrWplJz%E6%Om5lsdH-jA-v5c- zI)Ceb%2I>G9Uj)Z{z>(3%{#CQ;2@QJ7s6I?QGR9Ir?ia`@tWh^afY!&E%8B>o1h;1 z`-1QA;aH7`0NS|%zqR@{gqaHGy7V2yPL{wRf+%2?%WS{pW`p$3;up7KfQ;zgRI$d{k{CK^mTr|ys3RpHVv(He`P13 znZV93{XRywq`MGSZnFb}C7z~1-$Nscee)wVVEaC&#$~IW>$kxrj@q>8LTAK#2p|6% zgl~R61Q#F7r$Yd5wU`{pjp!bj_>&)MA1U#%z2%3zRkD{a(jtWHz_Rllw6wIt5D+>* zrI=urN18=)zQHc_3ErQ_*$VeiB`AIphB{nADB(!~6W6>{vrSj)A$)1iYz_>MJ-@+i ztb$|vMErVek>TUW`G#-ACl(!iN%+m|$lLRD?VTFgk0`9b4bgg?ze-D1f^1jXpZCs< zrVf?s!FMu7t0N{O4mS}tEjoS^}9^}80&!A$F8=U zttUa;(fVst46G^&FWN6z8zvnlJEbFx4n_AN?jBTS{FkYjSS>>8Hrcl zea~>sbj*C!BlTk5SAE=k*K6owOJtl1)q5HSGKHC1!83OweH-HsJygZdKpl37chb%2 zzC_j{$ub#1iV!3ioPZ~C1C_5R9P|de%tQo{!snp&;XPeJKghkRAfJ{#QJZYrfOkSC z0wlQMiA7e~?soZ!uZ}vc`7;^+bTRrryP5uP$v}UZjKiNKgXxm?1$O)6tVNy-gne*S zj{OcWh>G=~u-olz(RhZYCJX0;_yC3Y9ZGZ**D%b1Pt)9j4TR`L1Z?A}TQB;EUkn84 Pe_^_9mpTLj2G;!>8;AWQ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonAngry.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonAngry.gif deleted file mode 100644 index 8290ee09799add3e126575abcddcfa30642dda6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1094 zcmZ?wbhEHb6k-r!cvivi|Ec2tXUhK{%YWF$@cRb;|0fE6ZVG0^`+Psm@cTONsZ*!^ zKa&0bOsS!+^7|Qv-?s$+KT&+MnxVe7;{Ox*mx~yF-xPR0hvDyC@qZ7b-fv=fzmcIc z$6#Td+VAUpzpik7KgIC(p2Uak44?Kg{5Zq#?}7BM%N+k6%Km>O_xHZ!x04KiZVUgp zEz)1D-SuEb1ZIG4Z^Y?*NXQuv~LbW|JB>vr(>@79;c#8Ym35G9+ z7&aWo}GiTi&Pk;~dlL18o29OJyYb zyxPaskYe!fk!(k%!Sk)GTWTe?*Nfkn#MYH>@OeMO{h4f^4>G(x$oBaV!?#lmA9gVO z1N!KW*peknT3T98pFW+Jmp5a^jBD4f{ePZPUS0#{2lRDCSiTXi^9n99l-7_OA5iE2tow>h$LKPoTfc`mHQ!EDtY^?~&<57Uk4 zhY1HnU1F^wG!1kg@HU3XtvTtSCfF;az~aDA@Z7I~fuW;fgtBlip?^pR%txUVB#%M5+eMl zlT}%$?BUBRO6_fo%tkH?HXQcWa-Sf=m-C@;S(k(XyNRV#$cunQu6<05;D8bV1r$32 z7Xvc`D=?sV8+aHiT6kJ2wA%SJ8xcW?P{GwuUe4Im+Q!iYksbyHOap}h3oryY8F+wU zpwm#1SJBeK(#q7)QeIxcTES4!(>i79wCOXZ@i5MuRxT`@+dD-|n}0f=W-C${Kn&mp p8lcorQ4TbqxvjNby|k&fRHJp`q{%=7rt(ZuE1xrA(j1^RYXBxNgI)jt diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonCool.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonCool.gif deleted file mode 100644 index 3583c92be718637055c139a60dd6fdcebeaa0645..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1041 zcmZ?wbhEHb6k-r!xN63b5$}_k=#!V1S6^FUY&^3wQ@T))3szqQz) zx747o%3w~R+V*(m}V0+H&0@DpW2am;`gSp-Ji*JWU=`3ISdaM zvp!kI`f?G&+jR`jx3a$9#PDVx+lTE8pZ7DoJ;?UPhxHY=k};|(=1%Oc(!eeaAqyv8CR#LrJ>AWXvWgn)!oCwVA9K?Ke5xTcXCfl zCzEQo{`_v876}$6C9V4TtLE!1Qk3u%Ppn%#KS^Dl--}bDX5}h9mKHfyZ$?E89i7^I zmJ)f1{z@K|y)#whrQ5QY1(mOAJXBY{$ye?i%Pu3YtgLubf-S=@fPq6;QbK@(Ahwp`LV=z;qtz> zD;3Vg=s)u6kXRRUDe;H3*rArkCR=LfUOIX`thV0v)5P-nCJ(l#8b@Sj!Gd}*&`=K@ zseTVd-%SQ9BhHI(l}xzMwzcu;&8(eK7eq9TR@~%xv8BqlWA07;vRP`)n*$Y1d=}5! z`zTXKLs^7{NmWO$u&$oPSg%Q0f(aP1y7e<>PNox~C=B!aSe9@Bq7; NCV>GnbVvn;H2_6dWQ_m- diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonCrying.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonCrying.gif deleted file mode 100644 index 9e9c6acae8bc63cfe7b9ab930bf077330859be69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4994 zcmeH~`%@EF6vuBKy9tm$2vHKsD?%v>%8pu#Iw}m%`k+dcaazZ>KtZX3s7dY}6gRth zfCPdfNI|18Vto{;57N0cg0{&|JCk$Hz4P7g zIeR`I%y>U~;xYx0g1ZQ;UcH*4sG6FZix)4JmzQ6=c8$3+qW3spx`SW;wVTm;M=<%0uYQ?9zN-J9tSV!D-m*FAeG!OKhF(O2M6 zJ$QB1{dqHZeM9!51sF4l*Ef8A-2?i5lDxVieDV$GZ2-GBhB0?X*gM|p|Jk?y7ddk` z#NHXuu*vu7Y0z1XovrpwUzTW6MLpOLo;HG`x$=x)OXk6S#9>BKMF@t?P1r*_IK zv%{XA0k?MGZQF2TM%05-coB+v-U9Mch{7B~yNXC(n)sUy-<(18T7kXO|GpJ7L4xTD z?B0vnZ~3iUp15hFI)4q(e@kKS@T)b26(PcYOY!71u-^`{cLnx$_%S^p_O5`J-*MyP z8HU+0?h-R@+z$2$4EZS;kJ$;y^WtKY62^`pcpUaG>oZV18ZpJul8D#3ZbwyQ|vQxCBIqEOP@XZdt9iHDd4Ji64N}2+qs{3MgD-x zWcX7U791GDZAYB(QldCm>^Gh#pPm?99GW)`EaA^=iZkyC6e(r?hq)b{Qt@(8KD8ls zmLMeH7?!lQ@!WKCP;s)M^Kg~eTfEpWS+e(R>Be^ap1g^(fU5prck@0;YSrl}e5z$CW#lQZ_aG^sz>>uhOQmg$-I#baQ)v%%>$q>;zB~{wLX;yj2 zDVbC%6iNp)JLHfo6^Br99d}ArSmcmQ3LTnVBb=I5amKrepzuKi{u+k*c!s*Qy4lK* z@T)~vbV`ck%?GlDdtyc0DeAFlSABZO?Vj(4PIb3*Qw4N*U2e==B_5kSA%47d`0liC zSGhNCvyOfA0|;0VeJ`8C*D8SW!_XMQV!$I1jYG^~LT2qQ zvsWyHqFS-P88hnnrZv!M3@A3Pi_@% diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonEyebrow.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonEyebrow.gif deleted file mode 100644 index bb150ef47718ee1d35f68daa074975ffea156d5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 836 zcmZ?wbhEHb6k-r!cvivi|C!SNCkp?cDgS>g|6v=$?;HGoZVEQkRh~L^>i-k@?`Ie? z;(h)(Kd=A6kyW;;I%Km#G{qKQPUzNe~KDE~e z*ltW=yET!ux7c7ui}VrV;*upxT3T98pFW+Jmp5a^jBD4f{eP*xa@fwLRGcz(WYn1Z|`xI9cCfTcs zY+)426DrLSGxz3hjptP_XDrRjD=jZmQ;<-UZ*ybgVJ<5#Wq4M`Db2^C->&_E@fo8) zfqtVHD@%kz(?iFu9aT(+1oki`y0t5H&Wc!J&~VFvk?D@gP5~7sUROI45eLHsG7JoP z?;HXqs2-l;8qwCF5pd9@i6t!Mn}EC8fCEbe z6j+=L%nU3HoWQ^mX;4>Xt*9t3Z)q)W?dk37Z_TY}1S?DdDdYkwV+Jb}YGBp?D$6O& kE3fDVD$MDICztNeZjs8XrEw&KldhW}6G|36XueM|7=B8Km$7@p5z`1e5i&u!sfmpQ(jWcc?` z_RnpR-`Dy6-WC6Kh3ow$hW8s87S^f#zA5nI3`1v*!H4Y(pY}5JmFxd|EZL8Hqlh_A_*3 z8Z23|q@|_h^y$-id3iHt%(!;#+W)6Y|NqZ4HlF$a|9=J?K=D7fpKD04vtxj(k)8oF zBT$**PZrh`hH?fSkQPuhF|hw{C~s;i$jdJ*%+D)m?kz7a%GL_c)Hk-XDJt$`=ZUf9 zVq=pv6Sa!xVQ((x58{fp;N}*WV^&dDN|;?<6v35TR>sQ0a*&xr&8Vonz|>N%tfYiR zh*7AdOwuHjvo(WDoVB!!k?}^Uw6c_gr*n-J@cGy#%W?H74jlrk!v3lBRHV=K>@|Wz{bGI zzzhs1k%n@XlJeFP#`4n6*6z}>vYyudMr;bj8p=z{%3I4y%UR1?+R6o4I$B#x1+gl{ HZl*N=(J@FY diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonGoofy.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonGoofy.gif deleted file mode 100644 index 8b4d860d51a39c715d2669731f3aaaf30ffe0982..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 828 zcmZ?wbhEHb6k-r!cvivi|B1r?XUhMdDgA#e|N932hiwcEb(Mc^3Z6Q3>i;9z-`9D+ zpJvF2_xXMXs8as_6UF-4iZ`nneqHAH|48oJNrrz9r2jpXeZPs}?_Kfda~OVK=lgMn z;nQA*&K!f6ix|G2V)(F~VPT!x`;82L?@9c=CHUvI$nTp1pY}8K78~@I8flpUTkm$_R|94-quU!A_aqb&a*#6uW-d-<$egy`*PG&u_Sp3E$wkOM2kIWOlH;rvet;DMx ztRGKtzuCw3a53wS7V&=%q(1Lw`1e@8ugc)pCH60e7?$^`{k<>QkYdo4Z}9p6+rNi0 zpARwodnEh!j#x&bPk*(3bGAWehQX_SY*|S@83{lUgN{stZzmXjoMZa;Nbc7auD=hY z{y$Y*vSi8sr%Ej?EvHYP&dbZ2F=NKHYuEn&pJ{A7^Z)<<4A_9;e{Mh5kYH!W09PYD z17=2`8pWS1tkW1O7<54DLD9s({=cE3si`Qxu(-G|zo@ylqO>F-M910BSTn7pw2y<$ z#+-|tT`E*wH;Ij-xl|yWE8c;VQ&fUQT1L@jc11}#m#Hu_GXq0;ISaQ!R7piqs;`9b zF$VrT{(^F$Fb|&AL@v>ChJw7j8)af@B1*DtZtR@QW#t7-&-pC5Sp(XmKQMe|Vc8MB z$dOT|<3z>-rVo7%;>^qMa27rESfnE4#1)83-o#Ft%Bp4C!bUcuYc2v%+cQqIP}#lX(M0#wceQl8t~ X*50Jn0Z{-p4^2TiNI`3RBZD;ni{48P diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonGrin.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonGrin.gif deleted file mode 100644 index 692a20131fea3979c70fe6846e4287f25d73c5c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 919 zcmZ?wbhEHb6k-r!cvi;n|FQi4Cknr>^PW0&DkI*fp|0}(BiRqz82&$1{Bu*VzP6&g z{LKGnO8=iJe?QIe|B+m0j=`BT|NlLZem;lc&1!~)b!z{g$bZ_)@c)V8`;81g&MK-uE9z!JZis`{qe>WE%W?Aoc4K``yW`4JiiOnk70j^)nNF?oDHxQ>gamw(#47Y+nvB zWF-1@22g9fR4F4X>e?G|Y;~dk!hce$zF?>19@c9tK?^}Yuu5f)j!SMH<#Q&#COO`BY zX=yoq`gC4i-i#SDu3fvfd-wm)&@;xyGynewqW=uIf#QE|Ki808XU70nBRvCVMxaW? zpDe7u7|IxQK)OKD#K8Wzp{%JXFDExYKQ||@xwovaz*ocG+tN;7rJ%5nnbp9YiIY># zNmkX6mASc)%Z90>gpEyTgOs?a`s}g-o%Q?-42+BnjwO83eg$QDR>sQwr6r6K93`az ziaus6t=ddN3>P^#vaf0CDM$*madWdhEXn41S}NxC)~LN$u=wx4|G%GIaoDonPu7x6 zP|oCpzw07PE@d?zi{-70YB^N(rW`(hVv%w&-ziDYqLjIo&O6@T5)4v4WGP&wQN3gV z(~(a0M76*Lr~Q_zGyI;ZFzJ+_3X?$B0|zH&4o2TTHc_i7850*ffc-53@;4&`I|Dxh zC(z%i4Pl&REv;>3eC)BDY>X1wJiOVH#UkX{Bju7ACr^x;l#rgH6s?$5T+A_%mv==* zsz{)0aB=C1?c3zzWXi&&wv-+`Sez6i(kjlkWqYxFd{8@kVkV!wLYj0)drPP!JG+v| zp4LW$%}hXBc^TM%HfuF-a|3N|Z7MEpDemcMDJ?GREGjLXGHpU@anYQ)MHAaPXUuHt z?p@FV(asNXI0w+->_F`X5bbScO~CN$>Fw+4DJm;10&1UHR#aS8JgL2PcI&(av*xrd OX#RiF|!+#hcX(zpwNCIK%LA5ySI241e!Q{JO&R?}7BM z%N*ZMGJM$1(3xZK_pbQ&Qw;AnG5onL@@X%_!aBA08yWsRl>L2E;NJtO-co}f=a@1Q zeOikRwlzz9KFH9OZ}9J-%!eHeduB*{-p}ym5W}sBtiLX?A6YEEyP*($aGJ^y$33ycsiQT)TGd|5GJn^g}&{QM$j3XZAlyv?OTAv|uuTwGG}ETYOP_OmNWVtB&K%bA#&53=yd>X%d$rKHQ3 zmz6OKl}V$iytTVLpn|!(HNTa)tgD=%tW{uQ#jLpt7S1it&+Tc=>*`it I(8yp702Nn1;Q#;t diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonHappy.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonHappy.gif deleted file mode 100644 index dc8f87f2aebcc2772df85e22d4ee64aec26b256a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 834 zcmZ?wbhEHb6k-r!cvjBv|C#dtXG;Gc%m06(@L?On|0nX_Pcxi4b*iDR^3P4d?`If( zU+4Y*NH!zh=l2c%|4$U(tY)aMt@yB=;ok%4ZzmbvZ)8|lr}lgf!>`L6{~pS|T*T0s zWAOVr->1C{Kh7|GKgIBV6T{!T;(zZ;*4I^ZX6oOV!uIP5*W2UVt;Gi0>&3sFV0gZj z_1`18Z>Jc(9A?N!@VPaS^~gN&h7^OllUeUgWBat9p*h>2uU!A*Den6-*`6$8?Z`BE zvybi74%Xi{1u_$Tew<_a_fY2VJ&FEm{VlZ;SxG+o=1KgyE&S^e`;HdzKet8R9%P$S zsP_2~!#|)OAIZI0#qf3=Lw~iw=YtFn7qf0_mUy*~EhEwA-y_)@lh}?d7Jq$!?el(y zu6%>WOoQHHgU$?t-co}-GbH+|4E{e?{;-4L%OQs4eQLjN3I2N^_4kh0zx$H^?o0iD zs<>pyl9ra1)2C18<>k$oG2_~`YyY1r{r^AH*m&mu|Nj|q0LA~@ey$E^Fcl~q1dAG0#^&gvXT;J z{#^c&GKn-R-d1OBVW!fu+}sQnQpu++d zC2g4|o(XIdd>qs>q8d(2(qLm#EL+9M!myxMR#;DANkGZtX6D3aOe`7ANBf$Lq&#$f zT|9jFBo8as27yF&4sj0ST_1m4I(Xn@!a*?(+!>SUyk=6jI CK}|UT diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonIdea.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonIdea.gif deleted file mode 100644 index 11af180c1c26e0d2bfec7cd74c563a6a878b7f4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 200 zcmV;(05|_fNk%w1VG;lm0JHx9|NsBMz`(4>tNQ=J!NPx{p#i$ORHC9x)6$l@u8^8fXJ!AeQwA zitv<`0S<877?y(tMbab%wKx=8K+|9tXQT!&u#glu9>6EmYg&jp-RNQ=c)eWVL{lhl zC%=k@6APU!&%vkRp|V_ZPkqJ;xELP*419eT7k=l%aw@y|`c|Bqxd z;(h)zF#La_`294)o7D{8&oI>2R=ixqu&_?;{U(NAmpT4Fl6$|A;rl6uzjwv|J&^ve zo#DqBhRz&==W`f7?FDL-|9zeB*CqDO41+hT81BzxyD^2WIosgheaX9%S)VLp?JYKV zvybiHWBJTPpSK6uj?5Ep%ryACpP{wb;M)m?S36ke6slz;`aE3B`scRD+vD85r3TxY zB|0;$7N?xe=Y9T z7EMa9>PuE!;c%eEzRavd%zV*XU5;K#?9+V1l1>L;d;ubwst9AHsWDc-lH)7;^J zV1w?mGYdDU3ifbaHp-e)_Us_PYq$Z!jTM4SlAN|;J69Y`RPj_bl3ViPSoTqNc4f&I zbC?%)N%AYtueP}M ZU9-Cs=giJ*V&UarW?IgX(bULb4FKmgH2eSn diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonNo.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonNo.gif deleted file mode 100644 index 03170dff58415f5750fac2f65546294dc52b3a78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3487 zcmeH|Sx{4V6vqEqZWh9lKp-JV2q8dVEM7>oQ7gTH011KvN-d?%NDym4P#krnDtH3{ z0}6&joS>AE#RWUI$XH|?MTm%Hse*MBmud(B!9qo`fC9ONK6d)n$MT)?aGuV?@0;(O zC`F`XwUPy#!L$L4j9}f}-Me<}s;jHRhP;hNqei2_hWU>kJ;H{4utBfcey4&0EG7n< zXaciO8Og~QX5~%y0HqRBZH<}k2AIV&KOft&1?%eS8v7p1K6aRU!oaNFXzsU1a1 zF-L2_>=XLCn_#8~e0*p(``GbKBba~bKL3J^S-s|-xqSSU@~RR{cY&e|c;XtU&h>k9 z1x$55XYRYF{zHF}C<5#d3E=pTbq=H4F$()^MqGjfeb4X9q=C2d(x7V_4W{@wm0dI`9AtGT@xHK*zBnT$p78ZJcAVTYb0W4o!z8Dig z!GJ%N$xcRbIJ~_*h1bi-CzWyFEOC}|9zL=~P>~XTw=5XyPu9xx0#dOdBs*(x8-eWT z*V`;iDO@iAF8o+PFH+xeLRTe>D%IT|TU?CGPL@%OZZsf^Z1%0?f24(7~Ij+{@pu+HK6K(cpMZ3~%G zpD5iCr!bTf=akE4&~2_ffi=MDYiU>D8;mMv>A0G>(OG=`E!sg1#0PE&X())WgEF`J z%Mr7J%HveBd)J{w$Dq|rx@w;p;DVh5DD~|(=pSJFDcz1lokb|{6>@nWst4?$!t1m| z_jsjR>&oMv)HV1-(j`Q{hTlpP zBg#y37s=?}y_5$&HIaW(#s<%t>|70w>`ZZ|%5$w@Mxq1w^u8$arO-y5+_Bt6%zbV= ziA3i$l<>vD>N`awo^MryE4wK_kGZ_*1{D`+A_NnOtN3Smck!$kVP)S0p_9Oj4h@UG zg0|~J4Cbra#_+HrGHa)O)rUYV49U5^Z1B1D)7gT$yD?NKV3= z@CXZ32^&pF*fHLKN*oYI#(VlzCkIEFs~obq(sUUjjOX+1sW)!7<@G8`G+bj{3iO@S zU=!yYY!!Y%cYen-rPL^hr^(K81w7h8;P_w6P?m*B@6{XnLj!QKd>6kUH)|Y%4h!%p zTsd&D#8&tU-0CP)1+|zg&s9mnmHKjqtD80vXOU8=Yiq8eBDj#?ofIfH?tw@ZZke17 xd8Y6}0@+`zk&9&0t*o67Q>o682bTO_@}CGT<^LZ9mh!)J|CjFn|K$I#{R?N%pGyD$ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonOops.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonOops.gif deleted file mode 100644 index 38bd4a04196b899cd368ce76c07f0dbd7f786b02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5449 zcmZ?wbhEHb6k!lzcvi;n|C#dt$MXN5DgC~||6v=$|0fE6ZVG0^`}}_-+fY~e`#SIU z(+sCho%(%C@cS8{tm2#14E41Y-%l}o*v{~L4#VI3lJ7S%{Cgnv>oUi}I<=RJ7(VS~ z_hoOLkyXTK0nSe z{eQ0fW*^( zUN4@J;L}%S@Z}IgU%CG0{S5ye%RgDhdVeO{ju!E6Cm25MXXvjs=*$2*SnB^%#U)FY zw6wIGK7BebFK@<-8P~2|`~Otw|NoiB#xwu_|IdIMDE{a6a}5c0b_{Se(lcOY1gcd0 z$-Rg++Z$Je;P+Tx@JI zhC*JH1+7(X6*jXTZfCeI!o+Yuje}EEU>6UMxZ9xy zZpK$HL=LcdFtdl5?3j`M{Olw-Ikp;sg~8FxYDo%Deq4Kfyp5IF!9?{TLoY8^)-2nu z35^FP8*`Uv&3w?@G?8PE8e65-rbA4OOv(xw3obf|s#{OsD^Un?pbBGALUR+`K{0h?>P}p(IC{*U?6RTmpz{zky zzlD>XCFOu7N2~KxrmJFRj0WjG%wo!AK3g8Makud^ZqQ|6Xz&#f(o!f<)X?i`VH9V& za#OQ`cLE#Vnv4R+^%o#Px3L%!bPUf?gKiFQ(Nu8Il|h4UuPR$DQqU!ZF85%!63|p` zJ>Jbc+sf8@N=D!g$3{q^!xD0%iEcE}jV8L$k`7!;jFxnx)hj2KN@BEng;f%x)$3@R qZnRA|+L6HMgpGD2U_G$W-s@=Zb+q?7sD?~fN85Cu(I!%dOsoNj658ef diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonShy.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonShy.gif deleted file mode 100644 index de0ccf660f59f3acc29265ce1e424801b7416246..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2518 zcmd6n{WsM40>{4?^Wb5Or@_dW@5~rtFg1jxJ8QidwXpr4LZGZtz{NQx~0`Bw|FkpVL3v;qIN0j-SNNsfKJJ)p-1i0#0M6Vuf? z{n=<`3lR*{X6v;-ldtlbL!Rv@t*% z9lTDT5$k~z2T;5gjKGRtNk}6FRIR=7qvJv=QT5V7DJ3n*OpzA)$9pJM5jBW?sWQdU zjh!cx$r2M2%gV~4qoctD1?<|j{9GSQ!e9bk?l%CFw2qDr@R|zv%she9q5b~p(X5mx z)_gOBys~&8GGFS!bau2YJ;U8gG`oDldH5B8}hlTI@Yx(iamf=mlcP?M4b$cSa? zVdvRKXre+}Ib@2AQedfxSR$!b4R3cEe7EI8<2pu#rz_>Ls4ueq|h-1!QCk$V+1}zL#E=|#HHs4^1 zOu(SQX6Bl{@(N9H(*k5Vfd6Cyu`QU+0?Irv1|MX{A7Ce_>d2}Z@^TGXUS|QusYti= za=XcLB}M+wY_?h-xldc_HbI`iNHbMcZH?TwnQJ!rO=2c*FjrMlR6`_@NYvNY2PUcD zHI2>A2LQl8H^3+O?_0S$ebzg%v@{?Hf)yxj69_;|^|!htMi7Jr5Wtzd#dKfi@DXU1 zT{HUVhb2^5s%u&veV69^RIKPwQ}ymdBRY1&JAt#cmXZEY<+vIAw>uU78c8DrhoJk% zqm-3_#9}{0>0wN_ds}Q^c=Fxy8+)yvS;*o??XAB;(+jtqKflz22*l6XkiyR z;*II;l4Aip&ohoZiV{<*O~zxSO3Mp`UmxiJj#3x9>UTBVeGuqX*iK)U2&71ghaC!? z24VEk30d01j~qSd-+8Jq zAQxwaKPeI>;Timy$1LxKgFMck4Suf1!f^Q~hLb(*YKUBz#Y4S~CHNBgd&Xd{S5b2l z9<^cfx3kWl3>tqj_~qEtz~2|rs^Dr#4z85sP1H(BT!J}^NBQaTk*Ix&9`OK47yUd~ z{QXv5O7zR{rYakPuby!6a(4b5dT5;ust8B#USE*SKRZ|_xpiQK$lO@3=e=hF(hxkx zuIcAb7YPOJQU0u!i^Y;ijF#rA^eV3_@Q7M^j_OC8}lcWennm(H{^W_N_Zq}?hvuDp)vv%|9HJetgUcYkH zx`T&~9Xfn$&AQF2)@)e4cEifm>kb}1_W%FPHEUL{Sh4*77l!|@7=GMm`2Ujq|1-Y- zPX+%!SN?yG;o&jXzxM?HKNkM~K;-Xz$$t-J|2+aCx&M#l|38uc2O<^zKT-Vu6o{1m zKLaA=|2G)^-(~oHo#odR*55by|KAn-cTe=+U9o@nCBL6$_ca4zj=HZa7{0DzcruUa@oc91vzhjF3hn6-?#oqe%r>tn z2&*Vc>29yPJDK7Bbf)uNtf$&p_cRIZY839tRISbrugVLrEK2EWtLw>7X-qS(OEs^` z4XXl))UR2+dd2ePD^{!kMh7@rMhSX^fZ|UUMh1p91|5)Ppgh6A@t%Q~(WZ~tNJhAEUAvS3fy^=_sjtM+7bWcA?&LFe|>oS*bn#10Oyk$u7xKLT{@@z>*%1BS80x+TiD@s5bujkI0Gx3q|K}sv zk_Pj?0DpdX#G@CDb1?0}29A0#k9#k)eHi}ZAK#e}rUigxFzmhth-onJxB%en9{%4N;iCoq;vIo$F#l#|{ooq*$N=-f0RKcpq@<*TgoMk> z%WiINn3$N>*4F>!BLDxH{{R3pGnxPY{{R30000000000000000A^!_bMO0HmK~P09 zE-(WD0000X`2+=m0D1r{000005&#ka00;kodV+#-aB*{Uad2{jje2!-IWtT$M_MUh zbajph1y)ZA3kw)M97{q42!nMHItqDt2?-vs8zUeun|gFUuVw=S0RaOfc@i2ybb4|` zKq6*#b^#6q4t6{hTSW(jGzuOAcXV z3;?j#;R*u*Vi29c@FPGpfh-2vXrO{Zi$qQ;m>57!AOHY)*nAlBpo$_Y93m8h#WGC; z21zcUSmY(j20U+azQMzzffN@Hrf}O81E)?r4L&gF(qzIHWse{j-O0d07!5lntbm|P zPbWNJ1qh(<-~tvSsT@H%kO9YyF*Oa49MI%wP@zMK7C8z803rDV1rz{!04xIl0{{vD z4FCWKDS&!=BE00$j_d3u9{1cHQwf)OTogKukt5)mbhkc4h+5{P<%06Rn8QH%fp diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonWink.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonWink.gif deleted file mode 100644 index 8e262ae0dbbe28fd0bd7810df0ac159ceff08a51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 871 zcmZ?wbhEHb6k-r!cvivi|FQi4XUhMdDgA$<@L?OnpPPc;&oKPH&int7?5R_yzMp1j zsH^<{L_Q^J<0maPr%>(RWBJZZ{XH`z-X3K8dsn=**r2|yA~VtF*CqD8a{Y!BgXV05 z#!Q2MkL0%0O8k8w_4)wYwq}Vxw}mqjeEO>mG7^10?Puu7H0aDQ`2R@m?;Wv!_oe>b zm;C=!amkV;EiEmlPoK`q%bPJ{#?!iH|Vtv2k+3}uh=O3Taao;R6Fpm+ne28ON*xjy)4p;xCw7c#;vY(7990l8Xf#R863u zVqsurU}xY029;bxMR|EeYf~0OTSZn^S9xAnSw-o@mfq=t(>tg4H6lV6p+%vgB0Hy| lwIa8?yse_EyREFOyQ{ZVu(WSR&x|QED^wwxBuTT!8URohVrc*X diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonYes.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonYes.gif deleted file mode 100644 index 9473c7fdc6da84dc901c6199fed25df7d844783f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3020 zcmeH{YfO`86oB8}KWKrr0xgKp3&k#B@QtDt)a5Id0kxXK*y5#XtFV>H6v9-TQ~01% z%D9w*1H7=7n~T#07pBdENC9;~qliRNQ3?Wr6YY?Qitw$NCHuAg*xzx^`{PYc-jlpf zo^xX2J`zW$S%3*+0$%D=W2H?d{vQu@TPrIEFn6z{dD;Ifjk#X8S#` zQEpxy=C}Y2rO1f644!dU`q*7l*yM1S!K>@|j%wD#1onF?IYlj>8}NSVd@|@eH-}AH$&QPl_(15q-FNCT z7_1@}WxyA5+4F-wE!FHdy_7F@%IBRQdCZ@)`{wS3wOXv?5PUI-4?kvUvkXBHM`0w8j(Lg=;f@3pxA_9+HQM0n^#P$@{)5yw zLM*6QnKW(;!joJBjc3J=0u^yaFL!a{xJ0I1wpN^`!sSRH#@>W-n~TI+k5lmc%u*K= zM@aNh#-g=Rf`&kXFrAQ-P!~%M5AUJtjjqvj_caj!t;6GX^BNIYpO8!ba`{a$dYb7P zAe2RNR60DRo#z8!DMlLinzUngQ*lHyBP z+d*Qp)UI=7L4CT729uh{+!qqdi)5@rI zIaiPdIWfqn;Cp-@;3-xfubWQ5%gW%wMn^Vev}C-Oye*rRtEYMtrs{hLxLfrbmiCCz zdQxF<%KkomQY-k>4N}5D6s@X&VuW0z#|I}M=U;3t{})j!Z!ACQ(-q zapy&kN+?HnH8f>9>{lp0hG$6{VIzUYm)gUl`po}=VbO+nL$PSX;%@kRMK0R#f3#us EpHOTJcmMzZ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/anchor.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/anchor.gif deleted file mode 100644 index f58992d6c85fdcf61f75c9406506db20850d5195..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 197 zcmZ?wbhEHb6krfwIKsf-nLE`pcZx^$B(J=w?wS2QrE|RtXL{yM^)8&@U%TADc3Dv4 z>VVqiewB;-Di?-zZx8L*65P5Wv}1E{>-vz^4I!=T8QrR`e*O;x4A_9;PZmZ71_=fo zkR-@X2398pwZ4?hc`rN!G%Gm|T@_+CkU4m8TgSyot%vfTWc(3QVs&n@(M{=QeWqj^ esWjd5snfz>1?&>b3kF{iGZt5l_7Zw!NT-8-j4=H+G%tc+0hab>n8avPr2^7K_Fi69aR(P-& zY@orCa<0ncgqleii9XhnshSGDA{Q1EP1FP*aT){QMLR~L7Ax@snoMH{oDhscSOW%W zCZPon7K076)QPH_GC3h!3?tFUS~8V-9OY|s?jzs)>n79wHzAId=ZpxIv^N`)hCg6Vf#GumWZ*R4B4L=%uHv4Y;OV_#e2d8?M?{xaN{_P(-KQy&{E7Ij`P~oi{#toCzy9j-_toj+2YThmKRacP=l}o! diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/address.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/address.png deleted file mode 100644 index 6093f7d8d7868d6b482b4ec2f6ef9d446dedcdc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 937 zcmchV&x_7+5XVQ4r}VITDB4i=qELHS`JZV$4Dtj zxi}~{$=#@JuP8k^IZ+PEVZ7%1N0@qkOf&PI_xnAcrNQj+kXlk_fPYCluvg< zi|>1fmv)M@WN>nBDk~z>Gc8jyrLu?&&#(;5kScnld%C4-x>T=4nx|Qsrb&%zqMo^^wPa>)>Lw)@78KQ7)m2arDSBPZ zMO~1GAJAkPJJ1ga6v7%XNW+p=c(533puv)IuFB+unn@XnKGu?{nhL%m7Zwyv)C3=K z8Ux@(J4T}xEAa!GOk)R}5R5`t0|sd(p#={XgAKIQiK?42IU!sOBhklNGUcH(uc72N z2j-%6&*n%)s`0(f+gMo~8+Yp3jo_l(XsF{iv`Rs<323mm66T?aRm;nFc!>P@&oSBE zKh4UEGyUG&)u&(APINwuZCbzjC2!yVym#T!{H_=C=O;E!4t8HYn4?#=+&u7obnW?y zJXw5vrnjf{bNt)8zwNR1^_RVU?{95AGI;c9^YG!@?kTy^K6I_M`s>x*ZQ~Dq44*9w bC&t#T{JHSv_s6r_OXAGbZ2$GKbBq4~KC6Jl diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/blockquote.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/blockquote.gif deleted file mode 100644 index 8eff804450995dfa2c2882db7b8aa6a026871216..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 935 zcmchWJ!_S548WiEd}%v~cNFcQV4MUezkpStib#>th~jN) zMI59>L5D8l3)aTL&Elw&gNO)H6yh(>hcMFz>1?&>b3kF{iGZt5l_7Zw!NT-8-j4=H+G%tc+0hab>n8avPr2^7K_Fi69a zR(P-&Y@orCa<0ncgqleii9XhnshSGDA{Q1EP1FP*aT){QMLR~L7Ax@snoMH{oDhsc zSOW%WCZPon7K076)QPH_GC3h!3?tFUS~8V-9OY|s?jzs_E(LJVZYJbL`&Sxcwjir+r}`c7wl+tS3dg|(UE f_pTo9ogMD1>^%8!^3RFE&(AM@c|Y0TCx`w4L%fY_ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/blockquote.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/blockquote.png deleted file mode 100644 index ed0943a678291a1813cb3b474483924d8a392da1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 936 zcmchVKWo%+494S?9(uilt1eX+>mXRifZ$g3ian81q%WX&62V<4bm`gYT8BCYDmaN$ z>0FR*QbaO26{&(QF20BO$?ruNxIZDuljnKzovf}r=yk4iM5H%d9z5oEkx&2p6yLA! zOsk?N_Is;L4} zN~Cy-rDzHX*g%8DFx^snDm=m>G(u`EnR~c}Yq%5(isoS!reRW~=v5E3Pz@D0G8*C` z7NQ|+g*9N1h9$J9u^4Qi!D3iSQ00WVtGkpw){>dIshgBsSWr}RRaZehr08`q7j;1% zen69H>_9&xPzY;X#C_$@9F&a z%Uc)Q8@+2cy6^u^|8C9RJlH#%eBIvs)qZzwPJUe9muC+LGq=9=-kwf>Zpo`Rqr;Qu Qy9cFkxU@1jytn@HA0nc9S^xk5 diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/button.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/button.gif deleted file mode 100644 index a95518d73b6958f78f38fa2c8fde5cea3de6554e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 929 zcmchW!Hdpu5XMJ2tlP>FMJ|#eb6G7CwfpXt!-~UO9Eiyt_Q1(WMAT{zHra-^jV;uB zTHca_i?l4Jq}>Ba?LlcBU9=bDGrvE=oPN{HJo7xye1F3uLj(KI9F~6hBa#)7>6w

    O|E|nVb+VhLPxFEtyI^j`Fp+cNLoxmd(vos<$z^TyMOq(Z-HC zLZh&d8q#%>hDQN6&^!mOgn4LU)#T)D9wHzAIkvB@UnlZacGuqeC#3I+^fqj1%|Cp7 zy>HX5Q;YMD-rVZnG1_T8n_IZ?W#8G&FUMAfrnViu`J?rF?%nj(-s2PPz2}E#_8gn- ztWK|t-WwQyd$+AWKRg&5fBvey@!b1P>*C)7YhzD7dF$GdlfUllT$nxh^w9VFpH~;V Z$0sf=UtaDm^)4)RPk($d@$IS%{sY>*j-~(r diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/button.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/button.png deleted file mode 100644 index 0748fc6871e71a3c7b80b18b6e36710be8c74680..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 913 zcmchVKWo%+491`H@X*r2ZHhNkp_6OC>ZbOJJt(C}K?H|FAvigfj?$sfI*8z4Kyavo zlaqs^Iyhx;bP#+KZVvI2--|GCe?pQc&-3Jay1VmWW$D_Iq?N_i{2{-0`Ajd3`F?fh zbS90pyS=wr9a$AsUS(D4EVD8yz0xYx#mI`N@CvI?_j;B`xtCkHdepKk%Dl|V1X3wW zQSy?NNWcafEQaY;@9Bt4&$LYSTC#`?&#(+N3yL1;o^I)CQuJD+d77mOj*O-vqFMxz!h z@dKJnV+WiNj6zrg25Bat1rHX34Yc}1-A$RC5EsKp^s$!AcqqebXt~3IxoF>WI8u`u zeDCuPRyN1Moxb)UxG4`B`uGE_RxoS=8Z54ad1zwQ+1U#oB7gpKY)o%%v2uGczqfbv z_Tcm4#{Sh?lV7?pz4(3o$LPuAmmU#B2OX+|VB-Z`6`Z_*^jP6Q2MLPT z#R_7jat1e%f?yD7RdjH&!}$hcm-x&3AJs5xvRUBKGu?%xv86!Tv$+4b5&PCJ*4P$F&A|~9)3WRY3x8hBv1%zz#t7v zTH(QBuz?0k%DF0&6KW=9B>GrOrfMqqidTRSPVAMQYWfz%H)J_F^ohXYspmVag?vky{p)quxxIwQoW7Q<$B{?jW%}F z5gLVs)R3;5G&~Bpf#x}ICCoz;t2&*#JVZYJb8P%OI3V&(;w%aez-Hb`N+fZH_sMs|JXGWFLti&-CN)4EN|&9FWg+W@7jUc6O--k;KZZp zi(e+&zT?#5*VfGW&-XW6e)o2ErhoAHrW-3`mln?*d%XSXmFZQx`%4dwPxaQU%=f=_ bkG4mC4WIn|{q=>VmuEipUQJ9549MPpN9Bs_ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/center.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/center.png deleted file mode 100644 index 3a59fcbe1d67254a76f2ec49d3effb2b8fbfc5fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 929 zcmchVKWo%+493&@iAeR}1i?QA(M4z{Aw_ZP)fRhD$|1K14u_SDqPXZ*MT)IDC=Lc4 z9NYxw8@j1m246szg0G@W{N(#04BVfPUEQVhv6jrtP2HsA!h)ijtGWv6Aw{o?xu^^B z@B^AmV+Z;nfkIdV25DH*3J(^84K!F%&Q+P5P%|kb(Z^acRa3!N;nn>%&wCb%d!4R!oRs}!_NK!e4VFb_?v+TVY}L*&nYj@yH!4OZSC ztqmv7zHHA%SEmqxG$| JAFI=s{{S7zbrk>r diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/dd.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/dd.gif deleted file mode 100644 index 5a87895315f3be159ff1d7868eee1c7252fa3909..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 888 zcmchWJ!_U>426%-O6yc`5d0WK3!+ZOK~bTTeSJr%gP?;Qviq)%7Q_m66M_zYfOKrJ ze?X*AB#XG{Ecyo=#3^36e}tKykmTf?llxh{b@R&A2P<0AAE`RBDyqE7s?=F#WmI~l zRjP}T6;a_8R-x|oERS+8w{rEUWm%MYnUx8oQkJ6RB`cAD4K!E`)2-gq5t*K8nd-G< z5gDFg8EO_3J<>hh($%EswMg?cOA{O!O-0I6mSQWc0fRIwp+$|wU;_;n!)igD6CPm^ zYJIFFa}T$0wOm+GG!L^dp&nB7hCE~;AuO}(ZBA!P_r0=@ed;6cz!X15BJUQ8U{qga_(ew8XcHVq?vUFzp zYO?!wf8*Pw^%L6;o)B<{7N*R1DY%17eppb=vgv z2ziP?>d80vA-u3Z!@c*+ch21F^RqA0?Kj(!rpuH0SAGxp%wA6TzW;RnR+{MibhW5n zSrt`YWmW1bvob2Z(kj)Pkrh$l6;`1>>scP;tCnR^=4DnUluB8Ol9#MRfi}`; zahcQVKD{E-Gc8lymMS8{Gb}?*!KO#Lr(3!jinA7Jo@Qx+k*ldldCF3Bg&HxSp#+OP z8l#OgT3l8e>YC*d7NPb>TPpW(3s>8Pf=%-<3lr{v;%vx67Q!BRfXQv*z&{W;gc>oR zq2wqWG)5a~wA9JC&zGmdn6 z+QV=o4-Y;3fz=L1C#2D0N`!|eTHV~-@(}s+%*?X>bwe%}XY-$**H`}m4SrtA diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/del.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/del.gif deleted file mode 100644 index f2b647dabff398a36e65e3e66ab041208b0b41cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 898 zcmchWJ&%oX5XFx~aW@p#DikQ#!b>!EL~JOCaCcRrCgLTND2Ym;A=zX_M4^~Ofla)0 z7yAW7B*;Xgu|2+m5Xtz>^C3+2OlIcHIcNUQWa;#gg-gdZ)-S0#vMQ>)%Bs{^W@S`* zrB$knkrh$l6;`3{^(>EaFSl~_sAXA{d6|_7q*9imC-O|;h=(R}mG)og48BImXQYtO0{GETKh>#b5&s7Q<>mof95m z5o&#`C36qAaJ5`mP&5y-Frgk&^oBfSA>`o)G?~T@^g{xLum%j$u%s0pECw5Bu++|V znVc|pwUOv!Et#2{@D;hRpy)CeKH@Y6z>9W_MlDw22Q-<+4mcqgg|G$;(o8}N9xMhM zX!VJ@n=&~eE{2ilV=bAfA4mH-+`Egz3ESr3D&0F6-L4Pb_2^(nA7N0~NCWA<$-tw5 z2WXxHSHe6rv1(=I9uJX^{~Wu1Z`>fQ>p<`Ae?p^+dONdYar)%lozd3)=RZ!LzF!{C zoq4?Y`q_uO-{voGe|i1N;RoAJ-u}LKe0AyJ?i05TEzJHn^=Qw`o16Q#{G8lBcTs`mWmQypl~t*$%*v?rN~=_FMpi_HS6GGmtY>+Yd%2aXuUeKxnU`6aP%339N?x)O z1=>iX#br*b`}B%T&$LW+TdIf*&#(+N1)Cn}o^I)CD9&1>d77mOMy{qJ7wQ zh7v6HXpA<}XmMF>sB4x-ScKXiZK>SDEnICE3O3EdEKIluinAdPSqOXN0VcPJ1OGta z5NgDLhLWRj&=_r`(NZVZ+te&`R|knd+ESUhiCnP@1)DB&kt0bH09+g=XxtJdd4S1n z;(!UmID{H8pt%Va95hB7Y4wQuG~3iHF)@O~A8o0OhcaG6+Z_XDqCL+sq=p)~_jpH? z%{bEOX%EAVJUsO92Ua^6osdS0DG?r?XmxS%k%!2i|GZwTKia3|u`bWbq_73J>o*#Yq E2Z*a>fdBvi diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/div.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/div.gif deleted file mode 100644 index 3ad71ca40653ab222a125135f57bcb6e34cce1a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 896 zcmchWJ!_S548@NxL){9x>EOl5st9ILbZ`*8_LeSgVh1Y(#l^|ZNkMEudI315*53yLmt;Ui9C0K90&Xw+gQen69H?0^%3Q3z|mAk8GS;K5?B zfmWZWyD5_s;$j$yKGu?%`f;?c!@avWoUm;kuF}1O(e3)+U5^fS^brPyjWm$%n+!Y} zc!1_Pa3#z`6RTEMR(Xhg{O1_$?B65((#hW2|Ac0iw0+>ncys;Z!Z!uQGgd{vrg zcYA-MdSz8qd6iYEtIW!%^h&E#Z$?%`g;!XG`mASplzX|AtFKy?MVXgbnNTWaDN0_l z5(U~wqs3)TtNZkdOwY7Tbz7>449~C(H3gd<>7H)sYADWHqH#2;;`jE6E_L)#q#W}-dMF{FkXx%YTS zl+8HO>1hwcjXXT`@CQ~q7@d$tizyKvo@jM+bj(BK&wpM|R_<)la(y;^wEyPIi|@1B z2iG4go@?R$)!!%2b>-sl&$lz}{e51%ZR|`>A0NE^2Tw0)_y7O^ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/dt.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/dt.gif deleted file mode 100644 index 61145c1bd685096156117eace91573222988471f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 887 zcmchWv1*oK426%{p)C%joeDZgoupliq9Q`4w*HfYql*p!hc4bi1)&Zi;*jE?6{TZq zo!mqU4q4nRI9cz&L7d`~_ae;ng(N5EoV?%q?X~MS?yqW2f28Wjs;KfRt5Ro~l~L)H zR;eyVRz!tYScSURvpmYZ+{)FXmSs`qWmYDTN?D4Mm#jnrHqc-(Ot*SZM`U`YWvbVb zMPzt}WvE$D^hoz~OIMSk*CNf+EKP7^G!-dNS&FT&1`N`$gcdaxgAFuT466loPI!bx zsP(ay%st$~)pB7$(LBt;gnCHP8}g8akcS`8WEwlr4+#{)8Zb!1l2&-I7;K=yQajgW za>CrzMxu|kWM*!{SLDKiqRU+Ph|?GVFWNC0wOENC&}14r;Dlfl!WuA0GYKttuo!Hh z)hFt1%H)K&7)GLxwPdD#9PR74cNfPA+vahV?j1(A>%+Sq9d`5)hQdY~r28g=M*|ON zoHJT$Rtd;2L5k&piz7yeG2l8&|9d;6cz^j#g!oZHxc{dsG8;nKaY`)|HHnOmB? z+Bn!fdi?$JgN40=lcQ%-*B+gn`S5G?`SG3iS02v4o4j0J`E+sd_es9Ey7}`*9PX~~ T+}fHwKl!-#?d|-T)4KT&B$aa= diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/dt.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/dt.png deleted file mode 100644 index 24c86928f72467ac50fe34ce797e6eaf08533e03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 881 zcmchVy=oLt5QUEhmKY4AFd-zBU?p~g328#2yO@O-7TE`gDDw=0UAn|3DF>`WDr=v> zYRZ%W8{ffl{N_G{7xrhk_n!IAnR~f7d$+!}vnFYMelq>Q?-8Gk)fK*P4lZ}46)jGe zv+9*qQRP)urLHn7qtYv_QoR{j5fxrx73#B|6OPGSzLVA~HO~GSn1odZc^0rK_PhYmw$@mL?dvnu?UCEJatS5d#`Z zu-Kz9+DN0tWwoKMSsq~#YJaq)au2s~wOuIKG!L^d;T|Z?hCE~;?2!kU+$IkE1A#-R z5d#`Zj>17>w2?+jom_8Iv&>x`B>reiW#%Sw#V!IqgBXkQ@+MSvFErn{cs_ zTDE>1T(sF_$3ZKRi%`lxAgA$}_m42Acbb`Jp68kGyT7$>`;M_8>5@MpSrM6@X_=ZS zl|^KDhGl4mRM8{d(=A=orFt#WJk8QHO=?sl)l)51Qw5}yNbwX)(G(J}fd-3Vx~2A1 zc!Wi0gw$Fx_izi>a48lP&BH8A!=y;js~&2h8Y*yPG{i$JL_^pLYrr54OK4GJG1x$Z z#jup1$_aBViD{fF{$}fqqD!5Y~V}8kV%e zgT-J24VIL1RVF9YOv*^~v6f8LRPYtKu%Kw7CisZc7yvKYF&ed4i678p8av>GU=+d{ zFi0~AEqJgPY@nr1RNa)x3E^TGi9Xhnsnp{rUz>YZu{mMc++3x48>7qh#=9DA?5HC& z3Ja+rT{mfX6mSF0bKpvthbC4{OkC$7^6{Tz{ojsdB41>%_SQckoflsFlGI5Ty;b+fPU%FoW{-`?FF9J_G7 z=l1u-$*rdsUY)(QY45#Vt%=@|Lyz9ySv$36wCB``57&lnd|LH;>DT3Kto^I)yF4b$1=4qCuX;Pyash(=7nkpcr zM2e?ail&f&4K!E`(=D~9!Xqp~Bc#@nxrbZ0hD))aXdY%^8YV@GUiDB5)lh*Wqahw* zAsWI~SOW%WSVD^$i@^pOEQX~7RZf_@x=ZO}Et#2{x=G1}1w}PibrsY@ie49UQ5WRl z2Q-<+4)j9;g|G$;(y*iz9xMhMXt1Q5t1>yEW>Q9?kF{i~rh>1?g#|?uHNi)m#sGNH zj?t*aO8kH()7Swg1fvkvfI*r`Xu*TUU;{06qUxqhP6!vnNc6FmOnE5nHI&?TU@lts zY)2|m&G$NQv$8lgck0?ra8Yg=>iCUTDQKI328%0U9-3Hnbo7>o$e;flk487Atb96~ zJlNhn-8rAFbW3*@e#?dB%O9`4=*Hi_^m@;Rd+*lfyWL=8y7giF`ee1gd~biDyV8I8 z2J4tle+NbzN`)kVY(Dh^(e(7{Ff5fp^$3t~YD7STIN z9juC*%cYcd$RvUm>Q)dPUBoH=@_Yz0{X>$Ib55TB%-J)OQ@xWiDt|<>A~HSGGBr~w zi^%W{%g_v|qDQ)?Te_x8^;)EPnx$!))TlrD;whG*DI{P64Hm<6OYN!f z2#e4NskLP8;TEppQYiwtH8xov>_fSE=4+bh+NVtI=jh9ib^K zq(-`K(s&ebgXTGKCCoz;tNQ)>JVZYJbBzBT*&(tiM`~~V6Vh3b54-oyuDl%H>5Lt^ zy0P+V_1@^jxuw~6gSETgy4S~E-a|GoG)vPosZotoPqkD{6_8RQ z#ZxRrQ%JxD8Z3tCmfBO{5f-5lQftZF!!2CHrC3lj53?{0lOjd0dZ>kJsKAlY5D&2s z4Ph&+0fRIwp+$|wU;_;n!%~7OC(K>lrS!3u%*;*Qq~yYaqMEC^3hE(6uZy{;3-a&- znoMH{`XPZrSOW%WSkej)7K05mSW?banVe8FDI?LxS~68r!B^zMf})9<;3H0B0K90& zXw+gQen69H?0^%3Q3z|mAk8GS;K5?BftET^byFrMgo|M$`dCY*Je2ktN^Uza7p;4? zBNeIUd!4sgSsa@?b?qj&C^rpt{6?!3v`s*R#g#A*O{_XPdd5TK&wq~1!L@Bx-kVL= z_YPiuKR#WPQFryvhflAD{p(*RKfj!Oy!>tD!lT=tyUWej_ZQFSPv0HRmv7J3Mw6BK tcsU%653XG8y&wNN_xH)!#$^3wXZ8H={f9pWFD^YUEwini>6?xH!+*yObKL*{ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h1.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h1.gif deleted file mode 100644 index 3accd149cdafd9ba78e45c99a09d22dde758a0e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 886 zcmchWF>94!4291Hm8(-hM;$~b=^(_RMTJg!ty6Kdi%Y=4zu;gC%Dtd-KtV-8x7s?n zi4;o7;${~Y!CxSVQ+)FNh-Ugil9O{z-tYFETPv#%*0iL*QgviiRC$$Esk6+=sPsy! zR2L&FqQWbzLfz|G9_3zc+WZCO9&hij=1;#a37Y25DGAiyDi;1{y4e)q*-FJi;Q> z`dCZm9&X`kxv-#U9%f-eJ*4OjdB{S@!w+aOjUDKR1PWmd7^GoID?C^XHqcylt-qXo zdb_{<>scP;tCnR^=4DnUluB8Ol9#MRfi}`; zahcQVKD{E-Gc8lymMS8{Gb}?*!KO#Lr(3!jinA7Jo@Qx+k*ldldCF3Bg&HxSp#+OP z8l#OgT3l8e>YC*d7NPb>TPpW(3s>8Pf=%-<3lr{v;%vx67Q!BRfXQv*z&{W;gc>oR zq2wqWG)5a~wA9JC&zGmdn6 z+QV=o4-Y;3fz=L1C#2D0N`!|eTHV~-@(}s+pV$6$_mGx5i}{zcU-v)%Ew-1lz18R6 pFI$s~hsP_^%IedH$)(O97G|~!MDLh zsMRkZQc=m`rn7zrUzYgG^C8Ui4@pkWIeGr8Yb&SETtBZx{gSF9tD?%QtV*3_Rz{^) zTBW)eSrHXpVHN6L&+;huaw}JlT9!qbmsy!WDrG53Ua}Gi*g%8DFx~1s9g*pomZ@G# z7Lnl@mZ4@r(Ief{EnQ8DUW+tOvoyhx(Nv^7Whu788Zb!15?a()3^veUF{~EUIpGl& zq1MM*GWT!`SIdP3Me{HV6Y3#FZ^%OyLLPoVlWFWgKO|5HYrr54OIqQd}akQ`F-d!9gY@5ebx_21et`F~eblA~H7z!I{knWod9t}L8 zc@A6&^U%bq`Fw+i$j5(g$Wy!;5<-I{Odz8FKdk diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h2.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h2.png deleted file mode 100644 index b1cf24a6efc5592fac80f0eb5a456e66bc9c99d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 893 zcmchWJ!_S548>2mAf;05D0Wd0icUg`)yZ1##a@t7r0%y?GItWk>L9dEItT%gqI+j2 zXNOFk{ThxEfBAn11NS8)IXUO#c~1BDp02LkSdp|k-<>|^cbm`J@`Ue?4^P*niT0lz z%&H@+qROkRN}Xj^Mx|F;rMehd5fxrx73yBk@+kLmD_4(NmPMJDS(!j8WhqKtvJwf{ zK!e3F-ReCZk?EP1sa{JKk>MGZp=LqRBi++2T}_H!i!@KOG{KS4RHQs*DYn8IFi67^ zTGUt!Hqc-(tQOQc;Sm<0*2h{h_izhW%Y_9+^Dqk&>LEpM$U_!F9)3WRY3x8hBv1%z zz#t7vTH(QBuz?0k?Od1133FE)i9XhnnYjsHkqZloE_2}{PGbPPXvb*OVkLe+lWFXL z6M|6)Yrr7QB(&hcVz7Z$pQyVjlM~`%7>PdCk{J)mcp6&nI4~FOdyXSDso{H{cUajR zhdX`kA-E|I4SoDUs}+n*K!e4VFb_?vIy?KogUFx%98cEn?y~a1eERs{&6lGe^IMDS z_pkguIlOtETAuw}+PbrKGW~lzS$y4i@#yot^Iy9B^L>5$_2#E*@82$I=k}|sFOR?R OK1uW0-t=N;@$MhD`DiBq diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h3.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h3.gif deleted file mode 100644 index d2e84375551ee6c3be33e7d7296a4c3880b80489..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 891 zcmchWv1*oK426#%rNyOar{bV=E2SVAR1_2h{i~CkgARh`0u%&sw4nY%JGdCAptge@ zgo?cZk%CATH$`yqBE%^^c`w3DUr2It&dK{-S-X7Z?Cp!1*B_}mvMQ>)%Bs{^W@S`* zrB$knkrh$l6;`3{^(>EaFSl~_sAXA{d6|_7q*9imC-O|;h=(R}mG)og48BImXQYtO0{GETKh>#b5&s7Q<>mof95m z5o&#`C36qAaJ5`mP&5y-Frgk&^oBfSA>`o)G?~T@^g{xLum%j$u%s0pECw5Bu++|V znVc|pwUOv!Et#2{@D;hRpy)CeKH@Y6z>9W_MlDw22Q-<+4mcqgg|G$;(o8}N9xMhM zX!VJ@n=&~eE{2ilV=bAfA4mH-?%l<4!nS!_rF)0b?fUSpM~5AKgrTsJ2I;=Z;L*SX zn&-fkFb_?vnoghd5c&Aeaq{osL(&he^xpm_G6WgB;;coQr&*d{9eP0ccQb&&X@EtQ#@$Q8R#u<0@vIg&I1z{PQb#w}5j2bkO@ z4wx{EL#Po0nwwz3L1VO$R*$GpvrWws6C+6c(U!`1DC0G>-7#P$+VdPkYN(NWk9S1b zj3b?%_AuPY!$S{$V6}tM32C&L65-*AR%d4)d5HY^&+F;h-CbI4&S#I0UVnM P@1~w_@6UcbIX?LZZ>(t? diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h4.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h4.gif deleted file mode 100644 index cf806b9e96cb109204169c6880245e813396cc43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 890 zcmchWKWmj?48@O7q;3~P5pj_g#o{1lvFPArZ!hj5h#*2-oc#g{LIoYvAt0jd;@Ddq z6kJ3E3qf$RAH&H%DDju)Lzw9eNlwl=dET}4OXpT^T+~EAr0U43sPZbSQfHZ!QR$Ud zsV+uVM1@yag}T?XJj%V?%GINmWl`p3Rwj^2S&EXEtV9Af&|oo4w|Y-UWO}A$s@IZ5 zWO#;Us98|-NcVJ0SCgXGBF)n*O>ks16)8_yimk8)4AQWK7Bv=w4K!E`s|9sVc!Wi$ z^|6-BJ>0_8a$!NyJj}v`dPvb5@{om)hab>n8avPr2^7K_Fi69aR(P-&Y@oqXJJ)4$ z!rawHqK~y?W^Te)dejA(?j#!Cwn_5E&yFhXP2kX W4`2PgFnjar>(=z~%HJaso&N`v)^zp& diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h4.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h4.png deleted file mode 100644 index 503613984c6abb62dbd9b5ff755f47b7d811daf6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 893 zcmchVy=oLt5QUE{23=j)GH7AasfEpm(QaclBnuLP+0_~K}{ zdSz8qd6iYEtIW!%^h&E#Z$?%`g;!XG`mASplzX|AtFKy?MVXgbnNTWaDN0_l5(U~w zqs3)TtNZkdOwY7Tbz7>449~C(H3gd<>7H)sYADWHqH#2;;`jE6E_L)#q#W}-dMF{FkXx%YTSl+8HO z>1hwcjXXT`@CQ~q7@d$tizyKvo@jM;_KAncpZ~me<`4I2`E<41KKk(G^^eu&@%ods z%ad2@tDo1l?mzy!_Vv-mmFBwGKEL&L@q6>n$;H-#&)472HtyY?Otkp+W_t7L*Sp4E M?H(+@KR^EX4`nZAC;$Ke diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h5.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h5.gif deleted file mode 100644 index 00c7c664ba09ad35ab0ca1f28726cd4ae342e8fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 892 zcmchWt&5dm5XFxmvKPyO)u7zuvSpc~XjqHhT`U`g6%=H&T15m=6nBHcG$4Kli*QAY zVi8gNm||10S?y{XfAjniPI`x#IdjgL=RLl5?BJm@t6J1=sXDSMs=Ugo)LCX_RC=XV zs*8~oQQ;La}DM z8J=MoY8Dhd(mmbM)uiaPNb@vH6C4>$Maol_Vk@ixgETCmMUBN^0}U3#YC)Y79$^t` zeXJ#O54Ui&Tv$*v53?|#9#Zs%JY*r{;RiIC#t!sD0)?;!4AQWq6&@@G8)&f9&UKlb zFn6_)=wmIJnVawxxv-$<8Z(8oX{ZDA&q@GXq&gS>uTwU0+wE1EF;O&jY>H3}7 zvxo1leck1G{prv5+xsS$fBac_ymn=}ad-3M#&rGG^3jXG&d<-DxOrgr_t%q^bD!@W Xx$x@JOMCL=(d_opsZTFXuj=qWl7n`Y diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h5.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h5.png deleted file mode 100644 index 690b082456df92519533d4d2a72461f19bf62630..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 890 zcmchVziQM`5QUHaz{tX43JWon78cqB1_dkExWQeJ5F`%}ROSK1!b%pqjg{qqg->8D zTG@p#k6__5h+sK>b05MB`)9cKp83w1yFEU7I-lK~Nt&-$%jf(q`0QSt`2P5CyC+RL zes*$Ly|OB*yvnN7Rc2*WdZksWHzO;e!Yiyoeb%!)%Dvpm)mJUcqRh*zOemGI6eTZN zi2`k;(c&_v)qQ$Jre|8Fx-C^ihG$rYnu1M_bWgW*H56wp(mc)51S3~dk@A$K=n6Gr zKtl-@do)HHX|%YkHqGgkG53q;TEp83k93zVHPIb1I5{phb)9W@&J?D#DRYx za0oSGKtstuqY5xvPW3A8o13+(fR}g@R3&xyX^E2>>pR6Etp#l03lV zHgUj&VH`q@7|`4V3l18ijkJ11eVT1*mY5hp;*Yje#zPseq3w)$sort`m-5AJR6eEzn1J*}?oyqV7D)9)Yq`_iM^uV#OCF5Wfs M`tWG^<>2)FKXXcE!~g&Q diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h6.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h6.gif deleted file mode 100644 index 91c7e1286fc3c1fb0b7d82b60f00550604bf7b65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 890 zcmchWJ!_U>426$Sq;40T%?As154lXW&MEnJUtAh3|C@2mQm8y%2 zP(MZyiuf^Pano7qb8*rTbT{)+T{z%o4RZ-z;(%T%u= zi^%W{%TTkR=#lQ}maZm6uSJ@tS(@O;Xev^kvJ_ik4H%?h2`y?Y1{-Lw7*-4FobU*X zQ0rqYnR~c}tL4IiqIsBw3H6YoH{>A;ArC*G$uxGL9}*~pHDHj2C9UvaG1x$ZrFO2% zve@XB59h&ZJ@7|iE2FJA5|RW_*9RdwN5f z>0s}0w|Zq&RC$$EsjJM&sPsy!RBuLBM1@yah5D>#d6av(m8-8>mPMJDS(#8OWhqKt zvJwT_NTbDNPOJO$icHV6Om$nThz!rL3^fIt9_gNL>1rs>TBLcJr3pr^rXuAjOVJf- z#DInpEcR%OHqvNuS#79mmPc5G+8=GH+`}zgZ5IkQ&BH8AxCe@}ArDyyd*lHow}}J) zK;RH+#DIp9qj1m|ZKTmsC)eB5EOS=}i9gy>nYoEvu?q#8E_0D1NfQ8E94Bbp5+!+n z$!+3*3Bx#q8Zn@`2^JhQMjL7Mi25|!)GRSEg2W$fsf>p*UPId*17@N<&oQKi8oBp) zN0iMt(&=dr!;L&V^za8(I~bjiMvEyC9-e4*cJ`Ks$e;hb9&X-R(sFxR+&_Hr>B+Zg z>-gH8)yr2WH$SK5M?2qNuFsZ#S1$GD*Yo#(=6ko-zpQLe?|%OHc=gJKbnolaweyo_ Pzngm6-CvwPIDY*Pa+_&m diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/hr.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/hr.gif deleted file mode 100644 index 14756189c3b24ee7a7f19ebb998b09d6bd2128df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 891 zcmchWy=s?X48@Ni+HM8K$-$3Kr3f{HiVjZpZ##8sMF*E$fPeM80sQa zbm-tBQmB%}O~FmP13{ePFV97o=?zIv&N+GB#j97&U$}W$Gx{S{M^;6ZS6P)h%dCt_ zue3^aF|r~myuvEfy`JS!?&Vgl9@k(Wu2r{D3CY*a0U5qY&1BL7GWu!GpzM z1Fb$$cT*-O#KkZYeXJ!j_2Xz?$Gy8aPS`e&t90)$x?LaM_2{spk1!NA(jeV889W+z zK=T~966T?aRqN{yd5C=c=Q#QI-~s8o=6i4d6PjApyXoVTo#!9#P92%MzQ6P0(}S7Q zOHU_nU+&%ecF6Poo1c3dhtJ(Qy1Ozvd30)d>(b}5zrJkFuiXB diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/hr.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/hr.png deleted file mode 100644 index 22f40a6f948765ceeda34aad3153b3f9a286f7c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 884 zcmchVy=oLt5QR^Ogb=cjMi5hJk-|n{{6&x$H<$$pi=>tX!(e4?8N_B|CD=^JBZSnc zQ%_@WVdoQQJAQK?!VCK|+Tu(=1Ieay1nxPg#ntP$LF3 zlwh$(W3-V*i_2<5U9&vGBGmq9OXVJJ;cB~3uxTDMDI!OG{mdeacdl+uy;h~2=u-d`sgfv=AiSY15tJBl3JVgHd=k;pq-T^J|&!#VrKApe6n%!C4 zdc5}YB9GE;Jz4AvSDqFMxz!h@dKJnV+WiNj6zrg z25Bat1rHX34YbsWs+%%7AzTb2(Z^acm3kcIYjf`^HYY5bo2yiBV|2ORcvqv19d(38 zVIei7>n0740&bvr4qOTI(8Q{_xyw96KK^s;{JVCI$Y`YYXE4@a&Iw70gqH-2;%Mo;Z;Z|qEs-EEznelq^yXX{q~ YnZezge?R)znR@rQ{pQ)zm*?f+KY)0O9-ql~B~m=aQZ$7GY@oqnm~N>(6&_&`8X>io%st$~HC&1XMe{HV(=aJg^s0wisD=t0 z84d9e3(*j^!WuA0!xCE5SPVAMU@3XFF1nYQEQbo0Y|}xl`9}f{Sv~P{(hyN0pkXFpdax*vMOovl1HcI)frEM@d(|>jR^4))3vwz|M diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ins.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ins.gif deleted file mode 100644 index a55290e2ee2c8f9798c20fac8a7343ff38240b1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 898 zcmchW&x_A-5XK+n@covue#AwIZ#l?q9B3Vs;=A92I4Z(nr#SD$g+!?pMLA4Stb^Qk z(MGvQYSSE)3l|6Z6O^3BYd(L3Ien&?dFFYZd4EnVoIG;$@^Q`Sk5nC56;)nkRq8CW zGAg~&D%Hivim31kt5ElPmPfglTe*7FvMkEH%*q5(DN9lEl9fon1{y4e=~nOQh)mD4 zO!Zo_hz!rL3^fai9_gNL>1tB+TBLcJr3sFVrXuAjOR*K!fI%9T(4xj-uz?1PVYQ&n z36HP{wLaF8xrbZ0S}rUonul4KP!B13Lmsja^6&$iOk)T7A%Q|z0|seW(h3h2gAFuT zYUjF4PMEveNc6Fm%*;*ridD~2efr_nXve|x8>`Pg z-kF=s9#7X+KHdKIYH{b=vy=7vyH8yGy|MOd`e46ZKRn*PIDIskUtc=6?LgkNE3^0S k9$q^AWb3sb$Hq%PzuenG~@FuWp>o zq*d+TJKU*`tcohHvMP0!Ss9gHX_e|?WJOeXg;l6~J2u;j37vxOPywNYSMkthjX2S}2IFq6m`Fo2a0)(7`P#{vBK^A2_)b zQ9dEit+e2%*C2ure|av#Om9eXa?Z)~-ne;v?dpSdE$X*a9a$AsUS(D4EVD8yz0xYx z#mI`N@CvI?_j;B`xtCkHdepKk%Dl|V1X3wWQSy?NNWcafEQaY;@9Bt4&$LYSTC#`? z&#(+N3yL1;o^I)CQuJD+d77mOj*O-vqFMxz!h@dKJnV+WiNj6zrg25Bat1rHX34Yc}1 z-A$RC5EsKp^s$!A)Q_Wm9ry0yIAPm7uF}23=yrX0*Q3LZKEhDgNP~3WWbkO<0nKyZ zN|=WxR_*NU@(}s>&vD_;sX6IHmwIpi6Pj#kI={5B|K?zOa&G1BZ2#?-CyUFQFE>8E z`}+9!w11wRegAFm{KBK9wbh5SXD7Fw|9pD;*XHi!`>+09oGyQQaplg@kMGkDhp*SS J@12?G+CLOAadiLy diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/li.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/li.png deleted file mode 100644 index 8203fa57b12d0ab62526ba62d2535e15f63bf23e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 869 zcmchVO-dX<5QU!zLlB0z91MaA*|;qbvYY6L4#*(l0R*MakY&swLEY%GAZN%rc!oNH zD^DS0QTeJ5VZ;0s-Tmr&ulnwMbu!)9+K@C|o-Qum%C5Wy3WrokE>T! zMU_`smAcBTj7qPxO7&)BMO1i&RjAK;mPfglTe5=Z~mac~4tVNoqS(;$vYARBmvJ_pRMhs{u!D5fb zXd{glm(_;4W_g4~sQuBF%01k|)pns^(>%<=gnOVk8}g8auty$Xa+^5t4+IXOMhs{u zISL1j(MB3Ab#lE;%`$g&koco5m6@B!6}wQd=`t5Nk~9Ip#c_hhEm4vOnA|1~m@te( zs1XC2n_$5~W3-W0kElUz^BhBJsF8b*cSPBYBb}c1 zFx<$)Ll1vowS&+WZCO9&hij=1;#a37Y25DGAiyDi;1{y4e)q*-F zJi;Q>`dCZm9&X`kxv-#U9%f-eJ*4OjdB{S@!w+aOjUDKR1PWmd7^GoID?C^XHqc-7l#wJ&BIl?cQCqLAH3_)!Hzz{ps4&pV7vI17@%qx*?Cz0H{R4dgeF*>n diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/map.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/map.png deleted file mode 100644 index 01bda581152399e93d21ca0fe5945c4718a3d193..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 912 zcmchWziO2M48>0^h}2%Vla$**MR0Jc1QfScTkKUSMfw26N^lVA=vbX>brA;%3ci3A zT%@CJ9kRO=d;%ApI>leUhcIyegd`{DoP6K@=EmL8++scP;QOmL@^D-+FNTn=A z$xBuu0UKzr7^Yjjrz0{w(=yd-$s#g5!!pz?D0-xOx}~d0(QA?BX_h89GMb8%r!2)* zSOW%WSVD^$i@^pOEQZyBIww5BBGmd=OXePK;cB_CplBXuVM0Bm=nZ+uLde4pXfll* z=!XOfVGS6hVM!}ISPVAMV5yz!GC5)HY9rCdS~4>?;VW`sLD6L{e8g!CfEVo;jasb4 z4`?!t9dJT03SkWxq?v>kJXj1i(CQO)H)V1{Tnr=8$67MuK^dNgmOC7ni}pQ-BQ>eP z_df4nWpf1z*yoARKck3Z0A1;Zww!Qx7ohbC4X9K7a1f!C}m;V4MCvi&v diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/noscript.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/noscript.gif deleted file mode 100644 index 2096c70c57d432dba7edaa31db38fe3d0fc6287c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 943 zcmchW&x_A-5XMKLRn%s0(iZk&`_>-jvf8qg*6u2aBdc7-?!gVYiY&{;;xJ{ke3LfO zY7dkgB+)j+H;IFjd7gQHc8`q=ZacC=y5)~ZRz#*}TBc@7 zWf2*kVHuhsRrE;rbW7KCsa}gTPqQ>llN!}X^;ApMQ~@a^Qar^{G=&6gpuu98ZmB&L z9$^t0A+?swJ>0@IT#5xn^Dqn3Fey^>s)t&rh6)@R4e<~Q(Ga%68Zb!15?a()3^veU zF)Ssha>CrzT}mHo$;{l;O-e2-D5|-ttDqiI^tzafx*!ifpvg3LpdS(_gf(E0h9#}= zU@_Q0gC*r$mB|S;lQI&0tR+)56?{c5EGU|&2|nU92EdDUj7BY1;s-RD#tt|k7=^F~ z4AM+O3mz;68)&H$RX1gFLbw=4qK~y?D)l(Z*XG_;Y))78XM9JmtZp@~&9GZ%S?eEjFw^mpY7k&n`*Ckn6vvG8B{^^;n zp8i8G7jHhB?%pzfee}Vt=Vw2xwm5h1^T_GmohRQ7uJ3y>+k0Sq*VJr#etSdb>zf-#2bSmdJiPzu@u^>j*LKO!KSK|ZegFUf diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/noscript.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/noscript.png deleted file mode 100644 index edff79c266b18a1c5f0ac5c80c1f8600df89e103..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 938 zcmchWy=#;K490UUYAIF=;$lH=D|C}gZl_-99ZD@yikk&7ICzNQAfh5dk+vYTbP0&u zRGbQePAa%qmpF-=Qm8n&`nAPh-ao>?eS{=Wp6AK?t}e{aO^lxy7mk?N_I zs;L4}N~Cy-rDzHX*g%8DFx^snDm=m>G(u`EnR~c}Yq%5(isoS!reRW~=v5E3Pz@D0 zG8*C`7NQ|+g*9N1h9$J9u^4Qi!D3iSQ00WVtGkpw){>dIshgBsSWr}RRaZehr08`q z7j;1%en69H>_9&xPzY*6*HKyz}(y#*ZVsBr9+8*vXsUHgCUp|9AS+(vyob-{;QnNoVTw-Lb6thulC5xE6=Cf$2*Ttz597O=f<{5V}EwOyK{E=(LYM$f!+WB diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/object.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/object.gif deleted file mode 100644 index 2376db0f6c3dcf6339b311f85c31e5da660eabe6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 925 zcmchWziU--48c!Ee#H|i5oWp}$;mk<-#a;V=6HMNlnlymk*tVJ&$LX< zl*%G9Ji{_HL#pVJ?&+4U=~BHGX`W_jnkF@>k?N_Is;L4}N~Cy-rDzHX*g%8DFx^sn zDm=m>G(u`EnR~c}Yq%5(isoS!reRW~=v5E3Pz@D0G8*C`7NQ|+g*9N1h9$J9u^4Qi z!D3iSQ00WVtGkpw){>dIshgBsSWr}RRaZehr08`q7j;1%en69H>_9&xPzYnrc?4vw5%>bzXtxbtoN(*Cs@Bc~UJcFgYUkNwzKIM{wR{qw<1R)Ut6DVcNWJlUYlF{^t3(kaCG+O^AD?2 UbKRkHuV3_gSHJGr)shqc0I+t2-T(jq diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/object.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/object.png deleted file mode 100644 index 7813e706c6a3ac84cdb63cffb310b3ad921be3c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 916 zcmchVziQQS48@PVRZH<=!KGLfTpdawD7aN^wHHb)(pd^uGPt;QaHT!=6Ox>qbMigd-nu)Uzc?>xJlR;g&+jUqg}D*muWuYI zNh57u9gc6isoS!Ce%ZU-jIhZggpF!Cezq~ zen_AY)__48mbAiy#b5&smfE>4lN08yHWGcTB{Opqz9JVE6kX=RN1Vn0c+rm0sKrYB zfF{$}0Vf2b5Y~V}nn`HEgT-J2tv*qAQzj?G#V`_mtR*uZ%J3Rm?r>l(+V>oe)T9RA z`@Dmd&2ez2uRREE%7cbJ{y?i044Z%kiz{Isnpkys_=1PXpZ^@U7p`uw^4?_a=FZ-m z>4(Xc-Nox?erjg+^uyyHD>KVaziMTFx>$c+F3p{Kvb_5J*&}UU`gLyg{OIG6t}Q%% rb@} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ol.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ol.gif deleted file mode 100644 index 923b227248ad1f21584fed142c5869d48017e145..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 887 zcmchWF>94!426%?;kF1{1dhy)WJ;%IA~ppQ%gID zxQGZ2S=@AS>K_n?(kVW9e}tL7kmTf?llR-0-?_E^=(d)1Dpf~TMU_`sl{(9;j7qPx zN_8=^A}YMXD%8E6NPvoe8H%2JfPWF-=?fd-3Vy48C+BGWT1Q@xff zBEvH*L(PJsN4lq5x|$Td7HOVlX@Vo8sYrRsQf!4aV339-w5YKdY@oqnSS_e?!Xqp~ zt&g>2?%@`$mJ17t=3y2l)I*BikcTXUJp6zr)7XK2NT3kbfI%9Tw8DeMU;_=7+PN;1 z6Xvcq5`C;CGjkKZA{Q1EUFO0^oW=ln(T>rm#Y+5uCezpfCj_Gq)__5pNoc`?#b5)i zK2dj5CMU$jFcN*NB{TKoXkW*@yEsnRHjk@x?=ZSuAKvxou%nMK6gJWz-8UIL8hAkS z9JmtZp@~(yyDxc&eEjEFJG*dB`lai=xBm%Ewsf?3d3Nyj%l2gD+QaV$@4miRzOwmd zcDVO#=jYAGmp=a4+t^v1`pVhi$?W;s-49pe!PEKch54uB$={QFb>rFZ&-?eE+>7b< Q((2~%{*U(;&o5~D4R diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ol.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ol.png deleted file mode 100644 index 57876764e2d98312ba14d1edf5f7a11e31771240..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 884 zcmchVy=oLt5QR@%2q6&JQcPthHX#fsc2RdVi%AF}53pjG!pbsjv`Q>A<$#qBpsiTg zr4Yt9u=EY`0F!U-L*&B#4ENqM-#K&74-Z~#tlwXkw6WNo9r3%vXSz1w`||1erZmyv z-toM8WmQypl~t*$%*v?rN~=_FMpi_HS6GGmtY>+Yd%2aXuUeKxnU`6aP%339N?x)O z1=>iX#br*b`}B%T&$LW+TdIf*&#(+N1)Cn}o^I)CD9&1>d77mOMy{qJ7wQ zh7v6HXpA<}XmMF>sB4x-ScKXiZK>SDEnICE3O3EdEKIluinAdPSqOXN0VcPJ1OGta z5NgDLhLWRj&=_r`(NZVZ+te&`R|knd+ESUhiCnP@1)DB&kt0bH09+g=XxtJdd4S1n z;(!UmID{H8pt%Va95hB7Y4wQuG~3iHF)@O~A8o0OhcaG6+Z_XDqCL+sq=p)~_jpH? z%{bEOX%EAVJUsO92Ua^6osdS0DG?r?XmxS%iHFFaTV5}wk9KLfwU|9SKK=Uk=iMGZp=LqRBi++2T}_H!i!@KOG{KS4RHQs*DYn8IFi67^TGUt!Hqc-(tQOQc;Sm<0 z*2h{h_izhW%Y_9+^Dqk&>LEpM$U_!F9)3WRY3x8hBv1%zz#t7vTH(QBuz?0k?Od11 z33FE)i9XhnnYjsHkqZloE_2}{PGbPPXvb*OVkLe+lWFXL6M|6)Yrr7QB(&hcVz7Z$ zpQyVjlM~`%7>PdCl9~E(w6EjdT^uKDo5xkUcNpES5AS+(*wIHA3L9yV?wbrA4LqQE z4qOTI(8Q{po%cLMKK^sux}Lis{nCTp+y8{-r#f9&oX+;YzL~#yf9w0~%lW&>osG}a zlY?(>f37^g{4?2G`>?ovdv0O#@Z$B|XUDmF@_Xas@{6-iM=MJ|_EukBU0$5tJA0)^ F{{Y1LZx8?g diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/p.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/p.png deleted file mode 100644 index c462e105ef9a7c4cc66e756f755027e91aa899c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 873 zcmchVy-FQG5QUFi5D`R6(INz_QUwMA>C{|_7eplZ0D@t-t(|QY1x=%N13p7)%k-Jf z#=|A+m6PhTT2$oilrLbohN`d1G19%4~o7gWqjFYfBTp@4wz`N)sI&9Pd@H ztcohHvMP0zSs9gHX_e~D$cm`&3ae0`^(>EaFSl~_Rm-v{^D-+FN~J7C$xBwEKpSba zxXfvFpI(vanU<+;OBIpf8J3}@VACVr(=A;M#aW9qPqQ?^$kkM&JY^}mLX8;EP=duC zjnPILEiS7Kb>33t^8uz~nY@;2#JaLX8;E zP;wLw8l#OgTI%F_o0?_r>LBq)TPia*kt=qgVAEwTawKU2fQ#bqb-&3P{wO$yJNsiwC6d7)KDY$9`A^<8Am!j z?P0i)hld{iz-kAh6VhlgCBnlKt!{6B^AP#-pVzmwPy4jonoW0(&mT{pW*<-1zbw8! qon7uu{?6x{+gG30-xlvyuYWCQ{_p39m*@FIBhK~?r+;=&F5Use&0+@t diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/pre.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/pre.gif deleted file mode 100644 index caeaa510e0a874525b882da6e379a3c87ecc9168..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 898 zcmchWziL-;48@P&@DoHzb?l%Np-KmB7E2cwwJnI^q|hQF#7WS>7f?ZMK}2u}b?_fl zw`xUj6cMci7Z-g1U%*9#Lj2@Dgqdzga&pee_nulfd2II5agFJZR2^9rRbFLP>MXM| zD!tMw)y2q)sPGD_Q1^P4N4b|7H)sYEtxCqE-WaThgq0V4=H*>9f)^Kg~!9gJ?*2k&}xu%nMKC~TyGbl+s) z(ZB;V&w(pp9-3ISva-rU) zj7=^+o`3!9)9oKKd-Cqp$GK7f_= z67mRBN-8^_z(z35_|5Mjys&?Ud+(X=oVlk*hfn5PH?}0rhlAxaeiwYUH>Z4mdT@GE zn(FB3YQK7ARaAMERjI4Y%Bb{8t5k1BRz!tYScUqmXL*!+xs|K0T9!qbmsy!mDrG53 zUa}Ge+DN0tWlpR6^omT+v`lqds)!8FunaW?n;z+&Zs}?$&RV2-nxzRwuBIa8DNE56 zYQ%ts5-j#;j5g9}aanDsYnDe?gxVi%socXYTx}N$HqFBoRxd|2=G)5a~^@#d3+te&EF@nS&ZK;fhGQNhkI}VtM_B_WSHPo1U zk9Ul+8OL;b+N0q{9zFE%N33=*c0w90rbKvnqSe{iM;;=7{_}dgedmCd4~OO6>h;%? z^>F)m=ibK8^~-5o?43`(eVARJT})P+)4Oke?f!kf9$xG$=IhCyYro&mzI?v_c0;=L VJs5xvRUBKGu?%xv86!Tv$+4b5&PCJ*4P$F&A|~9)3WRY3x8hBv1%zz#t7vTH(QB zuz?0k%DF0&6KW=9B>GrOrfMqqidTRSPVAMQYWfz%H)J_F^ohXYspmVag?v^-c@WTESuX^s<#c@A6&^U%bqe*Xavk&pizV}FOXhzw++_SQck!`EeP+n$-#<@H;`qlXth zuRi~HZ)AUOY3A*V(|5j4Zjbv{_jMl*j^F)tX!Ga#;#l|Ef=_mOk0)lwZx0^**m!c} z80+C9i92n1Lu|xKHYWm^}EY+E9YO$&CYLjEX0a_k=_LxVg3 diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/script.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/script.png deleted file mode 100644 index b79115cff3f04e5fbe43c71b243042266eadf8e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 922 zcmchVziQQS48>2mQbZ|U#G%$n#KplSgLILqE#6zCT%;n1L!pwv!6G;~33Vv8E;=X; z_zcb+96C5jC>B)5+>XepmR6&yM*1 zxV(Qw8fo@mbFDhEDyqE7s?=F#WmI~lRjP}T6;a_8R-x|oERS+8w{rEUWm%MYnUx8o zQkJ6RB`cAD4K!E`)2-gq5t*K8nd-G<5gDFg8EO_3J<>hh($%EswMg?cOA{O!O-0I6 zmSQWc0fRIwp+$|wU;_;n!)igD6CPm^YJIFFa}T$0wOm+GG!L^dp&nB7hCE~;gQzezG{; z(f9Q;qm%1DbolA_?&RC~*|qVrOZ)R5F6`~j>GbdR&yzpLORZ_Twz2y4?$+CX{WWr= diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/table.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/table.gif deleted file mode 100644 index 33fc14dcf9129f1e959131b679f50748cdce2f15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 917 zcmchWzf0C}5XUcQFj^jHX%OPU2nz@GAWD~()Dqev1cw4U=owq0p{0W0iGI=2!GmRM zLzc9JL}G!-4Q|q z!Xh+6YAu<2xP@!D6bp*xVHT!gQl#ir54BJY6*w{);vp8IA#8;;V339-w5YKdY@oqn zSV~akgt@D`ls?vynYpQ(lw4R)RC85VK|Q4CbukxpK^}fUlWFWgKO|5HYrr54OIqQ< zVz7Y*OUk(_lM`wtWhDAoOQvcn_=;RuP&82!e8g!CfEVo;jasb44`?!t9dJT03SkWx zq?v>kJXj1i&{8L=Zp!3@a50QTA8W}}>T#5>?cP;vCoG%WRjRicU9LCpYP8u=M`#KQ zsgbUmG#&-qpm`2l3G>jzs($}550Q`m9NmM%heUqKSnaKULWXY3+L7V8)i)athK`+C z+*)1PeAF4aJed3N_Tt0c$=g)#rL#{@U;VQ9gwPm zIMsqvCZ`TnTpS!+^aI3S{vX1?eF;fU&N+GZHmCPT3s)8-jV9}>kNCaKXMBE+@7F7P zi_)AnH@4QQBdemytE@_$WmZO|S6ZdI7+Db&USSpLUeEF<_i`&&k6M;RnU`6aKq_S^ zN?x)O3D`h`#W3CKJspwhnU<+uOBRvg8J3}DLD3`K(=A<1ie8H}PqQ?^kdI315*53yLmt;Ui9C0K90&Xw+gQ zen69H?0^%3Q3z|mAk8GS;K5?BfmWZWyD5_s;$j$yKGu>M4`p}_Eq6FD7wvlvM`}`o z?|t6E%H}w@)7KsZH|0S?AAg|L3WiNUgT<9F4^6Dv-#_3X^5;Ltz47&RRz8@l-r0Ko zcIV^d>h|Ru=T2u@n)~wU!tU{{mrwNg;_mm^!T9Hy!_SL1=TCGv{cx=1Ys=4$Mt?@L mU$d378{d|GygGVwY5uEp`f%su_tSTOTgYT>y88a^_KSbN2XdPL diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ul.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ul.gif deleted file mode 100644 index 88a391738abb303ce7075f562df12d7a617c919f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 884 zcmchWF>94!426$Sr0P;|Z3mGq)h*CkT)L>&Zr-j6>X7aVjw0NGQpZjaLG9#NQ3S^- zMTOAGL4Ssm2ts`F{)lG!LXwknPTudv&Ffdz?`>#7f28Wjs;KfRt5Ro~l~L)HR;eyV zRz!tYScSURvpmYZ+{)FXmSs`qWmYDTN?D4Mm#jnrHqc-(Ot*SZM`U`YWvbVbMPzt} zWvE$D^hoz~OIMSk*CNf+EKP7^G!-dNS&FT&1`N`$gcdaxgAFuT466loPI!bxsP(ay z%st$~)pB7$(LBt;gnCHP8}g8akcS`8WEwlr4+#{)8Zb!1l2&-I7;K=yQajgWa>Crz zMxu|kWM*!{SLDKiqRU+Ph|?GVFWNC0wOENC&}14r;Dlfl!WuA0GYKttuo!Hh)hFt1 z%H)K&7)GLxwPdD#9PR74cNfPA+vahV?j1(A>%+Sq9d`5)hQdY~r28g=M*|ONoH zJT$RtclS9Dk&hFO3xDTMNxyWt_x3-b`CEE_W^r=x`fxUXe&zPJgEwEEE?nGvIeE8# zwDa?{=f~gsUuR2ekN!=jcPD$xTMvFbn=XIfyL9LA&id4^y;$A8f9})6?c-M)v$IQ^ LAKrd`qO1P_&#G~u diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ul.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ul.png deleted file mode 100644 index e28cbd752fc608637bf6f37ce85056417e25ab51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 877 zcmchVy-FQG5QPt1P!Sci3b9GLU^^g57tIyD5JbcW5R?HM!Ok)ymD(hv8nClZEk45( z+Kc2(Cg1EsWa0h{yL;w4XZHH=U~hTx?V_aR+5Ys1-_Lwj7bblF`gFY^O?3G6c(;0G zRaAMERjI4Y%Bb{8t5k1BRz!tYScUqmXL*!+xs|K0T9!qbmsy!mDrG53Ua}Ge+DN0t zWlpR6^omT+v`lqds)!8FunaW?n;z+&Zs}?$&RV2-nxzRwuBIa8DNE56YQ%ts5-j#; zj5g9}aanDsYnDe?gxVi%socXYTx}N$HqFBoRxd|2=G)5a~^@#d3+te&EF@nS&ZK;fhGG0U59Rp^fJ_i6cIHr+nHx;uTCy+3)gHTUxE t@5cSy()r}#_2F`|^ZM@j=l1XQ`6ub<$JyG)$Gw%tob4V=|LmN6{|8NHVsiih diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/busy.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/busy.gif deleted file mode 100644 index 7519974e07452757e08a2b647e51a374ecfc5645..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9052 zcma)>cT|(vzwT4sgksc?0tp0?kOV?Cp;t|zOE>glAoLn~k&*_X8!+_V5iAIbC_f#l zqM`z0*Ku&fvHoUo`pg-R$2oVMyVhMx@4fr4{g(BvwV(BT_kO;g*WJ_2&NhYwB7vTR zKp#JTZ2$Pt^5a^<$F;S8=4+sT<{#HSu33J1_Rr-%1N1+G{Bf7BEAJ4O?eA(~&VYhH z-6#JEz~CSR$n>9g{`o8jc!6B?G{g_SxoP$TiYU>8Lv z&+W=6gL{>LGvxC9+WP#;D!4lq3}Z!^T0+{}j~)%^3E=Szx`yNq`gNdQ+rqJiDp~3A z+Tk-f#qfr#BPG!pCgO{i&?4_RX<>2WB_5{OE_Oyc{9vYOKoSg6GoGk-SeI2Rh;}9z zT`6Vj#6Btf{`u3UEg|$q=}ld;-;I8Fv8f$;iDX*`bw+A@cIE&1Y2_w3>EzA1L>GP# zju}p1R=sRKm&m}F!Fv&I5pO_RmTtpW2gdT9*7$5!+M-}^coE#yj93IQ2}`V~l*SQBqRhq$2!t<( zgi*aKWqUg9SXb>B|!bTb~gq&LtMJ*nu+aqn%Q0K7wJrer#$FA-U{NDJ2ixC;} zIh*{a;u;4Tg)fhoGUEC#QAVC!%rf zf<8R)Ld)s6ivkqTG>VIbPYm*TAi&4mom&E1(j@nYjT_Q38!|5xC8HXRFk@2lioS`c@D@>@R|Helm)4E7d%@kCB;j4vE0DX!Vd~N6H1lm3IEi73&w$SN zYlr7IS=E86p_?>A#@?IggE%nEjE1U+#S;>MdYy#IN;^X^B&aok*8(doEDd781bH1J zL41$}P--qPrs%<7Tp$V4o|US7LS9fdr{ALuMJN~0r3aSx72d+T#Y4bX^2|y{+@tgW zhX>_a+y|pUwGNey3V7()t)j~FO^6w9bUj#j+;C@K2KH(KXVM}km7{NN{nr+5HLmic zW-0;Sx4cumKN_m6SNy*1sSh@Ilt#jUUDuqD6`Yj9Y_3d+b!)0pBtdR7% z@JYY~AhL;`}Bh(a7IDI;ba$s>rOkDbjJj)D=AT`~r2OKMxO zybC%fcyI^!Xi_K0pM50ptkMjDLyvH2=jGA&Z%u<-8lf(g>77xuf`DdXtuQ0`hWYl7 zgYF@Eg%98U(fV7d>K(DVrn?G!M`*nz5=qT3@^6qwgvep|5r;(bn;=sKOo&mJh+EZdECQ-rd`+Mq$FtE73i1}tvoa0IN=h;MdV!t;JeP=%_c6dr z@cyJ{Ec&V{2_o=_QGwx|ij527d|c!@tSX`?*!Tc9MVF*f0QEc=K&9!&^TKihP?2Q4 zK`(pxIEa}p$~!-OaSnUoV%Bs#!_)2<;ZXHJLrlNi7N3JX5;7=J(hL4+ye6&h?`x3QA`@7@Q4uD#DpgSOUPtHg0}W2%9_`f`r>V?dhQ zFBo+d87%k@eCCfFje4x*cgb;eUg1Ji)`MA(d@Rc*t*FE%e z8>2Q!S?W*55?$2*^`N7rb2oClAW6b>7|aS}l?1X0bh16<wL5BQ*OdPM^>Q57+jzGq!tL4BO2+xxZg2sUG2i%;k^D^Y1 z(Bf#BNgCKeQD_jNU3n2f6VA(T>&fa=2t)=>G+t_) zyA9Dl-cMi*#-W~X8tVX#f0M9-BDCrL$P;awqwRQC^lQaZe!w+78A|U%G~WIvV>f5(-4mpW63f$-*>6+sjYnk#~)~}-R*9QF&5uH z4e@$b!qiar0Ph|{g;b3NHN`1KF_Y7%po-SN!Zi?&F70FIs*9rIb{}cN;L1%1bgfWC zC@R=3N34gSg*kE#n(Fci`;RC)%p66V#2!R-T?Mh^6nq9nhl&pj}!L&nrbnI)9L502F9xC7LGIg6W!NdEKssi6w+o zQ_EP-)_zCh_QWWG3S-9P*htBYd(lM$KkkLE=DTN>4WcssMZ@|Lo`N$E;v0=(u3>3-NoGwh9ddZ$tq}=CpsC6nr>dW_fpWn7^_{)AlalWkhFN z<+8+C2DG#gpsKK#Z>YclNxKNQ9TzZze0)Ktm{qWACA&Qh^Q z6W+z(9@f zpTlLIHXzU46Cf12)H*zyDuKGSi|r21R;<*$Gwrk+%Z(S^X_XV673Z$j=lnL@IUW%9 zy(+G7^cYoduWi+lCbcIDQ}={0+~&w~^=`A9`SUvuC`8Z^LSw}&nMxvQeq(@`2CcjR z+@l%*4wk8)2^>0qSr1?(Reni8&jn=vJ!ad-aI8?9T)!}SO0Q94k?-pQo`+17yXMCq zV~OTH&u~U#V)(l>g@Eo)_ofj^i=c$xUEn=+23rS}gcF^42%tP>EP;TJrsn>DU zrz|V;X&IKGTCpO-6izw1JS++;Yvec^SnDFpotujdJ6jGy?1>#=j%I)*h2Toga2qw7 z;OceHoS&W53*!Wwnd3H94CJDYUv@m~jL>1`9#`fa8eY)DwH!XYHk;A#SfKp&2s@7w zWLr?a=xL=85FkGsT6l^2mB)Nv9ByrNMF3k4h_SAacB<*_X$c(>R9kQ;^Cwe>o^#GS zTMT$itTW*Ajylw{9|B_-HB?*zq~Xa64H0YCU%yO}n5SPTzbF@tEVy%X4#ECD3=lLN zrq{*rJ6yIjDj3Kh@5Ix1%~>B)bQcCvQ8#hbV^7?L_4>`YICbym=h{#heBYY*S{tHT z30bdOd$OuI6trx9y?Q(Q@8~uwDHCi(N0Z#K63tW@hD6ehtV?jOuG4C0#AvnK)07@v zO-yA59#S+G*9q7RXV{#aIPN_`%Ng$VZ^H6D8r+K&{WYY{7Uj}hhkNLCqHANrMY_aY zWL^PPmX;NH9j#fW4?5#|NZ0zQp%f?Q z8B+@i3uH&m-f_lf#fQtab~)1fUwS{UkAtEdn~RAG zccVpWYT1^4>4IjzzrerJ;2xE_6IR$(AJ5mm6ia;~vQ%e`-wwcah{-rgyZAlT9M(2mIX9$&>R6efjB>3l&sew zFiwd2y1#kTxXuV8z{-+Z<<&pv0zzl7($a20x<^afp%kkpsu^Aw`bVM2aM?HBNoNu z4<3LL+2^%W`HkHTHF&21DeWv`v1tWG95Xwqvy`COIEUXXWrZ|{!8;5~FZr5fC#TX< zGdo}GOR}y&q{wuKXuA|F1I}fjaPo9AzFQi3Rs5ricKT`pbt=py;+_$PmukB z?+{dt(eOg=#+_Cd^wn1}pZC$H%KAK3FxyF3@n16uPb^okk3ZRbbjUm0aLlQk8J145bh_dh`=R zylG2uMS>*biL{_x_)u#PUs(#fM2}a-3(s9xl?CSCFIxh^wzMQ6oi(g}2ocP`zW%WM z_o#uClRxQR#yh>sk$qwy>YP2n4t?DAR?&O!v}ZB0@OCk|P&QSV6>>#yZ@L|SdtORe zEO{&`-2S4E{$Zp4n<#iKAiJ*H7?J_bhF6!@N=P2I zWo0FYsg!akL|$A8lLLSp)~XYfF?Ja0Aw&$sk$C%LFkXKMy7TafRNUnu)Ihv%75B2Y zPWhEEMxQ3$5^)))G7IWAkZ<0Oc`$XE1U>BS3`*=8!w(}ytK$MrACH@Ot1XYOVL>MP zs|_j9JK&w16u+8s-DqHSplZR|m!W*}dM6Gm;#PcjoD@rr(X4gS(hd7%s>;XxkipH+ zn8lRpDoyQ{o#Mjpmr!j77VrMTr1~JWQI(;CNRQq1orWb2Krxv5b+HbE(fwsT|A#lY z!rHD@Q^}BJ|F+S)ds5Xi-!cH0GgHMo$(8zVU_Yojj^rRU86K%Q8V*EV(U={ZD3K|OG=DAOn&lr7TE56>xIZ8fqBGbJ(W`UPc{T8+z*2PjCb~ZNo_rV}$f~$8YcSIA^`ML51hxt+u$8 zQDy2=jiW;Zk#2llZpZxSx&>{nO0+sOvAY)PSXlLIo7B}sUpL9-Cfx|)DS}e1FUeM$ zAaLE4;#ZMbT&P-{rm*JKHIl0Zf}433WbD0XV~<%%c-7~T>VH!S(%YMJD$Bpt$GIV3 z(tN`J&lgCBM3nsUZ;SWy7>U@;nlu|d+&huKYqe`GP~B1$(lx!+z@cLx)Bb%R6pq&_ zI=8giodW-v)p8sT4FR{O<42!mYbO+ftYrkWCEo{;#fgtgf!k6J(3PeQH+9MV8SHo8fnh;7B?eN4UtI$*gz$3dmC8{A*V(WDhSq4~K*QR;iOI4Y>^B#SFF37@ zXf`a72-Rr?0TwH1EqCm+(+y0zPWSutp0aWJ6L?nz@Fz$3t3xq2uo{ZcqU5|cU!UJo z#&FtvzU+rHqna|1Mjp>T@4H;m7uz`eIsrOO2Vl z={QYt#Yncg>GsHAq!KW;d=3h6HNgCw$eam$)-(;{czBcT0H8)fu~6<}WH?E(v}3os zCJkA%>l(4E9C0(gqcunAgg`fnn|#e5=~C7j%XO9?JgwD7ef8?;0^2;L*b3!@w!esZ9PpZNYHiXr z#^x-cU^?8MHb=>AJPbAZ3jy^LaFlE3)zVy*sBv$Xt^VoQ4}bn7xN_BSy6uA6J&HnM zpl>tdlI8ml)?#TJ_g2;9OTUji+WJ2xSynq9f=m2)aVA` z?ZIdh#aSIq=s1x=o6Bg^Mq6slrRNu-3u9~Ex}s`X6Q@L?j6J9xo~El3?m$E{)#Fqj zC9C2IypBq!CI6W~acR-|ec*&Ae%JD~N}YaXu2D|Kt`-At^|$UEZRr=?MnjLjxp^GP zb_cw}^6$`cm-sznn3Ded3z?>Sd)?Mg2lgRVkv2=Wvp8F7s_ZL2Qs}0JuF<<0e{Bua zL4p{wnkS@^7YIaP-}6VR*A>X_E%j$lo8Fyv1v}+t6emW2+)~NO4rl~7A_T|{X^3=f zX?0N0l}a(pDM0B!;krl!2CmWkq25?te4rq{_cYr#DAx%dCm-vuX=f7`sDV98nVlGJ z-mTkfjcWu+HMJ}ywB2SXuF<<@G`YqozzNFD49=fv*$RSfNGMMteZSfOy}lX|du!`4 zvvz&gzLpWpGtwK@l$K>rlD~XRddgTQE@)eLW{K&JVBdu>!$aPHv2dx0sIk8R&<*O_g4~C=b0U4^W`^JZU)|V!U~}^vu`FU=u}og43n-QQ zS}|Igf!1xL&OkA&vB|G$&|cm=F${=v65T01#>%P8=(7f=CY2TEE@GQ<#iX3pI?h$m zS1ZOctz_49l(?Hra8EIb5hdMc=oI;XW5Pjf(JAGa068}E@iTv0OaepmNrYNUv2{7nXv_e_WvzXM1A{~EeWT)bMr(VAagslD zN(HJ%>TW0mjwy-V7U_fC{;*{9QD=kf)FaxbR(%Y_xabNz#^S~ubG%-L=Of%X9^D<7 z@3OdMaS!Chq6BDDHior+ksbT@&YR7ef}t|CKfo2Wm51Jo-lb%#%aBEZNhMzh2LH{j z>iomu3H;SGG#TOD*C-)f-j3VNX2GF#a74QSWR~ zj8nIHv_T82C&*LWuV>_B;0A4ynp9g9VHMuJ7&`Ymrodj)%n&9zXp$%d!3-gxIQt6U ze5Svir#Ls8SK!u71qLHCLaePjBJ;a4Jx)&!PEG1h1)iP7pRAfF85xt057dd}x@OA> z@_rYDOz#pXvB40^(Uw4&-9mOnh2=e_yav2jE-egw+`O5ZU_F!8kj##9a<SW%9>&-VHf_{r0OUo*gsM!0D3rnVY(a$)n=N6)?WQD5SC_dT{(JAP}&MvZR;lbD!D zjExL*UO-_#m`gdT9w*^6i_VAD2}Of<_w^Ch3lvFd>7YVXX$8X{VVQ>3$*6MUOB*un zJerQQ3q8C$+YN}^Ubk>=xVDZFOGn4oF)dpjZ!=|c+I;+++$fX<3mbCw*Rn(`I_EX6 zVsOTGmmICHu9e>IsALgin@VoC$Vx?!1;$s}&CE1w%WY~j4D#&@p*(b8(*__OOQvmD zS0(W);uO2f*8MMW@}70rXtzhN47M2ZTpW;hudO~{( zJaZG%Q-e|yQz{EjrrH1%u?6^qxB}__|Nk$&IsYz@rR?eA7*cU7Dd7N1&k6<=rl}4A qJqe*4T{VI{li6p!eZin`fFb-g!=%|R?^A%v89ZJ6T-G@yGywor`z-1J diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/cellspace.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/cellspace.png deleted file mode 100644 index d0802217982d465b3efffb55ab32eca156adc823..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^f*{Pn3?z9rZ$AN~BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrH1%u?6^qxB}__|Nk$&IsYz@CGP3s7*cU7Dd7N1j{w8+m)b@* d?lKD`FqDNc9QFFj#spNt;OXk;vd$@?2>?eZC!PQR diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/claro/collapse.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/claro/collapse.gif deleted file mode 100644 index c18c53b22fd54d747c7874e2f11281d759e752f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 860 zcmZ?wbhEHb_wL>M{Q2|u@85s_{{8#BKmf`M3>=OO{3;S21rHjTd4;rmG7dN}vvDdq=>$Ajc%+?I!-(O)M&)KE kX0ehtD-sScuxbQrMI;0*JvB`)kV`;d!7|_3jEoG{008d^TmS$7 diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/claro/collapse.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/claro/collapse.png deleted file mode 100644 index e39f85c3a481108f6341de7dd8a523357e4f9522..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 894 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2VGmzZ%#=f6{ftew|C&ab5xVWdMXUdc*b3kAz z2&@Hxty{P5-Mjbs^XKp1zyJRI`~Oie8Un*H1a9~CSOK$yrKgKyNW~oA6OLRAiagF2 zGgcm*b?5&szQv3Bb?h9!=nCADnzbT-%3;@eDs?3{B4)CkPQ6oeZ_SFQGji%~on2g9+|$!DWy+K}Ag~k!)`Gy+ty}l*-TVCc^Y`!H zfB*jd|0oy@f#DSbIt)Mn$_oq}J`BP-5*`H!O)UIET0R{N2btOVSvWjiC>(5T7gTq$ zDLByR!oZ+nWf8ETv4KHB)kq_tfw7s5k!45DflI2*Gt9DY-SKQV&@kVjk&T7H8UU2F B2^#AGi zlqqvSU?~W!1%a(wx9;7$_xbbZ@87@w{{8#^Q7{?;!z%=&%TG)NW(g-x7srr_Ii@Er z@--;%IA07>OfFpW|Nr)`!=EqQ5vh~syKZPWRcUESMCz#oPo@;9V@bCqnU#}F_kB)% gvu1nAm)GAJE{HQno7$_p15IP_boFyt=akR{0P9j3?f?J) diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/nihilo/collapse.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/nihilo/collapse.gif deleted file mode 100644 index c18c53b22fd54d747c7874e2f11281d759e752f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 860 zcmZ?wbhEHb_wL>M{Q2|u@85s_{{8#BKmf`M3>=OO{3;S21rHjTd4;rmG7dN}vvDdq=>$Ajc%+?I!-(O)M&)KE kX0ehtD-sScuxbQrMI;0*JvB`)kV`;d!7|_3jEoG{008d^TmS$7 diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/nihilo/expand.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/nihilo/expand.gif deleted file mode 100644 index 56c56986cf1c739cac07f02985b825c9d2c49537..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 871 zcmZ?wbhEHbi%~on2g9+|$!DWy+K}Ag~k!)`Gy+ty}l*-TVCc^Y`!H zfB*jd|0oy@f#DSbIt)Mn$_oq}J`BP-5*`H!O)UIET0R{N2btOVSvWjiC>(5T7gTq$ zDLByR!oZ+nWf8ETv4KHB)kq_tfw7s5k!45DflI2*Gt9DY-SKQV&@kVjk&T7H8UU2F B2^#mEF hVoq#Wc(`3a*=vr+#zjZFC5*G~oY?sIa03H_H2_VK5hVZs diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/soria/collapse.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/soria/collapse.gif deleted file mode 100644 index c18c53b22fd54d747c7874e2f11281d759e752f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 860 zcmZ?wbhEHb_wL>M{Q2|u@85s_{{8#BKmf`M3>=OO{3;S21rHjTd4;rmG7dN}vvDdq=>$Ajc%+?I!-(O)M&)KE kX0ehtD-sScuxbQrMI;0*JvB`)kV`;d!7|_3jEoG{008d^TmS$7 diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/soria/expand.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/soria/expand.gif deleted file mode 100644 index 56c56986cf1c739cac07f02985b825c9d2c49537..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 871 zcmZ?wbhEHbi%~on2g9+|$!DWy+K}Ag~k!)`Gy+ty}l*-TVCc^Y`!H zfB*jd|0oy@f#DSbIt)Mn$_oq}J`BP-5*`H!O)UIET0R{N2btOVSvWjiC>(5T7gTq$ zDLByR!oZ+nWf8ETv4KHB)kq_tfw7s5k!45DflI2*Gt9DY-SKQV&@kVjk&T7H8UU2F B2^#mEF hVoq#Wc(`3a*=vr+#zjZFC5*G~oY?sIa03H_H2`+$5Z(X) diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/tableIcons.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/tableIcons.png deleted file mode 100644 index fb00763baca81172ca90704848d25ea77774482d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2961 zcmeHJ=U3C|68-^;Ktv7AiW1sp5v3_oWGNA@fC!O}6d_VnKoNozS)~byAjld*3(}>A z7D|9f#1xt&gcdML6$OMCdQsqJ@4s+A-urx*cV^D}%$f7dnR5mWx4wD^bP@yrz#$8B zQ(FKKFy;G_qC$Ktjd7~rKLR1PS7AUkLw24Y{N`tJ-2?#YQV;&}66VK{+vc{{0U+{s z0EmtUfE|7+dJX_WH2`4269Dux0pM5=uJwii00;qaD|<8k2O&GfQz56ocXT1)#sRmD zpw4I`x1_*`lyew+E$qF>n5e@s)W{f=Yt?v;rQ9?3bIHhyxX0)7;m6+uI?+#`oz>7= zHnQz9GaT@fVcho^@ZB)S)7`sWj!IhFcLSkdJg zi7lcW1s5<_bp2hw=QhP;v-jTQq-PvDE(x2Il$n+JEIub2o1UGIEy{UaSe8>(fGue% z$-$6Q&~-VvguMLHqO9iH7cGR>1#c>=iYxf2sjVlL6_Km)4Yh9wE%>*M1!Q7DLnEPu zP)lqk5Svt+#H@cR`?;O^>uYfbg-+}4>*=EO z_AxtpIUo8*`l*z`zV5L>`q0qO$mmB7duW_9+|A&Pa%KjXcc&(Xzs_*xW+&FZyq}ty z{`z%xZtm;%g}J$f#f9%ni+pf-Q|o&RTYJ2f^|kelm5rT^&8^MtpIcko+dDsZe(nC+ z-QC~c=a29I_-_=5GDteg-zflTYi-BZ^M4tD-KK~#U&|9nGiRjT17BpASFjHN_qux@ zsb+0v4|#M!O9GC?P!)m(Oc<8h?e!E2TfxqbH9(gf@v1*VZqShWP~n~(MX^tt&UB`rcET62i1fN z3n%(>F3;C%Xr}!!SRpqIX6i$lCS;`T&c0KmIX1!6iwB~b^s?4kwUyI@AHTAg)9Q3d z_`-Mv<>u;+l}GKYmF<00JRw3o#T2Gpmzk{VcKC-Q80V&TW&qRI2RF!wQwzcQn7{5~ z>_38DE{H0O#FR@J852Kqm3TOr^NKQe;>d0!&SBcDmbl`Tq;OGh%MJp(IEERhikaDP zNdBHK-#Hi|c_ejZK7u!C!YsEdjZBd<8oxr9muOl2#`LQ_3u>5Or>>rY$9CA3V@k~o ze$y(MbopZdB2_QbBbHWvvDzsCN2S(;D`9NBLqoMCQ#%!BW@aQ3wx&u^gQarZeH_9l zpm<54wJ@2?qS4j4A$;VB#^O<$C@j}lULckWK2`)s_fzP_H` z<(~?*<_}XKAfF8y^2s)o&o$}o;d5^js33KLWt_&Anzt%Os>eJxWb6fp9$7??)Cy0jlF&_|6jRBtx$U|Ge#p2(NBA`hEB ziY3{P`5HdGYgm_^NiMEXh~z!G@2Z(>C|+Y&RA6F49X_fVpz~3Q8ngE#>?t`lT*>9V zjLNP@9`l>XCGkj@oIbM56{0F# zC|rfOb}cC$RT+o~$A`PX+_G~H_VxLouBIrvrD+{wdTTv&yadwdGN$Qxd&6sU`Bnc2 z-Vr0{`KIEi$I!~>Dj^jL>bKgHKedLc22U*rYf5p3yuxRD(jVw0Vw8P}Lr@6zwxo-s z!EdIn9XM%F;JDK4Fl^E0Bglq)JZ%JWvrb^b_`|0Yh>NgJFQt{^@(`Fyk|d?EEZUi2 z>8-~Dg9C-XHNr(*QdaKCGiC#xmEOXd`-Aa|w!SL{2Nd#V@G|x~f*TFqf)SHGNI!~5Bj1m5w#Bob1StL8V2yFuD=$~s?}!uGeZ0w)fyQs-(!?Y{ zHGgSeiVA!&4z`TA(sseiIF#YvgLVp2_&nYJ$^I?6+o^CKdOu_oRZ;O%heRUD(qD>- z2nw*!B2CX}j>$_SuySNHnHht(y*;C&TxO|a;|R%qC8_YLpW*+77;YPTvt1a#hHalo$+#7pNn04+?tsS@9PpqE=9@+xlAo(?X_VEjaSnsUty*U=|Ik>GB_T#3RvtONF@{7Xr_nMp3v!aHDx&EXL^>_KB)2%9QdwR>t1ZlFEGvCmkx!$S)>maU z)@Hq}qS0v;wKX()HNB2bd-sk(Z(uewH8WV9jP^kmBZFHU+x)Jet+Ax3u9DeM+gU?r z*EbH<<*d_7xGfoMR#_X1!D_E#x7Bxb(7M@m!>p2CPW|_f@oPiHJ6o|kllkvkSgjph z>~`jd&hAc5KZn`U+to4H*V@<-jzMx$fv3Cp_$2%^@(O4 zk2f_nIX$;9Gc)ylZf5TL!uA3wK$ZftIB?QCvtZEf#t@9ypH z?HwE(94_wv_%Ar{YB}%lSODIZNc5qr|H}ZNHv|>U`6l^crmrK`peO1$+saA13i}p_abYSI_rHmlwP!1FMtf%I_OZ}kUb$nT!2~BDNLW;KJ5FOHILO{2;v4>5 zVnYO-nriB{QyAgbBS>A3$b^;iVW#K_6b{Sk885J5#W{z9%lH@><{r~1EK?<8;JMn) z_4!nAJ$5d`0K06=*oC8pQNVN3c9ZAcdL+QBF(%SBO$`{f((o_Arwz}jb{jApenAKI z1i&VkAh9Og1&}`UxkoNv>A@Q>9osB^z6eK&2V!!ew^aN#;&FX$<1kMdkviRdt+iuS zGOen)+umR6pVoZ;O#QNvSHg66<|1=te8VT$m?}M@kQS8#8;v~C>w=ON4jh5!G(dE?nC72Qn4?E70ow|-!8y;@k1<+iG82uE+8{S3v#V( zigiu>Q>0wCvx`2l$2Vi?OVxL@+DFnVPv)=Px{QOO5GjDx&9mC-1VFB$Y#ij@@~6kN z^Kd_!eC6yQ!HKAou2;fOVI))CVN_}4e3{4CUIX@?UjM0HMsmQ~M3cfPpi}A-LbwBP zrF!5{ykXRYIT5zxsrPiPBQ2xlMDeD}X4>aU24gtvPcO>iYrSrY#SQ-*Og6;0o)8G?`4+7UxdIx|HY-G56*0@`jE^Nq?!* z$E4OR?-%M_eRH>?EA5Rg(j3%~b~jNZN6?hgR!BjEXQQO5&!|J39xFhi;n{HIkB~A1 zDLjY!04sYIDlhmbw;;dhzJ!0exc@c@F9v*-DmB+yDH7VSx-#CDwzILcG+gueUV#xl zh49)MjeZ@DuwgDcZ9NOGgkeIr+P27aYidZ7zj9+8CPdL)^Dy)HyVS@$xZTvC_S zGb5GopX1A>j4~vn!eMtU+p#LY=TVl|R3SDZ+4gp7YLbrxG*#r3fSMg(kiJf|J50>& zJ0SR!3U6zKXW9ae8u1Mc`JrUc`lMTt2fyY+cxr~c`jupxAXlt6$`plBk09r9&cP|? z(dR8*CmONLXJ^-6l#OlJ>uc2CxUKyOY~XyHG7Z<b7Kr3J z83j7rwn`gdqa9NR(#2bv$tFz`7aweUoRuRW9?dfm!~gHF2}FAyC~n;^I=U;IBVjuy2A)7|9uM$b#+Beg}9)g zpfR6ss|-7L4Kki~r)ZuxLYwx_YuHb*B50_#p5BnP9f!!j=5)KUvxaoVE6hZ#1pIuS zC7}?N6Tzm4V)h5ZQ6}E#;USspKC&(m`%sL#Q$Rlv9~x?9KPdUH$>%vl7xP(W)UVTn zvrg+e+b&>r3J^3eV%_Q^XM6Q--I(wZ&dEUTN&P3HCy18G&Hi1-rvXmq{V^(^djS|L z`J&=iB|V$lTo`bof8r- z@Q10~r>b7IxYnG|Rd`C_)9Y2ZN9s53g~psaDaYey4y nr)+8D?RYR?#Uhw}P_y`W4)4~52ng`_=QDA`3<)nY!9Dv2HN=_wL>M{Q2|u@85s_{{8#BKmf`M3>=OO{3;S21rHjTd4;rmG7dN}vvDdq=>$Ajc%+?I!-(O)M&)KE kX0ehtD-sScuxbQrMI;0*JvB`)kV`;d!7|_3jEoG{008d^TmS$7 diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/tundra/expand.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/tundra/expand.gif deleted file mode 100644 index 56c56986cf1c739cac07f02985b825c9d2c49537..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 871 zcmZ?wbhEHbi%~on2g9+|$!DWy+K}Ag~k!)`Gy+ty}l*-TVCc^Y`!H zfB*jd|0oy@f#DSbIt)Mn$_oq}J`BP-5*`H!O)UIET0R{N2btOVSvWjiC>(5T7gTq$ zDLByR!oZ+nWf8ETv4KHB)kq_tfw7s5k!45DflI2*Gt9DY-SKQV&@kVjk&T7H8UU2F B2^#@~+@(9UTD|7YU}2k)f&~ F06TyWXSo0X diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/insertTable.html b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/insertTable.html deleted file mode 100644 index da5e9a87..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/insertTable.html +++ /dev/null @@ -1,48 +0,0 @@ -

    diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/modifyTable.html b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/modifyTable.html deleted file mode 100644 index 35232a73..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/modifyTable.html +++ /dev/null @@ -1,58 +0,0 @@ - diff --git a/resources/library/interactive/barre_prof.wgt/dojox/html/README b/resources/library/interactive/barre_prof.wgt/dojox/html/README deleted file mode 100644 index 1f0abb82..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/html/README +++ /dev/null @@ -1,48 +0,0 @@ -------------------------------------------------------------------------------- -dojox.html -------------------------------------------------------------------------------- -Version 0.2 -Release date: 04/24/2008 -------------------------------------------------------------------------------- -Project state: -beta -------------------------------------------------------------------------------- -Credits - Eugene Lazutkin (eugene.lazutkin AT gmail.com) - Scott J. Miles (sjmiles AT activegrid.com) - Steve Orvell (sorvell AT activegrid.com) - Tom Trenka (ttrenka AT gmail.com) - Bryan Forbes (bryan AT reigndropsfall.net) - Mike Wilcox - dojox.html.styles (anm8tr AT yahoo.com) - Jared Jurkiewicz - dojox.html.entites, dojox.html.format (jared.jurkiewicz AT gmail.com) -------------------------------------------------------------------------------- -Project description - -This project aims to add html functions that aren't used often enough to -warrant going into Dojo Core but should not be duplicated. For instance, font -measurement routines aren't used by the majority of developers, but are complex -enough to not be duplicated. -Styles adds the ability to create and remove dynamic cssRules, as well as -manipulate document style sheets. -Ellipsis adds support to match text-overflow: ellipsis for Firefox. -------------------------------------------------------------------------------- -Dependencies: - -dojox.html nor dojox.html.styles have dependencies, outside of Dojo Core. -------------------------------------------------------------------------------- -Documentation - -To automatically initialize the font resize callback, add "fontSizeWatch: true" -to your djConfig. -------------------------------------------------------------------------------- -Installation instructions - -Grab the following from the Dojo SVN Repository: -http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/html.js -http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/html/* -http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/html/styles.js -Install into the following directory structure: -/dojox/html/ - -...which should be at the same level as your Dojo checkout. -------------------------------------------------------------------------------- diff --git a/resources/library/interactive/barre_prof.wgt/dojox/html/_base.js b/resources/library/interactive/barre_prof.wgt/dojox/html/_base.js deleted file mode 100644 index 9d50dabe..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/html/_base.js +++ /dev/null @@ -1,192 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojox.html._base"]){ -dojo._hasResource["dojox.html._base"]=true; -dojo.provide("dojox.html._base"); -dojo.require("dojo.html"); -(function(){ -if(dojo.isIE){ -var _1=/(AlphaImageLoader\([^)]*?src=(['"]))(?![a-z]+:|\/)([^\r\n;}]+?)(\2[^)]*\)\s*[;}]?)/g; -} -var _2=/(?:(?:@import\s*(['"])(?![a-z]+:|\/)([^\r\n;{]+?)\1)|url\(\s*(['"]?)(?![a-z]+:|\/)([^\r\n;]+?)\3\s*\))([a-z, \s]*[;}]?)/g; -var _3=dojox.html._adjustCssPaths=function(_4,_5){ -if(!_5||!_4){ -return; -} -if(_1){ -_5=_5.replace(_1,function(_6,_7,_8,_9,_a){ -return _7+(new dojo._Url(_4,"./"+_9).toString())+_a; -}); -} -return _5.replace(_2,function(_b,_c,_d,_e,_f,_10){ -if(_d){ -return "@import \""+(new dojo._Url(_4,"./"+_d).toString())+"\""+_10; -}else{ -return "url("+(new dojo._Url(_4,"./"+_f).toString())+")"+_10; -} -}); -}; -var _11=/(<[a-z][a-z0-9]*\s[^>]*)(?:(href|src)=(['"]?)([^>]*?)\3|style=(['"]?)([^>]*?)\5)([^>]*>)/gi; -var _12=dojox.html._adjustHtmlPaths=function(_13,_14){ -var url=_13||"./"; -return _14.replace(_11,function(tag,_15,_16,_17,_18,_19,_1a,end){ -return _15+(_16?(_16+"="+_17+(new dojo._Url(url,_18).toString())+_17):("style="+_19+_3(url,_1a)+_19))+end; -}); -}; -var _1b=dojox.html._snarfStyles=function(_1c,_1d,_1e){ -_1e.attributes=[]; -return _1d.replace(/(?:]*)>([\s\S]*?)<\/style>|]*rel=['"]?stylesheet)([^>]*?href=(['"])([^>]*?)\4[^>\/]*)\/?>)/gi,function(_1f,_20,_21,_22,_23,_24){ -var i,_25=(_20||_22||"").replace(/^\s*([\s\S]*?)\s*$/i,"$1"); -if(_21){ -i=_1e.push(_1c?_3(_1c,_21):_21); -}else{ -i=_1e.push("@import \""+_24+"\";"); -_25=_25.replace(/\s*(?:rel|href)=(['"])?[^\s]*\1\s*/gi,""); -} -if(_25){ -_25=_25.split(/\s+/); -var _26={},tmp; -for(var j=0,e=_25.length;j/g,function(_2a){ -return _2a.replace(/<(\/?)script\b/ig,"<$1Script"); -}); -function _2b(src){ -if(_29.downloadRemote){ -src=src.replace(/&([a-z0-9#]+);/g,function(m,_2c){ -switch(_2c){ -case "amp": -return "&"; -case "gt": -return ">"; -case "lt": -return "<"; -default: -return _2c.charAt(0)=="#"?String.fromCharCode(_2c.substring(1)):"&"+_2c+";"; -} -}); -dojo.xhrGet({url:src,sync:true,load:function(_2d){ -_29.code+=_2d+";"; -},error:_29.errBack}); -} -}; -return _28.replace(/]*type=['"]?(?:dojo\/|text\/html\b))(?:[^>]*?(?:src=(['"]?)([^>]*?)\1[^>]*)?)*>([\s\S]*?)<\/script>/gi,function(_2e,_2f,src,_30){ -if(src){ -_2b(src); -}else{ -_29.code+=_30; -} -return ""; -}); -}; -var _31=dojox.html.evalInGlobal=function(_32,_33){ -_33=_33||dojo.doc.body; -var n=_33.ownerDocument.createElement("script"); -n.type="text/javascript"; -_33.appendChild(n); -n.text=_32; -}; -dojo.declare("dojox.html._ContentSetter",[dojo.html._ContentSetter],{adjustPaths:false,referencePath:".",renderStyles:false,executeScripts:false,scriptHasHooks:false,scriptHookReplacement:null,_renderStyles:function(_34){ -this._styleNodes=[]; -var st,att,_35,doc=this.node.ownerDocument; -var _36=doc.getElementsByTagName("head")[0]; -for(var i=0,e=_34.length;i|)/g,""); -} -if(this.scriptHasHooks){ -_3c=_3c.replace(/_container_(?!\s*=[^=])/g,this.scriptHookReplacement); -} -try{ -_31(_3c,this.node); -} -catch(e){ -this._onError("Exec","Error eval script in "+this.id+", "+e.message,e); -} -} -this.inherited("onEnd",arguments); -},tearDown:function(){ -this.inherited(arguments); -delete this._styles; -if(this._styleNodes&&this._styleNodes.length){ -while(this._styleNodes.length){ -dojo.destroy(this._styleNodes.pop()); -} -} -delete this._styleNodes; -dojo.mixin(this,dojo.getObject(this.declaredClass).prototype); -}}); -dojox.html.set=function(_3e,_3f,_40){ -if(!_40){ -return dojo.html._setNodeContent(_3e,_3f,true); -}else{ -var op=new dojox.html._ContentSetter(dojo.mixin(_40,{content:_3f,node:_3e})); -return op.set(); -} -}; -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/html/ellipsis.js b/resources/library/interactive/barre_prof.wgt/dojox/html/ellipsis.js deleted file mode 100644 index b28946f2..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/html/ellipsis.js +++ /dev/null @@ -1,174 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojox.html.ellipsis"]){ -dojo._hasResource["dojox.html.ellipsis"]=true; -dojo.provide("dojox.html.ellipsis"); -(function(d){ -if(d.isMoz){ -var _1=1; -if("dojoxFFEllipsisDelay" in d.config){ -_1=Number(d.config.dojoxFFEllipsisDelay); -if(isNaN(_1)){ -_1=1; -} -} -try{ -var _2=(function(){ -var _3="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; -var _4=document.createElementNS(_3,"window"); -var _5=document.createElementNS(_3,"description"); -_5.setAttribute("crop","end"); -_4.appendChild(_5); -return function(n){ -var x=_4.cloneNode(true); -x.firstChild.setAttribute("value",n.textContent); -n.innerHTML=""; -n.appendChild(x); -}; -})(); -} -catch(e){ -} -var _6=d.create; -var dd=d.doc; -var dp=d.place; -var _7=_6("iframe",{className:"dojoxEllipsisIFrame",src:"javascript:''"}); -var _8=function(r,_9){ -if(r.collapsed){ -return; -} -if(_9>0){ -do{ -_8(r); -_9--; -}while(_9); -return; -} -if(r.endContainer.nodeType==3&&r.endOffset>0){ -r.setEnd(r.endContainer,r.endOffset-1); -}else{ -if(r.endContainer.nodeType==3){ -r.setEndBefore(r.endContainer); -_8(r); -return; -}else{ -if(r.endOffset&&r.endContainer.childNodes.length>=r.endOffset){ -var _a=r.endContainer.childNodes[r.endOffset-1]; -if(_a.nodeType==3){ -r.setEnd(_a,_a.length-1); -}else{ -if(_a.childNodes.length){ -r.setEnd(_a,_a.childNodes.length); -_8(r); -return; -}else{ -r.setEndBefore(_a); -_8(r); -return; -} -} -}else{ -r.setEndBefore(r.endContainer); -_8(r); -return; -} -} -} -}; -var _b=function(n){ -var c=_6("div",{className:"dojoxEllipsisContainer"}); -var e=_6("div",{className:"dojoxEllipsisShown",style:{display:"none"}}); -n.parentNode.replaceChild(c,n); -c.appendChild(n); -c.appendChild(e); -var i=_7.cloneNode(true); -var ns=n.style; -var es=e.style; -var _c; -var _d=function(){ -ns.display=""; -es.display="none"; -if(n.scrollWidth<=n.offsetWidth){ -return; -} -var r=dd.createRange(); -r.selectNodeContents(n); -ns.display="none"; -es.display=""; -var _e=false; -do{ -var _f=1; -dp(r.cloneContents(),e,"only"); -var sw=e.scrollWidth,ow=e.offsetWidth; -_e=(sw<=ow); -var pct=(1-((ow*1)/sw)); -if(pct>0){ -_f=Math.max(Math.round(e.textContent.length*pct)-1,1); -} -_8(r,_f); -}while(!r.collapsed&&!_e); -}; -i.onload=function(){ -i.contentWindow.onresize=_d; -_d(); -}; -c.appendChild(i); -}; -var hc=d.hasClass; -var doc=d.doc; -var s,fn,opt; -if(doc.querySelectorAll){ -s=doc; -fn="querySelectorAll"; -opt=".dojoxEllipsis"; -}else{ -if(doc.getElementsByClassName){ -s=doc; -fn="getElementsByClassName"; -opt="dojoxEllipsis"; -}else{ -s=d; -fn="query"; -opt=".dojoxEllipsis"; -} -} -fx=function(){ -d.forEach(s[fn].apply(s,[opt]),function(n){ -if(!n||n._djx_ellipsis_done){ -return; -} -n._djx_ellipsis_done=true; -if(_2&&n.textContent==n.innerHTML&&!hc(n,"dojoxEllipsisSelectable")){ -_2(n); -}else{ -_b(n); -} -}); -}; -d.addOnLoad(function(){ -var t=null; -var c=null; -var _10=function(){ -if(c){ -d.disconnect(c); -c=null; -} -if(t){ -clearTimeout(t); -} -t=setTimeout(function(){ -t=null; -fx(); -c=d.connect(d.body(),"DOMSubtreeModified",_10); -},_1); -}; -_10(); -}); -} -})(dojo); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/html/entities.js b/resources/library/interactive/barre_prof.wgt/dojox/html/entities.js deleted file mode 100644 index a14aa07f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/html/entities.js +++ /dev/null @@ -1,85 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojox.html.entities"]){ -dojo._hasResource["dojox.html.entities"]=true; -dojo.provide("dojox.html.entities"); -(function(){ -var _1=function(_2,_3){ -var _4,_5; -if(_3._encCache&&_3._encCache.regexp&&_3._encCache.mapper&&_3.length==_3._encCache.length){ -_4=_3._encCache.mapper; -_5=_3._encCache.regexp; -}else{ -_4={}; -_5=["["]; -var i; -for(i=0;i<_3.length;i++){ -_4[_3[i][0]]="&"+_3[i][1]+";"; -_5.push(_3[i][0]); -} -_5.push("]"); -_5=new RegExp(_5.join(""),"g"); -_3._encCache={mapper:_4,regexp:_5,length:_3.length}; -} -_2=_2.replace(_5,function(c){ -return _4[c]; -}); -return _2; -}; -var _6=function(_7,_8){ -var _9,_a; -if(_8._decCache&&_8._decCache.regexp&&_8._decCache.mapper&&_8.length==_8._decCache.length){ -_9=_8._decCache.mapper; -_a=_8._decCache.regexp; -}else{ -_9={}; -_a=["("]; -var i; -for(i=0;i<_8.length;i++){ -var e="&"+_8[i][1]+";"; -if(i){ -_a.push("|"); -} -_9[e]=_8[i][0]; -_a.push(e); -} -_a.push(")"); -_a=new RegExp(_a.join(""),"g"); -_8._decCache={mapper:_9,regexp:_a,length:_8.length}; -} -_7=_7.replace(_a,function(c){ -return _9[c]; -}); -return _7; -}; -dojox.html.entities.html=[["&","amp"],["\"","quot"],["<","lt"],[">","gt"],[" ","nbsp"]]; -dojox.html.entities.latin=[["¡","iexcl"],["¢","cent"],["£","pound"],["€","euro"],["¤","curren"],["¥","yen"],["¦","brvbar"],["§","sect"],["¨","uml"],["©","copy"],["ª","ordf"],["«","laquo"],["¬","not"],["­","shy"],["®","reg"],["¯","macr"],["°","deg"],["±","plusmn"],["²","sup2"],["³","sup3"],["´","acute"],["µ","micro"],["¶","para"],["·","middot"],["¸","cedil"],["¹","sup1"],["º","ordm"],["»","raquo"],["¼","frac14"],["½","frac12"],["¾","frac34"],["¿","iquest"],["À","Agrave"],["Á","Aacute"],["Â","Acirc"],["Ã","Atilde"],["Ä","Auml"],["Å","Aring"],["Æ","AElig"],["Ç","Ccedil"],["È","Egrave"],["É","Eacute"],["Ê","Ecirc"],["Ë","Euml"],["Ì","Igrave"],["Í","Iacute"],["Î","Icirc"],["Ï","Iuml"],["Ð","ETH"],["Ñ","Ntilde"],["Ò","Ograve"],["Ó","Oacute"],["Ô","Ocirc"],["Õ","Otilde"],["Ö","Ouml"],["×","times"],["Ø","Oslash"],["Ù","Ugrave"],["Ú","Uacute"],["Û","Ucirc"],["Ü","Uuml"],["Ý","Yacute"],["Þ","THORN"],["ß","szlig"],["à","agrave"],["á","aacute"],["â","acirc"],["ã","atilde"],["ä","auml"],["å","aring"],["æ","aelig"],["ç","ccedil"],["è","egrave"],["é","eacute"],["ê","ecirc"],["ë","euml"],["ì","igrave"],["í","iacute"],["î","icirc"],["ï","iuml"],["ð","eth"],["ñ","ntilde"],["ò","ograve"],["ó","oacute"],["ô","ocirc"],["õ","otilde"],["ö","ouml"],["÷","divide"],["ø","oslash"],["ù","ugrave"],["ú","uacute"],["û","ucirc"],["ü","uuml"],["ý","yacute"],["þ","thorn"],["ÿ","yuml"],["ƒ","fnof"],["Α","Alpha"],["Β","Beta"],["Γ","Gamma"],["Δ","Delta"],["Ε","Epsilon"],["Ζ","Zeta"],["Η","Eta"],["Θ","Theta"],["Ι","Iota"],["Κ","Kappa"],["Λ","Lambda"],["Μ","Mu"],["Ν","Nu"],["Ξ","Xi"],["Ο","Omicron"],["Π","Pi"],["Ρ","Rho"],["Σ","Sigma"],["Τ","Tau"],["Υ","Upsilon"],["Φ","Phi"],["Χ","Chi"],["Ψ","Psi"],["Ω","Omega"],["α","alpha"],["β","beta"],["γ","gamma"],["δ","delta"],["ε","epsilon"],["ζ","zeta"],["η","eta"],["θ","theta"],["ι","iota"],["κ","kappa"],["λ","lambda"],["μ","mu"],["ν","nu"],["ξ","xi"],["ο","omicron"],["π","pi"],["ρ","rho"],["ς","sigmaf"],["σ","sigma"],["τ","tau"],["υ","upsilon"],["φ","phi"],["χ","chi"],["ψ","psi"],["ω","omega"],["ϑ","thetasym"],["ϒ","upsih"],["ϖ","piv"],["•","bull"],["…","hellip"],["′","prime"],["″","Prime"],["‾","oline"],["⁄","frasl"],["℘","weierp"],["ℑ","image"],["ℜ","real"],["™","trade"],["ℵ","alefsym"],["←","larr"],["↑","uarr"],["→","rarr"],["↓","darr"],["↔","harr"],["↵","crarr"],["⇐","lArr"],["⇑","uArr"],["⇒","rArr"],["⇓","dArr"],["⇔","hArr"],["∀","forall"],["∂","part"],["∃","exist"],["∅","empty"],["∇","nabla"],["∈","isin"],["∉","notin"],["∋","ni"],["∏","prod"],["∑","sum"],["−","minus"],["∗","lowast"],["√","radic"],["∝","prop"],["∞","infin"],["∠","ang"],["∧","and"],["∨","or"],["∩","cap"],["∪","cup"],["∫","int"],["∴","there4"],["∼","sim"],["≅","cong"],["≈","asymp"],["≠","ne"],["≡","equiv"],["≤","le"],["≥","ge"],["⊂","sub"],["⊃","sup"],["⊄","nsub"],["⊆","sube"],["⊇","supe"],["⊕","oplus"],["⊗","otimes"],["⊥","perp"],["⋅","sdot"],["⌈","lceil"],["⌉","rceil"],["⌊","lfloor"],["⌋","rfloor"],["〈","lang"],["〉","rang"],["◊","loz"],["♠","spades"],["♣","clubs"],["♥","hearts"],["♦","diams"],["Œ","Elig"],["œ","oelig"],["Š","Scaron"],["š","scaron"],["Ÿ","Yuml"],["ˆ","circ"],["˜","tilde"],[" ","ensp"],[" ","emsp"],[" ","thinsp"],["‌","zwnj"],["‍","zwj"],["‎","lrm"],["‏","rlm"],["–","ndash"],["—","mdash"],["‘","lsquo"],["’","rsquo"],["‚","sbquo"],["“","ldquo"],["”","rdquo"],["„","bdquo"],["†","dagger"],["‡","Dagger"],["‰","permil"],["‹","lsaquo"],["›","rsaquo"]]; -dojox.html.entities.encode=function(_b,m){ -if(_b){ -if(!m){ -_b=_1(_b,dojox.html.entities.html); -_b=_1(_b,dojox.html.entities.latin); -}else{ -_b=_1(_b,m); -} -} -return _b; -}; -dojox.html.entities.decode=function(_c,m){ -if(_c){ -if(!m){ -_c=_6(_c,dojox.html.entities.html); -_c=_6(_c,dojox.html.entities.latin); -}else{ -_c=_6(_c,m); -} -} -return _c; -}; -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/html/ext-dojo/style.js b/resources/library/interactive/barre_prof.wgt/dojox/html/ext-dojo/style.js deleted file mode 100644 index 9967f6a5..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/html/ext-dojo/style.js +++ /dev/null @@ -1,290 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojox.html.ext-dojo.style"]){ -dojo._hasResource["dojox.html.ext-dojo.style"]=true; -dojo.provide("dojox.html.ext-dojo.style"); -dojo.experimental("dojox.html.ext-dojo.style"); -dojo.mixin(dojox.html["ext-dojo"].style,{supportsTransform:true,_toPx:function(_1){ -var ds=dojo.style,_2=this._conversion; -if(typeof _1==="number"){ -return _1+"px"; -}else{ -if(_1.toLowerCase().indexOf("px")!=-1){ -return _1; -} -} -!_2.parentNode&&dojo.place(_2,dojo.body()); -ds(_2,"margin",_1); -return ds(_2,"margin"); -},init:function(){ -var ds=dojo.style,_3=dojo.doc.documentElement.style,_4=dojox.html["ext-dojo"].style; -dojo.style=function(_5,_6,_7){ -var n=dojo.byId(_5),tr=(_6=="transform"),to=(_6=="transformOrigin"),_8=arguments.length; -if(_8==3){ -if(tr){ -_4.setTransform(n,_7,true); -}else{ -if(to){ -_4.setTransformOrigin(n,_7); -}else{ -ds(_5,_6,_7); -} -} -} -if(_8==2){ -if(tr){ -return _4.getTransform(_5); -}else{ -if(to){ -return _4.getTransformOrigin(_5); -}else{ -return ds(_5,_6); -} -} -} -}; -for(var i=0,_9=["WebkitT","MozT","OT","t"];i<_9.length;i++){ -if(typeof _3[_9[i]+"ransform"]!=="undefined"){ -this.tPropertyName=_9[i]+"ransform"; -} -if(typeof _3[_9[i]+"ransformOrigin"]!=="undefined"){ -this.toPropertyName=_9[i]+"ransformOrigin"; -} -} -if(this.tPropertyName){ -this.setTransform=function(_a,_b){ -return dojo.style(_a,this.tPropertyName,_b); -}; -this.getTransform=function(_c){ -return dojo.style(_c,this.tPropertyName); -}; -}else{ -if(dojo.isIE){ -this.setTransform=this._setTransformFilter; -this.getTransform=this._getTransformFilter; -} -} -if(this.toPropertyName){ -this.setTransformOrigin=function(_d,_e){ -return dojo.style(_d,this.toPropertyName,_e); -}; -this.getTransformOrigin=function(_f){ -return dojo.style(_f,this.toPropertyName); -}; -}else{ -if(dojo.isIE){ -this.setTransformOrigin=this._setTransformOriginFilter; -this.getTransformOrigin=this._getTransformOriginFilter; -}else{ -this.supportsTransform=false; -} -} -this._conversion=dojo.create("div",{style:{position:"absolute",top:"-100px",left:"-100px",fontSize:0,width:"0",backgroundPosition:"50% 50%"}}); -},_notSupported:function(){ -console.warn("Sorry, this browser doesn't support transform and transform-origin"); -},_setTransformOriginFilter:function(_10,_11){ -var to=dojo.trim(_11).replace(" top"," 0").replace("left ","0 ").replace(" center","50%").replace("center ","50% ").replace(" bottom"," 100%").replace("right ","100% ").replace(/\s+/," "),_12=to.split(" "),n=dojo.byId(_10),t=this.getTransform(n),_13=true; -for(var i=0;i<_12.length;i++){ -_13=_13&&/^0|(\d+(%|px|pt|in|pc|mm|cm))$/.test(_12[i]); -if(_12[i].indexOf("%")==-1){ -_12[i]=this._toPx(_12[i]); -} -} -if(!_13){ -return; -} -if(!_12.length||_12.length>2){ -return; -} -dojo.attr(n,"dojo-transform-origin",_12.join(" ")); -t&&this.setTransform(_10,t); -},_getTransformOriginFilter:function(_14){ -return dojo.attr(_14,"dojo-transform-origin")||"50% 50%"; -},_setTransformFilter:function(_15,_16){ -var t=_16.replace(/\s/g,""),n=dojo.byId(_15),_17=t.split(")"),_18=1,_19=1,_1a="DXImageTransform.Microsoft.Matrix",_1b=dojo.hasAttr,_1c=dojo.attr,PI=Math.PI,cos=Math.cos,sin=Math.sin,tan=Math.tan,max=Math.max,min=Math.min,abs=Math.abs,_1d=PI/180,_1e=PI/200,ct="",_1f="",_20=[],x0=0,y0=0,dx=0,dy=0,xc=0,yc=0,a=0,m11=1,m12=0,m21=0,m22=1,tx=0,ty=0,_21=[m11,m12,m21,m22,tx,ty],_22=false,ds=dojo.style,_23=ds(n,"position")=="absolute"?"absolute":"relative",w=ds(n,"width")+ds(n,"paddingLeft")+ds(n,"paddingRight"),h=ds(n,"height")+ds(n,"paddingTop")+ds(n,"paddingBottom"),_24=this._toPx; -!_1b(n,"dojo-transform-origin")&&this.setTransformOrigin(n,"50% 50%"); -for(var i=0,l=_17.length;i_2a?0:(_2a-_29)/2); -} -}else{ -if(dojo.isIE==8){ -ds(n,"zIndex")=="auto"&&(n.style.zIndex="0"); -} -} -try{ -_22=!!n.filters.item(_1a); -} -catch(e){ -_22=false; -} -if(_22){ -n.filters.item(_1a).M11=m11; -n.filters.item(_1a).M12=m12; -n.filters.item(_1a).M21=m21; -n.filters.item(_1a).M22=m22; -n.filters.item(_1a).filterType="bilinear"; -n.filters.item(_1a).Dx=0; -n.filters.item(_1a).Dy=0; -n.filters.item(_1a).sizingMethod="auto expand"; -}else{ -n.style.filter+=" progid:"+_1a+"(M11="+m11+",M12="+m12+",M21="+m21+",M22="+m22+",FilterType='bilinear',Dx=0,Dy=0,sizingMethod='auto expand')"; -} -tx=parseInt(_1c(n,"dojo-transform-matrix-tx")||"0"); -ty=parseInt(_1c(n,"dojo-transform-matrix-ty")||"0"); -var _2b=_1c(n,"dojo-transform-origin").split(" "); -for(i=0;i<2;i++){ -_2b[i]=_2b[i]||"50%"; -} -xc=(_2b[0].toString().indexOf("%")!=-1)?w*parseInt(_2b[0])*0.01:_2b[0]; -yc=(_2b[1].toString().indexOf("%")!=-1)?h*parseInt(_2b[1])*0.01:_2b[1]; -if(_1b(n,"dojo-startX")){ -x0=parseInt(_1c(n,"dojo-startX")); -}else{ -x0=parseInt(ds(n,"left")); -_1c(n,"dojo-startX",_23=="absolute"?x0:"0"); -} -if(_1b(n,"dojo-startY")){ -y0=parseInt(_1c(n,"dojo-startY")); -}else{ -y0=parseInt(ds(n,"top")); -_1c(n,"dojo-startY",_23=="absolute"?y0:"0"); -} -ds(n,{position:_23,left:x0-parseInt(dx)+parseInt(xc)-((parseInt(xc)-tx)*m11+(parseInt(yc)-ty)*m12)+"px",top:y0-parseInt(dy)+parseInt(yc)-((parseInt(xc)-tx)*m21+(parseInt(yc)-ty)*m22)+"px"}); -},_getTransformFilter:function(_2c){ -try{ -var n=dojo.byId(_2c),_2d=n.filters.item(0); -return "matrix("+_2d.M11+", "+_2d.M12+", "+_2d.M21+", "+_2d.M22+", "+(dojo.attr(_2c,"dojo-transform-tx")||"0")+", "+(dojo.attr(_2c,"dojo-transform-ty")||"0")+")"; -} -catch(e){ -return "matrix(1, 0, 0, 1, 0, 0)"; -} -},setTransform:function(){ -this._notSupported(); -},setTransformOrigin:function(){ -this._notSupported(); -}}); -dojox.html["ext-dojo"].style.init(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/html/format.js b/resources/library/interactive/barre_prof.wgt/dojox/html/format.js deleted file mode 100644 index bd3ea19a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/html/format.js +++ /dev/null @@ -1,342 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojox.html.format"]){ -dojo._hasResource["dojox.html.format"]=true; -dojo.provide("dojox.html.format"); -dojo.require("dojox.html.entities"); -dojox.html.format.prettyPrint=function(_1,_2,_3,_4,_5){ -var _6=[]; -var _7=0; -var _8=[]; -var _9="\t"; -var _a=""; -var _b=[]; -var i; -var _c=/[=]([^"']+?)(\s|>)/g; -var _d=/style=("[^"]*"|'[^']*'|\S*)/gi; -var _e=/[\w-]+=("[^"]*"|'[^']*'|\S*)/gi; -if(_2&&_2>0&&_2<10){ -_9=""; -for(i=0;i<_2;i++){ -_9+=" "; -} -} -var _f=dojo.doc.createElement("div"); -_f.innerHTML=_1; -var _10=dojox.html.entities.encode; -var _11=dojox.html.entities.decode; -var _12=function(tag){ -switch(tag){ -case "a": -case "b": -case "strong": -case "s": -case "strike": -case "i": -case "u": -case "em": -case "sup": -case "sub": -case "span": -case "font": -case "big": -case "cite": -case "q": -case "small": -return true; -default: -return false; -} -}; -var div=_f.ownerDocument.createElement("div"); -var _13=function(_14){ -var _15=_14.cloneNode(false); -div.appendChild(_15); -var _16=div.innerHTML; -div.innerHTML=""; -return _16; -}; -var _17=function(){ -var i,txt=""; -for(i=0;i<_7;i++){ -txt+=_9; -} -return txt.length; -}; -var _18=function(){ -var i; -for(i=0;i<_7;i++){ -_6.push(_9); -} -}; -var _19=function(){ -_6.push("\n"); -}; -var _1a=function(n){ -_a+=_10(n.nodeValue,_4); -}; -var _1b=function(txt){ -var i; -var _1c; -var _1d=txt.split("\n"); -for(i=0;i<_1d.length;i++){ -_1d[i]=dojo.trim(_1d[i]); -} -txt=_1d.join(" "); -txt=dojo.trim(txt); -if(txt!==""){ -var _1e=[]; -if(_3&&_3>0){ -var _1f=_17(); -var _20=_3; -if(_3>_1f){ -_20-=_1f; -} -while(txt){ -if(txt.length>_3){ -for(i=_20;(i>0&&txt.charAt(i)!==" ");i--){ -} -if(!i){ -for(i=_20;(i"); -txt=txt.replace(/</gi,"<"); -txt=txt.replace(/&/gi,"&"); -} -return txt; -}; -var _23=function(txt){ -if(txt){ -txt=_22(txt); -var i,t,c,_24; -var _25=0; -var _26=txt.split("\n"); -var _27=[]; -for(i=0;i<_26.length;i++){ -var _28=_26[i]; -var _29=(_28.indexOf("\n")>-1); -_28=dojo.trim(_28); -if(_28){ -var _2a=_25; -for(c=0;c<_28.length;c++){ -var ch=_28.charAt(c); -if(ch==="{"){ -_25++; -}else{ -if(ch==="}"){ -_25--; -_2a=_25; -} -} -} -_24=""; -for(t=0;t<_7+_2a;t++){ -_24+=_9; -} -_27.push(_24+_28+"\n"); -}else{ -if(_29&&i===0){ -_27.push("\n"); -} -} -} -txt=_27.join(""); -} -return txt; -}; -var _2b=function(_2c){ -var _2d=_2c.nodeName.toLowerCase(); -var _2e=dojo.trim(_13(_2c)); -var tag=_2e.substring(0,_2e.indexOf(">")+1); -tag=tag.replace(_c,"=\"$1\"$2"); -tag=tag.replace(_d,function(_2f){ -var sL=_2f.substring(0,6); -var _30=_2f.substring(6,_2f.length); -var _31=_30.charAt(0); -_30=dojo.trim(_30.substring(1,_30.length-1)); -_30=_30.split(";"); -var _32=[]; -dojo.forEach(_30,function(s){ -s=dojo.trim(s); -if(s){ -s=s.substring(0,s.indexOf(":")).toLowerCase()+s.substring(s.indexOf(":"),s.length); -_32.push(s); -} -}); -_32=_32.sort(); -_30=_32.join("; "); -var ts=dojo.trim(_30); -if(!ts||ts===";"){ -return ""; -}else{ -_30+=";"; -return sL+_31+_30+_31; -} -}); -var _33=[]; -tag=tag.replace(_e,function(_34){ -_33.push(dojo.trim(_34)); -return ""; -}); -_33=_33.sort(); -tag="<"+_2d; -if(_33.length){ -tag+=" "+_33.join(" "); -} -if(_2e.indexOf(""; -}else{ -if(_5){ -tag+=" />"; -}else{ -tag+=">"; -} -_8.push(false); -} -var _35=_12(_2d); -_b.push(_35); -if(_a&&!_35){ -_6.push(_1b(_a)); -_a=""; -} -if(!_35){ -_18(); -_6.push(tag); -_19(); -_7++; -}else{ -_a+=tag; -} -}; -var _36=function(){ -var _37=_b.pop(); -if(_a&&!_37){ -_6.push(_1b(_a)); -_a=""; -} -var ct=_8.pop(); -if(ct){ -ct=""; -if(!_37){ -_7--; -_18(); -_6.push(ct); -_19(); -}else{ -_a+=ct; -} -}else{ -_7--; -} -}; -var _38=function(n){ -var _39=_11(n.nodeValue,_4); -_18(); -_6.push(""); -_19(); -}; -var _3a=function(_3b){ -var _3c=_3b.childNodes; -if(_3c){ -var i; -for(i=0;i<_3c.length;i++){ -var n=_3c[i]; -if(n.nodeType===1){ -var tg=dojo.trim(n.tagName.toLowerCase()); -if(dojo.isIE&&n.parentNode!=_3b){ -continue; -} -if(tg&&tg.charAt(0)==="/"){ -continue; -}else{ -_2b(n); -if(tg==="script"){ -_6.push(_23(n.innerHTML)); -}else{ -if(tg==="pre"){ -var _3d=n.innerHTML; -if(dojo.isMoz){ -_3d=_3d.replace("
    ","\n"); -_3d=_3d.replace("
    ","");
    -_3d=_3d.replace("
    ",""); -} -if(_3d.charAt(_3d.length-1)!=="\n"){ -_3d+="\n"; -} -_6.push(_3d); -}else{ -_3a(n); -} -} -_36(); -} -}else{ -if(n.nodeType===3||n.nodeType===4){ -_1a(n); -}else{ -if(n.nodeType===8){ -_38(n); -} -} -} -} -} -}; -_3a(_f); -if(_a){ -_6.push(_1b(_a)); -_a=""; -} -return _6.join(""); -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/html/metrics.js b/resources/library/interactive/barre_prof.wgt/dojox/html/metrics.js deleted file mode 100644 index 4fa39764..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/html/metrics.js +++ /dev/null @@ -1,155 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojox.html.metrics"]){ -dojo._hasResource["dojox.html.metrics"]=true; -dojo.provide("dojox.html.metrics"); -(function(){ -var _1=dojox.html.metrics; -_1.getFontMeasurements=function(){ -var _2={"1em":0,"1ex":0,"100%":0,"12pt":0,"16px":0,"xx-small":0,"x-small":0,"small":0,"medium":0,"large":0,"x-large":0,"xx-large":0}; -if(dojo.isIE){ -dojo.doc.documentElement.style.fontSize="100%"; -} -var _3=dojo.doc.createElement("div"); -var ds=_3.style; -ds.position="absolute"; -ds.left="-100px"; -ds.top="0"; -ds.width="30px"; -ds.height="1000em"; -ds.borderWidth="0"; -ds.margin="0"; -ds.padding="0"; -ds.outline="0"; -ds.lineHeight="1"; -ds.overflow="hidden"; -dojo.body().appendChild(_3); -for(var p in _2){ -ds.fontSize=p; -_2[p]=Math.round(_3.offsetHeight*12/16)*16/12/1000; -} -dojo.body().removeChild(_3); -_3=null; -return _2; -}; -var _4=null; -_1.getCachedFontMeasurements=function(_5){ -if(_5||!_4){ -_4=_1.getFontMeasurements(); -} -return _4; -}; -var _6=null,_7={}; -_1.getTextBox=function(_8,_9,_a){ -var m,s; -if(!_6){ -m=_6=dojo.doc.createElement("div"); -var c=dojo.doc.createElement("div"); -c.appendChild(m); -s=c.style; -s.overflow="scroll"; -s.position="absolute"; -s.left="0px"; -s.top="-10000px"; -s.width="1px"; -s.height="1px"; -s.visibility="hidden"; -s.borderWidth="0"; -s.margin="0"; -s.padding="0"; -s.outline="0"; -dojo.body().appendChild(c); -}else{ -m=_6; -} -m.className=""; -s=m.style; -s.borderWidth="0"; -s.margin="0"; -s.padding="0"; -s.outline="0"; -if(arguments.length>1&&_9){ -for(var i in _9){ -if(i in _7){ -continue; -} -s[i]=_9[i]; -} -} -if(arguments.length>2&&_a){ -m.className=_a; -} -m.innerHTML=_8; -var _b=dojo.position(m); -_b.w=m.parentNode.scrollWidth; -return _b; -}; -var _c={w:16,h:16}; -_1.getScrollbar=function(){ -return {w:_c.w,h:_c.h}; -}; -_1._fontResizeNode=null; -_1.initOnFontResize=function(_d){ -var f=_1._fontResizeNode=dojo.doc.createElement("iframe"); -var fs=f.style; -fs.position="absolute"; -fs.width="5em"; -fs.height="10em"; -fs.top="-10000px"; -if(dojo.isIE){ -f.onreadystatechange=function(){ -if(f.contentWindow.document.readyState=="complete"){ -f.onresize=f.contentWindow.parent[dojox._scopeName].html.metrics._fontresize; -} -}; -}else{ -f.onload=function(){ -f.contentWindow.onresize=f.contentWindow.parent[dojox._scopeName].html.metrics._fontresize; -}; -} -f.setAttribute("src","javascript:''"); -dojo.body().appendChild(f); -_1.initOnFontResize=function(){ -}; -}; -_1.onFontResize=function(){ -}; -_1._fontresize=function(){ -_1.onFontResize(); -}; -dojo.addOnUnload(function(){ -var f=_1._fontResizeNode; -if(f){ -if(dojo.isIE&&f.onresize){ -f.onresize=null; -}else{ -if(f.contentWindow&&f.contentWindow.onresize){ -f.contentWindow.onresize=null; -} -} -_1._fontResizeNode=null; -} -}); -dojo.addOnLoad(function(){ -try{ -var n=dojo.doc.createElement("div"); -n.style.cssText="top:0;left:0;width:100px;height:100px;overflow:scroll;position:absolute;visibility:hidden;"; -dojo.body().appendChild(n); -_c.w=n.offsetWidth-n.clientWidth; -_c.h=n.offsetHeight-n.clientHeight; -dojo.body().removeChild(n); -delete n; -} -catch(e){ -} -if("fontSizeWatch" in dojo.config&&!!dojo.config.fontSizeWatch){ -_1.initOnFontResize(); -} -}); -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/html/resources/ellipsis.css b/resources/library/interactive/barre_prof.wgt/dojox/html/resources/ellipsis.css deleted file mode 100644 index 99224861..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/html/resources/ellipsis.css +++ /dev/null @@ -1,33 +0,0 @@ -.dojoxEllipsis, -.dojoxEllipsisShown { - white-space: nowrap; - width: 100%; - overflow: hidden; - text-overflow: ellipsis; - -o-text-overflow: ellipsis; - -webkit-text-overflow: ellipsis; -} -.dojoxEllipsis window { - width:100%; - -moz-user-focus:normal; - -moz-user-select:text; -} -.dojoxEllipsis description{ - -moz-user-focus:normal; - -moz-user-select:text; -} -.dojoxEllipsisIFrame{ - white-space: normal; - border: none; - width: 100%; - display: block; - height: 1px; - margin-top: -1px; - clear: both; -} -.dojoxEllipsisContainer{ - width: 100%; -} -.dojoxEllipsisShown:after{ - content: "\2026" -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/html/styles.js b/resources/library/interactive/barre_prof.wgt/dojox/html/styles.js deleted file mode 100644 index c6cb56ae..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/html/styles.js +++ /dev/null @@ -1,190 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojox.html.styles"]){ -dojo._hasResource["dojox.html.styles"]=true; -dojo.provide("dojox.html.styles"); -(function(){ -var _1={}; -var _2={}; -var _3=[]; -var _4=[]; -dojox.html.insertCssRule=function(_5,_6,_7){ -var ss=dojox.html.getDynamicStyleSheet(_7); -var _8=_5+" {"+_6+"}"; -if(dojo.isIE){ -ss.cssText+=_8; -}else{ -if(ss.sheet){ -ss.sheet.insertRule(_8,ss._indicies.length); -}else{ -ss.appendChild(dojo.doc.createTextNode(_8)); -} -} -ss._indicies.push(_5+" "+_6); -return _5; -}; -dojox.html.removeCssRule=function(_9,_a,_b){ -var ss; -var _c=-1; -for(var nm in _1){ -if(_b&&_b!=nm){ -continue; -} -ss=_1[nm]; -for(var i=0;i-1){ -break; -} -} -if(!ss){ -return false; -} -if(_c==-1){ -return false; -} -ss._indicies.splice(_c,1); -if(dojo.isIE){ -ss.removeRule(_c); -}else{ -if(ss.sheet){ -ss.sheet.deleteRule(_c); -}else{ -if(document.styleSheets[0]){ -} -} -} -return true; -}; -dojox.html.getStyleSheet=function(_d){ -if(_1[_d||"default"]){ -return _1[_d||"default"]; -} -if(!_d){ -return false; -} -var _e=dojox.html.getStyleSheets(); -if(_e[_d]){ -return dojox.html.getStyleSheets()[_d]; -} -for(var nm in _e){ -if(_e[nm].href&&_e[nm].href.indexOf(_d)>-1){ -return _e[nm]; -} -} -return false; -}; -dojox.html.getDynamicStyleSheet=function(_f){ -if(!_f){ -_f="default"; -} -if(!_1[_f]){ -if(dojo.doc.createStyleSheet){ -_1[_f]=dojo.doc.createStyleSheet(); -if(dojo.isIE<9){ -_1[_f].title=_f; -} -}else{ -_1[_f]=dojo.doc.createElement("style"); -_1[_f].setAttribute("type","text/css"); -dojo.doc.getElementsByTagName("head")[0].appendChild(_1[_f]); -} -_1[_f]._indicies=[]; -} -return _1[_f]; -}; -dojox.html.enableStyleSheet=function(_10){ -var ss=dojox.html.getStyleSheet(_10); -if(ss){ -if(ss.sheet){ -ss.sheet.disabled=false; -}else{ -ss.disabled=false; -} -} -}; -dojox.html.disableStyleSheet=function(_11){ -var ss=dojox.html.getStyleSheet(_11); -if(ss){ -if(ss.sheet){ -ss.sheet.disabled=true; -}else{ -ss.disabled=true; -} -} -}; -dojox.html.activeStyleSheet=function(_12){ -var _13=dojox.html.getToggledStyleSheets(); -if(arguments.length==1){ -dojo.forEach(_13,function(s){ -s.disabled=(s.title==_12)?false:true; -}); -}else{ -for(var i=0;i<_13.length;i++){ -if(_13[i].disabled==false){ -return _13[i]; -} -} -} -return true; -}; -dojox.html.getPreferredStyleSheet=function(){ -}; -dojox.html.getToggledStyleSheets=function(){ -if(!_3.length){ -var _14=dojox.html.getStyleSheets(); -for(var nm in _14){ -if(_14[nm].title){ -_3.push(_14[nm]); -} -} -} -return _3; -}; -dojox.html.getStyleSheets=function(){ -if(_2.collected){ -return _2; -} -var _15=dojo.doc.styleSheets; -dojo.forEach(_15,function(n){ -var s=(n.sheet)?n.sheet:n; -var _16=s.title||s.href; -if(dojo.isIE){ -if(s.cssText.indexOf("#default#VML")==-1){ -if(s.href){ -_2[_16]=s; -}else{ -if(s.imports.length){ -dojo.forEach(s.imports,function(si){ -_2[si.title||si.href]=si; -}); -}else{ -_2[_16]=s; -} -} -} -}else{ -_2[_16]=s; -_2[_16].id=s.ownerNode.id; -dojo.forEach(s.cssRules,function(r){ -if(r.href){ -_2[r.href]=r.styleSheet; -_2[r.href].id=s.ownerNode.id; -} -}); -} -}); -_2.collected=true; -return _2; -}; -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/index.html b/resources/library/interactive/barre_prof.wgt/index.html deleted file mode 100644 index 18493bc0..00000000 --- a/resources/library/interactive/barre_prof.wgt/index.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - -
    - - - \ No newline at end of file