Added ability to add/remove script

master
Hauke D 7 years ago
parent 9e5319bbfc
commit e00b0a148b

@ -164,7 +164,7 @@ function fetchUrl(url,cm) { // fetch the contents of a URL into a CodeMirror ins
}); });
} }
function makeCodeWithFn (fn,targ,ro,nodel) { function makeCodeWithFn (fn,targ,ro,isscript) {
var div = $('<div/>',{class:"codewithfn"}); var div = $('<div/>',{class:"codewithfn"});
var fnfuncs = $('<div/>',{class:"fnfuncs"}).appendTo(div); var fnfuncs = $('<div/>',{class:"fnfuncs"}).appendTo(div);
@ -191,30 +191,31 @@ function makeCodeWithFn (fn,targ,ro,nodel) {
var filefuncs = $('<div/>',{class:"filefuncs"}).appendTo(fnfuncs); var filefuncs = $('<div/>',{class:"filefuncs"}).appendTo(fnfuncs);
if (!nodel) { var conf = $('<span/>', {class:"text small"})
var conf = $('<span/>', {class:"text small"}) .append(
.append( "&ensp;",
"&ensp;", "Are you sure?",
"Are you sure?", "&ensp;",
"&ensp;", $('<span/>',{class:"fakelink",text:"Yes"})
$('<span/>',{class:"fakelink",text:"Yes"}) .click(function () {
.click(function () { div.remove(); }), div.remove();
"&ensp;", if (isscript) $('#addscript').show();
$('<span/>',{class:"fakelink",text:"Cancel"}) }),
.click(function () { conf.hide(); }), "&ensp;",
); $('<span/>',{class:"fakelink",text:"Cancel"})
$('<span/>',{class:"fakelink",text:"delete"}) .click(function () { conf.hide(); }),
.appendTo(filefuncs).click(function () { );
conf.show(); $('<span/>',{class:"fakelink",text:"delete"})
}); .appendTo(filefuncs).click(function () {
conf.hide(); conf.show();
conf.appendTo(filefuncs); });
} conf.hide();
conf.appendTo(filefuncs);
var ta = $('<textarea/>').appendTo(div); var ta = $('<textarea/>').appendTo(div);
targ.before(div); targ.before(div);
filename.trigger('input'); // see above filename.trigger('input'); // see above
var cm = makeCM(ta, !fn.match(/\.pl$/i), ro); var cm = makeCM(ta, !(isscript||fn.match(/\.pl$/i)), ro);
div.data('CodeMirrorInstance', cm); div.data('CodeMirrorInstance', cm);
return {div:div,ta:ta,cm:cm}; return {div:div,ta:ta,cm:cm};
} }
@ -292,6 +293,7 @@ $(function () {
var hash = hashdata.length>0 ? JSON.parse(decodeURIComponent(hashdata)) : {}; var hash = hashdata.length>0 ? JSON.parse(decodeURIComponent(hashdata)) : {};
// script // script
var addscript = $('#addscript');
if ( hash["script"] || hash["script_url"] ) { if ( hash["script"] || hash["script_url"] ) {
var fn = hash["script_fn"] ? hash.script_fn : 'script.pl'; var fn = hash["script_fn"] ? hash.script_fn : 'script.pl';
var cfn = makeCodeWithFn(fn, $('#perlctrl'), 0, 1); var cfn = makeCodeWithFn(fn, $('#perlctrl'), 0, 1);
@ -300,7 +302,17 @@ $(function () {
cfn.cm.setValue(hash.script); cfn.cm.setValue(hash.script);
else if (hash["script_url"]) else if (hash["script_url"])
fetchUrl(hash.script_url, cfn.cm); fetchUrl(hash.script_url, cfn.cm);
addscript.hide();
} }
else
addscript.show();
addscript.click(function () {
addscript.hide();
if ($('#script').length) return;
var cfn = makeCodeWithFn('script.pl', $('#perlctrl'), 0, 1);
cfn.div.attr("id", "script");
cfn.cm.setValue("use warnings;\nuse strict;\n\n");
});
// command line // command line
var argv_inp = $('#argv'); var argv_inp = $('#argv');
@ -404,6 +416,8 @@ $(function () {
<div id="misctools"> <div id="misctools">
Tools Tools
<div id="misctools_reveal"> <div id="misctools_reveal">
&nbsp;
<span id="addscript" class="fakelink" style="display:none;">Add Script</span>
&nbsp; &nbsp;
<span id="copyurl" class="fakelink">Copy Frame URL</span> <span id="copyurl" class="fakelink">Copy Frame URL</span>
</div> </div>

Loading…
Cancel
Save