Make upgradeTo an object prototype
Change-Id: Ibdedbc5a57215151f97c5903ac69ba3ce6bab10c
diff --git a/Changes b/Changes
index 718613a..8776a90 100755
--- a/Changes
+++ b/Changes
@@ -33,6 +33,7 @@
- Buttongroup menus can be opened at different positions.
- Fix buttongroup anchoring if anchor doesn't exist.
- Fix blind header titles.
+ - Turn "upgradeTo" into an object prototype.
0.42 2021-06-18
- Added GitHub based CI for perl.
diff --git a/dev/js/src/buttongroup.js b/dev/js/src/buttongroup.js
index dabe710..85c6555 100644
--- a/dev/js/src/buttongroup.js
+++ b/dev/js/src/buttongroup.js
@@ -64,18 +64,6 @@
return false;
},
- /**
- * Upgrade this object to another object,
- * while private data stays intact.
- *
- * @param {Object} An object with properties.
- */
- upgradeTo : function (props) {
- for (var prop in props) {
- this[prop] = props[prop];
- };
- return this;
- },
_insert : function (tag = 'span') {
const span = document.createElement(tag);
diff --git a/dev/js/src/container/container.js b/dev/js/src/container/container.js
index 9b436ca..60bc0d9 100644
--- a/dev/js/src/container/container.js
+++ b/dev/js/src/container/container.js
@@ -54,18 +54,6 @@
},
- /**
- * Upgrade this object to another object,
- * while private data stays intact.
- *
- * @param {Object} An object with properties.
- */
- upgradeTo : function (props) {
- for (let prop in props) {
- this[prop] = props[prop];
- };
- return this;
- },
addItem : function (item) {
var cItem = this._containerItemClass.create().upgradeTo(item);
@@ -227,4 +215,4 @@
}
};
-});
\ No newline at end of file
+});
diff --git a/dev/js/src/container/containeritem.js b/dev/js/src/container/containeritem.js
index 10709b8..a9a209b 100644
--- a/dev/js/src/container/containeritem.js
+++ b/dev/js/src/container/containeritem.js
@@ -18,19 +18,6 @@
},
/**
- * Upgrade this object to another object,
- * while private data stays intact.
- *
- * @param {Object} An object with properties.
- */
- upgradeTo : function (props) {
- for (let prop in props) {
- this[prop] = props[prop];
- };
- return this;
- },
-
- /**
* Check or set if the item is active
*
* @param {boolean|null} State of activity
@@ -105,4 +92,4 @@
return this._menu;
}
-});
\ No newline at end of file
+});
diff --git a/dev/js/src/menu.js b/dev/js/src/menu.js
index 794d517..0c84c48 100644
--- a/dev/js/src/menu.js
+++ b/dev/js/src/menu.js
@@ -485,20 +485,6 @@
/**
- * Upgrade this object to another object,
- * while private data stays intact.
- *
- * @param {Object} An object with properties.
- */
- upgradeTo : function (props) {
- for (var prop in props) {
- this[prop] = props[prop];
- };
- return this;
- },
-
-
- /**
* Filter the list and make it visible.
* This is always called once the prefix changes.
*
diff --git a/dev/js/src/menu/item.js b/dev/js/src/menu/item.js
index e369918..ea46287 100644
--- a/dev/js/src/menu/item.js
+++ b/dev/js/src/menu/item.js
@@ -25,20 +25,6 @@
/**
- * Upgrade this object to another object,
- * while private data stays intact.
- *
- * @param {Object] An object with properties.
- */
- upgradeTo : function (props) {
- for (let prop in props) {
- this[prop] = props[prop];
- };
- return this;
- },
-
-
- /**
* Get or set the content of the meun item.
*/
content : function (content) {
diff --git a/dev/js/src/menu/lengthField.js b/dev/js/src/menu/lengthField.js
index eed90b7..b7891c4 100644
--- a/dev/js/src/menu/lengthField.js
+++ b/dev/js/src/menu/lengthField.js
@@ -19,20 +19,6 @@
/**
- * Upgrade this object to another object,
- * while private data stays intact.
- *
- * @param {Object} An object with properties.
- */
- upgradeTo : function (props) {
- for (let prop in props) {
- this[prop] = props[prop];
- };
- return this;
- },
-
-
- /**
* Get the associated dom element.
*/
element : function () {
diff --git a/dev/js/src/menu/prefix.js b/dev/js/src/menu/prefix.js
index 20e2753..59a0ab5 100644
--- a/dev/js/src/menu/prefix.js
+++ b/dev/js/src/menu/prefix.js
@@ -36,20 +36,6 @@
/**
- * Upgrade this object to another object,
- * while private data stays intact.
- *
- * @param {Object} An object with properties.
- */
- upgradeTo : function (props) {
- for (let prop in props) {
- this[prop] = props[prop];
- };
- return this;
- },
-
-
- /**
* Get or set the activity status of the prefix.
*/
active : function (bool) {
diff --git a/dev/js/src/panel.js b/dev/js/src/panel.js
index 53ea757..63eea6c 100644
--- a/dev/js/src/panel.js
+++ b/dev/js/src/panel.js
@@ -124,20 +124,6 @@
if (e === view)
a[i] = undefined;
});
- },
-
-
- /**
- * Upgrade this object to another object,
- * while private data stays intact.
- *
- * @param {Object] An object with properties.
- */
- upgradeTo : function (props) {
- for (let prop in props) {
- this[prop] = props[prop];
- };
- return this;
}
}
});
diff --git a/dev/js/src/util.js b/dev/js/src/util.js
index 42edf44..e227c67 100644
--- a/dev/js/src/util.js
+++ b/dev/js/src/util.js
@@ -27,6 +27,20 @@
return this.toLowerCase().replace(_slug1RE, '').replace(_slug2RE, '-');
};
+/**
+ * Upgrade this object to another object,
+ * while private data stays intact.
+ *
+ * @param {Object} An object with properties.
+ */
+Object.prototype.upgradeTo = function (props) {
+ for (let prop in props) {
+ this[prop] = props[prop];
+ };
+ return this;
+};
+
+
// Add toggleClass method similar to jquery
HTMLElement.prototype.toggleClass = function (c1, c2) {
const cl = this.classList;
@@ -201,4 +215,4 @@
//filter by actually being direct child node
classElements = classElements.filter(subElement => subElement.parentNode === element);
return classElements;
-};
\ No newline at end of file
+};
diff --git a/dev/js/src/vc/jsonld.js b/dev/js/src/vc/jsonld.js
index 06be1e0..4d6b8e4 100644
--- a/dev/js/src/vc/jsonld.js
+++ b/dev/js/src/vc/jsonld.js
@@ -14,18 +14,6 @@
},
- /**
- * Upgrade this object to another object
- * while private data stays intact
- */
- upgradeTo : function (props) {
- for (let prop in props) {
- this[prop] = props[prop];
- };
- return this;
- },
-
-
ldType : function (type) {
if (arguments.length === 1)
this._ldType = type;
diff --git a/dev/js/src/view.js b/dev/js/src/view.js
index b45c485..326e603 100644
--- a/dev/js/src/view.js
+++ b/dev/js/src/view.js
@@ -119,20 +119,6 @@
};
this.panel.delView(this);
this._shown = false;
- },
-
-
- /**
- * Upgrade this object to another object,
- * while private data stays intact.
- *
- * @param {Object] An object with properties.
- */
- upgradeTo : function (props) {
- for (let prop in props) {
- this[prop] = props[prop];
- };
- return this;
}
};
});