aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/utils/prototypes.ts
diff options
context:
space:
mode:
authorMichael Lando <ml636r@att.com>2017-06-09 03:19:04 +0300
committerMichael Lando <ml636r@att.com>2017-06-09 03:19:04 +0300
commited64b5edff15e702493df21aa3230b81593e6133 (patch)
treea4cb01fdaccc34930a8db403a3097c0d1e40914b /catalog-ui/src/app/utils/prototypes.ts
parent280f8015d06af1f41a3ef12e8300801c7a5e0d54 (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.ts64
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;
+ };
+}