bootstrap-dropdown-button
Version:
Responsive Dropdown Button built with Bootstrap 5. Dropdown can be created with the use of a button or link elements.
68 lines (59 loc) • 1.56 kB
JavaScript
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-beta2): dom/data.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
const mapData = (() => {
const storeData = {};
let id = 1;
return {
set(element, key, data) {
if (typeof element[key] === 'undefined') {
element[key] = {
key,
id,
};
id++;
}
storeData[element[key].id] = data;
},
get(element, key) {
if (!element || typeof element[key] === 'undefined') {
return null;
}
const keyProperties = element[key];
if (keyProperties.key === key) {
return storeData[keyProperties.id];
}
return null;
},
delete(element, key) {
if (typeof element[key] === 'undefined') {
return;
}
const keyProperties = element[key];
if (keyProperties.key === key) {
delete storeData[keyProperties.id];
delete element[key];
}
},
};
})();
const Data = {
setData(instance, key, data) {
mapData.set(instance, key, data);
},
getData(instance, key) {
return mapData.get(instance, key);
},
removeData(instance, key) {
mapData.delete(instance, key);
},
};
export default Data;