User:Polygnotus/Scripts/SortByEditcount.js: Difference between revisions

Content deleted Content added
No edit summary
No edit summary
 
(9 intermediate revisions by the same user not shown)
Line 60:
new OO.ui.LabelWidget({ label: 'Input usernames:' }),
inputField,
new OO.ui.Widget({ content: [new OO.ui.LabelWidget({ label: 'Status:' })] }),
statusMessage,
new OO.ui.Widget({ content: [new OO.ui.LabelWidget({ label: 'Progress:' })] }),
progressBar,
new OO.ui.Widget({ content: [new OO.ui.LabelWidget({ label: 'Results:' })] }),
outputField,
new OO.ui.Widget({ content: [new OO.ui.LabelWidget({ label: 'Actions:' })] }),
new OO.ui.HorizontalLayout({
items: [checkButton, clearButton, copyButton]
Line 183:
checkButton.setLabel('Checking...');
 
const resultsuserResults = [];
const errors = [];
 
Line 199:
try {
const editCount = await getUserEditCount(userInfo.username);
resultsuserResults.push(userInfo.original);{
original: userInfo.original,
username: userInfo.username,
editCount: editCount
});
console.log(`✓ ${userInfo.username}: ${editCount.toLocaleString()} edits`);
} catch (error) {
console.error(`Failed to get edit count for ${userInfo.username}:`, error);
resultsuserResults.push(userInfo.original);{
original: userInfo.original,
username: userInfo.username,
editCount: 0,
error: true
});
errors.push(userInfo.username);
}
Line 212 ⟶ 221:
}
}
 
// Sort by edit count (highest first)
userResults.sort((a, b) => b.editCount - a.editCount);
 
// Update UI with completion
Line 220 ⟶ 232:
copyButton.setDisabled(false);
 
// Display results (just usernames, but ordered by edit count)
const sortedUsernames = userResults.map(result => result.original);
outputField.setValue(resultssortedUsernames.join('\n'));
 
console.log("\n=== EDIT COUNT RESULTS (sorted by edit count) ===");
resultsuserResults.forEach(result => console.log(result));{
if (result.error) {
console.log(`${result.original}: ERROR`);
} else {
console.log(`${result.original}: ${result.editCount.toLocaleString()} edits`);
}
});
if (errors.length > 0) {
Line 407 ⟶ 426:
.editcount-dialog .oo-ui-window-body {
font-family: sans-serif;
height: 680px !important;
}
.editcount-dialog .oo-ui-window-frame {
height: 680px !important;
}
.editcount-input textarea,