Unnaschied vunde Gschischde vun "Middawaida:YMS/eagleeye.js"
Inhalt gelöscht Inhalt hinzugefügt
YMS (Dischbediere | Baidräsch) better progress, status and error display, added result limit, select all/none and replacement display in scanner result, show number of results when aborting, highlight current line in rule editor, mark corrector button red if nothing changed, etc. |
YMS (Dischbediere | Baidräsch) Using Steven Levithan's [http://xregexp.com/ XRegExp] 2.0 library |
||
Zail 46:
lblNotes: { en: "Notes", de: "Anmerkungen" },
lblOptions: { en: "Options", de: "Optionen" },
lblProgress: { en: "{0}% ({1} of {2} bytes) scanned", de: "{0}% ({1} von {2} Bytes) gescannt" },
lblRemoveRule: { en: "remove", de: "löschen" },
lblRemoveRuleLong: { en: "Remove rule", de: "Regel löschen" },
Zail 88:
statStartScanning: { en: "Start scanning.", de: "Starte Scanvorgang." },
statUnsupBrowser: { en: "Error: Unsupported browser.", de: "Fehler: Browser nicht unterstützt." },
statUnsupDump: { en: "Error: Unsupported dump type.", de: "Fehler: Dump nicht unterstützt." },
statXRegExpFailed: { en: "Error: XRegExp library could not be loaded: {1}", de: "Fehler: XRegExp-Bibliothek konnte nicht geladen werden: {1}" }
};
Zeile 112 ⟶ 113:
$(document).ready(function() {
try {
$.getScript("http://tools.wmflabs.org/eagleeye/xregexp-all-min.js", function() {
$.getJSON(mw.config.get("wgServer") + mw.config.get("wgScript") + "?title=" + mw.util.wikiUrlencode(ruleset) + "&action=raw&ctype=application/json").done(function(rules) {▼
XRegExp.install("natives");
if (getOption("eeRulesetDbg", "").toString().length) {
// Debug mode - load rules from global JSON var eeRulesetDbg
init(getOption("eeRulesetDbg", ""));
} else {
// Production mode - load rules from specified JSON file
▲ $.getJSON(mw.config.get("wgServer") + mw.config.get("wgScript") + "?title=" + mw.util.wikiUrlencode(ruleset) + "&action=raw&ctype=application/json").done(function(
init(data);
}).fail(function(jqxhr, textStatus, error) {
});▼
}▼
} catch (e) {
mw.notify(getText("statXRegExpFailed").format(e));
}▼
}).fail(function(jqxhr, textStatus, error) {
mw.notify(getText("
});
} catch (e) {
▲ mw.notify(getText("statJSONfailed").format(ruleset, e));
}
});
Zeile 130 ⟶ 147:
for (i = 0; i < arguments.length; i++) {
s =
}
Zeile 195 ⟶ 212:
}
}
return (sLimit === 0 || sLimit > resultList.length);
}
Zeile 232 ⟶ 248:
function addRuleEditor(i) {
$("#eeRuleEditorTable").append($("<tr />", { id: "eeRuleEditor_" + i, "class": "eeRuleEditorTableDataLine" }));
$("#eeRuleEditor_" + i).append($("<td />", { "class": "eeRuleEditorTableCheckboxColumn" }).append($("<input />", { type: "checkbox", id: "eeRuleCB_" + i, checked: (rules[i].
$("#eeRuleEditor_" + i).append($("<td />", { "class": "eeRuleEditorTableNameColumn" }).append($("<input />", { type: "text", id: "eeRuleName_" + i, value: rules[i].name }).css("width", "100%")));
$("#eeRuleEditor_" + i).append($("<td />", { "class": "eeRuleEditorTableMatchColumn" }).append($("<input />", { type: "text", id: "eeRuleMatch_" + i, value:
$("#eeRuleEditor_" + i).append($("<td />", { "class": "eeRuleEditorTableSkipColumn" }).append($("<input />", { type: "text", id: "eeRuleSkip_" + i, value:
$("#eeRuleEditor_" + i).append($("<td />", { "class": "eeRuleEditorTableReplaceColumn" }).append($("<input />", { type: "text", id: "eeRuleReplace_" + i, value: rules[i].replace }).css("width", "100%")));
$("#eeRuleEditor_" + i).append($("<td />", { "class": "eeRuleEditorTableTestColumn" }).append($("<input />", { type: "text", id: "eeRuleTest_" + i, value: rules[i].test }).css("width", "100%")));
Zeile 267 ⟶ 283:
function applyRuleSettingsFromUI(i) {
try {
rules[i].
rules[i].name = $("#eeRuleName_" + i).val();
rules[i].match =
rules[i].skip =
rules[i].replace = $("#eeRuleReplace_" + i).val();
rules[i].test = $("#eeRuleTest_" + i).val();
Zeile 294 ⟶ 310:
// Options
useSkiplist[SCANNER] = $("#eeOptionCB_useSkiplist").
sListAll = $("#eeOptionCB_listAll").
sListReplacements = $("#eeOptionCB_listReplacements").
sChunkSize = Number($("#eeOptionCB_chunkSize").val());
Zeile 313 ⟶ 329:
namespaces[SCANNER] = [];
$("input[id^=eeNamespaceCB_]").each(function() {
if ($(this).
namespaces[SCANNER].push(Number($(this).attr("id").substring($(this).attr("id").indexOf("_") + 1)));
}
Zeile 400 ⟶ 416:
mw.notify(getText("statRulesetMissing"));
return;
▲ }
▲ }
}
Zeile 488 ⟶ 496:
$("#eeAddRule").click(function() {
// Add new (empty) rule to the rule editor
rules.push({
addRuleEditor(rules.length - 1);
});
Zeile 565 ⟶ 573:
var i;
var text = "";
var addMatches = $("#eeSaveResultPageWithMatches").
for (i = 0; i < resultList.length; i++) {
Zeile 656 ⟶ 664:
mw.notify(getText("statRuleInvalid").format(i, rules[i].name, getText("genUnknownError")));
return;
▲ }
}
}
Zeile 681 ⟶ 683:
for (i = 0; i < rules.length; i++) {
if (rules[i].
if (! changed && $("#wpTextbox1").text().
changed = true;
}
}
}
Zeile 738 ⟶ 740:
var i, j;
var pageResults = { title: object.find("title").text(), matches: [], replaces: [] };
for (i = 0; i < rules.length; i++) {
if (rules[i].
// Match rule if
var match = object.find("text").text().match(XRegExp.cache(rules[i].match, "g"));
if (match !== null) {
// Check results for skiplist match
for (j = 0; j < match.length; j++) {
if (! useSkiplist[SCANNER] || rules[i].skip === undefined || rules[i].skip
var
if (pageResults.matches[i] === undefined) {
pageResults.matches[i] = [match[j]];
pageResults.replaces[i] = [
} else {
pageResults.matches[i].push(match[j]);
pageResults.replaces[i].push(
}
Zail 777:
$("#mw-content-text").children(":not(.diff):not(.diff *)").each(function() {
if ($(this).html() !== null) {
var text = $(this).html();
for (i = 0; i < rules.length; i++) {
if (rules[i].
}
}
$(this).html(text);
}
});
Zeile 791 ⟶ 795:
$boxes.each(function() {
if (! $(this).
allActivated = false;
return false;
Zeile 797 ⟶ 801:
});
$boxes.
}
Zeile 866 ⟶ 870:
if (rules[i].test !== null && rules[i].test.length > 0) {
// Check standard test case
if (rules[i].test.match(XRegExp(rules[i].match, "g")) === null) {
setStatus(getText("statRuleFailsTest").format(i, rules[i].name), false);
return false;
Zeile 874 ⟶ 878:
} else {
// Perform dummy test to check formal validity
XRegExp.test("dummy"
}
} catch (e) {
|