App-MFILE-WWW
view release on metacpan or search on metacpan
share/js/core/qunit.js view on Meta::CPAN
}
return false;
}
function getUrlConfigHtml() {
var i,
j,
val,
escaped,
escapedTooltip,
selection = false,
urlConfig = config.urlConfig,
urlConfigHtml = "";
for (i = 0; i < urlConfig.length; i++) {
// Options can be either strings or objects with nonempty "id" properties
val = config.urlConfig[i];
if (typeof val === "string") {
val = {
id: val,
label: val
};
}
escaped = escapeText(val.id);
escapedTooltip = escapeText(val.tooltip);
if (!val.value || typeof val.value === "string") {
urlConfigHtml += "<label for='qunit-urlconfig-" + escaped + "' title='" + escapedTooltip + "'><input id='qunit-urlconfig-" + escaped + "' name='" + escaped + "' type='checkbox'" + (val.value ? " value='" + escapeText(val.value) + "'" : "") + (c...
} else {
urlConfigHtml += "<label for='qunit-urlconfig-" + escaped + "' title='" + escapedTooltip + "'>" + val.label + ": </label><select id='qunit-urlconfig-" + escaped + "' name='" + escaped + "' title='" + escapedTooltip + "'><option></option>";
if (QUnit.is("array", val.value)) {
for (j = 0; j < val.value.length; j++) {
escaped = escapeText(val.value[j]);
urlConfigHtml += "<option value='" + escaped + "'" + (config[val.id] === val.value[j] ? (selection = true) && " selected='selected'" : "") + ">" + escaped + "</option>";
}
} else {
for (j in val.value) {
if (hasOwn.call(val.value, j)) {
urlConfigHtml += "<option value='" + escapeText(j) + "'" + (config[val.id] === j ? (selection = true) && " selected='selected'" : "") + ">" + escapeText(val.value[j]) + "</option>";
}
}
}
if (config[val.id] && !selection) {
escaped = escapeText(config[val.id]);
urlConfigHtml += "<option value='" + escaped + "' selected='selected' disabled='disabled'>" + escaped + "</option>";
}
urlConfigHtml += "</select>";
}
}
return urlConfigHtml;
}
// Handle "click" events on toolbar checkboxes and "change" for select menus.
// Updates the URL with the new state of `config.urlConfig` values.
function toolbarChanged() {
var updatedUrl,
value,
tests,
field = this,
params = {};
// Detect if field is a select menu or a checkbox
if ("selectedIndex" in field) {
value = field.options[field.selectedIndex].value || undefined;
} else {
value = field.checked ? field.defaultValue || true : undefined;
}
params[field.name] = value;
updatedUrl = setUrl(params);
// Check if we can apply the change without a page refresh
if ("hidepassed" === field.name && "replaceState" in window.history) {
QUnit.urlParams[field.name] = value;
config[field.name] = value || false;
tests = id("qunit-tests");
if (tests) {
toggleClass(tests, "hidepass", value || false);
}
window.history.replaceState(null, "", updatedUrl);
} else {
window.location = updatedUrl;
}
}
function setUrl(params) {
var key,
arrValue,
i,
querystring = "?",
location = window.location;
params = QUnit.extend(QUnit.extend({}, QUnit.urlParams), params);
for (key in params) {
// Skip inherited or undefined properties
if (hasOwn.call(params, key) && params[key] !== undefined) {
// Output a parameter for each value of this key (but usually just one)
arrValue = [].concat(params[key]);
for (i = 0; i < arrValue.length; i++) {
querystring += encodeURIComponent(key);
if (arrValue[i] !== true) {
querystring += "=" + encodeURIComponent(arrValue[i]);
}
querystring += "&";
}
}
}
return location.protocol + "//" + location.host + location.pathname + querystring.slice(0, -1);
}
function applyUrlParams() {
var i,
selectedModules = [],
modulesList = id("qunit-modulefilter-dropdown-list").getElementsByTagName("input"),
filter = id("qunit-filter-input").value;
for (i = 0; i < modulesList.length; i++) {
if (modulesList[i].checked) {
selectedModules.push(modulesList[i].value);
}
}
window.location = setUrl({
filter: filter === "" ? undefined : filter,
moduleId: selectedModules.length === 0 ? undefined : selectedModules,
// Remove module and testId filter
module: undefined,
testId: undefined
});
}
function toolbarUrlConfigContainer() {
var urlConfigContainer = document$$1.createElement("span");
urlConfigContainer.innerHTML = getUrlConfigHtml();
addClass(urlConfigContainer, "qunit-url-config");
addEvents(urlConfigContainer.getElementsByTagName("input"), "change", toolbarChanged);
( run in 0.926 second using v1.01-cache-2.11-cpan-39bf76dae61 )