Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[v14] [Web] Add "Show All Labels/Collapse All Labels" button to Unified List View #35666

Merged
merged 2 commits into from Dec 12, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
129 changes: 102 additions & 27 deletions api/gen/proto/go/userpreferences/v1/unified_resource_preferences.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Expand Up @@ -24,6 +24,8 @@ message UnifiedResourcePreferences {
DefaultTab default_tab = 1;
// view_mode is the view mode selected in the unified resource Web UI
ViewMode view_mode = 2;
// labels_view_mode is whether the labels for resources should all be collapsed or expanded in the unified resource Web UI list view.
LabelsViewMode labels_view_mode = 3;
}

// DefaultTab is the default tab selected in the unified resource web UI
Expand All @@ -43,3 +45,12 @@ enum ViewMode {
// LIST is the list view
VIEW_MODE_LIST = 2;
}

/** LabelsViewMode is whether the labels for resources should all be collapsed or expanded. This only applies to the list view. */
enum LabelsViewMode {
LABELS_VIEW_MODE_UNSPECIFIED = 0;
// EXPANDED is the expanded state which shows all labels for every resource.
LABELS_VIEW_MODE_EXPANDED = 1;
// COLLAPSED is the collapsed state which hides all labels for every resource.
LABELS_VIEW_MODE_COLLAPSED = 2;
}
5 changes: 3 additions & 2 deletions lib/auth/userpreferences/userpreferencesv1/service_test.go
Expand Up @@ -59,8 +59,9 @@ func TestService_GetUserPreferences(t *testing.T) {
},
Theme: userpreferencesv1.Theme_THEME_LIGHT,
UnifiedResourcePreferences: &userpreferencesv1.UnifiedResourcePreferences{
DefaultTab: userpreferencesv1.DefaultTab_DEFAULT_TAB_ALL,
ViewMode: userpreferencesv1.ViewMode_VIEW_MODE_CARD,
DefaultTab: userpreferencesv1.DefaultTab_DEFAULT_TAB_ALL,
ViewMode: userpreferencesv1.ViewMode_VIEW_MODE_CARD,
LabelsViewMode: userpreferencesv1.LabelsViewMode_LABELS_VIEW_MODE_COLLAPSED,
},
Onboard: &userpreferencesv1.OnboardUserPreferences{
PreferredResources: []userpreferencesv1.Resource{},
Expand Down
5 changes: 3 additions & 2 deletions lib/services/local/userpreferences.go
Expand Up @@ -42,8 +42,9 @@ func DefaultUserPreferences() *userpreferencesv1.UserPreferences {
},
Theme: userpreferencesv1.Theme_THEME_LIGHT,
UnifiedResourcePreferences: &userpreferencesv1.UnifiedResourcePreferences{
DefaultTab: userpreferencesv1.DefaultTab_DEFAULT_TAB_ALL,
ViewMode: userpreferencesv1.ViewMode_VIEW_MODE_CARD,
DefaultTab: userpreferencesv1.DefaultTab_DEFAULT_TAB_ALL,
ViewMode: userpreferencesv1.ViewMode_VIEW_MODE_CARD,
LabelsViewMode: userpreferencesv1.LabelsViewMode_LABELS_VIEW_MODE_COLLAPSED,
},
Onboard: &userpreferencesv1.OnboardUserPreferences{
PreferredResources: []userpreferencesv1.Resource{},
Expand Down
15 changes: 9 additions & 6 deletions lib/services/local/userpreferences_test.go
Expand Up @@ -120,8 +120,9 @@ func TestUserPreferencesCRUD(t *testing.T) {
Onboard: defaultPref.Onboard,
Theme: defaultPref.Theme,
UnifiedResourcePreferences: &userpreferencesv1.UnifiedResourcePreferences{
DefaultTab: userpreferencesv1.DefaultTab_DEFAULT_TAB_PINNED,
ViewMode: userpreferencesv1.ViewMode_VIEW_MODE_CARD,
DefaultTab: userpreferencesv1.DefaultTab_DEFAULT_TAB_PINNED,
ViewMode: userpreferencesv1.ViewMode_VIEW_MODE_CARD,
LabelsViewMode: userpreferencesv1.LabelsViewMode_LABELS_VIEW_MODE_COLLAPSED,
},
ClusterPreferences: defaultPref.ClusterPreferences,
},
Expand Down Expand Up @@ -230,8 +231,9 @@ func TestUserPreferencesCRUD(t *testing.T) {
Preferences: &userpreferencesv1.UserPreferences{
Theme: userpreferencesv1.Theme_THEME_LIGHT,
UnifiedResourcePreferences: &userpreferencesv1.UnifiedResourcePreferences{
DefaultTab: userpreferencesv1.DefaultTab_DEFAULT_TAB_PINNED,
ViewMode: userpreferencesv1.ViewMode_VIEW_MODE_LIST,
DefaultTab: userpreferencesv1.DefaultTab_DEFAULT_TAB_PINNED,
ViewMode: userpreferencesv1.ViewMode_VIEW_MODE_LIST,
LabelsViewMode: userpreferencesv1.LabelsViewMode_LABELS_VIEW_MODE_COLLAPSED,
},
Assist: &userpreferencesv1.AssistUserPreferences{
PreferredLogins: []string{"baz"},
Expand All @@ -256,8 +258,9 @@ func TestUserPreferencesCRUD(t *testing.T) {
expected: &userpreferencesv1.UserPreferences{
Theme: userpreferencesv1.Theme_THEME_LIGHT,
UnifiedResourcePreferences: &userpreferencesv1.UnifiedResourcePreferences{
DefaultTab: userpreferencesv1.DefaultTab_DEFAULT_TAB_PINNED,
ViewMode: userpreferencesv1.ViewMode_VIEW_MODE_LIST,
DefaultTab: userpreferencesv1.DefaultTab_DEFAULT_TAB_PINNED,
ViewMode: userpreferencesv1.ViewMode_VIEW_MODE_LIST,
LabelsViewMode: userpreferencesv1.LabelsViewMode_LABELS_VIEW_MODE_COLLAPSED,
},
Assist: &userpreferencesv1.AssistUserPreferences{
PreferredLogins: []string{"baz"},
Expand Down
15 changes: 9 additions & 6 deletions lib/web/userpreferences.go
Expand Up @@ -51,8 +51,9 @@ type ClusterUserPreferencesResponse struct {
}

type UnifiedResourcePreferencesResponse struct {
DefaultTab userpreferencesv1.DefaultTab `json:"defaultTab"`
ViewMode userpreferencesv1.ViewMode `json:"viewMode"`
DefaultTab userpreferencesv1.DefaultTab `json:"defaultTab"`
ViewMode userpreferencesv1.ViewMode `json:"viewMode"`
LabelsViewMode userpreferencesv1.LabelsViewMode `json:"labelsViewMode"`
}

// UserPreferencesResponse is the JSON response for the user preferences.
Expand Down Expand Up @@ -120,8 +121,9 @@ func makePreferenceRequest(req UserPreferencesResponse) *userpreferencesv1.Upser
Preferences: &userpreferencesv1.UserPreferences{
Theme: req.Theme,
UnifiedResourcePreferences: &userpreferencesv1.UnifiedResourcePreferences{
DefaultTab: req.UnifiedResourcePreferences.DefaultTab,
ViewMode: req.UnifiedResourcePreferences.ViewMode,
DefaultTab: req.UnifiedResourcePreferences.DefaultTab,
ViewMode: req.UnifiedResourcePreferences.ViewMode,
LabelsViewMode: req.UnifiedResourcePreferences.LabelsViewMode,
},
Assist: &userpreferencesv1.AssistUserPreferences{
PreferredLogins: req.Assist.PreferredLogins,
Expand Down Expand Up @@ -205,8 +207,9 @@ func assistUserPreferencesResponse(resp *userpreferencesv1.AssistUserPreferences
// unifiedResourcePreferencesResponse creates a JSON response for the assist user preferences.
func unifiedResourcePreferencesResponse(resp *userpreferencesv1.UnifiedResourcePreferences) UnifiedResourcePreferencesResponse {
return UnifiedResourcePreferencesResponse{
DefaultTab: resp.DefaultTab,
ViewMode: resp.ViewMode,
DefaultTab: resp.DefaultTab,
ViewMode: resp.ViewMode,
LabelsViewMode: resp.LabelsViewMode,
}
}

Expand Down
Expand Up @@ -59,7 +59,7 @@ export function ResourceCard({
pinResource,
selectResource,
selected,
}: Omit<ResourceItemProps, 'listViewProps'>) {
}: Omit<ResourceItemProps, 'listViewProps' | 'expandAllLabels'>) {
const { primaryDesc, secondaryDesc } = cardViewProps;

const [showMoreLabelsButton, setShowMoreLabelsButton] = useState(false);
Expand Down