App-SocialCalc-Multiplayer
view release on metacpan or search on metacpan
socialcalc/simpleedit15.pl view on Meta::CPAN
// var htmlstr = spreadsheet.CreateSheetHTML();
var htmlstr = "<div>No HTML Data</div>";
document.getElementById("newdata").value = sheetstr + "\\nHTML:\\n" + htmlstr;
}
var http_request2;
function ajaxrequest2(url, contents) {
http_request2 = null;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request2 = new XMLHttpRequest();
}
else if (window.ActiveXObject) { // IE
try {
http_request2 = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
http_request2 = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {}
}
}
if (!http_request2) {
alert('Giving up :( Cannot create an XMLHTTP instance');
return false;
}
// Make the actual request
http_request2.onreadystatechange = alertContents2;
http_request2.open('POST', document.URL, true); // async
http_request2.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
http_request2.send(contents);
return true;
}
function alertContents2() {
var loadedstr = "";
var parts;
if (http_request2.readyState == 4) {
try {
if (http_request2.status == 200) {
loadedstr = http_request2.responseText || "";
http_request2 = null;
}
else {
;
}
}
catch (e) {
}
funccache[funcquery] = loadedstr; // remember for next time
SocialCalc.Formula.RemoteFunctionInfo.waitingForServer = null;
SocialCalc.RecalcSetTimeout();
}
}
// start everything
SocialCalc.Constants.defaultImagePrefix = "/sgi/scjstest/images/sc-";
SocialCalc.Popup.imagePrefix = SocialCalc.Constants.defaultImagePrefix;
var spreadsheet = new SocialCalc.SpreadsheetControl();
spreadsheet.InitializeSpreadsheetControl("tableeditor", 0, 0, 0);
var savestr = document.getElementById("sheetdata").value;
var parts = spreadsheet.DecodeSpreadsheetSave(savestr);
if (parts) {
if (parts.sheet) {
spreadsheet.sheet.ResetSheet();
spreadsheet.ParseSheetSave(savestr.substring(parts.sheet.start, parts.sheet.end));
}
if (parts.edit) {
spreadsheet.editor.LoadEditorSettings(savestr.substring(parts.edit.start, parts.edit.end));
}
}
if (spreadsheet.sheet.attribs.recalc=="off") {
spreadsheet.sheet.attribs.needsrecalc = "yes"; // default turn it on
spreadsheet.ExecuteCommand('redisplay', '');
}
else {
spreadsheet.ExecuteCommand('recalc', '');
}
</script>
</body>
</html>
EOF
return $response;
}
#
# start_editdrawing($pagename, $sheetname, $q, $statusmessage)
# - render initial editing display
#
sub start_editdrawing {
my ($pagename, $sheetname, $q, $statusmessage) = @_;
my ($response, $sheetstr);
my $page = {};
load_page($q, $pagename, $page);
$sheetstr = $page->{items}{$sheetname}{text};
$response = <<"EOF"; # output page with edit JS code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
( run in 1.977 second using v1.01-cache-2.11-cpan-39bf76dae61 )