in the firewall editor the port field allows "all" as well
This commit is contained in:
parent
e1086d66d2
commit
6c9e6dd811
Binary file not shown.
Binary file not shown.
@ -34,12 +34,27 @@
|
|||||||
<span *ngIf="editorForm.get('protocol').value === 'ICMP'">Type and code</span>
|
<span *ngIf="editorForm.get('protocol').value === 'ICMP'">Type and code</span>
|
||||||
</h5>
|
</h5>
|
||||||
|
|
||||||
<input type="text" class="form-control" id="protocolConfig" formControlName="protocolConfig"
|
<div class="input-group mb-3" dropdown placement="bottom right">
|
||||||
[appAutofocus]="!editorForm.get('protocolConfig').value && editorForm.get('protocol').value" [appAutofocusDelay]="250"
|
<button class="btn btn-outline-info dropdown-toggle" type="button" dropdownToggle>
|
||||||
[placeholder]="editorForm.get('protocol').value === 'icmp' ? 'Type:Code [0:255]' : 'Port [1-9999]'"
|
<span *ngIf="editorForm.get('protocolConfig').value === 'all'">All ports</span>
|
||||||
[appAlphaOnly]="editorForm.get('protocol').value === 'icmp' ? '^[0-9:]+$' : '^[0-9]+$'">
|
<span *ngIf="editorForm.get('protocolConfig').value !== 'all'">Specific port</span>
|
||||||
|
</button>
|
||||||
|
<ul *dropdownMenu class="dropdown-menu" role="menu">
|
||||||
|
<li>
|
||||||
|
<button class="dropdown-item" (click)="setProtocolConfig()">Specific port</button>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<button class="dropdown-item" (click)="setProtocolConfig('all')">All ports</button>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<input type="text" class="form-control text-capitalize" id="protocolConfig" formControlName="protocolConfig"
|
||||||
|
[appAutofocus]="!editorForm.get('protocolConfig').value && editorForm.get('protocol').value" [appAutofocusDelay]="250"
|
||||||
|
[placeholder]="editorForm.get('protocol').value === 'icmp' ? 'Type:Code [0:255]' : 'Port [1-9999]'"
|
||||||
|
[appAlphaOnly]="editorForm.get('protocol').value === 'icmp' ? '^[0-9:]+$' : '^[0-9]+$'">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row g-4">
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<h5>From</h5>
|
<h5>From</h5>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
@ -38,3 +38,9 @@ h5
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.input-group > .dropdown-toggle
|
||||||
|
{
|
||||||
|
border-top-right-radius: 0;
|
||||||
|
border-bottom-right-radius: 0;
|
||||||
|
}
|
||||||
|
@ -83,7 +83,10 @@ export class FirewallEditorComponent implements OnInit, OnDestroy
|
|||||||
{
|
{
|
||||||
action: [this.firewallRule?.action.toUpperCase(), [Validators.required]],
|
action: [this.firewallRule?.action.toUpperCase(), [Validators.required]],
|
||||||
protocol: [this.firewallRule?.protocol.toLowerCase(), [Validators.required]],
|
protocol: [this.firewallRule?.protocol.toLowerCase(), [Validators.required]],
|
||||||
protocolConfig: [this.firewallRule?.protocolConfig, [Validators.required]],
|
protocolConfig: [
|
||||||
|
{ value: this.firewallRule?.protocolConfig, disabled: this.firewallRule?.protocolConfig === 'all' },
|
||||||
|
[Validators.required]
|
||||||
|
],
|
||||||
from,
|
from,
|
||||||
to,
|
to,
|
||||||
description: [this.firewallRule?.description || '']
|
description: [this.firewallRule?.description || '']
|
||||||
@ -159,6 +162,17 @@ export class FirewallEditorComponent implements OnInit, OnDestroy
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------------------------------------------
|
||||||
|
setProtocolConfig(value?: string)
|
||||||
|
{
|
||||||
|
this.editorForm.get('protocolConfig').setValue(value);
|
||||||
|
|
||||||
|
if (value === 'all')
|
||||||
|
this.editorForm.get('protocolConfig').disable();
|
||||||
|
else
|
||||||
|
this.editorForm.get('protocolConfig').enable();
|
||||||
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------------------------------------------
|
||||||
addFromRule(rule: { type: string; config: string })
|
addFromRule(rule: { type: string; config: string })
|
||||||
{
|
{
|
||||||
|
@ -114,7 +114,7 @@
|
|||||||
tooltip="More options" container="body" placement="top" [adaptivePosition]="false">
|
tooltip="More options" container="body" placement="top" [adaptivePosition]="false">
|
||||||
<fa-icon icon="ellipsis-v" [fixedWidth]="true" size="sm"></fa-icon>
|
<fa-icon icon="ellipsis-v" [fixedWidth]="true" size="sm"></fa-icon>
|
||||||
</button>
|
</button>
|
||||||
<ul id="dropdown-split" *dropdownMenu class="dropdown-menu dropdown-menu-right" role="menu" aria-labelledby="button-split">
|
<ul *dropdownMenu class="dropdown-menu dropdown-menu-right" role="menu">
|
||||||
<li role="menuitem">
|
<li role="menuitem">
|
||||||
<button class="dropdown-item" (click)="deleteFirewallRule(fw)">
|
<button class="dropdown-item" (click)="deleteFirewallRule(fw)">
|
||||||
<fa-icon icon="trash" [fixedWidth]="true"></fa-icon>
|
<fa-icon icon="trash" [fixedWidth]="true"></fa-icon>
|
||||||
|
Reference in New Issue
Block a user