Use explicit jQuery import, remove unused eslint globals (#18435)
- Don't rely on globals (window.$) for jQuery import - Remove eslint globals no longer in use
This commit is contained in:
parent
7b04c97b7b
commit
19b017f398
51 changed files with 76 additions and 18 deletions
|
@ -23,9 +23,6 @@ env:
|
|||
|
||||
globals:
|
||||
__webpack_public_path__: true
|
||||
CodeMirror: false
|
||||
Dropzone: false
|
||||
SimpleMDE: false
|
||||
|
||||
settings:
|
||||
html/html-extensions: [".tmpl"]
|
||||
|
@ -34,7 +31,6 @@ overrides:
|
|||
- files: ["web_src/**/*.js", "web_src/**/*.vue", "templates/**/*.tmpl"]
|
||||
env:
|
||||
browser: true
|
||||
jquery: true
|
||||
node: false
|
||||
- files: ["templates/**/*.tmpl"]
|
||||
rules:
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import $ from 'jquery';
|
||||
import {SvgIcon} from '../svg.js';
|
||||
|
||||
const {appSubUrl, i18n} = window.config;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import Vue from 'vue';
|
||||
import $ from 'jquery';
|
||||
import {initVueSvg, vueDelimiters} from './VueComponentLoader.js';
|
||||
|
||||
const {appSubUrl, assetUrlPrefix, pageData} = window.config;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import Vue from 'vue';
|
||||
import $ from 'jquery';
|
||||
import {vueDelimiters} from './VueComponentLoader.js';
|
||||
|
||||
export function initRepoBranchTagDropdown(selector) {
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import $ from 'jquery';
|
||||
|
||||
const {csrfToken} = window.config;
|
||||
|
||||
export function initAdminCommon() {
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import $ from 'jquery';
|
||||
|
||||
export function initAdminEmails() {
|
||||
function linkEmailAction(e) {
|
||||
const $this = $(this);
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import $ from 'jquery';
|
||||
|
||||
export function initAdminUserListSearchForm() {
|
||||
const searchForm = window.config.pageData.adminUserListSearchForm;
|
||||
if (!searchForm) return;
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import $ from 'jquery';
|
||||
|
||||
const {copy_success, copy_error} = window.config.i18n;
|
||||
|
||||
function onSuccess(btn) {
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import $ from 'jquery';
|
||||
import 'jquery.are-you-sure';
|
||||
import {mqBinarySearch} from '../utils.js';
|
||||
import createDropzone from './dropzone.js';
|
||||
import {initCompColorPicker} from './comp/ColorPicker.js';
|
||||
|
||||
import 'jquery.are-you-sure';
|
||||
|
||||
const {csrfToken} = window.config;
|
||||
|
||||
export function initGlobalFormDirtyLeaveConfirm() {
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import $ from 'jquery';
|
||||
import {updateIssuesMeta} from './repo-issue.js';
|
||||
|
||||
export function initCommonIssue() {
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import $ from 'jquery';
|
||||
import {initCompLabelEdit} from './comp/LabelEdit.js';
|
||||
|
||||
export function initCommonOrganization() {
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import $ from 'jquery';
|
||||
import createColorPicker from '../colorpicker.js';
|
||||
|
||||
export function initCompColorPicker() {
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import $ from 'jquery';
|
||||
import attachTribute from '../tribute.js';
|
||||
|
||||
const {appSubUrl} = window.config;
|
||||
|
@ -54,7 +55,7 @@ export async function importEasyMDE() {
|
|||
* @returns {null|EasyMDE}
|
||||
*/
|
||||
export async function createCommentEasyMDE(textarea, easyMDEOptions = {}) {
|
||||
if (textarea instanceof jQuery) {
|
||||
if (textarea instanceof $) {
|
||||
textarea = textarea[0];
|
||||
}
|
||||
if (!textarea) {
|
||||
|
@ -151,7 +152,7 @@ export function attachEasyMDEToElements(easyMDE) {
|
|||
* @returns {null|EasyMDE}
|
||||
*/
|
||||
export function getAttachedEasyMDE(el) {
|
||||
if (el instanceof jQuery) {
|
||||
if (el instanceof $) {
|
||||
el = el[0];
|
||||
}
|
||||
if (!el) {
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import $ from 'jquery';
|
||||
const {csrfToken} = window.config;
|
||||
|
||||
async function uploadFile(file, uploadUrl) {
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import $ from 'jquery';
|
||||
import {initCompColorPicker} from './ColorPicker.js';
|
||||
|
||||
export function initCompLabelEdit(selector) {
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import $ from 'jquery';
|
||||
import {initMarkupContent} from '../../markup/content.js';
|
||||
|
||||
const {csrfToken} = window.config;
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import $ from 'jquery';
|
||||
const {csrfToken} = window.config;
|
||||
|
||||
export function initCompReactionSelector(parent) {
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import $ from 'jquery';
|
||||
import {htmlEscape} from 'escape-goat';
|
||||
|
||||
const {appSubUrl} = window.config;
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import $ from 'jquery';
|
||||
const {csrfToken} = window.config;
|
||||
|
||||
export function initCompWebHookEditor() {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import $ from 'jquery';
|
||||
import Vue from 'vue';
|
||||
|
||||
import ContextPopup from '../components/ContextPopup.vue';
|
||||
import {parseIssueHref} from '../utils.js';
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
import Vue from 'vue';
|
||||
|
||||
import ActivityHeatmap from '../components/ActivityHeatmap.vue';
|
||||
|
||||
export default function initHeatmap() {
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import $ from 'jquery';
|
||||
|
||||
function getDefaultSvgBoundsIfUndefined(svgXml, src) {
|
||||
const DefaultSize = 300;
|
||||
const MaxSize = 99999;
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import $ from 'jquery';
|
||||
|
||||
export function initInstall() {
|
||||
if ($('.page-content.install').length === 0) {
|
||||
return;
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
const {appSubUrl, csrfToken, notificationSettings} = window.config;
|
||||
import $ from 'jquery';
|
||||
|
||||
const {appSubUrl, csrfToken, notificationSettings} = window.config;
|
||||
let notificationSequenceNumber = 0;
|
||||
|
||||
export function initNotificationsTable() {
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import $ from 'jquery';
|
||||
|
||||
const {appSubUrl} = window.config;
|
||||
|
||||
export function initOrgTeamSettings() {
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import $ from 'jquery';
|
||||
|
||||
export function initRepoBranchButton() {
|
||||
$('.show-create-branch-modal.button').on('click', function () {
|
||||
$('#create-branch-form')[0].action = $('#create-branch-form').data('base-action') + $(this).data('branch-from-urlcomponent');
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import $ from 'jquery';
|
||||
import {svg} from '../svg.js';
|
||||
|
||||
function changeHash(hash) {
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import $ from 'jquery';
|
||||
|
||||
const {csrfToken} = window.config;
|
||||
|
||||
export function initRepoEllipsisButton() {
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import $ from 'jquery';
|
||||
|
||||
const {csrfToken} = window.config;
|
||||
|
||||
function getArchive($target, url, first) {
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
import $ from 'jquery';
|
||||
import {initCompReactionSelector} from './comp/ReactionSelector.js';
|
||||
import {initRepoIssueContentHistory} from './repo-issue-content.js';
|
||||
import {validateTextareaNonEmpty} from './comp/EasyMDE.js';
|
||||
|
||||
const {csrfToken} = window.config;
|
||||
|
||||
export function initRepoDiffReviewButton() {
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import $ from 'jquery';
|
||||
import {htmlEscape} from 'escape-goat';
|
||||
import {initMarkupContent} from '../markup/content.js';
|
||||
import {createCodeEditor} from './codeeditor.js';
|
||||
|
||||
const {csrfToken} = window.config;
|
||||
|
||||
let previewFileModes;
|
||||
|
||||
function initEditPreviewTab($form) {
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import $ from 'jquery';
|
||||
|
||||
export default function initRepoGraphGit() {
|
||||
const graphContainer = document.getElementById('git-graph-container');
|
||||
if (!graphContainer) return;
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import $ from 'jquery';
|
||||
import {stripTags} from '../utils.js';
|
||||
|
||||
const {appSubUrl, csrfToken} = window.config;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import $ from 'jquery';
|
||||
import {svg} from '../svg.js';
|
||||
|
||||
const {appSubUrl, csrfToken} = window.config;
|
||||
|
||||
let i18nTextEdited;
|
||||
let i18nTextOptions;
|
||||
let i18nTextDeleteFromHistory;
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import $ from 'jquery';
|
||||
import {htmlEscape} from 'escape-goat';
|
||||
import attachTribute from './tribute.js';
|
||||
import {createCommentEasyMDE, getAttachedEasyMDE} from './comp/EasyMDE.js';
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import $ from 'jquery';
|
||||
import {createCommentEasyMDE, getAttachedEasyMDE} from './comp/EasyMDE.js';
|
||||
import {initCompMarkupContentPreviewTab} from './comp/MarkupContentPreview.js';
|
||||
import {initCompImagePaste, initEasyMDEImagePaste} from './comp/ImagePaste.js';
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import $ from 'jquery';
|
||||
|
||||
const {appSubUrl, csrfToken} = window.config;
|
||||
|
||||
export function initRepoMigrationStatusChecker() {
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import $ from 'jquery';
|
||||
|
||||
const $service = $('#service_type');
|
||||
const $user = $('#auth_username');
|
||||
const $pass = $('#auth_password');
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import $ from 'jquery';
|
||||
|
||||
const {csrfToken} = window.config;
|
||||
|
||||
function moveIssue({item, from, to, oldIndex}) {
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import $ from 'jquery';
|
||||
import attachTribute from './tribute.js';
|
||||
import {initCompMarkupContentPreviewTab} from './comp/MarkupContentPreview.js';
|
||||
import {initEasyMDEImagePaste} from './comp/ImagePaste.js';
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import $ from 'jquery';
|
||||
import {createMonaco} from './codeeditor.js';
|
||||
import {initRepoCommonFilterSearchDropdown} from './repo-common.js';
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import $ from 'jquery';
|
||||
import {htmlEscape} from 'escape-goat';
|
||||
|
||||
const {appSubUrl} = window.config;
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import $ from 'jquery';
|
||||
|
||||
export function initUnicodeEscapeButton() {
|
||||
$(document).on('click', 'a.escape-button', (e) => {
|
||||
e.preventDefault();
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import $ from 'jquery';
|
||||
import {initMarkupContent} from '../markup/content.js';
|
||||
import {attachEasyMDEToElements, importEasyMDE, validateTextareaNonEmpty} from './comp/EasyMDE.js';
|
||||
import {initCompMarkupContentPreviewTab} from './comp/MarkupContentPreview.js';
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import $ from 'jquery';
|
||||
|
||||
export function initSshKeyFormParser() {
|
||||
// Parse SSH Key
|
||||
$('#ssh-key-content').on('change paste keyup', function () {
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import $ from 'jquery';
|
||||
import prettyMilliseconds from 'pretty-ms';
|
||||
const {appSubUrl, csrfToken, notificationSettings, enableTimeTracking} = window.config;
|
||||
|
||||
const {appSubUrl, csrfToken, notificationSettings, enableTimeTracking} = window.config;
|
||||
let updateTimeInterval = null; // holds setInterval id when active
|
||||
|
||||
export function initStopwatch() {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import $ from 'jquery';
|
||||
import {encode, decode} from 'uint8-to-base64';
|
||||
|
||||
const {appSubUrl, csrfToken} = window.config;
|
||||
|
||||
|
||||
export function initUserAuthWebAuthn() {
|
||||
if ($('.user.signin.webauthn-prompt').length === 0) {
|
||||
return;
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import $ from 'jquery';
|
||||
|
||||
export function initUserAuthOauth2() {
|
||||
const $oauth2LoginNav = $('#oauth2-login-navigator');
|
||||
if ($oauth2LoginNav.length === 0) return;
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import $ from 'jquery';
|
||||
|
||||
export function initUserSettings() {
|
||||
if ($('.user.settings.profile').length > 0) {
|
||||
$('#username').on('keyup', function () {
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import './publicpath.js';
|
||||
|
||||
import $ from 'jquery';
|
||||
import {initVueEnv} from './components/VueComponentLoader.js';
|
||||
import {initRepoActivityTopAuthorsChart} from './components/RepoActivityTopAuthors.vue';
|
||||
import {initDashboardRepoList} from './components/DashboardRepoList.js';
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
import $ from 'jquery';
|
||||
|
||||
const preventListener = (e) => e.preventDefault();
|
||||
|
||||
/**
|
||||
* Attaches `input` handlers to markdown rendered tasklist checkboxes in comments.
|
||||
*
|
||||
|
@ -5,9 +9,6 @@
|
|||
* is set accordingly and sent to the server. On success it updates the raw-content on
|
||||
* error it resets the checkbox to its original value.
|
||||
*/
|
||||
|
||||
const preventListener = (e) => e.preventDefault();
|
||||
|
||||
export function initMarkupTasklist() {
|
||||
for (const el of document.querySelectorAll(`.markup[data-can-edit=true]`) || []) {
|
||||
const container = el.parentNode;
|
||||
|
|
Reference in a new issue