zoxon
2/2/2015 - 4:48 AM

Convert data-options attribute into an object of key/value pairs

Convert data-options attribute into an object of key/value pairs

/**
 * Convert data-options attribute into an object of key/value pairs
 * @private
 * @param {String} options Item-specific options as a data attribute string
 * @returns {Object}
 */
var getDataOptions = function ( options ) {
    var settings = {};

    // Trim whitespace from a string
    var trim = function ( string ) {
        return string.replace(/^s+|s+$/g, '');
    };

    // Create a key/value pair for each setting
    if ( options ) {
        options = options.split(';');
        options.forEach( function(option) {
            option = trim(option);
            if ( option !== '' ) {
                option = option.split(':');
                settings[option[0]] = trim(option[1]);
            }
        });
    }

    return settings;
};