104 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<div class="ui-g" *ngIf="probeHost">
 | 
						|
  <div>
 | 
						|
    <label>IP Version</label>
 | 
						|
  </div>
 | 
						|
  <div class="ui-g-12 ui-bottom-space-20">
 | 
						|
    <div class="ui-g-6 ui-g-nopad">
 | 
						|
      <p-radioButton name="group1" value="v4" label="IPv4" [(ngModel)]="ipVer"></p-radioButton>
 | 
						|
    </div>
 | 
						|
    <div class="ui-g-6 ui-g-nopad">
 | 
						|
      <p-radioButton [disabled]="!SUPPORT_V6" name="group1" value="v6" label="IPv6" [(ngModel)]="ipVer"></p-radioButton>
 | 
						|
    </div>
 | 
						|
  </div>
 | 
						|
 | 
						|
  <div *ngIf="ipVer === 'v4' else V6" class="ui-g-12">
 | 
						|
    <div>
 | 
						|
      <div>
 | 
						|
        <p-checkbox value="host" label="Host" [(ngModel)]="hostChecked" binary="true" [disabled]="true"></p-checkbox>
 | 
						|
      </div>
 | 
						|
      <label>Range</label>
 | 
						|
    </div>
 | 
						|
    <div class="ui-g-12">
 | 
						|
      <of-ip-input [hostIp]="startIP" (inputIp)="onInputIP($event, 0)" [title]="'From'" [fixed]="fixedIPrange"></of-ip-input>
 | 
						|
    </div>
 | 
						|
    <div class="ui-g-12">
 | 
						|
      <of-ip-input [hostIp]="endIP" (inputIp)="onInputIP($event, 1)" [title]="'To'" [fixed]="fixedIPrange"></of-ip-input>
 | 
						|
    </div>
 | 
						|
    <div class="ui-g-12">
 | 
						|
      <p-multiSelect (onFocus)="onIPExcludeFocus()" [options]="ipArray" optionLabel="ip" [(ngModel)]="excludeIPs" [panelStyle]="{minWidth:'12em'}"
 | 
						|
        selectedItemsLabel="{0} hosts are excluded." maxSelectedLabels="2" defaultLabel="Add exclude IP"></p-multiSelect>
 | 
						|
    </div>
 | 
						|
    <div *ngIf="ipErrMsg" class="ui-message ui-messages-error ui-corner-all">
 | 
						|
      {{ipErrMsg}}
 | 
						|
    </div>
 | 
						|
  </div>
 | 
						|
 | 
						|
  <ng-template #V6>
 | 
						|
    <!-- TODO -->
 | 
						|
  </ng-template>
 | 
						|
 | 
						|
  <div class="ui-g-12">
 | 
						|
    <div>
 | 
						|
      <p-checkbox #portCheckbox value="port" label="Port" [(ngModel)]="portChecked" binary="true" (onChange)="onPortCheckChange(serviceCheckbox, $event)"></p-checkbox>
 | 
						|
    </div>
 | 
						|
  </div>
 | 
						|
  <div class="ui-g-12 ui-bottom-space-20">
 | 
						|
    <div class="ui-g-6 ui-g-nopad">
 | 
						|
      TCP  
 | 
						|
      <p-inputSwitch [(ngModel)]="tcpChecked" [disabled]="!portChecked" binary="true" (onChange)="onPortTypeCheck(portCheckbox, serviceCheckbox)"></p-inputSwitch>
 | 
						|
    </div>
 | 
						|
    <div class="ui-g-6 ui-g-nopad">
 | 
						|
      UDP  
 | 
						|
      <p-inputSwitch [(ngModel)]="udpChecked" [disabled]="!portChecked" binary="true" (onChange)="onPortTypeCheck(portCheckbox, serviceCheckbox)"></p-inputSwitch>
 | 
						|
    </div>
 | 
						|
  </div>
 | 
						|
 | 
						|
  <div class="ui-g-12">
 | 
						|
    <label>Range</label>
 | 
						|
  </div>
 | 
						|
  <div class="ui-g-12 ui-g-nopad ui-bottom-space-20">
 | 
						|
    <div class="ui-g-4">
 | 
						|
      <input #startPort id="float-input" type="number" maxlength="5" min="1" max="65535" pInputText [disabled]="!portChecked" value="1"
 | 
						|
        (keyup)="onInputPort(startPort.value, 0)">
 | 
						|
    </div>
 | 
						|
    <div class="ui-g-4">
 | 
						|
      <input #endPort id="float-input" type="number" maxlength="5" min="1" max="65535" pInputText [disabled]="!portChecked" value="1024"
 | 
						|
        (keyup)="onInputPort(endPort.value, 1)">
 | 
						|
    </div>
 | 
						|
  </div>
 | 
						|
  <div class="ui-g-12">
 | 
						|
    <a style="cursor: pointer" (click)="portExcludeDisplay = true">
 | 
						|
      <span *ngIf="excludePorts.length === 0">Add Exclude Ports</span>
 | 
						|
      <span *ngIf="excludePorts.length > 0">{{excludePorts.length}} ports are excluded.</span>
 | 
						|
    </a>
 | 
						|
  </div>
 | 
						|
  <div *ngIf="portErrMsg" class="ui-message ui-messages-error ui-corner-all">
 | 
						|
    {{portErrMsg}}
 | 
						|
  </div>
 | 
						|
 | 
						|
  <div class="ui-g-12">
 | 
						|
    <div>
 | 
						|
      <p-checkbox #serviceCheckbox value="service" label="Service" [(ngModel)]="serviceChecked" (onChange)="onServiceCheckChange(portCheckbox, $event)"
 | 
						|
        binary="true"></p-checkbox>
 | 
						|
    </div>
 | 
						|
  </div>
 | 
						|
 | 
						|
  <div class="ui-g-12 ui-g-nopad">
 | 
						|
    <of-service-selector [disabled]="!serviceChecked" (change)="includeServices = $event"></of-service-selector>
 | 
						|
  </div>
 | 
						|
 | 
						|
  <div class="ui-g-12" dir="rtl">
 | 
						|
    <button type="submit" [disabled]="!validation" label="Discovery Start" pButton class="ui-button-width-fit" (click)="onRequestDiscovery()"></button>
 | 
						|
  </div>
 | 
						|
</div>
 | 
						|
 | 
						|
<p-dialog [(visible)]="portExcludeDisplay" [modal]="true" [responsive]="true" [width]="400">
 | 
						|
  <p-header>
 | 
						|
    Add Ports to exclude.
 | 
						|
  </p-header>
 | 
						|
  <p-chips [(ngModel)]="portChips" [addOnTab]="true" [allowDuplicate]="false" (onAdd)="onAddExcludePort($event)" (onRemove)="onRemoveExcludePort($event)"
 | 
						|
    [max]="20" placeholder="e.g. 1025~65535"></p-chips>
 | 
						|
  <p-footer>
 | 
						|
    <button type="button" pButton icon="fa-check" (click)="portExcludeDisplay=false" label="Done"></button>
 | 
						|
  </p-footer>
 | 
						|
</p-dialog> |