The locations interface needs a major overhaul.
Let’s investigate the process and where we can start shimming some React components.
Research
Main Loader : Locations | Location Details (SaaS) Menu
- \SLP_Admin_UI::create_admin_menu
- The main hook attached to \SLP_Admin_UI::$menu_items[‘slp_manage_locations‘]
- When clicked, fires \SLP_Admin_UI::renderLocationsPage
- Which calls \SLP_Admin_Locations::display
SLP_Admin_Locations
extends WP_List_Table – this is already going to be a shit show. The WP_List_Table interface is from 1902. Maybe before that. It is awful.
Referenced by:
- \MySLP_Admin::do_admin_startup()
- Setting the screen property , probably not needed:
SLP_Admin_Locations::get_instance()->screen = ‘store-locator-plus_page_slp_manage_locations’;
- Setting the screen property , probably not needed:
- \SLP_Power_Pages_Admin::extend_location_edit()
- Only if Store Pages is active, add an edit section to show an “edit Store Page” link
- \SLP_Power_Pages_Admin::set_page_actions()
- Add the recreate store page action hyperlink under each location on the table
- \SLP_Actions::save_screen_options()
- To save the screen options, which is currently only the page (table rows) length.
- \SLP_Admin_Locations_Add::
- initialize
- extended_data_block – for extended data fields
- \SLP_Admin_UI::renderLocationsPage
- To render the UI
- \SLP_Location_LoadFromWP::import
- To only report back any URL the person puts in is invalid.
- This is called from \SLP_Admin_Locations_Actions::process_actions when the current_action is load_from_wp
- This is setup from \SLP_Admin_Locations_Load
- \SLP_Settings_manage_locations_table::display
- A shim for $this->settings->add_ItemToGroup( array(
‘group_params’ => $group_params,
‘type’ => ‘manage_locations_table’,
) );
- A shim for $this->settings->add_ItemToGroup( array(