]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Fix our data storage
authorJohann-S <johann.servoire@gmail.com>
Sat, 26 Aug 2017 22:00:50 +0000 (00:00 +0200)
committerXhmikosR <xhmikosr@gmail.com>
Wed, 20 Feb 2019 20:05:45 +0000 (22:05 +0200)
js/src/dom/data.js

index 51ebb8d3f3808af853fc71021467733d582a6de5..3e8fdc009df17c07a57f218323f1fc908e8ace91 100644 (file)
@@ -6,10 +6,10 @@
  */
 
 const mapData = (() => {
-  const storeData    = {}
+  const storeData = {}
+  let id = 1
   return {
     set(element, key, data) {
-      let id
       if (typeof element.key === 'undefined') {
         element.key = {
           key,
@@ -18,20 +18,28 @@ const mapData = (() => {
       }
 
       storeData[id] = data
+      id++
     },
     get(element, key) {
-      if (typeof element.key === 'undefined' || element.key !== key) {
+      if (typeof element.key === 'undefined') {
         return null
       }
+
       const keyProperties = element.key
-      return storeData[keyProperties.id]
+      if (keyProperties.key === key) {
+        return storeData[keyProperties.id]
+      }
+      return null
     },
     delete(element, key) {
-      if (typeof element.key === 'undefined' || element.key !== key) {
+      if (typeof element.key === 'undefined') {
         return
       }
+
       const keyProperties = element.key
-      delete storeData[keyProperties.id]
+      if (keyProperties.key === key) {
+        delete storeData[keyProperties.id]
+      }
     }
   }
 })()
@@ -41,7 +49,7 @@ const Data = {
     mapData.set(instance, key, data)
   },
   getData(instance, key) {
-    mapData.get(instance, key)
+    return mapData.get(instance, key)
   },
   removeData(instance, key) {
     mapData.delete(instance, key)