1- import "#admin/groups/ak-group-form" ;
21import "#admin/users/ak-user-group-table" ;
32import "#components/ak-status-label" ;
43import "#elements/buttons/SpinnerButton/index" ;
54import "#elements/forms/DeleteBulkForm" ;
65import "#elements/forms/HorizontalFormElement" ;
7- import "#elements/forms/ModalForm" ;
86import "@patternfly/elements/pf-tooltip/pf-tooltip.js" ;
97
108import { DEFAULT_CONFIG } from "#common/api/config" ;
119
12- import { renderModal } from "#elements/dialogs" ;
10+ import { modalInvoker , renderModal } from "#elements/dialogs" ;
1311import { AKFormSubmitEvent , Form } from "#elements/forms/Form" ;
1412import { PaginatedResponse , Table , TableColumn } from "#elements/table/Table" ;
1513import { SlottedTemplateResult } from "#elements/types" ;
1614
15+ import { GroupForm } from "#admin/groups/ak-group-form" ;
16+
1717import { CoreApi , Group , User } from "@goauthentik/api" ;
1818
1919import { msg , str } from "@lit/localize" ;
@@ -23,6 +23,10 @@ import { ifDefined } from "lit/directives/if-defined.js";
2323
2424@customElement ( "ak-group-related-add" )
2525export class RelatedGroupAdd extends Form < { groups : string [ ] } > {
26+ public static override verboseName = msg ( "Group" ) ;
27+ public static override submitVerb = msg ( "Add" ) ;
28+ public static override createLabel = msg ( "Add" ) ;
29+
2630 @property ( { attribute : false } )
2731 public user ?: User ;
2832
@@ -151,40 +155,33 @@ export class RelatedGroupList extends Table<Group> {
151155 return [
152156 html `< a href ="#/identity/groups/ ${ item . pk } "> ${ item . name } </ a > ` ,
153157 html `< ak-status-label type ="neutral " ?good =${ item . isSuperuser } > </ ak-status-label > ` ,
154- html ` < ak-forms-modal >
155- < span slot ="submit "> ${ msg ( "Save Changes" ) } </ span >
156- < span slot ="header "> ${ msg ( "Update Group" ) } </ span >
157- < ak-group-form slot ="form " .instancePk =${ item . pk } > </ ak-group-form >
158- < button slot ="trigger " class ="pf-c-button pf-m-plain ">
159- < pf-tooltip position ="top " content =${ msg ( "Edit" ) } >
160- < i class ="fas fa-edit " aria-hidden ="true "> </ i >
161- </ pf-tooltip >
162- </ button >
163- </ ak-forms-modal > ` ,
158+ html `< button
159+ class ="pf-c-button pf-m-plain "
160+ ${ modalInvoker ( GroupForm , { instancePk : item . pk } ) }
161+ >
162+ < pf-tooltip position ="top " content =${ msg ( "Edit" ) } >
163+ < i class ="fas fa-edit " aria-hidden ="true "> </ i >
164+ </ pf-tooltip >
165+ </ button > ` ,
164166 ] ;
165167 }
166168
167169 renderToolbar ( ) : TemplateResult {
168170 return html `
169171 ${ this . targetUser
170- ? html `< ak-forms-modal >
171- < span slot ="submit "> ${ msg ( "Add" ) } </ span >
172- < span slot ="header "> ${ msg ( "Add Group" ) } </ span >
173- < ak-group-related-add .user =${ this . targetUser } slot ="form">
174- </ ak-group-related-add >
175- < button slot ="trigger " class ="pf-c-button pf-m-primary ">
176- ${ msg ( "Add to existing group" ) }
177- </ button >
178- </ ak-forms-modal > `
172+ ? html `< button
173+ class ="pf-c-button pf-m-primary "
174+ ${ modalInvoker ( RelatedGroupAdd , { user : this . targetUser } ) }
175+ >
176+ ${ msg ( "Add to existing group" ) }
177+ </ button > `
179178 : nothing }
180- < ak-forms-modal >
181- < span slot ="submit "> ${ msg ( "Create" ) } </ span >
182- < span slot ="header "> ${ msg ( "Create Group" ) } </ span >
183- < ak-group-form slot ="form "> </ ak-group-form >
184- < button slot ="trigger " class ="pf-c-button pf-m-secondary ">
185- ${ msg ( "Add new group" ) }
186- </ button >
187- </ ak-forms-modal >
179+ < button
180+ class ="pf-c-button pf-m-secondary "
181+ ${ modalInvoker ( GroupForm ) }
182+ >
183+ ${ msg ( "Add new group" ) }
184+ </ button >
188185 ${ super . renderToolbar ( ) }
189186 ` ;
190187 }
0 commit comments