App-MFILE-WWW
view release on metacpan or search on metacpan
share/js/core/html.js view on Meta::CPAN
} else {
return '(undefined)';
}
} else if (obj[prop] === false) {
return 'NO';
} else if (obj[prop] === true) {
return 'YES';
} else if (obj[prop] === NaN) {
return '(NOT_A_NUMBER)';
}
return obj[prop];
}, // valueToDisplay
vetEntries = function (tgt, arr) {
// checks that all entries do exist
// if any are missing, write an error
// return true (OK) or false (NOT OK)
for (var i = 0; i < arr.length; i += 1) {
if (typeof arr[i] !== "object") {
console.log("ERROR: target definition ->" + tgt + "<- " +
"mentions non-existent entry " + i);
return false;
}
if (arr[i] === null) {
console.log("ERROR: target definition ->" + tgt + "<- " +
" contains null entry " + i);
return false;
}
if (arr[i].name === undefined) {
console.log("ERROR: target definition ->" + tgt + "<- " +
"is missing a \"name\" property " + i);
return false;
}
}
return true;
}, // vetEntries
// "Your choice" section at the bottom - shared by all target types
yourChoice = function () {
var r = '<br>';
r += "<div class='yourchoice'>";
r += "<div class='yourchoiceleft'>";
r += "Your choice:";
r += "</div>"; // yourchoiceleft
r += "<div class='yourchoiceright'>";
r += '<input name="sel" size=3 maxlength=2> ' +
'<input id="submitButton" type="submit" value="Submit">';
r += "</div>"; // yourchoiceright
r += "</div>"; // yourchoice
r += "<br>";
return r;
};
return {
body: function () {
var r = '';
r += '<div class="leftright">';
r += '<p class="alignleft" style="font-size: x-large; font-weight: bold">';
r += cf('appName');
r += ' <span style="font-size: normal; font-weight: normal;">';
r += cf('appVersion');
r += '</span>';
r += '</p>';
r += '<p class="alignright"><span id="userbox">';
r += appLib.userBoxContent();
r += '</span></p>';
r += '</div>';
r += '<div class="boxtopbot" id="header" style="clear: both;">';
r += ' <span class="subbox" id="topmesg">If application appears';
r += ' unresponsive, make sure browser window is active and press \'TAB\'</span>';
r += '</div>';
r += '<div class="mainarea" id="mainarea">';
r += '<br><br><br><br><br><center><p>LOADING . . . PLEASE WAIT</p></center><br><br><br><br><br>';
r += '</div>';
r += '<div class="boxtopbot" id="result"> </div>';
r += '<div id="noticesline" style="font-size: small">';
// r += appLib.fillNoticesLine();
r += '</div>';
if (cf('displaySessionData') === true) {
r += 'Plack session ID: ' + cf('sessionID');
r += ' (last_seen ' + cf('sessionLastSeen') + ')</br>';
}
return r;
}, // body
dbrowser: function (dbn) {
// dfn is dbrowser name
// dfo is dbrowser object
var dbo = target.pull(dbn);
return function (set, pos) {
// console.log("Generating source code of dbrowser " + dbn);
var r = '<form id="' + dbo.name + '">',
len,
i,
obj,
entry,
allEntries,
needed;
r += '<br><b>' + dbo.title + '</b><br><br>';
if (dbo.preamble) {
r += dbo.preamble + '<br><br>';
}
// determine characters needed for padding (based on longest
// entry)
allEntries = dbo.getEntries();
if (! vetEntries(dbn, allEntries)) {
// no point in going any further
return null;
( run in 2.519 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )