var RadE_HasRules = false; Type.registerNamespace("Telerik.Web.UI.Editor"); if (typeof (Telerik.Web.UI.Editor.CommandList) == "undefined") Telerik.Web.UI.Editor.CommandList = {}; Telerik.Web.UI.Editor.CommandList["CustomDialog"] = function(commandName, editor, args) { var myCallbackFunction = function(sender, args) { editor.set_html(args); } var arg = editor.get_html(); editor.showExternalDialog('/_wpresources/RadEditorSharePoint/5.5.1.0__1f131a624888eeed/Resources/Dialogs/CustomDialog.aspx', arg, 600, 400, myCallbackFunction, null, 'CustomDialog', true, Telerik.Web.UI.WindowBehaviors.Close + Telerik.Web.UI.WindowBehaviors.Move, false, false); }; Telerik.Web.UI.Editor.CommandList["InsertSpecialLink"] = function(commandName, editor, args) { var elem = editor.getSelectedElement(); //returns the selected element. if (elem.tagName == "A") { editor.selectElement(elem); argument = elem; } else { var content = editor.getSelectionHtml(); var link = editor.get_document().createElement("A"); link.innerHTML = content; argument = link; } var myCallbackFunction = function(sender, args) { editor.pasteHtml(String.format("{3} ", args.href, args.target, args.className, args.name)) } editor.showExternalDialog('/_wpresources/RadEditorSharePoint/5.5.1.0__1f131a624888eeed/Resources/Dialogs/InsertSpecialLink.aspx', argument, 270, 300, myCallbackFunction, null, 'Insert Link', true, Telerik.Web.UI.WindowBehaviors.Close + Telerik.Web.UI.WindowBehaviors.Move, false, false); }; Telerik.Web.UI.Editor.CommandList["MOSSRightToLeft"] = function(commandName, editor, args) { Telerk_MOSS_SetDirectionOfSelection(editor, "rtl"); }; Telerik.Web.UI.Editor.CommandList["MOSSLeftToRight"] = function(commandName, editor, args) { Telerk_MOSS_SetDirectionOfSelection(editor, "ltr"); }; Telerik.Web.UI.Editor.CommandList["MOSSHelp"] = function(commandName, editor, args) { HelpWindowKey('WCMHTMLEditor'); }; Telerik.Web.UI.Editor.CommandList["ToggleSource"] = function(commandName, editor, args) { //todo: call the source dialog as the MOSS editor does editor.set_mode(Telerik.Web.UI.EditModes.Html); }; Telerik.Web.UI.Editor.CommandList["MOSSInsertTable"] = function(commandName, editor, args) { //todo: change the dialog to use the moss default (after firefox is fixed) editor.fire("TableWizard", args); }; Telerik.Web.UI.Editor.CommandList["MOSSImageManager"] = function(commandName, editor, args) { var params = editor._dialogParameters; var docEditor = editor.get_document(); var configObj = new AssetPickerConfig(""); configObj.ClientID = editor.get_id(); configObj.DefaultAssetLocation = ""; configObj.DefaultAssetImageLocation = ""; configObj.CurrentWebBaseUrl = params["CurrentWebBaseUrl"]; configObj.ManageHyperlink = false; configObj.AllowExternalUrls = params["AllowExternalUrls"]; var bInserting = false; var elemToReplace = null; var imageAssetObj = new ImageAsset(""); elemToReplace = editor.getSelectedElement(); if (elemToReplace && elemToReplace.tagName && elemToReplace.tagName.toUpperCase() == "BODY") { //if there is no selection or selection is the whole content body elemToReplace = null; } var elemImage = FormJSRTE_GetNearestContainingParentElementOfTypes(editor.get_contentWindow().frameElement.id, elemToReplace, new Array("IMG")); if (!elemImage) { bInserting = true; elemImage = docEditor.createElement("IMG"); elemImage.border = 0; } configObj.ReturnCallback = function(newAssetUrl, newAssetText, currentConfig, dialogReturnedData) { if (dialogReturnedData) { if (bInserting) { var tempDiv = docEditor.createElement("DIV"); tempDiv.appendChild(elemImage); editor.pasteHtml(tempDiv.innerHTML, commandName); tempDiv = null; } } } var dialogReturnedData = imageAssetObj.LaunchModalDialogOnElement(configObj, elemImage, true, !bInserting); }; Telerik.Web.UI.Editor.CommandList["MOSSLinkManager"] = function(commandName, editor, args) { var params = editor._dialogParameters; var docEditor = editor.get_document(); var configObj = new AssetPickerConfig(""); configObj.ClientID = editor.get_id(); configObj.DefaultAssetLocation = ""; configObj.DefaultAssetImageLocation = ""; configObj.CurrentWebBaseUrl = params["CurrentWebBaseUrl"]; configObj.AllowExternalUrls = params["AllowExternalUrls"]; var bInserting = false; var elemToReplace = null; var linkAsset = new LinkAsset(""); var innerLinkHTML = null; linkAsset.ManageLinkDisplayText = false; var elemLink = FormJSRTE_GetNearestContainingParentElementOfTypes(editor.get_contentWindow().frameElement.id, editor.getSelectedElement(), new Array("A")); if (!elemLink) { bInserting = true; elemLink = docEditor.createElement("A"); if (elemLink == null) return; var editorSelection = editor.getSelection(); if (editorSelection.isControl()) { elemToReplace = editor.getSelectedElement(); } else { innerLinkHTML = editorSelection.getHtml(); } } else { innerLinkHTML = elemLink.innerHTML; } configObj.ReturnCallback = function(newAssetUrl, newAssetText, currentConfig, dialogReturnedData) { if (dialogReturnedData) { var linkText = ""; if ($telerik.isIE) linkText = elemLink.innerText; else linkText = elemLink.textContent; if (innerLinkHTML && innerLinkHTML != "") { elemLink.innerHTML = innerLinkHTML; } else if (linkText == "") { if (linkAsset.AssetText && linkAsset.AssetText != "") { linkText = linkAsset.AssetText; } else { linkText = linkAsset.AssetUrl; } elemLink.innerHTML += linkText; } if (elemToReplace != null) { var parentEl = elemToReplace.parentNode; elemLink.innerHTML = ""; parentEl.insertBefore(elemLink, elemToReplace); elemLink.appendChild(elemToReplace); linkAsset.FixupIconsAndEmptyAnchors(elemLink); return; } else if (bInserting) { var selection = docEditor.selection; if (selection != null) { var textRange = selection.createRange(); if (textRange != null) { var text = textRange.text; if (text && text != "" && !text.match(/^\s+$/)) { textRange.execCommand("Unlink"); elemLink.innerHTML = textRange.htmlText; linkAsset.FixupIconsAndEmptyAnchors(elemLink); } var tempDiv = docEditor.createElement("DIV"); tempDiv.appendChild(elemLink); textRange.pasteHTML(tempDiv.innerHTML); } } else { //if we cannot get the selection, use the editor paste function instead var tempDiv = docEditor.createElement("DIV"); tempDiv.appendChild(elemLink); editor.pasteHtml(tempDiv.innerHTML, commandName); tempDiv = null; } } else { linkAsset.FixupIconsAndEmptyAnchors(elemLink); } } } linkAsset.LaunchModalDialogOnElement(configObj, elemLink, true, !bInserting); }; Telerik.Web.UI.Editor.CommandList["MOSSTemplateManager"] = function(commandName, editor, args) { if (!RadE_HasRules) { RTE2_InstantiateStaticSafeHtmlRules(); RadE_HasRules = true; } var params = editor._dialogParameters; var docEditor = editor.get_document(); var configObj = new AssetPickerConfig(""); configObj.ClientID = editor.get_id(); configObj.DefaultAssetLocation = ""; configObj.CurrentWebBaseUrl = params["CurrentWebBaseUrl"]; configObj.AllowExternalUrls = params["AllowExternalUrls"]; var bInserting = false; var elemToReplace = null; var fragmentId = null; var elemViewToEdit = FormJSRTE_GetNearestContainingParentElementOfTypes(editor.get_contentWindow().frameElement.id, editor.getSelectedElement(), new Array("SPAN")); if ((elemViewToEdit != null) && (elemViewToEdit.id == g_strRTE2ReusableFragmentCommonToken)) { fragmentId = elemViewToEdit.getAttribute("fragmentid"); } var dialogInput = new Object(); dialogInput.fragmentId = fragmentId; var callback = function(dialogOutput) { if ((dialogOutput != null) && (dialogOutput.fragmentView != null)) { var selection = docEditor.selection; if (selection != null) { if (selection.type == "Control") { var controlRange = selection.createRange(); if (controlRange != null) { controlRange.execCommand("Delete"); } } if (selection.type != "Control") { var textRange = selection.createRange(); if (textRange != null) { var safeHtmlDocument = RadE_CreateTemporaryDocument(); safeHtmlDocument.body.innerHTML = dialogOutput.fragmentView; var elements = RTE2_GetAllElements(safeHtmlDocument); //setting these to hardcoded values since they are not passed in the params[] array yet. var instanceVariables = new Object(); instanceVariables.EditorOpenFromWebPart = false; instanceVariables.DisableCustomStyles = false; RTE2_ApplyContentFilters(elements, instanceVariables); textRange.pasteHTML(dialogOutput.fragmentView); RTE2_AlterReusableFragmentHighlights(docEditor.body, "ms-reusableTextView"); } } } else { editor.pasteHtml(dialogOutput.fragmentView, commandName); RTE2_AlterReusableFragmentHighlights(docEditor.body, "ms-reusableTextView"); } } }; var dialogUrl = params["CurrentWebBaseUrl"] + "/_layouts/ReusableTextPicker.aspx"; commonShowModalDialog(dialogUrl, "dialogHeight:600px; dialogWidth:800px; center:yes; resizable:yes; scroll:no; status:no;", callback, dialogInput); }; function fixRadEditorReusableContent(editor) { var editorBody = null; if (editor.get_mode() == Telerik.Web.UI.EditModes.Html) { editorBody = editor.get_document().createElement("div"); Telerik.Web.UI.Editor.Utils.setElementInnerHtml(editorBody, editor.get_html(true)); } else { editorBody = editor.get_document().body; } var allElements = editorBody.getElementsByTagName("*"); var i = 0, len = allElements.length; var tempDiv = editor.get_document().createElement("div"); var fragmentIds = [], elementsToModify = []; while (i < len) { var element = allElements[i]; if (element.id == g_strRTE2ReusableFragmentCommonToken) { var fragmentId = element.getAttribute("fragmentid"); if (fragmentId != null) { Array.add(fragmentIds, fragmentId); Array.add(elementsToModify, element); } else { element.removeAttribute("id", false); } } i++; } if (elementsToModify.length > 0) { for (var j = 0; j < elementsToModify.length; j++) { var element = elementsToModify[j]; if (element) { tempDiv.innerHTML = "<" + element.tagName + " id=\"" + element.id + "\">" + element.tagName + ">"; var parent = element.parentNode; parent.replaceChild(tempDiv.firstChild, element); } } } var headerHtml = ""; if (fragmentIds.length > 0) { headerHtml = "