mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-30 04:01:58 +00:00
mok ux, autofill device and pf forms, docss for st, docs for start-sdk
This commit is contained in:
@@ -6,7 +6,6 @@ import {
|
||||
Validators,
|
||||
} from '@angular/forms'
|
||||
import { ErrorService, LoadingService } from '@start9labs/shared'
|
||||
import { utils } from '@start9labs/start-sdk'
|
||||
import {
|
||||
TUI_IS_MOBILE,
|
||||
TuiAutoFocus,
|
||||
@@ -121,15 +120,23 @@ export class DevicesAdd {
|
||||
protected readonly context =
|
||||
injectContext<TuiDialogContext<void, DeviceData>>()
|
||||
|
||||
private readonly autoSubnet =
|
||||
!this.context.data.device && this.context.data.subnets().length === 1
|
||||
? this.context.data.subnets().at(0)
|
||||
: undefined
|
||||
|
||||
protected readonly form = inject(NonNullableFormBuilder).group({
|
||||
name: [this.context.data.device?.name || '', Validators.required],
|
||||
subnet: [
|
||||
this.context.data.device?.subnet,
|
||||
this.context.data.device?.subnet ?? this.autoSubnet,
|
||||
[Validators.required, subnetValidator],
|
||||
],
|
||||
ip: [
|
||||
this.context.data.device?.ip || '',
|
||||
[Validators.required, Validators.pattern(utils.Patterns.ipv4.regex)],
|
||||
this.context.data.device?.ip ||
|
||||
(this.autoSubnet ? getIp(this.autoSubnet) : ''),
|
||||
this.autoSubnet
|
||||
? [Validators.required, ipInSubnetValidator(this.autoSubnet.range)]
|
||||
: [],
|
||||
],
|
||||
})
|
||||
|
||||
|
||||
@@ -22,10 +22,10 @@ import {
|
||||
TuiCheckbox,
|
||||
TuiChevron,
|
||||
TuiDataListWrapper,
|
||||
TuiElasticContainer,
|
||||
TuiFieldErrorPipe,
|
||||
TuiInputNumber,
|
||||
TuiSelect,
|
||||
TuiElasticContainer,
|
||||
} from '@taiga-ui/kit'
|
||||
import { TuiForm } from '@taiga-ui/layout'
|
||||
import { injectContext, PolymorpheusComponent } from '@taiga-ui/polymorpheus'
|
||||
@@ -167,7 +167,12 @@ export class PortForwardsAdd {
|
||||
|
||||
protected readonly form = inject(NonNullableFormBuilder).group({
|
||||
label: ['', Validators.required],
|
||||
externalip: ['', Validators.required],
|
||||
externalip: [
|
||||
this.context.data.ips().length === 1
|
||||
? (this.context.data.ips().at(0) ?? '')
|
||||
: '',
|
||||
Validators.required,
|
||||
],
|
||||
externalport: [null as number | null, Validators.required],
|
||||
device: [null as MappedDevice | null, Validators.required],
|
||||
internalport: [null as number | null, Validators.required],
|
||||
|
||||
@@ -16,6 +16,6 @@ export interface MappedForward {
|
||||
}
|
||||
|
||||
export interface PortForwardsData {
|
||||
readonly ips: Signal<any>
|
||||
readonly ips: Signal<readonly string[]>
|
||||
readonly devices: Signal<readonly MappedDevice[]>
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user