b38d53188cd54a4611de7c68b06ba08ef1b7e5da
[acontent.git] / docs / include / jscripts / infusion / components / inlineEdit / js / InlineEditIntegrations.js
1 fluid_1_1=fluid_1_1||{};(function($,fluid){var configureInlineEdit=function(configurationName,container,options){var defaults=fluid.defaults(configurationName);var assembleOptions=fluid.merge(defaults?defaults.mergePolicy:null,{},defaults,options);return fluid.inlineEdit(container,assembleOptions)};fluid.inlineEdit.normalizeHTML=function(value){var togo=$.trim(value.replace(/\s+/g," "));togo=togo.replace(/\s+<\//g,"</");togo=togo.replace(/\<(\S+)[^\>\s]*\>/g,function(match){return match.toLowerCase()});return togo};fluid.inlineEdit.htmlComparator=function(el1,el2){return fluid.inlineEdit.normalizeHTML(el1)===fluid.inlineEdit.normalizeHTML(el2)};fluid.inlineEdit.tinyMCE=function(container,options){var inlineEditor=configureInlineEdit("fluid.inlineEdit.tinyMCE",container,options);tinyMCE.init(inlineEditor.options.tinyMCE);return inlineEditor};fluid.inlineEdit.tinyMCE.viewAccessor=function(editField){return{value:function(newValue){var editor=tinyMCE.get(editField.id);if(!editor){return""}if(newValue){$(editField).val(newValue);editor.setContent(newValue,{format:"raw"})}else{return editor.getContent()}}}};fluid.inlineEdit.tinyMCE.blurHandlerBinder=function(that){function focusEditor(editor){setTimeout(function(){tinyMCE.execCommand("mceFocus",false,that.editField[0].id);if($.browser.mozilla&&$.browser.version.substring(0,3)==="1.8"){return }editor.selection.select(editor.getBody(),1);editor.selection.collapse(0)},10)}that.events.afterInitEdit.addListener(function(editor){focusEditor(editor);var editorBody=editor.getBody();fluid.deadMansBlur(that.editField,$(editorBody),function(){that.cancel()})});that.events.afterBeginEdit.addListener(function(){var editor=tinyMCE.get(that.editField[0].id);if(editor){focusEditor(editor)}})};fluid.inlineEdit.tinyMCE.editModeRenderer=function(that){var options=that.options.tinyMCE;options.elements=fluid.allocateSimpleId(that.editField);var oldinit=options.init_instance_callback;options.init_instance_callback=function(instance){that.events.afterInitEdit.fire(instance);if(oldinit){oldinit()}};tinyMCE.init(options)};fluid.defaults("fluid.inlineEdit.tinyMCE",{tinyMCE:{mode:"exact",theme:"simple"},useTooltip:true,selectors:{edit:"textarea"},styles:{invitation:"fl-inlineEdit-richText-invitation"},displayAccessor:{type:"fluid.inlineEdit.richTextViewAccessor"},editAccessor:{type:"fluid.inlineEdit.tinyMCE.viewAccessor"},lazyEditView:true,modelComparator:fluid.inlineEdit.htmlComparator,blurHandlerBinder:fluid.inlineEdit.tinyMCE.blurHandlerBinder,editModeRenderer:fluid.inlineEdit.tinyMCE.editModeRenderer});fluid.inlineEdit.FCKEditor=function(container,options){return configureInlineEdit("fluid.inlineEdit.FCKEditor",container,options)};fluid.inlineEdit.FCKEditor.complete=fluid.event.getEventFirer();fluid.inlineEdit.FCKEditor.complete.addListener(function(editor){var editField=editor.LinkedField;var that=$.data(editField,"fluid.inlineEdit.FCKEditor");that.events.afterInitEdit.fire(editor)});fluid.inlineEdit.FCKEditor.blurHandlerBinder=function(that){function focusEditor(editor){editor.Focus()}that.events.afterInitEdit.addListener(function(editor){focusEditor(editor);var editorBody=editor.EditingArea.TargetElement});that.events.afterBeginEdit.addListener(function(){var editor=fluid.inlineEdit.FCKEditor.byId(that.editField[0].id);if(editor){focusEditor(editor)}})};fluid.inlineEdit.FCKEditor.byId=function(id){var editor=typeof (FCKeditorAPI)==="undefined"?null:FCKeditorAPI.GetInstance(id);return editor};fluid.inlineEdit.FCKEditor.editModeRenderer=function(that){var id=fluid.allocateSimpleId(that.editField);$.data(fluid.unwrap(that.editField),"fluid.inlineEdit.FCKEditor",that);var oFCKeditor=new FCKeditor(id);var opcopy=fluid.copy(that.options.FCKEditor);opcopy.BasePath=opcopy.BasePath+"editor/";$.extend(true,oFCKeditor.Config,opcopy);$.extend(true,oFCKeditor,that.options.FCKEditor);oFCKeditor.Config.fluidInstance=that;oFCKeditor.ReplaceTextarea()};fluid.inlineEdit.FCKEditor.viewAccessor=function(editField){return{value:function(newValue){var editor=fluid.inlineEdit.FCKEditor.byId(editField.id);if(!editor){if(newValue){$(editField).val(newValue)}return""}if(newValue){editor.SetHTML(newValue)}else{return editor.GetHTML()}}}};fluid.defaults("fluid.inlineEdit.FCKEditor",{selectors:{edit:"textarea"},styles:{invitation:"fl-inlineEdit-richText-invitation"},displayAccessor:{type:"fluid.inlineEdit.richTextViewAccessor"},editAccessor:{type:"fluid.inlineEdit.FCKEditor.viewAccessor"},lazyEditView:true,modelComparator:fluid.inlineEdit.htmlComparator,blurHandlerBinder:fluid.inlineEdit.FCKEditor.blurHandlerBinder,editModeRenderer:fluid.inlineEdit.FCKEditor.editModeRenderer,FCKEditor:{BasePath:"fckeditor/"}});fluid.inlineEdit.dropdown=function(container,options){return configureInlineEdit("fluid.inlineEdit.dropdown",container,options)};fluid.inlineEdit.dropdown.editModeRenderer=function(that){var id=fluid.allocateSimpleId(that.editField);that.editField.selectbox({finishHandler:function(){that.finish()}});return{container:that.editContainer,field:$("input.selectbox",that.editContainer)}};fluid.inlineEdit.dropdown.blurHandlerBinder=function(that){fluid.deadMansBlur(that.editField,$("div.selectbox-wrapper li",that.editContainer),function(){that.cancel()})};fluid.defaults("fluid.inlineEdit.dropdown",{applyEditPadding:false,blurHandlerBinder:fluid.inlineEdit.dropdown.blurHandlerBinder,editModeRenderer:fluid.inlineEdit.dropdown.editModeRenderer})})(jQuery,fluid_1_1);function FCKeditor_OnComplete(editorInstance){fluid.inlineEdit.FCKEditor.complete.fire(editorInstance)};