2017-08-21 09:11:37 +02:00
|
|
|
/**
|
|
|
|
* --------------------------------------------------------------------------
|
|
|
|
* Bootstrap (v4.0.0-beta): dom/data.js
|
|
|
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
|
|
|
* --------------------------------------------------------------------------
|
|
|
|
*/
|
|
|
|
|
|
|
|
const mapData = (() => {
|
2017-08-27 00:00:50 +02:00
|
|
|
const storeData = {}
|
|
|
|
let id = 1
|
2017-08-21 09:11:37 +02:00
|
|
|
return {
|
|
|
|
set(element, key, data) {
|
2017-08-23 12:03:50 +02:00
|
|
|
if (typeof element.key === 'undefined') {
|
2017-08-21 09:11:37 +02:00
|
|
|
element.key = {
|
|
|
|
key,
|
|
|
|
id
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
storeData[id] = data
|
2017-08-27 00:00:50 +02:00
|
|
|
id++
|
2017-08-21 09:11:37 +02:00
|
|
|
},
|
|
|
|
get(element, key) {
|
2017-08-27 00:00:50 +02:00
|
|
|
if (typeof element.key === 'undefined') {
|
2017-08-21 09:11:37 +02:00
|
|
|
return null
|
|
|
|
}
|
2017-08-27 00:00:50 +02:00
|
|
|
|
2017-08-21 09:11:37 +02:00
|
|
|
const keyProperties = element.key
|
2017-08-27 00:00:50 +02:00
|
|
|
if (keyProperties.key === key) {
|
|
|
|
return storeData[keyProperties.id]
|
|
|
|
}
|
|
|
|
return null
|
2017-08-21 09:11:37 +02:00
|
|
|
},
|
|
|
|
delete(element, key) {
|
2017-08-27 00:00:50 +02:00
|
|
|
if (typeof element.key === 'undefined') {
|
2017-08-21 09:11:37 +02:00
|
|
|
return
|
|
|
|
}
|
2017-08-27 00:00:50 +02:00
|
|
|
|
2017-08-21 09:11:37 +02:00
|
|
|
const keyProperties = element.key
|
2017-08-27 00:00:50 +02:00
|
|
|
if (keyProperties.key === key) {
|
|
|
|
delete storeData[keyProperties.id]
|
2017-08-24 22:22:02 +02:00
|
|
|
delete element.key
|
2017-08-27 00:00:50 +02:00
|
|
|
}
|
2017-08-21 09:11:37 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
})()
|
|
|
|
|
|
|
|
const Data = {
|
|
|
|
setData(instance, key, data) {
|
|
|
|
mapData.set(instance, key, data)
|
|
|
|
},
|
|
|
|
getData(instance, key) {
|
2017-08-27 00:00:50 +02:00
|
|
|
return mapData.get(instance, key)
|
2017-08-21 09:11:37 +02:00
|
|
|
},
|
|
|
|
removeData(instance, key) {
|
|
|
|
mapData.delete(instance, key)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export default Data
|