mirror of https://github.com/apache/nifi.git
NIFI-13092: Adding info icons to configuration dialogs (#8696)
* NIFI-13092: - Refactoring TextToolTip input to be a string. * NIFI-13092: - Migrating existing info tooltips to use the NiFi tooltip and fa-info-circle icon. * NIFI-13092: - Adding info icons to configuration dialogs where necessary. * NIFI-13092: - Aligning Run Schedule form label between Reporting Tasks and Processors. * NIFI-13092: - Removing primary color from info icons outside of those that appear in tables. * NIFI-13092: - Addressing review feedback. This closes #8696
This commit is contained in:
parent
0e70f7a07e
commit
d9dc283406
|
@ -80,7 +80,7 @@
|
|||
[value]="option.value"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getSelectOptionTipData(option)"
|
||||
[tooltipInputData]="option.description"
|
||||
[delayClose]="false"
|
||||
>{{ option.text }}
|
||||
</mat-option>
|
||||
|
|
|
@ -39,7 +39,7 @@ import { distinctUntilChanged } from 'rxjs';
|
|||
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
||||
import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';
|
||||
import { NiFiCommon } from '../../../../service/nifi-common.service';
|
||||
import { ComponentType, isDefinedAndNotNull, SelectOption, TextTipInput } from '../../../../state/shared';
|
||||
import { ComponentType, isDefinedAndNotNull, SelectOption } from '../../../../state/shared';
|
||||
import { TextTip } from '../../../../ui/common/tooltips/text-tip/text-tip.component';
|
||||
import { AccessPolicyEntity, Action, PolicyStatus, ResourceAction } from '../../state/shared';
|
||||
import { selectFlowConfiguration } from '../../../../state/flow-configuration/flow-configuration.selectors';
|
||||
|
@ -284,13 +284,6 @@ export class ComponentAccessPolicies implements OnInit, OnDestroy {
|
|||
return true;
|
||||
}
|
||||
|
||||
getSelectOptionTipData(option: SelectOption): TextTipInput {
|
||||
return {
|
||||
// @ts-ignore
|
||||
text: option.description
|
||||
};
|
||||
}
|
||||
|
||||
getContextIcon(): string {
|
||||
switch (this.resource) {
|
||||
case 'processors':
|
||||
|
|
|
@ -65,7 +65,7 @@
|
|||
[value]="option.value"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getSelectOptionTipData(option)"
|
||||
[tooltipInputData]="option.description"
|
||||
[delayClose]="false"
|
||||
>{{ option.text }}
|
||||
</mat-option>
|
||||
|
@ -85,7 +85,7 @@
|
|||
[value]="option.value"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getSelectOptionTipData(option)"
|
||||
[tooltipInputData]="option.description"
|
||||
[delayClose]="false"
|
||||
>{{ option.text }}
|
||||
</mat-option>
|
||||
|
|
|
@ -39,13 +39,7 @@ import { distinctUntilChanged } from 'rxjs';
|
|||
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
||||
import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';
|
||||
import { NiFiCommon } from '../../../../service/nifi-common.service';
|
||||
import {
|
||||
ComponentType,
|
||||
isDefinedAndNotNull,
|
||||
RequiredPermission,
|
||||
SelectOption,
|
||||
TextTipInput
|
||||
} from '../../../../state/shared';
|
||||
import { ComponentType, isDefinedAndNotNull, RequiredPermission, SelectOption } from '../../../../state/shared';
|
||||
import { TextTip } from '../../../../ui/common/tooltips/text-tip/text-tip.component';
|
||||
import { AccessPolicyEntity, Action, PolicyStatus } from '../../state/shared';
|
||||
import { loadExtensionTypesForPolicies } from '../../../../state/extension-types/extension-types.actions';
|
||||
|
@ -173,13 +167,6 @@ export class GlobalAccessPolicies implements OnInit, OnDestroy {
|
|||
return state.loadedTimestamp == initialState.loadedTimestamp;
|
||||
}
|
||||
|
||||
getSelectOptionTipData(option: SelectOption): TextTipInput {
|
||||
return {
|
||||
// @ts-ignore
|
||||
text: option.description
|
||||
};
|
||||
}
|
||||
|
||||
resourceChanged(value: string): void {
|
||||
if (this.globalPolicySupportsReadWrite(value)) {
|
||||
this.supportsReadWriteAction = true;
|
||||
|
|
|
@ -127,7 +127,7 @@
|
|||
[value]="option.value"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getSelectOptionTipData(option)"
|
||||
[tooltipInputData]="option.description"
|
||||
[delayClose]="false">
|
||||
{{ option.text }}
|
||||
</mat-option>
|
||||
|
@ -154,7 +154,7 @@
|
|||
[value]="option.value"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getSelectOptionTipData(option)"
|
||||
[tooltipInputData]="option.description"
|
||||
[delayClose]="false">
|
||||
{{ option.text }}
|
||||
</mat-option>
|
||||
|
|
|
@ -37,7 +37,7 @@ import { NifiSpinnerDirective } from '../../../../../../../ui/common/spinner/nif
|
|||
import { NifiTooltipDirective } from '../../../../../../../ui/common/tooltips/nifi-tooltip.directive';
|
||||
import { MatTabsModule } from '@angular/material/tabs';
|
||||
import { TextTip } from '../../../../../../../ui/common/tooltips/text-tip/text-tip.component';
|
||||
import { ComponentType, SelectOption, TextTipInput } from '../../../../../../../state/shared';
|
||||
import { ComponentType } from '../../../../../../../state/shared';
|
||||
import { NiFiState } from '../../../../../../../state';
|
||||
import { selectPrioritizerTypes } from '../../../../../../../state/extension-types/extension-types.selectors';
|
||||
import { Prioritizers } from '../prioritizers/prioritizers.component';
|
||||
|
@ -200,13 +200,6 @@ export class CreateConnection {
|
|||
}
|
||||
}
|
||||
|
||||
getSelectOptionTipData(option: SelectOption): TextTipInput {
|
||||
return {
|
||||
// @ts-ignore
|
||||
text: option.description
|
||||
};
|
||||
}
|
||||
|
||||
loadBalanceChanged(value: string): void {
|
||||
if (value == 'PARTITION_BY_ATTRIBUTE') {
|
||||
this.createConnectionForm.addControl('partitionAttribute', new FormControl('', Validators.required));
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
[disabled]="isDisabled"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getSelectOptionTipData(item)"
|
||||
[tooltipInputData]="item.description"
|
||||
[delayClose]="false"
|
||||
>{{ item.text }}</mat-option
|
||||
>
|
||||
|
|
|
@ -24,7 +24,7 @@ import { MatFormFieldModule } from '@angular/material/form-field';
|
|||
import { MatOptionModule } from '@angular/material/core';
|
||||
import { MatSelectModule } from '@angular/material/select';
|
||||
import { NifiTooltipDirective } from '../../../../../../../../ui/common/tooltips/nifi-tooltip.directive';
|
||||
import { SelectOption, TextTipInput } from '../../../../../../../../state/shared';
|
||||
import { SelectOption } from '../../../../../../../../state/shared';
|
||||
|
||||
@Component({
|
||||
selector: 'destination-process-group',
|
||||
|
@ -111,13 +111,6 @@ export class DestinationProcessGroup implements ControlValueAccessor {
|
|||
this.selectedInputPort = selectedInputPort;
|
||||
}
|
||||
|
||||
getSelectOptionTipData(option: SelectOption): TextTipInput {
|
||||
return {
|
||||
// @ts-ignore
|
||||
text: option.description
|
||||
};
|
||||
}
|
||||
|
||||
handleChanged() {
|
||||
// mark the component as touched if not already
|
||||
if (!this.isTouched) {
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
[disabled]="item.disabled == true || isDisabled"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getSelectOptionTipData(item)"
|
||||
[tooltipInputData]="item.description"
|
||||
[delayClose]="false"
|
||||
>{{ item.text }}</mat-option
|
||||
>
|
||||
|
|
|
@ -24,7 +24,7 @@ import { MatFormFieldModule } from '@angular/material/form-field';
|
|||
import { MatOptionModule } from '@angular/material/core';
|
||||
import { MatSelectModule } from '@angular/material/select';
|
||||
import { NifiTooltipDirective } from '../../../../../../../../ui/common/tooltips/nifi-tooltip.directive';
|
||||
import { SelectOption, TextTipInput } from '../../../../../../../../state/shared';
|
||||
import { SelectOption } from '../../../../../../../../state/shared';
|
||||
|
||||
@Component({
|
||||
selector: 'destination-remote-process-group',
|
||||
|
@ -99,13 +99,6 @@ export class DestinationRemoteProcessGroup implements ControlValueAccessor {
|
|||
this.selectedInputPort = selectedInputPort;
|
||||
}
|
||||
|
||||
getSelectOptionTipData(option: SelectOption): TextTipInput {
|
||||
return {
|
||||
// @ts-ignore
|
||||
text: option.description
|
||||
};
|
||||
}
|
||||
|
||||
handleChanged() {
|
||||
// mark the component as touched if not already
|
||||
if (!this.isTouched) {
|
||||
|
|
|
@ -104,11 +104,18 @@
|
|||
</div>
|
||||
<div class="flex flex-col mb-5">
|
||||
<div>Id</div>
|
||||
<div class="unset nifi-surface-default">No value set</div>
|
||||
<div class="accent-color font-medium">{{ dialogRequest.entity.id }}</div>
|
||||
</div>
|
||||
<div>
|
||||
<mat-form-field>
|
||||
<mat-label>FlowFile Expiration</mat-label>
|
||||
<mat-label>
|
||||
FlowFile Expiration
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="The maximum amount of time an object may be in the flow before it will be automatically aged out of the flow."></i>
|
||||
</mat-label>
|
||||
<input
|
||||
matInput
|
||||
formControlName="flowFileExpiration"
|
||||
|
@ -119,7 +126,14 @@
|
|||
<div class="flex gap-x-2">
|
||||
<div class="w-full">
|
||||
<mat-form-field>
|
||||
<mat-label>Back Pressure Object Threshold</mat-label>
|
||||
<mat-label>
|
||||
Back Pressure Object Threshold
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="The maximum number of objects that can be queued before back pressure is applied."></i>
|
||||
</mat-label>
|
||||
<input
|
||||
matInput
|
||||
formControlName="backPressureObjectThreshold"
|
||||
|
@ -129,7 +143,14 @@
|
|||
</div>
|
||||
<div class="w-full">
|
||||
<mat-form-field>
|
||||
<mat-label>Size Threshold</mat-label>
|
||||
<mat-label>
|
||||
Size Threshold
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="The maximum data size of objects that can be queued before back pressure is applied."></i>
|
||||
</mat-label>
|
||||
<input
|
||||
matInput
|
||||
formControlName="backPressureDataSizeThreshold"
|
||||
|
@ -141,7 +162,14 @@
|
|||
<div class="flex gap-x-2">
|
||||
<div class="w-full">
|
||||
<mat-form-field>
|
||||
<mat-label>Load Balance Strategy</mat-label>
|
||||
<mat-label>
|
||||
Load Balance Strategy
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="How to load balance the data in this Connection across the nodes in the cluster."></i>
|
||||
</mat-label>
|
||||
<mat-select
|
||||
formControlName="loadBalanceStrategy"
|
||||
(selectionChange)="loadBalanceChanged($event.value)">
|
||||
|
@ -151,7 +179,7 @@
|
|||
[disabled]="connectionReadonly || sourceReadonly || destinationReadonly"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getSelectOptionTipData(option)"
|
||||
[tooltipInputData]="option.description"
|
||||
[delayClose]="false">
|
||||
{{ option.text }}
|
||||
</mat-option>
|
||||
|
@ -162,7 +190,14 @@
|
|||
@if (loadBalancePartitionAttributeRequired) {
|
||||
<div class="w-full">
|
||||
<mat-form-field>
|
||||
<mat-label>Attribute Name</mat-label>
|
||||
<mat-label>
|
||||
Attribute Name
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="The FlowFile Attribute to use for determining which node a FlowFile will go to."></i>
|
||||
</mat-label>
|
||||
<input
|
||||
matInput
|
||||
formControlName="partitionAttribute"
|
||||
|
@ -175,7 +210,14 @@
|
|||
@if (loadBalanceCompressionRequired) {
|
||||
<div>
|
||||
<mat-form-field>
|
||||
<mat-label>Load Balance Compression</mat-label>
|
||||
<mat-label>
|
||||
Load Balance Compression
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Whether or not data should be compressed when being transferred between nodes in the cluster."></i>
|
||||
</mat-label>
|
||||
<mat-select formControlName="compression">
|
||||
@for (option of loadBalanceCompressionStrategies; track option) {
|
||||
<mat-option
|
||||
|
@ -183,7 +225,7 @@
|
|||
[disabled]="connectionReadonly || sourceReadonly || destinationReadonly"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getSelectOptionTipData(option)"
|
||||
[tooltipInputData]="option.description"
|
||||
[delayClose]="false">
|
||||
{{ option.text }}
|
||||
</mat-option>
|
||||
|
|
|
@ -36,7 +36,7 @@ import { NifiSpinnerDirective } from '../../../../../../../ui/common/spinner/nif
|
|||
import { NifiTooltipDirective } from '../../../../../../../ui/common/tooltips/nifi-tooltip.directive';
|
||||
import { MatTabsModule } from '@angular/material/tabs';
|
||||
import { TextTip } from '../../../../../../../ui/common/tooltips/text-tip/text-tip.component';
|
||||
import { ComponentType, SelectOption, TextTipInput } from '../../../../../../../state/shared';
|
||||
import { ComponentType } from '../../../../../../../state/shared';
|
||||
import { NiFiState } from '../../../../../../../state';
|
||||
import { selectPrioritizerTypes } from '../../../../../../../state/extension-types/extension-types.selectors';
|
||||
import { Prioritizers } from '../prioritizers/prioritizers.component';
|
||||
|
@ -224,7 +224,7 @@ export class EditConnectionComponent {
|
|||
initialCompression: string;
|
||||
|
||||
constructor(
|
||||
@Inject(MAT_DIALOG_DATA) private dialogRequest: EditConnectionDialogRequest,
|
||||
@Inject(MAT_DIALOG_DATA) public dialogRequest: EditConnectionDialogRequest,
|
||||
private formBuilder: FormBuilder,
|
||||
private store: Store<NiFiState>,
|
||||
private canvasUtils: CanvasUtils,
|
||||
|
@ -340,13 +340,6 @@ export class EditConnectionComponent {
|
|||
}
|
||||
}
|
||||
|
||||
getSelectOptionTipData(option: SelectOption): TextTipInput {
|
||||
return {
|
||||
// @ts-ignore
|
||||
text: option.description
|
||||
};
|
||||
}
|
||||
|
||||
loadBalanceChanged(value: string): void {
|
||||
if (value == 'PARTITION_BY_ATTRIBUTE') {
|
||||
this.editConnectionForm.addControl(
|
||||
|
|
|
@ -17,7 +17,14 @@
|
|||
|
||||
<div class="prioritizers flex flex-col gap-y-4" cdkDropListGroup>
|
||||
<div class="flex flex-col">
|
||||
<div>Available Prioritizers</div>
|
||||
<div>
|
||||
Available Prioritizers
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Prioritizers that are available to reprioritize FlowFiles in this processors work queue."></i>
|
||||
</div>
|
||||
<div
|
||||
class="prioritizers-list border"
|
||||
cdkDropList
|
||||
|
@ -40,7 +47,14 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="flex flex-col">
|
||||
<div>Selected Prioritizers</div>
|
||||
<div>
|
||||
Selected Prioritizers
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Prioritizers that have been selected to reprioritize FlowFiles in this processors work queue. Multiple selected prioritizers will be considered in order from top to bottom."></i>
|
||||
</div>
|
||||
<div
|
||||
class="prioritizers-list border"
|
||||
cdkDropList
|
||||
|
@ -62,11 +76,11 @@
|
|||
<div class="flex gap-x-3 items-center">
|
||||
<div>{{ getPrioritizerLabel(item) }}</div>
|
||||
@if (hasDescription(item)) {
|
||||
<div
|
||||
class="fa fa-question-circle primary-color"
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getDescriptionTipData(item)"></div>
|
||||
[tooltipInputData]="item.description"></i>
|
||||
}
|
||||
</div>
|
||||
@if (canClose) {
|
||||
|
|
|
@ -24,7 +24,7 @@ import { AsyncPipe, NgTemplateOutlet } from '@angular/common';
|
|||
import { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
|
||||
import { RouterLink } from '@angular/router';
|
||||
import { NiFiCommon } from '../../../../../../../service/nifi-common.service';
|
||||
import { DocumentedType, TextTipInput } from '../../../../../../../state/shared';
|
||||
import { DocumentedType } from '../../../../../../../state/shared';
|
||||
import { NifiTooltipDirective } from '../../../../../../../ui/common/tooltips/nifi-tooltip.directive';
|
||||
import { TextTip } from '../../../../../../../ui/common/tooltips/text-tip/text-tip.component';
|
||||
import {
|
||||
|
@ -128,13 +128,6 @@ export class Prioritizers implements ControlValueAccessor {
|
|||
return !this.nifiCommon.isBlank(entity.description);
|
||||
}
|
||||
|
||||
getDescriptionTipData(entity: DocumentedType): TextTipInput {
|
||||
return {
|
||||
// @ts-ignore
|
||||
text: entity.description
|
||||
};
|
||||
}
|
||||
|
||||
removeSelected(entity: DocumentedType, i: number): void {
|
||||
transferArrayItem(this.selectedPrioritizers, this.availablePrioritizers, i, this.availablePrioritizers.length);
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
[disabled]="isDisabled"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getSelectOptionTipData(item)"
|
||||
[tooltipInputData]="item.description"
|
||||
[delayClose]="false"
|
||||
>{{ item.text }}</mat-option
|
||||
>
|
||||
|
|
|
@ -24,7 +24,7 @@ import { MatFormFieldModule } from '@angular/material/form-field';
|
|||
import { MatOptionModule } from '@angular/material/core';
|
||||
import { MatSelectModule } from '@angular/material/select';
|
||||
import { NifiTooltipDirective } from '../../../../../../../../ui/common/tooltips/nifi-tooltip.directive';
|
||||
import { SelectOption, TextTipInput } from '../../../../../../../../state/shared';
|
||||
import { SelectOption } from '../../../../../../../../state/shared';
|
||||
|
||||
@Component({
|
||||
selector: 'source-process-group',
|
||||
|
@ -112,13 +112,6 @@ export class SourceProcessGroup implements ControlValueAccessor {
|
|||
this.selectedOutputPort = selectedOutputPort;
|
||||
}
|
||||
|
||||
getSelectOptionTipData(option: SelectOption): TextTipInput {
|
||||
return {
|
||||
// @ts-ignore
|
||||
text: option.description
|
||||
};
|
||||
}
|
||||
|
||||
handleChanged() {
|
||||
// mark the component as touched if not already
|
||||
if (!this.isTouched) {
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
[disabled]="item.disabled == true || isDisabled"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getSelectOptionTipData(item)"
|
||||
[tooltipInputData]="item.description"
|
||||
[delayClose]="false"
|
||||
>{{ item.text }}</mat-option
|
||||
>
|
||||
|
|
|
@ -24,7 +24,7 @@ import { MatFormFieldModule } from '@angular/material/form-field';
|
|||
import { MatOptionModule } from '@angular/material/core';
|
||||
import { MatSelectModule } from '@angular/material/select';
|
||||
import { NifiTooltipDirective } from '../../../../../../../../ui/common/tooltips/nifi-tooltip.directive';
|
||||
import { SelectOption, TextTipInput } from '../../../../../../../../state/shared';
|
||||
import { SelectOption } from '../../../../../../../../state/shared';
|
||||
|
||||
@Component({
|
||||
selector: 'source-remote-process-group',
|
||||
|
@ -99,13 +99,6 @@ export class SourceRemoteProcessGroup implements ControlValueAccessor {
|
|||
this.selectedOutputPort = selectedOutputPort;
|
||||
}
|
||||
|
||||
getSelectOptionTipData(option: SelectOption): TextTipInput {
|
||||
return {
|
||||
// @ts-ignore
|
||||
text: option.description
|
||||
};
|
||||
}
|
||||
|
||||
handleChanged() {
|
||||
// mark the component as touched if not already
|
||||
if (!this.isTouched) {
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
[value]="option.value"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getSelectOptionTipData(option)"
|
||||
[tooltipInputData]="option.description"
|
||||
[delayClose]="false"
|
||||
>{{ option.text }}</mat-option
|
||||
>
|
||||
|
@ -48,7 +48,7 @@
|
|||
[value]="option.value"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getSelectOptionTipData(option)"
|
||||
[tooltipInputData]="option.description"
|
||||
[delayClose]="false"
|
||||
>{{ option.text }}</mat-option
|
||||
>
|
||||
|
@ -71,7 +71,7 @@
|
|||
[value]="option.value"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getSelectOptionTipData(option)"
|
||||
[tooltipInputData]="option.description"
|
||||
[delayClose]="false"
|
||||
>{{ option.text }}</mat-option
|
||||
>
|
||||
|
@ -88,6 +88,11 @@
|
|||
<div class="mb-5">
|
||||
<mat-checkbox color="primary" formControlName="keepParameterContexts">
|
||||
Keep existing Parameter Contexts
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="When not selected, only directly associated Parameter Contexts will be copied, inherited Contexts with no direct assignment to a Process Group are ignored."></i>
|
||||
</mat-checkbox>
|
||||
</div>
|
||||
<div class="flex flex-col mb-5">
|
||||
|
|
|
@ -25,7 +25,6 @@ import {
|
|||
isDefinedAndNotNull,
|
||||
RegistryClientEntity,
|
||||
SelectOption,
|
||||
TextTipInput,
|
||||
VersionedFlow,
|
||||
VersionedFlowEntity,
|
||||
VersionedFlowSnapshotMetadata,
|
||||
|
@ -158,13 +157,6 @@ export class ImportFromRegistry implements OnInit {
|
|||
}
|
||||
}
|
||||
|
||||
getSelectOptionTipData(option: SelectOption): TextTipInput {
|
||||
return {
|
||||
// @ts-ignore
|
||||
text: option.description
|
||||
};
|
||||
}
|
||||
|
||||
registryChanged(registryId: string): void {
|
||||
this.loadBuckets(registryId);
|
||||
}
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
[value]="option.value"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getSelectOptionTipData(option)"
|
||||
[tooltipInputData]="option.description"
|
||||
[delayClose]="false"
|
||||
>{{ option.text }}
|
||||
</mat-option>
|
||||
|
@ -77,7 +77,7 @@
|
|||
[value]="option.value"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getSelectOptionTipData(option)"
|
||||
[tooltipInputData]="option.description"
|
||||
[delayClose]="false"
|
||||
>{{ option.text }}
|
||||
</mat-option>
|
||||
|
|
|
@ -30,7 +30,7 @@ import { NifiSpinnerDirective } from '../../../../../../../ui/common/spinner/nif
|
|||
import { MatError, MatFormField, MatLabel } from '@angular/material/form-field';
|
||||
import { MatOption, MatSelect } from '@angular/material/select';
|
||||
import { Observable, of, take } from 'rxjs';
|
||||
import { BucketEntity, RegistryClientEntity, SelectOption, TextTipInput } from '../../../../../../../state/shared';
|
||||
import { BucketEntity, RegistryClientEntity, SelectOption } from '../../../../../../../state/shared';
|
||||
import { NiFiCommon } from '../../../../../../../service/nifi-common.service';
|
||||
import { SaveVersionDialogRequest, SaveVersionRequest, VersionControlInformation } from '../../../../../state/flow';
|
||||
import { TextTip } from '../../../../../../../ui/common/tooltips/text-tip/text-tip.component';
|
||||
|
@ -149,12 +149,6 @@ export class SaveVersionDialog implements OnInit {
|
|||
}
|
||||
}
|
||||
|
||||
getSelectOptionTipData(option: SelectOption): TextTipInput {
|
||||
return {
|
||||
text: option.description || ''
|
||||
};
|
||||
}
|
||||
|
||||
registryChanged(registryId: string): void {
|
||||
this.loadBuckets(registryId);
|
||||
}
|
||||
|
|
|
@ -25,7 +25,18 @@
|
|||
</mat-form-field>
|
||||
@if (!isRootProcessGroup) {
|
||||
<mat-form-field>
|
||||
<mat-label>Receive From</mat-label>
|
||||
<mat-label>
|
||||
{{ ComponentType.InputPort == request.type ? 'Receive From' : 'Send To' }}
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="
|
||||
ComponentType.InputPort == request.type
|
||||
? 'Specify where FlowFiles are received from.'
|
||||
: 'Specify where FlowFiles are sent.'
|
||||
"></i>
|
||||
</mat-label>
|
||||
<mat-select formControlName="newPortAllowRemoteAccess">
|
||||
@for (option of allowRemoteAccessOptions; track option) {
|
||||
@if (option.description) {
|
||||
|
@ -33,7 +44,7 @@
|
|||
[value]="option.value"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getSelectOptionTipData(option)"
|
||||
[tooltipInputData]="option.description"
|
||||
[delayClose]="false"
|
||||
>{{ option.text }}</mat-option
|
||||
>
|
||||
|
|
|
@ -24,7 +24,7 @@ import { selectParentProcessGroupId, selectSaving } from '../../../../../state/f
|
|||
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
||||
import { createPort } from '../../../../../state/flow/flow.actions';
|
||||
import { CreateComponentRequest } from '../../../../../state/flow';
|
||||
import { ComponentType, SelectOption, TextTipInput } from '../../../../../../../state/shared';
|
||||
import { ComponentType, SelectOption } from '../../../../../../../state/shared';
|
||||
import { MatInputModule } from '@angular/material/input';
|
||||
import { MatSelectModule } from '@angular/material/select';
|
||||
import { MatTooltipModule } from '@angular/material/tooltip';
|
||||
|
@ -76,7 +76,7 @@ export class CreatePort {
|
|||
];
|
||||
|
||||
constructor(
|
||||
@Inject(MAT_DIALOG_DATA) private request: CreateComponentRequest,
|
||||
@Inject(MAT_DIALOG_DATA) public request: CreateComponentRequest,
|
||||
private formBuilder: FormBuilder,
|
||||
private store: Store<CanvasState>
|
||||
) {
|
||||
|
@ -102,13 +102,6 @@ export class CreatePort {
|
|||
});
|
||||
}
|
||||
|
||||
getSelectOptionTipData(option: SelectOption): TextTipInput {
|
||||
return {
|
||||
// @ts-ignore
|
||||
text: option.description
|
||||
};
|
||||
}
|
||||
|
||||
createPort() {
|
||||
this.store.dispatch(
|
||||
createPort({
|
||||
|
@ -120,4 +113,6 @@ export class CreatePort {
|
|||
})
|
||||
);
|
||||
}
|
||||
|
||||
protected readonly ComponentType = ComponentType;
|
||||
}
|
||||
|
|
|
@ -28,14 +28,28 @@
|
|||
<div>
|
||||
@if (request.entity.component.allowRemoteAccess) {
|
||||
<mat-form-field>
|
||||
<mat-label>Concurrent Tasks</mat-label>
|
||||
<mat-label>
|
||||
Concurrent Tasks
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="The number of tasks that should be concurrently scheduled for this port."></i>
|
||||
</mat-label>
|
||||
<input matInput formControlName="concurrentTasks" type="text" [readonly]="readonly" />
|
||||
</mat-form-field>
|
||||
}
|
||||
</div>
|
||||
@if (portTypeLabel == 'Output Port') {
|
||||
<div class="mb-3.5">
|
||||
<mat-label>Failure Port</mat-label>
|
||||
<mat-label>
|
||||
Failure Port
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="When using the Stateless Engine, if any FlowFile is routed to a port marked as a Failure Port, all data in the transaction is rolled back, and the input FlowFile, if any, is routed to the Failure Port."></i>
|
||||
</mat-label>
|
||||
<mat-checkbox color="primary" formControlName="portFunction"></mat-checkbox>
|
||||
</div>
|
||||
}
|
||||
|
|
|
@ -33,6 +33,8 @@ import { selectSaving } from '../../../../../state/flow/flow.selectors';
|
|||
import { NifiSpinnerDirective } from '../../../../../../../ui/common/spinner/nifi-spinner.directive';
|
||||
import { ClusterConnectionService } from '../../../../../../../service/cluster-connection.service';
|
||||
import { CanvasUtils } from '../../../../../service/canvas-utils.service';
|
||||
import { TextTip } from '../../../../../../../ui/common/tooltips/text-tip/text-tip.component';
|
||||
import { NifiTooltipDirective } from '../../../../../../../ui/common/tooltips/nifi-tooltip.directive';
|
||||
|
||||
@Component({
|
||||
selector: 'edit-port',
|
||||
|
@ -46,7 +48,8 @@ import { CanvasUtils } from '../../../../../service/canvas-utils.service';
|
|||
MatCheckboxModule,
|
||||
MatButtonModule,
|
||||
AsyncPipe,
|
||||
NifiSpinnerDirective
|
||||
NifiSpinnerDirective,
|
||||
NifiTooltipDirective
|
||||
],
|
||||
styleUrls: ['./edit-port.component.scss']
|
||||
})
|
||||
|
@ -122,4 +125,6 @@ export class EditPort {
|
|||
})
|
||||
);
|
||||
}
|
||||
|
||||
protected readonly TextTip = TextTip;
|
||||
}
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
[value]="option.value"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getParameterContextOptionTipData(option)"
|
||||
[tooltipInputData]="option.description"
|
||||
[delayClose]="false"
|
||||
>{{ option.text }}</mat-option
|
||||
>
|
||||
|
|
|
@ -21,7 +21,7 @@ import { CreateProcessGroupDialogRequest } from '../../../../../state/flow';
|
|||
import { Store } from '@ngrx/store';
|
||||
import { CanvasState } from '../../../../../state';
|
||||
import { createProcessGroup, uploadProcessGroup } from '../../../../../state/flow/flow.actions';
|
||||
import { SelectOption, TextTipInput } from '../../../../../../../state/shared';
|
||||
import { SelectOption } from '../../../../../../../state/shared';
|
||||
import { selectSaving } from '../../../../../state/flow/flow.selectors';
|
||||
import { AsyncPipe } from '@angular/common';
|
||||
import { ErrorBanner } from '../../../../../../../ui/common/error-banner/error-banner.component';
|
||||
|
@ -97,13 +97,6 @@ export class CreateProcessGroup {
|
|||
});
|
||||
}
|
||||
|
||||
getParameterContextOptionTipData(option: SelectOption): TextTipInput {
|
||||
return {
|
||||
// @ts-ignore
|
||||
text: option.description
|
||||
};
|
||||
}
|
||||
|
||||
attachFlow(event: Event): void {
|
||||
const target = event.target as HTMLInputElement;
|
||||
const files = target.files as FileList;
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
[disabled]="readonly"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getSelectOptionTipData(option)"
|
||||
[tooltipInputData]="option.description"
|
||||
[delayClose]="false"
|
||||
>{{ option.text }}</mat-option
|
||||
>
|
||||
|
@ -58,6 +58,11 @@
|
|||
formControlName="applyParameterContextRecursively"
|
||||
name="applyParameterContextRecursively">
|
||||
Apply Recursively
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="When checked Parameter Context will be applied to the Process Group and all the embedded Process Groups recursively, if the user has the proper permissions on all the respective components. If the user does not have the proper permissions on any embedded Process Group, then the Parameter Context will not be applied for any components."></i>
|
||||
</mat-checkbox>
|
||||
</div>
|
||||
<div>
|
||||
|
@ -70,7 +75,7 @@
|
|||
[disabled]="readonly"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getSelectOptionTipData(option)"
|
||||
[tooltipInputData]="option.description"
|
||||
[delayClose]="false">
|
||||
{{ option.text }}
|
||||
</mat-option>
|
||||
|
@ -88,7 +93,7 @@
|
|||
[disabled]="readonly"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getSelectOptionTipData(option)"
|
||||
[tooltipInputData]="option.description"
|
||||
[delayClose]="false">
|
||||
{{ option.text }}
|
||||
</mat-option>
|
||||
|
@ -106,7 +111,7 @@
|
|||
[disabled]="readonly"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getSelectOptionTipData(option)"
|
||||
[tooltipInputData]="option.description"
|
||||
[delayClose]="false">
|
||||
{{ option.text }}
|
||||
</mat-option>
|
||||
|
@ -118,7 +123,14 @@
|
|||
<div class="w-full">
|
||||
<div>
|
||||
<mat-form-field>
|
||||
<mat-label>Default FlowFile Expiration</mat-label>
|
||||
<mat-label>
|
||||
Default FlowFile Expiration
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="This setting applies as the default FlowFile expiration for any new connection. Configuration of existing connections is unaffected."></i>
|
||||
</mat-label>
|
||||
<input
|
||||
matInput
|
||||
formControlName="defaultFlowFileExpiration"
|
||||
|
@ -128,7 +140,14 @@
|
|||
</div>
|
||||
<div>
|
||||
<mat-form-field>
|
||||
<mat-label>Default Back Pressure Object Threshold</mat-label>
|
||||
<mat-label>
|
||||
Default Back Pressure Object Threshold
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="This setting applies as the default back pressure object count for any new connection. Configuration of existing connections is unaffected."></i>
|
||||
</mat-label>
|
||||
<input
|
||||
matInput
|
||||
formControlName="defaultBackPressureObjectThreshold"
|
||||
|
@ -138,7 +157,14 @@
|
|||
</div>
|
||||
<div>
|
||||
<mat-form-field>
|
||||
<mat-label>Default Back Pressure Data Size Threshold</mat-label>
|
||||
<mat-label>
|
||||
Default Back Pressure Data Size Threshold
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="This setting applies as the default back pressure data size for any new connection. Configuration of existing connections is unaffected."></i>
|
||||
</mat-label>
|
||||
<input
|
||||
matInput
|
||||
formControlName="defaultBackPressureDataSizeThreshold"
|
||||
|
@ -148,7 +174,14 @@
|
|||
</div>
|
||||
<div>
|
||||
<mat-form-field>
|
||||
<mat-label>Log File Suffix</mat-label>
|
||||
<mat-label>
|
||||
Log File Suffix
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Turns on dedicated logging. When left empty log messages will be logged only to the primary app log. When set messages logged by components in this group will be sent to the standard app log, as well as a separate log file, with the provided name, specific to this group."></i>
|
||||
</mat-label>
|
||||
<input matInput formControlName="logFileSuffix" type="text" [readonly]="readonly" />
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
|
|
@ -26,7 +26,7 @@ import { MatTabsModule } from '@angular/material/tabs';
|
|||
import { MatOptionModule } from '@angular/material/core';
|
||||
import { MatSelectModule } from '@angular/material/select';
|
||||
import { Observable } from 'rxjs';
|
||||
import { SelectOption, TextTipInput } from '../../../../../../../state/shared';
|
||||
import { SelectOption } from '../../../../../../../state/shared';
|
||||
import { Client } from '../../../../../../../service/client.service';
|
||||
import { PropertyTable } from '../../../../../../../ui/common/property-table/property-table.component';
|
||||
import { NifiSpinnerDirective } from '../../../../../../../ui/common/spinner/nifi-spinner.directive';
|
||||
|
@ -189,13 +189,6 @@ export class EditProcessGroup {
|
|||
});
|
||||
}
|
||||
|
||||
getSelectOptionTipData(option: SelectOption): TextTipInput {
|
||||
return {
|
||||
// @ts-ignore
|
||||
text: option.description
|
||||
};
|
||||
}
|
||||
|
||||
submitForm() {
|
||||
let updateStrategy = 'DIRECT_CHILDREN';
|
||||
if (this.editProcessGroupForm.get('applyParameterContextRecursively')?.value) {
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
[value]="option.value"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getParameterContextOptionTipData(option)"
|
||||
[tooltipInputData]="option.description"
|
||||
[delayClose]="false"
|
||||
>{{ option.text }}</mat-option
|
||||
>
|
||||
|
|
|
@ -21,7 +21,7 @@ import { GroupComponentsDialogRequest } from '../../../../../state/flow';
|
|||
import { Store } from '@ngrx/store';
|
||||
import { CanvasState } from '../../../../../state';
|
||||
import { groupComponents } from '../../../../../state/flow/flow.actions';
|
||||
import { ComponentType, SelectOption, TextTipInput } from '../../../../../../../state/shared';
|
||||
import { ComponentType, SelectOption } from '../../../../../../../state/shared';
|
||||
import { selectSaving } from '../../../../../state/flow/flow.selectors';
|
||||
import { AsyncPipe } from '@angular/common';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
|
@ -90,13 +90,6 @@ export class GroupComponents {
|
|||
});
|
||||
}
|
||||
|
||||
getParameterContextOptionTipData(option: SelectOption): TextTipInput {
|
||||
return {
|
||||
// @ts-ignore
|
||||
text: option.description
|
||||
};
|
||||
}
|
||||
|
||||
createProcessGroup(): void {
|
||||
this.store.dispatch(
|
||||
groupComponents({
|
||||
|
|
|
@ -58,7 +58,14 @@
|
|||
<div class="flex gap-x-4">
|
||||
<div class="w-full">
|
||||
<mat-form-field>
|
||||
<mat-label>Penalty Duration</mat-label>
|
||||
<mat-label>
|
||||
Penalty Duration
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="The amount of time used when this processor penalizes a FlowFile."></i>
|
||||
</mat-label>
|
||||
<input
|
||||
matInput
|
||||
formControlName="penaltyDuration"
|
||||
|
@ -68,14 +75,28 @@
|
|||
</div>
|
||||
<div class="w-full">
|
||||
<mat-form-field>
|
||||
<mat-label>Yield Duration</mat-label>
|
||||
<mat-label>
|
||||
Yield Duration
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="When a processor yields, it will not be scheduled again until this amount of time elapses."></i>
|
||||
</mat-label>
|
||||
<input matInput formControlName="yieldDuration" type="text" [readonly]="readonly" />
|
||||
</mat-form-field>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<mat-form-field>
|
||||
<mat-label>Bulletin Level</mat-label>
|
||||
<mat-label>
|
||||
Bulletin Level
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="The level at which this processor will generate bulletins."></i>
|
||||
</mat-label>
|
||||
<mat-select formControlName="bulletinLevel">
|
||||
@for (option of bulletinLevels; track option) {
|
||||
<mat-option [value]="option.value" [disabled]="readonly">
|
||||
|
@ -94,7 +115,14 @@
|
|||
<div class="w-full">
|
||||
<div>
|
||||
<mat-form-field>
|
||||
<mat-label>Scheduling Strategy</mat-label>
|
||||
<mat-label>
|
||||
Scheduling Strategy
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="The strategy used to schedule this processor."></i>
|
||||
</mat-label>
|
||||
<mat-select
|
||||
formControlName="schedulingStrategy"
|
||||
(selectionChange)="schedulingStrategyChanged($event.value)">
|
||||
|
@ -104,7 +132,7 @@
|
|||
[disabled]="readonly"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getSelectOptionTipData(option)"
|
||||
[tooltipInputData]="option.description"
|
||||
[delayClose]="false">
|
||||
{{ option.text }}
|
||||
</mat-option>
|
||||
|
@ -115,7 +143,14 @@
|
|||
<div class="flex gap-x-4">
|
||||
<div class="w-44">
|
||||
<mat-form-field>
|
||||
<mat-label>Concurrent Tasks</mat-label>
|
||||
<mat-label>
|
||||
Concurrent Tasks
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="The number of tasks that should be concurrently scheduled for this processor."></i>
|
||||
</mat-label>
|
||||
<input
|
||||
matInput
|
||||
formControlName="concurrentTasks"
|
||||
|
@ -127,7 +162,14 @@
|
|||
</div>
|
||||
<div class="w-44">
|
||||
<mat-form-field>
|
||||
<mat-label>Scheduling Period</mat-label>
|
||||
<mat-label>
|
||||
Run Schedule
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="The minimum number of seconds that should elapse between task executions."></i>
|
||||
</mat-label>
|
||||
<input
|
||||
matInput
|
||||
formControlName="schedulingPeriod"
|
||||
|
@ -139,7 +181,14 @@
|
|||
</div>
|
||||
<div>
|
||||
<mat-form-field>
|
||||
<mat-label>Execution</mat-label>
|
||||
<mat-label>
|
||||
Execution
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="The node(s) that this processor will be scheduled to run on."></i>
|
||||
</mat-label>
|
||||
<mat-select formControlName="executionNode">
|
||||
@for (option of executionStrategies; track option) {
|
||||
<mat-option
|
||||
|
@ -147,7 +196,7 @@
|
|||
[value]="option.value"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getSelectOptionTipData(option)"
|
||||
[tooltipInputData]="option.description"
|
||||
[delayClose]="false">
|
||||
{{ option.text }}
|
||||
</mat-option>
|
||||
|
@ -159,7 +208,14 @@
|
|||
<div class="w-full">
|
||||
@if (supportsBatching()) {
|
||||
<div class="flex flex-col mb-5">
|
||||
<div>Run Duration</div>
|
||||
<div>
|
||||
Run Duration
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="When scheduled to run, the processor will continue running for up to this duration. A run duration of 0ms will execute once when scheduled."></i>
|
||||
</div>
|
||||
<run-duration-slider
|
||||
formControlName="runDuration"
|
||||
(change)="runDurationChanged()"></run-duration-slider>
|
||||
|
|
|
@ -32,8 +32,7 @@ import {
|
|||
Parameter,
|
||||
ParameterContextReferenceEntity,
|
||||
Property,
|
||||
SelectOption,
|
||||
TextTipInput
|
||||
SelectOption
|
||||
} from '../../../../../../../state/shared';
|
||||
import { Client } from '../../../../../../../service/client.service';
|
||||
import { NiFiCommon } from '../../../../../../../service/nifi-common.service';
|
||||
|
@ -239,13 +238,6 @@ export class EditProcessor {
|
|||
return this.nifiCommon.formatBundle(entity.component.bundle);
|
||||
}
|
||||
|
||||
getSelectOptionTipData(option: SelectOption): TextTipInput {
|
||||
return {
|
||||
// @ts-ignore
|
||||
text: option.description
|
||||
};
|
||||
}
|
||||
|
||||
concurrentTasksChanged(): void {
|
||||
if (this.schedulingStrategy === 'CRON_DRIVEN') {
|
||||
this.cronDrivenConcurrentTasks = this.editProcessorForm.get('concurrentTasks')?.value;
|
||||
|
|
|
@ -20,11 +20,11 @@
|
|||
<div class="flex flex-col">
|
||||
<div class="flex items-center gap-x-1.5">
|
||||
<div>Automatically Terminate/Retry Relationships</div>
|
||||
<mat-icon
|
||||
class="info-icon"
|
||||
title="Will automatically terminate and/or retry FlowFiles sent to a given relationship if it is not defined elsewhere. If both terminate and retry are selected, any retry logic will happen first, then auto-termination."
|
||||
>info_outline</mat-icon
|
||||
>
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Will automatically terminate and/or retry FlowFiles sent to a given relationship if it is not defined elsewhere. If both terminate and retry are selected, any retry logic will happen first, then auto-termination."></i>
|
||||
</div>
|
||||
<div class="flex flex-col gap-y-3">
|
||||
@for (relationship of relationships; track relationship; let i = $index) {
|
||||
|
@ -65,7 +65,14 @@
|
|||
@if (isRelationshipRetried()) {
|
||||
<div>
|
||||
<mat-form-field>
|
||||
<mat-label>Number of Retry Attempts</mat-label>
|
||||
<mat-label>
|
||||
Number of Retry Attempts
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="For relationships set to retry, this number indicates how many times a FlowFile will attempt to reprocess before it is routed elsewhere."></i>
|
||||
</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[(ngModel)]="retryCount"
|
||||
|
@ -73,22 +80,16 @@
|
|||
name="retryCount"
|
||||
(keyup)="handleChanged()"
|
||||
[readonly]="isDisabled" />
|
||||
<mat-icon
|
||||
matSuffix
|
||||
class="info-icon"
|
||||
title="For relationships set to retry, this number indicates how many times a FlowFile will attempt to reprocess before it is routed elsewhere."
|
||||
>info_outline</mat-icon
|
||||
>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div class="flex flex-col mb-6">
|
||||
<div class="flex items-center gap-x-1.5">
|
||||
<div>Retry Back Off Policy</div>
|
||||
<mat-icon
|
||||
class="info-icon"
|
||||
title="Penalize: Retry attempts will occur in time, but the processor will continue to process other FlowFiles. Yield: No other FlowFile processing will occur until all retry attempts have been made."
|
||||
>info_outline</mat-icon
|
||||
>
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Penalize: Retry attempts will occur in time, but the processor will continue to process other FlowFiles. Yield: No other FlowFile processing will occur until all retry attempts have been made."></i>
|
||||
</div>
|
||||
<mat-radio-group
|
||||
[(ngModel)]="backoffMechanism"
|
||||
|
@ -101,19 +102,20 @@
|
|||
</div>
|
||||
<div>
|
||||
<mat-form-field>
|
||||
<mat-label>Retry Maximum Back Off Period</mat-label>
|
||||
<mat-label>
|
||||
Retry Maximum Back Off Period
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Initial retries are based on the Penalty/Yield Duration time specified in the Settings tab. The duration time is repeatedly doubled for every subsequent retry attempt. This number indicates the maximum allowable time period before another retry attempt occurs."></i>
|
||||
</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[(ngModel)]="maxBackoffPeriod"
|
||||
type="text"
|
||||
(keyup)="handleChanged()"
|
||||
[readonly]="isDisabled" />
|
||||
<mat-icon
|
||||
matSuffix
|
||||
class="info-icon"
|
||||
title="Initial retries are based on the Penalty/Yield Duration time specified in the Settings tab. The duration time is repeatedly doubled for every subsequent retry attempt. This number indicates the maximum allowable time period before another retry attempt occurs."
|
||||
>info_outline</mat-icon
|
||||
>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
}
|
||||
|
|
|
@ -22,7 +22,14 @@
|
|||
<div class="tab-content py-4 flex gap-x-4">
|
||||
<div class="w-full">
|
||||
<mat-form-field>
|
||||
<mat-label>URLs</mat-label>
|
||||
<mat-label>
|
||||
URLs
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Specify the remote target NiFi URLs. Multiple URLs can be specified in comma-separated format. Different protocols cannot be mixed. If remote NiFi is a cluster, two or more node URLs are recommended for better connection establishment availability."></i>
|
||||
</mat-label>
|
||||
<input matInput formControlName="urls" type="text" placeholder="https://remotehost:8443/nifi" />
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
@ -30,30 +37,30 @@
|
|||
<div class="flex gap-x-4">
|
||||
<div class="w-full">
|
||||
<mat-form-field>
|
||||
<mat-label>Transport Protocol</mat-label>
|
||||
<mat-label>
|
||||
Transport Protocol
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Specify the transport protocol to use for this Remote Process Group communication."></i>
|
||||
</mat-label>
|
||||
<mat-select formControlName="transportProtocol">
|
||||
<mat-option
|
||||
value="RAW"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getOptionTipData('RAW')"
|
||||
[delayClose]="false">
|
||||
RAW
|
||||
</mat-option>
|
||||
<mat-option
|
||||
value="HTTP"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getOptionTipData('HTTP')"
|
||||
[delayClose]="false">
|
||||
HTTP
|
||||
</mat-option>
|
||||
<mat-option value="RAW"> RAW </mat-option>
|
||||
<mat-option value="HTTP"> HTTP </mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<mat-form-field>
|
||||
<mat-label>Local Network Interface</mat-label>
|
||||
<mat-label>
|
||||
Local Network Interface
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="The local network interface to send/receive data. If not specified, any local address is used. If clustered, all nodes must have an interface with this identifier."></i>
|
||||
</mat-label>
|
||||
<input matInput formControlName="localNetworkInterface" type="text" />
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
@ -61,13 +68,27 @@
|
|||
<div class="flex gap-x-4">
|
||||
<div class="w-full">
|
||||
<mat-form-field>
|
||||
<mat-label>HTTP Proxy Server Hostname</mat-label>
|
||||
<mat-label>
|
||||
HTTP Proxy Server Hostname
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Specify the proxy server's hostname to use. If not specified, HTTP traffics are sent directly to the target NiFi instance."></i>
|
||||
</mat-label>
|
||||
<input matInput formControlName="httpProxyServerHostname" type="text" />
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<mat-form-field>
|
||||
<mat-label>HTTP Proxy Server Port</mat-label>
|
||||
<mat-label>
|
||||
HTTP Proxy Server Port
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Specify the proxy server's port number, optional. If not specified, default port 80 will be used."></i>
|
||||
</mat-label>
|
||||
<input matInput formControlName="httpProxyServerPort" type="text" />
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
@ -75,27 +96,55 @@
|
|||
<div class="flex gap-x-4">
|
||||
<div class="w-full">
|
||||
<mat-form-field>
|
||||
<mat-label>HTTP Proxy User</mat-label>
|
||||
<mat-label>
|
||||
HTTP Proxy User
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Specify an user name to connect to the proxy server, optional."></i>
|
||||
</mat-label>
|
||||
<input matInput formControlName="httpProxyUser" type="text" />
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<mat-form-field>
|
||||
<mat-label>HTTP Proxy Password</mat-label>
|
||||
<input matInput formControlName="httpProxyPassword" type="text" />
|
||||
<mat-label>
|
||||
HTTP Proxy Password
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Specify an user password to connect to the proxy server, optional."></i>
|
||||
</mat-label>
|
||||
<input matInput formControlName="httpProxyPassword" type="password" />
|
||||
</mat-form-field>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex gap-x-4">
|
||||
<div class="w-full">
|
||||
<mat-form-field>
|
||||
<mat-label>Communications Timeout</mat-label>
|
||||
<mat-label>
|
||||
Communications Timeout
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="When communication with this remote process group takes longer than this amount of time, it will timeout."></i>
|
||||
</mat-label>
|
||||
<input matInput formControlName="communicationsTimeout" type="text" />
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<mat-form-field>
|
||||
<mat-label>Yield Duration</mat-label>
|
||||
<mat-label>
|
||||
Yield Duration
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="When communication with this remote process group fails, it will not be scheduled again until this amount of time elapses."></i>
|
||||
</mat-label>
|
||||
<input matInput formControlName="yieldDuration" type="text" />
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
|
|
@ -20,7 +20,6 @@ import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
|
|||
import { Store } from '@ngrx/store';
|
||||
import { CanvasState } from '../../../../../state';
|
||||
import { createRemoteProcessGroup } from '../../../../../state/flow/flow.actions';
|
||||
import { TextTipInput } from '../../../../../../../state/shared';
|
||||
import { selectSaving } from '../../../../../state/flow/flow.selectors';
|
||||
import { AsyncPipe } from '@angular/common';
|
||||
import { ErrorBanner } from '../../../../../../../ui/common/error-banner/error-banner.component';
|
||||
|
@ -31,10 +30,10 @@ import { MatOptionModule } from '@angular/material/core';
|
|||
import { MatSelectModule } from '@angular/material/select';
|
||||
import { NifiSpinnerDirective } from '../../../../../../../ui/common/spinner/nifi-spinner.directive';
|
||||
import { FormBuilder, FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';
|
||||
import { TextTip } from '../../../../../../../ui/common/tooltips/text-tip/text-tip.component';
|
||||
import { NifiTooltipDirective } from '../../../../../../../ui/common/tooltips/nifi-tooltip.directive';
|
||||
import { MatIconModule } from '@angular/material/icon';
|
||||
import { CreateComponentRequest } from '../../../../../state/flow';
|
||||
import { TextTip } from '../../../../../../../ui/common/tooltips/text-tip/text-tip.component';
|
||||
import { NifiTooltipDirective } from '../../../../../../../ui/common/tooltips/nifi-tooltip.directive';
|
||||
|
||||
@Component({
|
||||
standalone: true,
|
||||
|
@ -49,8 +48,8 @@ import { CreateComponentRequest } from '../../../../../state/flow';
|
|||
ReactiveFormsModule,
|
||||
MatOptionModule,
|
||||
MatSelectModule,
|
||||
NifiTooltipDirective,
|
||||
MatIconModule
|
||||
MatIconModule,
|
||||
NifiTooltipDirective
|
||||
],
|
||||
templateUrl: './create-remote-process-group.component.html',
|
||||
styleUrls: ['./create-remote-process-group.component.scss']
|
||||
|
@ -58,8 +57,6 @@ import { CreateComponentRequest } from '../../../../../state/flow';
|
|||
export class CreateRemoteProcessGroup {
|
||||
saving$ = this.store.select(selectSaving);
|
||||
|
||||
protected readonly TextTip = TextTip;
|
||||
|
||||
createRemoteProcessGroupForm: FormGroup;
|
||||
|
||||
constructor(
|
||||
|
@ -80,12 +77,6 @@ export class CreateRemoteProcessGroup {
|
|||
});
|
||||
}
|
||||
|
||||
getOptionTipData(tip: string): TextTipInput {
|
||||
return {
|
||||
text: tip
|
||||
};
|
||||
}
|
||||
|
||||
createRemoteProcessGroup(): void {
|
||||
this.store.dispatch(
|
||||
createRemoteProcessGroup({
|
||||
|
@ -104,4 +95,6 @@ export class CreateRemoteProcessGroup {
|
|||
})
|
||||
);
|
||||
}
|
||||
|
||||
protected readonly TextTip = TextTip;
|
||||
}
|
||||
|
|
|
@ -30,7 +30,14 @@
|
|||
<div class="tab-content py-4 flex gap-x-4">
|
||||
<div class="w-full">
|
||||
<mat-form-field>
|
||||
<mat-label>URLs</mat-label>
|
||||
<mat-label>
|
||||
URLs
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Specify the remote target NiFi URLs. Multiple URLs can be specified in comma-separated format. Different protocols cannot be mixed. If remote NiFi is a cluster, two or more node URLs are recommended for better connection establishment availability."></i>
|
||||
</mat-label>
|
||||
<input
|
||||
matInput
|
||||
formControlName="urls"
|
||||
|
@ -43,7 +50,14 @@
|
|||
<div class="flex gap-x-4">
|
||||
<div class="w-full">
|
||||
<mat-form-field>
|
||||
<mat-label>Transport Protocol</mat-label>
|
||||
<mat-label>
|
||||
Transport Protocol
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Specify the transport protocol to use for this Remote Process Group communication."></i>
|
||||
</mat-label>
|
||||
<mat-select formControlName="transportProtocol">
|
||||
<mat-option value="RAW" [disabled]="readonly"> RAW</mat-option>
|
||||
<mat-option value="HTTP" [disabled]="readonly"> HTTP</mat-option>
|
||||
|
@ -52,7 +66,14 @@
|
|||
</div>
|
||||
<div class="w-full">
|
||||
<mat-form-field>
|
||||
<mat-label>Local Network Interface</mat-label>
|
||||
<mat-label>
|
||||
Local Network Interface
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="The local network interface to send/receive data. If not specified, any local address is used. If clustered, all nodes must have an interface with this identifier."></i>
|
||||
</mat-label>
|
||||
<input matInput formControlName="localNetworkInterface" type="text" [readonly]="readonly" />
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
@ -60,13 +81,27 @@
|
|||
<div class="flex gap-x-4">
|
||||
<div class="w-full">
|
||||
<mat-form-field>
|
||||
<mat-label>HTTP Proxy Server Hostname</mat-label>
|
||||
<mat-label>
|
||||
HTTP Proxy Server Hostname
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Specify the proxy server's hostname to use. If not specified, HTTP traffics are sent directly to the target NiFi instance."></i>
|
||||
</mat-label>
|
||||
<input matInput formControlName="httpProxyServerHostname" type="text" [readonly]="readonly" />
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<mat-form-field>
|
||||
<mat-label>HTTP Proxy Server Port</mat-label>
|
||||
<mat-label>
|
||||
HTTP Proxy Server Port
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Specify the proxy server's port number, optional. If not specified, default port 80 will be used."></i>
|
||||
</mat-label>
|
||||
<input matInput formControlName="httpProxyServerPort" type="text" [readonly]="readonly" />
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
@ -74,27 +109,55 @@
|
|||
<div class="flex gap-x-4">
|
||||
<div class="w-full">
|
||||
<mat-form-field>
|
||||
<mat-label>HTTP Proxy User</mat-label>
|
||||
<mat-label>
|
||||
HTTP Proxy User
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Specify an user name to connect to the proxy server, optional."></i>
|
||||
</mat-label>
|
||||
<input matInput formControlName="httpProxyUser" type="text" [readonly]="readonly" />
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<mat-form-field>
|
||||
<mat-label>HTTP Proxy Password</mat-label>
|
||||
<input matInput formControlName="httpProxyPassword" type="text" [readonly]="readonly" />
|
||||
<mat-label>
|
||||
HTTP Proxy Password
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Specify an user password to connect to the proxy server, optional."></i>
|
||||
</mat-label>
|
||||
<input matInput formControlName="httpProxyPassword" type="password" [readonly]="readonly" />
|
||||
</mat-form-field>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex gap-x-4">
|
||||
<div class="w-full">
|
||||
<mat-form-field>
|
||||
<mat-label>Communications Timeout</mat-label>
|
||||
<mat-label>
|
||||
Communications Timeout
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="When communication with this remote process group takes longer than this amount of time, it will timeout."></i>
|
||||
</mat-label>
|
||||
<input matInput formControlName="communicationsTimeout" type="text" [readonly]="readonly" />
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<mat-form-field>
|
||||
<mat-label>Yield Duration</mat-label>
|
||||
<mat-label>
|
||||
Yield Duration
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="When communication with this remote process group fails, it will not be scheduled again until this amount of time elapses."></i>
|
||||
</mat-label>
|
||||
<input matInput formControlName="yieldDuration" type="text" [readonly]="readonly" />
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
|
|
@ -31,6 +31,7 @@ import { TextTip } from '../../../../../../../ui/common/tooltips/text-tip/text-t
|
|||
import { EditComponentDialogRequest } from '../../../../../state/flow';
|
||||
import { ErrorBanner } from '../../../../../../../ui/common/error-banner/error-banner.component';
|
||||
import { CanvasUtils } from '../../../../../service/canvas-utils.service';
|
||||
import { NifiTooltipDirective } from '../../../../../../../ui/common/tooltips/nifi-tooltip.directive';
|
||||
|
||||
@Component({
|
||||
standalone: true,
|
||||
|
@ -46,7 +47,8 @@ import { CanvasUtils } from '../../../../../service/canvas-utils.service';
|
|||
AsyncPipe,
|
||||
NifiSpinnerDirective,
|
||||
FormsModule,
|
||||
ErrorBanner
|
||||
ErrorBanner,
|
||||
NifiTooltipDirective
|
||||
],
|
||||
styleUrls: ['./edit-remote-process-group.component.scss']
|
||||
})
|
||||
|
|
|
@ -31,7 +31,14 @@
|
|||
</div>
|
||||
<div>
|
||||
<mat-form-field>
|
||||
<mat-label>Concurrent Tasks</mat-label>
|
||||
<mat-label>
|
||||
Concurrent Tasks
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="The number of tasks that should be concurrently scheduled for this port."></i>
|
||||
</mat-label>
|
||||
<input matInput formControlName="concurrentTasks" type="text" />
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
@ -41,19 +48,40 @@
|
|||
</div>
|
||||
<div>
|
||||
<mat-form-field>
|
||||
<mat-label>Batch Count</mat-label>
|
||||
<mat-label>
|
||||
Batch Count
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="The preferred number of flow files to include in a transaction for this port."></i>
|
||||
</mat-label>
|
||||
<input matInput formControlName="count" type="text" />
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div>
|
||||
<mat-form-field>
|
||||
<mat-label>Batch Size</mat-label>
|
||||
<mat-label>
|
||||
Batch Size
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="The preferred number of bytes to include in a transaction for this port."></i>
|
||||
</mat-label>
|
||||
<input matInput formControlName="size" type="text" />
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div>
|
||||
<mat-form-field>
|
||||
<mat-label>Batch Duration</mat-label>
|
||||
<mat-label>
|
||||
Batch Duration
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="The preferred amount of time that a transaction should span for this port."></i>
|
||||
</mat-label>
|
||||
<input matInput formControlName="duration" type="text" />
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
|
|
@ -32,6 +32,8 @@ import { ComponentType } from '../../../../../state/shared';
|
|||
import { PortSummary } from '../../../state/manage-remote-ports';
|
||||
import { configureRemotePort } from '../../../state/manage-remote-ports/manage-remote-ports.actions';
|
||||
import { ClusterConnectionService } from '../../../../../service/cluster-connection.service';
|
||||
import { TextTip } from '../../../../../ui/common/tooltips/text-tip/text-tip.component';
|
||||
import { NifiTooltipDirective } from '../../../../../ui/common/tooltips/nifi-tooltip.directive';
|
||||
|
||||
@Component({
|
||||
standalone: true,
|
||||
|
@ -44,7 +46,8 @@ import { ClusterConnectionService } from '../../../../../service/cluster-connect
|
|||
MatCheckboxModule,
|
||||
MatButtonModule,
|
||||
AsyncPipe,
|
||||
NifiSpinnerDirective
|
||||
NifiSpinnerDirective,
|
||||
NifiTooltipDirective
|
||||
],
|
||||
styleUrls: ['./edit-remote-port.component.scss']
|
||||
})
|
||||
|
@ -106,4 +109,6 @@ export class EditRemotePortComponent {
|
|||
})
|
||||
);
|
||||
}
|
||||
|
||||
protected readonly TextTip = TextTip;
|
||||
}
|
||||
|
|
|
@ -72,7 +72,7 @@
|
|||
nifiTooltip
|
||||
[delayClose]="false"
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getCommentsTipData(item)"></div>
|
||||
[tooltipInputData]="item.comments"></div>
|
||||
}
|
||||
@if (portExists(item)) {
|
||||
<div
|
||||
|
@ -80,7 +80,7 @@
|
|||
nifiTooltip
|
||||
[delayClose]="false"
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getDisconnectedTipData()"></div>
|
||||
tooltipInputData="This port has been removed."></div>
|
||||
}
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
@ -39,7 +39,7 @@ import {
|
|||
stopRemotePortTransmission
|
||||
} from '../../state/manage-remote-ports/manage-remote-ports.actions';
|
||||
import { initialState } from '../../state/manage-remote-ports/manage-remote-ports.reducer';
|
||||
import { isDefinedAndNotNull, TextTipInput } from '../../../../state/shared';
|
||||
import { isDefinedAndNotNull } from '../../../../state/shared';
|
||||
import { selectCurrentUser } from '../../../../state/current-user/current-user.selectors';
|
||||
import { NiFiState } from '../../../../state';
|
||||
import { NiFiCommon } from '../../../../service/nifi-common.service';
|
||||
|
@ -252,18 +252,6 @@ export class ManageRemotePorts implements OnInit, OnDestroy {
|
|||
return !entity.exists;
|
||||
}
|
||||
|
||||
getCommentsTipData(entity: PortSummary): TextTipInput {
|
||||
return {
|
||||
text: entity.comments
|
||||
};
|
||||
}
|
||||
|
||||
getDisconnectedTipData(): TextTipInput {
|
||||
return {
|
||||
text: 'This port has been removed.'
|
||||
};
|
||||
}
|
||||
|
||||
toggleTransmission(port: PortSummary): void {
|
||||
if (this.currentRpg) {
|
||||
if (port.transmitting) {
|
||||
|
|
|
@ -61,7 +61,14 @@
|
|||
}
|
||||
</div>
|
||||
<div class="flex-1 flex flex-col">
|
||||
<div>Referencing Components</div>
|
||||
<div>
|
||||
Referencing Components
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Components referencing the modified parameters grouped by process group."></i>
|
||||
</div>
|
||||
<div class="relative h-full border">
|
||||
<div class="absolute inset-0 overflow-y-auto p-1">
|
||||
<parameter-references
|
||||
|
@ -119,7 +126,14 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="flex flex-col w-full">
|
||||
<div>Referencing Components</div>
|
||||
<div>
|
||||
Referencing Components
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Other components referencing this parameter context."></i>
|
||||
</div>
|
||||
<div class="relative h-full border">
|
||||
<div class="absolute inset-0 overflow-y-auto p-1">
|
||||
<process-group-references
|
||||
|
|
|
@ -42,6 +42,8 @@ import { ParameterReferences } from '../../../../../ui/common/parameter-referenc
|
|||
import { RouterLink } from '@angular/router';
|
||||
import { ErrorBanner } from '../../../../../ui/common/error-banner/error-banner.component';
|
||||
import { ClusterConnectionService } from '../../../../../service/cluster-connection.service';
|
||||
import { TextTip } from '../../../../../ui/common/tooltips/text-tip/text-tip.component';
|
||||
import { NifiTooltipDirective } from '../../../../../ui/common/tooltips/nifi-tooltip.directive';
|
||||
|
||||
@Component({
|
||||
selector: 'edit-parameter-context',
|
||||
|
@ -64,7 +66,8 @@ import { ClusterConnectionService } from '../../../../../service/cluster-connect
|
|||
ParameterContextInheritance,
|
||||
ParameterReferences,
|
||||
RouterLink,
|
||||
ErrorBanner
|
||||
ErrorBanner,
|
||||
NifiTooltipDirective
|
||||
],
|
||||
styleUrls: ['./edit-parameter-context.component.scss']
|
||||
})
|
||||
|
@ -181,4 +184,6 @@ export class EditParameterContext {
|
|||
getParameterProviderLink(parameterProvider: ParameterProviderConfiguration): string[] {
|
||||
return ['/settings', 'parameter-providers', parameterProvider.parameterProviderId];
|
||||
}
|
||||
|
||||
protected readonly TextTip = TextTip;
|
||||
}
|
||||
|
|
|
@ -17,7 +17,14 @@
|
|||
|
||||
<div class="parameter-context-inheritance flex gap-x-4" cdkDropListGroup>
|
||||
<div class="flex flex-col w-full">
|
||||
<div>Available Parameter Contexts</div>
|
||||
<div>
|
||||
Available Parameter Contexts
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Available Parameter Contexts that could be inherited from."></i>
|
||||
</div>
|
||||
<div
|
||||
class="parameter-context-inheritance-list border"
|
||||
cdkDropList
|
||||
|
@ -43,7 +50,14 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="flex flex-col w-full">
|
||||
<div>Selected Parameter Contexts</div>
|
||||
<div>
|
||||
Selected Parameter Contexts
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Parameter Contexts selected for inheritance. Multiple selected Parameter Contexts will be considered in order from top to bottom."></i>
|
||||
</div>
|
||||
<div
|
||||
class="parameter-context-inheritance-list border"
|
||||
cdkDropList
|
||||
|
@ -71,11 +85,11 @@
|
|||
<div class="flex gap-x-3 items-center">
|
||||
<div>{{ item.component.name }}</div>
|
||||
@if (hasDescription(item)) {
|
||||
<div
|
||||
class="fa fa-question-circle primary-color"
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getDescriptionTipData(item)"></div>
|
||||
[tooltipInputData]="item.component.description"></i>
|
||||
}
|
||||
</div>
|
||||
@if (canClose) {
|
||||
|
|
|
@ -24,7 +24,7 @@ import { AsyncPipe, NgTemplateOutlet } from '@angular/common';
|
|||
import { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
|
||||
import { RouterLink } from '@angular/router';
|
||||
import { NiFiCommon } from '../../../../../service/nifi-common.service';
|
||||
import { ParameterContextReferenceEntity, TextTipInput } from '../../../../../state/shared';
|
||||
import { ParameterContextReferenceEntity } from '../../../../../state/shared';
|
||||
import { NifiTooltipDirective } from '../../../../../ui/common/tooltips/nifi-tooltip.directive';
|
||||
import { TextTip } from '../../../../../ui/common/tooltips/text-tip/text-tip.component';
|
||||
import { ParameterReferences } from '../../../../../ui/common/parameter-references/parameter-references.component';
|
||||
|
@ -127,12 +127,6 @@ export class ParameterContextInheritance implements ControlValueAccessor {
|
|||
return !this.nifiCommon.isBlank(entity.component.description);
|
||||
}
|
||||
|
||||
getDescriptionTipData(entity: ParameterContextEntity): TextTipInput {
|
||||
return {
|
||||
text: entity.component.description
|
||||
};
|
||||
}
|
||||
|
||||
removeSelected(entity: ParameterContextEntity, i: number): void {
|
||||
transferArrayItem(
|
||||
this.selectedParameterContexts,
|
||||
|
|
|
@ -36,11 +36,11 @@
|
|||
{{ item.entity.parameter.name }}
|
||||
</div>
|
||||
@if (hasDescription(item)) {
|
||||
<div
|
||||
class="fa fa-question-circle primary-color"
|
||||
<i
|
||||
class="fa fa-info-circle primary-color"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getDescriptionTipData(item)"></div>
|
||||
[tooltipInputData]="item.entity.parameter.description"></i>
|
||||
}
|
||||
</div>
|
||||
</td>
|
||||
|
@ -81,7 +81,7 @@
|
|||
class="fa fa-info primary-color"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getExtraWhitespaceTipData()"></div>
|
||||
tooltipInputData="The specified value contains leading and/or trailing whitespace character(s). This could produce unexpected results if it was not intentional."></div>
|
||||
}
|
||||
</div>
|
||||
</ng-template>
|
||||
|
@ -140,7 +140,14 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="flex-1 flex flex-col">
|
||||
<div>Referencing Components</div>
|
||||
<div>
|
||||
Referencing Components
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Components referencing this parameter grouped by process group."></i>
|
||||
</div>
|
||||
<div class="relative h-full border">
|
||||
<div class="absolute inset-0 overflow-y-auto p-1">
|
||||
@if (selectedItem) {
|
||||
|
|
|
@ -24,7 +24,7 @@ import { AsyncPipe, NgTemplateOutlet } from '@angular/common';
|
|||
import { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
|
||||
import { RouterLink } from '@angular/router';
|
||||
import { NiFiCommon } from '../../../../../service/nifi-common.service';
|
||||
import { Parameter, ParameterEntity, TextTipInput } from '../../../../../state/shared';
|
||||
import { Parameter, ParameterEntity } from '../../../../../state/shared';
|
||||
import { NifiTooltipDirective } from '../../../../../ui/common/tooltips/nifi-tooltip.directive';
|
||||
import { TextTip } from '../../../../../ui/common/tooltips/text-tip/text-tip.component';
|
||||
import { Observable, take } from 'rxjs';
|
||||
|
@ -200,12 +200,6 @@ export class ParameterTable implements AfterViewInit, ControlValueAccessor {
|
|||
return !this.nifiCommon.isBlank(item.entity.parameter.description);
|
||||
}
|
||||
|
||||
getDescriptionTipData(item: ParameterItem): TextTipInput {
|
||||
return {
|
||||
text: item.entity.parameter.description
|
||||
};
|
||||
}
|
||||
|
||||
isSensitiveParameter(item: ParameterItem): boolean {
|
||||
return item.entity.parameter.sensitive;
|
||||
}
|
||||
|
@ -222,12 +216,6 @@ export class ParameterTable implements AfterViewInit, ControlValueAccessor {
|
|||
return this.nifiCommon.hasLeadTrailWhitespace(value);
|
||||
}
|
||||
|
||||
getExtraWhitespaceTipData(): TextTipInput {
|
||||
return {
|
||||
text: 'The specified value contains leading and/or trailing whitespace character(s). This could produce unexpected results if it was not intentional.'
|
||||
};
|
||||
}
|
||||
|
||||
canGoToParameter(item: ParameterItem): boolean {
|
||||
return (
|
||||
item.entity.parameter.inherited == true &&
|
||||
|
|
|
@ -37,8 +37,16 @@
|
|||
<mat-form-field>
|
||||
<mat-label>Date Range</mat-label>
|
||||
<mat-date-range-input [rangePicker]="picker">
|
||||
<input matStartDate formControlName="startDate" placeholder="Start date" />
|
||||
<input matEndDate formControlName="endDate" placeholder="End date" />
|
||||
<input
|
||||
matStartDate
|
||||
formControlName="startDate"
|
||||
placeholder="Start date"
|
||||
title="The start date in the format 'mm/dd/yyyy'. Must also specify start time." />
|
||||
<input
|
||||
matEndDate
|
||||
formControlName="endDate"
|
||||
placeholder="End date"
|
||||
title="The end date in the format 'mm/dd/yyyy'. Must also specify end time." />
|
||||
</mat-date-range-input>
|
||||
<mat-datepicker-toggle matIconSuffix [for]="picker"></mat-datepicker-toggle>
|
||||
<mat-date-range-picker #picker></mat-date-range-picker>
|
||||
|
@ -47,20 +55,46 @@
|
|||
<div class="w-full flex flex-col">
|
||||
<mat-form-field>
|
||||
<mat-label>Start Time ({{ timezone }})</mat-label>
|
||||
<input matInput type="time" step="1" formControlName="startTime" />
|
||||
<input
|
||||
matInput
|
||||
type="time"
|
||||
step="1"
|
||||
formControlName="startTime"
|
||||
placeholder="hh:mm:ss"
|
||||
title="The start time in the format 'hh:mm:ss'. Must also specify start date." />
|
||||
</mat-form-field>
|
||||
<mat-form-field>
|
||||
<mat-label>Minimum File Size</mat-label>
|
||||
<mat-label>
|
||||
Minimum File Size
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="The minimum file size (e.g. 2 KB)."></i>
|
||||
</mat-label>
|
||||
<input matInput type="text" formControlName="minFileSize" />
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div class="w-full flex flex-col">
|
||||
<mat-form-field>
|
||||
<mat-label>End Time ({{ timezone }})</mat-label>
|
||||
<input matInput type="time" step="1" formControlName="endTime" />
|
||||
<input
|
||||
matInput
|
||||
type="time"
|
||||
step="1"
|
||||
formControlName="endTime"
|
||||
placeholder="hh:mm:ss"
|
||||
title="The end time in the format 'hh:mm:ss'. Must also specify end date." />
|
||||
</mat-form-field>
|
||||
<mat-form-field>
|
||||
<mat-label>Maximum File Size</mat-label>
|
||||
<mat-label>
|
||||
Maximum File Size
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="The maximum file size (e.g. 4 GB)."></i>
|
||||
</mat-label>
|
||||
<input matInput type="text" formControlName="maxFileSize" />
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
|
|
@ -58,7 +58,14 @@
|
|||
<div class="flex flex-col w-full">
|
||||
<div>
|
||||
<mat-form-field>
|
||||
<mat-label>Enforcement Policy</mat-label>
|
||||
<mat-label>
|
||||
Enforcement Policy
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="The enforcement policy of the flow analysis rule."></i>
|
||||
</mat-label>
|
||||
<mat-select formControlName="enforcementPolicy">
|
||||
@for (option of strategies; track option) {
|
||||
<mat-option
|
||||
|
@ -66,7 +73,7 @@
|
|||
[disabled]="readonly"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getPropertyTipData(option)"
|
||||
[tooltipInputData]="option.description"
|
||||
[delayClose]="false">
|
||||
{{ option.text }}
|
||||
</mat-option>
|
||||
|
|
|
@ -31,8 +31,7 @@ import {
|
|||
InlineServiceCreationRequest,
|
||||
InlineServiceCreationResponse,
|
||||
Property,
|
||||
SelectOption,
|
||||
TextTipInput
|
||||
SelectOption
|
||||
} from '../../../../../state/shared';
|
||||
import { NiFiCommon } from '../../../../../service/nifi-common.service';
|
||||
import { PropertyTable } from '../../../../../ui/common/property-table/property-table.component';
|
||||
|
@ -157,12 +156,5 @@ export class EditFlowAnalysisRule {
|
|||
});
|
||||
}
|
||||
|
||||
getPropertyTipData(option: SelectOption): TextTipInput {
|
||||
return {
|
||||
// @ts-ignore
|
||||
text: option.description
|
||||
};
|
||||
}
|
||||
|
||||
protected readonly TextTip = TextTip;
|
||||
}
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
[delayClose]="false"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getCommentsTipData(item)"></div>
|
||||
[tooltipInputData]="item.component.comments"></div>
|
||||
}
|
||||
@if (hasErrors(item)) {
|
||||
<div
|
||||
|
|
|
@ -27,7 +27,7 @@ import { TextTip } from '../../../../../ui/common/tooltips/text-tip/text-tip.com
|
|||
import { BulletinsTip } from '../../../../../ui/common/tooltips/bulletins-tip/bulletins-tip.component';
|
||||
import { ValidationErrorsTip } from '../../../../../ui/common/tooltips/validation-errors-tip/validation-errors-tip.component';
|
||||
import { NiFiCommon } from '../../../../../service/nifi-common.service';
|
||||
import { BulletinsTipInput, TextTipInput, ValidationErrorsTipInput } from '../../../../../state/shared';
|
||||
import { BulletinsTipInput, ValidationErrorsTipInput } from '../../../../../state/shared';
|
||||
import { NifiTooltipDirective } from '../../../../../ui/common/tooltips/nifi-tooltip.directive';
|
||||
import { ReportingTaskEntity } from '../../../state/reporting-tasks';
|
||||
import { CurrentUser } from '../../../../../state/current-user';
|
||||
|
@ -137,12 +137,6 @@ export class FlowAnalysisRuleTable {
|
|||
return !this.nifiCommon.isBlank(entity.component.comments);
|
||||
}
|
||||
|
||||
getCommentsTipData(entity: FlowAnalysisRuleEntity): TextTipInput {
|
||||
return {
|
||||
text: entity.component.comments
|
||||
};
|
||||
}
|
||||
|
||||
hasErrors(entity: FlowAnalysisRuleEntity): boolean {
|
||||
return !this.nifiCommon.isEmpty(entity.component.validationErrors);
|
||||
}
|
||||
|
|
|
@ -20,7 +20,14 @@
|
|||
<form [formGroup]="controllerForm">
|
||||
<div>
|
||||
<mat-form-field>
|
||||
<mat-label>Maximum Timer Driven Thread Count</mat-label>
|
||||
<mat-label>
|
||||
Maximum Timer Driven Thread Count
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="The maximum number of threads for timer driven processors available to the system."></i>
|
||||
</mat-label>
|
||||
<input
|
||||
matInput
|
||||
formControlName="timerDrivenThreadCount"
|
||||
|
|
|
@ -24,6 +24,7 @@ import { Client } from '../../../../../service/client.service';
|
|||
import { selectCurrentUser } from '../../../../../state/current-user/current-user.selectors';
|
||||
import { selectSaving } from '../../../state/general/general.selectors';
|
||||
import { ClusterConnectionService } from '../../../../../service/cluster-connection.service';
|
||||
import { TextTip } from '../../../../../ui/common/tooltips/text-tip/text-tip.component';
|
||||
|
||||
@Component({
|
||||
selector: 'general-form',
|
||||
|
@ -67,4 +68,6 @@ export class GeneralForm {
|
|||
|
||||
this.store.dispatch(updateControllerConfig({ request: payload }));
|
||||
}
|
||||
|
||||
protected readonly TextTip = TextTip;
|
||||
}
|
||||
|
|
|
@ -25,6 +25,7 @@ import { MatInputModule } from '@angular/material/input';
|
|||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
|
||||
import { NifiSpinnerDirective } from '../../../../ui/common/spinner/nifi-spinner.directive';
|
||||
import { NifiTooltipDirective } from '../../../../ui/common/tooltips/nifi-tooltip.directive';
|
||||
|
||||
@NgModule({
|
||||
declarations: [General, GeneralForm],
|
||||
|
@ -37,7 +38,8 @@ import { NifiSpinnerDirective } from '../../../../ui/common/spinner/nifi-spinner
|
|||
MatInputModule,
|
||||
MatButtonModule,
|
||||
NgxSkeletonLoaderModule,
|
||||
NifiSpinnerDirective
|
||||
NifiSpinnerDirective,
|
||||
NifiTooltipDirective
|
||||
]
|
||||
})
|
||||
export class GeneralModule {}
|
||||
|
|
|
@ -56,7 +56,14 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="flex flex-col w-full">
|
||||
<div>Referencing Components</div>
|
||||
<div>
|
||||
Referencing Components
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Other components referencing this parameter provider."></i>
|
||||
</div>
|
||||
<div class="relative h-full border">
|
||||
<div class="absolute inset-0 overflow-y-auto p-1">
|
||||
<parameter-provider-references
|
||||
|
|
|
@ -44,6 +44,8 @@ import { PropertyTable } from '../../../../../ui/common/property-table/property-
|
|||
import { ErrorBanner } from '../../../../../ui/common/error-banner/error-banner.component';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { ClusterConnectionService } from '../../../../../service/cluster-connection.service';
|
||||
import { TextTip } from '../../../../../ui/common/tooltips/text-tip/text-tip.component';
|
||||
import { NifiTooltipDirective } from '../../../../../ui/common/tooltips/nifi-tooltip.directive';
|
||||
|
||||
@Component({
|
||||
selector: 'edit-parameter-provider',
|
||||
|
@ -60,7 +62,8 @@ import { ClusterConnectionService } from '../../../../../service/cluster-connect
|
|||
ParameterProviderReferences,
|
||||
PropertyTable,
|
||||
ErrorBanner,
|
||||
CommonModule
|
||||
CommonModule,
|
||||
NifiTooltipDirective
|
||||
],
|
||||
templateUrl: './edit-parameter-provider.component.html',
|
||||
styleUrls: ['./edit-parameter-provider.component.scss']
|
||||
|
@ -146,4 +149,6 @@ export class EditParameterProvider {
|
|||
this.goToReferencingParameterContext(parameterContextReference.component?.id);
|
||||
}
|
||||
}
|
||||
|
||||
protected readonly TextTip = TextTip;
|
||||
}
|
||||
|
|
|
@ -65,8 +65,10 @@
|
|||
<div class="flex flex-row items-center gap-x-2">
|
||||
Parameter Contexts To Create
|
||||
<i
|
||||
class="fa fa-question-circle primary-color"
|
||||
title="Parameter groups set to be created as parameter contexts, pending apply."></i>
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Parameter groups set to be created as parameter contexts, pending apply."></i>
|
||||
</div>
|
||||
<div
|
||||
*ngIf="Object.keys(parameterContextsToCreate).length > 0; else none"
|
||||
|
@ -78,8 +80,10 @@
|
|||
<div class="flex flex-row items-center gap-x-2">
|
||||
Parameter Contexts To Update
|
||||
<i
|
||||
class="fa fa-question-circle primary-color"
|
||||
title="Synced parameter contexts to be updated, pending apply."></i>
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Synced parameter contexts to be updated, pending apply."></i>
|
||||
</div>
|
||||
<div
|
||||
*ngIf="parameterContextsToUpdate.length > 0; else none"
|
||||
|
@ -91,8 +95,10 @@
|
|||
<div class="flex flex-row items-center gap-x-2">
|
||||
Affected Referencing Components
|
||||
<i
|
||||
class="fa fa-question-circle primary-color"
|
||||
title="Affected components referencing this parameter provider."></i>
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Affected components referencing this parameter provider."></i>
|
||||
</div>
|
||||
<div class="relative h-full border">
|
||||
<div class="absolute inset-0 overflow-y-auto p-1">
|
||||
|
@ -127,8 +133,10 @@
|
|||
<div class="flex flex-row items-center gap-x-2">
|
||||
Select To Configure a Parameter Group
|
||||
<i
|
||||
class="fa fa-question-circle primary-color"
|
||||
title="Discovered parameter groups from this parameter provider. Select a group to create a parameter context, then configure its parameter sensitivities."></i>
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Discovered parameter groups from this parameter provider. Select a group to create a parameter context, then configure its parameter sensitivities."></i>
|
||||
</div>
|
||||
<div class="flex-1">
|
||||
<parameter-groups-table
|
||||
|
@ -187,8 +195,10 @@
|
|||
<div class="flex items-center gap-x-2">
|
||||
Fetched Parameters
|
||||
<i
|
||||
class="fa fa-question-circle primary-color"
|
||||
title="Discovered parameters from the selected parameter group."></i>
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Discovered parameters from the selected parameter group."></i>
|
||||
</div>
|
||||
<ul class="flex-1 overflow-y-auto border px-2">
|
||||
<li
|
||||
|
@ -209,8 +219,10 @@
|
|||
<div class="flex flex-row items-center gap-x-2">
|
||||
Select Parameters To Be Set As Sensitive
|
||||
<i
|
||||
class="fa fa-question-circle primary-color"
|
||||
title="Only parameters that are not referenced can be modified."></i>
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Only parameters that are not referenced can be modified."></i>
|
||||
</div>
|
||||
|
||||
<div class="flex-1 relative">
|
||||
|
@ -289,8 +301,10 @@
|
|||
<div class="flex flex-row items-center gap-x-2">
|
||||
Parameter Contexts To Create
|
||||
<i
|
||||
class="fa fa-question-circle primary-color"
|
||||
title="Parameter groups set to be created as parameter contexts, pending apply."></i>
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Parameter groups set to be created as parameter contexts, pending apply."></i>
|
||||
</div>
|
||||
<div
|
||||
*ngIf="Object.keys(parameterContextsToCreate).length > 0; else none"
|
||||
|
@ -302,8 +316,10 @@
|
|||
<div class="flex flex-row items-center gap-x-2">
|
||||
Parameter Contexts To Update
|
||||
<i
|
||||
class="fa fa-question-circle primary-color"
|
||||
title="Synced parameter contexts to be updated, pending apply."></i>
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Synced parameter contexts to be updated, pending apply."></i>
|
||||
</div>
|
||||
<div
|
||||
*ngIf="parameterContextsToUpdate.length > 0; else none"
|
||||
|
@ -315,8 +331,10 @@
|
|||
<div class="flex flex-row items-center gap-x-2">
|
||||
Referencing Components
|
||||
<i
|
||||
class="fa fa-question-circle primary-color"
|
||||
title="Components referencing this selected parameter."></i>
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Components referencing this selected parameter."></i>
|
||||
</div>
|
||||
<div class="relative h-full border">
|
||||
<div class="absolute inset-0 overflow-y-auto p-1">
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
[value]="option.type"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getOptionTipData(option)"
|
||||
[tooltipInputData]="option.description"
|
||||
[delayClose]="false">
|
||||
{{ formatType(option) }}
|
||||
</mat-option>
|
||||
|
|
|
@ -23,7 +23,7 @@ import { MatCheckboxModule } from '@angular/material/checkbox';
|
|||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { AsyncPipe } from '@angular/common';
|
||||
import { Observable } from 'rxjs';
|
||||
import { DocumentedType, TextTipInput } from '../../../../../state/shared';
|
||||
import { DocumentedType } from '../../../../../state/shared';
|
||||
import { CreateRegistryClientDialogRequest, CreateRegistryClientRequest } from '../../../state/registry-clients';
|
||||
import { NifiSpinnerDirective } from '../../../../../ui/common/spinner/nifi-spinner.directive';
|
||||
import { Client } from '../../../../../service/client.service';
|
||||
|
@ -83,13 +83,6 @@ export class CreateRegistryClient {
|
|||
return this.nifiCommon.substringAfterLast(option.type, '.');
|
||||
}
|
||||
|
||||
getOptionTipData(option: DocumentedType): TextTipInput {
|
||||
return {
|
||||
// @ts-ignore
|
||||
text: option.description
|
||||
};
|
||||
}
|
||||
|
||||
createRegistryClientClicked() {
|
||||
const request: CreateRegistryClientRequest = {
|
||||
revision: {
|
||||
|
|
|
@ -63,7 +63,14 @@
|
|||
<div class="flex flex-col w-full">
|
||||
<div>
|
||||
<mat-form-field>
|
||||
<mat-label>Scheduling Strategy</mat-label>
|
||||
<mat-label>
|
||||
Scheduling Strategy
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="The strategy used to schedule this reporting task."></i>
|
||||
</mat-label>
|
||||
<mat-select
|
||||
formControlName="schedulingStrategy"
|
||||
(selectionChange)="schedulingStrategyChanged($event.value)">
|
||||
|
@ -73,7 +80,7 @@
|
|||
[disabled]="readonly"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getPropertyTipData(option)"
|
||||
[tooltipInputData]="option.description"
|
||||
[delayClose]="false">
|
||||
{{ option.text }}
|
||||
</mat-option>
|
||||
|
@ -83,7 +90,14 @@
|
|||
</div>
|
||||
<div>
|
||||
<mat-form-field>
|
||||
<mat-label>Run Schedule</mat-label>
|
||||
<mat-label>
|
||||
Run Schedule
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="The amount of time that should elapse between task executions."></i>
|
||||
</mat-label>
|
||||
<input
|
||||
matInput
|
||||
formControlName="schedulingPeriod"
|
||||
|
|
|
@ -33,8 +33,7 @@ import {
|
|||
InlineServiceCreationRequest,
|
||||
InlineServiceCreationResponse,
|
||||
Property,
|
||||
SelectOption,
|
||||
TextTipInput
|
||||
SelectOption
|
||||
} from '../../../../../state/shared';
|
||||
import { NiFiCommon } from '../../../../../service/nifi-common.service';
|
||||
import { PropertyTable } from '../../../../../ui/common/property-table/property-table.component';
|
||||
|
@ -197,13 +196,6 @@ export class EditReportingTask {
|
|||
});
|
||||
}
|
||||
|
||||
getPropertyTipData(option: SelectOption): TextTipInput {
|
||||
return {
|
||||
// @ts-ignore
|
||||
text: option.description
|
||||
};
|
||||
}
|
||||
|
||||
schedulingStrategyChanged(value: string): void {
|
||||
this.schedulingStrategy = value;
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
[delayClose]="false"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getCommentsTipData(item)"></div>
|
||||
[tooltipInputData]="item.component.comments"></div>
|
||||
}
|
||||
@if (hasErrors(item)) {
|
||||
<div
|
||||
|
|
|
@ -23,7 +23,7 @@ import { TextTip } from '../../../../../ui/common/tooltips/text-tip/text-tip.com
|
|||
import { BulletinsTip } from '../../../../../ui/common/tooltips/bulletins-tip/bulletins-tip.component';
|
||||
import { ValidationErrorsTip } from '../../../../../ui/common/tooltips/validation-errors-tip/validation-errors-tip.component';
|
||||
import { NiFiCommon } from '../../../../../service/nifi-common.service';
|
||||
import { BulletinsTipInput, TextTipInput, ValidationErrorsTipInput } from '../../../../../state/shared';
|
||||
import { BulletinsTipInput, ValidationErrorsTipInput } from '../../../../../state/shared';
|
||||
import { FlowConfiguration } from '../../../../../state/flow-configuration';
|
||||
import { CurrentUser } from '../../../../../state/current-user';
|
||||
|
||||
|
@ -92,12 +92,6 @@ export class ReportingTaskTable {
|
|||
return !this.nifiCommon.isBlank(entity.component.comments);
|
||||
}
|
||||
|
||||
getCommentsTipData(entity: ReportingTaskEntity): TextTipInput {
|
||||
return {
|
||||
text: entity.component.comments
|
||||
};
|
||||
}
|
||||
|
||||
hasErrors(entity: ReportingTaskEntity): boolean {
|
||||
return !this.nifiCommon.isEmpty(entity.component.validationErrors);
|
||||
}
|
||||
|
|
|
@ -224,10 +224,6 @@ export interface ComponentHistoryEntity {
|
|||
componentHistory: ComponentHistory;
|
||||
}
|
||||
|
||||
export interface TextTipInput {
|
||||
text: string;
|
||||
}
|
||||
|
||||
export interface UnorderedListTipInput {
|
||||
items: string[];
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
nifiTooltip
|
||||
[delayClose]="false"
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getCommentsTipData(item)"></div>
|
||||
[tooltipInputData]="item.component.comments"></div>
|
||||
}
|
||||
@if (hasErrors(item)) {
|
||||
<div
|
||||
|
|
|
@ -22,12 +22,7 @@ import { MatTableDataSource, MatTableModule } from '@angular/material/table';
|
|||
import { NiFiCommon } from '../../../../service/nifi-common.service';
|
||||
import { MatSortModule, Sort } from '@angular/material/sort';
|
||||
import { NgClass } from '@angular/common';
|
||||
import {
|
||||
BulletinsTipInput,
|
||||
ControllerServiceEntity,
|
||||
TextTipInput,
|
||||
ValidationErrorsTipInput
|
||||
} from '../../../../state/shared';
|
||||
import { BulletinsTipInput, ControllerServiceEntity, ValidationErrorsTipInput } from '../../../../state/shared';
|
||||
import { NifiTooltipDirective } from '../../tooltips/nifi-tooltip.directive';
|
||||
import { TextTip } from '../../tooltips/text-tip/text-tip.component';
|
||||
import { BulletinsTip } from '../../tooltips/bulletins-tip/bulletins-tip.component';
|
||||
|
@ -116,12 +111,6 @@ export class ControllerServiceTable {
|
|||
return !this.nifiCommon.isBlank(entity.component.comments);
|
||||
}
|
||||
|
||||
getCommentsTipData(entity: ControllerServiceEntity): TextTipInput {
|
||||
return {
|
||||
text: entity.component.comments
|
||||
};
|
||||
}
|
||||
|
||||
viewDocumentationClicked(entity: ControllerServiceEntity, event: MouseEvent): void {
|
||||
event.stopPropagation();
|
||||
this.viewControllerServiceDocumentation.next(entity);
|
||||
|
|
|
@ -33,11 +33,25 @@
|
|||
</div>
|
||||
<div class="flex flex-col">
|
||||
<div>Scope</div>
|
||||
<div class="accent-color font-medium">Service and referencing components</div>
|
||||
<div>
|
||||
<span class="accent-color font-medium">Service and referencing components</span>
|
||||
<i
|
||||
class="fa fa-info-circle ml-1"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Referencing components must be disabled/stopped in order to disable this service."></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex basis-1/3 flex-col">
|
||||
<div>Referencing Components</div>
|
||||
<div>
|
||||
Referencing Components
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Other components referencing this controller service."></i>
|
||||
</div>
|
||||
<div class="relative h-full border" style="min-height: 320px">
|
||||
<div class="absolute inset-0 overflow-y-auto p-1">
|
||||
<controller-service-references
|
||||
|
@ -132,7 +146,14 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="flex basis-1/3 flex-col">
|
||||
<div>Referencing Components</div>
|
||||
<div>
|
||||
Referencing Components
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Other components referencing this controller service."></i>
|
||||
</div>
|
||||
<div class="relative h-full border" style="min-height: 320px">
|
||||
<div class="absolute inset-0 overflow-y-auto p-1">
|
||||
<controller-service-references
|
||||
|
|
|
@ -75,7 +75,14 @@
|
|||
</div>
|
||||
<div>
|
||||
<mat-form-field>
|
||||
<mat-label>Bulletin Level</mat-label>
|
||||
<mat-label>
|
||||
Bulletin Level
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="The level at which this controller service will generate bulletins."></i>
|
||||
</mat-label>
|
||||
<mat-select formControlName="bulletinLevel">
|
||||
@for (option of bulletinLevels; track option) {
|
||||
<mat-option [value]="option.value" [disabled]="readonly">
|
||||
|
@ -87,7 +94,14 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="flex flex-col w-full">
|
||||
<div>Referencing Components</div>
|
||||
<div>
|
||||
Referencing Components
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Other components referencing this controller service."></i>
|
||||
</div>
|
||||
<div class="relative h-full border">
|
||||
<div class="absolute inset-0 overflow-y-auto p-1">
|
||||
<controller-service-references
|
||||
|
|
|
@ -45,6 +45,8 @@ import { ControllerServiceReferences } from '../controller-service-references/co
|
|||
import { NifiSpinnerDirective } from '../../spinner/nifi-spinner.directive';
|
||||
import { ErrorBanner } from '../../error-banner/error-banner.component';
|
||||
import { ClusterConnectionService } from '../../../../service/cluster-connection.service';
|
||||
import { TextTip } from '../../tooltips/text-tip/text-tip.component';
|
||||
import { NifiTooltipDirective } from '../../tooltips/nifi-tooltip.directive';
|
||||
|
||||
@Component({
|
||||
selector: 'edit-controller-service',
|
||||
|
@ -64,7 +66,8 @@ import { ClusterConnectionService } from '../../../../service/cluster-connection
|
|||
ControllerServiceReferences,
|
||||
AsyncPipe,
|
||||
NifiSpinnerDirective,
|
||||
ErrorBanner
|
||||
ErrorBanner,
|
||||
NifiTooltipDirective
|
||||
],
|
||||
styleUrls: ['./edit-controller-service.component.scss']
|
||||
})
|
||||
|
@ -172,4 +175,6 @@ export class EditControllerService {
|
|||
postUpdateNavigation
|
||||
});
|
||||
}
|
||||
|
||||
protected readonly TextTip = TextTip;
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
[value]="option.value"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getSelectOptionTipData(option)"
|
||||
[tooltipInputData]="option.description"
|
||||
[delayClose]="false">
|
||||
{{ option.text }}
|
||||
</mat-option>
|
||||
|
@ -50,7 +50,14 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="flex basis-1/3 flex-col">
|
||||
<div>Referencing Components</div>
|
||||
<div>
|
||||
Referencing Components
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Other components referencing this controller service."></i>
|
||||
</div>
|
||||
<div class="relative h-full border" style="min-height: 320px">
|
||||
<div class="absolute inset-0 overflow-y-auto p-1">
|
||||
<controller-service-references
|
||||
|
@ -153,7 +160,14 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="flex basis-1/3 flex-col">
|
||||
<div>Referencing Components</div>
|
||||
<div>
|
||||
Referencing Components
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Other components referencing this controller service."></i>
|
||||
</div>
|
||||
<div class="relative h-full border" style="min-height: 320px">
|
||||
<div class="absolute inset-0 overflow-y-auto p-1">
|
||||
<controller-service-references
|
||||
|
|
|
@ -21,8 +21,7 @@ import { FormBuilder, FormControl, FormGroup, ReactiveFormsModule, Validators }
|
|||
import {
|
||||
ControllerServiceReferencingComponent,
|
||||
SetEnableControllerServiceDialogRequest,
|
||||
SelectOption,
|
||||
TextTipInput
|
||||
SelectOption
|
||||
} from '../../../../state/shared';
|
||||
import { MatInputModule } from '@angular/material/input';
|
||||
import { MatCheckboxModule } from '@angular/material/checkbox';
|
||||
|
@ -114,13 +113,6 @@ export class EnableControllerService implements OnDestroy {
|
|||
);
|
||||
}
|
||||
|
||||
getSelectOptionTipData(option: SelectOption): TextTipInput {
|
||||
return {
|
||||
// @ts-ignore
|
||||
text: option.description
|
||||
};
|
||||
}
|
||||
|
||||
submitForm() {
|
||||
this.store.dispatch(
|
||||
submitEnableRequest({
|
||||
|
|
|
@ -29,7 +29,14 @@
|
|||
</div>
|
||||
<div>
|
||||
<mat-form-field>
|
||||
<mat-label>Value</mat-label>
|
||||
<mat-label>
|
||||
Value
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
tooltipInputData="Parameter values do not support Expression Language or embedded parameter references."></i>
|
||||
</mat-label>
|
||||
<textarea matInput formControlName="value" type="text"></textarea>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
|
|
@ -37,6 +37,8 @@ import { MatCheckboxModule } from '@angular/material/checkbox';
|
|||
import { NifiSpinnerDirective } from '../spinner/nifi-spinner.directive';
|
||||
import { AsyncPipe } from '@angular/common';
|
||||
import { Observable } from 'rxjs';
|
||||
import { TextTip } from '../tooltips/text-tip/text-tip.component';
|
||||
import { NifiTooltipDirective } from '../tooltips/nifi-tooltip.directive';
|
||||
|
||||
@Component({
|
||||
selector: 'edit-parameter-dialog',
|
||||
|
@ -51,7 +53,8 @@ import { Observable } from 'rxjs';
|
|||
MatRadioModule,
|
||||
MatCheckboxModule,
|
||||
NifiSpinnerDirective,
|
||||
AsyncPipe
|
||||
AsyncPipe,
|
||||
NifiTooltipDirective
|
||||
],
|
||||
templateUrl: './edit-parameter-dialog.component.html',
|
||||
styleUrls: ['./edit-parameter-dialog.component.scss']
|
||||
|
@ -167,4 +170,6 @@ export class EditParameterDialog {
|
|||
}
|
||||
});
|
||||
}
|
||||
|
||||
protected readonly TextTip = TextTip;
|
||||
}
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
(mousedown)="preventDrag($event)"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getAllowableValueOptionTipData(allowableValue)"
|
||||
[tooltipInputData]="allowableValue.description"
|
||||
[delayClose]="false">
|
||||
<span
|
||||
class="option-text"
|
||||
|
@ -81,7 +81,7 @@
|
|||
(mousedown)="preventDrag($event)"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getAllowableValueOptionTipData(parameterAllowableValue)"
|
||||
[tooltipInputData]="parameterAllowableValue.description"
|
||||
[delayClose]="false">
|
||||
<span
|
||||
class="option-text"
|
||||
|
|
|
@ -25,7 +25,7 @@ import { MatButtonModule } from '@angular/material/button';
|
|||
import { MatCheckboxModule } from '@angular/material/checkbox';
|
||||
import { NgForOf, NgIf, NgTemplateOutlet } from '@angular/common';
|
||||
import { NifiTooltipDirective } from '../../../tooltips/nifi-tooltip.directive';
|
||||
import { AllowableValue, Parameter, PropertyDescriptor, TextTipInput } from '../../../../../state/shared';
|
||||
import { AllowableValue, Parameter, PropertyDescriptor } from '../../../../../state/shared';
|
||||
import { MatOptionModule } from '@angular/material/core';
|
||||
import { MatSelectModule } from '@angular/material/select';
|
||||
import { MatTooltipModule } from '@angular/material/tooltip';
|
||||
|
@ -268,13 +268,6 @@ export class ComboEditor {
|
|||
return '';
|
||||
}
|
||||
|
||||
getAllowableValueOptionTipData(allowableValue: AllowableValue): TextTipInput {
|
||||
return {
|
||||
// @ts-ignore
|
||||
text: allowableValue.description
|
||||
};
|
||||
}
|
||||
|
||||
okClicked(): void {
|
||||
const valueControl: AbstractControl | null = this.comboEditorForm.get('value');
|
||||
if (valueControl) {
|
||||
|
|
|
@ -38,12 +38,12 @@
|
|||
<div>
|
||||
{{ item.descriptor.displayName }}
|
||||
</div>
|
||||
<div
|
||||
class="fa fa-question-circle primary-color"
|
||||
<i
|
||||
class="fa fa-info-circle primary-color"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="PropertyTip"
|
||||
[tooltipInputData]="getPropertyTipData(item)"
|
||||
[delayClose]="false"></div>
|
||||
[delayClose]="false"></i>
|
||||
</div>
|
||||
</td>
|
||||
</ng-container>
|
||||
|
@ -89,7 +89,7 @@
|
|||
class="fa fa-info primary-color"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getExtraWhitespaceTipData()"></div>
|
||||
tooltipInputData="The specified value contains leading and/or trailing whitespace character(s). This could produce unexpected results if it was not intentional."></div>
|
||||
}
|
||||
</div>
|
||||
</ng-template>
|
||||
|
|
|
@ -42,8 +42,7 @@ import {
|
|||
Property,
|
||||
PropertyDependency,
|
||||
PropertyDescriptor,
|
||||
PropertyTipInput,
|
||||
TextTipInput
|
||||
PropertyTipInput
|
||||
} from '../../../state/shared';
|
||||
import { NifiTooltipDirective } from '../tooltips/nifi-tooltip.directive';
|
||||
import { TextTip } from '../tooltips/text-tip/text-tip.component';
|
||||
|
@ -377,12 +376,6 @@ export class PropertyTable implements AfterViewInit, ControlValueAccessor {
|
|||
return this.nifiCommon.hasLeadTrailWhitespace(value);
|
||||
}
|
||||
|
||||
getExtraWhitespaceTipData(): TextTipInput {
|
||||
return {
|
||||
text: 'The specified value contains leading and/or trailing whitespace character(s). This could produce unexpected results if it was not intentional.'
|
||||
};
|
||||
}
|
||||
|
||||
getPropertyTipData(item: PropertyItem): PropertyTipInput {
|
||||
return {
|
||||
descriptor: item.descriptor,
|
||||
|
|
|
@ -122,9 +122,7 @@
|
|||
[value]="descriptor"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="
|
||||
getSelectOptionTipData(descriptor)
|
||||
"
|
||||
[tooltipInputData]="descriptor.description"
|
||||
[delayClose]="false">
|
||||
<span class="option-text">{{
|
||||
descriptor.label
|
||||
|
|
|
@ -45,7 +45,7 @@ import * as d3 from 'd3';
|
|||
import { NiFiCommon } from '../../../service/nifi-common.service';
|
||||
import { TextTip } from '../tooltips/text-tip/text-tip.component';
|
||||
import { NifiTooltipDirective } from '../tooltips/nifi-tooltip.directive';
|
||||
import { isDefinedAndNotNull, TextTipInput } from '../../../state/shared';
|
||||
import { isDefinedAndNotNull } from '../../../state/shared';
|
||||
import { MatCheckboxChange, MatCheckboxModule } from '@angular/material/checkbox';
|
||||
import { Resizable } from '../resizable/resizable.component';
|
||||
import { Instance, NIFI_NODE_CONFIG, Stats } from './index';
|
||||
|
@ -217,12 +217,6 @@ export class StatusHistory implements OnInit, AfterViewInit {
|
|||
this.store.dispatch(reloadStatusHistory({ request: this.request }));
|
||||
}
|
||||
|
||||
getSelectOptionTipData(descriptor: FieldDescriptor): TextTipInput {
|
||||
return {
|
||||
text: descriptor.description
|
||||
};
|
||||
}
|
||||
|
||||
clusterStatsChanged(stats: Stats) {
|
||||
this.clusterStats = stats;
|
||||
}
|
||||
|
|
|
@ -133,11 +133,11 @@
|
|||
<div class="flex flex-col">
|
||||
<div class="flex gap-x-3 items-center">
|
||||
<div>Core Load Average</div>
|
||||
<div
|
||||
class="fa fa-question-circle primary-color"
|
||||
<i
|
||||
class="fa fa-info-circle"
|
||||
nifiTooltip
|
||||
[tooltipComponentType]="TextTip"
|
||||
[tooltipInputData]="getCoreLoadTooltip()"></div>
|
||||
tooltipInputData="Core load average for the last minute. Not available on all platforms."></i>
|
||||
</div>
|
||||
<div class="accent-color font-medium">
|
||||
{{ formatFloat(systemDiagnostics.processorLoadAverage) }}
|
||||
|
|
|
@ -31,7 +31,7 @@ import { reloadSystemDiagnostics } from '../../../state/system-diagnostics/syste
|
|||
import { NiFiCommon } from '../../../service/nifi-common.service';
|
||||
import { TextTip } from '../tooltips/text-tip/text-tip.component';
|
||||
import { NifiTooltipDirective } from '../tooltips/nifi-tooltip.directive';
|
||||
import { isDefinedAndNotNull, TextTipInput } from '../../../state/shared';
|
||||
import { isDefinedAndNotNull } from '../../../state/shared';
|
||||
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
||||
|
||||
@Component({
|
||||
|
@ -83,12 +83,6 @@ export class SystemDiagnosticsDialog implements OnInit {
|
|||
return this.nifiCommon.formatFloat(value);
|
||||
}
|
||||
|
||||
getCoreLoadTooltip(): TextTipInput {
|
||||
return {
|
||||
text: 'Core load average for the last minute. Not available on all platforms.'
|
||||
};
|
||||
}
|
||||
|
||||
getRepositoryStorageUsagePercent(repoStorage: RepositoryStorageUsage): number {
|
||||
return (repoStorage.usedSpaceBytes / repoStorage.totalSpaceBytes) * 100;
|
||||
}
|
||||
|
|
|
@ -15,4 +15,4 @@
|
|||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<div class="tooltip">{{ data?.text }}</div>
|
||||
<div class="tooltip">{{ data }}</div>
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
*/
|
||||
|
||||
import { Component, Input } from '@angular/core';
|
||||
import { TextTipInput } from '../../../../state/shared';
|
||||
|
||||
@Component({
|
||||
selector: 'text-tip',
|
||||
|
@ -25,5 +24,5 @@ import { TextTipInput } from '../../../../state/shared';
|
|||
styleUrls: ['./text-tip.component.scss']
|
||||
})
|
||||
export class TextTip {
|
||||
@Input() data: TextTipInput | undefined;
|
||||
@Input() data: string = '';
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue