App-MFILE-WWW
view release on metacpan or search on metacpan
share/js/core/lib.js view on Meta::CPAN
yesno = "Yes.";
} else if (p === 'admin' && cep === 'admin') {
r = true;
yesno = "Yes.";
} else {
r = false;
yesno = "No.";
}
// console.log("Does " + cep + " user satisfy ACL " + p + "? " + yesno);
return r;
}, // privCheck
// reverse-video a row (on/off)
reverseVideo: function (row, onoff) {
if (onoff === true) {
$('#row' + row).css('background-color','#000000');
$('#row' + row).css('color','#ffffff');
}
if (onoff === false) {
$('#row' + row).css('background-color','#d0e4fe');
$('#row' + row).css('color','#000000');
}
},
// right pad a string with spaces
rightPadSpaces: function (toPad, padto) {
var strToPad = ((toPad === null) ? '' : toPad).toString();
// console.log("Padding " + strToPad + " to " + padto + " spaces.");
var sp = ' ',
padSpaces = sp.repeat(padto - String(strToPad).length);
return strToPad.concat(padSpaces);
},
// shallow object copy, from
// http://blog.soulserv.net/understanding-object-cloning-in-javascript-part-i/
shallowCopy: function (original) {
// First create an empty object with
// same prototype of our original source
var clone = Object.create(Object.getPrototypeOf(original)),
i, keys = Object.getOwnPropertyNames(original);
for (i = 0; i < keys.length; i++) {
// copy each property into the clone
Object.defineProperty(clone, keys[i],
Object.getOwnPropertyDescriptor(original, keys[i])
);
}
return clone;
},
// eliminate duplicates from array - use only for arrays containing
// similar primitives (e.g. arrays of numbers, arrays of zip codes, etc.)
// Credits to: https://stackoverflow.com/questions/9229645/remove-duplicates-from-javascript-array
uniq: function (a) {
var seen = {};
return a.filter(function(item) {
return seen.hasOwnProperty(item) ? false : (seen[item] = true);
});
},
// pause main thread for n milliseconds
//wait: function (ms) {
// var start = new Date().getTime();
// var end = start;
// while(end < start + ms) {
// end = new Date().getTime();
// }
//},
};
});
( run in 0.913 second using v1.01-cache-2.11-cpan-39bf76dae61 )