WIP - feat: Inform users when reached limit of active static filter lists [#1201]
Marked as WIP due to the following TO-DO's:
- add initialization logic
- handle cases where this module wasn't used to add/remove subscriptions and the sdk was used by mistake
- test the behavior of the bucket subscription lists when sdk adds/removes/enables/disables subscriptions
This MR includes the following changes strictly related to the ticket:
- Introduction of a buckets module to categorize subscriptions by ranks and used it to decide if a subscription gets enabled or not, and automatically disable low ranked ones to make space for new higher ranked. Required to (as-close-as) always be able to install/activate "Acceptable Ads" and "Premium" subscriptions.
- see module overview: (internal) https://docs.google.com/presentation/d/1P0fIAYjMz-vaBN3C9gSqCSRHSmtZR4JvCOA1lyR44ks/edit?usp=sharing
- Introduction of an pseudo-disabled attribute ("toggleDisabled") that would stop a button/toggle to be 'checked' on click events and will rather show an information tooltip.
- A module ("filter-list-errors") that will handle the tooltip errors related to this ticket. In the future, it could also be the one handling all other errors related to filter Lists, like sync errors.
- Introduction of an auxiliary tooltip (io-popout) to show errors across the whole document
- Introduction of a "close" event for io-popout elements, so we can
and the following changes initially unrelated to the ticket but needed to be fixed due to ticket changes:
- Introduction of a
data-state
attribute in the acceptable ads (AA) form, to identify a waiting process for changing between AA subscriptions and avoid an undesired flickering effect for elements like the Survey Tooltip.
Edited by Adilson Sandoval