提交 7db5fb34 编写于 作者: K Kohsuke Kawaguchi

refactored

上级 6a7df13a
......@@ -73,6 +73,7 @@ THE SOFTWARE.
<j:set var="value" value="${attrs.value ?: instance[attrs.field] ?: attrs.default}" />
<j:if test="${attrs['codemirror-mode']!=null}">
<st:adjunct includes="
lib.form.textarea.textarea
org.kohsuke.stapler.codemirror.mode.${attrs['codemirror-mode']}.${attrs['codemirror-mode']},
org.kohsuke.stapler.codemirror.theme.default"/>
</j:if>
......
Behaviour.register({
"TEXTAREA.codemirror" : function(e) {
var h = e.clientHeight;
var config = e.getAttribute("codemirror-config") || "";
config = eval('({'+config+'})');
var codemirror = CodeMirror.fromTextArea(e,config);
e.codemirrorObject = codemirror;
if(typeof(codemirror.getScrollerElement) !== "function") {
// Maybe older versions of CodeMirror do not provide getScrollerElement method.
codemirror.getScrollerElement = function(){
return findElementsBySelector(codemirror.getWrapperElement(), ".CodeMirror-scroll")[0];
};
}
var scroller = codemirror.getScrollerElement();
scroller.setAttribute("style","border:1px solid black;");
scroller.style.height = h+"px";
},
"DIV.textarea-preview-container" : function (e) {
var previewDiv = findElementsBySelector(e,".textarea-preview")[0];
var showPreview = findElementsBySelector(e,".textarea-show-preview")[0];
var hidePreview = findElementsBySelector(e,".textarea-hide-preview")[0];
$(hidePreview).hide();
$(previewDiv).hide();
showPreview.onclick = function() {
// Several TEXTAREAs may exist if CodeMirror is enabled. The first one has reference to the CodeMirror object.
var textarea = e.parentNode.getElementsByTagName("TEXTAREA")[0];
var text = textarea.codemirrorObject ? textarea.codemirrorObject.getValue() : textarea.value;
var render = function(txt) {
$(hidePreview).show();
$(previewDiv).show();
previewDiv.innerHTML = txt;
layoutUpdateCallback.call();
};
new Ajax.Request(rootURL + showPreview.getAttribute("previewEndpoint"), {
method: "POST",
requestHeaders: "Content-Type: application/x-www-form-urlencoded",
parameters: {
text: text
},
onSuccess: function(obj) {
render(obj.responseText)
},
onFailure: function(obj) {
render(obj.status + " " + obj.statusText + "<HR/>" + obj.responseText)
}
});
return false;
}
hidePreview.onclick = function() {
$(hidePreview).hide();
$(previewDiv).hide();
};
}
});
\ No newline at end of file
......@@ -701,23 +701,6 @@ var jenkinsRules = {
e = null; // avoid memory leak
},
"TEXTAREA.codemirror" : function(e) {
var h = e.clientHeight;
var config = e.getAttribute("codemirror-config") || "";
config = eval('({'+config+'})');
var codemirror = CodeMirror.fromTextArea(e,config);
e.codemirrorObject = codemirror;
if(typeof(codemirror.getScrollerElement) !== "function") {
// Maybe older versions of CodeMirror do not provide getScrollerElement method.
codemirror.getScrollerElement = function(){
return findElementsBySelector(codemirror.getWrapperElement(), ".CodeMirror-scroll")[0];
};
}
var scroller = codemirror.getScrollerElement();
scroller.setAttribute("style","border:1px solid black;");
scroller.style.height = h+"px";
},
// Script Console : settings and shortcut key
"TEXTAREA.script" : function(e) {
(function() {
......@@ -1130,46 +1113,6 @@ var jenkinsRules = {
new YAHOO.widget.Button(e, { type: "menu", menu: $(e).next() });
},
"DIV.textarea-preview-container" : function (e) {
var previewDiv = findElementsBySelector(e,".textarea-preview")[0];
var showPreview = findElementsBySelector(e,".textarea-show-preview")[0];
var hidePreview = findElementsBySelector(e,".textarea-hide-preview")[0];
$(hidePreview).hide();
$(previewDiv).hide();
showPreview.onclick = function() {
// Several TEXTAREAs may exist if CodeMirror is enabled. The first one has reference to the CodeMirror object.
var textarea = e.parentNode.getElementsByTagName("TEXTAREA")[0];
var text = textarea.codemirrorObject ? textarea.codemirrorObject.getValue() : textarea.value;
var render = function(txt) {
$(hidePreview).show();
$(previewDiv).show();
previewDiv.innerHTML = txt;
layoutUpdateCallback.call();
};
new Ajax.Request(rootURL + showPreview.getAttribute("previewEndpoint"), {
method: "POST",
requestHeaders: "Content-Type: application/x-www-form-urlencoded",
parameters: {
text: text
},
onSuccess: function(obj) {
render(obj.responseText)
},
onFailure: function(obj) {
render(obj.status + " " + obj.statusText + "<HR/>" + obj.responseText)
}
});
return false;
}
hidePreview.onclick = function() {
$(hidePreview).hide();
$(previewDiv).hide();
};
},
/*
Use on div tag to make it sticky visible on the bottom of the page.
When page scrolls it remains in the bottom of the page
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册