mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-14 09:35:29 +00:00
codemirror.js: fix textfield-long patch (Forum #33226)
git-svn-id: https://svn.fhem.de/fhem/trunk@7882 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
7e4c9a6123
commit
618e57e1dc
@ -1,4 +1,4 @@
|
||||
var cm_loaded = 0, cm_editor;
|
||||
var cm_loaded = 0;
|
||||
|
||||
$(document).ready(function(){
|
||||
var els = document.getElementsByTagName("textarea");
|
||||
@ -11,7 +11,7 @@ $(document).ready(function(){
|
||||
if(oc) {
|
||||
$(this).attr("onclick", oc+
|
||||
's=document.getElementById("edit").getElementsByTagName("textarea");'+
|
||||
'if(!s[0].editor) s[0].editor=AddCodeMirror(s[0]);');
|
||||
'if(!s[0].editor) { s[0].editor=true; AddCodeMirror(s[0]);}');
|
||||
}
|
||||
});
|
||||
} else {
|
||||
@ -20,19 +20,23 @@ $(document).ready(function(){
|
||||
});
|
||||
|
||||
function
|
||||
AddCodeMirror(e)
|
||||
AddCodeMirror(e, cb)
|
||||
{
|
||||
cm_editor = e;
|
||||
if(cm_loaded == 4)
|
||||
return cm_wait(e, cb);
|
||||
loadLink("codemirror/codemirror.css");
|
||||
loadLink("codemirror/show-hint.css");
|
||||
loadScript("codemirror/codemirror.js", function(){cm_loaded++;} );
|
||||
loadScript("codemirror/closebrackets.js",function(){cm_loaded++;} );
|
||||
loadScript("codemirror/matchbrackets.js",function(){cm_loaded++;} );
|
||||
loadScript("codemirror/show-hint.js", function(){cm_loaded++;cm_wait()});
|
||||
loadScript("codemirror/codemirror.js", function(){ cm_loaded++;} );
|
||||
loadScript("codemirror/closebrackets.js",function(){ cm_loaded++;} );
|
||||
loadScript("codemirror/matchbrackets.js",function(){ cm_loaded++;} );
|
||||
loadScript("codemirror/show-hint.js", function(){
|
||||
cm_loaded++;
|
||||
cm_wait(e, cb);
|
||||
});
|
||||
}
|
||||
|
||||
function
|
||||
cm_wait()
|
||||
cm_wait(cm_editor, callback)
|
||||
{
|
||||
if(cm_loaded != 4) {
|
||||
setTimeout(cm_wait, 10);
|
||||
@ -67,6 +71,8 @@ cm_wait()
|
||||
|
||||
loadScript("codemirror/"+type+".js", function(){
|
||||
log("Calling CodeMirror");
|
||||
CodeMirror.fromTextArea(cm_editor, attr);
|
||||
var cm = CodeMirror.fromTextArea(cm_editor, attr);
|
||||
if(callback)
|
||||
callback(cm);
|
||||
});
|
||||
}
|
||||
|
@ -575,11 +575,15 @@ FW_createTextField(elName, devName, vArr, currVal, set, params, cmd)
|
||||
$(inp).attr('name', elName);
|
||||
if(currVal != undefined)
|
||||
$(inp).val(currVal);
|
||||
if(cmd)
|
||||
$(inp).blur(function() { cmd($(inp).val()) });
|
||||
|
||||
function addBlur() { if(cmd) $(inp).blur(function() { cmd($(inp).val()) }); };
|
||||
|
||||
newEl.setValueFn = function(arg){ $(inp).val(arg) };
|
||||
addBlur();
|
||||
|
||||
var myFunc = function(){
|
||||
|
||||
$(inp).unbind("blur");
|
||||
$('body').append(
|
||||
'<div id="editdlg" style="display:none">'+
|
||||
'<textarea id="td_longText" rows="25" cols="60" style="width:99%"/>'+
|
||||
@ -587,18 +591,25 @@ FW_createTextField(elName, devName, vArr, currVal, set, params, cmd)
|
||||
|
||||
$("#td_longText").val($(inp).val());
|
||||
|
||||
if( typeof AddCodeMirror == 'function' )
|
||||
AddCodeMirror($("#td_longText").get(0));
|
||||
var cm;
|
||||
if( typeof AddCodeMirror == 'function' )
|
||||
AddCodeMirror($("#td_longText").get(0), function(pcm) {cm = pcm;});
|
||||
|
||||
$('#editdlg').dialog(
|
||||
{ modal:true, closeOnEscape:true, width:$(window).width()*3/4,
|
||||
maxHeight:$(window).height()*3/4,
|
||||
buttons:[
|
||||
{ text:"Cancel", click:function(){ $('#editdlg').remove(); }},
|
||||
{ text:"Cancel", click:function(){
|
||||
$('#editdlg').remove();
|
||||
addBlur();
|
||||
}},
|
||||
{ text:"OK", click:function(){
|
||||
if(cm)
|
||||
$("#td_longText").val(cm.getValue());
|
||||
var res=$("#td_longText").val();
|
||||
$('#editdlg').remove();
|
||||
$(inp).val(res);
|
||||
addBlur();
|
||||
}}]});
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user