Meet the speakers
<div id="rd-speakers" class="rd-speakers"></div>
<script type="text/javascript" async>
(function (id, baseUrl) {
function load(id, url) {
var container = document.getElementById(id);
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
container.innerHTML = this.responseText;
}
};
xhttp.open("GET", url, true);
xhttp.send();
};
function toggle(el) {
if (el.style.display === 'none') {
el.classList.add('rd-hide');
el.style.display = '';
setTimeout(toggleHidden, 0, el);
}
else {
toggleHidden(el);
setTimeout(function () {
el.style.display = 'none';
}, 300);
}
};
function toggleHidden(el) {
if (el.classList.contains('rd-hide')) {
el.classList.add('rd-show');
el.classList.remove('rd-hide');
} else {
el.classList.add('rd-hide');
el.classList.remove('rd-show');
}
}
function listenForToggle(id) {
var container = document.getElementById(id);
container.addEventListener('click', function (e) {
for (var target = e.target; target && target != container; target = target.parentNode) {
if (target.matches('.rd-toggle')) {
if (target.dataset.rdTarget) {
var els = container.querySelectorAll(target.dataset.rdTarget);
Array.prototype.forEach.call(els, toggle);
}
break;
}
}
}, false);
}
// Filter the list of items
function initFilter() {
// Initialize the filter button
var filterButton = document.getElementById('rd-filter-submit');
if (filterButton) {
filterButton.addEventListener('click', function () {
// 1. Collect checked tag IDs
var checked = Array.from(
document.querySelectorAll('.tag-filter-checkbox:checked')
).map(function (cb) {
return cb.value;
});
// 2. Build URL
var url = baseUrl;
if (checked.length) {
var params = new URLSearchParams();
params.set('tags', checked.join(','));
url = baseUrl + (baseUrl.includes('?') ? '&' : '?') + params.toString();
}
// 3. Reload the list
load(id, url);
});
}
// Initialize the clear button
var clearButton = document.getElementById('rd-filter-clear');
if (clearButton) {
clearButton.addEventListener('click', function () {
// Clear all checked checkboxes (pure JS)
document.querySelectorAll('.tag-filter-checkbox:checked').forEach(function (cb) {
cb.checked = false;
});
// Reload the list using just the base URL
load(id, baseUrl);
});
}
}
// Initialize everything when the DOM is ready
function ready(fn) {
if (document.readyState !== 'loading') fn();
else document.addEventListener('DOMContentLoaded', fn);
}
ready(function () {
listenForToggle(id);
load(id, baseUrl); // initial load (no tags)
initFilter(); // hook up the filter buttons
});
})('rd-speakers', 'https://events.rdmobile.com/Speakers/Remote/20126?display=List&details=7&actionOnClick=None&version=2&token=pi4JmhCAYx9xgu2W1n8TToXgN%2b9eQ1DLvsKD6o6KnGs%3d');
</script>
<script type="text/javascript" async>
(function (id, baseUrl) {
function load(id, url) {
var container = document.getElementById(id);
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
container.innerHTML = this.responseText;
}
};
xhttp.open("GET", url, true);
xhttp.send();
};
function toggle(el) {
if (el.style.display === 'none') {
el.classList.add('rd-hide');
el.style.display = '';
setTimeout(toggleHidden, 0, el);
}
else {
toggleHidden(el);
setTimeout(function () {
el.style.display = 'none';
}, 300);
}
};
function toggleHidden(el) {
if (el.classList.contains('rd-hide')) {
el.classList.add('rd-show');
el.classList.remove('rd-hide');
} else {
el.classList.add('rd-hide');
el.classList.remove('rd-show');
}
}
function listenForToggle(id) {
var container = document.getElementById(id);
container.addEventListener('click', function (e) {
for (var target = e.target; target && target != container; target = target.parentNode) {
if (target.matches('.rd-toggle')) {
if (target.dataset.rdTarget) {
var els = container.querySelectorAll(target.dataset.rdTarget);
Array.prototype.forEach.call(els, toggle);
}
break;
}
}
}, false);
}
// Filter the list of items
function initFilter() {
// Initialize the filter button
var filterButton = document.getElementById('rd-filter-submit');
if (filterButton) {
filterButton.addEventListener('click', function () {
// 1. Collect checked tag IDs
var checked = Array.from(
document.querySelectorAll('.tag-filter-checkbox:checked')
).map(function (cb) {
return cb.value;
});
// 2. Build URL
var url = baseUrl;
if (checked.length) {
var params = new URLSearchParams();
params.set('tags', checked.join(','));
url = baseUrl + (baseUrl.includes('?') ? '&' : '?') + params.toString();
}
// 3. Reload the list
load(id, url);
});
}
// Initialize the clear button
var clearButton = document.getElementById('rd-filter-clear');
if (clearButton) {
clearButton.addEventListener('click', function () {
// Clear all checked checkboxes (pure JS)
document.querySelectorAll('.tag-filter-checkbox:checked').forEach(function (cb) {
cb.checked = false;
});
// Reload the list using just the base URL
load(id, baseUrl);
});
}
}
// Initialize everything when the DOM is ready
function ready(fn) {
if (document.readyState !== 'loading') fn();
else document.addEventListener('DOMContentLoaded', fn);
}
ready(function () {
listenForToggle(id);
load(id, baseUrl); // initial load (no tags)
initFilter(); // hook up the filter buttons
});
})('rd-speakers', 'https://events.rdmobile.com/Speakers/Remote/20126?display=List&details=7&actionOnClick=None&version=2&token=pi4JmhCAYx9xgu2W1n8TToXgN%2b9eQ1DLvsKD6o6KnGs%3d');
</script>
