Skip to content

Commit

Permalink
Add option to hide pages, sections and actions
Browse files Browse the repository at this point in the history
Signed-off-by: Tamal Saha <[email protected]>
  • Loading branch information
tamalsaha committed Dec 25, 2024
1 parent b8557a2 commit 25a2b11
Show file tree
Hide file tree
Showing 9 changed files with 95 additions and 14 deletions.
37 changes: 30 additions & 7 deletions apis/ui/v1alpha1/openapi_generated.go

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

3 changes: 3 additions & 0 deletions apis/ui/v1alpha1/resourceoutlinefilter_helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ func (a ResourceOutlineFilterSpec) GetPage(name string) ResourcePageOutlineFilte
}
return ResourcePageOutlineFilter{
Name: name,
Show: false,
Sections: nil,
}
}
Expand All @@ -36,6 +37,7 @@ func (a ResourceOutlineFilterSpec) GetAction(name string) ActionTemplateGroupFil
}
return ActionTemplateGroupFilter{
Name: name,
Show: false,
Items: nil,
}
}
Expand All @@ -48,6 +50,7 @@ func (a ResourcePageOutlineFilter) GetSection(name string) SectionOutlineFilter
}
return SectionOutlineFilter{
Name: name,
Show: false,
Blocks: nil,
}
}
9 changes: 6 additions & 3 deletions apis/ui/v1alpha1/resourceoutlinefilter_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,15 +54,18 @@ type ResourceOutlineFilterSpec struct {
type ResourcePageOutlineFilter struct {
Name string `json:"name"`
Sections []SectionOutlineFilter `json:"sections,omitempty"`
Show bool `json:"show"`
}

type ActionTemplateGroupFilter struct {
Name string `json:"name,omitempty"`
Items map[string]bool `json:"items"`
Name string `json:"name"`
Items map[string]bool `json:"items,omitempty"`
Show bool `json:"show"`
}

type SectionOutlineFilter struct {
Name string `json:"name,omitempty"`
Name string `json:"name"`
Show bool `json:"show"`
Info bool `json:"info"`
Insight bool `json:"insight"`
Blocks map[string]bool `json:"blocks,omitempty"`
Expand Down
12 changes: 11 additions & 1 deletion crds/meta.k8s.appscode.com_resourceoutlinefilters.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,11 @@ spec:
type: object
name:
type: string
show:
type: boolean
required:
- items
- name
- show
type: object
type: array
header:
Expand All @@ -65,13 +68,20 @@ spec:
type: boolean
name:
type: string
show:
type: boolean
required:
- info
- insight
- name
- show
type: object
type: array
show:
type: boolean
required:
- name
- show
type: object
type: array
resource:
Expand Down
12 changes: 11 additions & 1 deletion crds/ui.k8s.appscode.com_resourceoutlinefilters.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,11 @@ spec:
type: object
name:
type: string
show:
type: boolean
required:
- items
- name
- show
type: object
type: array
header:
Expand All @@ -65,13 +68,20 @@ spec:
type: boolean
name:
type: string
show:
type: boolean
required:
- info
- insight
- name
- show
type: object
type: array
show:
type: boolean
required:
- name
- show
type: object
type: array
resource:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,11 @@ spec:
type: object
name:
type: string
show:
type: boolean
required:
- items
- name
- show
type: object
type: array
header:
Expand All @@ -88,13 +91,20 @@ spec:
type: boolean
name:
type: string
show:
type: boolean
required:
- info
- insight
- name
- show
type: object
type: array
show:
type: boolean
required:
- name
- show
type: object
type: array
resource:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,11 @@ spec:
type: object
name:
type: string
show:
type: boolean
required:
- items
- name
- show
type: object
type: array
header:
Expand All @@ -88,13 +91,20 @@ spec:
type: boolean
name:
type: string
show:
type: boolean
required:
- info
- insight
- name
- show
type: object
type: array
show:
type: boolean
required:
- name
- show
type: object
type: array
resource:
Expand Down
3 changes: 3 additions & 0 deletions pkg/layouts/filter.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ func GetDefaultResourceOutlineFilter(kc client.Client, outline *rsapi.ResourceOu
for _, ag := range ed.Spec.UI.Actions {
ag2 := uiapi.ActionTemplateGroupFilter{
Name: ag.Name,
Show: true,
Items: make(map[string]bool, len(ag.Items)),
}
for _, a := range ag.Items {
Expand Down Expand Up @@ -95,12 +96,14 @@ func GetDefaultResourceOutlineFilter(kc client.Client, outline *rsapi.ResourceOu
for _, pageOutline := range pages {
page := uiapi.ResourcePageOutlineFilter{
Name: pageOutline.Name,
Show: true,
Sections: make([]uiapi.SectionOutlineFilter, 0, len(pageOutline.Sections)),
}
for _, sectionOutline := range pageOutline.Sections {

section := uiapi.SectionOutlineFilter{
Name: sectionOutline.Name,
Show: true,
Info: sectionOutline.Info != nil,
Insight: sectionOutline.Insight != nil,
}
Expand Down
9 changes: 9 additions & 0 deletions pkg/layouts/lib.go
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,9 @@ func GetResourceLayout(kc client.Client, outline *rsapi.ResourceOutline) (*rsapi
result.Spec.UI.Actions = make([]*shared.ActionTemplateGroup, 0, len(ed.Spec.UI.Actions))
for _, ag := range ed.Spec.UI.Actions {
agFilter := filter.Spec.GetAction(ag.Name)
if !agFilter.Show {
continue
}
ag2 := shared.ActionTemplateGroup{
ActionInfo: ag.ActionInfo,
Items: make([]shared.ActionTemplate, 0, len(ag.Items)),
Expand Down Expand Up @@ -280,13 +283,19 @@ func GetResourceLayout(kc client.Client, outline *rsapi.ResourceOutline) (*rsapi

for _, pageOutline := range pages {
pageFilter := filter.Spec.GetPage(pageOutline.Name)
if !pageFilter.Show {
continue
}
page := rsapi.ResourcePageLayout{
Name: pageOutline.Name,
RequiredFeatureSets: pageOutline.RequiredFeatureSets,
Sections: make([]rsapi.SectionLayout, 0, len(pageOutline.Sections)),
}
for _, sectionOutline := range pageOutline.Sections {
sectionFilter := pageFilter.GetSection(sectionOutline.Name)
if !sectionFilter.Show {
continue
}

section := rsapi.SectionLayout{
Name: sectionOutline.Name,
Expand Down

0 comments on commit 25a2b11

Please sign in to comment.