prettify

baseline

Javascript Unit Testing TDD

A simple HTML Page that runs all your unit tests (Only Is.Equal is implemented but more are coming).
The web app should be build as MVC or at least have a distinct Model (set of .js files).

Javascript Class Template

function Person(oInit) {
    this.Clear();
    if (typeof oInit === "object") { this.Init(oInit); }
    this.Init(oInit)
}
Person.sId = "Party";
Person.sColor = "#00f";
Person.sIcon = "../img/user_suit.png";

Person.prototype.Clear = function () {
    this.nkPer = 0;
    this.rvPer = 0;
    this.sPerLNm = "";
    this.sPerEml = "";
};

String.prototype javascript

String.prototype.PadLeft = function (nLen, sPad) {
    if (typeof sPad !== "string") sPad = " ";
    if (typeof nLen !== "number") nLen = 2;
    var sResult = this;
    while (sResult.length < nLen) sResult = sPad + sResult;
    return sResult;
};
String.prototype.PadRight = function(sPad, nLen) {
    if (typeof sPad !== "string") sPad = " ";
    if (typeof nLen !== "number") nLen = 2;
    var sResult = this;
    while (sResult.length < nLen) sResult += sPad;
    return sResult;
};
String.prototype.Trim = function () {
    return this.replace(/^\s+|\s+$/g, "");
};
String.prototype.TrimLeft = function () {
    return this.replace(/^\s+/, "");
};
String.prototype.TrimRight = function () {
    return this.replace(/\s+$/, "");
};

Date.prototype javascript

Date.prototype.Format = function (sFormat) {
    if (typeof sFormat !== "string") 
        return this.getFullYear().toString() + 
               (this.getMonth() + 1).toString().PadLeft("0", 2) +
               this.getDate().toString().PadLeft("0", 2);
    var that = this;
    return sFormat.replace(/dd?d?d?|MM?M?M?|yy?y?y?|hh?|HH?|mm?|ss?/g,
    function (sFormat) {
        switch (sFormat) {
        case "yyyy": return that.getFullYear().toString();
        case "yy": return that.getFullYear().toString().substring(2, 4);
        case "MM": return (that.getMonth() + 1).toString().PadLeft(2, "0");
        case "dd": return that.getDate().toString().PadLeft(2, "0");
        case "hh": return (that.getHours() <= 12 ? that.getHours() : 
                   (that.getHours() - 12)).toString().PadLeft(2, "0");
        case "HH": return that.getHours().toString().PadLeft(2, "0");
        case "mm": return that.getMinutes().toString().PadLeft(2, "0");
        case "ss": return that.getSeconds().toString().PadLeft(2, "0");
        case "M": return (that.getMonth() + 1).toString();
        case "d": return that.getDate().toString();
        case "h": return (that.getHours() <= 12 ? that.getHours() : 
                  (that.getHours() - 12)).toString();
        case "H": return that.getHours().toString();
        case "m": return tht.getMinutes().toString();
        case "s": return that.getSeconds().toString();
        }
    });
};

Color Wheels

Simplified Color Wheels for Natural Color System
f00 ff0 0f0 00f
Primary Colors (R-G, B-Y): 4

C# Collection Class Template

Use this class as a template for Collection classes.
This is the class Persons to accompany the class Person.

Javascript Collection Class

Javascript does not need a Template for Connection Classes.
One Class fits all!
Items.js:

C# class template

Template for a business class in C#.
The example is the "Party" from the "Party-Person-Organization" pattern.

CORS Cross Origin Resource Sharing Javascript

For many years we were stuck with JSONP if we needed to make a cross domain query.
JSONP was OK except for one major point: The amount of data to send where limited by max URL length and then again it had to be URI encoded.
Now we have a solution supported by all browsers except IE7 & Opera (for some reason).

Google Translate using JSONP

We have a web page.
In this page there is a set of Fields (input-text/ textarea) with Greek (or whatever google supports) text content.
There are some corresponding Fields where we like to have the english translation.
First get a key from Google API console
You have to remember that max URL length is 2038 characters for IE, that gives less than 1K for the string to translate. You can get more (a lot) from chrome, firefox, opera (>64K).
Google says that you can to it with POST instead of GET, but that is another post.

Special Characters for HTML

Special characters with their HTML code like:
½ ¼ ¾ © ® ™ ℗
Unicode characters that have not HTML codes but can be used in HTML Pages like:
☎ ✉ ✔ ☒ ✖

HTML5 Sticky Footer

Table layouts are fine for the nonconformists among us.
But there are cases we realy need a CSS layout. Like when we have to rearrange the layout depending on the window size of the browser, to accommodate everything from mobile browsers to extra wide monitors.
Here is a Sticky Footer CSS layout.

Reference

CSS drop caps
Various Font Stacks
and more…