diff options
author | Michael Lando <ml636r@att.com> | 2017-06-09 03:19:04 +0300 |
---|---|---|
committer | Michael Lando <ml636r@att.com> | 2017-06-09 03:19:04 +0300 |
commit | ed64b5edff15e702493df21aa3230b81593e6133 (patch) | |
tree | a4cb01fdaccc34930a8db403a3097c0d1e40914b /catalog-ui/src/app/utils/prototypes.ts | |
parent | 280f8015d06af1f41a3ef12e8300801c7a5e0d54 (diff) |
[SDC-29] catalog 1707 rebase commit.
Change-Id: I43c3dc5cf44abf5da817649bc738938a3e8388c1
Signed-off-by: Michael Lando <ml636r@att.com>
Diffstat (limited to 'catalog-ui/src/app/utils/prototypes.ts')
-rw-r--r-- | catalog-ui/src/app/utils/prototypes.ts | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/catalog-ui/src/app/utils/prototypes.ts b/catalog-ui/src/app/utils/prototypes.ts new file mode 100644 index 0000000000..2aa718a06c --- /dev/null +++ b/catalog-ui/src/app/utils/prototypes.ts @@ -0,0 +1,64 @@ +interface String { + format(variables:Array<string>):string +} + +interface Array<T> { + clean(o:T):Array<T>; +} + + +/** + * This function will replace the %<number> with strings (from array). + * Example: "Requested '%1' resource was not found.".format(["MyResource"]); + * Note: in case the array contains empty string the function will also remove the '' or the "". + */ +if (!String.hasOwnProperty("format")) { + String.prototype["format"] = function (variables:Array<string>):string { + + if (variables === null || variables === undefined || variables.length === 0) { + variables = ['']; + } + + for (let i = 0; i < variables.length; i++) { + if (variables[i] === '' || variables[i] === null) { + variables[i] = '--DELETE--'; + } + } + + let res = this.replace(/%(\d+)/g, function (_, m) { + return variables[--m]; + }); + + res = res.replace(" '--DELETE--' ", " "); + res = res.replace(" \"--DELETE--\" ", " "); + res = res.replace("'--DELETE--'", ""); + res = res.replace("\"--DELETE--\"", ""); + res = res.replace("--DELETE--", ""); + + return res; + }; +} + +if (!String.hasOwnProperty("capitalizeFirstLetter")) { + String.prototype["capitalizeFirstLetter"] = function () { + return this.charAt(0).toUpperCase() + this.slice(1); + }; +} + +if (!String.hasOwnProperty("replaceAll")) { + String.prototype["replaceAll"] = function (find:string, replace:string):string { + return this.replace(new RegExp(find, 'g'), replace); + }; +} + +if (!Array.hasOwnProperty("clean")) { + Array.prototype.clean = function (deleteValue) { + for (let i = 0; i < this.length; i++) { + if (this[i] == deleteValue) { + this.splice(i, 1); + i--; + } + } + return this; + }; +} |