web/standards: fix boolean attribute abuse (#14662)
* web: Add InvalidationFlow to Radius Provider dialogues
## What
- Bugfix: adds the InvalidationFlow to the Radius Provider dialogues
- Repairs: `{"invalidation_flow":["This field is required."]}` message, which was *not* propagated
to the Notification.
- Nitpick: Pretties `?foo=${true}` expressions: `s/\?([^=]+)=\$\{true\}/\1/`
## Note
Yes, I know I'm going to have to do more magic when we harmonize the forms, and no, I didn't add the
Property Mappings to the wizard, and yes, I know I'm going to have pain with the *new* version of
the wizard. But this is a serious bug; you can't make Radius servers with *either* of the current
dialogues at the moment.
* This (temporary) change is needed to prevent the unit tests from failing.
\# What
\# Why
\# How
\# Designs
\# Test Steps
\# Other Notes
* Revert "This (temporary) change is needed to prevent the unit tests from failing."
This reverts commit dddde09be5
.
* web/maintenance: correct the usage of boolean (false) attributes
## What
Just cleaning up a bad habit; we have a lot of `?attribute=${true|false}` (or, more alarmingly,
`.attribute=${true|false}`. These should just be `attribute` or be missing; anything else is
unnecessary.
Where the attribute is `true` by default, no changes have been made; there are only a few of them,
and they require re-working of the logic to assist with the changes. Booleans should never be `true` by
default, and if you absolutely cannot find an alternative phrasing that makes having them be `false`
by default a valid choice, they should be `reflect: true` to make their presence visible to screen
readers and debuggers.
## Why
Removing non-standard HTML uses from web components matches our programming standards and is an
important step toward the Authentik Elements NPM package, as well as the Schema-Driven Forms update.
## Boring excessive detail.
Because there are literally hundreds of changes, I've documented the boring ones here.
Changes that do *not* meet the basic criteria of "made the component comply with the standards" are
commented in the PR.
Here are all the Boolean property declarations in the system, delta the ones that declare `= true`;
those are documented at the bottom of this commit, and are not addressed in this PR. This
information is included to guide your decision making. The second block, below, documents the
actual changes made to component declarations throughout our code. The third block, at the bottom,
documents changes not made due to logic and effort constraints.
```
components/ak-switch-input.ts:
@property({ type: Boolean })
checked: boolean = false;
--
components/ak-switch-input.ts:
@property({ type: Boolean })
required = false;
--
components/ak-file-input.ts:
@property({ type: Boolean })
required = false;
--
components/HorizontalLightComponent.ts:
@property({ type: Boolean })
required = false;
--
components/ak-multi-select.ts:
@property({ type: Boolean })
required = false;
--
elements/TreeView.ts:
@property({ type: Boolean })
open = false;
--
components/ak-status-label.ts:
@property({ type: Boolean })
good = false;
--
components/ak-status-label.ts:
@property({ type: Boolean })
compact = false;
--
elements/CodeMirror.ts:
@property({ type: Boolean })
readOnly = false;
--
elements/buttons/ModalButton.ts:
@property({ type: Boolean })
open = false;
--
elements/EmptyState.ts:
@property({ type: Boolean })
fullHeight = false;
--
elements/Tabs.ts:
@property({ type: Boolean })
vertical = false;
--
elements/ak-checkbox-group/ak-checkbox-group.ts:
@property({ type: Boolean })
required = false;
--
elements/Label.ts:
@property({ type: Boolean })
compact = false;
--
elements/forms/FormGroup.ts:
@property({ type: Boolean, reflect: true })
expanded = false;
--
elements/Expand.ts:
@property({ type: Boolean })
expanded = false;
--
elements/forms/HorizontalFormElement.ts:
@property({ type: Boolean })
required = false;
--
elements/forms/HorizontalFormElement.ts:
@property({ type: Boolean })
slugMode = false;
--
elements/forms/SearchSelect/ak-portal.ts:
@property({ type: Boolean, reflect: true })
open = false;
--
elements/Alert.ts:
@property({ type: Boolean })
inline = false;
--
elements/forms/SearchSelect/ak-search-select-view.ts:
@property({ type: Boolean, reflect: true })
open = false;
--
elements/forms/SearchSelect/ak-search-select-view.ts:
@property({ type: Boolean })
blankable = false;
--
elements/sidebar/SidebarItem.ts:
@property({ type: Boolean })
expanded = false;
--
admin/stages/StageWizard.ts:
@property({ type: Boolean })
showBindingPage = false;
--
elements/forms/FormElement.ts:
@property({ type: Boolean })
required = false;
--
admin/common/ak-flow-search/FlowSearch.ts:
@property({ type: Boolean })
required?: boolean = false;
--
admin/applications/ProviderSelectModal.ts:
@property({ type: Boolean })
backchannel = false;
--
elements/forms/SearchSelect/SearchSelect.ts:
@property({ type: Boolean })
blankable = false;
--
admin/applications/components/ak-provider-search-input.ts:
@property({ type: Boolean })
required = false;
--
admin/applications/components/ak-provider-search-input.ts:
@property({ type: Boolean })
blankable = false;
--
admin/applications/components/ak-backchannel-input.ts:
@property({ type: Boolean })
required = false;
--
admin/policies/PolicyWizard.ts:
@property({ type: Boolean })
showBindingPage = false;
```
The attribute 'required' is an HTML native, and is false by default.
Here are all the change pairs around HTML attrbutes:
```
$ git diff | rg -A 1 '\?(backchannel|blankable|checked|compact|expanded|fullHeight|good|inline|open|readOnly|required|showBindingPage|slugMode|vertical)\b'
- ?required=${true}
+ required
- <ak-provider-select-table ?backchannel=${true} .confirm=${this.confirm}>
+ <ak-provider-select-table backchannel .confirm=${this.confirm}>
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${false}
- ?required=${true}
+ required
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?blankable=${true}
+ blankable
- ?required=${true}
+ required
- ?blankable=${true}
+ blankable
- ?blankable=${true}
+ blankable
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- return html` <ak-form-element-horizontal label=${msg("Name")} name="name" ?required=${true}>
+ return html` <ak-form-element-horizontal label=${msg("Name")} name="name" required>
- ?required=${true}
+ required
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?blankable=${true}
+ blankable
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Severity")} ?required=${true} name="severity">
+ <ak-form-element-horizontal label=${msg("Severity")} required name="severity">
- ?showBindingPage=${true}
+ showBindingPage
- ?showBindingPage=${true}
+ showBindingPage
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Title")} ?required=${true} name="title">
+ <ak-form-element-horizontal label=${msg("Title")} required name="title">
- <ak-form-element-horizontal label=${msg("Slug")} ?required=${true} name="slug">
+ <ak-form-element-horizontal label=${msg("Slug")} required name="slug">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Stage")} ?required=${true} name="stage">
+ <ak-form-element-horizontal label=${msg("Stage")} required name="stage">
- <ak-form-element-horizontal label=${msg("Order")} ?required=${true} name="order">
+ <ak-form-element-horizontal label=${msg("Order")} required name="order">
- ?required=${true}
+ required
- ?required=${true}
+ required
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?blankable=${true}
+ blankable
- ?required=${true}
+ required
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Type")} ?required=${true} name="type">
+ <ak-form-element-horizontal label=${msg("Type")} required name="type">
- ?blankable=${true}
+ blankable
- <ak-label color=${PFColor.Green} ?compact=${true}>
+ <ak-label color=${PFColor.Green} compact>
- ? html`<ak-label color=${PFColor.Red} ?compact=${true}
+ ? html`<ak-label color=${PFColor.Red} compact
- : html`<ak-label color=${PFColor.Green} ?compact=${true}
+ : html`<ak-label color=${PFColor.Green} compact
- ? html`<ak-label color=${PFColor.Orange} ?compact=${true}>
+ ? html`<ak-label color=${PFColor.Orange} compact>
- : html`<ak-label color=${PFColor.Green} ?compact=${true}>
+ : html`<ak-label color=${PFColor.Green} compact>
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Docker URL")} ?required=${true} name="url">
+ <ak-form-element-horizontal label=${msg("Docker URL")} required name="url">
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?showBindingPage=${true}
+ showBindingPage
- ?showBindingPage=${true}
+ showBindingPage
- ?blankable=${true}
+ blankable
- ?blankable=${true}
+ blankable
- ?blankable=${true}
+ blankable
- <ak-form-element-horizontal label=${msg("Order")} ?required=${true} name="order">
+ <ak-form-element-horizontal label=${msg("Order")} required name="order">
- <ak-form-element-horizontal label=${msg("Timeout")} ?required=${true} name="timeout">
+ <ak-form-element-horizontal label=${msg("Timeout")} required name="timeout">
- ? html`<ak-label color=${PFColor.Green} ?compact=${true}>
+ ? html`<ak-label color=${PFColor.Green} compact>
- : html`<ak-label color=${PFColor.Orange} ?compact=${true}>
+ : html`<ak-label color=${PFColor.Orange} compact>
- return html`<ak-form-element-horizontal label=${msg("User")} ?required=${true} name="user">
+ return html`<ak-form-element-horizontal label=${msg("User")} required name="user">
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?blankable=${true}
+ blankable
- ?blankable=${true}
+ blankable
- ?blankable=${true}
+ blankable
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?readOnly=${true}
+ readOnly
- return html`<ak-empty-state loading ?fullHeight=${true}></ak-empty-state>`;
+ return html`<ak-empty-state loading fullHeight></ak-empty-state>`;
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-group ?expanded=${true}>
+ <ak-form-group expanded>
- ?blankable=${true}
+ blankable
- <ak-form-group ?expanded=${true}>
+ <ak-form-group expanded>
- ?required=${true}
+ required
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-group ?expanded=${true}>
+ <ak-form-group expanded>
- ?blankable=${true}
+ blankable
- <ak-form-group ?expanded=${true}>
+ <ak-form-group expanded>
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?blankable=${true}
+ blankable
- <ak-form-element-horizontal label=${msg("Name")} name="name" ?required=${true}>
+ <ak-form-element-horizontal label=${msg("Name")} name="name" required>
- <ak-form-element-horizontal label=${msg("Protocol")} ?required=${true} name="protocol">
+ <ak-form-element-horizontal label=${msg("Protocol")} required name="protocol">
- <ak-form-element-horizontal label=${msg("Host")} name="host" ?required=${true}>
+ <ak-form-element-horizontal label=${msg("Host")} name="host" required>
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${false}
- ?blankable=${true}
+ blankable
- ?blankable=${true}
+ blankable
- return html`<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html`<ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?readOnly=${true}
+ readOnly
- ?blankable=${true}
+ blankable
- return html`<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html`<ak-form-element-horizontal label=${msg("Name")} required name="name">
- : html`<ak-label color=${PFColor.Orange} ?compact=${true}>
+ : html`<ak-label color=${PFColor.Orange} compact>
- <ak-label color=${PFColor.Grey} ?compact=${true}> ${msg("Built-in")}</ak-label>
+ <ak-label color=${PFColor.Grey} compact> ${msg("Built-in")}</ak-label>
- return html`<ak-empty-state loading ?fullHeight=${true}></ak-empty-state>`;
+ return html`<ak-empty-state loading fullHeight></ak-empty-state>`;
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-group ?expanded=${false}>
+ <ak-form-group>
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Slug")} ?required=${true} name="slug">
+ <ak-form-element-horizontal label=${msg("Slug")} required name="slug">
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-group ?expanded=${true}>
+ <ak-form-group expanded>
- ?blankable=${true}
+ blankable
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Slug")} ?required=${true} name="slug">
+ <ak-form-element-horizontal label=${msg("Slug")} required name="slug">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-group ?expanded=${true}>
+ <ak-form-group expanded>
- ?required=${true}
+ required
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Slug")} ?required=${true} name="slug">
+ <ak-form-element-horizontal label=${msg("Slug")} required name="slug">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-group ?expanded=${true}>
+ <ak-form-group expanded>
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Slug")} ?required=${true} name="slug">
+ <ak-form-element-horizontal label=${msg("Slug")} required name="slug">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-group ?expanded=${true}>
+ <ak-form-group expanded>
- ?required=${true}
+ required
- ?readOnly=${true}
+ readOnly
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Slug")} ?required=${true} name="slug">
+ <ak-form-element-horizontal label=${msg("Slug")} required name="slug">
- <ak-form-group ?expanded=${true}>
+ <ak-form-group expanded>
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?blankable=${true}
+ blankable
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("SMTP Host")} ?required=${true} name="host">
+ <ak-form-element-horizontal label=${msg("SMTP Host")} required name="host">
- <ak-form-element-horizontal label=${msg("SMTP Port")} ?required=${true} name="port">
+ <ak-form-element-horizontal label=${msg("SMTP Port")} required name="port">
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?blankable=${true}
+ blankable
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?blankable=${true}
+ blankable
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?blankable=${true}
+ blankable
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?blankable=${true}
+ blankable
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?blankable=${true}
+ blankable
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-alert ?inline=${true}>
+ <ak-alert inline>
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?blankable=${true}
+ blankable
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Mode")} ?required=${true} name="mode">
+ <ak-form-element-horizontal label=${msg("Mode")} required name="mode">
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("SMTP Host")} ?required=${true} name="host">
+ <ak-form-element-horizontal label=${msg("SMTP Host")} required name="host">
- <ak-form-element-horizontal label=${msg("SMTP Port")} ?required=${true} name="port">
+ <ak-form-element-horizontal label=${msg("SMTP Port")} required name="port">
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?slugMode=${true}
+ slugMode
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Expires")} ?required=${true} name="expires">
+ <ak-form-element-horizontal label=${msg("Expires")} required name="expires">
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?blankable=${true}
+ blankable
- ?required=${true}
+ required
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Field Key")} ?required=${true} name="fieldKey">
+ <ak-form-element-horizontal label=${msg("Field Key")} required name="fieldKey">
- <ak-form-element-horizontal label=${msg("Label")} ?required=${true} name="label">
+ <ak-form-element-horizontal label=${msg("Label")} required name="label">
- <ak-form-element-horizontal label=${msg("Type")} ?required=${true} name="type">
+ <ak-form-element-horizontal label=${msg("Type")} required name="type">
- <ak-form-element-horizontal label=${msg("Order")} ?required=${true} name="order">
+ <ak-form-element-horizontal label=${msg("Order")} required name="order">
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Source")} ?required=${true} name="source">
+ <ak-form-element-horizontal label=${msg("Source")} required name="source">
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- <ak-alert ?inline=${true}>
+ <ak-alert inline>
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?blankable=${true}
+ blankable
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("User")} ?required=${true} name="user">
+ <ak-form-element-horizontal label=${msg("User")} required name="user">
- <ak-form-element-horizontal label=${msg("Intent")} ?required=${true} name="intent">
+ <ak-form-element-horizontal label=${msg("Intent")} required name="intent">
- ?required=${true}
+ required
- <input class="pf-c-switch__input" type="checkbox" ?checked=${true} />
+ <input class="pf-c-switch__input" type="checkbox" checked />
- <input class="pf-c-switch__input" type="checkbox" ?checked=${true} />
+ <input class="pf-c-switch__input" type="checkbox" checked />
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("User type")} ?required=${true} name="type">
+ <ak-form-element-horizontal label=${msg("User type")} required name="type">
- <ak-form-element-horizontal label=${msg("Path")} ?required=${true} name="path">
+ <ak-form-element-horizontal label=${msg("Path")} required name="path">
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-tabs pageIdentifier="userCredentialsTokens" ?vertical=${true}>
+ <ak-tabs pageIdentifier="userCredentialsTokens" vertical>
- <ak-status-label ?good=${true}></ak-status-label>
+ <ak-status-label good></ak-status-label>
- ?open=${true}
+ open
- ?blankable=${true}
+ blankable
- <ak-tabs ?vertical="${true}">
+ <ak-tabs vertical>
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
```
The following issues are the `true` by default Booleans. As mentioned, these are **not addressed** by this PR.
```
elements/table/Table.ts::
@property({ type: Boolean })
paginated = true;
elements/forms/ModalForm.ts::
@property({ type: Boolean })
closeAfterSuccessfulSubmit = true;
elements/forms/ModalForm.ts::
@property({ type: Boolean })
showSubmitButton = true;
elements/CodeMirror.ts::
@property({ type: Boolean })
parseValue = true;
elements/LoadingOverlay.ts::
@property({ type: Boolean })
loading = true;
admin/stages/authenticator_validate/AuthenticatorValidateStageForm.ts::
@property({ type: Boolean })
showConfigurationStages = true;
elements/user/sources/SourceSettings.ts::
@property({ type: Boolean })
canConnect = true;
admin/outposts/OutpostHealthSimple.ts::
@property({ attribute: false })
showVersion = true;
elements/wizard/Wizard.ts::
@property({ type: Boolean })
canCancel = true;
elements/wizard/Wizard.ts::
@property({ type: Boolean })
canBack = true;
```
* Prettier had opinions.
* Caught during code review.
* Merged incorrectly; not sure what went wrong, but this re-applies the removal of the syntax from the current LDAPSourceForm.ts from to this branch.
This commit is contained in:
@ -56,18 +56,14 @@ export class AdminInterface extends WithCapabilitiesConfig(AuthenticatedInterfac
|
||||
|
||||
protected readonly ws: WebsocketClient;
|
||||
|
||||
@property({
|
||||
type: Object,
|
||||
attribute: false,
|
||||
reflect: false,
|
||||
})
|
||||
@property({ type: Object, attribute: false })
|
||||
public user?: SessionUser;
|
||||
|
||||
@query("ak-about-modal")
|
||||
public aboutModal?: AboutModal;
|
||||
|
||||
@property({ type: Boolean, reflect: true })
|
||||
public sidebarOpen: boolean;
|
||||
public sidebarOpen = false;
|
||||
|
||||
@eventOptions({ passive: true })
|
||||
protected sidebarListener(event: CustomEvent<SidebarToggleEventDetail>) {
|
||||
|
@ -88,7 +88,6 @@ export class AdminOverviewPage extends AdminOverviewBase {
|
||||
return html`<ak-page-header
|
||||
header=${this.user ? msg(str`Welcome, ${username || ""}.`) : msg("Welcome.")}
|
||||
description=${msg("General system status")}
|
||||
?hasIcon=${false}
|
||||
>
|
||||
</ak-page-header>
|
||||
<section class="pf-c-page__main-section">
|
||||
|
@ -93,11 +93,7 @@ export class ApplicationCheckAccessForm extends Form<{ forUser: number }> {
|
||||
}
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html`<ak-form-element-horizontal
|
||||
label=${msg("User")}
|
||||
?required=${true}
|
||||
name="forUser"
|
||||
>
|
||||
return html`<ak-form-element-horizontal label=${msg("User")} required name="forUser">
|
||||
<ak-search-select
|
||||
.fetchObjects=${async (query?: string): Promise<User[]> => {
|
||||
const args: CoreUsersListRequest = {
|
||||
|
@ -99,7 +99,6 @@ export class ApplicationViewPage extends AKElement {
|
||||
return html`<ak-page-header
|
||||
header=${this.application?.name || msg("Loading")}
|
||||
description=${ifDefined(this.application?.metaPublisher)}
|
||||
.iconImage=${true}
|
||||
>
|
||||
<ak-app-icon
|
||||
size=${PFSize.Medium}
|
||||
|
@ -20,7 +20,7 @@ export class ProviderSelectModal extends TableModal<Provider> {
|
||||
}
|
||||
|
||||
@property({ type: Boolean })
|
||||
backchannel?: boolean;
|
||||
backchannel = false;
|
||||
|
||||
@property()
|
||||
confirm!: (selectedItems: Provider[]) => Promise<unknown>;
|
||||
|
@ -57,7 +57,7 @@ export class AkBackchannelProvidersInput extends AKElement {
|
||||
render() {
|
||||
const renderOneChip = (provider: Provider) =>
|
||||
html`<ak-chip
|
||||
.removable=${true}
|
||||
removable
|
||||
value=${ifDefined(provider.pk)}
|
||||
@remove=${this.remover(provider)}
|
||||
>${provider.name}</ak-chip
|
||||
@ -66,7 +66,7 @@ export class AkBackchannelProvidersInput extends AKElement {
|
||||
return html`
|
||||
<ak-form-element-horizontal label=${this.label} name=${this.name}>
|
||||
<div class="pf-c-input-group">
|
||||
<ak-provider-select-table ?backchannel=${true} .confirm=${this.confirm}>
|
||||
<ak-provider-select-table backchannel .confirm=${this.confirm}>
|
||||
<button slot="trigger" class="pf-c-button pf-m-control" type="button">
|
||||
${this.tooltip ? this.tooltip : nothing}
|
||||
<i class="fas fa-plus" aria-hidden="true"></i>
|
||||
|
@ -54,7 +54,7 @@ export class ApplicationEntitlementForm extends ModelForm<ApplicationEntitlement
|
||||
}
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${this.instance?.name ?? ""}"
|
||||
@ -62,11 +62,7 @@ export class ApplicationEntitlementForm extends ModelForm<ApplicationEntitlement
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Attributes")}
|
||||
?required=${false}
|
||||
name="attributes"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("Attributes")} name="attributes">
|
||||
<ak-codemirror
|
||||
mode=${CodeMirrorMode.YAML}
|
||||
value="${YAML.stringify(this.instance?.attributes ?? {})}"
|
||||
|
@ -37,7 +37,7 @@ export class ApplicationWizardRACProviderForm extends ApplicationWizardProviderF
|
||||
<ak-form-element-horizontal
|
||||
name="authorizationFlow"
|
||||
label=${msg("Authorization flow")}
|
||||
?required=${true}
|
||||
required
|
||||
>
|
||||
<ak-flow-search
|
||||
flowType=${FlowsInstancesListDesignationEnum.Authorization}
|
||||
@ -60,7 +60,7 @@ export class ApplicationWizardRACProviderForm extends ApplicationWizardProviderF
|
||||
input-hint="code"
|
||||
></ak-text-input>
|
||||
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Protocol settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
|
@ -65,7 +65,7 @@ export class BlueprintForm extends ModelForm<BlueprintInstance, string> {
|
||||
}
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name)}"
|
||||
@ -133,7 +133,7 @@ export class BlueprintForm extends ModelForm<BlueprintInstance, string> {
|
||||
.selected=${(item: BlueprintFile): boolean => {
|
||||
return this.instance?.path === item.path;
|
||||
}}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
>
|
||||
</ak-search-select>
|
||||
</ak-form-element-horizontal>`
|
||||
|
@ -134,7 +134,7 @@ export class BrandForm extends ModelForm<Brand, string> {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Default flow background")}
|
||||
?required=${true}
|
||||
required
|
||||
name="brandingDefaultFlowBackground"
|
||||
>
|
||||
<input
|
||||
|
@ -95,7 +95,7 @@ export class CoreGroupSearch extends CustomListenerElement(AKElement) {
|
||||
.value=${renderValue}
|
||||
.selected=${this.selected}
|
||||
@ak-change=${this.handleSearchUpdate}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
>
|
||||
</ak-search-select>
|
||||
`;
|
||||
|
@ -120,7 +120,7 @@ export class AkCryptoCertificateSearch extends CustomListenerElement(AKElement)
|
||||
.value=${renderValue}
|
||||
.selected=${this.selected}
|
||||
@ak-change=${this.handleSearchUpdate}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
>
|
||||
</ak-search-select>
|
||||
`;
|
||||
|
@ -110,7 +110,7 @@ export const Default = () =>
|
||||
container(
|
||||
html` <ak-form-element-horizontal
|
||||
label=${msg("Authorization flow")}
|
||||
?required=${true}
|
||||
required
|
||||
name="authorizationFlow"
|
||||
>
|
||||
<ak-flow-search
|
||||
@ -124,7 +124,7 @@ export const WithInitialValue = () =>
|
||||
container(
|
||||
html` <ak-form-element-horizontal
|
||||
label=${msg("Authorization flow")}
|
||||
?required=${true}
|
||||
required
|
||||
name="authorizationFlow"
|
||||
>
|
||||
<ak-flow-search
|
||||
|
@ -29,7 +29,7 @@ export class CertificateKeyPairForm extends Form<CertificateGenerationRequest> {
|
||||
return html`<ak-form-element-horizontal
|
||||
label=${msg("Common Name")}
|
||||
name="commonName"
|
||||
?required=${true}
|
||||
required
|
||||
>
|
||||
<input type="text" class="pf-c-form-control" required />
|
||||
</ak-form-element-horizontal>
|
||||
@ -39,18 +39,10 @@ export class CertificateKeyPairForm extends Form<CertificateGenerationRequest> {
|
||||
${msg("Optional, comma-separated SubjectAlt Names.")}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Validity days")}
|
||||
name="validityDays"
|
||||
?required=${true}
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("Validity days")} name="validityDays" required>
|
||||
<input class="pf-c-form-control" type="number" value="365" />
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Private key Algorithm")}
|
||||
?required=${true}
|
||||
name="alg"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("Private key Algorithm")} required name="alg">
|
||||
<ak-radio
|
||||
.options=${[
|
||||
{
|
||||
|
@ -38,7 +38,7 @@ export class CertificateKeyPairForm extends ModelForm<CertificateKeyPair, string
|
||||
}
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} name="name" ?required=${true}>
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} name="name" required>
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name)}"
|
||||
|
@ -58,7 +58,7 @@ export class RuleForm extends ModelForm<NotificationRule, string> {
|
||||
}
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name)}"
|
||||
@ -88,7 +88,7 @@ export class RuleForm extends ModelForm<NotificationRule, string> {
|
||||
.selected=${(group: Group): boolean => {
|
||||
return group.pk === this.instance?.group;
|
||||
}}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
>
|
||||
</ak-search-select>
|
||||
<p class="pf-c-form__helper-text">
|
||||
@ -97,11 +97,7 @@ export class RuleForm extends ModelForm<NotificationRule, string> {
|
||||
)}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Transports")}
|
||||
?required=${true}
|
||||
name="transports"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("Transports")} required name="transports">
|
||||
<ak-dual-select-dynamic-selected
|
||||
.provider=${eventTransportsProvider}
|
||||
.selector=${eventTransportsSelector(this.instance?.transports)}
|
||||
@ -114,7 +110,7 @@ export class RuleForm extends ModelForm<NotificationRule, string> {
|
||||
)}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal label=${msg("Severity")} ?required=${true} name="severity">
|
||||
<ak-form-element-horizontal label=${msg("Severity")} required name="severity">
|
||||
<ak-radio
|
||||
.options=${[
|
||||
{
|
||||
|
@ -137,7 +137,7 @@ export class BoundStagesList extends Table<FlowStageBinding> {
|
||||
<div slot="primary">
|
||||
<ak-stage-wizard
|
||||
createText=${msg("Create and bind Stage")}
|
||||
?showBindingPage=${true}
|
||||
showBindingPage
|
||||
bindingTarget=${ifDefined(this.target)}
|
||||
></ak-stage-wizard>
|
||||
<ak-forms-modal>
|
||||
@ -158,7 +158,7 @@ export class BoundStagesList extends Table<FlowStageBinding> {
|
||||
return html`
|
||||
<ak-stage-wizard
|
||||
createText=${msg("Create and bind Stage")}
|
||||
?showBindingPage=${true}
|
||||
showBindingPage
|
||||
bindingTarget=${ifDefined(this.target)}
|
||||
></ak-stage-wizard>
|
||||
<ak-forms-modal>
|
||||
|
@ -74,7 +74,7 @@ export class FlowForm extends WithCapabilitiesConfig(ModelForm<Flow, string>) {
|
||||
}
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name)}"
|
||||
@ -82,7 +82,7 @@ export class FlowForm extends WithCapabilitiesConfig(ModelForm<Flow, string>) {
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal label=${msg("Title")} ?required=${true} name="title">
|
||||
<ak-form-element-horizontal label=${msg("Title")} required name="title">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.title)}"
|
||||
@ -91,7 +91,7 @@ export class FlowForm extends WithCapabilitiesConfig(ModelForm<Flow, string>) {
|
||||
/>
|
||||
<p class="pf-c-form__helper-text">${msg("Shown as the Title in Flow pages.")}</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal label=${msg("Slug")} ?required=${true} name="slug">
|
||||
<ak-form-element-horizontal label=${msg("Slug")} required name="slug">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.slug)}"
|
||||
@ -102,11 +102,7 @@ export class FlowForm extends WithCapabilitiesConfig(ModelForm<Flow, string>) {
|
||||
/>
|
||||
<p class="pf-c-form__helper-text">${msg("Visible in the URL.")}</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Designation")}
|
||||
?required=${true}
|
||||
name="designation"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("Designation")} required name="designation">
|
||||
<select class="pf-c-form-control">
|
||||
<option value="" ?selected=${this.instance?.designation === undefined}>
|
||||
---------
|
||||
@ -165,7 +161,7 @@ export class FlowForm extends WithCapabilitiesConfig(ModelForm<Flow, string>) {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Authentication")}
|
||||
?required=${true}
|
||||
required
|
||||
name="authentication"
|
||||
>
|
||||
<select class="pf-c-form-control">
|
||||
@ -240,7 +236,7 @@ export class FlowForm extends WithCapabilitiesConfig(ModelForm<Flow, string>) {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Denied action")}
|
||||
?required=${true}
|
||||
required
|
||||
name="deniedAction"
|
||||
>
|
||||
<ak-radio
|
||||
@ -279,7 +275,7 @@ export class FlowForm extends WithCapabilitiesConfig(ModelForm<Flow, string>) {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Policy engine mode")}
|
||||
?required=${true}
|
||||
required
|
||||
name="policyEngineMode"
|
||||
>
|
||||
<ak-radio
|
||||
@ -309,11 +305,7 @@ export class FlowForm extends WithCapabilitiesConfig(ModelForm<Flow, string>) {
|
||||
<ak-form-group>
|
||||
<span slot="header"> ${msg("Appearance settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Layout")}
|
||||
?required=${true}
|
||||
name="layout"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("Layout")} required name="layout">
|
||||
<select class="pf-c-form-control">
|
||||
<option
|
||||
value=${FlowLayoutEnum.Stacked}
|
||||
|
@ -76,11 +76,7 @@ export class StageBindingForm extends ModelForm<FlowStageBinding, string> {
|
||||
if (this.instance?.target || this.targetPk) {
|
||||
return html``;
|
||||
}
|
||||
return html`<ak-form-element-horizontal
|
||||
label=${msg("Target")}
|
||||
?required=${true}
|
||||
name="target"
|
||||
>
|
||||
return html`<ak-form-element-horizontal label=${msg("Target")} required name="target">
|
||||
<ak-flow-search
|
||||
flowType=${FlowsInstancesListDesignationEnum.Authorization}
|
||||
.currentFlow=${this.instance?.target}
|
||||
@ -91,7 +87,7 @@ export class StageBindingForm extends ModelForm<FlowStageBinding, string> {
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html` ${this.renderTarget()}
|
||||
<ak-form-element-horizontal label=${msg("Stage")} ?required=${true} name="stage">
|
||||
<ak-form-element-horizontal label=${msg("Stage")} required name="stage">
|
||||
<ak-search-select
|
||||
.fetchObjects=${async (query?: string): Promise<Stage[]> => {
|
||||
const args: StagesAllListRequest = {
|
||||
@ -118,7 +114,7 @@ export class StageBindingForm extends ModelForm<FlowStageBinding, string> {
|
||||
>
|
||||
</ak-search-select>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal label=${msg("Order")} ?required=${true} name="order">
|
||||
<ak-form-element-horizontal label=${msg("Order")} required name="order">
|
||||
<input
|
||||
type="number"
|
||||
value="${this.instance?.order ?? this.defaultOrder}"
|
||||
@ -164,7 +160,7 @@ export class StageBindingForm extends ModelForm<FlowStageBinding, string> {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Invalid response behavior")}
|
||||
?required=${true}
|
||||
required
|
||||
name="invalidResponseAction"
|
||||
>
|
||||
<ak-radio
|
||||
@ -201,7 +197,7 @@ export class StageBindingForm extends ModelForm<FlowStageBinding, string> {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Policy engine mode")}
|
||||
?required=${true}
|
||||
required
|
||||
name="policyEngineMode"
|
||||
>
|
||||
<ak-radio
|
||||
|
@ -62,7 +62,7 @@ export class GroupForm extends ModelForm<Group, string> {
|
||||
}
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name)}"
|
||||
@ -112,7 +112,7 @@ export class GroupForm extends ModelForm<Group, string> {
|
||||
.selected=${(group: Group): boolean => {
|
||||
return group.pk === this.instance?.parent;
|
||||
}}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
>
|
||||
</ak-search-select>
|
||||
</ak-form-element-horizontal>
|
||||
@ -141,11 +141,7 @@ export class GroupForm extends ModelForm<Group, string> {
|
||||
)}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Attributes")}
|
||||
?required=${true}
|
||||
name="attributes"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("Attributes")} required name="attributes">
|
||||
<ak-codemirror
|
||||
mode=${CodeMirrorMode.YAML}
|
||||
value="${YAML.stringify(this.instance?.attributes ?? {})}"
|
||||
|
@ -65,7 +65,7 @@ export class RelatedGroupAdd extends Form<{ groups: string[] }> {
|
||||
<ak-chip-group>
|
||||
${this.groupsToAdd.map((group) => {
|
||||
return html`<ak-chip
|
||||
.removable=${true}
|
||||
removable
|
||||
value=${ifDefined(group.pk)}
|
||||
@remove=${() => {
|
||||
const idx = this.groupsToAdd.indexOf(group);
|
||||
|
@ -83,7 +83,7 @@ export class RelatedUserAdd extends Form<{ users: number[] }> {
|
||||
<ak-chip-group>
|
||||
${this.usersToAdd.map((user) => {
|
||||
return html`<ak-chip
|
||||
.removable=${true}
|
||||
removable
|
||||
value=${ifDefined(user.pk)}
|
||||
@remove=${() => {
|
||||
const idx = this.usersToAdd.indexOf(user);
|
||||
|
@ -143,7 +143,7 @@ export class OutpostForm extends ModelForm<Outpost, string> {
|
||||
[OutpostTypeEnum.Rac, msg("RAC")],
|
||||
];
|
||||
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name)}"
|
||||
@ -151,7 +151,7 @@ export class OutpostForm extends ModelForm<Outpost, string> {
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal label=${msg("Type")} ?required=${true} name="type">
|
||||
<ak-form-element-horizontal label=${msg("Type")} required name="type">
|
||||
<select
|
||||
class="pf-c-form-control"
|
||||
@change=${(ev: Event) => {
|
||||
@ -202,7 +202,7 @@ export class OutpostForm extends ModelForm<Outpost, string> {
|
||||
}
|
||||
return selected;
|
||||
}}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
>
|
||||
</ak-search-select>
|
||||
<p class="pf-c-form__helper-text">
|
||||
|
@ -49,7 +49,7 @@ export class OutpostHealthElement extends AKElement {
|
||||
</dt>
|
||||
<dd class="pf-c-description-list__description">
|
||||
<div class="pf-c-description-list__text">
|
||||
<ak-label color=${PFColor.Green} ?compact=${true}>
|
||||
<ak-label color=${PFColor.Green} compact>
|
||||
${msg(
|
||||
str`${formatElapsedTime(this.outpostHealth.lastSeen)} (${this.outpostHealth.lastSeen?.toLocaleTimeString()})`,
|
||||
)}
|
||||
@ -64,12 +64,12 @@ export class OutpostHealthElement extends AKElement {
|
||||
<dd class="pf-c-description-list__description">
|
||||
<div class="pf-c-description-list__text">
|
||||
${this.outpostHealth.versionOutdated
|
||||
? html`<ak-label color=${PFColor.Red} ?compact=${true}
|
||||
? html`<ak-label color=${PFColor.Red} compact
|
||||
>${msg(
|
||||
str`${this.outpostHealth.version}, should be ${this.outpostHealth.versionShould}`,
|
||||
)}
|
||||
</ak-label>`
|
||||
: html`<ak-label color=${PFColor.Green} ?compact=${true}
|
||||
: html`<ak-label color=${PFColor.Green} compact
|
||||
>${versionString}
|
||||
</ak-label>`}
|
||||
</div>
|
||||
|
@ -112,12 +112,12 @@ export class OutpostListPage extends TablePage<Outpost> {
|
||||
return [
|
||||
html`<div>${item.name}</div>
|
||||
${item.config.authentik_host === ""
|
||||
? html`<ak-label color=${PFColor.Orange} ?compact=${true}>
|
||||
? html`<ak-label color=${PFColor.Orange} compact>
|
||||
${msg(
|
||||
"Warning: authentik Domain is not configured, authentication will not work.",
|
||||
)}
|
||||
</ak-label>`
|
||||
: html`<ak-label color=${PFColor.Green} ?compact=${true}>
|
||||
: html`<ak-label color=${PFColor.Green} compact>
|
||||
${msg(str`Logging in via ${item.config.authentik_host}.`)}
|
||||
</ak-label>`}`,
|
||||
html`${TypeToLabel(item.type)}`,
|
||||
|
@ -38,7 +38,7 @@ export class ServiceConnectionDockerForm extends ModelForm<DockerServiceConnecti
|
||||
}
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name)}"
|
||||
@ -66,7 +66,7 @@ export class ServiceConnectionDockerForm extends ModelForm<DockerServiceConnecti
|
||||
)}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal label=${msg("Docker URL")} ?required=${true} name="url">
|
||||
<ak-form-element-horizontal label=${msg("Docker URL")} required name="url">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.url)}"
|
||||
|
@ -42,7 +42,7 @@ export class ServiceConnectionKubernetesForm extends ModelForm<
|
||||
}
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name)}"
|
||||
|
@ -199,7 +199,7 @@ export class BoundPoliciesList extends Table<PolicyBinding> {
|
||||
<div slot="primary">
|
||||
<ak-policy-wizard
|
||||
createText=${msg("Create and bind Policy")}
|
||||
?showBindingPage=${true}
|
||||
showBindingPage
|
||||
bindingTarget=${ifDefined(this.target)}
|
||||
></ak-policy-wizard>
|
||||
<ak-forms-modal size=${PFSize.Medium}>
|
||||
@ -225,7 +225,7 @@ export class BoundPoliciesList extends Table<PolicyBinding> {
|
||||
return html`${this.allowedTypes.includes(PolicyBindingCheckTarget.policy)
|
||||
? html`<ak-policy-wizard
|
||||
createText=${msg("Create and bind Policy")}
|
||||
?showBindingPage=${true}
|
||||
showBindingPage
|
||||
bindingTarget=${ifDefined(this.target)}
|
||||
></ak-policy-wizard>`
|
||||
: nothing}
|
||||
|
@ -182,7 +182,7 @@ export class PolicyBindingForm extends ModelForm<PolicyBinding, string> {
|
||||
.selected=${(policy: Policy): boolean => {
|
||||
return policy.pk === this.instance?.policy;
|
||||
}}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
>
|
||||
</ak-search-select>
|
||||
${this.typeNotices
|
||||
@ -219,7 +219,7 @@ export class PolicyBindingForm extends ModelForm<PolicyBinding, string> {
|
||||
.selected=${(group: Group): boolean => {
|
||||
return group.pk === this.instance?.group;
|
||||
}}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
>
|
||||
</ak-search-select>
|
||||
${this.typeNotices
|
||||
@ -256,7 +256,7 @@ export class PolicyBindingForm extends ModelForm<PolicyBinding, string> {
|
||||
.selected=${(user: User): boolean => {
|
||||
return user.pk === this.instance?.user;
|
||||
}}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
>
|
||||
</ak-search-select>
|
||||
${this.typeNotices
|
||||
@ -300,7 +300,7 @@ export class PolicyBindingForm extends ModelForm<PolicyBinding, string> {
|
||||
${msg("Negates the outcome of the binding. Messages are unaffected.")}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal label=${msg("Order")} ?required=${true} name="order">
|
||||
<ak-form-element-horizontal label=${msg("Order")} required name="order">
|
||||
<input
|
||||
type="number"
|
||||
value="${this.instance?.order ?? this.defaultOrder}"
|
||||
@ -308,7 +308,7 @@ export class PolicyBindingForm extends ModelForm<PolicyBinding, string> {
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal label=${msg("Timeout")} ?required=${true} name="timeout">
|
||||
<ak-form-element-horizontal label=${msg("Timeout")} required name="timeout">
|
||||
<input
|
||||
type="number"
|
||||
value="${this.instance?.timeout ?? 30}"
|
||||
|
@ -65,10 +65,10 @@ export class PolicyListPage extends TablePage<Policy> {
|
||||
return [
|
||||
html`<div>${item.name}</div>
|
||||
${(item.boundTo || 0) > 0
|
||||
? html`<ak-label color=${PFColor.Green} ?compact=${true}>
|
||||
? html`<ak-label color=${PFColor.Green} compact>
|
||||
${msg(str`Assigned to ${item.boundTo} object(s).`)}
|
||||
</ak-label>`
|
||||
: html`<ak-label color=${PFColor.Orange} ?compact=${true}>
|
||||
: html`<ak-label color=${PFColor.Orange} compact>
|
||||
${msg("Warning: Policy is not assigned.")}
|
||||
</ak-label>`}`,
|
||||
html`${item.verboseName}`,
|
||||
|
@ -94,7 +94,7 @@ export class PolicyTestForm extends Form<PolicyTestRequest> {
|
||||
}
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html`<ak-form-element-horizontal label=${msg("User")} ?required=${true} name="user">
|
||||
return html`<ak-form-element-horizontal label=${msg("User")} required name="user">
|
||||
<ak-search-select
|
||||
.fetchObjects=${async (query?: string): Promise<User[]> => {
|
||||
const args: CoreUsersListRequest = {
|
||||
|
@ -36,7 +36,7 @@ export class DummyPolicyForm extends BasePolicyForm<DummyPolicy> {
|
||||
"A policy used for testing. Always returns the same result as specified below after waiting a random duration.",
|
||||
)}
|
||||
</span>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name || "")}"
|
||||
@ -64,7 +64,7 @@ export class DummyPolicyForm extends BasePolicyForm<DummyPolicy> {
|
||||
)}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Policy-specific settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal name="result">
|
||||
@ -82,11 +82,7 @@ export class DummyPolicyForm extends BasePolicyForm<DummyPolicy> {
|
||||
<span class="pf-c-switch__label">${msg("Pass policy?")}</span>
|
||||
</label>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Wait (min)")}
|
||||
?required=${true}
|
||||
name="waitMin"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("Wait (min)")} required name="waitMin">
|
||||
<input
|
||||
type="number"
|
||||
value="${this.instance?.waitMin ?? 1}"
|
||||
@ -99,11 +95,7 @@ export class DummyPolicyForm extends BasePolicyForm<DummyPolicy> {
|
||||
)}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Wait (max)")}
|
||||
?required=${true}
|
||||
name="waitMax"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("Wait (max)")} required name="waitMax">
|
||||
<input
|
||||
type="number"
|
||||
value="${this.instance?.waitMax ?? 5}"
|
||||
|
@ -48,7 +48,7 @@ export class EventMatcherPolicyForm extends BasePolicyForm<EventMatcherPolicy> {
|
||||
"Matches an event against a set of criteria. If any of the configured values match, the policy passes.",
|
||||
)}
|
||||
</span>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name || "")}"
|
||||
@ -76,7 +76,7 @@ export class EventMatcherPolicyForm extends BasePolicyForm<EventMatcherPolicy> {
|
||||
)}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Policy-specific settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal label=${msg("Action")} name="action">
|
||||
@ -98,7 +98,7 @@ export class EventMatcherPolicyForm extends BasePolicyForm<EventMatcherPolicy> {
|
||||
.selected=${(item: TypeCreate): boolean => {
|
||||
return this.instance?.action === item.component;
|
||||
}}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
>
|
||||
</ak-search-select>
|
||||
<p class="pf-c-form__helper-text">
|
||||
@ -138,7 +138,7 @@ export class EventMatcherPolicyForm extends BasePolicyForm<EventMatcherPolicy> {
|
||||
.selected=${(item: App): boolean => {
|
||||
return this.instance?.app === item.name;
|
||||
}}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
>
|
||||
</ak-search-select>
|
||||
<p class="pf-c-form__helper-text">
|
||||
@ -168,7 +168,7 @@ export class EventMatcherPolicyForm extends BasePolicyForm<EventMatcherPolicy> {
|
||||
.selected=${(item: App): boolean => {
|
||||
return this.instance?.model === item.name;
|
||||
}}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
>
|
||||
</ak-search-select>
|
||||
<p class="pf-c-form__helper-text">
|
||||
|
@ -36,7 +36,7 @@ export class PasswordExpiryPolicyForm extends BasePolicyForm<PasswordExpiryPolic
|
||||
"Checks if the request's user's password has been changed in the last x days, and denys based on settings.",
|
||||
)}
|
||||
</span>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name || "")}"
|
||||
@ -64,12 +64,12 @@ export class PasswordExpiryPolicyForm extends BasePolicyForm<PasswordExpiryPolic
|
||||
)}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Policy-specific settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Maximum age (in days)")}
|
||||
?required=${true}
|
||||
required
|
||||
name="days"
|
||||
>
|
||||
<input
|
||||
|
@ -39,7 +39,7 @@ export class ExpressionPolicyForm extends BasePolicyForm<ExpressionPolicy> {
|
||||
"Executes the python snippet to determine whether to allow or deny a request.",
|
||||
)}
|
||||
</span>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name || "")}"
|
||||
@ -67,12 +67,12 @@ export class ExpressionPolicyForm extends BasePolicyForm<ExpressionPolicy> {
|
||||
)}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Policy-specific settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Expression")}
|
||||
?required=${true}
|
||||
required
|
||||
name="expression"
|
||||
>
|
||||
<ak-codemirror
|
||||
|
@ -49,7 +49,7 @@ export class PasswordPolicyForm extends BasePolicyForm<PasswordPolicy> {
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Minimum length")}
|
||||
?required=${true}
|
||||
required
|
||||
name="lengthMin"
|
||||
>
|
||||
<input
|
||||
@ -61,7 +61,7 @@ export class PasswordPolicyForm extends BasePolicyForm<PasswordPolicy> {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Minimum amount of Uppercase Characters")}
|
||||
?required=${true}
|
||||
required
|
||||
name="amountUppercase"
|
||||
>
|
||||
<input
|
||||
@ -73,7 +73,7 @@ export class PasswordPolicyForm extends BasePolicyForm<PasswordPolicy> {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Minimum amount of Lowercase Characters")}
|
||||
?required=${true}
|
||||
required
|
||||
name="amountLowercase"
|
||||
>
|
||||
<input
|
||||
@ -85,7 +85,7 @@ export class PasswordPolicyForm extends BasePolicyForm<PasswordPolicy> {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Minimum amount of Digits")}
|
||||
?required=${true}
|
||||
required
|
||||
name="amountDigits"
|
||||
>
|
||||
<input
|
||||
@ -97,7 +97,7 @@ export class PasswordPolicyForm extends BasePolicyForm<PasswordPolicy> {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Minimum amount of Symbols Characters")}
|
||||
?required=${true}
|
||||
required
|
||||
name="amountSymbols"
|
||||
>
|
||||
<input
|
||||
@ -109,7 +109,7 @@ export class PasswordPolicyForm extends BasePolicyForm<PasswordPolicy> {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Error message")}
|
||||
?required=${true}
|
||||
required
|
||||
name="errorMessage"
|
||||
>
|
||||
<input
|
||||
@ -121,7 +121,7 @@ export class PasswordPolicyForm extends BasePolicyForm<PasswordPolicy> {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Symbol charset")}
|
||||
?required=${true}
|
||||
required
|
||||
name="symbolCharset"
|
||||
>
|
||||
<input
|
||||
@ -142,12 +142,12 @@ export class PasswordPolicyForm extends BasePolicyForm<PasswordPolicy> {
|
||||
|
||||
renderHIBP(): TemplateResult {
|
||||
return html`
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("HaveIBeenPwned settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Allowed count")}
|
||||
?required=${true}
|
||||
required
|
||||
name="hibpAllowedCount"
|
||||
>
|
||||
<input
|
||||
@ -167,12 +167,12 @@ export class PasswordPolicyForm extends BasePolicyForm<PasswordPolicy> {
|
||||
|
||||
renderZxcvbn(): TemplateResult {
|
||||
return html`
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("zxcvbn settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Score threshold")}
|
||||
?required=${true}
|
||||
required
|
||||
name="zxcvbnScoreThreshold"
|
||||
>
|
||||
<input
|
||||
@ -221,7 +221,7 @@ export class PasswordPolicyForm extends BasePolicyForm<PasswordPolicy> {
|
||||
"Checks the value from the policy request against several rules, mostly used to ensure password strength.",
|
||||
)}
|
||||
</span>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name || "")}"
|
||||
@ -251,7 +251,7 @@ export class PasswordPolicyForm extends BasePolicyForm<PasswordPolicy> {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Password field")}
|
||||
?required=${true}
|
||||
required
|
||||
name="passwordField"
|
||||
>
|
||||
<input
|
||||
|
@ -46,7 +46,7 @@ username they are attempting to login as, by one.`,
|
||||
doesn't pass when either or both of the selected options are equal or above the threshold.`,
|
||||
)}
|
||||
</span>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name || "")}"
|
||||
@ -74,7 +74,7 @@ doesn't pass when either or both of the selected options are equal or above the
|
||||
)}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Policy-specific settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal name="checkIp">
|
||||
@ -107,11 +107,7 @@ doesn't pass when either or both of the selected options are equal or above the
|
||||
<span class="pf-c-switch__label">${msg("Check Username")}</span>
|
||||
</label>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Threshold")}
|
||||
?required=${true}
|
||||
name="threshold"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("Threshold")} required name="threshold">
|
||||
<input
|
||||
type="number"
|
||||
value="${ifDefined(this.instance?.threshold || -5)}"
|
||||
|
@ -36,7 +36,7 @@ export class UniquePasswordPolicyForm extends BasePolicyForm<UniquePasswordPolic
|
||||
"Ensure that the user's new password is different from their previous passwords. The number of past passwords to check is configurable.",
|
||||
)}
|
||||
</span>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name || "")}"
|
||||
@ -66,7 +66,7 @@ export class UniquePasswordPolicyForm extends BasePolicyForm<UniquePasswordPolic
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Password field")}
|
||||
?required=${true}
|
||||
required
|
||||
name="passwordField"
|
||||
>
|
||||
<input
|
||||
@ -81,7 +81,7 @@ export class UniquePasswordPolicyForm extends BasePolicyForm<UniquePasswordPolic
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Number of previous passwords to check")}
|
||||
?required=${true}
|
||||
required
|
||||
name="numHistoricalPasswords"
|
||||
>
|
||||
<input
|
||||
|
@ -62,7 +62,7 @@ export class PropertyMappingProviderRACForm extends BasePropertyMappingForm<RACP
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("General settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
|
@ -54,7 +54,7 @@ export class PolicyTestForm extends Form<PropertyMappingTestRequest> {
|
||||
${this.result?.successful
|
||||
? html`<ak-codemirror
|
||||
mode=${CodeMirrorMode.JavaScript}
|
||||
?readOnly=${true}
|
||||
readOnly
|
||||
value="${ifDefined(this.result?.result)}"
|
||||
>
|
||||
</ak-codemirror>`
|
||||
|
@ -42,7 +42,7 @@ export class ProviderViewPage extends AKElement {
|
||||
|
||||
renderProvider(): TemplateResult {
|
||||
if (!this.provider) {
|
||||
return html`<ak-empty-state loading ?fullHeight=${true}></ak-empty-state>`;
|
||||
return html`<ak-empty-state loading fullHeight></ak-empty-state>`;
|
||||
}
|
||||
switch (this.provider?.component) {
|
||||
case "ak-provider-saml-form":
|
||||
|
@ -48,7 +48,7 @@ export class GoogleWorkspaceProviderFormPage extends BaseProviderForm<GoogleWork
|
||||
}
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name)}"
|
||||
@ -56,12 +56,12 @@ export class GoogleWorkspaceProviderFormPage extends BaseProviderForm<GoogleWork
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Protocol settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Credentials")}
|
||||
?required=${true}
|
||||
required
|
||||
name="credentials"
|
||||
>
|
||||
<ak-codemirror
|
||||
@ -74,7 +74,7 @@ export class GoogleWorkspaceProviderFormPage extends BaseProviderForm<GoogleWork
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Delegated Subject")}
|
||||
?required=${true}
|
||||
required
|
||||
name="delegatedSubject"
|
||||
>
|
||||
<input
|
||||
@ -91,7 +91,7 @@ export class GoogleWorkspaceProviderFormPage extends BaseProviderForm<GoogleWork
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Default group email domain")}
|
||||
?required=${true}
|
||||
required
|
||||
name="defaultGroupEmailDomain"
|
||||
>
|
||||
<input
|
||||
@ -181,7 +181,7 @@ export class GoogleWorkspaceProviderFormPage extends BaseProviderForm<GoogleWork
|
||||
</ak-form-element-horizontal>
|
||||
</div>
|
||||
</ak-form-group>
|
||||
<ak-form-group ?expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header">${msg("User filtering")}</span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal name="excludeUsersServiceAccount">
|
||||
@ -225,7 +225,7 @@ export class GoogleWorkspaceProviderFormPage extends BaseProviderForm<GoogleWork
|
||||
.selected=${(group: Group): boolean => {
|
||||
return group.pk === this.instance?.filterGroup;
|
||||
}}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
>
|
||||
</ak-search-select>
|
||||
<p class="pf-c-form__helper-text">
|
||||
@ -234,7 +234,7 @@ export class GoogleWorkspaceProviderFormPage extends BaseProviderForm<GoogleWork
|
||||
</ak-form-element-horizontal>
|
||||
</div>
|
||||
</ak-form-group>
|
||||
<ak-form-group ?expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Attribute mapping")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
|
@ -86,7 +86,7 @@ export function renderForm(
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Bind flow")}
|
||||
?required=${true}
|
||||
required
|
||||
name="authorizationFlow"
|
||||
.errorMessages=${errors?.authorizationFlow ?? []}
|
||||
>
|
||||
|
@ -46,7 +46,7 @@ export class MicrosoftEntraProviderFormPage extends BaseProviderForm<MicrosoftEn
|
||||
}
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name)}"
|
||||
@ -54,14 +54,10 @@ export class MicrosoftEntraProviderFormPage extends BaseProviderForm<MicrosoftEn
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Protocol settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Client ID")}
|
||||
?required=${true}
|
||||
name="clientId"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("Client ID")} required name="clientId">
|
||||
<input
|
||||
type="text"
|
||||
value="${this.instance?.clientId ?? ""}"
|
||||
@ -74,7 +70,7 @@ export class MicrosoftEntraProviderFormPage extends BaseProviderForm<MicrosoftEn
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Client Secret")}
|
||||
?required=${true}
|
||||
required
|
||||
name="clientSecret"
|
||||
>
|
||||
<input
|
||||
@ -87,11 +83,7 @@ export class MicrosoftEntraProviderFormPage extends BaseProviderForm<MicrosoftEn
|
||||
${msg("Client secret for the app registration.")}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Tenant ID")}
|
||||
?required=${true}
|
||||
name="tenantId"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("Tenant ID")} required name="tenantId">
|
||||
<input
|
||||
type="text"
|
||||
value="${this.instance?.tenantId ?? ""}"
|
||||
@ -170,7 +162,7 @@ export class MicrosoftEntraProviderFormPage extends BaseProviderForm<MicrosoftEn
|
||||
</ak-form-element-horizontal>
|
||||
</div>
|
||||
</ak-form-group>
|
||||
<ak-form-group ?expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header">${msg("User filtering")}</span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal name="excludeUsersServiceAccount">
|
||||
@ -214,7 +206,7 @@ export class MicrosoftEntraProviderFormPage extends BaseProviderForm<MicrosoftEn
|
||||
.selected=${(group: Group): boolean => {
|
||||
return group.pk === this.instance?.filterGroup;
|
||||
}}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
>
|
||||
</ak-search-select>
|
||||
<p class="pf-c-form__helper-text">
|
||||
@ -223,7 +215,7 @@ export class MicrosoftEntraProviderFormPage extends BaseProviderForm<MicrosoftEn
|
||||
</ak-form-element-horizontal>
|
||||
</div>
|
||||
</ak-form-group>
|
||||
<ak-form-group ?expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Attribute mapping")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
|
@ -133,7 +133,7 @@ export function renderForm(
|
||||
<ak-form-element-horizontal
|
||||
name="authorizationFlow"
|
||||
label=${msg("Authorization flow")}
|
||||
?required=${true}
|
||||
required
|
||||
>
|
||||
<ak-flow-search
|
||||
flowType=${FlowsInstancesListDesignationEnum.Authorization}
|
||||
@ -279,7 +279,7 @@ export function renderForm(
|
||||
label=${msg("Refresh Token validity")}
|
||||
value="${provider?.refreshTokenValidity ?? "days=30"}"
|
||||
input-hint="code"
|
||||
?required=${true}
|
||||
required
|
||||
.bighelp=${html` <p class="pf-c-form__helper-text">
|
||||
${msg("Configure how long refresh tokens are valid for.")}
|
||||
</p>
|
||||
|
@ -416,7 +416,7 @@ export class OAuth2ProviderViewPage extends AKElement {
|
||||
.selected=${(user: User): boolean => {
|
||||
return user.pk === this.previewUser?.pk;
|
||||
}}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
@ak-change=${(ev: CustomEvent) => {
|
||||
this.previewUser = ev.detail.value;
|
||||
this.fetchPreview();
|
||||
|
@ -53,7 +53,7 @@ export class EndpointForm extends ModelForm<Endpoint, string> {
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html`
|
||||
<ak-form-element-horizontal label=${msg("Name")} name="name" ?required=${true}>
|
||||
<ak-form-element-horizontal label=${msg("Name")} name="name" required>
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name)}"
|
||||
@ -61,7 +61,7 @@ export class EndpointForm extends ModelForm<Endpoint, string> {
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal label=${msg("Protocol")} ?required=${true} name="protocol">
|
||||
<ak-form-element-horizontal label=${msg("Protocol")} required name="protocol">
|
||||
<ak-radio
|
||||
.options=${[
|
||||
{
|
||||
@ -81,7 +81,7 @@ export class EndpointForm extends ModelForm<Endpoint, string> {
|
||||
>
|
||||
</ak-radio>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal label=${msg("Host")} name="host" ?required=${true}>
|
||||
<ak-form-element-horizontal label=${msg("Host")} name="host" required>
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.host)}"
|
||||
@ -93,7 +93,7 @@ export class EndpointForm extends ModelForm<Endpoint, string> {
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Maximum concurrent connections")}
|
||||
name="maximumConnections"
|
||||
?required=${true}
|
||||
required
|
||||
>
|
||||
<input
|
||||
type="number"
|
||||
|
@ -49,7 +49,7 @@ export class RACProviderFormPage extends ModelForm<RACProvider, number> {
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html`
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name)}"
|
||||
@ -61,7 +61,7 @@ export class RACProviderFormPage extends ModelForm<RACProvider, number> {
|
||||
<ak-form-element-horizontal
|
||||
name="authorizationFlow"
|
||||
label=${msg("Authorization flow")}
|
||||
?required=${true}
|
||||
required
|
||||
>
|
||||
<ak-flow-search
|
||||
flowType=${FlowsInstancesListDesignationEnum.Authorization}
|
||||
@ -74,7 +74,7 @@ export class RACProviderFormPage extends ModelForm<RACProvider, number> {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Connection expiry")}
|
||||
?required=${true}
|
||||
required
|
||||
name="connectionExpiry"
|
||||
>
|
||||
<input
|
||||
@ -115,7 +115,7 @@ export class RACProviderFormPage extends ModelForm<RACProvider, number> {
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Protocol settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
|
@ -84,7 +84,7 @@ export function renderForm(
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Protocol settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-text-input
|
||||
@ -127,7 +127,6 @@ export function renderForm(
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Authentication flow")}
|
||||
?required=${false}
|
||||
name="authenticationFlow"
|
||||
>
|
||||
<ak-flow-search
|
||||
@ -236,7 +235,7 @@ export function renderForm(
|
||||
.selected=${(item: SAMLPropertyMapping): boolean => {
|
||||
return provider?.nameIdMapping === item.pk;
|
||||
}}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
>
|
||||
</ak-search-select>
|
||||
<p class="pf-c-form__helper-text">
|
||||
@ -271,7 +270,7 @@ export function renderForm(
|
||||
.selected=${(item: SAMLPropertyMapping): boolean => {
|
||||
return provider?.authnContextClassRefMapping === item.pk;
|
||||
}}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
>
|
||||
</ak-search-select>
|
||||
<p class="pf-c-form__helper-text">
|
||||
|
@ -31,12 +31,12 @@ export class SAMLProviderImportForm extends Form<SAMLProvider> {
|
||||
}
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html`<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
return html`<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input type="text" class="pf-c-form-control" required />
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Authorization flow")}
|
||||
?required=${true}
|
||||
required
|
||||
name="authorizationFlow"
|
||||
>
|
||||
<ak-flow-search-no-default
|
||||
@ -49,7 +49,7 @@ export class SAMLProviderImportForm extends Form<SAMLProvider> {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Invalidation flow")}
|
||||
?required=${true}
|
||||
required
|
||||
name="invalidationFlow"
|
||||
>
|
||||
<ak-flow-search-no-default
|
||||
|
@ -489,7 +489,7 @@ export class SAMLProviderViewPage extends AKElement {
|
||||
<div class="pf-c-card__footer">
|
||||
<ak-codemirror
|
||||
mode=${CodeMirrorMode.XML}
|
||||
?readOnly=${true}
|
||||
readOnly
|
||||
value="${ifDefined(this.metadata?.metadata)}"
|
||||
></ak-codemirror>
|
||||
</div>
|
||||
@ -539,7 +539,7 @@ export class SAMLProviderViewPage extends AKElement {
|
||||
.selected=${(user: User): boolean => {
|
||||
return user.pk === this.previewUser?.pk;
|
||||
}}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
@ak-change=${(ev: CustomEvent) => {
|
||||
this.previewUser = ev.detail.value;
|
||||
this.fetchPreview();
|
||||
|
@ -37,7 +37,6 @@ export class ObjectPermissionsPageForm extends ModelForm<unknown, string> {
|
||||
.model=${this.model}
|
||||
.objectPk=${this.objectPk}
|
||||
slot="form"
|
||||
.embedded=${true}
|
||||
>
|
||||
</ak-rbac-object-permission-page>`;
|
||||
}
|
||||
|
@ -39,7 +39,7 @@ export class RoleForm extends ModelForm<Role, string> {
|
||||
}
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html`<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
return html`<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name)}"
|
||||
|
@ -67,7 +67,7 @@ export class RolePermissionForm extends ModelForm<RolePermissionAssign, number>
|
||||
<ak-chip-group>
|
||||
${this.permissionsToAdd.map((permission) => {
|
||||
return html`<ak-chip
|
||||
.removable=${true}
|
||||
removable
|
||||
value=${`${permission.appLabel}.${permission.codename}`}
|
||||
@remove=${() => {
|
||||
const idx = this.permissionsToAdd.indexOf(permission);
|
||||
|
@ -90,7 +90,7 @@ export class SourceListPage extends TablePage<Source> {
|
||||
<div>${item.name}</div>
|
||||
${item.enabled
|
||||
? html``
|
||||
: html`<ak-label color=${PFColor.Orange} ?compact=${true}>
|
||||
: html`<ak-label color=${PFColor.Orange} compact>
|
||||
${msg("Disabled")}</ak-label
|
||||
>`}
|
||||
</a>`,
|
||||
@ -119,7 +119,7 @@ export class SourceListPage extends TablePage<Source> {
|
||||
return [
|
||||
html`<div>
|
||||
<div>${item.name}</div>
|
||||
<ak-label color=${PFColor.Grey} ?compact=${true}> ${msg("Built-in")}</ak-label>
|
||||
<ak-label color=${PFColor.Grey} compact> ${msg("Built-in")}</ak-label>
|
||||
</div>`,
|
||||
html`${msg("Built-in")}`,
|
||||
html``,
|
||||
|
@ -34,7 +34,7 @@ export class SourceViewPage extends AKElement {
|
||||
|
||||
renderSource(): TemplateResult {
|
||||
if (!this.source) {
|
||||
return html`<ak-empty-state loading ?fullHeight=${true}></ak-empty-state>`;
|
||||
return html`<ak-empty-state loading fullHeight></ak-empty-state>`;
|
||||
}
|
||||
switch (this.source?.component) {
|
||||
case "ak-source-kerberos-form":
|
||||
|
@ -119,7 +119,7 @@ export class KerberosSourceForm extends WithCapabilitiesConfig(BaseSourceForm<Ke
|
||||
"Enable this option to write password changes made in authentik back to Kerberos. Ignored if sync is disabled.",
|
||||
)}
|
||||
></ak-switch-input>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Realm settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-text-input
|
||||
@ -139,7 +139,7 @@ export class KerberosSourceForm extends WithCapabilitiesConfig(BaseSourceForm<Ke
|
||||
></ak-textarea-input>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("User matching mode")}
|
||||
?required=${true}
|
||||
required
|
||||
name="userMatchingMode"
|
||||
>
|
||||
<select class="pf-c-form-control">
|
||||
@ -182,7 +182,7 @@ export class KerberosSourceForm extends WithCapabilitiesConfig(BaseSourceForm<Ke
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Group matching mode")}
|
||||
?required=${true}
|
||||
required
|
||||
name="groupMatchingMode"
|
||||
>
|
||||
<select class="pf-c-form-control">
|
||||
@ -211,12 +211,12 @@ export class KerberosSourceForm extends WithCapabilitiesConfig(BaseSourceForm<Ke
|
||||
</ak-form-element-horizontal>
|
||||
</div>
|
||||
</ak-form-group>
|
||||
<ak-form-group .expanded=${false}>
|
||||
<ak-form-group>
|
||||
<span slot="header"> ${msg("Sync connection settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("KAdmin type")}
|
||||
?required=${true}
|
||||
required
|
||||
name="kadminType"
|
||||
>
|
||||
<ak-radio
|
||||
@ -274,7 +274,7 @@ export class KerberosSourceForm extends WithCapabilitiesConfig(BaseSourceForm<Ke
|
||||
></ak-text-input>
|
||||
</div>
|
||||
</ak-form-group>
|
||||
<ak-form-group .expanded=${false}>
|
||||
<ak-form-group>
|
||||
<span slot="header"> ${msg("SPNEGO settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-text-input
|
||||
@ -303,7 +303,7 @@ export class KerberosSourceForm extends WithCapabilitiesConfig(BaseSourceForm<Ke
|
||||
></ak-text-input>
|
||||
</div>
|
||||
</ak-form-group>
|
||||
<ak-form-group ?expanded=${false}>
|
||||
<ak-form-group>
|
||||
<span slot="header"> ${msg("Kerberos Attribute mapping")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
|
@ -46,7 +46,7 @@ export class LDAPSourceForm extends BaseSourceForm<LDAPSource> {
|
||||
}
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name)}"
|
||||
@ -54,7 +54,7 @@ export class LDAPSourceForm extends BaseSourceForm<LDAPSource> {
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal label=${msg("Slug")} ?required=${true} name="slug">
|
||||
<ak-form-element-horizontal label=${msg("Slug")} required name="slug">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.slug)}"
|
||||
@ -169,12 +169,12 @@ export class LDAPSourceForm extends BaseSourceForm<LDAPSource> {
|
||||
)}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Connection settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Server URI")}
|
||||
?required=${true}
|
||||
required
|
||||
name="serverUri"
|
||||
>
|
||||
<input
|
||||
@ -265,11 +265,7 @@ export class LDAPSourceForm extends BaseSourceForm<LDAPSource> {
|
||||
name="bindPassword"
|
||||
?revealed=${this.instance === undefined}
|
||||
></ak-private-text-input>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Base DN")}
|
||||
?required=${true}
|
||||
name="baseDn"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("Base DN")} required name="baseDn">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.baseDn)}"
|
||||
@ -279,7 +275,7 @@ export class LDAPSourceForm extends BaseSourceForm<LDAPSource> {
|
||||
</ak-form-element-horizontal>
|
||||
</div>
|
||||
</ak-form-group>
|
||||
<ak-form-group ?expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("LDAP Attribute mapping")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
@ -343,7 +339,7 @@ export class LDAPSourceForm extends BaseSourceForm<LDAPSource> {
|
||||
.selected=${(group: Group): boolean => {
|
||||
return group.pk === this.instance?.syncParentGroup;
|
||||
}}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
>
|
||||
</ak-search-select>
|
||||
<p class="pf-c-form__helper-text">
|
||||
@ -387,7 +383,7 @@ export class LDAPSourceForm extends BaseSourceForm<LDAPSource> {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("User object filter")}
|
||||
?required=${true}
|
||||
required
|
||||
name="userObjectFilter"
|
||||
>
|
||||
<input
|
||||
@ -402,7 +398,7 @@ export class LDAPSourceForm extends BaseSourceForm<LDAPSource> {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Group object filter")}
|
||||
?required=${true}
|
||||
required
|
||||
name="groupObjectFilter"
|
||||
>
|
||||
<input
|
||||
@ -417,7 +413,7 @@ export class LDAPSourceForm extends BaseSourceForm<LDAPSource> {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Group membership field")}
|
||||
?required=${true}
|
||||
required
|
||||
name="groupMembershipField"
|
||||
>
|
||||
<input
|
||||
@ -434,7 +430,7 @@ export class LDAPSourceForm extends BaseSourceForm<LDAPSource> {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("User membership attribute")}
|
||||
?required=${true}
|
||||
required
|
||||
name="userMembershipAttribute"
|
||||
>
|
||||
<input
|
||||
@ -471,7 +467,7 @@ export class LDAPSourceForm extends BaseSourceForm<LDAPSource> {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Object uniqueness field")}
|
||||
?required=${true}
|
||||
required
|
||||
name="objectUniquenessField"
|
||||
>
|
||||
<input
|
||||
|
@ -124,7 +124,7 @@ export class OAuthSourceForm extends WithCapabilitiesConfig(BaseSourceForm<OAuth
|
||||
if (!this.providerType?.urlsCustomizable) {
|
||||
return html``;
|
||||
}
|
||||
return html` <ak-form-group .expanded=${true}>
|
||||
return html` <ak-form-group expanded>
|
||||
<span slot="header"> ${msg("URL settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
@ -258,7 +258,7 @@ export class OAuthSourceForm extends WithCapabilitiesConfig(BaseSourceForm<OAuth
|
||||
}
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name)}"
|
||||
@ -266,7 +266,7 @@ export class OAuthSourceForm extends WithCapabilitiesConfig(BaseSourceForm<OAuth
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal label=${msg("Slug")} ?required=${true} name="slug">
|
||||
<ak-form-element-horizontal label=${msg("Slug")} required name="slug">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.slug)}"
|
||||
@ -293,7 +293,7 @@ export class OAuthSourceForm extends WithCapabilitiesConfig(BaseSourceForm<OAuth
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("User matching mode")}
|
||||
?required=${true}
|
||||
required
|
||||
name="userMatchingMode"
|
||||
>
|
||||
<select class="pf-c-form-control">
|
||||
@ -336,7 +336,7 @@ export class OAuthSourceForm extends WithCapabilitiesConfig(BaseSourceForm<OAuth
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Group matching mode")}
|
||||
?required=${true}
|
||||
required
|
||||
name="groupMatchingMode"
|
||||
>
|
||||
<select class="pf-c-form-control">
|
||||
@ -422,12 +422,12 @@ export class OAuthSourceForm extends WithCapabilitiesConfig(BaseSourceForm<OAuth
|
||||
<p class="pf-c-form__helper-text">${iconHelperText}</p>
|
||||
</ak-form-element-horizontal>`}
|
||||
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Protocol settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Consumer key")}
|
||||
?required=${true}
|
||||
required
|
||||
name="consumerKey"
|
||||
>
|
||||
<input
|
||||
@ -465,7 +465,7 @@ export class OAuthSourceForm extends WithCapabilitiesConfig(BaseSourceForm<OAuth
|
||||
</div>
|
||||
</ak-form-group>
|
||||
${this.renderUrlOptions()}
|
||||
<ak-form-group ?expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("OAuth Attribute mapping")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
|
@ -150,7 +150,7 @@ export class PlexSourceForm extends WithCapabilitiesConfig(BaseSourceForm<PlexSo
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Allowed servers")}
|
||||
?required=${true}
|
||||
required
|
||||
name="allowedServers"
|
||||
>
|
||||
<select class="pf-c-form-control" multiple>
|
||||
@ -174,7 +174,7 @@ export class PlexSourceForm extends WithCapabilitiesConfig(BaseSourceForm<PlexSo
|
||||
}
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name)}"
|
||||
@ -182,7 +182,7 @@ export class PlexSourceForm extends WithCapabilitiesConfig(BaseSourceForm<PlexSo
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal label=${msg("Slug")} ?required=${true} name="slug">
|
||||
<ak-form-element-horizontal label=${msg("Slug")} required name="slug">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.slug)}"
|
||||
@ -207,7 +207,7 @@ export class PlexSourceForm extends WithCapabilitiesConfig(BaseSourceForm<PlexSo
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("User matching mode")}
|
||||
?required=${true}
|
||||
required
|
||||
name="userMatchingMode"
|
||||
>
|
||||
<select class="pf-c-form-control">
|
||||
@ -250,7 +250,7 @@ export class PlexSourceForm extends WithCapabilitiesConfig(BaseSourceForm<PlexSo
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Group matching mode")}
|
||||
?required=${true}
|
||||
required
|
||||
name="groupMatchingMode"
|
||||
>
|
||||
<select class="pf-c-form-control">
|
||||
@ -331,14 +331,10 @@ export class PlexSourceForm extends WithCapabilitiesConfig(BaseSourceForm<PlexSo
|
||||
/>
|
||||
<p class="pf-c-form__helper-text">${iconHelperText}</p>
|
||||
</ak-form-element-horizontal>`}
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Protocol settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Client ID")}
|
||||
?required=${true}
|
||||
name="clientId"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("Client ID")} required name="clientId">
|
||||
<input
|
||||
type="text"
|
||||
value="${this.instance?.clientId ?? ""}"
|
||||
@ -382,7 +378,7 @@ export class PlexSourceForm extends WithCapabilitiesConfig(BaseSourceForm<PlexSo
|
||||
</ak-form-element-horizontal>
|
||||
</div>
|
||||
</ak-form-group>
|
||||
<ak-form-group ?expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Plex Attribute mapping")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
|
@ -80,7 +80,7 @@ export class SAMLSourceForm extends WithCapabilitiesConfig(BaseSourceForm<SAMLSo
|
||||
}
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name)}"
|
||||
@ -88,7 +88,7 @@ export class SAMLSourceForm extends WithCapabilitiesConfig(BaseSourceForm<SAMLSo
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal label=${msg("Slug")} ?required=${true} name="slug">
|
||||
<ak-form-element-horizontal label=${msg("Slug")} required name="slug">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.slug)}"
|
||||
@ -113,7 +113,7 @@ export class SAMLSourceForm extends WithCapabilitiesConfig(BaseSourceForm<SAMLSo
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("User matching mode")}
|
||||
?required=${true}
|
||||
required
|
||||
name="userMatchingMode"
|
||||
>
|
||||
<select class="pf-c-form-control">
|
||||
@ -156,7 +156,7 @@ export class SAMLSourceForm extends WithCapabilitiesConfig(BaseSourceForm<SAMLSo
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Group matching mode")}
|
||||
?required=${true}
|
||||
required
|
||||
name="groupMatchingMode"
|
||||
>
|
||||
<select class="pf-c-form-control">
|
||||
@ -230,14 +230,10 @@ export class SAMLSourceForm extends WithCapabilitiesConfig(BaseSourceForm<SAMLSo
|
||||
<p class="pf-c-form__helper-text">${iconHelperText}</p>
|
||||
</ak-form-element-horizontal>`}
|
||||
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Protocol settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("SSO URL")}
|
||||
?required=${true}
|
||||
name="ssoUrl"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("SSO URL")} required name="ssoUrl">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.ssoUrl)}"
|
||||
@ -270,7 +266,7 @@ export class SAMLSourceForm extends WithCapabilitiesConfig(BaseSourceForm<SAMLSo
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Binding Type")}
|
||||
?required=${true}
|
||||
required
|
||||
name="bindingType"
|
||||
>
|
||||
<ak-radio
|
||||
@ -349,7 +345,7 @@ export class SAMLSourceForm extends WithCapabilitiesConfig(BaseSourceForm<SAMLSo
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("NameID Policy")}
|
||||
?required=${true}
|
||||
required
|
||||
name="nameIdPolicy"
|
||||
>
|
||||
<select class="pf-c-form-control">
|
||||
@ -401,7 +397,7 @@ export class SAMLSourceForm extends WithCapabilitiesConfig(BaseSourceForm<SAMLSo
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Delete temporary users after")}
|
||||
?required=${true}
|
||||
required
|
||||
name="temporaryUserDeleteAfter"
|
||||
>
|
||||
<input
|
||||
@ -419,7 +415,7 @@ export class SAMLSourceForm extends WithCapabilitiesConfig(BaseSourceForm<SAMLSo
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Digest algorithm")}
|
||||
?required=${true}
|
||||
required
|
||||
name="digestAlgorithm"
|
||||
>
|
||||
<ak-radio
|
||||
@ -448,7 +444,7 @@ export class SAMLSourceForm extends WithCapabilitiesConfig(BaseSourceForm<SAMLSo
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Signature algorithm")}
|
||||
?required=${true}
|
||||
required
|
||||
name="signatureAlgorithm"
|
||||
>
|
||||
<ak-radio
|
||||
@ -494,7 +490,7 @@ export class SAMLSourceForm extends WithCapabilitiesConfig(BaseSourceForm<SAMLSo
|
||||
</ak-form-element-horizontal>
|
||||
</div>
|
||||
</ak-form-group>
|
||||
<ak-form-group ?expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("SAML Attribute mapping")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
@ -536,7 +532,7 @@ export class SAMLSourceForm extends WithCapabilitiesConfig(BaseSourceForm<SAMLSo
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Pre-authentication flow")}
|
||||
?required=${true}
|
||||
required
|
||||
name="preAuthenticationFlow"
|
||||
>
|
||||
<ak-source-flow-search
|
||||
|
@ -178,7 +178,7 @@ export class SAMLSourceViewPage extends AKElement {
|
||||
<div class="pf-c-card__body">
|
||||
<ak-codemirror
|
||||
mode=${CodeMirrorMode.XML}
|
||||
?readOnly=${true}
|
||||
readOnly
|
||||
value="${ifDefined(this.metadata?.metadata)}"
|
||||
></ak-codemirror>
|
||||
</div>
|
||||
|
@ -40,7 +40,7 @@ export class SCIMSourceForm extends BaseSourceForm<SCIMSource> {
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html`<form class="pf-c-form pf-m-horizontal">
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name)}"
|
||||
@ -48,7 +48,7 @@ export class SCIMSourceForm extends BaseSourceForm<SCIMSource> {
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal label=${msg("Slug")} ?required=${true} name="slug">
|
||||
<ak-form-element-horizontal label=${msg("Slug")} required name="slug">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.slug)}"
|
||||
@ -66,7 +66,7 @@ export class SCIMSourceForm extends BaseSourceForm<SCIMSource> {
|
||||
<label class="pf-c-check__label"> ${msg("Enabled")} </label>
|
||||
</div>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-group ?expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("SCIM Attribute mapping")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
|
@ -46,7 +46,7 @@ export class AuthenticatorDuoStageForm extends BaseStageForm<AuthenticatorDuoSta
|
||||
"Stage used to configure a duo-based authenticator. This stage should be used for configuration flows.",
|
||||
)}
|
||||
</span>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${this.instance?.name ?? ""}"
|
||||
@ -70,11 +70,7 @@ export class AuthenticatorDuoStageForm extends BaseStageForm<AuthenticatorDuoSta
|
||||
)}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("API Hostname")}
|
||||
?required=${true}
|
||||
name="apiHostname"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("API Hostname")} required name="apiHostname">
|
||||
<input
|
||||
type="text"
|
||||
value="${this.instance?.apiHostname ?? ""}"
|
||||
@ -84,12 +80,12 @@ export class AuthenticatorDuoStageForm extends BaseStageForm<AuthenticatorDuoSta
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Duo Auth API")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Integration key")}
|
||||
?required=${true}
|
||||
required
|
||||
name="clientId"
|
||||
>
|
||||
<input
|
||||
@ -137,7 +133,7 @@ export class AuthenticatorDuoStageForm extends BaseStageForm<AuthenticatorDuoSta
|
||||
></ak-private-text-input>
|
||||
</div>
|
||||
</ak-form-group>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
@ -171,7 +167,7 @@ export class AuthenticatorDuoStageForm extends BaseStageForm<AuthenticatorDuoSta
|
||||
.selected=${(flow: Flow): boolean => {
|
||||
return this.instance?.configureFlow === flow.pk;
|
||||
}}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
>
|
||||
</ak-search-select>
|
||||
<p class="pf-c-form__helper-text">
|
||||
|
@ -49,11 +49,7 @@ export class DuoDeviceImportForm extends ModelForm<AuthenticatorDuoStage, string
|
||||
}
|
||||
|
||||
renderFormManual(): TemplateResult {
|
||||
return html`<ak-form-element-horizontal
|
||||
label=${msg("User")}
|
||||
?required=${true}
|
||||
name="username"
|
||||
>
|
||||
return html`<ak-form-element-horizontal label=${msg("User")} required name="username">
|
||||
<ak-search-select
|
||||
.fetchObjects=${async (query?: string): Promise<User[]> => {
|
||||
const args: CoreUsersListRequest = {
|
||||
@ -81,11 +77,7 @@ export class DuoDeviceImportForm extends ModelForm<AuthenticatorDuoStage, string
|
||||
${msg("The user in authentik this device will be assigned to.")}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Duo User ID")}
|
||||
?required=${true}
|
||||
name="duoUserId"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("Duo User ID")} required name="duoUserId">
|
||||
<input type="text" class="pf-c-form-control" required />
|
||||
<p class="pf-c-form__helper-text">
|
||||
${msg("The user ID in Duo, can be found in the URL after clicking on a user.")}
|
||||
|
@ -50,10 +50,10 @@ export class AuthenticatorEmailStageForm extends BaseStageForm<AuthenticatorEmai
|
||||
if (!this.showConnectionSettings) {
|
||||
return html``;
|
||||
}
|
||||
return html`<ak-form-group .expanded=${true}>
|
||||
return html`<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Connection settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal label=${msg("SMTP Host")} ?required=${true} name="host">
|
||||
<ak-form-element-horizontal label=${msg("SMTP Host")} required name="host">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.host || "")}"
|
||||
@ -61,7 +61,7 @@ export class AuthenticatorEmailStageForm extends BaseStageForm<AuthenticatorEmai
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal label=${msg("SMTP Port")} ?required=${true} name="port">
|
||||
<ak-form-element-horizontal label=${msg("SMTP Port")} required name="port">
|
||||
<input
|
||||
type="number"
|
||||
value="${this.instance?.port ?? 25}"
|
||||
@ -113,11 +113,7 @@ export class AuthenticatorEmailStageForm extends BaseStageForm<AuthenticatorEmai
|
||||
<span class="pf-c-switch__label">${msg("Use SSL")}</span>
|
||||
</label>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Timeout")}
|
||||
?required=${true}
|
||||
name="timeout"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("Timeout")} required name="timeout">
|
||||
<input
|
||||
type="number"
|
||||
value="${this.instance?.timeout ?? 30}"
|
||||
@ -127,7 +123,7 @@ export class AuthenticatorEmailStageForm extends BaseStageForm<AuthenticatorEmai
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("From address")}
|
||||
?required=${true}
|
||||
required
|
||||
name="fromAddress"
|
||||
>
|
||||
<input
|
||||
@ -146,7 +142,7 @@ export class AuthenticatorEmailStageForm extends BaseStageForm<AuthenticatorEmai
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html` <span> ${msg("Stage used to configure an email-based authenticator.")} </span>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${this.instance?.name ?? ""}"
|
||||
@ -195,14 +191,10 @@ export class AuthenticatorEmailStageForm extends BaseStageForm<AuthenticatorEmai
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
${this.renderConnectionSettings()}
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Subject")}
|
||||
?required=${true}
|
||||
name="subject"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("Subject")} required name="subject">
|
||||
<input
|
||||
type="text"
|
||||
value="${this.instance?.subject ?? "authentik Sign-in code"}"
|
||||
@ -215,7 +207,7 @@ export class AuthenticatorEmailStageForm extends BaseStageForm<AuthenticatorEmai
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Token expiration")}
|
||||
?required=${true}
|
||||
required
|
||||
name="tokenExpiry"
|
||||
>
|
||||
<input
|
||||
@ -261,7 +253,7 @@ export class AuthenticatorEmailStageForm extends BaseStageForm<AuthenticatorEmai
|
||||
.selected=${(flow: Flow): boolean => {
|
||||
return this.instance?.configureFlow === flow.pk;
|
||||
}}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
>
|
||||
</ak-search-select>
|
||||
<p class="pf-c-form__helper-text">
|
||||
|
@ -59,7 +59,7 @@ export class AuthenticatorSMSStageForm extends BaseStageForm<AuthenticatorSMSSta
|
||||
renderProviderTwillio(): TemplateResult {
|
||||
return html` <ak-form-element-horizontal
|
||||
label=${msg("Twilio Account SID")}
|
||||
?required=${true}
|
||||
required
|
||||
name="accountSid"
|
||||
>
|
||||
<input
|
||||
@ -74,11 +74,7 @@ export class AuthenticatorSMSStageForm extends BaseStageForm<AuthenticatorSMSSta
|
||||
${msg("Get this value from https://console.twilio.com")}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Twilio Auth Token")}
|
||||
?required=${true}
|
||||
name="auth"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("Twilio Auth Token")} required name="auth">
|
||||
<input
|
||||
type="text"
|
||||
value="${this.instance?.auth ?? ""}"
|
||||
@ -101,7 +97,7 @@ export class AuthenticatorSMSStageForm extends BaseStageForm<AuthenticatorSMSSta
|
||||
const current = (ev.target as HTMLInputElement).value;
|
||||
this.authType = current as AuthTypeEnum;
|
||||
}}
|
||||
?required=${true}
|
||||
required
|
||||
name="authType"
|
||||
>
|
||||
<ak-radio
|
||||
@ -120,11 +116,7 @@ export class AuthenticatorSMSStageForm extends BaseStageForm<AuthenticatorSMSSta
|
||||
>
|
||||
</ak-radio>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("External API URL")}
|
||||
?required=${true}
|
||||
name="accountSid"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("External API URL")} required name="accountSid">
|
||||
<input
|
||||
type="text"
|
||||
value="${this.instance?.accountSid ?? ""}"
|
||||
@ -137,11 +129,7 @@ export class AuthenticatorSMSStageForm extends BaseStageForm<AuthenticatorSMSSta
|
||||
${msg("This is the full endpoint to send POST requests to.")}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("API Auth Username")}
|
||||
?required=${true}
|
||||
name="auth"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("API Auth Username")} required name="auth">
|
||||
<input
|
||||
type="text"
|
||||
value="${this.instance?.auth ?? ""}"
|
||||
@ -196,7 +184,7 @@ export class AuthenticatorSMSStageForm extends BaseStageForm<AuthenticatorSMSSta
|
||||
.selected=${(item: NotificationWebhookMapping): boolean => {
|
||||
return this.instance?.mapping === item.pk;
|
||||
}}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
>
|
||||
</ak-search-select>
|
||||
<p class="pf-c-form__helper-text">
|
||||
@ -210,7 +198,7 @@ export class AuthenticatorSMSStageForm extends BaseStageForm<AuthenticatorSMSSta
|
||||
return html` <span>
|
||||
${msg("Stage used to configure an SMS-based TOTP authenticator.")}
|
||||
</span>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${this.instance?.name ?? ""}"
|
||||
@ -234,14 +222,10 @@ export class AuthenticatorSMSStageForm extends BaseStageForm<AuthenticatorSMSSta
|
||||
)}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Provider")}
|
||||
?required=${true}
|
||||
name="provider"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("Provider")} required name="provider">
|
||||
<select
|
||||
class="pf-c-form-control"
|
||||
@change=${(ev: Event) => {
|
||||
@ -265,7 +249,7 @@ export class AuthenticatorSMSStageForm extends BaseStageForm<AuthenticatorSMSSta
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("From number")}
|
||||
?required=${true}
|
||||
required
|
||||
name="fromNumber"
|
||||
>
|
||||
<input
|
||||
@ -334,7 +318,7 @@ export class AuthenticatorSMSStageForm extends BaseStageForm<AuthenticatorSMSSta
|
||||
.selected=${(flow: Flow): boolean => {
|
||||
return this.instance?.configureFlow === flow.pk;
|
||||
}}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
>
|
||||
</ak-search-select>
|
||||
<p class="pf-c-form__helper-text">
|
||||
|
@ -43,7 +43,7 @@ export class AuthenticatorStaticStageForm extends BaseStageForm<AuthenticatorSta
|
||||
"Stage used to configure a static authenticator (i.e. static tokens). This stage should be used for configuration flows.",
|
||||
)}
|
||||
</span>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${this.instance?.name ?? ""}"
|
||||
@ -67,12 +67,12 @@ export class AuthenticatorStaticStageForm extends BaseStageForm<AuthenticatorSta
|
||||
)}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Token count")}
|
||||
?required=${true}
|
||||
required
|
||||
name="tokenCount"
|
||||
>
|
||||
<input
|
||||
@ -89,7 +89,7 @@ export class AuthenticatorStaticStageForm extends BaseStageForm<AuthenticatorSta
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Token length")}
|
||||
?required=${true}
|
||||
required
|
||||
name="tokenLength"
|
||||
>
|
||||
<input
|
||||
@ -135,7 +135,7 @@ export class AuthenticatorStaticStageForm extends BaseStageForm<AuthenticatorSta
|
||||
.selected=${(flow: Flow): boolean => {
|
||||
return this.instance?.configureFlow === flow.pk;
|
||||
}}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
>
|
||||
</ak-search-select>
|
||||
<p class="pf-c-form__helper-text">
|
||||
|
@ -45,7 +45,7 @@ export class AuthenticatorTOTPStageForm extends BaseStageForm<AuthenticatorTOTPS
|
||||
"Stage used to configure a TOTP authenticator (i.e. Authy/Google Authenticator).",
|
||||
)}
|
||||
</span>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${this.instance?.name ?? ""}"
|
||||
@ -69,14 +69,10 @@ export class AuthenticatorTOTPStageForm extends BaseStageForm<AuthenticatorTOTPS
|
||||
)}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Digits")}
|
||||
?required=${true}
|
||||
name="digits"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("Digits")} required name="digits">
|
||||
<select name="users" class="pf-c-form-control">
|
||||
<option
|
||||
value="${DigitsEnum._6}"
|
||||
@ -125,7 +121,7 @@ export class AuthenticatorTOTPStageForm extends BaseStageForm<AuthenticatorTOTPS
|
||||
.selected=${(flow: Flow): boolean => {
|
||||
return this.instance?.configureFlow === flow.pk;
|
||||
}}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
>
|
||||
</ak-search-select>
|
||||
<p class="pf-c-form__helper-text">
|
||||
|
@ -87,7 +87,7 @@ export class AuthenticatorValidateStageForm extends BaseStageForm<AuthenticatorV
|
||||
"Stage used to validate any authenticator. This stage should be used during authentication or authorization flows.",
|
||||
)}
|
||||
</span>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name || "")}"
|
||||
@ -95,12 +95,12 @@ export class AuthenticatorValidateStageForm extends BaseStageForm<AuthenticatorV
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Device classes")}
|
||||
?required=${true}
|
||||
required
|
||||
name="deviceClasses"
|
||||
>
|
||||
<ak-checkbox-group
|
||||
@ -119,7 +119,7 @@ export class AuthenticatorValidateStageForm extends BaseStageForm<AuthenticatorV
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Last validation threshold")}
|
||||
?required=${true}
|
||||
required
|
||||
name="lastAuthThreshold"
|
||||
>
|
||||
<input
|
||||
@ -139,7 +139,7 @@ export class AuthenticatorValidateStageForm extends BaseStageForm<AuthenticatorV
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Not configured action")}
|
||||
?required=${true}
|
||||
required
|
||||
name="notConfiguredAction"
|
||||
>
|
||||
<select
|
||||
@ -208,12 +208,12 @@ export class AuthenticatorValidateStageForm extends BaseStageForm<AuthenticatorV
|
||||
: html``}
|
||||
</div>
|
||||
</ak-form-group>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("WebAuthn-specific settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("WebAuthn User verification")}
|
||||
?required=${true}
|
||||
required
|
||||
name="webauthnUserVerification"
|
||||
>
|
||||
<ak-radio
|
||||
@ -255,7 +255,7 @@ export class AuthenticatorValidateStageForm extends BaseStageForm<AuthenticatorV
|
||||
"Optionally restrict which WebAuthn device types may be used. When no device types are selected, all devices are allowed.",
|
||||
)}
|
||||
</p>
|
||||
<ak-alert ?inline=${true}>
|
||||
<ak-alert inline>
|
||||
${
|
||||
/* TODO: Remove this after 2024.6..or maybe later? */
|
||||
msg(
|
||||
|
@ -53,7 +53,7 @@ export class AuthenticatorWebAuthnStageForm extends BaseStageForm<AuthenticatorW
|
||||
"Stage used to configure a WebAuthn authenticator (i.e. Yubikey, FaceID/Windows Hello).",
|
||||
)}
|
||||
</span>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${this.instance?.name ?? ""}"
|
||||
@ -77,12 +77,12 @@ export class AuthenticatorWebAuthnStageForm extends BaseStageForm<AuthenticatorW
|
||||
)}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("User verification")}
|
||||
?required=${true}
|
||||
required
|
||||
name="userVerification"
|
||||
>
|
||||
<ak-radio
|
||||
@ -109,7 +109,7 @@ export class AuthenticatorWebAuthnStageForm extends BaseStageForm<AuthenticatorW
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Resident key requirement")}
|
||||
?required=${true}
|
||||
required
|
||||
name="residentKeyRequirement"
|
||||
>
|
||||
<ak-radio
|
||||
@ -140,7 +140,7 @@ export class AuthenticatorWebAuthnStageForm extends BaseStageForm<AuthenticatorW
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Authenticator Attachment")}
|
||||
?required=${true}
|
||||
required
|
||||
name="authenticatorAttachment"
|
||||
>
|
||||
<ak-radio
|
||||
@ -226,7 +226,7 @@ export class AuthenticatorWebAuthnStageForm extends BaseStageForm<AuthenticatorW
|
||||
.selected=${(flow: Flow): boolean => {
|
||||
return this.instance?.configureFlow === flow.pk;
|
||||
}}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
>
|
||||
</ak-search-select>
|
||||
<p class="pf-c-form__helper-text">
|
||||
|
@ -39,7 +39,7 @@ export class CaptchaStageForm extends BaseStageForm<CaptchaStage> {
|
||||
"This stage checks the user's current session against the Google reCaptcha (or compatible) service.",
|
||||
)}
|
||||
</span>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name || "")}"
|
||||
@ -47,12 +47,12 @@ export class CaptchaStageForm extends BaseStageForm<CaptchaStage> {
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Public Key")}
|
||||
?required=${true}
|
||||
required
|
||||
name="publicKey"
|
||||
>
|
||||
<input
|
||||
@ -129,11 +129,7 @@ export class CaptchaStageForm extends BaseStageForm<CaptchaStage> {
|
||||
<ak-form-group>
|
||||
<span slot="header"> ${msg("Advanced settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("JS URL")}
|
||||
?required=${true}
|
||||
name="jsUrl"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("JS URL")} required name="jsUrl">
|
||||
<input
|
||||
type="url"
|
||||
value="${ifDefined(
|
||||
@ -151,11 +147,7 @@ export class CaptchaStageForm extends BaseStageForm<CaptchaStage> {
|
||||
)}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("API URL")}
|
||||
?required=${true}
|
||||
name="apiUrl"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("API URL")} required name="apiUrl">
|
||||
<input
|
||||
type="url"
|
||||
value="${ifDefined(
|
||||
|
@ -45,7 +45,7 @@ export class ConsentStageForm extends BaseStageForm<ConsentStage> {
|
||||
"Prompt for the user's consent. The consent can either be permanent or expire in a defined amount of time.",
|
||||
)}
|
||||
</span>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name || "")}"
|
||||
@ -53,10 +53,10 @@ export class ConsentStageForm extends BaseStageForm<ConsentStage> {
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal label=${msg("Mode")} ?required=${true} name="mode">
|
||||
<ak-form-element-horizontal label=${msg("Mode")} required name="mode">
|
||||
<select
|
||||
class="pf-c-form-control"
|
||||
@change=${(ev: Event) => {
|
||||
@ -95,7 +95,7 @@ export class ConsentStageForm extends BaseStageForm<ConsentStage> {
|
||||
<ak-form-element-horizontal
|
||||
?hidden=${!this.showExpiresIn}
|
||||
label=${msg("Consent expires in")}
|
||||
?required=${true}
|
||||
required
|
||||
name="consentExpireIn"
|
||||
>
|
||||
<input
|
||||
|
@ -36,7 +36,7 @@ export class DenyStageForm extends BaseStageForm<DenyStage> {
|
||||
"Statically deny the flow. To use this stage effectively, disable *Evaluate when flow is planned* on the respective binding.",
|
||||
)}
|
||||
</span>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name || "")}"
|
||||
@ -44,7 +44,7 @@ export class DenyStageForm extends BaseStageForm<DenyStage> {
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal label=${msg("Deny message")} name="denyMessage">
|
||||
|
@ -35,7 +35,7 @@ export class DummyStageForm extends BaseStageForm<DummyStage> {
|
||||
"Dummy stage used for testing. Shows a simple continue button and always passes.",
|
||||
)}
|
||||
</span>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name || "")}"
|
||||
|
@ -50,7 +50,7 @@ export class EmailStageForm extends BaseStageForm<EmailStage> {
|
||||
return html`<ak-form-group>
|
||||
<span slot="header"> ${msg("Connection settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal label=${msg("SMTP Host")} ?required=${true} name="host">
|
||||
<ak-form-element-horizontal label=${msg("SMTP Host")} required name="host">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.host || "")}"
|
||||
@ -58,7 +58,7 @@ export class EmailStageForm extends BaseStageForm<EmailStage> {
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal label=${msg("SMTP Port")} ?required=${true} name="port">
|
||||
<ak-form-element-horizontal label=${msg("SMTP Port")} required name="port">
|
||||
<input
|
||||
type="number"
|
||||
value="${this.instance?.port ?? 25}"
|
||||
@ -108,11 +108,7 @@ export class EmailStageForm extends BaseStageForm<EmailStage> {
|
||||
<span class="pf-c-switch__label">${msg("Use SSL")}</span>
|
||||
</label>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Timeout")}
|
||||
?required=${true}
|
||||
name="timeout"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("Timeout")} required name="timeout">
|
||||
<input
|
||||
type="number"
|
||||
value="${this.instance?.timeout ?? 30}"
|
||||
@ -122,7 +118,7 @@ export class EmailStageForm extends BaseStageForm<EmailStage> {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("From address")}
|
||||
?required=${true}
|
||||
required
|
||||
name="fromAddress"
|
||||
>
|
||||
<input
|
||||
@ -142,7 +138,7 @@ export class EmailStageForm extends BaseStageForm<EmailStage> {
|
||||
"Verify the user's email address by sending them a one-time-link. Can also be used for recovery to verify the user's authenticity.",
|
||||
)}
|
||||
</span>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name || "")}"
|
||||
@ -150,7 +146,7 @@ export class EmailStageForm extends BaseStageForm<EmailStage> {
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal name="activateUserOnSuccess">
|
||||
@ -201,7 +197,7 @@ export class EmailStageForm extends BaseStageForm<EmailStage> {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Token expiration")}
|
||||
?required=${true}
|
||||
required
|
||||
name="tokenExpiry"
|
||||
>
|
||||
<input
|
||||
@ -215,11 +211,7 @@ export class EmailStageForm extends BaseStageForm<EmailStage> {
|
||||
</p>
|
||||
<ak-utils-time-delta-help></ak-utils-time-delta-help>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Subject")}
|
||||
?required=${true}
|
||||
name="subject"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("Subject")} required name="subject">
|
||||
<input
|
||||
type="text"
|
||||
value="${this.instance?.subject ?? "authentik"}"
|
||||
@ -227,11 +219,7 @@ export class EmailStageForm extends BaseStageForm<EmailStage> {
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Template")}
|
||||
?required=${true}
|
||||
name="template"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("Template")} required name="template">
|
||||
<select name="users" class="pf-c-form-control">
|
||||
${this.templates?.map((template) => {
|
||||
const selected = this.instance?.template === template.name;
|
||||
|
@ -76,7 +76,7 @@ export class IdentificationStageForm extends BaseStageForm<IdentificationStage>
|
||||
return html`<span>
|
||||
${msg("Let the user identify themselves with their username or Email address.")}
|
||||
</span>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name || "")}"
|
||||
@ -84,7 +84,7 @@ export class IdentificationStageForm extends BaseStageForm<IdentificationStage>
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal label=${msg("User fields")} name="userFields">
|
||||
@ -196,11 +196,7 @@ export class IdentificationStageForm extends BaseStageForm<IdentificationStage>
|
||||
<ak-form-group>
|
||||
<span slot="header"> ${msg("Source settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Sources")}
|
||||
?required=${true}
|
||||
name="sources"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("Sources")} required name="sources">
|
||||
<ak-dual-select-dynamic-selected
|
||||
.provider=${sourcesProvider}
|
||||
.selector=${sourcesSelector(this.instance?.sources)}
|
||||
|
@ -41,12 +41,7 @@ export class InvitationForm extends ModelForm<Invitation, string> {
|
||||
}
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html` <ak-form-element-horizontal
|
||||
?slugMode=${true}
|
||||
label=${msg("Name")}
|
||||
?required=${true}
|
||||
name="name"
|
||||
>
|
||||
return html` <ak-form-element-horizontal slugMode label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${this.instance?.name || ""}"
|
||||
@ -55,7 +50,7 @@ export class InvitationForm extends ModelForm<Invitation, string> {
|
||||
data-ak-slug="true"
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal label=${msg("Expires")} ?required=${true} name="expires">
|
||||
<ak-form-element-horizontal label=${msg("Expires")} required name="expires">
|
||||
<input
|
||||
type="datetime-local"
|
||||
data-type="datetime-local"
|
||||
|
@ -33,7 +33,7 @@ export class InvitationStageForm extends BaseStageForm<InvitationStage> {
|
||||
return html` <span>
|
||||
${msg("This stage can be included in enrollment flows to accept invitations.")}
|
||||
</span>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${this.instance?.name || ""}"
|
||||
@ -41,7 +41,7 @@ export class InvitationStageForm extends BaseStageForm<InvitationStage> {
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal name="continueFlowWithoutInvitation">
|
||||
|
@ -45,7 +45,7 @@ export class MTLSStageForm extends BaseStageForm<MutualTLSStage> {
|
||||
renderForm(): TemplateResult {
|
||||
return html`
|
||||
<span> ${msg("Client-certificate/mTLS authentication/enrollment.")} </span>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name || "")}"
|
||||
@ -53,7 +53,7 @@ export class MTLSStageForm extends BaseStageForm<MutualTLSStage> {
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal label=${msg("Mode")} required name="mode">
|
||||
|
@ -82,14 +82,10 @@ export class PasswordStageForm extends BaseStageForm<PasswordStage> {
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Backends")}
|
||||
?required=${true}
|
||||
name="backends"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("Backends")} required name="backends">
|
||||
<ak-checkbox-group
|
||||
class="user-field-select"
|
||||
.options=${backends}
|
||||
@ -103,7 +99,7 @@ export class PasswordStageForm extends BaseStageForm<PasswordStage> {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Configuration flow")}
|
||||
?required=${true}
|
||||
required
|
||||
name="configureFlow"
|
||||
>
|
||||
<ak-search-select
|
||||
@ -141,7 +137,7 @@ export class PasswordStageForm extends BaseStageForm<PasswordStage> {
|
||||
}
|
||||
return selected;
|
||||
}}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
>
|
||||
</ak-search-select>
|
||||
<p class="pf-c-form__helper-text">
|
||||
@ -152,7 +148,7 @@ export class PasswordStageForm extends BaseStageForm<PasswordStage> {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Failed attempts before cancel")}
|
||||
?required=${true}
|
||||
required
|
||||
name="failedAttemptsBeforeCancel"
|
||||
>
|
||||
<input
|
||||
|
@ -203,7 +203,7 @@ export class PromptForm extends ModelForm<Prompt, string> {
|
||||
}
|
||||
|
||||
renderEditForm(): TemplateResult {
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name)}"
|
||||
@ -217,7 +217,7 @@ export class PromptForm extends ModelForm<Prompt, string> {
|
||||
${msg("Unique name of this field, used for selecting fields in prompt stages.")}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal label=${msg("Field Key")} ?required=${true} name="fieldKey">
|
||||
<ak-form-element-horizontal label=${msg("Field Key")} required name="fieldKey">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.fieldKey)}"
|
||||
@ -238,7 +238,7 @@ export class PromptForm extends ModelForm<Prompt, string> {
|
||||
)}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal label=${msg("Label")} ?required=${true} name="label">
|
||||
<ak-form-element-horizontal label=${msg("Label")} required name="label">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.label)}"
|
||||
@ -252,7 +252,7 @@ export class PromptForm extends ModelForm<Prompt, string> {
|
||||
${msg("Label shown next to/above the prompt.")}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal label=${msg("Type")} ?required=${true} name="type">
|
||||
<ak-form-element-horizontal label=${msg("Type")} required name="type">
|
||||
<select
|
||||
class="pf-c-form-control"
|
||||
@change=${() => {
|
||||
@ -371,7 +371,7 @@ export class PromptForm extends ModelForm<Prompt, string> {
|
||||
</ak-codemirror>
|
||||
<p class="pf-c-form__helper-text">${msg("Any HTML can be used.")}</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal label=${msg("Order")} ?required=${true} name="order">
|
||||
<ak-form-element-horizontal label=${msg("Order")} required name="order">
|
||||
<input
|
||||
type="number"
|
||||
value="${this.instance?.order ?? 0}"
|
||||
|
@ -47,7 +47,7 @@ export class PromptStageForm extends BaseStageForm<PromptStage> {
|
||||
"Show arbitrary input fields to the user, for example during enrollment. Data is saved in the flow context under the 'prompt_data' variable.",
|
||||
)}
|
||||
</span>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name || "")}"
|
||||
@ -55,14 +55,10 @@ export class PromptStageForm extends BaseStageForm<PromptStage> {
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Fields")}
|
||||
?required=${true}
|
||||
name="fields"
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("Fields")} required name="fields">
|
||||
<ak-dual-select-dynamic-selected
|
||||
.provider=${promptFieldsProvider}
|
||||
.selector=${promptFieldsSelector(this.instance?.fields)}
|
||||
|
@ -44,7 +44,7 @@ export class SourceStageForm extends BaseStageForm<SourceStage> {
|
||||
"Inject an OAuth or SAML Source into the flow execution. This allows for additional user verification, or to dynamically access different sources for different user identifiers (username, email address, etc).",
|
||||
)}</span
|
||||
>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name || "")}"
|
||||
@ -52,7 +52,7 @@ export class SourceStageForm extends BaseStageForm<SourceStage> {
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal label=${msg("Source")} ?required=${true} name="source">
|
||||
<ak-form-element-horizontal label=${msg("Source")} required name="source">
|
||||
<ak-search-select
|
||||
.fetchObjects=${async (query?: string): Promise<Source[]> => {
|
||||
const args: SourcesAllListRequest = {
|
||||
@ -81,7 +81,7 @@ export class SourceStageForm extends BaseStageForm<SourceStage> {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Resume timeout")}
|
||||
?required=${true}
|
||||
required
|
||||
name="resumeTimeout"
|
||||
>
|
||||
<input
|
||||
|
@ -35,7 +35,7 @@ export class UserDeleteStageForm extends BaseStageForm<UserDeleteStage> {
|
||||
"Delete the currently pending user. CAUTION, this stage does not ask for confirmation. Use a consent stage to ensure the user is aware of their actions.",
|
||||
)}
|
||||
</span>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name || "")}"
|
||||
|
@ -33,7 +33,7 @@ export class UserLoginStageForm extends BaseStageForm<UserLoginStage> {
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html` <span>${msg("Log the currently pending user in.")}</span>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${this.instance?.name ?? ""}"
|
||||
@ -41,12 +41,12 @@ export class UserLoginStageForm extends BaseStageForm<UserLoginStage> {
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Session duration")}
|
||||
?required=${true}
|
||||
required
|
||||
name="sessionDuration"
|
||||
>
|
||||
<input
|
||||
@ -63,7 +63,7 @@ export class UserLoginStageForm extends BaseStageForm<UserLoginStage> {
|
||||
)}
|
||||
</p>
|
||||
<ak-utils-time-delta-help></ak-utils-time-delta-help>
|
||||
<ak-alert ?inline=${true}>
|
||||
<ak-alert inline>
|
||||
${msg(
|
||||
"Different browsers handle session cookies differently, and might not remove them even when the browser is closed.",
|
||||
)}
|
||||
@ -77,7 +77,7 @@ export class UserLoginStageForm extends BaseStageForm<UserLoginStage> {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Stay signed in offset")}
|
||||
?required=${true}
|
||||
required
|
||||
name="rememberMeOffset"
|
||||
>
|
||||
<input
|
||||
@ -97,7 +97,7 @@ export class UserLoginStageForm extends BaseStageForm<UserLoginStage> {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Network binding")}
|
||||
?required=${true}
|
||||
required
|
||||
name="networkBinding"
|
||||
>
|
||||
<ak-radio
|
||||
@ -131,7 +131,7 @@ export class UserLoginStageForm extends BaseStageForm<UserLoginStage> {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("GeoIP binding")}
|
||||
?required=${true}
|
||||
required
|
||||
name="geoipBinding"
|
||||
>
|
||||
<ak-radio
|
||||
|
@ -31,7 +31,7 @@ export class UserLogoutStageForm extends BaseStageForm<UserLogoutStage> {
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html` <span>${msg("Remove the user from the current session.")}</span>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name || "")}"
|
||||
|
@ -47,7 +47,7 @@ export class UserWriteStageForm extends BaseStageForm<UserWriteStage> {
|
||||
is pending, a new user is created, and data is written to them.`,
|
||||
)}
|
||||
</span>
|
||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
||||
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.name || "")}"
|
||||
@ -55,7 +55,7 @@ export class UserWriteStageForm extends BaseStageForm<UserWriteStage> {
|
||||
required
|
||||
/>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-group .expanded=${true}>
|
||||
<ak-form-group expanded>
|
||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal name="userCreationMode">
|
||||
@ -183,7 +183,7 @@ export class UserWriteStageForm extends BaseStageForm<UserWriteStage> {
|
||||
.selected=${(group: Group): boolean => {
|
||||
return group.pk === this.instance?.createUsersGroup;
|
||||
}}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
>
|
||||
</ak-search-select>
|
||||
<p class="pf-c-form__helper-text">
|
||||
|
@ -58,7 +58,7 @@ export class TokenForm extends ModelForm<Token, string> {
|
||||
return html` <ak-form-element-horizontal
|
||||
label=${msg("Identifier")}
|
||||
name="identifier"
|
||||
?required=${true}
|
||||
required
|
||||
>
|
||||
<input
|
||||
type="text"
|
||||
@ -72,7 +72,7 @@ export class TokenForm extends ModelForm<Token, string> {
|
||||
${msg("Unique identifier the token is referenced by.")}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal label=${msg("User")} ?required=${true} name="user">
|
||||
<ak-form-element-horizontal label=${msg("User")} required name="user">
|
||||
<ak-search-select
|
||||
.fetchObjects=${async (query?: string): Promise<User[]> => {
|
||||
const args: CoreUsersListRequest = {
|
||||
@ -99,7 +99,7 @@ export class TokenForm extends ModelForm<Token, string> {
|
||||
>
|
||||
</ak-search-select>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal label=${msg("Intent")} ?required=${true} name="intent">
|
||||
<ak-form-element-horizontal label=${msg("Intent")} required name="intent">
|
||||
<ak-radio
|
||||
.options=${[
|
||||
{
|
||||
|
@ -54,11 +54,7 @@ export class ServiceAccountForm extends Form<UserServiceAccountRequest> {
|
||||
}
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html`<ak-form-element-horizontal
|
||||
label=${msg("Username")}
|
||||
?required=${true}
|
||||
name="name"
|
||||
>
|
||||
return html`<ak-form-element-horizontal label=${msg("Username")} required name="name">
|
||||
<input
|
||||
type="text"
|
||||
value=""
|
||||
@ -73,7 +69,7 @@ export class ServiceAccountForm extends Form<UserServiceAccountRequest> {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal name="createGroup">
|
||||
<label class="pf-c-switch">
|
||||
<input class="pf-c-switch__input" type="checkbox" ?checked=${true} />
|
||||
<input class="pf-c-switch__input" type="checkbox" checked />
|
||||
<span class="pf-c-switch__toggle">
|
||||
<span class="pf-c-switch__toggle-icon">
|
||||
<i class="fas fa-check" aria-hidden="true"></i>
|
||||
@ -89,7 +85,7 @@ export class ServiceAccountForm extends Form<UserServiceAccountRequest> {
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal name="expiring">
|
||||
<label class="pf-c-switch">
|
||||
<input class="pf-c-switch__input" type="checkbox" ?checked=${true} />
|
||||
<input class="pf-c-switch__input" type="checkbox" checked />
|
||||
<span class="pf-c-switch__toggle">
|
||||
<span class="pf-c-switch__toggle-icon">
|
||||
<i class="fas fa-check" aria-hidden="true"></i>
|
||||
|
@ -81,11 +81,7 @@ export class UserForm extends ModelForm<User, number> {
|
||||
}
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html`<ak-form-element-horizontal
|
||||
label=${msg("Username")}
|
||||
?required=${true}
|
||||
name="username"
|
||||
>
|
||||
return html`<ak-form-element-horizontal label=${msg("Username")} required name="username">
|
||||
<input
|
||||
type="text"
|
||||
value="${ifDefined(this.instance?.username)}"
|
||||
@ -106,7 +102,7 @@ export class UserForm extends ModelForm<User, number> {
|
||||
/>
|
||||
<p class="pf-c-form__helper-text">${msg("User's display name.")}</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal label=${msg("User type")} ?required=${true} name="type">
|
||||
<ak-form-element-horizontal label=${msg("User type")} required name="type">
|
||||
<ak-radio
|
||||
.options=${[
|
||||
{
|
||||
@ -172,7 +168,7 @@ export class UserForm extends ModelForm<User, number> {
|
||||
)}
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
<ak-form-element-horizontal label=${msg("Path")} ?required=${true} name="path">
|
||||
<ak-form-element-horizontal label=${msg("Path")} required name="path">
|
||||
<input
|
||||
type="text"
|
||||
value="${this.instance?.path ?? this.defaultPath}"
|
||||
|
@ -26,11 +26,7 @@ export class UserPasswordForm extends Form<UserPasswordSetRequest> {
|
||||
}
|
||||
|
||||
renderForm(): TemplateResult {
|
||||
return html`<ak-form-element-horizontal
|
||||
label=${msg("Password")}
|
||||
?required=${true}
|
||||
name="password"
|
||||
>
|
||||
return html`<ak-form-element-horizontal label=${msg("Password")} required name="password">
|
||||
<input type="password" value="" class="pf-c-form-control" required />
|
||||
</ak-form-element-horizontal>`;
|
||||
}
|
||||
|
@ -67,7 +67,7 @@ export class UserPermissionForm extends ModelForm<UserPermissionAssign, number>
|
||||
<ak-chip-group>
|
||||
${this.permissionsToAdd.map((permission) => {
|
||||
return html`<ak-chip
|
||||
.removable=${true}
|
||||
removable
|
||||
value=${`${permission.appLabel}.${permission.codename}`}
|
||||
@remove=${() => {
|
||||
const idx = this.permissionsToAdd.indexOf(permission);
|
||||
|
@ -34,7 +34,7 @@ export class UserResetEmailForm extends Form<CoreUsersRecoveryEmailCreateRequest
|
||||
renderForm(): TemplateResult {
|
||||
return html`<ak-form-element-horizontal
|
||||
label=${msg("Email stage")}
|
||||
?required=${true}
|
||||
required
|
||||
name="emailStage"
|
||||
>
|
||||
<ak-search-select
|
||||
|
@ -260,7 +260,7 @@ export class UserViewPage extends WithCapabilitiesConfig(AKElement) {
|
||||
|
||||
renderTabCredentialsToken(user: User): TemplateResult {
|
||||
return html`
|
||||
<ak-tabs pageIdentifier="userCredentialsTokens" ?vertical=${true}>
|
||||
<ak-tabs pageIdentifier="userCredentialsTokens" vertical>
|
||||
<section
|
||||
slot="page-sessions"
|
||||
data-tab-title="${msg("Sessions")}"
|
||||
|
@ -48,7 +48,7 @@ export const AppIcon = () => {
|
||||
</dd>
|
||||
<dt>Programmatically Good</dt><dd>
|
||||
|
||||
<ak-status-label ?good=${true}></ak-status-label>
|
||||
<ak-status-label good></ak-status-label>
|
||||
|
||||
</dd>
|
||||
<dt>Programmatically Bad</dt><dd>
|
||||
|
@ -199,7 +199,7 @@ export class TreeView extends AKElement {
|
||||
<ak-treeview-node
|
||||
.item=${rootItem}
|
||||
activePath=${this.activePath}
|
||||
?open=${true}
|
||||
open
|
||||
separator=${this.separator}
|
||||
.host=${this}
|
||||
></ak-treeview-node>
|
||||
|
@ -73,7 +73,7 @@ export class MockSearch extends CustomListenerElement(AKElement) {
|
||||
.selected=${this.selected}
|
||||
managed
|
||||
@ak-change=${this.handleSearchUpdate}
|
||||
?blankable=${true}
|
||||
blankable
|
||||
>
|
||||
</ak-search-select>
|
||||
`;
|
||||
|
@ -97,7 +97,7 @@ export class UserOAuthAccessTokenList extends Table<TokenModel> {
|
||||
: msg("-")}`,
|
||||
html`<ak-chip-group>
|
||||
${item.scope.sort().map((scope) => {
|
||||
return html`<ak-chip .removable=${false}>${scope}</ak-chip>`;
|
||||
return html`<ak-chip>${scope}</ak-chip>`;
|
||||
})}
|
||||
</ak-chip-group>`,
|
||||
];
|
||||
|
@ -98,7 +98,7 @@ export class UserOAuthRefreshTokenList extends Table<TokenModel> {
|
||||
: msg("-")}`,
|
||||
html`<ak-chip-group>
|
||||
${item.scope.sort().map((scope) => {
|
||||
return html`<ak-chip .removable=${false}>${scope}</ak-chip>`;
|
||||
return html`<ak-chip>${scope}</ak-chip>`;
|
||||
})}
|
||||
</ak-chip-group>`,
|
||||
];
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user