This begins our refactoring effort and aims to minimise the use of inheritance in MobileFrontend. We will reduce components to classes that extend the View class to minimise confusion in navigating through files to understand how the inheritance change impacts our component.
The outcomes of this epic will be:
- More granularity in our components and more reuse
- The DRYing up of many template and template partials
- Easier to read code.
Per T206036#4832740 (MFA: [Spike, 8hrs] Views: You Gotta Keep 'em Separated) and similar discussions in T209647 we will start by focusing on Overlay's.
At time of writing
= When is it done?
This EPIC can be resolved when the following classes either do not exist (replaced with factory functions or removed)
The following query should return 0 results in Minerva and MobileFrontend.
> ag "extends Overlay"
[] CategoryAddOverlay
[] CategoryOverlay
[] AbuseFilterOverlay
[] EditorOverlayBase
[] LanguageOverlay
[] ImageOverlay
[] NotificationsFilterOverlay
[] TalkOverlay
[] TalkSectionAddOverlay
[] TalkSectionOverlay
[] LoadingOverlay
[] SearchOverlay
[] PageIssuesOverlay.