UX: Change admin plugins list to follow UI guidelines (#28478)

This commit introduces a little bit of duplication
since the old plugin UIs not using the new plugin show
page look different from ones like AI and Gamification
which have been converted. We can use the new admin
header component on the plugins list, but for the other
pages we are manually rendering a breadcrumb trail and
the list of plugin tabs.

Over time as we convert more plugins to use the new UI
guidelines and show page we can get rid of this duplication.
This commit is contained in:
Martin Brennan
2024-08-30 14:53:36 +10:00
committed by GitHub
parent 1f206349fd
commit 361e954c55
17 changed files with 257 additions and 80 deletions

View File

@ -17,6 +17,17 @@ module PageObjects
actionbuilder = page.driver.browser.action # workaround zero height button
actionbuilder.click(component).perform
end
def checked?
find(@context).has_css?(".d-toggle-switch__checkbox[aria-checked=\"true\"]", visible: false)
end
def unchecked?
find(@context).has_css?(
".d-toggle-switch__checkbox[aria-checked=\"false\"]",
visible: false,
)
end
end
end
end

View File

@ -0,0 +1,28 @@
# frozen_string_literal: true
module PageObjects
module Pages
class AdminPluginsList < PageObjects::Pages::Base
def visit
page.visit("/admin/plugins")
self
end
def find_plugin(plugin)
find(plugin_row_selector(plugin))
end
def plugin_row_selector(plugin)
".admin-plugins-list .admin-plugins-list__row[data-plugin-name=\"#{plugin}\"]"
end
def has_plugin_tab?(plugin)
page.has_css?(plugin_nav_tab_selector(plugin))
end
def plugin_nav_tab_selector(plugin)
".admin-nav-submenu__tabs .admin-plugin-tab-nav-item[data-plugin-nav-tab-id=\"#{plugin}\"]"
end
end
end
end