Skip to content

Commit

Permalink
add expand all labels button (#35526) (#35666)
Browse files Browse the repository at this point in the history
  • Loading branch information
rudream committed Dec 12, 2023
1 parent 9ee4ae6 commit 89f1fd0
Show file tree
Hide file tree
Showing 16 changed files with 223 additions and 55 deletions.
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

0 comments on commit 89f1fd0

Please sign in to comment.