docbrown/app/assets/javascripts/.eslintrc.js
Suzanne Aitchison 75b6c8ed96
Use a single listener for all follow buttons on a page (#14246)
* create new pack, handle user follow buttons, use pack on article page, remove initializeUserFollowButts

* init all follow button types, add pack to tag index and podcast episode pages

* add pack to all relevant pages, listen for newly inserted follow buttons

* change to searchParams to remove follow button initializer calls

* fix bug with tag page, add pack to notifications page

* fix issue with follow back inner text

* update cypress specs

* run the followbuttons code on sponsors page

* remove extra foreach

* add test for follow from article sidebar

* add test for follow and unfollow tag

* add test for the tag index page

* add spec for organisation profile follow

* add tests for follow buttons in search results

* add tests for notification follows

* commit missed file - woops

* show login modal if user is logged out when they click

* add cypress tests for logged out state

* change tag button initialization

* remove data-button-initialized

* init follow buttons from base pack

* handle the case where multiple follow buttons exist on a page for the same user

* account for instantclick and userdata not being defined, lower coverage for jest

* use getInstantClick

* fix issue with set initialisation

* only listen for mutations in areas we know follow buttons may be added dynamically

* small refactors
2021-07-27 10:45:50 +01:00

31 lines
697 B
JavaScript

/* eslint-env node */
module.exports = {
extends: ['eslint:recommended', 'prettier'],
parserOptions: {
ecmaVersion: 2018,
},
env: {
browser: true,
},
plugins: ['ignore-erb'],
rules: {
'no-unused-vars': 'off',
'vars-on-top': 'off',
},
globals: {
getCsrfToken: false,
sendFetch: false,
preventDefaultAction: false,
userData: false,
ga: false, // Google Analytics
handleOptimisticButtRender: false,
handleFollowButtPress: false,
browserStoreCache: false,
initializeBaseUserData: false,
initializeReadingListIcons: false,
initializeSponsorshipVisibility: false,
ActiveXObject: false,
AndroidBridge: false,
},
};