CINXE.COM
User:A455bcd9/nominations viewer.js - Wikipedia
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-not-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>User:A455bcd9/nominations viewer.js - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-not-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat": "dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"b79375a5-8c73-4a18-a424-a04e70b07b5f","wgCanonicalNamespace":"User","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":2,"wgPageName":"User:A455bcd9/nominations_viewer.js","wgTitle":"A455bcd9/nominations viewer.js","wgCurRevisionId":1228672390,"wgRevisionId":1228672390,"wgArticleId":70544221,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":[],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"javascript","wgRelevantPageName":"User:A455bcd9/nominations_viewer.js","wgRelevantArticleId":70544221,"wgIsProbablyEditable":false,"wgRelevantPageIsProbablyEditable":false,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgRelevantUserName":"A455bcd9","wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{ "levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":30000,"wgRelatedArticlesCompat":[],"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready", "user":"ready","user.options":"loading","mediawiki.action.styles":"ready","ext.pygments":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.pygments.view","site","mediawiki.page.ready","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.checkUser.clientHints"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&modules=ext.pygments%2CwikimediaBadges%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cmediawiki.action.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.5"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="noindex,follow,max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="User:A455bcd9/nominations viewer.js - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/User:A455bcd9/nominations_viewer.js"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/User:A455bcd9/nominations_viewer.js"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-2 ns-subject page-User_A455bcd9_nominations_viewer_js rootpage-User_A455bcd9 skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page's font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&returnto=User%3AA455bcd9%2Fnominations+viewer.js" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&returnto=User%3AA455bcd9%2Fnominations+viewer.js" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&returnto=User%3AA455bcd9%2Fnominations+viewer.js" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&returnto=User%3AA455bcd9%2Fnominations+viewer.js" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-namespace">User</span><span class="mw-page-title-separator">:</span><span class="mw-page-title-main">A455bcd9/nominations viewer.js</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="This article exist only in this language. Add the article for other languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-0" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">Add languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> <div class="after-portlet after-portlet-lang"><span class="uls-after-portlet-link"></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-user" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/User:A455bcd9/nominations_viewer.js" title="View the user page [c]" accesskey="c"><span>User page</span></a></li><li id="ca-talk" class="new vector-tab-noicon mw-list-item"><a href="/w/index.php?title=User_talk:A455bcd9/nominations_viewer.js&action=edit&redlink=1" rel="discussion" class="new" title="Discuss improvements to the content page (page does not exist) [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/User:A455bcd9/nominations_viewer.js"><span>Read</span></a></li><li id="ca-viewsource" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=User:A455bcd9/nominations_viewer.js&action=edit" title="This page is protected. You can view its source [e]" accesskey="e"><span>View source</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=User:A455bcd9/nominations_viewer.js&action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/User:A455bcd9/nominations_viewer.js"><span>Read</span></a></li><li id="ca-more-viewsource" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=User:A455bcd9/nominations_viewer.js&action=edit"><span>View source</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=User:A455bcd9/nominations_viewer.js&action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/User:A455bcd9/nominations_viewer.js" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/User:A455bcd9/nominations_viewer.js" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-contributions" class="mw-list-item"><a href="/wiki/Special:Contributions/A455bcd9" title="A list of contributions by this user"><span>User contributions</span></a></li><li id="t-log" class="mw-list-item"><a href="/wiki/Special:Log/A455bcd9" title="A list of logged actions by this user"><span>User logs</span></a></li><li id="t-userrights" class="mw-list-item"><a href="/wiki/Special:UserRights/A455bcd9"><span>View user groups</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=User:A455bcd9/nominations_viewer.js&oldid=1228672390" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=User:A455bcd9/nominations_viewer.js&action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FUser%3AA455bcd9%2Fnominations_viewer.js"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FUser%3AA455bcd9%2Fnominations_viewer.js"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&page=User%3AA455bcd9%2Fnominations_viewer.js&action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=User:A455bcd9/nominations_viewer.js&printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects emptyPortlet" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"><div class="subpages">< <bdi dir="ltr"><a href="/wiki/User:A455bcd9" title="User:A455bcd9">User:A455bcd9</a></bdi></div></div></div> <div id="mw-content-text" class="mw-body-content"><div id="mw-clearyourcache" lang="en" dir="ltr" class="mw-content-ltr"> <div class="mw-parser-output"> <style data-mw-deduplicate="TemplateStyles:r1238441935">.mw-parser-output .fmbox{clear:both;margin:0.2em 0;width:100%;border:1px solid #a2a9b1;background-color:var(--background-color-interactive-subtle,#f8f9fa);box-sizing:border-box;color:var(--color-base,#202122)}.mw-parser-output .fmbox-warning{border:1px solid #bb7070;background-color:#ffdbdb}.mw-parser-output .fmbox-editnotice{background-color:transparent}.mw-parser-output .fmbox .mbox-text{border:none;padding:0.25em 0.9em;width:100%}.mw-parser-output .fmbox .mbox-image{border:none;padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .fmbox .mbox-imageright{border:none;padding:2px 0.9em 2px 0;text-align:center}.mw-parser-output .fmbox .mbox-invalid-type{text-align:center}@media screen{html.skin-theme-clientpref-night .mw-parser-output .fmbox-warning{background-color:#300}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .fmbox-warning{background-color:#300}}</style><table id="jswarning" class="plainlinks fmbox fmbox-warning" role="presentation"><tbody><tr><td class="mbox-text">Code that you insert on this page could contain malicious content capable of compromising your account. If you import a script from another page with "importScript", "mw.loader.load", "iusc", or "lusc", take note that this causes you to dynamically load a remote script, which could be changed by others. Editors are responsible for all edits and actions they perform, including by scripts. User scripts are not centrally supported and may malfunction or become inoperable due to software changes. <a href="https://www.mediawiki.org/wiki/Help:Locating_broken_scripts" class="extiw" title="mw:Help:Locating broken scripts">A guide</a> to help you find broken scripts is available. If you are unsure whether code you are adding to this page is safe, you can ask at the <a href="/wiki/Wikipedia:Village_pump_(technical)" title="Wikipedia:Village pump (technical)">appropriate village pump</a>.<br />This code <i>will</i> be executed when previewing this page.</td></tr></tbody></table></div><div class="mw-parser-output"><style data-mw-deduplicate="TemplateStyles:r1250344667">.mw-parser-output .script-doc-auto-box.script-doc-auto-box{background:#ecfcf4}@media screen{html.skin-theme-clientpref-night .mw-parser-output .script-doc-auto-box.script-doc-auto-box{background-color:#0b1e1c}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .script-doc-auto-box.script-doc-auto-box{background-color:#0b1e1c}}</style><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238441935"><table id="mw-script-doc" class="plainlinks fmbox fmbox-system script-doc-auto-box" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><a href="/wiki/File:Template-info.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/en/thumb/4/4c/Template-info.svg/43px-Template-info.svg.png" decoding="async" width="43" height="22" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/4/4c/Template-info.svg/65px-Template-info.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/4/4c/Template-info.svg/86px-Template-info.svg.png 2x" data-file-width="117" data-file-height="60" /></a></span></td><td class="mbox-text">Documentation for this <a href="/wiki/Wikipedia:User_scripts" title="Wikipedia:User scripts">user script</a> can be added at <a href="/w/index.php?title=User:A455bcd9/nominations_viewer&action=edit&redlink=1" class="new" title="User:A455bcd9/nominations viewer (page does not exist)">User:A455bcd9/nominations viewer</a>.</td></tr></tbody></table><span id="clearprefcache"><b>Note:</b> After saving, you have to bypass your browser's cache to see the changes. <b>Google Chrome</b>, <b>Firefox</b>, <b>Microsoft Edge</b> and <b>Safari</b>: Hold down the <style data-mw-deduplicate="TemplateStyles:r1249182868">.mw-parser-output .keyboard-key{border:1px solid #aaa;border-radius:0.2em;box-shadow:0.1em 0.1em 0.2em rgba(0,0,0,0.1);background-color:var(--background-color-neutral-subtle,#f8f9fa);background-image:linear-gradient(to bottom,var(--background-color-neutral,#eaecf0),var(--background-color-neutral-subtle,#f8f9fa),var(--background-color-neutral,#eaecf0));color:var(--color-base,#202122);padding:0.1em 0.3em;font-family:inherit;font-size:0.85em}</style><kbd class="keyboard-key nowrap">⇧ Shift</kbd> key and click the <i>Reload</i> toolbar button. For details and instructions about other browsers, see <a href="/wiki/Wikipedia:Bypass_your_cache" title="Wikipedia:Bypass your cache">Wikipedia:Bypass your cache</a>.</span></div> </div><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="mw-highlight mw-highlight-lang-javascript mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos" data-line="1"></span></a><span class="c1">// <nowiki></span> </span><span id="L-2"><a href="#L-2"><span class="linenos" data-line="2"></span></a><span class="c1">// Nominations Viewer</span> </span><span id="L-3"><a href="#L-3"><span class="linenos" data-line="3"></span></a><span class="c1">//</span> </span><span id="L-4"><a href="#L-4"><span class="linenos" data-line="4"></span></a><span class="c1">// Description: Compact nominations for [[WP:FAC]], [[WP:FAR]], [[WP:FLC]],</span> </span><span id="L-5"><a href="#L-5"><span class="linenos" data-line="5"></span></a><span class="c1">// [[WP:FLRC]], [[WP:FPC]], and [[WP:PR]].</span> </span><span id="L-6"><a href="#L-6"><span class="linenos" data-line="6"></span></a><span class="c1">// Documentation: [[Wikipedia:Nominations Viewer]]</span> </span><span id="L-7"><a href="#L-7"><span class="linenos" data-line="7"></span></a><span class="c1">//</span> </span><span id="L-8"><a href="#L-8"><span class="linenos" data-line="8"></span></a><span class="c1">// ===</span> </span><span id="L-9"><a href="#L-9"><span class="linenos" data-line="9"></span></a><span class="c1">//</span> </span><span id="L-10"><a href="#L-10"><span class="linenos" data-line="10"></span></a><span class="c1">// Settings</span> </span><span id="L-11"><a href="#L-11"><span class="linenos" data-line="11"></span></a><span class="c1">// ---</span> </span><span id="L-12"><a href="#L-12"><span class="linenos" data-line="12"></span></a><span class="c1">//</span> </span><span id="L-13"><a href="#L-13"><span class="linenos" data-line="13"></span></a><span class="c1">// Default:</span> </span><span id="L-14"><a href="#L-14"><span class="linenos" data-line="14"></span></a><span class="c1">//</span> </span><span id="L-15"><a href="#L-15"><span class="linenos" data-line="15"></span></a><span class="c1">// NominationsViewer =</span> </span><span id="L-16"><a href="#L-16"><span class="linenos" data-line="16"></span></a><span class="c1">// {</span> </span><span id="L-17"><a href="#L-17"><span class="linenos" data-line="17"></span></a><span class="c1">// 'enabledPages': ['Wikipedia:Featured article candidates', ...],</span> </span><span id="L-18"><a href="#L-18"><span class="linenos" data-line="18"></span></a><span class="c1">// 'nominationData': ['images', 'age', 'nominators', 'participants', 'votes'],</span> </span><span id="L-19"><a href="#L-19"><span class="linenos" data-line="19"></span></a><span class="c1">// }</span> </span><span id="L-20"><a href="#L-20"><span class="linenos" data-line="20"></span></a><span class="nx">$</span><span class="p">(()</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">{</span> </span><span id="L-21"><a href="#L-21"><span class="linenos" data-line="21"></span></a><span class="w"> </span><span class="c1">// Check the URL to determine if this script should be disabled.</span> </span><span id="L-22"><a href="#L-22"><span class="linenos" data-line="22"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nb">window</span><span class="p">.</span><span class="nx">location</span><span class="p">.</span><span class="nx">href</span><span class="p">.</span><span class="nx">includes</span><span class="p">(</span><span class="s1">'&disable=nomviewer'</span><span class="p">))</span><span class="w"> </span><span class="p">{</span> </span><span id="L-23"><a href="#L-23"><span class="linenos" data-line="23"></span></a><span class="w"> </span><span class="k">return</span><span class="p">;</span> </span><span id="L-24"><a href="#L-24"><span class="linenos" data-line="24"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-25"><a href="#L-25"><span class="linenos" data-line="25"></span></a><span class="w"> </span> </span><span id="L-26"><a href="#L-26"><span class="linenos" data-line="26"></span></a><span class="w"> </span><span class="c1">// Check if already ran elsewhere.</span> </span><span id="L-27"><a href="#L-27"><span class="linenos" data-line="27"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nb">window</span><span class="p">.</span><span class="nx">nominationsViewer</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-28"><a href="#L-28"><span class="linenos" data-line="28"></span></a><span class="w"> </span><span class="k">return</span><span class="p">;</span> </span><span id="L-29"><a href="#L-29"><span class="linenos" data-line="29"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-30"><a href="#L-30"><span class="linenos" data-line="30"></span></a><span class="w"> </span> </span><span id="L-31"><a href="#L-31"><span class="linenos" data-line="31"></span></a><span class="w"> </span><span class="nb">window</span><span class="p">.</span><span class="nx">nominationsViewer</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span> </span><span id="L-32"><a href="#L-32"><span class="linenos" data-line="32"></span></a><span class="w"> </span> </span><span id="L-33"><a href="#L-33"><span class="linenos" data-line="33"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">NominationsViewer</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">window</span><span class="p">.</span><span class="nx">NominationsViewer</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="p">{};</span> </span><span id="L-34"><a href="#L-34"><span class="linenos" data-line="34"></span></a><span class="w"> </span> </span><span id="L-35"><a href="#L-35"><span class="linenos" data-line="35"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="nx">NominationsViewer</span><span class="p">.</span><span class="nx">enabledPages</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-36"><a href="#L-36"><span class="linenos" data-line="36"></span></a><span class="w"> </span><span class="nx">NominationsViewer</span><span class="p">.</span><span class="nx">enabledPages</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span> </span><span id="L-37"><a href="#L-37"><span class="linenos" data-line="37"></span></a><span class="w"> </span><span class="s1">'User:Gary/sandbox'</span><span class="o">:</span><span class="w"> </span><span class="s1">'nominations'</span><span class="p">,</span> </span><span id="L-38"><a href="#L-38"><span class="linenos" data-line="38"></span></a><span class="w"> </span> </span><span id="L-39"><a href="#L-39"><span class="linenos" data-line="39"></span></a><span class="w"> </span><span class="s1">'Wikipedia:Featured article candidates'</span><span class="o">:</span><span class="w"> </span><span class="s1">'nominations'</span><span class="p">,</span> </span><span id="L-40"><a href="#L-40"><span class="linenos" data-line="40"></span></a><span class="w"> </span><span class="s1">'Wikipedia:Featured article review'</span><span class="o">:</span><span class="w"> </span><span class="s1">'reviews'</span><span class="p">,</span> </span><span id="L-41"><a href="#L-41"><span class="linenos" data-line="41"></span></a><span class="w"> </span> </span><span id="L-42"><a href="#L-42"><span class="linenos" data-line="42"></span></a><span class="w"> </span><span class="s1">'Wikipedia:Featured list candidates'</span><span class="o">:</span><span class="w"> </span><span class="s1">'nominations'</span><span class="p">,</span> </span><span id="L-43"><a href="#L-43"><span class="linenos" data-line="43"></span></a><span class="w"> </span><span class="s1">'Wikipedia:Featured list removal candidates'</span><span class="o">:</span><span class="w"> </span><span class="s1">'reviews'</span><span class="p">,</span> </span><span id="L-44"><a href="#L-44"><span class="linenos" data-line="44"></span></a><span class="w"> </span> </span><span id="L-45"><a href="#L-45"><span class="linenos" data-line="45"></span></a><span class="w"> </span><span class="s1">'Wikipedia:Featured picture candidates'</span><span class="o">:</span><span class="w"> </span><span class="s1">'pictures'</span><span class="p">,</span> </span><span id="L-46"><a href="#L-46"><span class="linenos" data-line="46"></span></a><span class="w"> </span> </span><span id="L-47"><a href="#L-47"><span class="linenos" data-line="47"></span></a><span class="w"> </span><span class="s1">'Wikipedia:Peer review'</span><span class="o">:</span><span class="w"> </span><span class="s1">'peer reviews'</span><span class="p">,</span> </span><span id="L-48"><a href="#L-48"><span class="linenos" data-line="48"></span></a><span class="w"> </span><span class="p">};</span> </span><span id="L-49"><a href="#L-49"><span class="linenos" data-line="49"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-50"><a href="#L-50"><span class="linenos" data-line="50"></span></a><span class="w"> </span> </span><span id="L-51"><a href="#L-51"><span class="linenos" data-line="51"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="nx">NominationsViewer</span><span class="p">.</span><span class="nx">nominationData</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-52"><a href="#L-52"><span class="linenos" data-line="52"></span></a><span class="w"> </span><span class="nx">NominationsViewer</span><span class="p">.</span><span class="nx">nominationData</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span> </span><span id="L-53"><a href="#L-53"><span class="linenos" data-line="53"></span></a><span class="w"> </span><span class="s1">'images'</span><span class="p">,</span> </span><span id="L-54"><a href="#L-54"><span class="linenos" data-line="54"></span></a><span class="w"> </span><span class="s1">'age'</span><span class="p">,</span> </span><span id="L-55"><a href="#L-55"><span class="linenos" data-line="55"></span></a><span class="w"> </span><span class="s1">'lastedit'</span><span class="p">,</span> </span><span id="L-56"><a href="#L-56"><span class="linenos" data-line="56"></span></a><span class="w"> </span><span class="s1">'nominators'</span><span class="p">,</span> </span><span id="L-57"><a href="#L-57"><span class="linenos" data-line="57"></span></a><span class="w"> </span><span class="s1">'participants'</span><span class="p">,</span> </span><span id="L-58"><a href="#L-58"><span class="linenos" data-line="58"></span></a><span class="w"> </span><span class="s1">'votes'</span><span class="p">,</span> </span><span id="L-59"><a href="#L-59"><span class="linenos" data-line="59"></span></a><span class="w"> </span><span class="p">];</span> </span><span id="L-60"><a href="#L-60"><span class="linenos" data-line="60"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-61"><a href="#L-61"><span class="linenos" data-line="61"></span></a><span class="w"> </span> </span><span id="L-62"><a href="#L-62"><span class="linenos" data-line="62"></span></a><span class="w"> </span><span class="cm">/**</span> </span><span id="L-63"><a href="#L-63"><span class="linenos" data-line="63"></span></a><span class="cm"> * Add empty nomination data holders for a nomination.</span> </span><span id="L-64"><a href="#L-64"><span class="linenos" data-line="64"></span></a><span class="cm"> *</span> </span><span id="L-65"><a href="#L-65"><span class="linenos" data-line="65"></span></a><span class="cm"> * @param {string} pageName Name of the nomination page.</span> </span><span id="L-66"><a href="#L-66"><span class="linenos" data-line="66"></span></a><span class="cm"> * @param {jQuery} $parentNode Parent node containing the entire nomination.</span> </span><span id="L-67"><a href="#L-67"><span class="linenos" data-line="67"></span></a><span class="cm"> * @param {Array} ids The ID names to create.</span> </span><span id="L-68"><a href="#L-68"><span class="linenos" data-line="68"></span></a><span class="cm"> * @returns {jQuery} The new node we added.</span> </span><span id="L-69"><a href="#L-69"><span class="linenos" data-line="69"></span></a><span class="cm"> */</span> </span><span id="L-70"><a href="#L-70"><span class="linenos" data-line="70"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">addNominationData</span><span class="p">(</span><span class="nx">pageName</span><span class="p">,</span><span class="w"> </span><span class="nx">$parentNode</span><span class="p">,</span><span class="w"> </span><span class="nx">ids</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-71"><a href="#L-71"><span class="linenos" data-line="71"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">ids</span><span class="p">.</span><span class="nx">map</span><span class="p">((</span><span class="nx">id</span><span class="p">)</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">{</span> </span><span id="L-72"><a href="#L-72"><span class="linenos" data-line="72"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">$span</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="sb">`<span id="</span><span class="si">${</span><span class="nx">id</span><span class="si">}</span><span class="sb">-</span><span class="si">${</span><span class="nx">simplifyPageName</span><span class="p">(</span><span class="nx">pageName</span><span class="p">)</span><span class="si">}</span><span class="sb">"></span>`</span><span class="p">);</span> </span><span id="L-73"><a href="#L-73"><span class="linenos" data-line="73"></span></a><span class="w"> </span> </span><span id="L-74"><a href="#L-74"><span class="linenos" data-line="74"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">$parentNode</span> </span><span id="L-75"><a href="#L-75"><span class="linenos" data-line="75"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">children</span><span class="p">()</span> </span><span id="L-76"><a href="#L-76"><span class="linenos" data-line="76"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">last</span><span class="p">()</span> </span><span id="L-77"><a href="#L-77"><span class="linenos" data-line="77"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">before</span><span class="p">(</span><span class="nx">$span</span><span class="p">);</span> </span><span id="L-78"><a href="#L-78"><span class="linenos" data-line="78"></span></a><span class="w"> </span><span class="p">});</span> </span><span id="L-79"><a href="#L-79"><span class="linenos" data-line="79"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-80"><a href="#L-80"><span class="linenos" data-line="80"></span></a><span class="w"> </span> </span><span id="L-81"><a href="#L-81"><span class="linenos" data-line="81"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">addAllNomInfo</span><span class="p">(</span><span class="nx">$headings</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-82"><a href="#L-82"><span class="linenos" data-line="82"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">data</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">allH3Length</span><span class="o">:</span><span class="w"> </span><span class="nx">$headings</span><span class="p">.</span><span class="nx">length</span><span class="w"> </span><span class="p">};</span> </span><span id="L-83"><a href="#L-83"><span class="linenos" data-line="83"></span></a><span class="w"> </span> </span><span id="L-84"><a href="#L-84"><span class="linenos" data-line="84"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">$expandAllLink</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$</span><span class="p">(</span> </span><span id="L-85"><a href="#L-85"><span class="linenos" data-line="85"></span></a><span class="w"> </span><span class="s1">'<a href="#" id="expand-all-link">expand all</a>'</span> </span><span id="L-86"><a href="#L-86"><span class="linenos" data-line="86"></span></a><span class="w"> </span><span class="p">).</span><span class="nx">on</span><span class="p">(</span><span class="s1">'click'</span><span class="p">,</span><span class="w"> </span><span class="nx">data</span><span class="p">,</span><span class="w"> </span><span class="nx">expandAllNoms</span><span class="p">);</span> </span><span id="L-87"><a href="#L-87"><span class="linenos" data-line="87"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">$collapseAllLink</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$</span><span class="p">(</span> </span><span id="L-88"><a href="#L-88"><span class="linenos" data-line="88"></span></a><span class="w"> </span><span class="s1">'<a href="#" id="collapse-all-link">collapse all</a>'</span> </span><span id="L-89"><a href="#L-89"><span class="linenos" data-line="89"></span></a><span class="w"> </span><span class="p">).</span><span class="nx">on</span><span class="p">(</span><span class="s1">'click'</span><span class="p">,</span><span class="w"> </span><span class="nx">data</span><span class="p">,</span><span class="w"> </span><span class="nx">collapseAllNoms</span><span class="p">);</span> </span><span id="L-90"><a href="#L-90"><span class="linenos" data-line="90"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">$info</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="s1">'<span class="overall-controls"></span>'</span><span class="p">)</span> </span><span id="L-91"><a href="#L-91"><span class="linenos" data-line="91"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="s1">' ('</span><span class="p">)</span> </span><span id="L-92"><a href="#L-92"><span class="linenos" data-line="92"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="nx">$expandAllLink</span><span class="p">)</span> </span><span id="L-93"><a href="#L-93"><span class="linenos" data-line="93"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="s1">' / '</span><span class="p">)</span> </span><span id="L-94"><a href="#L-94"><span class="linenos" data-line="94"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="nx">$collapseAllLink</span><span class="p">)</span> </span><span id="L-95"><a href="#L-95"><span class="linenos" data-line="95"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="s1">')'</span><span class="p">);</span> </span><span id="L-96"><a href="#L-96"><span class="linenos" data-line="96"></span></a><span class="w"> </span> </span><span id="L-97"><a href="#L-97"><span class="linenos" data-line="97"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">$headings</span> </span><span id="L-98"><a href="#L-98"><span class="linenos" data-line="98"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">first</span><span class="p">()</span> </span><span id="L-99"><a href="#L-99"><span class="linenos" data-line="99"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">next</span><span class="p">()</span> </span><span id="L-100"><a href="#L-100"><span class="linenos" data-line="100"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">prevUntil</span><span class="p">(</span><span class="s1">'h2'</span><span class="p">)</span> </span><span id="L-101"><a href="#L-101"><span class="linenos" data-line="101"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">last</span><span class="p">()</span> </span><span id="L-102"><a href="#L-102"><span class="linenos" data-line="102"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">prev</span><span class="p">()</span> </span><span id="L-103"><a href="#L-103"><span class="linenos" data-line="103"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="nx">$info</span><span class="p">);</span> </span><span id="L-104"><a href="#L-104"><span class="linenos" data-line="104"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-105"><a href="#L-105"><span class="linenos" data-line="105"></span></a><span class="w"> </span> </span><span id="L-106"><a href="#L-106"><span class="linenos" data-line="106"></span></a><span class="w"> </span><span class="cm">/**</span> </span><span id="L-107"><a href="#L-107"><span class="linenos" data-line="107"></span></a><span class="cm"> * Call the Wikipedia API with params then run a function on the return data.</span> </span><span id="L-108"><a href="#L-108"><span class="linenos" data-line="108"></span></a><span class="cm"> *</span> </span><span id="L-109"><a href="#L-109"><span class="linenos" data-line="109"></span></a><span class="cm"> * @param {Object} params The params to pass to the Wikipedia API.</span> </span><span id="L-110"><a href="#L-110"><span class="linenos" data-line="110"></span></a><span class="cm"> * @param {Function} callback The function to run with the return data.</span> </span><span id="L-111"><a href="#L-111"><span class="linenos" data-line="111"></span></a><span class="cm"> * @returns {undefined}</span> </span><span id="L-112"><a href="#L-112"><span class="linenos" data-line="112"></span></a><span class="cm"> */</span> </span><span id="L-113"><a href="#L-113"><span class="linenos" data-line="113"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">addNomData</span><span class="p">(</span><span class="nx">params</span><span class="p">,</span><span class="w"> </span><span class="nx">callback</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-114"><a href="#L-114"><span class="linenos" data-line="114"></span></a><span class="w"> </span><span class="nx">$</span><span class="p">.</span><span class="nx">getJSON</span><span class="p">(</span><span class="nx">mw</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">wikiScript</span><span class="p">(</span><span class="s1">'api'</span><span class="p">),</span><span class="w"> </span><span class="p">{</span> </span><span id="L-115"><a href="#L-115"><span class="linenos" data-line="115"></span></a><span class="w"> </span><span class="nx">format</span><span class="o">:</span><span class="w"> </span><span class="s1">'json'</span><span class="p">,</span> </span><span id="L-116"><a href="#L-116"><span class="linenos" data-line="116"></span></a><span class="w"> </span><span class="p">...</span><span class="nx">params</span><span class="p">,</span> </span><span id="L-117"><a href="#L-117"><span class="linenos" data-line="117"></span></a><span class="w"> </span><span class="p">})</span> </span><span id="L-118"><a href="#L-118"><span class="linenos" data-line="118"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">done</span><span class="p">(</span><span class="nx">callback</span><span class="p">)</span> </span><span id="L-119"><a href="#L-119"><span class="linenos" data-line="119"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">fail</span><span class="p">(()</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">{});</span> </span><span id="L-120"><a href="#L-120"><span class="linenos" data-line="120"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-121"><a href="#L-121"><span class="linenos" data-line="121"></span></a><span class="w"> </span> </span><span id="L-122"><a href="#L-122"><span class="linenos" data-line="122"></span></a><span class="w"> </span><span class="cm">/**</span> </span><span id="L-123"><a href="#L-123"><span class="linenos" data-line="123"></span></a><span class="cm"> * Add all data to a nomination.</span> </span><span id="L-124"><a href="#L-124"><span class="linenos" data-line="124"></span></a><span class="cm"> *</span> </span><span id="L-125"><a href="#L-125"><span class="linenos" data-line="125"></span></a><span class="cm"> * @param {string} pageName The page name.</span> </span><span id="L-126"><a href="#L-126"><span class="linenos" data-line="126"></span></a><span class="cm"> * @returns {undefined}</span> </span><span id="L-127"><a href="#L-127"><span class="linenos" data-line="127"></span></a><span class="cm"> */</span> </span><span id="L-128"><a href="#L-128"><span class="linenos" data-line="128"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">addAllNomData</span><span class="p">(</span><span class="nx">pageName</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-129"><a href="#L-129"><span class="linenos" data-line="129"></span></a><span class="w"> </span><span class="c1">// Participants, age. Get all the edits for this nomination.</span> </span><span id="L-130"><a href="#L-130"><span class="linenos" data-line="130"></span></a><span class="w"> </span><span class="nx">addNomData</span><span class="p">(</span> </span><span id="L-131"><a href="#L-131"><span class="linenos" data-line="131"></span></a><span class="w"> </span><span class="p">{</span> </span><span id="L-132"><a href="#L-132"><span class="linenos" data-line="132"></span></a><span class="w"> </span><span class="nx">action</span><span class="o">:</span><span class="w"> </span><span class="s1">'query'</span><span class="p">,</span> </span><span id="L-133"><a href="#L-133"><span class="linenos" data-line="133"></span></a><span class="w"> </span><span class="nx">prop</span><span class="o">:</span><span class="w"> </span><span class="s1">'revisions'</span><span class="p">,</span> </span><span id="L-134"><a href="#L-134"><span class="linenos" data-line="134"></span></a><span class="w"> </span><span class="nx">rvdir</span><span class="o">:</span><span class="w"> </span><span class="s1">'newer'</span><span class="p">,</span> </span><span id="L-135"><a href="#L-135"><span class="linenos" data-line="135"></span></a><span class="w"> </span><span class="nx">rvlimit</span><span class="o">:</span><span class="w"> </span><span class="mf">500</span><span class="p">,</span> </span><span id="L-136"><a href="#L-136"><span class="linenos" data-line="136"></span></a><span class="w"> </span><span class="nx">titles</span><span class="o">:</span><span class="w"> </span><span class="nx">pageName</span><span class="p">,</span> </span><span id="L-137"><a href="#L-137"><span class="linenos" data-line="137"></span></a><span class="w"> </span><span class="p">},</span> </span><span id="L-138"><a href="#L-138"><span class="linenos" data-line="138"></span></a><span class="w"> </span><span class="nx">allRevisionsCallback</span> </span><span id="L-139"><a href="#L-139"><span class="linenos" data-line="139"></span></a><span class="w"> </span><span class="p">);</span> </span><span id="L-140"><a href="#L-140"><span class="linenos" data-line="140"></span></a><span class="w"> </span> </span><span id="L-141"><a href="#L-141"><span class="linenos" data-line="141"></span></a><span class="w"> </span><span class="c1">// Images, nominators, votes. Get the contents of the latest version of this</span> </span><span id="L-142"><a href="#L-142"><span class="linenos" data-line="142"></span></a><span class="w"> </span><span class="c1">// nomination.</span> </span><span id="L-143"><a href="#L-143"><span class="linenos" data-line="143"></span></a><span class="w"> </span><span class="nx">addNomData</span><span class="p">(</span> </span><span id="L-144"><a href="#L-144"><span class="linenos" data-line="144"></span></a><span class="w"> </span><span class="p">{</span> </span><span id="L-145"><a href="#L-145"><span class="linenos" data-line="145"></span></a><span class="w"> </span><span class="nx">action</span><span class="o">:</span><span class="w"> </span><span class="s1">'query'</span><span class="p">,</span> </span><span id="L-146"><a href="#L-146"><span class="linenos" data-line="146"></span></a><span class="w"> </span><span class="nx">prop</span><span class="o">:</span><span class="w"> </span><span class="s1">'revisions'</span><span class="p">,</span> </span><span id="L-147"><a href="#L-147"><span class="linenos" data-line="147"></span></a><span class="w"> </span><span class="nx">rvdir</span><span class="o">:</span><span class="w"> </span><span class="s1">'older'</span><span class="p">,</span> </span><span id="L-148"><a href="#L-148"><span class="linenos" data-line="148"></span></a><span class="w"> </span><span class="nx">rvlimit</span><span class="o">:</span><span class="w"> </span><span class="mf">1</span><span class="p">,</span> </span><span id="L-149"><a href="#L-149"><span class="linenos" data-line="149"></span></a><span class="w"> </span><span class="nx">rvprop</span><span class="o">:</span><span class="w"> </span><span class="s1">'content'</span><span class="p">,</span> </span><span id="L-150"><a href="#L-150"><span class="linenos" data-line="150"></span></a><span class="w"> </span><span class="nx">titles</span><span class="o">:</span><span class="w"> </span><span class="nx">pageName</span><span class="p">,</span> </span><span id="L-151"><a href="#L-151"><span class="linenos" data-line="151"></span></a><span class="w"> </span><span class="p">},</span> </span><span id="L-152"><a href="#L-152"><span class="linenos" data-line="152"></span></a><span class="w"> </span><span class="nx">currentRevisionCallback</span> </span><span id="L-153"><a href="#L-153"><span class="linenos" data-line="153"></span></a><span class="w"> </span><span class="p">);</span> </span><span id="L-154"><a href="#L-154"><span class="linenos" data-line="154"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-155"><a href="#L-155"><span class="linenos" data-line="155"></span></a><span class="w"> </span> </span><span id="L-156"><a href="#L-156"><span class="linenos" data-line="156"></span></a><span class="w"> </span><span class="cm">/**</span> </span><span id="L-157"><a href="#L-157"><span class="linenos" data-line="157"></span></a><span class="cm"> * Add data to a nomination.</span> </span><span id="L-158"><a href="#L-158"><span class="linenos" data-line="158"></span></a><span class="cm"> *</span> </span><span id="L-159"><a href="#L-159"><span class="linenos" data-line="159"></span></a><span class="cm"> * @param {Object} options Options</span> </span><span id="L-160"><a href="#L-160"><span class="linenos" data-line="160"></span></a><span class="cm"> * @param {string} options.pageName The page name to which to add this data.</span> </span><span id="L-161"><a href="#L-161"><span class="linenos" data-line="161"></span></a><span class="cm"> * @param {string} options.data The data to add.</span> </span><span id="L-162"><a href="#L-162"><span class="linenos" data-line="162"></span></a><span class="cm"> * @param {string} options.id The ID of the field to add to.</span> </span><span id="L-163"><a href="#L-163"><span class="linenos" data-line="163"></span></a><span class="cm"> * @param {string} options.hoverText Data that appears on hover.</span> </span><span id="L-164"><a href="#L-164"><span class="linenos" data-line="164"></span></a><span class="cm"> * @returns {undefined}</span> </span><span id="L-165"><a href="#L-165"><span class="linenos" data-line="165"></span></a><span class="cm"> */</span> </span><span id="L-166"><a href="#L-166"><span class="linenos" data-line="166"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">addNewNomData</span><span class="p">({</span><span class="w"> </span><span class="nx">pageName</span><span class="p">,</span><span class="w"> </span><span class="nx">data</span><span class="p">,</span><span class="w"> </span><span class="nx">id</span><span class="p">,</span><span class="w"> </span><span class="nx">hoverText</span><span class="w"> </span><span class="p">})</span><span class="w"> </span><span class="p">{</span> </span><span id="L-167"><a href="#L-167"><span class="linenos" data-line="167"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="nx">data</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-168"><a href="#L-168"><span class="linenos" data-line="168"></span></a><span class="w"> </span><span class="k">return</span><span class="p">;</span> </span><span id="L-169"><a href="#L-169"><span class="linenos" data-line="169"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-170"><a href="#L-170"><span class="linenos" data-line="170"></span></a><span class="w"> </span> </span><span id="L-171"><a href="#L-171"><span class="linenos" data-line="171"></span></a><span class="w"> </span><span class="c1">// Select the element we want to add values to.</span> </span><span id="L-172"><a href="#L-172"><span class="linenos" data-line="172"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">$id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="sb">`#</span><span class="si">${</span><span class="nx">id</span><span class="si">}</span><span class="sb">-</span><span class="si">${</span><span class="nx">simplifyPageName</span><span class="p">(</span><span class="nx">pageName</span><span class="p">)</span><span class="si">}</span><span class="sb">`</span><span class="p">);</span> </span><span id="L-173"><a href="#L-173"><span class="linenos" data-line="173"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">$newChild</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="s1">'<span class="nomv-data"></span>'</span><span class="p">);</span> </span><span id="L-174"><a href="#L-174"><span class="linenos" data-line="174"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">$abbr</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="sb">`<abbr title="</span><span class="si">${</span><span class="nx">hoverText</span><span class="si">}</span><span class="sb">"></span><span class="si">${</span><span class="nx">data</span><span class="si">}</span><span class="sb"></abbr>`</span><span class="p">);</span> </span><span id="L-175"><a href="#L-175"><span class="linenos" data-line="175"></span></a><span class="w"> </span> </span><span id="L-176"><a href="#L-176"><span class="linenos" data-line="176"></span></a><span class="w"> </span><span class="nx">$newChild</span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="nx">$abbr</span><span class="p">);</span> </span><span id="L-177"><a href="#L-177"><span class="linenos" data-line="177"></span></a><span class="w"> </span><span class="nx">$id</span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="nx">$newChild</span><span class="p">);</span> </span><span id="L-178"><a href="#L-178"><span class="linenos" data-line="178"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-179"><a href="#L-179"><span class="linenos" data-line="179"></span></a><span class="w"> </span> </span><span id="L-180"><a href="#L-180"><span class="linenos" data-line="180"></span></a><span class="w"> </span><span class="cm">/**</span> </span><span id="L-181"><a href="#L-181"><span class="linenos" data-line="181"></span></a><span class="cm"> * Create the data that appears next to the nomination's listing.</span> </span><span id="L-182"><a href="#L-182"><span class="linenos" data-line="182"></span></a><span class="cm"> *</span> </span><span id="L-183"><a href="#L-183"><span class="linenos" data-line="183"></span></a><span class="cm"> * @param {string} pageName Page name of the nomination page.</span> </span><span id="L-184"><a href="#L-184"><span class="linenos" data-line="184"></span></a><span class="cm"> * @returns {jQuery} The new node we added.</span> </span><span id="L-185"><a href="#L-185"><span class="linenos" data-line="185"></span></a><span class="cm"> */</span> </span><span id="L-186"><a href="#L-186"><span class="linenos" data-line="186"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">createData</span><span class="p">(</span><span class="nx">pageName</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-187"><a href="#L-187"><span class="linenos" data-line="187"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">$newSpan</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="s1">'<span class="nomination-data"></span>'</span><span class="p">).</span><span class="nx">append</span><span class="p">(</span> </span><span id="L-188"><a href="#L-188"><span class="linenos" data-line="188"></span></a><span class="w"> </span><span class="s1">'<span>(<span>'</span> </span><span id="L-189"><a href="#L-189"><span class="linenos" data-line="189"></span></a><span class="w"> </span><span class="p">);</span> </span><span id="L-190"><a href="#L-190"><span class="linenos" data-line="190"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">matchArchiveNumber</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">pageName</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/(\d+)$/</span><span class="p">);</span> </span><span id="L-191"><a href="#L-191"><span class="linenos" data-line="191"></span></a><span class="w"> </span> </span><span id="L-192"><a href="#L-192"><span class="linenos" data-line="192"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">conditions</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">matchArchiveNumber</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="nx">matchArchiveNumber</span><span class="p">[</span><span class="mf">1</span><span class="p">]</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="mf">1</span><span class="p">;</span> </span><span id="L-193"><a href="#L-193"><span class="linenos" data-line="193"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">matchArchiveNumberPrint</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(()</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">{</span> </span><span id="L-194"><a href="#L-194"><span class="linenos" data-line="194"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">conditions</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-195"><a href="#L-195"><span class="linenos" data-line="195"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">number</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">parseInt</span><span class="p">(</span><span class="nx">matchArchiveNumber</span><span class="p">[</span><span class="mf">1</span><span class="p">],</span><span class="w"> </span><span class="mf">10</span><span class="p">);</span> </span><span id="L-196"><a href="#L-196"><span class="linenos" data-line="196"></span></a><span class="w"> </span> </span><span id="L-197"><a href="#L-197"><span class="linenos" data-line="197"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">ordinalSuffix</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(()</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">{</span> </span><span id="L-198"><a href="#L-198"><span class="linenos" data-line="198"></span></a><span class="w"> </span><span class="k">switch</span><span class="w"> </span><span class="p">(</span><span class="nx">number</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-199"><a href="#L-199"><span class="linenos" data-line="199"></span></a><span class="w"> </span><span class="k">case</span><span class="w"> </span><span class="mf">2</span><span class="o">:</span> </span><span id="L-200"><a href="#L-200"><span class="linenos" data-line="200"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="s1">'nd'</span><span class="p">;</span> </span><span id="L-201"><a href="#L-201"><span class="linenos" data-line="201"></span></a><span class="w"> </span><span class="k">case</span><span class="w"> </span><span class="mf">3</span><span class="o">:</span> </span><span id="L-202"><a href="#L-202"><span class="linenos" data-line="202"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="s1">'rd'</span><span class="p">;</span> </span><span id="L-203"><a href="#L-203"><span class="linenos" data-line="203"></span></a><span class="w"> </span><span class="k">default</span><span class="o">:</span> </span><span id="L-204"><a href="#L-204"><span class="linenos" data-line="204"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="s1">'th'</span><span class="p">;</span> </span><span id="L-205"><a href="#L-205"><span class="linenos" data-line="205"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-206"><a href="#L-206"><span class="linenos" data-line="206"></span></a><span class="w"> </span><span class="p">})();</span> </span><span id="L-207"><a href="#L-207"><span class="linenos" data-line="207"></span></a><span class="w"> </span> </span><span id="L-208"><a href="#L-208"><span class="linenos" data-line="208"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="sb">`: </span><span class="si">${</span><span class="nx">number</span><span class="si">}${</span><span class="nx">ordinalSuffix</span><span class="si">}</span><span class="sb">`</span><span class="p">;</span> </span><span id="L-209"><a href="#L-209"><span class="linenos" data-line="209"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-210"><a href="#L-210"><span class="linenos" data-line="210"></span></a><span class="w"> </span> </span><span id="L-211"><a href="#L-211"><span class="linenos" data-line="211"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="s1">''</span><span class="p">;</span> </span><span id="L-212"><a href="#L-212"><span class="linenos" data-line="212"></span></a><span class="w"> </span><span class="p">})();</span> </span><span id="L-213"><a href="#L-213"><span class="linenos" data-line="213"></span></a><span class="w"> </span> </span><span id="L-214"><a href="#L-214"><span class="linenos" data-line="214"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">$viewLink</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$</span><span class="p">(</span> </span><span id="L-215"><a href="#L-215"><span class="linenos" data-line="215"></span></a><span class="w"> </span><span class="sb">`<span><a href="</span><span class="si">${</span><span class="nx">mw</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">getUrl</span><span class="p">(</span><span class="nx">pageName</span><span class="p">)</span><span class="si">}</span><span class="sb">">nomination</a>\</span> </span><span id="L-216"><a href="#L-216"><span class="linenos" data-line="216"></span></a><span class="sb"> </span><span class="si">${</span><span class="nx">matchArchiveNumberPrint</span><span class="si">}</span><span class="sb"></span>`</span> </span><span id="L-217"><a href="#L-217"><span class="linenos" data-line="217"></span></a><span class="w"> </span><span class="p">);</span> </span><span id="L-218"><a href="#L-218"><span class="linenos" data-line="218"></span></a><span class="w"> </span> </span><span id="L-219"><a href="#L-219"><span class="linenos" data-line="219"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">$newSpan</span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="nx">$viewLink</span><span class="p">).</span><span class="nx">append</span><span class="p">(</span><span class="s1">'<span>)<span>'</span><span class="p">);</span> </span><span id="L-220"><a href="#L-220"><span class="linenos" data-line="220"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-221"><a href="#L-221"><span class="linenos" data-line="221"></span></a><span class="w"> </span> </span><span id="L-222"><a href="#L-222"><span class="linenos" data-line="222"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">createNewNode</span><span class="p">({</span><span class="w"> </span><span class="nx">oldNode</span><span class="p">,</span><span class="w"> </span><span class="nx">showHideLink</span><span class="p">,</span><span class="w"> </span><span class="nx">newSpan</span><span class="p">,</span><span class="w"> </span><span class="nx">index</span><span class="w"> </span><span class="p">})</span><span class="w"> </span><span class="p">{</span> </span><span id="L-223"><a href="#L-223"><span class="linenos" data-line="223"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">$newNode</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="sb">`<div id="nom-title-</span><span class="si">${</span><span class="nx">index</span><span class="si">}</span><span class="sb">"></div>`</span><span class="p">).</span><span class="nx">append</span><span class="p">(</span> </span><span id="L-224"><a href="#L-224"><span class="linenos" data-line="224"></span></a><span class="w"> </span><span class="nx">oldNode</span><span class="p">.</span><span class="nx">clone</span><span class="p">(</span><span class="kc">true</span><span class="p">)</span> </span><span id="L-225"><a href="#L-225"><span class="linenos" data-line="225"></span></a><span class="w"> </span><span class="p">);</span> </span><span id="L-226"><a href="#L-226"><span class="linenos" data-line="226"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">$heading</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$newNode</span><span class="p">.</span><span class="nx">children</span><span class="p">().</span><span class="nx">first</span><span class="p">();</span> </span><span id="L-227"><a href="#L-227"><span class="linenos" data-line="227"></span></a><span class="w"> </span> </span><span id="L-228"><a href="#L-228"><span class="linenos" data-line="228"></span></a><span class="w"> </span><span class="nx">$heading</span> </span><span id="L-229"><a href="#L-229"><span class="linenos" data-line="229"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">prepend</span><span class="p">(</span><span class="sb">`<span class="nomination-order"></span><span class="si">${</span><span class="nx">index</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mf">1</span><span class="si">}</span><span class="sb">.</span> `</span><span class="p">)</span> </span><span id="L-230"><a href="#L-230"><span class="linenos" data-line="230"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="s1">' '</span><span class="p">)</span> </span><span id="L-231"><a href="#L-231"><span class="linenos" data-line="231"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="nx">showHideLink</span><span class="p">)</span> </span><span id="L-232"><a href="#L-232"><span class="linenos" data-line="232"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="nx">newSpan</span><span class="p">);</span> </span><span id="L-233"><a href="#L-233"><span class="linenos" data-line="233"></span></a><span class="w"> </span> </span><span id="L-234"><a href="#L-234"><span class="linenos" data-line="234"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">$newNode</span><span class="p">;</span> </span><span id="L-235"><a href="#L-235"><span class="linenos" data-line="235"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-236"><a href="#L-236"><span class="linenos" data-line="236"></span></a><span class="w"> </span> </span><span id="L-237"><a href="#L-237"><span class="linenos" data-line="237"></span></a><span class="w"> </span><span class="cm">/**</span> </span><span id="L-238"><a href="#L-238"><span class="linenos" data-line="238"></span></a><span class="cm"> * Replace a nomination with a new and improved one.</span> </span><span id="L-239"><a href="#L-239"><span class="linenos" data-line="239"></span></a><span class="cm"> *</span> </span><span id="L-240"><a href="#L-240"><span class="linenos" data-line="240"></span></a><span class="cm"> * @param {Object} options Options</span> </span><span id="L-241"><a href="#L-241"><span class="linenos" data-line="241"></span></a><span class="cm"> * @param {jQuery} options.$h3 The h3 heading of the nomination.</span> </span><span id="L-242"><a href="#L-242"><span class="linenos" data-line="242"></span></a><span class="cm"> * @param {number} options.index The index of the nomination among the</span> </span><span id="L-243"><a href="#L-243"><span class="linenos" data-line="243"></span></a><span class="cm"> * others.</span> </span><span id="L-244"><a href="#L-244"><span class="linenos" data-line="244"></span></a><span class="cm"> * @returns {undefined}</span> </span><span id="L-245"><a href="#L-245"><span class="linenos" data-line="245"></span></a><span class="cm"> */</span> </span><span id="L-246"><a href="#L-246"><span class="linenos" data-line="246"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">createNomination</span><span class="p">({</span><span class="w"> </span><span class="nx">$h3</span><span class="p">,</span><span class="w"> </span><span class="nx">index</span><span class="w"> </span><span class="p">})</span><span class="w"> </span><span class="p">{</span> </span><span id="L-247"><a href="#L-247"><span class="linenos" data-line="247"></span></a><span class="w"> </span><span class="c1">// Get edit links. It has to be an edit link, and not an article link,</span> </span><span id="L-248"><a href="#L-248"><span class="linenos" data-line="248"></span></a><span class="w"> </span><span class="c1">// because it has to point to the nomination page, not the article.</span> </span><span id="L-249"><a href="#L-249"><span class="linenos" data-line="249"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">$editLinks</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$h3</span><span class="p">.</span><span class="nx">find</span><span class="p">(</span><span class="s1">'.mw-editsection a'</span><span class="p">);</span> </span><span id="L-250"><a href="#L-250"><span class="linenos" data-line="250"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">useParentDiv</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$editLinks</span><span class="p">.</span><span class="nx">length</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="mf">0</span><span class="p">;</span> </span><span id="L-251"><a href="#L-251"><span class="linenos" data-line="251"></span></a><span class="w"> </span> </span><span id="L-252"><a href="#L-252"><span class="linenos" data-line="252"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">parentDiv</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$h3</span><span class="p">.</span><span class="nx">parent</span><span class="p">();</span> </span><span id="L-253"><a href="#L-253"><span class="linenos" data-line="253"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">$editLinks2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">parentDiv</span><span class="p">.</span><span class="nx">find</span><span class="p">(</span><span class="s1">'.mw-editsection a'</span><span class="p">);</span> </span><span id="L-254"><a href="#L-254"><span class="linenos" data-line="254"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">$editLinksOption</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">useParentDiv</span><span class="w"> </span><span class="o">?</span><span class="w"> </span><span class="nx">$editLinks2</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="nx">$editLinks</span><span class="p">;</span> </span><span id="L-255"><a href="#L-255"><span class="linenos" data-line="255"></span></a><span class="w"> </span> </span><span id="L-256"><a href="#L-256"><span class="linenos" data-line="256"></span></a><span class="w"> </span><span class="c1">// There are no edit links.</span> </span><span id="L-257"><a href="#L-257"><span class="linenos" data-line="257"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">$editLinksOption</span><span class="p">.</span><span class="nx">length</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="mf">0</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-258"><a href="#L-258"><span class="linenos" data-line="258"></span></a><span class="w"> </span><span class="k">return</span><span class="p">;</span> </span><span id="L-259"><a href="#L-259"><span class="linenos" data-line="259"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-260"><a href="#L-260"><span class="linenos" data-line="260"></span></a><span class="w"> </span> </span><span id="L-261"><a href="#L-261"><span class="linenos" data-line="261"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">titleRegex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="sr">/[&?]title=(.*?)(?:&|$)/</span><span class="p">;</span> </span><span id="L-262"><a href="#L-262"><span class="linenos" data-line="262"></span></a><span class="w"> </span> </span><span id="L-263"><a href="#L-263"><span class="linenos" data-line="263"></span></a><span class="w"> </span><span class="c1">// Find the edit link that matches our regex.</span> </span><span id="L-264"><a href="#L-264"><span class="linenos" data-line="264"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">$filteredEditLinks</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$editLinksOption</span><span class="p">.</span><span class="nx">filter</span><span class="p">((</span><span class="nx">elementIndex</span><span class="p">,</span><span class="w"> </span><span class="nx">element</span><span class="p">)</span><span class="w"> </span><span class="p">=></span> </span><span id="L-265"><a href="#L-265"><span class="linenos" data-line="265"></span></a><span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="nx">element</span><span class="p">)</span> </span><span id="L-266"><a href="#L-266"><span class="linenos" data-line="266"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">'href'</span><span class="p">)</span> </span><span id="L-267"><a href="#L-267"><span class="linenos" data-line="267"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="nx">titleRegex</span><span class="p">)</span> </span><span id="L-268"><a href="#L-268"><span class="linenos" data-line="268"></span></a><span class="w"> </span><span class="p">);</span> </span><span id="L-269"><a href="#L-269"><span class="linenos" data-line="269"></span></a><span class="w"> </span> </span><span id="L-270"><a href="#L-270"><span class="linenos" data-line="270"></span></a><span class="w"> </span><span class="c1">// Only continue if there are filtered edit links. They won't appear when a</span> </span><span id="L-271"><a href="#L-271"><span class="linenos" data-line="271"></span></a><span class="w"> </span><span class="c1">// Peer Review is "too long" and therefore is replaced with a message to go</span> </span><span id="L-272"><a href="#L-272"><span class="linenos" data-line="272"></span></a><span class="w"> </span><span class="c1">// to the review page directly. So, skip this nomination.</span> </span><span id="L-273"><a href="#L-273"><span class="linenos" data-line="273"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span> </span><span id="L-274"><a href="#L-274"><span class="linenos" data-line="274"></span></a><span class="w"> </span><span class="nx">$filteredEditLinks</span><span class="p">.</span><span class="nx">length</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="mf">0</span><span class="w"> </span><span class="o">||</span> </span><span id="L-275"><a href="#L-275"><span class="linenos" data-line="275"></span></a><span class="w"> </span><span class="o">!</span><span class="nx">$filteredEditLinks</span><span class="p">.</span><span class="nx">eq</span><span class="p">(</span><span class="mf">0</span><span class="p">).</span><span class="nx">attr</span><span class="p">(</span><span class="s1">'href'</span><span class="p">)</span><span class="w"> </span><span class="o">||</span> </span><span id="L-276"><a href="#L-276"><span class="linenos" data-line="276"></span></a><span class="w"> </span><span class="o">!</span><span class="nx">$filteredEditLinks</span> </span><span id="L-277"><a href="#L-277"><span class="linenos" data-line="277"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">eq</span><span class="p">(</span><span class="mf">0</span><span class="p">)</span> </span><span id="L-278"><a href="#L-278"><span class="linenos" data-line="278"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">'href'</span><span class="p">)</span> </span><span id="L-279"><a href="#L-279"><span class="linenos" data-line="279"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="nx">titleRegex</span><span class="p">)</span> </span><span id="L-280"><a href="#L-280"><span class="linenos" data-line="280"></span></a><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-281"><a href="#L-281"><span class="linenos" data-line="281"></span></a><span class="w"> </span><span class="k">return</span><span class="p">;</span> </span><span id="L-282"><a href="#L-282"><span class="linenos" data-line="282"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-283"><a href="#L-283"><span class="linenos" data-line="283"></span></a><span class="w"> </span> </span><span id="L-284"><a href="#L-284"><span class="linenos" data-line="284"></span></a><span class="w"> </span><span class="c1">// Get the name of the nomination page.</span> </span><span id="L-285"><a href="#L-285"><span class="linenos" data-line="285"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">pageName</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">decodeURIComponent</span><span class="p">(</span> </span><span id="L-286"><a href="#L-286"><span class="linenos" data-line="286"></span></a><span class="w"> </span><span class="nx">$filteredEditLinks</span> </span><span id="L-287"><a href="#L-287"><span class="linenos" data-line="287"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">eq</span><span class="p">(</span><span class="mf">0</span><span class="p">)</span> </span><span id="L-288"><a href="#L-288"><span class="linenos" data-line="288"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">'href'</span><span class="p">)</span> </span><span id="L-289"><a href="#L-289"><span class="linenos" data-line="289"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="nx">titleRegex</span><span class="p">)[</span><span class="mf">1</span><span class="p">]</span> </span><span id="L-290"><a href="#L-290"><span class="linenos" data-line="290"></span></a><span class="w"> </span><span class="p">);</span> </span><span id="L-291"><a href="#L-291"><span class="linenos" data-line="291"></span></a><span class="w"> </span> </span><span id="L-292"><a href="#L-292"><span class="linenos" data-line="292"></span></a><span class="w"> </span><span class="c1">// Create the [show] / [hide] link.</span> </span><span id="L-293"><a href="#L-293"><span class="linenos" data-line="293"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">showHideLink</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">createShowHideLink</span><span class="p">(</span><span class="nx">index</span><span class="p">);</span> </span><span id="L-294"><a href="#L-294"><span class="linenos" data-line="294"></span></a><span class="w"> </span> </span><span id="L-295"><a href="#L-295"><span class="linenos" data-line="295"></span></a><span class="w"> </span><span class="c1">// Create the spot to put the data that we will retrieve via the Wikipedia</span> </span><span id="L-296"><a href="#L-296"><span class="linenos" data-line="296"></span></a><span class="w"> </span><span class="c1">// API.</span> </span><span id="L-297"><a href="#L-297"><span class="linenos" data-line="297"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">newSpan</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">createData</span><span class="p">(</span><span class="nx">pageName</span><span class="p">);</span> </span><span id="L-298"><a href="#L-298"><span class="linenos" data-line="298"></span></a><span class="w"> </span> </span><span id="L-299"><a href="#L-299"><span class="linenos" data-line="299"></span></a><span class="w"> </span><span class="c1">// Move the nomination into a hidden node.</span> </span><span id="L-300"><a href="#L-300"><span class="linenos" data-line="300"></span></a><span class="w"> </span><span class="nx">hideNomination</span><span class="p">(</span><span class="nx">$h3</span><span class="p">,</span><span class="w"> </span><span class="nx">index</span><span class="p">);</span> </span><span id="L-301"><a href="#L-301"><span class="linenos" data-line="301"></span></a><span class="w"> </span> </span><span id="L-302"><a href="#L-302"><span class="linenos" data-line="302"></span></a><span class="w"> </span><span class="c1">// Add placeholders for the data that we will retrieve for the API.</span> </span><span id="L-303"><a href="#L-303"><span class="linenos" data-line="303"></span></a><span class="w"> </span><span class="nx">addNominationData</span><span class="p">(</span><span class="nx">pageName</span><span class="p">,</span><span class="w"> </span><span class="nx">newSpan</span><span class="p">,</span><span class="w"> </span><span class="nx">NominationsViewer</span><span class="p">.</span><span class="nx">nominationData</span><span class="p">);</span> </span><span id="L-304"><a href="#L-304"><span class="linenos" data-line="304"></span></a><span class="w"> </span> </span><span id="L-305"><a href="#L-305"><span class="linenos" data-line="305"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">nodeToReplace</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">useParentDiv</span><span class="w"> </span><span class="o">?</span><span class="w"> </span><span class="nx">parentDiv</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="nx">$h3</span><span class="p">;</span> </span><span id="L-306"><a href="#L-306"><span class="linenos" data-line="306"></span></a><span class="w"> </span> </span><span id="L-307"><a href="#L-307"><span class="linenos" data-line="307"></span></a><span class="w"> </span><span class="c1">// Create the nomination's title line.</span> </span><span id="L-308"><a href="#L-308"><span class="linenos" data-line="308"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">newNode</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">createNewNode</span><span class="p">({</span> </span><span id="L-309"><a href="#L-309"><span class="linenos" data-line="309"></span></a><span class="w"> </span><span class="nx">oldNode</span><span class="o">:</span><span class="w"> </span><span class="nx">nodeToReplace</span><span class="p">,</span> </span><span id="L-310"><a href="#L-310"><span class="linenos" data-line="310"></span></a><span class="w"> </span><span class="nx">showHideLink</span><span class="p">,</span> </span><span id="L-311"><a href="#L-311"><span class="linenos" data-line="311"></span></a><span class="w"> </span><span class="nx">newSpan</span><span class="p">,</span> </span><span id="L-312"><a href="#L-312"><span class="linenos" data-line="312"></span></a><span class="w"> </span><span class="nx">index</span><span class="p">,</span> </span><span id="L-313"><a href="#L-313"><span class="linenos" data-line="313"></span></a><span class="w"> </span><span class="p">});</span> </span><span id="L-314"><a href="#L-314"><span class="linenos" data-line="314"></span></a><span class="w"> </span> </span><span id="L-315"><a href="#L-315"><span class="linenos" data-line="315"></span></a><span class="w"> </span><span class="c1">// Create the actual nomination</span> </span><span id="L-316"><a href="#L-316"><span class="linenos" data-line="316"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">nomDiv</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">generateNomination</span><span class="p">(</span><span class="nx">index</span><span class="p">,</span><span class="w"> </span><span class="nx">newNode</span><span class="p">,</span><span class="w"> </span><span class="nx">nodeToReplace</span><span class="p">);</span> </span><span id="L-317"><a href="#L-317"><span class="linenos" data-line="317"></span></a><span class="w"> </span> </span><span id="L-318"><a href="#L-318"><span class="linenos" data-line="318"></span></a><span class="w"> </span><span class="c1">// Replace this nomination with the new one we created.</span> </span><span id="L-319"><a href="#L-319"><span class="linenos" data-line="319"></span></a><span class="w"> </span><span class="nx">nodeToReplace</span><span class="p">.</span><span class="nx">replaceWith</span><span class="p">(</span><span class="nx">nomDiv</span><span class="p">);</span> </span><span id="L-320"><a href="#L-320"><span class="linenos" data-line="320"></span></a><span class="w"> </span> </span><span id="L-321"><a href="#L-321"><span class="linenos" data-line="321"></span></a><span class="w"> </span><span class="c1">// Ask the API to add data to our placeholders.</span> </span><span id="L-322"><a href="#L-322"><span class="linenos" data-line="322"></span></a><span class="w"> </span><span class="nx">addAllNomData</span><span class="p">(</span><span class="nx">pageName</span><span class="p">);</span> </span><span id="L-323"><a href="#L-323"><span class="linenos" data-line="323"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-324"><a href="#L-324"><span class="linenos" data-line="324"></span></a><span class="w"> </span> </span><span id="L-325"><a href="#L-325"><span class="linenos" data-line="325"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">createShowHideLink</span><span class="p">(</span><span class="nx">index</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-326"><a href="#L-326"><span class="linenos" data-line="326"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">span</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="s1">'<span class="nomv-show-hide"></span>'</span><span class="p">);</span> </span><span id="L-327"><a href="#L-327"><span class="linenos" data-line="327"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">link</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="sb">`<a href="#" id="nom-button-</span><span class="si">${</span><span class="nx">index</span><span class="si">}</span><span class="sb">">show</a>`</span><span class="p">).</span><span class="nx">on</span><span class="p">(</span> </span><span id="L-328"><a href="#L-328"><span class="linenos" data-line="328"></span></a><span class="w"> </span><span class="s1">'click'</span><span class="p">,</span> </span><span id="L-329"><a href="#L-329"><span class="linenos" data-line="329"></span></a><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">index</span><span class="w"> </span><span class="p">},</span> </span><span id="L-330"><a href="#L-330"><span class="linenos" data-line="330"></span></a><span class="w"> </span><span class="nx">toggleNomClick</span> </span><span id="L-331"><a href="#L-331"><span class="linenos" data-line="331"></span></a><span class="w"> </span><span class="p">);</span> </span><span id="L-332"><a href="#L-332"><span class="linenos" data-line="332"></span></a><span class="w"> </span> </span><span id="L-333"><a href="#L-333"><span class="linenos" data-line="333"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">span</span> </span><span id="L-334"><a href="#L-334"><span class="linenos" data-line="334"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="s1">'['</span><span class="p">)</span> </span><span id="L-335"><a href="#L-335"><span class="linenos" data-line="335"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="nx">link</span><span class="p">)</span> </span><span id="L-336"><a href="#L-336"><span class="linenos" data-line="336"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="s1">']'</span><span class="p">);</span> </span><span id="L-337"><a href="#L-337"><span class="linenos" data-line="337"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-338"><a href="#L-338"><span class="linenos" data-line="338"></span></a><span class="w"> </span> </span><span id="L-339"><a href="#L-339"><span class="linenos" data-line="339"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">generateNomination</span><span class="p">(</span><span class="nx">index</span><span class="p">,</span><span class="w"> </span><span class="nx">newNode</span><span class="p">,</span><span class="w"> </span><span class="nx">oldNode</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-340"><a href="#L-340"><span class="linenos" data-line="340"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="sb">`<div class="nomination" id="nom-</span><span class="si">${</span><span class="nx">index</span><span class="si">}</span><span class="sb">"></div>`</span><span class="p">)</span> </span><span id="L-341"><a href="#L-341"><span class="linenos" data-line="341"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="nx">newNode</span><span class="p">.</span><span class="nx">clone</span><span class="p">(</span><span class="kc">true</span><span class="p">))</span> </span><span id="L-342"><a href="#L-342"><span class="linenos" data-line="342"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="nx">$</span><span class="p">(</span><span class="nx">oldNode</span><span class="p">[</span><span class="mf">0</span><span class="p">].</span><span class="nx">nextSibling</span><span class="p">).</span><span class="nx">clone</span><span class="p">(</span><span class="kc">true</span><span class="p">));</span> </span><span id="L-343"><a href="#L-343"><span class="linenos" data-line="343"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-344"><a href="#L-344"><span class="linenos" data-line="344"></span></a><span class="w"> </span> </span><span id="L-345"><a href="#L-345"><span class="linenos" data-line="345"></span></a><span class="w"> </span><span class="c1">// This function MUST stay in JavaScript, rather than switch to jQuery, for</span> </span><span id="L-346"><a href="#L-346"><span class="linenos" data-line="346"></span></a><span class="w"> </span><span class="c1">// optmization reasons.</span> </span><span id="L-347"><a href="#L-347"><span class="linenos" data-line="347"></span></a><span class="w"> </span><span class="c1">//</span> </span><span id="L-348"><a href="#L-348"><span class="linenos" data-line="348"></span></a><span class="w"> </span><span class="c1">// The jQuery version slowed the page down by about 28%. This version slows</span> </span><span id="L-349"><a href="#L-349"><span class="linenos" data-line="349"></span></a><span class="w"> </span><span class="c1">// the page down by about 11%, so it is about 17% faster.</span> </span><span id="L-350"><a href="#L-350"><span class="linenos" data-line="350"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">hideNomination</span><span class="p">(</span><span class="nx">$h3</span><span class="p">,</span><span class="w"> </span><span class="nx">index</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-351"><a href="#L-351"><span class="linenos" data-line="351"></span></a><span class="w"> </span><span class="c1">// Re-create all nodes between this H3 node, and the next one, then place it</span> </span><span id="L-352"><a href="#L-352"><span class="linenos" data-line="352"></span></a><span class="w"> </span><span class="c1">// into a new node.</span> </span><span id="L-353"><a href="#L-353"><span class="linenos" data-line="353"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">hiddenNode</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s1">'div'</span><span class="p">);</span> </span><span id="L-354"><a href="#L-354"><span class="linenos" data-line="354"></span></a><span class="w"> </span> </span><span id="L-355"><a href="#L-355"><span class="linenos" data-line="355"></span></a><span class="w"> </span><span class="nx">hiddenNode</span><span class="p">.</span><span class="nx">className</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'nomination-body'</span><span class="p">;</span> </span><span id="L-356"><a href="#L-356"><span class="linenos" data-line="356"></span></a><span class="w"> </span><span class="nx">hiddenNode</span><span class="p">.</span><span class="nx">id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="sb">`nom-data-</span><span class="si">${</span><span class="nx">index</span><span class="si">}</span><span class="sb">`</span><span class="p">;</span> </span><span id="L-357"><a href="#L-357"><span class="linenos" data-line="357"></span></a><span class="w"> </span><span class="nx">hiddenNode</span><span class="p">.</span><span class="nx">style</span><span class="p">.</span><span class="nx">display</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'none'</span><span class="p">;</span> </span><span id="L-358"><a href="#L-358"><span class="linenos" data-line="358"></span></a><span class="w"> </span> </span><span id="L-359"><a href="#L-359"><span class="linenos" data-line="359"></span></a><span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">parentNode</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$h3</span><span class="p">[</span><span class="mf">0</span><span class="p">].</span><span class="nx">parentNode</span><span class="p">;</span> </span><span id="L-360"><a href="#L-360"><span class="linenos" data-line="360"></span></a><span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">sectionStart</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">parentNode</span><span class="p">.</span><span class="nx">classList</span><span class="p">.</span><span class="nx">contains</span><span class="p">(</span><span class="s1">'mw-heading3'</span><span class="p">)</span><span class="w"> </span><span class="o">?</span><span class="w"> </span><span class="nx">parentNode</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="nx">$h3</span><span class="p">[</span><span class="mf">0</span><span class="p">];</span> </span><span id="L-361"><a href="#L-361"><span class="linenos" data-line="361"></span></a><span class="w"> </span> </span><span id="L-362"><a href="#L-362"><span class="linenos" data-line="362"></span></a><span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">nomNextSibling</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">sectionStart</span><span class="p">.</span><span class="nx">nextSibling</span><span class="p">;</span> </span><span id="L-363"><a href="#L-363"><span class="linenos" data-line="363"></span></a><span class="w"> </span> </span><span id="L-364"><a href="#L-364"><span class="linenos" data-line="364"></span></a><span class="w"> </span><span class="c1">// Continue to the next node, as long as the next node still exists, it</span> </span><span id="L-365"><a href="#L-365"><span class="linenos" data-line="365"></span></a><span class="w"> </span><span class="c1">// isn't an H2 or H3, and it doesn't have the class "printfooter or mw-heading2"</span> </span><span id="L-366"><a href="#L-366"><span class="linenos" data-line="366"></span></a><span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span> </span><span id="L-367"><a href="#L-367"><span class="linenos" data-line="367"></span></a><span class="w"> </span><span class="nx">nomNextSibling</span><span class="w"> </span><span class="o">&&</span> </span><span id="L-368"><a href="#L-368"><span class="linenos" data-line="368"></span></a><span class="w"> </span><span class="o">!</span><span class="p">(</span> </span><span id="L-369"><a href="#L-369"><span class="linenos" data-line="369"></span></a><span class="w"> </span><span class="p">[</span><span class="s1">'H2'</span><span class="p">,</span><span class="w"> </span><span class="s1">'H3'</span><span class="p">].</span><span class="nx">includes</span><span class="p">(</span><span class="nx">nomNextSibling</span><span class="p">.</span><span class="nx">nodeName</span><span class="p">)</span><span class="w"> </span><span class="o">||</span><span class="w"> </span> </span><span id="L-370"><a href="#L-370"><span class="linenos" data-line="370"></span></a><span class="w"> </span><span class="p">(</span> </span><span id="L-371"><a href="#L-371"><span class="linenos" data-line="371"></span></a><span class="w"> </span><span class="nx">nomNextSibling</span><span class="p">.</span><span class="nx">childNodes</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span> </span><span id="L-372"><a href="#L-372"><span class="linenos" data-line="372"></span></a><span class="w"> </span><span class="nx">nomNextSibling</span><span class="p">.</span><span class="nx">childNodes</span><span class="p">.</span><span class="nx">length</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="mf">1</span><span class="w"> </span><span class="o">&&</span> </span><span id="L-373"><a href="#L-373"><span class="linenos" data-line="373"></span></a><span class="w"> </span><span class="p">[</span><span class="s1">'H2'</span><span class="p">,</span><span class="w"> </span><span class="s1">'H3'</span><span class="p">].</span><span class="nx">includes</span><span class="p">(</span><span class="nx">nomNextSibling</span><span class="p">.</span><span class="nx">childNodes</span><span class="p">[</span><span class="mf">1</span><span class="p">].</span><span class="nx">nodeName</span><span class="p">)</span> </span><span id="L-374"><a href="#L-374"><span class="linenos" data-line="374"></span></a><span class="w"> </span><span class="p">)</span> </span><span id="L-375"><a href="#L-375"><span class="linenos" data-line="375"></span></a><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="o">&&</span> </span><span id="L-376"><a href="#L-376"><span class="linenos" data-line="376"></span></a><span class="w"> </span><span class="o">!</span><span class="p">(</span> </span><span id="L-377"><a href="#L-377"><span class="linenos" data-line="377"></span></a><span class="w"> </span><span class="nx">nomNextSibling</span><span class="p">.</span><span class="nx">classList</span><span class="w"> </span><span class="o">&&</span> </span><span id="L-378"><a href="#L-378"><span class="linenos" data-line="378"></span></a><span class="w"> </span><span class="nx">nomNextSibling</span><span class="p">.</span><span class="nx">classList</span><span class="p">.</span><span class="nx">contains</span><span class="p">(</span><span class="s1">'printfooter'</span><span class="p">)</span> </span><span id="L-379"><a href="#L-379"><span class="linenos" data-line="379"></span></a><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="o">&&</span> </span><span id="L-380"><a href="#L-380"><span class="linenos" data-line="380"></span></a><span class="w"> </span><span class="o">!</span><span class="p">(</span> </span><span id="L-381"><a href="#L-381"><span class="linenos" data-line="381"></span></a><span class="w"> </span><span class="nx">nomNextSibling</span><span class="p">.</span><span class="nx">classList</span><span class="w"> </span><span class="o">&&</span> </span><span id="L-382"><a href="#L-382"><span class="linenos" data-line="382"></span></a><span class="w"> </span><span class="nx">nomNextSibling</span><span class="p">.</span><span class="nx">classList</span><span class="p">.</span><span class="nx">contains</span><span class="p">(</span><span class="s1">'mw-heading2'</span><span class="p">)</span> </span><span id="L-383"><a href="#L-383"><span class="linenos" data-line="383"></span></a><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="o">&&</span> </span><span id="L-384"><a href="#L-384"><span class="linenos" data-line="384"></span></a><span class="w"> </span><span class="o">!</span><span class="p">(</span> </span><span id="L-385"><a href="#L-385"><span class="linenos" data-line="385"></span></a><span class="w"> </span><span class="nx">nomNextSibling</span><span class="p">.</span><span class="nx">classList</span><span class="w"> </span><span class="o">&&</span> </span><span id="L-386"><a href="#L-386"><span class="linenos" data-line="386"></span></a><span class="w"> </span><span class="nx">nomNextSibling</span><span class="p">.</span><span class="nx">classList</span><span class="p">.</span><span class="nx">contains</span><span class="p">(</span><span class="s1">'mw-heading3'</span><span class="p">)</span> </span><span id="L-387"><a href="#L-387"><span class="linenos" data-line="387"></span></a><span class="w"> </span><span class="p">)</span> </span><span id="L-388"><a href="#L-388"><span class="linenos" data-line="388"></span></a><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-389"><a href="#L-389"><span class="linenos" data-line="389"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">nomNextSiblingTemporary</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">nomNextSibling</span><span class="p">.</span><span class="nx">nextSibling</span><span class="p">;</span> </span><span id="L-390"><a href="#L-390"><span class="linenos" data-line="390"></span></a><span class="w"> </span> </span><span id="L-391"><a href="#L-391"><span class="linenos" data-line="391"></span></a><span class="w"> </span><span class="c1">// Move the node, if it isn't a text node</span> </span><span id="L-392"><a href="#L-392"><span class="linenos" data-line="392"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">nomNextSibling</span><span class="p">.</span><span class="nx">nodeType</span><span class="w"> </span><span class="o">!==</span><span class="w"> </span><span class="mf">3</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-393"><a href="#L-393"><span class="linenos" data-line="393"></span></a><span class="w"> </span><span class="c1">// eslint-disable-next-line unicorn/prefer-node-append</span> </span><span id="L-394"><a href="#L-394"><span class="linenos" data-line="394"></span></a><span class="w"> </span><span class="nx">hiddenNode</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">nomNextSibling</span><span class="p">);</span> </span><span id="L-395"><a href="#L-395"><span class="linenos" data-line="395"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-396"><a href="#L-396"><span class="linenos" data-line="396"></span></a><span class="w"> </span> </span><span id="L-397"><a href="#L-397"><span class="linenos" data-line="397"></span></a><span class="w"> </span><span class="nx">nomNextSibling</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">nomNextSiblingTemporary</span><span class="p">;</span> </span><span id="L-398"><a href="#L-398"><span class="linenos" data-line="398"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-399"><a href="#L-399"><span class="linenos" data-line="399"></span></a><span class="w"> </span> </span><span id="L-400"><a href="#L-400"><span class="linenos" data-line="400"></span></a><span class="w"> </span><span class="c1">// Insert hidden content</span> </span><span id="L-401"><a href="#L-401"><span class="linenos" data-line="401"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">sectionStart</span><span class="p">.</span><span class="nx">after</span><span class="p">(</span><span class="nx">hiddenNode</span><span class="p">);</span> </span><span id="L-402"><a href="#L-402"><span class="linenos" data-line="402"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-403"><a href="#L-403"><span class="linenos" data-line="403"></span></a><span class="w"> </span> </span><span id="L-404"><a href="#L-404"><span class="linenos" data-line="404"></span></a><span class="w"> </span><span class="cm">/**</span> </span><span id="L-405"><a href="#L-405"><span class="linenos" data-line="405"></span></a><span class="cm"> * The main function, to run the script.</span> </span><span id="L-406"><a href="#L-406"><span class="linenos" data-line="406"></span></a><span class="cm"> *</span> </span><span id="L-407"><a href="#L-407"><span class="linenos" data-line="407"></span></a><span class="cm"> * @returns {undefined}</span> </span><span id="L-408"><a href="#L-408"><span class="linenos" data-line="408"></span></a><span class="cm"> */</span> </span><span id="L-409"><a href="#L-409"><span class="linenos" data-line="409"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">init</span><span class="p">()</span><span class="w"> </span><span class="p">{</span> </span><span id="L-410"><a href="#L-410"><span class="linenos" data-line="410"></span></a><span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">currentPageIsASubpage</span><span class="p">;</span> </span><span id="L-411"><a href="#L-411"><span class="linenos" data-line="411"></span></a><span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">currentPageIsEnabled</span><span class="p">;</span> </span><span id="L-412"><a href="#L-412"><span class="linenos" data-line="412"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">pageName</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">mw</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">'wgPageName'</span><span class="p">);</span> </span><span id="L-413"><a href="#L-413"><span class="linenos" data-line="413"></span></a><span class="w"> </span> </span><span id="L-414"><a href="#L-414"><span class="linenos" data-line="414"></span></a><span class="w"> </span><span class="c1">// Check if enabled on this page</span> </span><span id="L-415"><a href="#L-415"><span class="linenos" data-line="415"></span></a><span class="w"> </span><span class="nb">Object</span><span class="p">.</span><span class="nx">keys</span><span class="p">(</span><span class="nx">NominationsViewer</span><span class="p">.</span><span class="nx">enabledPages</span><span class="p">).</span><span class="nx">forEach</span><span class="p">((</span><span class="nx">page</span><span class="p">)</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">{</span> </span><span id="L-416"><a href="#L-416"><span class="linenos" data-line="416"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">pageName</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="nx">page</span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="sr">/\s/g</span><span class="p">,</span><span class="w"> </span><span class="s1">'_'</span><span class="p">))</span><span class="w"> </span><span class="p">{</span> </span><span id="L-417"><a href="#L-417"><span class="linenos" data-line="417"></span></a><span class="w"> </span><span class="nx">currentPageIsEnabled</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span> </span><span id="L-418"><a href="#L-418"><span class="linenos" data-line="418"></span></a><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">pageName</span><span class="p">.</span><span class="nx">startsWith</span><span class="p">(</span><span class="nx">page</span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="sr">/\s/g</span><span class="p">,</span><span class="w"> </span><span class="s1">'_'</span><span class="p">)))</span><span class="w"> </span><span class="p">{</span> </span><span id="L-419"><a href="#L-419"><span class="linenos" data-line="419"></span></a><span class="w"> </span><span class="nx">currentPageIsASubpage</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span> </span><span id="L-420"><a href="#L-420"><span class="linenos" data-line="420"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-421"><a href="#L-421"><span class="linenos" data-line="421"></span></a><span class="w"> </span><span class="p">});</span> </span><span id="L-422"><a href="#L-422"><span class="linenos" data-line="422"></span></a><span class="w"> </span> </span><span id="L-423"><a href="#L-423"><span class="linenos" data-line="423"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span> </span><span id="L-424"><a href="#L-424"><span class="linenos" data-line="424"></span></a><span class="w"> </span><span class="o">!</span><span class="nx">currentPageIsEnabled</span><span class="w"> </span><span class="o">||</span> </span><span id="L-425"><a href="#L-425"><span class="linenos" data-line="425"></span></a><span class="w"> </span><span class="nx">mw</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">'wgAction'</span><span class="p">)</span><span class="w"> </span><span class="o">!==</span><span class="w"> </span><span class="s1">'view'</span><span class="w"> </span><span class="o">||</span> </span><span id="L-426"><a href="#L-426"><span class="linenos" data-line="426"></span></a><span class="w"> </span><span class="nb">window</span><span class="p">.</span><span class="nx">location</span><span class="p">.</span><span class="nx">href</span><span class="p">.</span><span class="nx">includes</span><span class="p">(</span><span class="s1">'&oldid='</span><span class="p">)</span><span class="w"> </span><span class="o">||</span> </span><span id="L-427"><a href="#L-427"><span class="linenos" data-line="427"></span></a><span class="w"> </span><span class="nx">currentPageIsASubpage</span> </span><span id="L-428"><a href="#L-428"><span class="linenos" data-line="428"></span></a><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-429"><a href="#L-429"><span class="linenos" data-line="429"></span></a><span class="w"> </span><span class="k">return</span><span class="p">;</span> </span><span id="L-430"><a href="#L-430"><span class="linenos" data-line="430"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-431"><a href="#L-431"><span class="linenos" data-line="431"></span></a><span class="w"> </span> </span><span id="L-432"><a href="#L-432"><span class="linenos" data-line="432"></span></a><span class="w"> </span><span class="c1">// Append the CSS now, since we're definitely running the script on this</span> </span><span id="L-433"><a href="#L-433"><span class="linenos" data-line="433"></span></a><span class="w"> </span><span class="c1">// page.</span> </span><span id="L-434"><a href="#L-434"><span class="linenos" data-line="434"></span></a><span class="w"> </span><span class="nx">addCss</span><span class="p">();</span> </span><span id="L-435"><a href="#L-435"><span class="linenos" data-line="435"></span></a><span class="w"> </span> </span><span id="L-436"><a href="#L-436"><span class="linenos" data-line="436"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">$parentNode</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="s1">'.mw-content-ltr'</span><span class="p">);</span> </span><span id="L-437"><a href="#L-437"><span class="linenos" data-line="437"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">$h3s</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$parentNode</span><span class="p">.</span><span class="nx">find</span><span class="p">(</span><span class="s1">'h3'</span><span class="p">);</span> </span><span id="L-438"><a href="#L-438"><span class="linenos" data-line="438"></span></a><span class="w"> </span> </span><span id="L-439"><a href="#L-439"><span class="linenos" data-line="439"></span></a><span class="w"> </span><span class="nx">addAllNomInfo</span><span class="p">(</span><span class="nx">$h3s</span><span class="p">);</span> </span><span id="L-440"><a href="#L-440"><span class="linenos" data-line="440"></span></a><span class="w"> </span> </span><span id="L-441"><a href="#L-441"><span class="linenos" data-line="441"></span></a><span class="w"> </span><span class="c1">// Loop through each nomination</span> </span><span id="L-442"><a href="#L-442"><span class="linenos" data-line="442"></span></a><span class="w"> </span><span class="nx">$h3s</span><span class="p">.</span><span class="nx">each</span><span class="p">((</span><span class="nx">index</span><span class="p">,</span><span class="w"> </span><span class="nx">element</span><span class="p">)</span><span class="w"> </span><span class="p">=></span> </span><span id="L-443"><a href="#L-443"><span class="linenos" data-line="443"></span></a><span class="w"> </span><span class="nx">createNomination</span><span class="p">({</span> </span><span id="L-444"><a href="#L-444"><span class="linenos" data-line="444"></span></a><span class="w"> </span><span class="nx">$h3</span><span class="o">:</span><span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="nx">element</span><span class="p">),</span> </span><span id="L-445"><a href="#L-445"><span class="linenos" data-line="445"></span></a><span class="w"> </span><span class="nx">index</span><span class="p">,</span> </span><span id="L-446"><a href="#L-446"><span class="linenos" data-line="446"></span></a><span class="w"> </span><span class="p">})</span> </span><span id="L-447"><a href="#L-447"><span class="linenos" data-line="447"></span></a><span class="w"> </span><span class="p">);</span> </span><span id="L-448"><a href="#L-448"><span class="linenos" data-line="448"></span></a><span class="w"> </span> </span><span id="L-449"><a href="#L-449"><span class="linenos" data-line="449"></span></a><span class="w"> </span><span class="c1">// Fix any conflicts with collapsed comments (using the special template).</span> </span><span id="L-450"><a href="#L-450"><span class="linenos" data-line="450"></span></a><span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="s1">'.collapseButton'</span><span class="p">).</span><span class="nx">each</span><span class="p">((</span><span class="nx">index</span><span class="p">,</span><span class="w"> </span><span class="nx">element</span><span class="p">)</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">{</span> </span><span id="L-451"><a href="#L-451"><span class="linenos" data-line="451"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">$link</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="nx">element</span><span class="p">)</span> </span><span id="L-452"><a href="#L-452"><span class="linenos" data-line="452"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">children</span><span class="p">()</span> </span><span id="L-453"><a href="#L-453"><span class="linenos" data-line="453"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">first</span><span class="p">();</span> </span><span id="L-454"><a href="#L-454"><span class="linenos" data-line="454"></span></a><span class="w"> </span> </span><span id="L-455"><a href="#L-455"><span class="linenos" data-line="455"></span></a><span class="w"> </span><span class="c1">// eslint-disable-next-line unicorn/prefer-string-slice</span> </span><span id="L-456"><a href="#L-456"><span class="linenos" data-line="456"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">newIndex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$link</span> </span><span id="L-457"><a href="#L-457"><span class="linenos" data-line="457"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">'id'</span><span class="p">)</span> </span><span id="L-458"><a href="#L-458"><span class="linenos" data-line="458"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">substring</span><span class="p">(</span> </span><span id="L-459"><a href="#L-459"><span class="linenos" data-line="459"></span></a><span class="w"> </span><span class="nx">$link</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">'id'</span><span class="p">).</span><span class="nx">indexOf</span><span class="p">(</span><span class="s1">'collapseButton'</span><span class="p">)</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="s1">'collapseButton'</span><span class="p">.</span><span class="nx">length</span><span class="p">,</span> </span><span id="L-460"><a href="#L-460"><span class="linenos" data-line="460"></span></a><span class="w"> </span><span class="nx">$link</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">'id'</span><span class="p">).</span><span class="nx">length</span> </span><span id="L-461"><a href="#L-461"><span class="linenos" data-line="461"></span></a><span class="w"> </span><span class="p">);</span> </span><span id="L-462"><a href="#L-462"><span class="linenos" data-line="462"></span></a><span class="w"> </span> </span><span id="L-463"><a href="#L-463"><span class="linenos" data-line="463"></span></a><span class="w"> </span><span class="nx">$link</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">'href'</span><span class="p">,</span><span class="w"> </span><span class="s1">'#'</span><span class="p">).</span><span class="nx">on</span><span class="p">(</span><span class="s1">'click'</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">newIndex</span><span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="nx">collapseTable</span><span class="p">);</span> </span><span id="L-464"><a href="#L-464"><span class="linenos" data-line="464"></span></a><span class="w"> </span><span class="p">});</span> </span><span id="L-465"><a href="#L-465"><span class="linenos" data-line="465"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-466"><a href="#L-466"><span class="linenos" data-line="466"></span></a><span class="w"> </span> </span><span id="L-467"><a href="#L-467"><span class="linenos" data-line="467"></span></a><span class="w"> </span><span class="c1">// Helpers</span> </span><span id="L-468"><a href="#L-468"><span class="linenos" data-line="468"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">collapseTable</span><span class="p">(</span><span class="nx">event</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-469"><a href="#L-469"><span class="linenos" data-line="469"></span></a><span class="w"> </span><span class="nx">event</span><span class="p">.</span><span class="nx">preventDefault</span><span class="p">();</span> </span><span id="L-470"><a href="#L-470"><span class="linenos" data-line="470"></span></a><span class="w"> </span> </span><span id="L-471"><a href="#L-471"><span class="linenos" data-line="471"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">tableIndex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">event</span><span class="p">.</span><span class="nx">data</span><span class="p">.</span><span class="nx">index</span><span class="p">;</span> </span><span id="L-472"><a href="#L-472"><span class="linenos" data-line="472"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">collapseCaption</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'hide'</span><span class="p">;</span> </span><span id="L-473"><a href="#L-473"><span class="linenos" data-line="473"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">expandCaption</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'show'</span><span class="p">;</span> </span><span id="L-474"><a href="#L-474"><span class="linenos" data-line="474"></span></a><span class="w"> </span> </span><span id="L-475"><a href="#L-475"><span class="linenos" data-line="475"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">$button</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="sb">`#collapseButton</span><span class="si">${</span><span class="nx">tableIndex</span><span class="si">}</span><span class="sb">`</span><span class="p">);</span> </span><span id="L-476"><a href="#L-476"><span class="linenos" data-line="476"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">$table</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="sb">`#collapsibleTable</span><span class="si">${</span><span class="nx">tableIndex</span><span class="si">}</span><span class="sb">`</span><span class="p">);</span> </span><span id="L-477"><a href="#L-477"><span class="linenos" data-line="477"></span></a><span class="w"> </span> </span><span id="L-478"><a href="#L-478"><span class="linenos" data-line="478"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">$table</span><span class="p">.</span><span class="nx">length</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="mf">0</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="nx">$button</span><span class="p">.</span><span class="nx">length</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="mf">0</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-479"><a href="#L-479"><span class="linenos" data-line="479"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="kc">false</span><span class="p">;</span> </span><span id="L-480"><a href="#L-480"><span class="linenos" data-line="480"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-481"><a href="#L-481"><span class="linenos" data-line="481"></span></a><span class="w"> </span> </span><span id="L-482"><a href="#L-482"><span class="linenos" data-line="482"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">$rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$table</span><span class="p">.</span><span class="nx">find</span><span class="p">(</span><span class="s1">'> tbody > tr'</span><span class="p">);</span> </span><span id="L-483"><a href="#L-483"><span class="linenos" data-line="483"></span></a><span class="w"> </span> </span><span id="L-484"><a href="#L-484"><span class="linenos" data-line="484"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">$button</span><span class="p">.</span><span class="nx">text</span><span class="p">()</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="nx">collapseCaption</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-485"><a href="#L-485"><span class="linenos" data-line="485"></span></a><span class="w"> </span><span class="nx">$rows</span><span class="p">.</span><span class="nx">each</span><span class="p">((</span><span class="nx">index</span><span class="p">,</span><span class="w"> </span><span class="nx">element</span><span class="p">)</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">{</span> </span><span id="L-486"><a href="#L-486"><span class="linenos" data-line="486"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">index</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="mf">0</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-487"><a href="#L-487"><span class="linenos" data-line="487"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span> </span><span id="L-488"><a href="#L-488"><span class="linenos" data-line="488"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-489"><a href="#L-489"><span class="linenos" data-line="489"></span></a><span class="w"> </span> </span><span id="L-490"><a href="#L-490"><span class="linenos" data-line="490"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="nx">element</span><span class="p">).</span><span class="nx">hide</span><span class="p">();</span> </span><span id="L-491"><a href="#L-491"><span class="linenos" data-line="491"></span></a><span class="w"> </span><span class="p">});</span> </span><span id="L-492"><a href="#L-492"><span class="linenos" data-line="492"></span></a><span class="w"> </span> </span><span id="L-493"><a href="#L-493"><span class="linenos" data-line="493"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">$button</span><span class="p">.</span><span class="nx">text</span><span class="p">(</span><span class="nx">expandCaption</span><span class="p">);</span> </span><span id="L-494"><a href="#L-494"><span class="linenos" data-line="494"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-495"><a href="#L-495"><span class="linenos" data-line="495"></span></a><span class="w"> </span> </span><span id="L-496"><a href="#L-496"><span class="linenos" data-line="496"></span></a><span class="w"> </span><span class="nx">$rows</span><span class="p">.</span><span class="nx">each</span><span class="p">((</span><span class="nx">index</span><span class="p">,</span><span class="w"> </span><span class="nx">element</span><span class="p">)</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">{</span> </span><span id="L-497"><a href="#L-497"><span class="linenos" data-line="497"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">index</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="mf">0</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-498"><a href="#L-498"><span class="linenos" data-line="498"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span> </span><span id="L-499"><a href="#L-499"><span class="linenos" data-line="499"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-500"><a href="#L-500"><span class="linenos" data-line="500"></span></a><span class="w"> </span> </span><span id="L-501"><a href="#L-501"><span class="linenos" data-line="501"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="nx">element</span><span class="p">).</span><span class="nx">show</span><span class="p">();</span> </span><span id="L-502"><a href="#L-502"><span class="linenos" data-line="502"></span></a><span class="w"> </span><span class="p">});</span> </span><span id="L-503"><a href="#L-503"><span class="linenos" data-line="503"></span></a><span class="w"> </span> </span><span id="L-504"><a href="#L-504"><span class="linenos" data-line="504"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">$button</span><span class="p">.</span><span class="nx">text</span><span class="p">(</span><span class="nx">collapseCaption</span><span class="p">);</span> </span><span id="L-505"><a href="#L-505"><span class="linenos" data-line="505"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-506"><a href="#L-506"><span class="linenos" data-line="506"></span></a><span class="w"> </span> </span><span id="L-507"><a href="#L-507"><span class="linenos" data-line="507"></span></a><span class="w"> </span><span class="c1">// Add CSS to the page, to use for this script. This is a separate function,</span> </span><span id="L-508"><a href="#L-508"><span class="linenos" data-line="508"></span></a><span class="w"> </span><span class="c1">// so that it's more easy to disable it when necessary.</span> </span><span id="L-509"><a href="#L-509"><span class="linenos" data-line="509"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">addCss</span><span class="p">()</span><span class="w"> </span><span class="p">{</span> </span><span id="L-510"><a href="#L-510"><span class="linenos" data-line="510"></span></a><span class="w"> </span><span class="nx">mw</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">addCSS</span><span class="p">(</span><span class="sb">`</span> </span><span id="L-511"><a href="#L-511"><span class="linenos" data-line="511"></span></a><span class="sb"> #content .nomination h3 {</span> </span><span id="L-512"><a href="#L-512"><span class="linenos" data-line="512"></span></a><span class="sb"> margin-bottom: 0;</span> </span><span id="L-513"><a href="#L-513"><span class="linenos" data-line="513"></span></a><span class="sb"> padding-top: 0;</span> </span><span id="L-514"><a href="#L-514"><span class="linenos" data-line="514"></span></a><span class="sb"> }</span> </span><span id="L-515"><a href="#L-515"><span class="linenos" data-line="515"></span></a><span class="sb"> </span> </span><span id="L-516"><a href="#L-516"><span class="linenos" data-line="516"></span></a><span class="sb"> .nomination-data,</span> </span><span id="L-517"><a href="#L-517"><span class="linenos" data-line="517"></span></a><span class="sb"> .nomination-order,</span> </span><span id="L-518"><a href="#L-518"><span class="linenos" data-line="518"></span></a><span class="sb"> .overall-controls {</span> </span><span id="L-519"><a href="#L-519"><span class="linenos" data-line="519"></span></a><span class="sb"> font-size: 75%;</span> </span><span id="L-520"><a href="#L-520"><span class="linenos" data-line="520"></span></a><span class="sb"> font-weight: normal;</span> </span><span id="L-521"><a href="#L-521"><span class="linenos" data-line="521"></span></a><span class="sb"> }</span> </span><span id="L-522"><a href="#L-522"><span class="linenos" data-line="522"></span></a><span class="sb"> </span> </span><span id="L-523"><a href="#L-523"><span class="linenos" data-line="523"></span></a><span class="sb"> .nomination-order {</span> </span><span id="L-524"><a href="#L-524"><span class="linenos" data-line="524"></span></a><span class="sb"> display: inline-block;</span> </span><span id="L-525"><a href="#L-525"><span class="linenos" data-line="525"></span></a><span class="sb"> width: 25px;</span> </span><span id="L-526"><a href="#L-526"><span class="linenos" data-line="526"></span></a><span class="sb"> }</span> </span><span id="L-527"><a href="#L-527"><span class="linenos" data-line="527"></span></a><span class="sb"> </span> </span><span id="L-528"><a href="#L-528"><span class="linenos" data-line="528"></span></a><span class="sb"> .nomv-show-hide {</span> </span><span id="L-529"><a href="#L-529"><span class="linenos" data-line="529"></span></a><span class="sb"> display: inline-block;</span> </span><span id="L-530"><a href="#L-530"><span class="linenos" data-line="530"></span></a><span class="sb"> font-size: 13px;</span> </span><span id="L-531"><a href="#L-531"><span class="linenos" data-line="531"></span></a><span class="sb"> font-weight: normal;</span> </span><span id="L-532"><a href="#L-532"><span class="linenos" data-line="532"></span></a><span class="sb"> margin-right: 2.5px;</span> </span><span id="L-533"><a href="#L-533"><span class="linenos" data-line="533"></span></a><span class="sb"> width: 40px;</span> </span><span id="L-534"><a href="#L-534"><span class="linenos" data-line="534"></span></a><span class="sb"> }</span> </span><span id="L-535"><a href="#L-535"><span class="linenos" data-line="535"></span></a><span class="sb"> </span> </span><span id="L-536"><a href="#L-536"><span class="linenos" data-line="536"></span></a><span class="sb"> .nomv-show-hide a {</span> </span><span id="L-537"><a href="#L-537"><span class="linenos" data-line="537"></span></a><span class="sb"> display: inline-block;</span> </span><span id="L-538"><a href="#L-538"><span class="linenos" data-line="538"></span></a><span class="sb"> text-align: center;</span> </span><span id="L-539"><a href="#L-539"><span class="linenos" data-line="539"></span></a><span class="sb"> width: 31px;</span> </span><span id="L-540"><a href="#L-540"><span class="linenos" data-line="540"></span></a><span class="sb"> }</span> </span><span id="L-541"><a href="#L-541"><span class="linenos" data-line="541"></span></a><span class="sb"> </span> </span><span id="L-542"><a href="#L-542"><span class="linenos" data-line="542"></span></a><span class="sb"> .nomv-data::before {</span> </span><span id="L-543"><a href="#L-543"><span class="linenos" data-line="543"></span></a><span class="sb"> content: " · ";</span> </span><span id="L-544"><a href="#L-544"><span class="linenos" data-line="544"></span></a><span class="sb"> }</span> </span><span id="L-545"><a href="#L-545"><span class="linenos" data-line="545"></span></a><span class="sb"> </span> </span><span id="L-546"><a href="#L-546"><span class="linenos" data-line="546"></span></a><span class="sb"> .nomv-data abbr {</span> </span><span id="L-547"><a href="#L-547"><span class="linenos" data-line="547"></span></a><span class="sb"> white-space: nowrap;</span> </span><span id="L-548"><a href="#L-548"><span class="linenos" data-line="548"></span></a><span class="sb"> }</span> </span><span id="L-549"><a href="#L-549"><span class="linenos" data-line="549"></span></a><span class="sb"> `</span><span class="p">);</span> </span><span id="L-550"><a href="#L-550"><span class="linenos" data-line="550"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-551"><a href="#L-551"><span class="linenos" data-line="551"></span></a><span class="w"> </span> </span><span id="L-552"><a href="#L-552"><span class="linenos" data-line="552"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">expandAllNoms</span><span class="p">(</span><span class="nx">event</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-553"><a href="#L-553"><span class="linenos" data-line="553"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">toggleAllNoms</span><span class="p">(</span><span class="nx">event</span><span class="p">,</span><span class="w"> </span><span class="s1">'expand'</span><span class="p">);</span> </span><span id="L-554"><a href="#L-554"><span class="linenos" data-line="554"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-555"><a href="#L-555"><span class="linenos" data-line="555"></span></a><span class="w"> </span> </span><span id="L-556"><a href="#L-556"><span class="linenos" data-line="556"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">collapseAllNoms</span><span class="p">(</span><span class="nx">event</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-557"><a href="#L-557"><span class="linenos" data-line="557"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">toggleAllNoms</span><span class="p">(</span><span class="nx">event</span><span class="p">,</span><span class="w"> </span><span class="s1">'collapse'</span><span class="p">);</span> </span><span id="L-558"><a href="#L-558"><span class="linenos" data-line="558"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-559"><a href="#L-559"><span class="linenos" data-line="559"></span></a><span class="w"> </span> </span><span id="L-560"><a href="#L-560"><span class="linenos" data-line="560"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">toggleAllNoms</span><span class="p">(</span><span class="nx">event</span><span class="p">,</span><span class="w"> </span><span class="nx">actionParam</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-561"><a href="#L-561"><span class="linenos" data-line="561"></span></a><span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">action</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">actionParam</span><span class="p">;</span> </span><span id="L-562"><a href="#L-562"><span class="linenos" data-line="562"></span></a><span class="w"> </span> </span><span id="L-563"><a href="#L-563"><span class="linenos" data-line="563"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="nx">action</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-564"><a href="#L-564"><span class="linenos" data-line="564"></span></a><span class="w"> </span><span class="nx">action</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'expand'</span><span class="p">;</span> </span><span id="L-565"><a href="#L-565"><span class="linenos" data-line="565"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-566"><a href="#L-566"><span class="linenos" data-line="566"></span></a><span class="w"> </span> </span><span id="L-567"><a href="#L-567"><span class="linenos" data-line="567"></span></a><span class="w"> </span><span class="nx">event</span><span class="p">.</span><span class="nx">preventDefault</span><span class="p">();</span> </span><span id="L-568"><a href="#L-568"><span class="linenos" data-line="568"></span></a><span class="w"> </span> </span><span id="L-569"><a href="#L-569"><span class="linenos" data-line="569"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">allH3Length</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">event</span><span class="p">.</span><span class="nx">data</span><span class="p">;</span> </span><span id="L-570"><a href="#L-570"><span class="linenos" data-line="570"></span></a><span class="w"> </span> </span><span id="L-571"><a href="#L-571"><span class="linenos" data-line="571"></span></a><span class="w"> </span><span class="ow">new</span><span class="w"> </span><span class="nb">Array</span><span class="p">(</span><span class="nx">allH3Length</span><span class="p">).</span><span class="nx">fill</span><span class="p">().</span><span class="nx">forEach</span><span class="p">((</span><span class="nx">value</span><span class="p">,</span><span class="w"> </span><span class="nx">index</span><span class="p">)</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">{</span> </span><span id="L-572"><a href="#L-572"><span class="linenos" data-line="572"></span></a><span class="w"> </span><span class="nx">toggleNom</span><span class="p">(</span><span class="nx">index</span><span class="p">,</span><span class="w"> </span><span class="nx">action</span><span class="p">);</span> </span><span id="L-573"><a href="#L-573"><span class="linenos" data-line="573"></span></a><span class="w"> </span><span class="p">});</span> </span><span id="L-574"><a href="#L-574"><span class="linenos" data-line="574"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-575"><a href="#L-575"><span class="linenos" data-line="575"></span></a><span class="w"> </span> </span><span id="L-576"><a href="#L-576"><span class="linenos" data-line="576"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">toggleNom</span><span class="p">(</span><span class="nx">id</span><span class="p">,</span><span class="w"> </span><span class="nx">actionParam</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-577"><a href="#L-577"><span class="linenos" data-line="577"></span></a><span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">action</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">actionParam</span><span class="p">;</span> </span><span id="L-578"><a href="#L-578"><span class="linenos" data-line="578"></span></a><span class="w"> </span> </span><span id="L-579"><a href="#L-579"><span class="linenos" data-line="579"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="nx">action</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-580"><a href="#L-580"><span class="linenos" data-line="580"></span></a><span class="w"> </span><span class="nx">action</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">''</span><span class="p">;</span> </span><span id="L-581"><a href="#L-581"><span class="linenos" data-line="581"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-582"><a href="#L-582"><span class="linenos" data-line="582"></span></a><span class="w"> </span> </span><span id="L-583"><a href="#L-583"><span class="linenos" data-line="583"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">toggleHideNom</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="nx">$node</span><span class="p">,</span><span class="w"> </span><span class="nx">$nomButton</span><span class="p">)</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">{</span> </span><span id="L-584"><a href="#L-584"><span class="linenos" data-line="584"></span></a><span class="w"> </span><span class="nx">$node</span><span class="p">.</span><span class="nx">hide</span><span class="p">();</span> </span><span id="L-585"><a href="#L-585"><span class="linenos" data-line="585"></span></a><span class="w"> </span> </span><span id="L-586"><a href="#L-586"><span class="linenos" data-line="586"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">$nomButton</span><span class="p">.</span><span class="nx">text</span><span class="p">(</span><span class="s1">'show'</span><span class="p">);</span> </span><span id="L-587"><a href="#L-587"><span class="linenos" data-line="587"></span></a><span class="w"> </span><span class="p">};</span> </span><span id="L-588"><a href="#L-588"><span class="linenos" data-line="588"></span></a><span class="w"> </span> </span><span id="L-589"><a href="#L-589"><span class="linenos" data-line="589"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">toggleShowNom</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="nx">$node</span><span class="p">,</span><span class="w"> </span><span class="nx">$nomButton</span><span class="p">)</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">{</span> </span><span id="L-590"><a href="#L-590"><span class="linenos" data-line="590"></span></a><span class="w"> </span><span class="nx">$node</span><span class="p">.</span><span class="nx">show</span><span class="p">();</span> </span><span id="L-591"><a href="#L-591"><span class="linenos" data-line="591"></span></a><span class="w"> </span> </span><span id="L-592"><a href="#L-592"><span class="linenos" data-line="592"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">$nomButton</span><span class="p">.</span><span class="nx">text</span><span class="p">(</span><span class="s1">'hide'</span><span class="p">);</span> </span><span id="L-593"><a href="#L-593"><span class="linenos" data-line="593"></span></a><span class="w"> </span><span class="p">};</span> </span><span id="L-594"><a href="#L-594"><span class="linenos" data-line="594"></span></a><span class="w"> </span> </span><span id="L-595"><a href="#L-595"><span class="linenos" data-line="595"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">$node</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="sb">`#nom-data-</span><span class="si">${</span><span class="nx">id</span><span class="si">}</span><span class="sb">`</span><span class="p">);</span> </span><span id="L-596"><a href="#L-596"><span class="linenos" data-line="596"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">$nomButton</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$</span><span class="p">(</span><span class="sb">`#nom-button-</span><span class="si">${</span><span class="nx">id</span><span class="si">}</span><span class="sb">`</span><span class="p">);</span> </span><span id="L-597"><a href="#L-597"><span class="linenos" data-line="597"></span></a><span class="w"> </span> </span><span id="L-598"><a href="#L-598"><span class="linenos" data-line="598"></span></a><span class="w"> </span><span class="c1">// These are actions that override the status for all nominations.</span> </span><span id="L-599"><a href="#L-599"><span class="linenos" data-line="599"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">action</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="s1">'collapse'</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-600"><a href="#L-600"><span class="linenos" data-line="600"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">toggleHideNom</span><span class="p">(</span><span class="nx">$node</span><span class="p">,</span><span class="w"> </span><span class="nx">$nomButton</span><span class="p">);</span> </span><span id="L-601"><a href="#L-601"><span class="linenos" data-line="601"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-602"><a href="#L-602"><span class="linenos" data-line="602"></span></a><span class="w"> </span> </span><span id="L-603"><a href="#L-603"><span class="linenos" data-line="603"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">action</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="s1">'expand'</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-604"><a href="#L-604"><span class="linenos" data-line="604"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">toggleShowNom</span><span class="p">(</span><span class="nx">$node</span><span class="p">,</span><span class="w"> </span><span class="nx">$nomButton</span><span class="p">);</span> </span><span id="L-605"><a href="#L-605"><span class="linenos" data-line="605"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-606"><a href="#L-606"><span class="linenos" data-line="606"></span></a><span class="w"> </span> </span><span id="L-607"><a href="#L-607"><span class="linenos" data-line="607"></span></a><span class="w"> </span><span class="c1">// These have to be separate from the above because they have a lower</span> </span><span id="L-608"><a href="#L-608"><span class="linenos" data-line="608"></span></a><span class="w"> </span><span class="c1">// priority.</span> </span><span id="L-609"><a href="#L-609"><span class="linenos" data-line="609"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">$node</span><span class="p">.</span><span class="nx">is</span><span class="p">(</span><span class="s1">':visible'</span><span class="p">))</span><span class="w"> </span><span class="p">{</span> </span><span id="L-610"><a href="#L-610"><span class="linenos" data-line="610"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">toggleHideNom</span><span class="p">(</span><span class="nx">$node</span><span class="p">,</span><span class="w"> </span><span class="nx">$nomButton</span><span class="p">);</span> </span><span id="L-611"><a href="#L-611"><span class="linenos" data-line="611"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-612"><a href="#L-612"><span class="linenos" data-line="612"></span></a><span class="w"> </span> </span><span id="L-613"><a href="#L-613"><span class="linenos" data-line="613"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">$node</span><span class="p">.</span><span class="nx">is</span><span class="p">(</span><span class="s1">':hidden'</span><span class="p">))</span><span class="w"> </span><span class="p">{</span> </span><span id="L-614"><a href="#L-614"><span class="linenos" data-line="614"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">toggleShowNom</span><span class="p">(</span><span class="nx">$node</span><span class="p">,</span><span class="w"> </span><span class="nx">$nomButton</span><span class="p">);</span> </span><span id="L-615"><a href="#L-615"><span class="linenos" data-line="615"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-616"><a href="#L-616"><span class="linenos" data-line="616"></span></a><span class="w"> </span> </span><span id="L-617"><a href="#L-617"><span class="linenos" data-line="617"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="kc">null</span><span class="p">;</span> </span><span id="L-618"><a href="#L-618"><span class="linenos" data-line="618"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-619"><a href="#L-619"><span class="linenos" data-line="619"></span></a><span class="w"> </span> </span><span id="L-620"><a href="#L-620"><span class="linenos" data-line="620"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">toggleNomClick</span><span class="p">(</span><span class="nx">event</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-621"><a href="#L-621"><span class="linenos" data-line="621"></span></a><span class="w"> </span><span class="nx">event</span><span class="p">.</span><span class="nx">preventDefault</span><span class="p">();</span> </span><span id="L-622"><a href="#L-622"><span class="linenos" data-line="622"></span></a><span class="w"> </span> </span><span id="L-623"><a href="#L-623"><span class="linenos" data-line="623"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">index</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">event</span><span class="p">.</span><span class="nx">data</span><span class="p">;</span> </span><span id="L-624"><a href="#L-624"><span class="linenos" data-line="624"></span></a><span class="w"> </span> </span><span id="L-625"><a href="#L-625"><span class="linenos" data-line="625"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">toggleNom</span><span class="p">(</span><span class="nx">index</span><span class="p">);</span> </span><span id="L-626"><a href="#L-626"><span class="linenos" data-line="626"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-627"><a href="#L-627"><span class="linenos" data-line="627"></span></a><span class="w"> </span> </span><span id="L-628"><a href="#L-628"><span class="linenos" data-line="628"></span></a><span class="w"> </span><span class="c1">// Callbacks</span> </span><span id="L-629"><a href="#L-629"><span class="linenos" data-line="629"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">addParticipants</span><span class="p">(</span><span class="nx">revisions</span><span class="p">,</span><span class="w"> </span><span class="nx">pageName</span><span class="p">,</span><span class="w"> </span><span class="nx">queryContinue</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-630"><a href="#L-630"><span class="linenos" data-line="630"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="nx">dataIsEnabled</span><span class="p">(</span><span class="s1">'participants'</span><span class="p">)</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="o">!</span><span class="nx">revisions</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-631"><a href="#L-631"><span class="linenos" data-line="631"></span></a><span class="w"> </span><span class="k">return</span><span class="p">;</span> </span><span id="L-632"><a href="#L-632"><span class="linenos" data-line="632"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-633"><a href="#L-633"><span class="linenos" data-line="633"></span></a><span class="w"> </span> </span><span id="L-634"><a href="#L-634"><span class="linenos" data-line="634"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">users</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{};</span> </span><span id="L-635"><a href="#L-635"><span class="linenos" data-line="635"></span></a><span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">userCount</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">0</span><span class="p">;</span> </span><span id="L-636"><a href="#L-636"><span class="linenos" data-line="636"></span></a><span class="w"> </span> </span><span id="L-637"><a href="#L-637"><span class="linenos" data-line="637"></span></a><span class="w"> </span><span class="nx">revisions</span><span class="p">.</span><span class="nx">forEach</span><span class="p">((</span><span class="nx">revision</span><span class="p">)</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">{</span> </span><span id="L-638"><a href="#L-638"><span class="linenos" data-line="638"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="nx">revision</span><span class="p">.</span><span class="nx">user</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-639"><a href="#L-639"><span class="linenos" data-line="639"></span></a><span class="w"> </span><span class="k">return</span><span class="p">;</span> </span><span id="L-640"><a href="#L-640"><span class="linenos" data-line="640"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-641"><a href="#L-641"><span class="linenos" data-line="641"></span></a><span class="w"> </span> </span><span id="L-642"><a href="#L-642"><span class="linenos" data-line="642"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">users</span><span class="p">[</span><span class="nx">revision</span><span class="p">.</span><span class="nx">user</span><span class="p">])</span><span class="w"> </span><span class="p">{</span> </span><span id="L-643"><a href="#L-643"><span class="linenos" data-line="643"></span></a><span class="w"> </span><span class="nx">users</span><span class="p">[</span><span class="nx">revision</span><span class="p">.</span><span class="nx">user</span><span class="p">]</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="mf">1</span><span class="p">;</span> </span><span id="L-644"><a href="#L-644"><span class="linenos" data-line="644"></span></a><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span> </span><span id="L-645"><a href="#L-645"><span class="linenos" data-line="645"></span></a><span class="w"> </span><span class="nx">users</span><span class="p">[</span><span class="nx">revision</span><span class="p">.</span><span class="nx">user</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">1</span><span class="p">;</span> </span><span id="L-646"><a href="#L-646"><span class="linenos" data-line="646"></span></a><span class="w"> </span><span class="nx">userCount</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="mf">1</span><span class="p">;</span> </span><span id="L-647"><a href="#L-647"><span class="linenos" data-line="647"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-648"><a href="#L-648"><span class="linenos" data-line="648"></span></a><span class="w"> </span><span class="p">});</span> </span><span id="L-649"><a href="#L-649"><span class="linenos" data-line="649"></span></a><span class="w"> </span> </span><span id="L-650"><a href="#L-650"><span class="linenos" data-line="650"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">moreThan</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">queryContinue</span><span class="w"> </span><span class="o">?</span><span class="w"> </span><span class="s1">'more than '</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="s1">''</span><span class="p">;</span> </span><span id="L-651"><a href="#L-651"><span class="linenos" data-line="651"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">usersArray</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">Object</span><span class="p">.</span><span class="nx">keys</span><span class="p">(</span><span class="nx">users</span><span class="p">).</span><span class="nx">map</span><span class="p">((</span><span class="nx">user</span><span class="p">)</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">[</span> </span><span id="L-652"><a href="#L-652"><span class="linenos" data-line="652"></span></a><span class="w"> </span><span class="nx">user</span><span class="p">,</span> </span><span id="L-653"><a href="#L-653"><span class="linenos" data-line="653"></span></a><span class="w"> </span><span class="nb">parseInt</span><span class="p">(</span><span class="nx">users</span><span class="p">[</span><span class="nx">user</span><span class="p">],</span><span class="w"> </span><span class="mf">10</span><span class="p">),</span> </span><span id="L-654"><a href="#L-654"><span class="linenos" data-line="654"></span></a><span class="w"> </span><span class="p">]);</span> </span><span id="L-655"><a href="#L-655"><span class="linenos" data-line="655"></span></a><span class="w"> </span> </span><span id="L-656"><a href="#L-656"><span class="linenos" data-line="656"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">usersArray2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[...</span><span class="nx">usersArray</span><span class="p">]</span> </span><span id="L-657"><a href="#L-657"><span class="linenos" data-line="657"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">sort</span><span class="p">((</span><span class="nx">a</span><span class="p">,</span><span class="w"> </span><span class="nx">b</span><span class="p">)</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">{</span> </span><span id="L-658"><a href="#L-658"><span class="linenos" data-line="658"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">a</span><span class="p">[</span><span class="mf">1</span><span class="p">]</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="nx">b</span><span class="p">[</span><span class="mf">1</span><span class="p">])</span><span class="w"> </span><span class="p">{</span> </span><span id="L-659"><a href="#L-659"><span class="linenos" data-line="659"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mf">1</span><span class="p">;</span> </span><span id="L-660"><a href="#L-660"><span class="linenos" data-line="660"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-661"><a href="#L-661"><span class="linenos" data-line="661"></span></a><span class="w"> </span> </span><span id="L-662"><a href="#L-662"><span class="linenos" data-line="662"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">a</span><span class="p">[</span><span class="mf">1</span><span class="p">]</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="nx">b</span><span class="p">[</span><span class="mf">1</span><span class="p">])</span><span class="w"> </span><span class="p">{</span> </span><span id="L-663"><a href="#L-663"><span class="linenos" data-line="663"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="o">-</span><span class="mf">1</span><span class="p">;</span> </span><span id="L-664"><a href="#L-664"><span class="linenos" data-line="664"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-665"><a href="#L-665"><span class="linenos" data-line="665"></span></a><span class="w"> </span> </span><span id="L-666"><a href="#L-666"><span class="linenos" data-line="666"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mf">0</span><span class="p">;</span> </span><span id="L-667"><a href="#L-667"><span class="linenos" data-line="667"></span></a><span class="w"> </span><span class="p">})</span> </span><span id="L-668"><a href="#L-668"><span class="linenos" data-line="668"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">map</span><span class="p">((</span><span class="nx">user</span><span class="p">)</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="sb">`</span><span class="si">${</span><span class="nx">user</span><span class="p">[</span><span class="mf">0</span><span class="p">]</span><span class="si">}</span><span class="sb">: </span><span class="si">${</span><span class="nx">user</span><span class="p">[</span><span class="mf">1</span><span class="p">]</span><span class="si">}</span><span class="sb">`</span><span class="p">);</span> </span><span id="L-669"><a href="#L-669"><span class="linenos" data-line="669"></span></a><span class="w"> </span> </span><span id="L-670"><a href="#L-670"><span class="linenos" data-line="670"></span></a><span class="w"> </span><span class="nx">addNewNomData</span><span class="p">({</span> </span><span id="L-671"><a href="#L-671"><span class="linenos" data-line="671"></span></a><span class="w"> </span><span class="nx">pageName</span><span class="p">,</span> </span><span id="L-672"><a href="#L-672"><span class="linenos" data-line="672"></span></a><span class="w"> </span><span class="nx">data</span><span class="o">:</span><span class="w"> </span><span class="sb">`</span><span class="si">${</span><span class="nx">moreThan</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nx">userCount</span><span class="si">}</span><span class="sb"> </span><span class="si">${</span><span class="nx">pluralize</span><span class="p">(</span><span class="s1">'participant'</span><span class="p">,</span><span class="w"> </span><span class="nx">userCount</span><span class="p">)</span><span class="si">}</span><span class="sb">`</span><span class="p">,</span> </span><span id="L-673"><a href="#L-673"><span class="linenos" data-line="673"></span></a><span class="w"> </span><span class="nx">id</span><span class="o">:</span><span class="w"> </span><span class="s1">'participants'</span><span class="p">,</span> </span><span id="L-674"><a href="#L-674"><span class="linenos" data-line="674"></span></a><span class="w"> </span><span class="nx">hoverText</span><span class="o">:</span><span class="w"> </span><span class="sb">`Sorted from most to least edits&#10;Total edits: </span><span class="si">${</span> </span><span id="L-675"><a href="#L-675"><span class="linenos" data-line="675"></span></a><span class="w"> </span><span class="nx">revisions</span><span class="p">.</span><span class="nx">length</span> </span><span id="L-676"><a href="#L-676"><span class="linenos" data-line="676"></span></a><span class="w"> </span><span class="si">}</span><span class="sb">&#10;Format: &quot;editor: \</span> </span><span id="L-677"><a href="#L-677"><span class="linenos" data-line="677"></span></a><span class="sb"> number of edits&quot;:&#10;&#10;</span><span class="si">${</span><span class="nx">usersArray2</span><span class="p">.</span><span class="nx">join</span><span class="p">(</span><span class="s1">'&#10;'</span><span class="p">)</span><span class="si">}</span><span class="sb">`</span><span class="p">,</span> </span><span id="L-678"><a href="#L-678"><span class="linenos" data-line="678"></span></a><span class="w"> </span><span class="p">});</span> </span><span id="L-679"><a href="#L-679"><span class="linenos" data-line="679"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-680"><a href="#L-680"><span class="linenos" data-line="680"></span></a><span class="w"> </span> </span><span id="L-681"><a href="#L-681"><span class="linenos" data-line="681"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">allRevisionsCallback</span><span class="p">(</span><span class="nx">object</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-682"><a href="#L-682"><span class="linenos" data-line="682"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">vars</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">formatJSON</span><span class="p">(</span><span class="nx">object</span><span class="p">);</span> </span><span id="L-683"><a href="#L-683"><span class="linenos" data-line="683"></span></a><span class="w"> </span> </span><span id="L-684"><a href="#L-684"><span class="linenos" data-line="684"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="nx">vars</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-685"><a href="#L-685"><span class="linenos" data-line="685"></span></a><span class="w"> </span><span class="k">return</span><span class="p">;</span> </span><span id="L-686"><a href="#L-686"><span class="linenos" data-line="686"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-687"><a href="#L-687"><span class="linenos" data-line="687"></span></a><span class="w"> </span> </span><span id="L-688"><a href="#L-688"><span class="linenos" data-line="688"></span></a><span class="w"> </span><span class="c1">// Participants</span> </span><span id="L-689"><a href="#L-689"><span class="linenos" data-line="689"></span></a><span class="w"> </span><span class="nx">addParticipants</span><span class="p">(</span><span class="nx">vars</span><span class="p">.</span><span class="nx">revisions</span><span class="p">,</span><span class="w"> </span><span class="nx">vars</span><span class="p">.</span><span class="nx">pageName</span><span class="p">,</span><span class="w"> </span><span class="nx">object</span><span class="p">[</span><span class="s1">'query-continue'</span><span class="p">]);</span> </span><span id="L-690"><a href="#L-690"><span class="linenos" data-line="690"></span></a><span class="w"> </span> </span><span id="L-691"><a href="#L-691"><span class="linenos" data-line="691"></span></a><span class="w"> </span><span class="c1">// Nomination age</span> </span><span id="L-692"><a href="#L-692"><span class="linenos" data-line="692"></span></a><span class="w"> </span><span class="nx">addAge</span><span class="p">(</span><span class="nx">vars</span><span class="p">.</span><span class="nx">firstRevision</span><span class="p">,</span><span class="w"> </span><span class="nx">vars</span><span class="p">.</span><span class="nx">pageName</span><span class="p">);</span> </span><span id="L-693"><a href="#L-693"><span class="linenos" data-line="693"></span></a> </span><span id="L-694"><a href="#L-694"><span class="linenos" data-line="694"></span></a><span class="w"> </span><span class="c1">// Last edit</span> </span><span id="L-695"><a href="#L-695"><span class="linenos" data-line="695"></span></a><span class="w"> </span><span class="nx">addLastEdit</span><span class="p">(</span><span class="nx">vars</span><span class="p">.</span><span class="nx">lastRevision</span><span class="p">,</span><span class="w"> </span><span class="nx">vars</span><span class="p">.</span><span class="nx">pageName</span><span class="p">);</span> </span><span id="L-696"><a href="#L-696"><span class="linenos" data-line="696"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-697"><a href="#L-697"><span class="linenos" data-line="697"></span></a><span class="w"> </span> </span><span id="L-698"><a href="#L-698"><span class="linenos" data-line="698"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">addImagesCount</span><span class="p">(</span><span class="nx">content</span><span class="p">,</span><span class="w"> </span><span class="nx">pageName</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-699"><a href="#L-699"><span class="linenos" data-line="699"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="nx">nomType</span><span class="p">(</span><span class="s1">'pictures'</span><span class="p">)</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="o">!</span><span class="nx">dataIsEnabled</span><span class="p">(</span><span class="s1">'images'</span><span class="p">))</span><span class="w"> </span><span class="p">{</span> </span><span id="L-700"><a href="#L-700"><span class="linenos" data-line="700"></span></a><span class="w"> </span><span class="k">return</span><span class="p">;</span> </span><span id="L-701"><a href="#L-701"><span class="linenos" data-line="701"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-702"><a href="#L-702"><span class="linenos" data-line="702"></span></a><span class="w"> </span> </span><span id="L-703"><a href="#L-703"><span class="linenos" data-line="703"></span></a><span class="w"> </span><span class="c1">// Determine number of images in the nomination</span> </span><span id="L-704"><a href="#L-704"><span class="linenos" data-line="704"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">pattern1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="sr">/\[\[(file|image):.*?]]/gi</span><span class="p">;</span> </span><span id="L-705"><a href="#L-705"><span class="linenos" data-line="705"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">pattern2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="sr">/\n(file|image):.*\|/gi</span><span class="p">;</span> </span><span id="L-706"><a href="#L-706"><span class="linenos" data-line="706"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">matches1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">content</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="nx">pattern1</span><span class="p">);</span> </span><span id="L-707"><a href="#L-707"><span class="linenos" data-line="707"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">matches2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">content</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="nx">pattern2</span><span class="p">);</span> </span><span id="L-708"><a href="#L-708"><span class="linenos" data-line="708"></span></a><span class="w"> </span> </span><span id="L-709"><a href="#L-709"><span class="linenos" data-line="709"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">matches</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">matches1</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="nx">matches2</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="p">[];</span> </span><span id="L-710"><a href="#L-710"><span class="linenos" data-line="710"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">images</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">matches</span><span class="p">.</span><span class="nx">map</span><span class="p">((</span><span class="nx">match</span><span class="p">)</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">{</span> </span><span id="L-711"><a href="#L-711"><span class="linenos" data-line="711"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">split</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">match</span><span class="p">.</span><span class="nx">split</span><span class="p">(</span><span class="s1">'|'</span><span class="p">);</span> </span><span id="L-712"><a href="#L-712"><span class="linenos" data-line="712"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">filename</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$</span><span class="p">.</span><span class="nx">trim</span><span class="p">(</span><span class="nx">split</span><span class="p">[</span><span class="mf">0</span><span class="p">].</span><span class="nx">replace</span><span class="p">(</span><span class="sr">/^\[\[/</span><span class="p">,</span><span class="w"> </span><span class="s1">''</span><span class="p">));</span> </span><span id="L-713"><a href="#L-713"><span class="linenos" data-line="713"></span></a><span class="w"> </span> </span><span id="L-714"><a href="#L-714"><span class="linenos" data-line="714"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">filename</span><span class="p">;</span> </span><span id="L-715"><a href="#L-715"><span class="linenos" data-line="715"></span></a><span class="w"> </span><span class="p">});</span> </span><span id="L-716"><a href="#L-716"><span class="linenos" data-line="716"></span></a><span class="w"> </span> </span><span id="L-717"><a href="#L-717"><span class="linenos" data-line="717"></span></a><span class="w"> </span><span class="nx">addNewNomData</span><span class="p">({</span> </span><span id="L-718"><a href="#L-718"><span class="linenos" data-line="718"></span></a><span class="w"> </span><span class="nx">pageName</span><span class="p">,</span> </span><span id="L-719"><a href="#L-719"><span class="linenos" data-line="719"></span></a><span class="w"> </span><span class="nx">data</span><span class="o">:</span><span class="w"> </span><span class="sb">`</span><span class="si">${</span><span class="nx">matches</span><span class="p">.</span><span class="nx">length</span><span class="si">}</span><span class="sb"> </span><span class="si">${</span><span class="nx">pluralize</span><span class="p">(</span><span class="s1">'image'</span><span class="p">,</span><span class="w"> </span><span class="nx">matches</span><span class="p">.</span><span class="nx">length</span><span class="p">)</span><span class="si">}</span><span class="sb">`</span><span class="p">,</span> </span><span id="L-720"><a href="#L-720"><span class="linenos" data-line="720"></span></a><span class="w"> </span><span class="nx">id</span><span class="o">:</span><span class="w"> </span><span class="s1">'images'</span><span class="p">,</span> </span><span id="L-721"><a href="#L-721"><span class="linenos" data-line="721"></span></a><span class="w"> </span><span class="nx">hoverText</span><span class="o">:</span><span class="w"> </span><span class="sb">`Images (in order of appearance):&#10;&#10;</span><span class="si">${</span><span class="nx">images</span><span class="p">.</span><span class="nx">join</span><span class="p">(</span> </span><span id="L-722"><a href="#L-722"><span class="linenos" data-line="722"></span></a><span class="w"> </span><span class="s1">'&#10;'</span> </span><span id="L-723"><a href="#L-723"><span class="linenos" data-line="723"></span></a><span class="w"> </span><span class="p">)</span><span class="si">}</span><span class="sb">`</span><span class="p">,</span> </span><span id="L-724"><a href="#L-724"><span class="linenos" data-line="724"></span></a><span class="w"> </span><span class="p">});</span> </span><span id="L-725"><a href="#L-725"><span class="linenos" data-line="725"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-726"><a href="#L-726"><span class="linenos" data-line="726"></span></a><span class="w"> </span> </span><span id="L-727"><a href="#L-727"><span class="linenos" data-line="727"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">getNominators</span><span class="p">(</span><span class="nx">content</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-728"><a href="#L-728"><span class="linenos" data-line="728"></span></a><span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">nomTypeText</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">''</span><span class="p">;</span> </span><span id="L-729"><a href="#L-729"><span class="linenos" data-line="729"></span></a><span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">listOfNominators</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{};</span> </span><span id="L-730"><a href="#L-730"><span class="linenos" data-line="730"></span></a><span class="w"> </span> </span><span id="L-731"><a href="#L-731"><span class="linenos" data-line="731"></span></a><span class="w"> </span><span class="k">switch</span><span class="w"> </span><span class="p">(</span><span class="nx">nomType</span><span class="p">())</span><span class="w"> </span><span class="p">{</span> </span><span id="L-732"><a href="#L-732"><span class="linenos" data-line="732"></span></a><span class="w"> </span><span class="k">case</span><span class="w"> </span><span class="s1">'nominations'</span><span class="o">:</span> </span><span id="L-733"><a href="#L-733"><span class="linenos" data-line="733"></span></a><span class="w"> </span><span class="nx">nomTypeText</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'nominator'</span><span class="p">;</span> </span><span id="L-734"><a href="#L-734"><span class="linenos" data-line="734"></span></a><span class="w"> </span><span class="nx">listOfNominators</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">findNominators</span><span class="p">(</span><span class="nx">content</span><span class="p">,</span><span class="w"> </span><span class="sr">/Nominator(\(s\))?:.*/</span><span class="p">);</span> </span><span id="L-735"><a href="#L-735"><span class="linenos" data-line="735"></span></a><span class="w"> </span> </span><span id="L-736"><a href="#L-736"><span class="linenos" data-line="736"></span></a><span class="w"> </span><span class="c1">// No nominators were found, so try once more with a different pattern.</span> </span><span id="L-737"><a href="#L-737"><span class="linenos" data-line="737"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">$</span><span class="p">.</span><span class="nx">isEmptyObject</span><span class="p">(</span><span class="nx">listOfNominators</span><span class="p">))</span><span class="w"> </span><span class="p">{</span> </span><span id="L-738"><a href="#L-738"><span class="linenos" data-line="738"></span></a><span class="w"> </span><span class="nx">listOfNominators</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">findNominators</span><span class="p">(</span><span class="nx">content</span><span class="p">,</span><span class="w"> </span><span class="sr">/:<small>''.*/</span><span class="p">);</span> </span><span id="L-739"><a href="#L-739"><span class="linenos" data-line="739"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-740"><a href="#L-740"><span class="linenos" data-line="740"></span></a><span class="w"> </span> </span><span id="L-741"><a href="#L-741"><span class="linenos" data-line="741"></span></a><span class="w"> </span><span class="k">break</span><span class="p">;</span> </span><span id="L-742"><a href="#L-742"><span class="linenos" data-line="742"></span></a><span class="w"> </span><span class="k">case</span><span class="w"> </span><span class="s1">'reviews'</span><span class="o">:</span> </span><span id="L-743"><a href="#L-743"><span class="linenos" data-line="743"></span></a><span class="w"> </span><span class="nx">nomTypeText</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'notification'</span><span class="p">;</span> </span><span id="L-744"><a href="#L-744"><span class="linenos" data-line="744"></span></a><span class="w"> </span><span class="nx">listOfNominators</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">findNominators</span><span class="p">(</span><span class="nx">content</span><span class="p">,</span><span class="w"> </span><span class="sr">/(Notified|Notifying):?.*/</span><span class="p">);</span> </span><span id="L-745"><a href="#L-745"><span class="linenos" data-line="745"></span></a><span class="w"> </span> </span><span id="L-746"><a href="#L-746"><span class="linenos" data-line="746"></span></a><span class="w"> </span><span class="k">break</span><span class="p">;</span> </span><span id="L-747"><a href="#L-747"><span class="linenos" data-line="747"></span></a><span class="w"> </span><span class="k">case</span><span class="w"> </span><span class="s1">'pictures'</span><span class="o">:</span> </span><span id="L-748"><a href="#L-748"><span class="linenos" data-line="748"></span></a><span class="w"> </span><span class="nx">nomTypeText</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'nominator'</span><span class="p">;</span> </span><span id="L-749"><a href="#L-749"><span class="linenos" data-line="749"></span></a><span class="w"> </span><span class="nx">listOfNominators</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">findNominators</span><span class="p">(</span> </span><span id="L-750"><a href="#L-750"><span class="linenos" data-line="750"></span></a><span class="w"> </span><span class="nx">content</span><span class="p">,</span> </span><span id="L-751"><a href="#L-751"><span class="linenos" data-line="751"></span></a><span class="w"> </span><span class="sr">/\* '''Support as nominator''' – .*/</span> </span><span id="L-752"><a href="#L-752"><span class="linenos" data-line="752"></span></a><span class="w"> </span><span class="p">);</span> </span><span id="L-753"><a href="#L-753"><span class="linenos" data-line="753"></span></a><span class="w"> </span> </span><span id="L-754"><a href="#L-754"><span class="linenos" data-line="754"></span></a><span class="w"> </span><span class="k">break</span><span class="p">;</span> </span><span id="L-755"><a href="#L-755"><span class="linenos" data-line="755"></span></a><span class="w"> </span><span class="k">default</span><span class="o">:</span> </span><span id="L-756"><a href="#L-756"><span class="linenos" data-line="756"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-757"><a href="#L-757"><span class="linenos" data-line="757"></span></a><span class="w"> </span> </span><span id="L-758"><a href="#L-758"><span class="linenos" data-line="758"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">listOfNominators</span><span class="p">,</span><span class="w"> </span><span class="nx">nomTypeText</span><span class="w"> </span><span class="p">};</span> </span><span id="L-759"><a href="#L-759"><span class="linenos" data-line="759"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-760"><a href="#L-760"><span class="linenos" data-line="760"></span></a><span class="w"> </span> </span><span id="L-761"><a href="#L-761"><span class="linenos" data-line="761"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">addNominators</span><span class="p">(</span><span class="nx">content</span><span class="p">,</span><span class="w"> </span><span class="nx">pageName</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-762"><a href="#L-762"><span class="linenos" data-line="762"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="nx">dataIsEnabled</span><span class="p">(</span><span class="s1">'nominators'</span><span class="p">)</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="nx">nomType</span><span class="p">(</span><span class="s1">'peer reviews'</span><span class="p">))</span><span class="w"> </span><span class="p">{</span> </span><span id="L-763"><a href="#L-763"><span class="linenos" data-line="763"></span></a><span class="w"> </span><span class="k">return</span><span class="p">;</span> </span><span id="L-764"><a href="#L-764"><span class="linenos" data-line="764"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-765"><a href="#L-765"><span class="linenos" data-line="765"></span></a><span class="w"> </span> </span><span id="L-766"><a href="#L-766"><span class="linenos" data-line="766"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">listOfNominators</span><span class="p">,</span><span class="w"> </span><span class="nx">nomTypeText</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">getNominators</span><span class="p">(</span><span class="nx">content</span><span class="p">);</span> </span><span id="L-767"><a href="#L-767"><span class="linenos" data-line="767"></span></a><span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">allNominators</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">Object</span><span class="p">.</span><span class="nx">keys</span><span class="p">(</span><span class="nx">listOfNominators</span><span class="p">)</span> </span><span id="L-768"><a href="#L-768"><span class="linenos" data-line="768"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">map</span><span class="p">((</span><span class="nx">n</span><span class="p">)</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="nx">n</span><span class="p">)</span> </span><span id="L-769"><a href="#L-769"><span class="linenos" data-line="769"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">sort</span><span class="p">();</span> </span><span id="L-770"><a href="#L-770"><span class="linenos" data-line="770"></span></a><span class="w"> </span> </span><span id="L-771"><a href="#L-771"><span class="linenos" data-line="771"></span></a><span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">data</span><span class="p">;</span> </span><span id="L-772"><a href="#L-772"><span class="linenos" data-line="772"></span></a><span class="w"> </span> </span><span id="L-773"><a href="#L-773"><span class="linenos" data-line="773"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">allNominators</span><span class="p">.</span><span class="nx">length</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="mf">0</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-774"><a href="#L-774"><span class="linenos" data-line="774"></span></a><span class="w"> </span><span class="nx">data</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="sb">`</span><span class="si">${</span><span class="nx">allNominators</span><span class="p">.</span><span class="nx">length</span><span class="si">}</span><span class="sb"> </span><span class="si">${</span><span class="nx">pluralize</span><span class="p">(</span> </span><span id="L-775"><a href="#L-775"><span class="linenos" data-line="775"></span></a><span class="w"> </span><span class="nx">nomTypeText</span><span class="p">,</span> </span><span id="L-776"><a href="#L-776"><span class="linenos" data-line="776"></span></a><span class="w"> </span><span class="nx">allNominators</span><span class="p">.</span><span class="nx">length</span> </span><span id="L-777"><a href="#L-777"><span class="linenos" data-line="777"></span></a><span class="w"> </span><span class="p">)</span><span class="si">}</span><span class="sb">`</span><span class="p">;</span> </span><span id="L-778"><a href="#L-778"><span class="linenos" data-line="778"></span></a><span class="w"> </span> </span><span id="L-779"><a href="#L-779"><span class="linenos" data-line="779"></span></a><span class="w"> </span><span class="c1">// We couldn't identify any nominators.</span> </span><span id="L-780"><a href="#L-780"><span class="linenos" data-line="780"></span></a><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span> </span><span id="L-781"><a href="#L-781"><span class="linenos" data-line="781"></span></a><span class="w"> </span><span class="c1">// Use the first username on the page to determine the nominator.</span> </span><span id="L-782"><a href="#L-782"><span class="linenos" data-line="782"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">matches</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">content</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/\[\[User:(.*?)[\]|]/</span><span class="p">);</span> </span><span id="L-783"><a href="#L-783"><span class="linenos" data-line="783"></span></a><span class="w"> </span> </span><span id="L-784"><a href="#L-784"><span class="linenos" data-line="784"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">nomType</span><span class="p">(</span><span class="s1">'nominations'</span><span class="p">)</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="nx">matches</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-785"><a href="#L-785"><span class="linenos" data-line="785"></span></a><span class="w"> </span><span class="nx">allNominators</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="nx">matches</span><span class="p">[</span><span class="mf">1</span><span class="p">]];</span> </span><span id="L-786"><a href="#L-786"><span class="linenos" data-line="786"></span></a><span class="w"> </span><span class="nx">data</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="sb">`</span><span class="si">${</span><span class="nx">allNominators</span><span class="p">.</span><span class="nx">length</span><span class="si">}</span><span class="sb"> </span><span class="si">${</span><span class="nx">pluralize</span><span class="p">(</span> </span><span id="L-787"><a href="#L-787"><span class="linenos" data-line="787"></span></a><span class="w"> </span><span class="nx">nomTypeText</span><span class="p">,</span> </span><span id="L-788"><a href="#L-788"><span class="linenos" data-line="788"></span></a><span class="w"> </span><span class="nx">allNominators</span><span class="p">.</span><span class="nx">length</span> </span><span id="L-789"><a href="#L-789"><span class="linenos" data-line="789"></span></a><span class="w"> </span><span class="p">)</span><span class="si">}</span><span class="sb">`</span><span class="p">;</span> </span><span id="L-790"><a href="#L-790"><span class="linenos" data-line="790"></span></a><span class="w"> </span> </span><span id="L-791"><a href="#L-791"><span class="linenos" data-line="791"></span></a><span class="w"> </span><span class="c1">// This is not a nomination-type, and we couldn't find any relevant</span> </span><span id="L-792"><a href="#L-792"><span class="linenos" data-line="792"></span></a><span class="w"> </span><span class="c1">// users, so we have to assume that there are none.</span> </span><span id="L-793"><a href="#L-793"><span class="linenos" data-line="793"></span></a><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span> </span><span id="L-794"><a href="#L-794"><span class="linenos" data-line="794"></span></a><span class="w"> </span><span class="nx">data</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="sb">`0 </span><span class="si">${</span><span class="nx">pluralize</span><span class="p">(</span><span class="nx">nomTypeText</span><span class="p">,</span><span class="w"> </span><span class="mf">0</span><span class="p">)</span><span class="si">}</span><span class="sb">`</span><span class="p">;</span> </span><span id="L-795"><a href="#L-795"><span class="linenos" data-line="795"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-796"><a href="#L-796"><span class="linenos" data-line="796"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-797"><a href="#L-797"><span class="linenos" data-line="797"></span></a><span class="w"> </span> </span><span id="L-798"><a href="#L-798"><span class="linenos" data-line="798"></span></a><span class="w"> </span><span class="nx">addNewNomData</span><span class="p">({</span> </span><span id="L-799"><a href="#L-799"><span class="linenos" data-line="799"></span></a><span class="w"> </span><span class="nx">pageName</span><span class="p">,</span> </span><span id="L-800"><a href="#L-800"><span class="linenos" data-line="800"></span></a><span class="w"> </span><span class="nx">data</span><span class="p">,</span> </span><span id="L-801"><a href="#L-801"><span class="linenos" data-line="801"></span></a><span class="w"> </span><span class="nx">id</span><span class="o">:</span><span class="w"> </span><span class="s1">'nominators'</span><span class="p">,</span> </span><span id="L-802"><a href="#L-802"><span class="linenos" data-line="802"></span></a><span class="w"> </span><span class="nx">hoverText</span><span class="o">:</span><span class="w"> </span><span class="sb">`</span><span class="si">${</span><span class="nx">pluralize</span><span class="p">(</span> </span><span id="L-803"><a href="#L-803"><span class="linenos" data-line="803"></span></a><span class="w"> </span><span class="nx">capitalize</span><span class="p">(</span><span class="nx">nomTypeText</span><span class="p">),</span> </span><span id="L-804"><a href="#L-804"><span class="linenos" data-line="804"></span></a><span class="w"> </span><span class="nx">allNominators</span><span class="p">.</span><span class="nx">length</span> </span><span id="L-805"><a href="#L-805"><span class="linenos" data-line="805"></span></a><span class="w"> </span><span class="p">)</span><span class="si">}</span><span class="sb"> (sorted alphabetically):&#10;&#10;</span><span class="si">${</span><span class="nx">allNominators</span><span class="p">.</span><span class="nx">join</span><span class="p">(</span><span class="s1">'&#10;'</span><span class="p">)</span><span class="si">}</span><span class="sb">`</span><span class="p">,</span> </span><span id="L-806"><a href="#L-806"><span class="linenos" data-line="806"></span></a><span class="w"> </span><span class="p">});</span> </span><span id="L-807"><a href="#L-807"><span class="linenos" data-line="807"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-808"><a href="#L-808"><span class="linenos" data-line="808"></span></a><span class="w"> </span> </span><span id="L-809"><a href="#L-809"><span class="linenos" data-line="809"></span></a><span class="w"> </span><span class="cm">/**</span> </span><span id="L-810"><a href="#L-810"><span class="linenos" data-line="810"></span></a><span class="cm"> * Generate the patterns used to find vote text.</span> </span><span id="L-811"><a href="#L-811"><span class="linenos" data-line="811"></span></a><span class="cm"> *</span> </span><span id="L-812"><a href="#L-812"><span class="linenos" data-line="812"></span></a><span class="cm"> * @returns {Object} The patterns.</span> </span><span id="L-813"><a href="#L-813"><span class="linenos" data-line="813"></span></a><span class="cm"> */</span> </span><span id="L-814"><a href="#L-814"><span class="linenos" data-line="814"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">getVoteTextAndPatterns</span><span class="p">()</span><span class="w"> </span><span class="p">{</span> </span><span id="L-815"><a href="#L-815"><span class="linenos" data-line="815"></span></a><span class="w"> </span><span class="c1">// Look for text that is enclosed within bold text, or level-4 (or greater)</span> </span><span id="L-816"><a href="#L-816"><span class="linenos" data-line="816"></span></a><span class="w"> </span><span class="c1">// headings.</span> </span><span id="L-817"><a href="#L-817"><span class="linenos" data-line="817"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">wrapPattern</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"('''|====)"</span><span class="p">;</span> </span><span id="L-818"><a href="#L-818"><span class="linenos" data-line="818"></span></a><span class="w"> </span> </span><span id="L-819"><a href="#L-819"><span class="linenos" data-line="819"></span></a><span class="w"> </span><span class="c1">// The amount of characters allowed between the vote text, and the wrapping</span> </span><span id="L-820"><a href="#L-820"><span class="linenos" data-line="820"></span></a><span class="w"> </span><span class="c1">// patterns.</span> </span><span id="L-821"><a href="#L-821"><span class="linenos" data-line="821"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">voteBuffer</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">25</span><span class="p">;</span> </span><span id="L-822"><a href="#L-822"><span class="linenos" data-line="822"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">textPattern</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="sb">`(.{0,</span><span class="si">${</span><span class="nx">voteBuffer</span><span class="si">}</span><span class="sb">})?`</span><span class="p">;</span> </span><span id="L-823"><a href="#L-823"><span class="linenos" data-line="823"></span></a><span class="w"> </span> </span><span id="L-824"><a href="#L-824"><span class="linenos" data-line="824"></span></a><span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">openPattern</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="sb">`</span><span class="si">${</span><span class="nx">wrapPattern</span><span class="si">}${</span><span class="nx">textPattern</span><span class="si">}</span><span class="sb">`</span><span class="p">;</span> </span><span id="L-825"><a href="#L-825"><span class="linenos" data-line="825"></span></a><span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">closePattern</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="sb">`</span><span class="si">${</span><span class="nx">textPattern</span><span class="si">}${</span><span class="nx">wrapPattern</span><span class="si">}</span><span class="sb">`</span><span class="p">;</span> </span><span id="L-826"><a href="#L-826"><span class="linenos" data-line="826"></span></a><span class="w"> </span> </span><span id="L-827"><a href="#L-827"><span class="linenos" data-line="827"></span></a><span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">supportText</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'support'</span><span class="p">;</span> </span><span id="L-828"><a href="#L-828"><span class="linenos" data-line="828"></span></a><span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">opposeText</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'oppose'</span><span class="p">;</span> </span><span id="L-829"><a href="#L-829"><span class="linenos" data-line="829"></span></a><span class="w"> </span> </span><span id="L-830"><a href="#L-830"><span class="linenos" data-line="830"></span></a><span class="w"> </span><span class="c1">// Use different words for review pages.</span> </span><span id="L-831"><a href="#L-831"><span class="linenos" data-line="831"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">nomType</span><span class="p">(</span><span class="s1">'reviews'</span><span class="p">))</span><span class="w"> </span><span class="p">{</span> </span><span id="L-832"><a href="#L-832"><span class="linenos" data-line="832"></span></a><span class="w"> </span><span class="nx">supportText</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'keep'</span><span class="p">;</span> </span><span id="L-833"><a href="#L-833"><span class="linenos" data-line="833"></span></a><span class="w"> </span><span class="nx">opposeText</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'delist'</span><span class="p">;</span> </span><span id="L-834"><a href="#L-834"><span class="linenos" data-line="834"></span></a><span class="w"> </span> </span><span id="L-835"><a href="#L-835"><span class="linenos" data-line="835"></span></a><span class="w"> </span><span class="c1">// Pictures has their own specific method of declaring votes.</span> </span><span id="L-836"><a href="#L-836"><span class="linenos" data-line="836"></span></a><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">nomType</span><span class="p">(</span><span class="s1">'pictures'</span><span class="p">))</span><span class="w"> </span><span class="p">{</span> </span><span id="L-837"><a href="#L-837"><span class="linenos" data-line="837"></span></a><span class="w"> </span><span class="nx">openPattern</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"\\*(\\s)?'''.*?"</span><span class="p">;</span> </span><span id="L-838"><a href="#L-838"><span class="linenos" data-line="838"></span></a><span class="w"> </span><span class="nx">closePattern</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">".*?'''"</span><span class="p">;</span> </span><span id="L-839"><a href="#L-839"><span class="linenos" data-line="839"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-840"><a href="#L-840"><span class="linenos" data-line="840"></span></a><span class="w"> </span> </span><span id="L-841"><a href="#L-841"><span class="linenos" data-line="841"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">createPattern</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="nx">text</span><span class="p">)</span><span class="w"> </span><span class="p">=></span> </span><span id="L-842"><a href="#L-842"><span class="linenos" data-line="842"></span></a><span class="w"> </span><span class="ow">new</span><span class="w"> </span><span class="nb">RegExp</span><span class="p">(</span> </span><span id="L-843"><a href="#L-843"><span class="linenos" data-line="843"></span></a><span class="w"> </span><span class="sb">`(</span><span class="si">${</span><span class="nx">openPattern</span><span class="si">}${</span><span class="nx">text</span><span class="si">}${</span><span class="nx">closePattern</span><span class="si">}</span><span class="sb">|^;</span><span class="si">${</span><span class="nx">textPattern</span><span class="si">}${</span><span class="nx">text</span><span class="si">}</span><span class="sb">)`</span><span class="p">,</span> </span><span id="L-844"><a href="#L-844"><span class="linenos" data-line="844"></span></a><span class="w"> </span><span class="s1">'gim'</span> </span><span id="L-845"><a href="#L-845"><span class="linenos" data-line="845"></span></a><span class="w"> </span><span class="p">);</span> </span><span id="L-846"><a href="#L-846"><span class="linenos" data-line="846"></span></a><span class="w"> </span> </span><span id="L-847"><a href="#L-847"><span class="linenos" data-line="847"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="p">{</span> </span><span id="L-848"><a href="#L-848"><span class="linenos" data-line="848"></span></a><span class="w"> </span><span class="nx">supportText</span><span class="p">,</span> </span><span id="L-849"><a href="#L-849"><span class="linenos" data-line="849"></span></a><span class="w"> </span><span class="nx">supportPattern</span><span class="o">:</span><span class="w"> </span><span class="nx">createPattern</span><span class="p">(</span><span class="nx">supportText</span><span class="p">),</span> </span><span id="L-850"><a href="#L-850"><span class="linenos" data-line="850"></span></a><span class="w"> </span><span class="nx">opposeText</span><span class="p">,</span> </span><span id="L-851"><a href="#L-851"><span class="linenos" data-line="851"></span></a><span class="w"> </span><span class="nx">opposePattern</span><span class="o">:</span><span class="w"> </span><span class="nx">createPattern</span><span class="p">(</span><span class="nx">opposeText</span><span class="p">),</span> </span><span id="L-852"><a href="#L-852"><span class="linenos" data-line="852"></span></a><span class="w"> </span><span class="p">};</span> </span><span id="L-853"><a href="#L-853"><span class="linenos" data-line="853"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-854"><a href="#L-854"><span class="linenos" data-line="854"></span></a><span class="w"> </span> </span><span id="L-855"><a href="#L-855"><span class="linenos" data-line="855"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">shouldShowVotes</span><span class="p">()</span><span class="w"> </span><span class="p">{</span> </span><span id="L-856"><a href="#L-856"><span class="linenos" data-line="856"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">showOpposesForNominations</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">false</span><span class="p">;</span> </span><span id="L-857"><a href="#L-857"><span class="linenos" data-line="857"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">showOpposesForReviews</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span> </span><span id="L-858"><a href="#L-858"><span class="linenos" data-line="858"></span></a><span class="w"> </span> </span><span id="L-859"><a href="#L-859"><span class="linenos" data-line="859"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="p">(</span> </span><span id="L-860"><a href="#L-860"><span class="linenos" data-line="860"></span></a><span class="w"> </span><span class="p">((</span><span class="nx">nomType</span><span class="p">(</span><span class="s1">'nominations'</span><span class="p">)</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="nx">nomType</span><span class="p">(</span><span class="s1">'pictures'</span><span class="p">))</span><span class="w"> </span><span class="o">&&</span> </span><span id="L-861"><a href="#L-861"><span class="linenos" data-line="861"></span></a><span class="w"> </span><span class="nx">showOpposesForNominations</span><span class="p">)</span><span class="w"> </span><span class="o">||</span> </span><span id="L-862"><a href="#L-862"><span class="linenos" data-line="862"></span></a><span class="w"> </span><span class="p">(</span><span class="nx">nomType</span><span class="p">(</span><span class="s1">'reviews'</span><span class="p">)</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="nx">showOpposesForReviews</span><span class="p">)</span> </span><span id="L-863"><a href="#L-863"><span class="linenos" data-line="863"></span></a><span class="w"> </span><span class="p">);</span> </span><span id="L-864"><a href="#L-864"><span class="linenos" data-line="864"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-865"><a href="#L-865"><span class="linenos" data-line="865"></span></a><span class="w"> </span> </span><span id="L-866"><a href="#L-866"><span class="linenos" data-line="866"></span></a><span class="w"> </span><span class="cm">/**</span> </span><span id="L-867"><a href="#L-867"><span class="linenos" data-line="867"></span></a><span class="cm"> * Add votes data to a nomination.</span> </span><span id="L-868"><a href="#L-868"><span class="linenos" data-line="868"></span></a><span class="cm"> *</span> </span><span id="L-869"><a href="#L-869"><span class="linenos" data-line="869"></span></a><span class="cm"> * @param {string} content The nomination's content.</span> </span><span id="L-870"><a href="#L-870"><span class="linenos" data-line="870"></span></a><span class="cm"> * @param {string} pageName The page name.</span> </span><span id="L-871"><a href="#L-871"><span class="linenos" data-line="871"></span></a><span class="cm"> * @returns {undefined}</span> </span><span id="L-872"><a href="#L-872"><span class="linenos" data-line="872"></span></a><span class="cm"> */</span> </span><span id="L-873"><a href="#L-873"><span class="linenos" data-line="873"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">addVotes</span><span class="p">(</span><span class="nx">content</span><span class="p">,</span><span class="w"> </span><span class="nx">pageName</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-874"><a href="#L-874"><span class="linenos" data-line="874"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="nx">dataIsEnabled</span><span class="p">(</span><span class="s1">'votes'</span><span class="p">)</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="nx">nomType</span><span class="p">(</span><span class="s1">'peer reviews'</span><span class="p">))</span><span class="w"> </span><span class="p">{</span> </span><span id="L-875"><a href="#L-875"><span class="linenos" data-line="875"></span></a><span class="w"> </span><span class="k">return</span><span class="p">;</span> </span><span id="L-876"><a href="#L-876"><span class="linenos" data-line="876"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-877"><a href="#L-877"><span class="linenos" data-line="877"></span></a><span class="w"> </span> </span><span id="L-878"><a href="#L-878"><span class="linenos" data-line="878"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="p">{</span> </span><span id="L-879"><a href="#L-879"><span class="linenos" data-line="879"></span></a><span class="w"> </span><span class="nx">supportText</span><span class="p">,</span> </span><span id="L-880"><a href="#L-880"><span class="linenos" data-line="880"></span></a><span class="w"> </span><span class="nx">supportPattern</span><span class="p">,</span> </span><span id="L-881"><a href="#L-881"><span class="linenos" data-line="881"></span></a><span class="w"> </span><span class="nx">opposeText</span><span class="p">,</span> </span><span id="L-882"><a href="#L-882"><span class="linenos" data-line="882"></span></a><span class="w"> </span><span class="nx">opposePattern</span><span class="p">,</span> </span><span id="L-883"><a href="#L-883"><span class="linenos" data-line="883"></span></a><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">getVoteTextAndPatterns</span><span class="p">();</span> </span><span id="L-884"><a href="#L-884"><span class="linenos" data-line="884"></span></a><span class="w"> </span> </span><span id="L-885"><a href="#L-885"><span class="linenos" data-line="885"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">supportMatches</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">content</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="nx">supportPattern</span><span class="p">)</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="p">[];</span> </span><span id="L-886"><a href="#L-886"><span class="linenos" data-line="886"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">opposeMatches</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">content</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="nx">opposePattern</span><span class="p">)</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="p">[];</span> </span><span id="L-887"><a href="#L-887"><span class="linenos" data-line="887"></span></a><span class="w"> </span> </span><span id="L-888"><a href="#L-888"><span class="linenos" data-line="888"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">supports</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="sb">`</span><span class="si">${</span><span class="nx">supportMatches</span><span class="p">.</span><span class="nx">length</span><span class="si">}</span><span class="sb"> </span><span class="si">${</span><span class="nx">pluralize</span><span class="p">(</span> </span><span id="L-889"><a href="#L-889"><span class="linenos" data-line="889"></span></a><span class="w"> </span><span class="nx">supportText</span><span class="p">,</span> </span><span id="L-890"><a href="#L-890"><span class="linenos" data-line="890"></span></a><span class="w"> </span><span class="nx">supportMatches</span><span class="p">.</span><span class="nx">length</span> </span><span id="L-891"><a href="#L-891"><span class="linenos" data-line="891"></span></a><span class="w"> </span><span class="p">)</span><span class="si">}</span><span class="sb">`</span><span class="p">;</span> </span><span id="L-892"><a href="#L-892"><span class="linenos" data-line="892"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">opposes</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="sb">`, </span><span class="si">${</span><span class="nx">opposeMatches</span><span class="p">.</span><span class="nx">length</span><span class="si">}</span><span class="sb"> </span><span class="si">${</span><span class="nx">pluralize</span><span class="p">(</span> </span><span id="L-893"><a href="#L-893"><span class="linenos" data-line="893"></span></a><span class="w"> </span><span class="nx">opposeText</span><span class="p">,</span> </span><span id="L-894"><a href="#L-894"><span class="linenos" data-line="894"></span></a><span class="w"> </span><span class="nx">opposeMatches</span><span class="p">.</span><span class="nx">length</span> </span><span id="L-895"><a href="#L-895"><span class="linenos" data-line="895"></span></a><span class="w"> </span><span class="p">)</span><span class="si">}</span><span class="sb">`</span><span class="p">;</span> </span><span id="L-896"><a href="#L-896"><span class="linenos" data-line="896"></span></a><span class="w"> </span> </span><span id="L-897"><a href="#L-897"><span class="linenos" data-line="897"></span></a><span class="w"> </span><span class="nx">addNewNomData</span><span class="p">({</span> </span><span id="L-898"><a href="#L-898"><span class="linenos" data-line="898"></span></a><span class="w"> </span><span class="nx">pageName</span><span class="p">,</span> </span><span id="L-899"><a href="#L-899"><span class="linenos" data-line="899"></span></a><span class="w"> </span><span class="nx">data</span><span class="o">:</span><span class="w"> </span><span class="nx">shouldShowVotes</span><span class="p">()</span><span class="w"> </span><span class="o">?</span><span class="w"> </span><span class="nx">supports</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nx">opposes</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="nx">supports</span><span class="p">,</span> </span><span id="L-900"><a href="#L-900"><span class="linenos" data-line="900"></span></a><span class="w"> </span><span class="nx">id</span><span class="o">:</span><span class="w"> </span><span class="s1">'votes'</span><span class="p">,</span> </span><span id="L-901"><a href="#L-901"><span class="linenos" data-line="901"></span></a><span class="w"> </span><span class="nx">hoverText</span><span class="o">:</span><span class="w"> </span><span class="nx">supports</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nx">opposes</span><span class="p">,</span> </span><span id="L-902"><a href="#L-902"><span class="linenos" data-line="902"></span></a><span class="w"> </span><span class="p">});</span> </span><span id="L-903"><a href="#L-903"><span class="linenos" data-line="903"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-904"><a href="#L-904"><span class="linenos" data-line="904"></span></a><span class="w"> </span> </span><span id="L-905"><a href="#L-905"><span class="linenos" data-line="905"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">currentRevisionCallback</span><span class="p">(</span><span class="nx">object</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-906"><a href="#L-906"><span class="linenos" data-line="906"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">vars</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">formatJSON</span><span class="p">(</span><span class="nx">object</span><span class="p">);</span> </span><span id="L-907"><a href="#L-907"><span class="linenos" data-line="907"></span></a><span class="w"> </span> </span><span id="L-908"><a href="#L-908"><span class="linenos" data-line="908"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="nx">vars</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-909"><a href="#L-909"><span class="linenos" data-line="909"></span></a><span class="w"> </span><span class="k">return</span><span class="p">;</span> </span><span id="L-910"><a href="#L-910"><span class="linenos" data-line="910"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-911"><a href="#L-911"><span class="linenos" data-line="911"></span></a><span class="w"> </span> </span><span id="L-912"><a href="#L-912"><span class="linenos" data-line="912"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">content</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">vars</span><span class="p">.</span><span class="nx">firstRevision</span><span class="w"> </span><span class="o">?</span><span class="w"> </span><span class="nx">vars</span><span class="p">.</span><span class="nx">firstRevision</span><span class="p">[</span><span class="s1">'*'</span><span class="p">]</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="kc">null</span><span class="p">;</span> </span><span id="L-913"><a href="#L-913"><span class="linenos" data-line="913"></span></a><span class="w"> </span> </span><span id="L-914"><a href="#L-914"><span class="linenos" data-line="914"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="nx">content</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-915"><a href="#L-915"><span class="linenos" data-line="915"></span></a><span class="w"> </span><span class="k">return</span><span class="p">;</span> </span><span id="L-916"><a href="#L-916"><span class="linenos" data-line="916"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-917"><a href="#L-917"><span class="linenos" data-line="917"></span></a><span class="w"> </span> </span><span id="L-918"><a href="#L-918"><span class="linenos" data-line="918"></span></a><span class="w"> </span><span class="c1">// 'images'</span> </span><span id="L-919"><a href="#L-919"><span class="linenos" data-line="919"></span></a><span class="w"> </span><span class="nx">addImagesCount</span><span class="p">(</span><span class="nx">content</span><span class="p">,</span><span class="w"> </span><span class="nx">vars</span><span class="p">.</span><span class="nx">pageName</span><span class="p">);</span> </span><span id="L-920"><a href="#L-920"><span class="linenos" data-line="920"></span></a><span class="w"> </span> </span><span id="L-921"><a href="#L-921"><span class="linenos" data-line="921"></span></a><span class="w"> </span><span class="c1">// 'nominators'</span> </span><span id="L-922"><a href="#L-922"><span class="linenos" data-line="922"></span></a><span class="w"> </span><span class="nx">addNominators</span><span class="p">(</span><span class="nx">content</span><span class="p">,</span><span class="w"> </span><span class="nx">vars</span><span class="p">.</span><span class="nx">pageName</span><span class="p">);</span> </span><span id="L-923"><a href="#L-923"><span class="linenos" data-line="923"></span></a><span class="w"> </span> </span><span id="L-924"><a href="#L-924"><span class="linenos" data-line="924"></span></a><span class="w"> </span><span class="c1">// 'votes'</span> </span><span id="L-925"><a href="#L-925"><span class="linenos" data-line="925"></span></a><span class="w"> </span><span class="nx">addVotes</span><span class="p">(</span><span class="nx">content</span><span class="p">,</span><span class="w"> </span><span class="nx">vars</span><span class="p">.</span><span class="nx">pageName</span><span class="p">);</span> </span><span id="L-926"><a href="#L-926"><span class="linenos" data-line="926"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-927"><a href="#L-927"><span class="linenos" data-line="927"></span></a><span class="w"> </span> </span><span id="L-928"><a href="#L-928"><span class="linenos" data-line="928"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">addAge</span><span class="p">(</span><span class="nx">firstRevision</span><span class="p">,</span><span class="w"> </span><span class="nx">pageName</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-929"><a href="#L-929"><span class="linenos" data-line="929"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="nx">dataIsEnabled</span><span class="p">(</span><span class="s1">'age'</span><span class="p">)</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="o">!</span><span class="nx">firstRevision</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-930"><a href="#L-930"><span class="linenos" data-line="930"></span></a><span class="w"> </span><span class="k">return</span><span class="p">;</span> </span><span id="L-931"><a href="#L-931"><span class="linenos" data-line="931"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-932"><a href="#L-932"><span class="linenos" data-line="932"></span></a><span class="w"> </span> </span><span id="L-933"><a href="#L-933"><span class="linenos" data-line="933"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">timeAgo</span><span class="p">,</span><span class="w"> </span><span class="nx">then</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">getTimeAgo</span><span class="p">(</span><span class="nx">firstRevision</span><span class="p">.</span><span class="nx">timestamp</span><span class="p">);</span> </span><span id="L-934"><a href="#L-934"><span class="linenos" data-line="934"></span></a><span class="w"> </span> </span><span id="L-935"><a href="#L-935"><span class="linenos" data-line="935"></span></a><span class="w"> </span><span class="nx">addNewNomData</span><span class="p">({</span> </span><span id="L-936"><a href="#L-936"><span class="linenos" data-line="936"></span></a><span class="w"> </span><span class="nx">pageName</span><span class="p">,</span> </span><span id="L-937"><a href="#L-937"><span class="linenos" data-line="937"></span></a><span class="w"> </span><span class="nx">data</span><span class="o">:</span><span class="w"> </span><span class="nx">timeAgo</span><span class="p">,</span> </span><span id="L-938"><a href="#L-938"><span class="linenos" data-line="938"></span></a><span class="w"> </span><span class="nx">id</span><span class="o">:</span><span class="w"> </span><span class="s1">'age'</span><span class="p">,</span> </span><span id="L-939"><a href="#L-939"><span class="linenos" data-line="939"></span></a><span class="w"> </span><span class="nx">hoverText</span><span class="o">:</span><span class="w"> </span><span class="sb">`Creation date (local time):&#10;&#10;</span><span class="si">${</span><span class="nx">then</span><span class="si">}</span><span class="sb">`</span><span class="p">,</span> </span><span id="L-940"><a href="#L-940"><span class="linenos" data-line="940"></span></a><span class="w"> </span><span class="p">});</span> </span><span id="L-941"><a href="#L-941"><span class="linenos" data-line="941"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-942"><a href="#L-942"><span class="linenos" data-line="942"></span></a> </span><span id="L-943"><a href="#L-943"><span class="linenos" data-line="943"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">addLastEdit</span><span class="p">(</span><span class="nx">lastRevision</span><span class="p">,</span><span class="w"> </span><span class="nx">pageName</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-944"><a href="#L-944"><span class="linenos" data-line="944"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="nx">dataIsEnabled</span><span class="p">(</span><span class="s1">'lastedit'</span><span class="p">)</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="o">!</span><span class="nx">lastRevision</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-945"><a href="#L-945"><span class="linenos" data-line="945"></span></a><span class="w"> </span><span class="k">return</span><span class="p">;</span> </span><span id="L-946"><a href="#L-946"><span class="linenos" data-line="946"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-947"><a href="#L-947"><span class="linenos" data-line="947"></span></a><span class="w"> </span> </span><span id="L-948"><a href="#L-948"><span class="linenos" data-line="948"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">timeAgo</span><span class="p">,</span><span class="w"> </span><span class="nx">then</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">getActivity</span><span class="p">(</span><span class="nx">lastRevision</span><span class="p">.</span><span class="nx">timestamp</span><span class="p">);</span> </span><span id="L-949"><a href="#L-949"><span class="linenos" data-line="949"></span></a><span class="w"> </span> </span><span id="L-950"><a href="#L-950"><span class="linenos" data-line="950"></span></a><span class="w"> </span><span class="nx">addNewNomData</span><span class="p">({</span> </span><span id="L-951"><a href="#L-951"><span class="linenos" data-line="951"></span></a><span class="w"> </span><span class="nx">pageName</span><span class="p">,</span> </span><span id="L-952"><a href="#L-952"><span class="linenos" data-line="952"></span></a><span class="w"> </span><span class="nx">data</span><span class="o">:</span><span class="w"> </span><span class="nx">timeAgo</span><span class="p">,</span> </span><span id="L-953"><a href="#L-953"><span class="linenos" data-line="953"></span></a><span class="w"> </span><span class="nx">id</span><span class="o">:</span><span class="w"> </span><span class="s1">'lastedit'</span><span class="p">,</span> </span><span id="L-954"><a href="#L-954"><span class="linenos" data-line="954"></span></a><span class="w"> </span><span class="nx">hoverText</span><span class="o">:</span><span class="w"> </span><span class="sb">`Last edit date (local time):&#10;&#10;</span><span class="si">${</span><span class="nx">then</span><span class="si">}</span><span class="sb">`</span><span class="p">,</span> </span><span id="L-955"><a href="#L-955"><span class="linenos" data-line="955"></span></a><span class="w"> </span><span class="p">});</span> </span><span id="L-956"><a href="#L-956"><span class="linenos" data-line="956"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-957"><a href="#L-957"><span class="linenos" data-line="957"></span></a><span class="w"> </span> </span><span id="L-958"><a href="#L-958"><span class="linenos" data-line="958"></span></a><span class="w"> </span><span class="c1">// Callback helpers</span> </span><span id="L-959"><a href="#L-959"><span class="linenos" data-line="959"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">capitalize</span><span class="p">(</span><span class="nx">string</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-960"><a href="#L-960"><span class="linenos" data-line="960"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">string</span><span class="p">.</span><span class="nx">charAt</span><span class="p">(</span><span class="mf">0</span><span class="p">).</span><span class="nx">toUpperCase</span><span class="p">()</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nx">string</span><span class="p">.</span><span class="nx">slice</span><span class="p">(</span><span class="mf">1</span><span class="p">);</span> </span><span id="L-961"><a href="#L-961"><span class="linenos" data-line="961"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-962"><a href="#L-962"><span class="linenos" data-line="962"></span></a><span class="w"> </span> </span><span id="L-963"><a href="#L-963"><span class="linenos" data-line="963"></span></a><span class="w"> </span><span class="cm">/**</span> </span><span id="L-964"><a href="#L-964"><span class="linenos" data-line="964"></span></a><span class="cm"> * Check if the data field is enabled.</span> </span><span id="L-965"><a href="#L-965"><span class="linenos" data-line="965"></span></a><span class="cm"> *</span> </span><span id="L-966"><a href="#L-966"><span class="linenos" data-line="966"></span></a><span class="cm"> * @param {string} dataName The name of the data field to look up.</span> </span><span id="L-967"><a href="#L-967"><span class="linenos" data-line="967"></span></a><span class="cm"> * @returns {boolean} The data field is enabled, so we want to use it.</span> </span><span id="L-968"><a href="#L-968"><span class="linenos" data-line="968"></span></a><span class="cm"> */</span> </span><span id="L-969"><a href="#L-969"><span class="linenos" data-line="969"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">dataIsEnabled</span><span class="p">(</span><span class="nx">dataName</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-970"><a href="#L-970"><span class="linenos" data-line="970"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">NominationsViewer</span><span class="p">.</span><span class="nx">nominationData</span><span class="p">.</span><span class="nx">some</span><span class="p">((</span><span class="nx">data</span><span class="p">)</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="nx">dataName</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="nx">data</span><span class="p">);</span> </span><span id="L-971"><a href="#L-971"><span class="linenos" data-line="971"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-972"><a href="#L-972"><span class="linenos" data-line="972"></span></a><span class="w"> </span> </span><span id="L-973"><a href="#L-973"><span class="linenos" data-line="973"></span></a><span class="w"> </span><span class="c1">// Given `content`, find nominators with the `pattern`. Returns an Object, so</span> </span><span id="L-974"><a href="#L-974"><span class="linenos" data-line="974"></span></a><span class="w"> </span><span class="c1">// that we exclude duplicates.</span> </span><span id="L-975"><a href="#L-975"><span class="linenos" data-line="975"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">findNominators</span><span class="p">(</span><span class="nx">content</span><span class="p">,</span><span class="w"> </span><span class="nx">pattern</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-976"><a href="#L-976"><span class="linenos" data-line="976"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">nominatorMatches</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">content</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="nx">pattern</span><span class="p">);</span> </span><span id="L-977"><a href="#L-977"><span class="linenos" data-line="977"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">listOfNominators</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{};</span> </span><span id="L-978"><a href="#L-978"><span class="linenos" data-line="978"></span></a><span class="w"> </span> </span><span id="L-979"><a href="#L-979"><span class="linenos" data-line="979"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="nx">nominatorMatches</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-980"><a href="#L-980"><span class="linenos" data-line="980"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">listOfNominators</span><span class="p">;</span> </span><span id="L-981"><a href="#L-981"><span class="linenos" data-line="981"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-982"><a href="#L-982"><span class="linenos" data-line="982"></span></a><span class="w"> </span> </span><span id="L-983"><a href="#L-983"><span class="linenos" data-line="983"></span></a><span class="w"> </span><span class="c1">// Find nominator usernames.</span> </span><span id="L-984"><a href="#L-984"><span class="linenos" data-line="984"></span></a><span class="w"> </span><span class="c1">// [[User:Example|Example]], [[Wikipedia talk:WikiProject Example]]</span> </span><span id="L-985"><a href="#L-985"><span class="linenos" data-line="985"></span></a><span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">nominators</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">nominatorMatches</span><span class="p">[</span><span class="mf">0</span><span class="p">].</span><span class="nx">match</span><span class="p">(</span> </span><span id="L-986"><a href="#L-986"><span class="linenos" data-line="986"></span></a><span class="w"> </span><span class="sr">/\[\[(user|wikipedia|wp|wt)([ _]talk)?:.*?]]/gi</span> </span><span id="L-987"><a href="#L-987"><span class="linenos" data-line="987"></span></a><span class="w"> </span><span class="p">);</span> </span><span id="L-988"><a href="#L-988"><span class="linenos" data-line="988"></span></a><span class="w"> </span> </span><span id="L-989"><a href="#L-989"><span class="linenos" data-line="989"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">nominators</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-990"><a href="#L-990"><span class="linenos" data-line="990"></span></a><span class="w"> </span><span class="nx">nominators</span><span class="p">.</span><span class="nx">forEach</span><span class="p">((</span><span class="nx">nominator</span><span class="p">)</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">{</span> </span><span id="L-991"><a href="#L-991"><span class="linenos" data-line="991"></span></a><span class="w"> </span><span class="c1">// Strip unneeded characters from the nominator's URL.</span> </span><span id="L-992"><a href="#L-992"><span class="linenos" data-line="992"></span></a><span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">username</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">nominator</span> </span><span id="L-993"><a href="#L-993"><span class="linenos" data-line="993"></span></a><span class="w"> </span><span class="c1">// Strip the start of the username link.</span> </span><span id="L-994"><a href="#L-994"><span class="linenos" data-line="994"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="sr">/\[\[(user|wikipedia|wp|wt)([ _]talk)?:/i</span><span class="p">,</span><span class="w"> </span><span class="s1">''</span><span class="p">)</span> </span><span id="L-995"><a href="#L-995"><span class="linenos" data-line="995"></span></a><span class="w"> </span><span class="c1">// Strip the displayed portion of the username link.</span> </span><span id="L-996"><a href="#L-996"><span class="linenos" data-line="996"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="sr">/\|.*/</span><span class="p">,</span><span class="w"> </span><span class="s1">''</span><span class="p">)</span> </span><span id="L-997"><a href="#L-997"><span class="linenos" data-line="997"></span></a><span class="w"> </span><span class="c1">// Strip the ending portion of the username link.</span> </span><span id="L-998"><a href="#L-998"><span class="linenos" data-line="998"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="s1">']]'</span><span class="p">,</span><span class="w"> </span><span class="s1">''</span><span class="p">)</span> </span><span id="L-999"><a href="#L-999"><span class="linenos" data-line="999"></span></a><span class="w"> </span><span class="c1">// Strip URL anchors.</span> </span><span id="L-1000"><a href="#L-1000"><span class="linenos" data-line="1000"></span></a><span class="w"> </span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="sr">/#.*?$/</span><span class="p">,</span><span class="w"> </span><span class="s1">''</span><span class="p">);</span> </span><span id="L-1001"><a href="#L-1001"><span class="linenos" data-line="1001"></span></a><span class="w"> </span> </span><span id="L-1002"><a href="#L-1002"><span class="linenos" data-line="1002"></span></a><span class="w"> </span><span class="c1">// Does 'username' have a '/' that we have to strip?</span> </span><span id="L-1003"><a href="#L-1003"><span class="linenos" data-line="1003"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">username</span><span class="p">.</span><span class="nx">includes</span><span class="p">(</span><span class="s1">'/'</span><span class="p">))</span><span class="w"> </span><span class="p">{</span> </span><span id="L-1004"><a href="#L-1004"><span class="linenos" data-line="1004"></span></a><span class="w"> </span><span class="nx">username</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">username</span><span class="p">.</span><span class="nx">slice</span><span class="p">(</span><span class="mf">0</span><span class="p">,</span><span class="w"> </span><span class="nb">Math</span><span class="p">.</span><span class="nx">max</span><span class="p">(</span><span class="mf">0</span><span class="p">,</span><span class="w"> </span><span class="nx">username</span><span class="p">.</span><span class="nx">indexOf</span><span class="p">(</span><span class="s1">'/'</span><span class="p">)));</span> </span><span id="L-1005"><a href="#L-1005"><span class="linenos" data-line="1005"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-1006"><a href="#L-1006"><span class="linenos" data-line="1006"></span></a><span class="w"> </span> </span><span id="L-1007"><a href="#L-1007"><span class="linenos" data-line="1007"></span></a><span class="w"> </span><span class="nx">listOfNominators</span><span class="p">[</span><span class="nx">username</span><span class="p">]</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="mf">1</span><span class="p">;</span> </span><span id="L-1008"><a href="#L-1008"><span class="linenos" data-line="1008"></span></a><span class="w"> </span><span class="p">});</span> </span><span id="L-1009"><a href="#L-1009"><span class="linenos" data-line="1009"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-1010"><a href="#L-1010"><span class="linenos" data-line="1010"></span></a><span class="w"> </span> </span><span id="L-1011"><a href="#L-1011"><span class="linenos" data-line="1011"></span></a><span class="w"> </span><span class="c1">// {{user|Example}} and similar variants</span> </span><span id="L-1012"><a href="#L-1012"><span class="linenos" data-line="1012"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">userTemplatePattern</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="sr">/{{user.*?\|(.*?)}}/gi</span><span class="p">;</span> </span><span id="L-1013"><a href="#L-1013"><span class="linenos" data-line="1013"></span></a><span class="w"> </span> </span><span id="L-1014"><a href="#L-1014"><span class="linenos" data-line="1014"></span></a><span class="w"> </span><span class="nx">nominators</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">nominatorMatches</span><span class="p">[</span><span class="mf">0</span><span class="p">].</span><span class="nx">match</span><span class="p">(</span><span class="nx">userTemplatePattern</span><span class="p">);</span> </span><span id="L-1015"><a href="#L-1015"><span class="linenos" data-line="1015"></span></a><span class="w"> </span> </span><span id="L-1016"><a href="#L-1016"><span class="linenos" data-line="1016"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">nominators</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-1017"><a href="#L-1017"><span class="linenos" data-line="1017"></span></a><span class="w"> </span><span class="nx">nominators</span><span class="p">.</span><span class="nx">forEach</span><span class="p">((</span><span class="nx">singleNominator</span><span class="p">)</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">{</span> </span><span id="L-1018"><a href="#L-1018"><span class="linenos" data-line="1018"></span></a><span class="w"> </span><span class="nx">listOfNominators</span><span class="p">[</span> </span><span id="L-1019"><a href="#L-1019"><span class="linenos" data-line="1019"></span></a><span class="w"> </span><span class="nx">singleNominator</span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="nx">userTemplatePattern</span><span class="p">,</span><span class="w"> </span><span class="s1">'$1'</span><span class="p">)</span> </span><span id="L-1020"><a href="#L-1020"><span class="linenos" data-line="1020"></span></a><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="mf">1</span><span class="p">;</span> </span><span id="L-1021"><a href="#L-1021"><span class="linenos" data-line="1021"></span></a><span class="w"> </span><span class="p">});</span> </span><span id="L-1022"><a href="#L-1022"><span class="linenos" data-line="1022"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-1023"><a href="#L-1023"><span class="linenos" data-line="1023"></span></a><span class="w"> </span> </span><span id="L-1024"><a href="#L-1024"><span class="linenos" data-line="1024"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">listOfNominators</span><span class="p">;</span> </span><span id="L-1025"><a href="#L-1025"><span class="linenos" data-line="1025"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-1026"><a href="#L-1026"><span class="linenos" data-line="1026"></span></a><span class="w"> </span> </span><span id="L-1027"><a href="#L-1027"><span class="linenos" data-line="1027"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">formatJSON</span><span class="p">(</span><span class="nx">object</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-1028"><a href="#L-1028"><span class="linenos" data-line="1028"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="nx">object</span><span class="p">.</span><span class="nx">query</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="o">!</span><span class="nx">object</span><span class="p">.</span><span class="nx">query</span><span class="p">.</span><span class="nx">pages</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-1029"><a href="#L-1029"><span class="linenos" data-line="1029"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="kc">false</span><span class="p">;</span> </span><span id="L-1030"><a href="#L-1030"><span class="linenos" data-line="1030"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-1031"><a href="#L-1031"><span class="linenos" data-line="1031"></span></a><span class="w"> </span> </span><span id="L-1032"><a href="#L-1032"><span class="linenos" data-line="1032"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">vars</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[];</span> </span><span id="L-1033"><a href="#L-1033"><span class="linenos" data-line="1033"></span></a><span class="w"> </span> </span><span id="L-1034"><a href="#L-1034"><span class="linenos" data-line="1034"></span></a><span class="w"> </span><span class="nx">vars</span><span class="p">.</span><span class="nx">pages</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">object</span><span class="p">.</span><span class="nx">query</span><span class="p">.</span><span class="nx">pages</span><span class="p">;</span> </span><span id="L-1035"><a href="#L-1035"><span class="linenos" data-line="1035"></span></a><span class="w"> </span><span class="nx">vars</span><span class="p">.</span><span class="nx">page</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">Object</span><span class="p">.</span><span class="nx">keys</span><span class="p">(</span><span class="nx">vars</span><span class="p">.</span><span class="nx">pages</span><span class="p">).</span><span class="nx">map</span><span class="p">((</span><span class="nx">page</span><span class="p">)</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="nx">page</span><span class="p">);</span> </span><span id="L-1036"><a href="#L-1036"><span class="linenos" data-line="1036"></span></a><span class="w"> </span> </span><span id="L-1037"><a href="#L-1037"><span class="linenos" data-line="1037"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">vars</span><span class="p">.</span><span class="nx">page</span><span class="p">.</span><span class="nx">length</span><span class="w"> </span><span class="o">!==</span><span class="w"> </span><span class="mf">1</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-1038"><a href="#L-1038"><span class="linenos" data-line="1038"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="kc">false</span><span class="p">;</span> </span><span id="L-1039"><a href="#L-1039"><span class="linenos" data-line="1039"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-1040"><a href="#L-1040"><span class="linenos" data-line="1040"></span></a><span class="w"> </span> </span><span id="L-1041"><a href="#L-1041"><span class="linenos" data-line="1041"></span></a><span class="w"> </span><span class="nx">vars</span><span class="p">.</span><span class="nx">page</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">object</span><span class="p">.</span><span class="nx">query</span><span class="p">.</span><span class="nx">pages</span><span class="p">[</span><span class="nx">vars</span><span class="p">.</span><span class="nx">page</span><span class="p">[</span><span class="mf">0</span><span class="p">]];</span> </span><span id="L-1042"><a href="#L-1042"><span class="linenos" data-line="1042"></span></a><span class="w"> </span><span class="nx">vars</span><span class="p">.</span><span class="nx">pageName</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">vars</span><span class="p">.</span><span class="nx">page</span><span class="p">.</span><span class="nx">title</span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="sr">/\s/g</span><span class="p">,</span><span class="w"> </span><span class="s1">'_'</span><span class="p">);</span> </span><span id="L-1043"><a href="#L-1043"><span class="linenos" data-line="1043"></span></a><span class="w"> </span> </span><span id="L-1044"><a href="#L-1044"><span class="linenos" data-line="1044"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="nx">vars</span><span class="p">.</span><span class="nx">page</span><span class="p">.</span><span class="nx">revisions</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-1045"><a href="#L-1045"><span class="linenos" data-line="1045"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="kc">false</span><span class="p">;</span> </span><span id="L-1046"><a href="#L-1046"><span class="linenos" data-line="1046"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-1047"><a href="#L-1047"><span class="linenos" data-line="1047"></span></a><span class="w"> </span> </span><span id="L-1048"><a href="#L-1048"><span class="linenos" data-line="1048"></span></a><span class="w"> </span><span class="p">[</span><span class="nx">vars</span><span class="p">.</span><span class="nx">firstRevision</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">vars</span><span class="p">.</span><span class="nx">page</span><span class="p">.</span><span class="nx">revisions</span><span class="p">;</span> </span><span id="L-1049"><a href="#L-1049"><span class="linenos" data-line="1049"></span></a><span class="w"> </span><span class="p">[</span><span class="nx">vars</span><span class="p">.</span><span class="nx">lastRevision</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">vars</span><span class="p">.</span><span class="nx">page</span><span class="p">.</span><span class="nx">revisions</span><span class="p">.</span><span class="nx">slice</span><span class="p">(</span><span class="o">-</span><span class="mf">1</span><span class="p">);</span><span class="w"> </span> </span><span id="L-1050"><a href="#L-1050"><span class="linenos" data-line="1050"></span></a><span class="w"> </span><span class="nx">vars</span><span class="p">.</span><span class="nx">revisions</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">vars</span><span class="p">.</span><span class="nx">page</span><span class="p">.</span><span class="nx">revisions</span><span class="p">;</span> </span><span id="L-1051"><a href="#L-1051"><span class="linenos" data-line="1051"></span></a><span class="w"> </span> </span><span id="L-1052"><a href="#L-1052"><span class="linenos" data-line="1052"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">vars</span><span class="p">;</span> </span><span id="L-1053"><a href="#L-1053"><span class="linenos" data-line="1053"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-1054"><a href="#L-1054"><span class="linenos" data-line="1054"></span></a><span class="w"> </span> </span><span id="L-1055"><a href="#L-1055"><span class="linenos" data-line="1055"></span></a><span class="w"> </span><span class="cm">/**</span> </span><span id="L-1056"><a href="#L-1056"><span class="linenos" data-line="1056"></span></a><span class="cm"> * Check if the nomination type of the current nomination is the type</span> </span><span id="L-1057"><a href="#L-1057"><span class="linenos" data-line="1057"></span></a><span class="cm"> * specified. If no type is specified, then return the type of the current</span> </span><span id="L-1058"><a href="#L-1058"><span class="linenos" data-line="1058"></span></a><span class="cm"> * nomination. Possible types are: `nominations`, `peer reviews`, `pictures`,</span> </span><span id="L-1059"><a href="#L-1059"><span class="linenos" data-line="1059"></span></a><span class="cm"> * and `reviews`, as specified in `NominationsViewer.enabledPages`.</span> </span><span id="L-1060"><a href="#L-1060"><span class="linenos" data-line="1060"></span></a><span class="cm"> *</span> </span><span id="L-1061"><a href="#L-1061"><span class="linenos" data-line="1061"></span></a><span class="cm"> * @param {string} [type] The type to compare the current nomination with.</span> </span><span id="L-1062"><a href="#L-1062"><span class="linenos" data-line="1062"></span></a><span class="cm"> * @returns {boolean|string} The current nomination matches the type</span> </span><span id="L-1063"><a href="#L-1063"><span class="linenos" data-line="1063"></span></a><span class="cm"> * specified, or the type of the current nomination.</span> </span><span id="L-1064"><a href="#L-1064"><span class="linenos" data-line="1064"></span></a><span class="cm"> */</span> </span><span id="L-1065"><a href="#L-1065"><span class="linenos" data-line="1065"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">nomType</span><span class="p">(</span><span class="nx">type</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">null</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-1066"><a href="#L-1066"><span class="linenos" data-line="1066"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">pageName</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">mw</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">'wgPageName'</span><span class="p">).</span><span class="nx">replace</span><span class="p">(</span><span class="sr">/_/g</span><span class="p">,</span><span class="w"> </span><span class="s1">' '</span><span class="p">);</span> </span><span id="L-1067"><a href="#L-1067"><span class="linenos" data-line="1067"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">pageType</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">NominationsViewer</span><span class="p">.</span><span class="nx">enabledPages</span><span class="p">[</span><span class="nx">pageName</span><span class="p">];</span> </span><span id="L-1068"><a href="#L-1068"><span class="linenos" data-line="1068"></span></a><span class="w"> </span> </span><span id="L-1069"><a href="#L-1069"><span class="linenos" data-line="1069"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">type</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-1070"><a href="#L-1070"><span class="linenos" data-line="1070"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">type</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="nx">pageType</span><span class="p">;</span> </span><span id="L-1071"><a href="#L-1071"><span class="linenos" data-line="1071"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-1072"><a href="#L-1072"><span class="linenos" data-line="1072"></span></a><span class="w"> </span> </span><span id="L-1073"><a href="#L-1073"><span class="linenos" data-line="1073"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">pageType</span><span class="p">;</span> </span><span id="L-1074"><a href="#L-1074"><span class="linenos" data-line="1074"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-1075"><a href="#L-1075"><span class="linenos" data-line="1075"></span></a><span class="w"> </span> </span><span id="L-1076"><a href="#L-1076"><span class="linenos" data-line="1076"></span></a><span class="w"> </span><span class="cm">/**</span> </span><span id="L-1077"><a href="#L-1077"><span class="linenos" data-line="1077"></span></a><span class="cm"> * Pluralize a word if necessary.</span> </span><span id="L-1078"><a href="#L-1078"><span class="linenos" data-line="1078"></span></a><span class="cm"> *</span> </span><span id="L-1079"><a href="#L-1079"><span class="linenos" data-line="1079"></span></a><span class="cm"> * @param {string} string The word to possibly pluralize.</span> </span><span id="L-1080"><a href="#L-1080"><span class="linenos" data-line="1080"></span></a><span class="cm"> * @param {number} count The number of items there are.</span> </span><span id="L-1081"><a href="#L-1081"><span class="linenos" data-line="1081"></span></a><span class="cm"> * @returns {string} The pluralized word.</span> </span><span id="L-1082"><a href="#L-1082"><span class="linenos" data-line="1082"></span></a><span class="cm"> */</span> </span><span id="L-1083"><a href="#L-1083"><span class="linenos" data-line="1083"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">pluralize</span><span class="p">(</span><span class="nx">string</span><span class="p">,</span><span class="w"> </span><span class="nx">count</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-1084"><a href="#L-1084"><span class="linenos" data-line="1084"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">plural</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="sb">`</span><span class="si">${</span><span class="nx">string</span><span class="si">}</span><span class="sb">s`</span><span class="p">;</span> </span><span id="L-1085"><a href="#L-1085"><span class="linenos" data-line="1085"></span></a><span class="w"> </span> </span><span id="L-1086"><a href="#L-1086"><span class="linenos" data-line="1086"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">count</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="mf">1</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-1087"><a href="#L-1087"><span class="linenos" data-line="1087"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">string</span><span class="p">;</span> </span><span id="L-1088"><a href="#L-1088"><span class="linenos" data-line="1088"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-1089"><a href="#L-1089"><span class="linenos" data-line="1089"></span></a><span class="w"> </span> </span><span id="L-1090"><a href="#L-1090"><span class="linenos" data-line="1090"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">plural</span><span class="p">;</span> </span><span id="L-1091"><a href="#L-1091"><span class="linenos" data-line="1091"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-1092"><a href="#L-1092"><span class="linenos" data-line="1092"></span></a><span class="w"> </span> </span><span id="L-1093"><a href="#L-1093"><span class="linenos" data-line="1093"></span></a><span class="w"> </span><span class="cm">/**</span> </span><span id="L-1094"><a href="#L-1094"><span class="linenos" data-line="1094"></span></a><span class="cm"> * Format a page name by remove any non-word characters.</span> </span><span id="L-1095"><a href="#L-1095"><span class="linenos" data-line="1095"></span></a><span class="cm"> *</span> </span><span id="L-1096"><a href="#L-1096"><span class="linenos" data-line="1096"></span></a><span class="cm"> * @param {string} pageName The page name to format.</span> </span><span id="L-1097"><a href="#L-1097"><span class="linenos" data-line="1097"></span></a><span class="cm"> * @returns {string} The formatted page name.</span> </span><span id="L-1098"><a href="#L-1098"><span class="linenos" data-line="1098"></span></a><span class="cm"> */</span> </span><span id="L-1099"><a href="#L-1099"><span class="linenos" data-line="1099"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">simplifyPageName</span><span class="p">(</span><span class="nx">pageName</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-1100"><a href="#L-1100"><span class="linenos" data-line="1100"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">pageName</span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="sr">/\W/g</span><span class="p">,</span><span class="w"> </span><span class="s1">''</span><span class="p">);</span> </span><span id="L-1101"><a href="#L-1101"><span class="linenos" data-line="1101"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-1102"><a href="#L-1102"><span class="linenos" data-line="1102"></span></a><span class="w"> </span> </span><span id="L-1103"><a href="#L-1103"><span class="linenos" data-line="1103"></span></a><span class="w"> </span><span class="cm">/**</span> </span><span id="L-1104"><a href="#L-1104"><span class="linenos" data-line="1104"></span></a><span class="cm"> * Given a timestamp, generally calculate the time ago.</span> </span><span id="L-1105"><a href="#L-1105"><span class="linenos" data-line="1105"></span></a><span class="cm"> *</span> </span><span id="L-1106"><a href="#L-1106"><span class="linenos" data-line="1106"></span></a><span class="cm"> * @param {string} timestamp A timestamp.</span> </span><span id="L-1107"><a href="#L-1107"><span class="linenos" data-line="1107"></span></a><span class="cm"> * @returns {Object.<string, string>} The time ago phrase.</span> </span><span id="L-1108"><a href="#L-1108"><span class="linenos" data-line="1108"></span></a><span class="cm"> */</span> </span><span id="L-1109"><a href="#L-1109"><span class="linenos" data-line="1109"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">getTimeAgo</span><span class="p">(</span><span class="nx">timestamp</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-1110"><a href="#L-1110"><span class="linenos" data-line="1110"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">matches</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">timestamp</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span> </span><span id="L-1111"><a href="#L-1111"><span class="linenos" data-line="1111"></span></a><span class="w"> </span><span class="sr">/(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})Z/</span> </span><span id="L-1112"><a href="#L-1112"><span class="linenos" data-line="1112"></span></a><span class="w"> </span><span class="p">);</span> </span><span id="L-1113"><a href="#L-1113"><span class="linenos" data-line="1113"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">now</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ow">new</span><span class="w"> </span><span class="nb">Date</span><span class="p">();</span> </span><span id="L-1114"><a href="#L-1114"><span class="linenos" data-line="1114"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">then</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ow">new</span><span class="w"> </span><span class="nb">Date</span><span class="p">(</span> </span><span id="L-1115"><a href="#L-1115"><span class="linenos" data-line="1115"></span></a><span class="w"> </span><span class="nb">Date</span><span class="p">.</span><span class="nx">UTC</span><span class="p">(</span> </span><span id="L-1116"><a href="#L-1116"><span class="linenos" data-line="1116"></span></a><span class="w"> </span><span class="nx">matches</span><span class="p">[</span><span class="mf">1</span><span class="p">],</span> </span><span id="L-1117"><a href="#L-1117"><span class="linenos" data-line="1117"></span></a><span class="w"> </span><span class="nx">matches</span><span class="p">[</span><span class="mf">2</span><span class="p">]</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mf">1</span><span class="p">,</span> </span><span id="L-1118"><a href="#L-1118"><span class="linenos" data-line="1118"></span></a><span class="w"> </span><span class="nx">matches</span><span class="p">[</span><span class="mf">3</span><span class="p">],</span> </span><span id="L-1119"><a href="#L-1119"><span class="linenos" data-line="1119"></span></a><span class="w"> </span><span class="nx">matches</span><span class="p">[</span><span class="mf">4</span><span class="p">],</span> </span><span id="L-1120"><a href="#L-1120"><span class="linenos" data-line="1120"></span></a><span class="w"> </span><span class="nx">matches</span><span class="p">[</span><span class="mf">5</span><span class="p">],</span> </span><span id="L-1121"><a href="#L-1121"><span class="linenos" data-line="1121"></span></a><span class="w"> </span><span class="nx">matches</span><span class="p">[</span><span class="mf">6</span><span class="p">]</span> </span><span id="L-1122"><a href="#L-1122"><span class="linenos" data-line="1122"></span></a><span class="w"> </span><span class="p">)</span> </span><span id="L-1123"><a href="#L-1123"><span class="linenos" data-line="1123"></span></a><span class="w"> </span><span class="p">);</span> </span><span id="L-1124"><a href="#L-1124"><span class="linenos" data-line="1124"></span></a><span class="w"> </span> </span><span id="L-1125"><a href="#L-1125"><span class="linenos" data-line="1125"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">millisecondsAgo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">now</span><span class="p">.</span><span class="nx">getTime</span><span class="p">()</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="nx">then</span><span class="p">.</span><span class="nx">getTime</span><span class="p">();</span> </span><span id="L-1126"><a href="#L-1126"><span class="linenos" data-line="1126"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">daysAgo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">Math</span><span class="p">.</span><span class="nx">floor</span><span class="p">(</span><span class="nx">millisecondsAgo</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="p">(</span><span class="mf">1000</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mf">60</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mf">60</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mf">24</span><span class="p">));</span> </span><span id="L-1127"><a href="#L-1127"><span class="linenos" data-line="1127"></span></a><span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">timeAgo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">''</span><span class="p">;</span> </span><span id="L-1128"><a href="#L-1128"><span class="linenos" data-line="1128"></span></a><span class="w"> </span> </span><span id="L-1129"><a href="#L-1129"><span class="linenos" data-line="1129"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">daysAgo</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="mf">0</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-1130"><a href="#L-1130"><span class="linenos" data-line="1130"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">weeksAgo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">Math</span><span class="p">.</span><span class="nx">round</span><span class="p">(</span><span class="nx">daysAgo</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mf">7</span><span class="p">);</span> </span><span id="L-1131"><a href="#L-1131"><span class="linenos" data-line="1131"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">monthsAgo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">Math</span><span class="p">.</span><span class="nx">round</span><span class="p">(</span><span class="nx">daysAgo</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mf">30</span><span class="p">);</span> </span><span id="L-1132"><a href="#L-1132"><span class="linenos" data-line="1132"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">yearsAgo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">Math</span><span class="p">.</span><span class="nx">round</span><span class="p">(</span><span class="nx">daysAgo</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mf">365</span><span class="p">);</span> </span><span id="L-1133"><a href="#L-1133"><span class="linenos" data-line="1133"></span></a><span class="w"> </span> </span><span id="L-1134"><a href="#L-1134"><span class="linenos" data-line="1134"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">yearsAgo</span><span class="w"> </span><span class="o">>=</span><span class="w"> </span><span class="mf">1</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-1135"><a href="#L-1135"><span class="linenos" data-line="1135"></span></a><span class="w"> </span><span class="nx">timeAgo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="sb">`</span><span class="si">${</span><span class="nx">yearsAgo</span><span class="si">}</span><span class="sb"> </span><span class="si">${</span><span class="nx">pluralize</span><span class="p">(</span><span class="s1">'year'</span><span class="p">,</span><span class="w"> </span><span class="nx">yearsAgo</span><span class="p">)</span><span class="si">}</span><span class="sb"> old`</span><span class="p">;</span> </span><span id="L-1136"><a href="#L-1136"><span class="linenos" data-line="1136"></span></a><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">monthsAgo</span><span class="w"> </span><span class="o">>=</span><span class="w"> </span><span class="mf">3</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-1137"><a href="#L-1137"><span class="linenos" data-line="1137"></span></a><span class="w"> </span><span class="nx">timeAgo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="sb">`</span><span class="si">${</span><span class="nx">monthsAgo</span><span class="si">}</span><span class="sb"> </span><span class="si">${</span><span class="nx">pluralize</span><span class="p">(</span><span class="s1">'month'</span><span class="p">,</span><span class="w"> </span><span class="nx">monthsAgo</span><span class="p">)</span><span class="si">}</span><span class="sb"> old`</span><span class="p">;</span> </span><span id="L-1138"><a href="#L-1138"><span class="linenos" data-line="1138"></span></a><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">weeksAgo</span><span class="w"> </span><span class="o">>=</span><span class="w"> </span><span class="mf">1</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-1139"><a href="#L-1139"><span class="linenos" data-line="1139"></span></a><span class="w"> </span><span class="nx">timeAgo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="sb">`</span><span class="si">${</span><span class="nx">weeksAgo</span><span class="si">}</span><span class="sb"> </span><span class="si">${</span><span class="nx">pluralize</span><span class="p">(</span><span class="s1">'week'</span><span class="p">,</span><span class="w"> </span><span class="nx">weeksAgo</span><span class="p">)</span><span class="si">}</span><span class="sb"> old`</span><span class="p">;</span> </span><span id="L-1140"><a href="#L-1140"><span class="linenos" data-line="1140"></span></a><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span> </span><span id="L-1141"><a href="#L-1141"><span class="linenos" data-line="1141"></span></a><span class="w"> </span><span class="nx">timeAgo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="sb">`</span><span class="si">${</span><span class="nx">daysAgo</span><span class="si">}</span><span class="sb"> </span><span class="si">${</span><span class="nx">pluralize</span><span class="p">(</span><span class="s1">'day'</span><span class="p">,</span><span class="w"> </span><span class="nx">daysAgo</span><span class="p">)</span><span class="si">}</span><span class="sb"> old`</span><span class="p">;</span> </span><span id="L-1142"><a href="#L-1142"><span class="linenos" data-line="1142"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-1143"><a href="#L-1143"><span class="linenos" data-line="1143"></span></a><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span> </span><span id="L-1144"><a href="#L-1144"><span class="linenos" data-line="1144"></span></a><span class="w"> </span><span class="nx">timeAgo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'today'</span><span class="p">;</span> </span><span id="L-1145"><a href="#L-1145"><span class="linenos" data-line="1145"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-1146"><a href="#L-1146"><span class="linenos" data-line="1146"></span></a><span class="w"> </span> </span><span id="L-1147"><a href="#L-1147"><span class="linenos" data-line="1147"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">timeAgo</span><span class="p">,</span><span class="w"> </span><span class="nx">then</span><span class="w"> </span><span class="p">};</span> </span><span id="L-1148"><a href="#L-1148"><span class="linenos" data-line="1148"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-1149"><a href="#L-1149"><span class="linenos" data-line="1149"></span></a> </span><span id="L-1150"><a href="#L-1150"><span class="linenos" data-line="1150"></span></a><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">getActivity</span><span class="p">(</span><span class="nx">timestamp</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-1151"><a href="#L-1151"><span class="linenos" data-line="1151"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">matches</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">timestamp</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span> </span><span id="L-1152"><a href="#L-1152"><span class="linenos" data-line="1152"></span></a><span class="w"> </span><span class="sr">/(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})Z/</span> </span><span id="L-1153"><a href="#L-1153"><span class="linenos" data-line="1153"></span></a><span class="w"> </span><span class="p">);</span> </span><span id="L-1154"><a href="#L-1154"><span class="linenos" data-line="1154"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">now</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ow">new</span><span class="w"> </span><span class="nb">Date</span><span class="p">();</span> </span><span id="L-1155"><a href="#L-1155"><span class="linenos" data-line="1155"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">then</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ow">new</span><span class="w"> </span><span class="nb">Date</span><span class="p">(</span> </span><span id="L-1156"><a href="#L-1156"><span class="linenos" data-line="1156"></span></a><span class="w"> </span><span class="nb">Date</span><span class="p">.</span><span class="nx">UTC</span><span class="p">(</span> </span><span id="L-1157"><a href="#L-1157"><span class="linenos" data-line="1157"></span></a><span class="w"> </span><span class="nx">matches</span><span class="p">[</span><span class="mf">1</span><span class="p">],</span> </span><span id="L-1158"><a href="#L-1158"><span class="linenos" data-line="1158"></span></a><span class="w"> </span><span class="nx">matches</span><span class="p">[</span><span class="mf">2</span><span class="p">]</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mf">1</span><span class="p">,</span> </span><span id="L-1159"><a href="#L-1159"><span class="linenos" data-line="1159"></span></a><span class="w"> </span><span class="nx">matches</span><span class="p">[</span><span class="mf">3</span><span class="p">],</span> </span><span id="L-1160"><a href="#L-1160"><span class="linenos" data-line="1160"></span></a><span class="w"> </span><span class="nx">matches</span><span class="p">[</span><span class="mf">4</span><span class="p">],</span> </span><span id="L-1161"><a href="#L-1161"><span class="linenos" data-line="1161"></span></a><span class="w"> </span><span class="nx">matches</span><span class="p">[</span><span class="mf">5</span><span class="p">],</span> </span><span id="L-1162"><a href="#L-1162"><span class="linenos" data-line="1162"></span></a><span class="w"> </span><span class="nx">matches</span><span class="p">[</span><span class="mf">6</span><span class="p">]</span> </span><span id="L-1163"><a href="#L-1163"><span class="linenos" data-line="1163"></span></a><span class="w"> </span><span class="p">)</span> </span><span id="L-1164"><a href="#L-1164"><span class="linenos" data-line="1164"></span></a><span class="w"> </span><span class="p">);</span> </span><span id="L-1165"><a href="#L-1165"><span class="linenos" data-line="1165"></span></a><span class="w"> </span> </span><span id="L-1166"><a href="#L-1166"><span class="linenos" data-line="1166"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">millisecondsAgo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">now</span><span class="p">.</span><span class="nx">getTime</span><span class="p">()</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="nx">then</span><span class="p">.</span><span class="nx">getTime</span><span class="p">();</span> </span><span id="L-1167"><a href="#L-1167"><span class="linenos" data-line="1167"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">daysAgo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">Math</span><span class="p">.</span><span class="nx">floor</span><span class="p">(</span><span class="nx">millisecondsAgo</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="p">(</span><span class="mf">1000</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mf">60</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mf">60</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mf">24</span><span class="p">));</span> </span><span id="L-1168"><a href="#L-1168"><span class="linenos" data-line="1168"></span></a><span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">timeAgo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">''</span><span class="p">;</span> </span><span id="L-1169"><a href="#L-1169"><span class="linenos" data-line="1169"></span></a><span class="w"> </span> </span><span id="L-1170"><a href="#L-1170"><span class="linenos" data-line="1170"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">daysAgo</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="mf">0</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-1171"><a href="#L-1171"><span class="linenos" data-line="1171"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">weeksAgo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">Math</span><span class="p">.</span><span class="nx">round</span><span class="p">(</span><span class="nx">daysAgo</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mf">7</span><span class="p">);</span> </span><span id="L-1172"><a href="#L-1172"><span class="linenos" data-line="1172"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">monthsAgo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">Math</span><span class="p">.</span><span class="nx">round</span><span class="p">(</span><span class="nx">daysAgo</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mf">30</span><span class="p">);</span> </span><span id="L-1173"><a href="#L-1173"><span class="linenos" data-line="1173"></span></a><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">yearsAgo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">Math</span><span class="p">.</span><span class="nx">round</span><span class="p">(</span><span class="nx">daysAgo</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mf">365</span><span class="p">);</span> </span><span id="L-1174"><a href="#L-1174"><span class="linenos" data-line="1174"></span></a><span class="w"> </span> </span><span id="L-1175"><a href="#L-1175"><span class="linenos" data-line="1175"></span></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">yearsAgo</span><span class="w"> </span><span class="o">>=</span><span class="w"> </span><span class="mf">1</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-1176"><a href="#L-1176"><span class="linenos" data-line="1176"></span></a><span class="w"> </span><span class="nx">timeAgo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="sb">`<b>Inactive for </span><span class="si">${</span><span class="nx">yearsAgo</span><span class="si">}</span><span class="sb"> </span><span class="si">${</span><span class="nx">pluralize</span><span class="p">(</span><span class="s1">'year'</span><span class="p">,</span><span class="w"> </span><span class="nx">yearsAgo</span><span class="p">)</span><span class="si">}</span><span class="sb"></b>`</span><span class="p">;</span> </span><span id="L-1177"><a href="#L-1177"><span class="linenos" data-line="1177"></span></a><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">monthsAgo</span><span class="w"> </span><span class="o">>=</span><span class="w"> </span><span class="mf">3</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-1178"><a href="#L-1178"><span class="linenos" data-line="1178"></span></a><span class="w"> </span><span class="nx">timeAgo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="sb">`<b>Inactive for </span><span class="si">${</span><span class="nx">monthsAgo</span><span class="si">}</span><span class="sb"> </span><span class="si">${</span><span class="nx">pluralize</span><span class="p">(</span><span class="s1">'month'</span><span class="p">,</span><span class="w"> </span><span class="nx">monthsAgo</span><span class="p">)</span><span class="si">}</span><span class="sb"></b>`</span><span class="p">;</span> </span><span id="L-1179"><a href="#L-1179"><span class="linenos" data-line="1179"></span></a><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">weeksAgo</span><span class="w"> </span><span class="o">>=</span><span class="w"> </span><span class="mf">1</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> </span><span id="L-1180"><a href="#L-1180"><span class="linenos" data-line="1180"></span></a><span class="w"> </span><span class="nx">timeAgo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="sb">`<b>Inactive for </span><span class="si">${</span><span class="nx">weeksAgo</span><span class="si">}</span><span class="sb"> </span><span class="si">${</span><span class="nx">pluralize</span><span class="p">(</span><span class="s1">'week'</span><span class="p">,</span><span class="w"> </span><span class="nx">weeksAgo</span><span class="p">)</span><span class="si">}</span><span class="sb"></b>`</span><span class="p">;</span> </span><span id="L-1181"><a href="#L-1181"><span class="linenos" data-line="1181"></span></a><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span> </span><span id="L-1182"><a href="#L-1182"><span class="linenos" data-line="1182"></span></a><span class="w"> </span><span class="nx">timeAgo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="sb">`Active </span><span class="si">${</span><span class="nx">daysAgo</span><span class="si">}</span><span class="sb"> </span><span class="si">${</span><span class="nx">pluralize</span><span class="p">(</span><span class="s1">'day'</span><span class="p">,</span><span class="w"> </span><span class="nx">daysAgo</span><span class="p">)</span><span class="si">}</span><span class="sb"> ago`</span><span class="p">;</span> </span><span id="L-1183"><a href="#L-1183"><span class="linenos" data-line="1183"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-1184"><a href="#L-1184"><span class="linenos" data-line="1184"></span></a><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span> </span><span id="L-1185"><a href="#L-1185"><span class="linenos" data-line="1185"></span></a><span class="w"> </span><span class="nx">timeAgo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'Active today'</span><span class="p">;</span> </span><span id="L-1186"><a href="#L-1186"><span class="linenos" data-line="1186"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-1187"><a href="#L-1187"><span class="linenos" data-line="1187"></span></a><span class="w"> </span> </span><span id="L-1188"><a href="#L-1188"><span class="linenos" data-line="1188"></span></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">timeAgo</span><span class="p">,</span><span class="w"> </span><span class="nx">then</span><span class="w"> </span><span class="p">};</span> </span><span id="L-1189"><a href="#L-1189"><span class="linenos" data-line="1189"></span></a><span class="w"> </span><span class="p">}</span> </span><span id="L-1190"><a href="#L-1190"><span class="linenos" data-line="1190"></span></a><span class="w"> </span> </span><span id="L-1191"><a href="#L-1191"><span class="linenos" data-line="1191"></span></a><span class="w"> </span><span class="nx">init</span><span class="p">();</span> </span><span id="L-1192"><a href="#L-1192"><span class="linenos" data-line="1192"></span></a><span class="w"> </span><span class="p">});</span> </span><span id="L-1193"><a href="#L-1193"><span class="linenos" data-line="1193"></span></a><span class="w"> </span><span class="c1">// </nowiki></span> </span></pre></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐5c59558b9d‐bvnjw Cached time: 20241201011823 Cache expiry: 2592000 Reduced expiry: false Complications: [] CPU time usage: 0.002 seconds Real time usage: 0.003 seconds Preprocessor visited node count: 4/1000000 Post‐expand include size: 0/2097152 bytes Template argument size: 0/2097152 bytes Highest expansion depth: 2/100 Expensive parser function count: 0/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 33882/5000000 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 0.000 1 -total --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1&useformat=desktop" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=User:A455bcd9/nominations_viewer.js&oldid=1228672390">https://en.wikipedia.org/w/index.php?title=User:A455bcd9/nominations_viewer.js&oldid=1228672390</a>"</div></div> <div id="catlinks" class="catlinks catlinks-allhidden" data-mw="interface"></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 12 June 2024, at 14:45<span class="anonymous-show"> (UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=User:A455bcd9/nominations_viewer.js&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-5c59558b9d-bvnjw","wgBackendResponseTime":360,"wgPageParseReport":{"limitreport":{"cputime":"0.061","walltime":"0.077","ppvisitednodes":{"value":56,"limit":1000000},"postexpandincludesize":{"value":4752,"limit":2097152},"templateargumentsize":{"value":0,"limit":2097152},"expansiondepth":{"value":5,"limit":100},"expensivefunctioncount":{"value":2,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":3080,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 66.155 1 -total"," 49.05% 32.449 1 Template:Fmbox"," 37.00% 24.479 1 Template:Script_doc_auto"," 13.56% 8.971 1 Template:Key_press"," 2.71% 1.794 1 MediaWiki:Userjsdangerous"]},"scribunto":{"limitreport-timeusage":{"value":"0.032","limit":"10.000"},"limitreport-memusage":{"value":932363,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-5c59558b9d-bvnjw","timestamp":"20241201011823","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>