mirror of
https://github.com/apache/nifi.git
synced 2025-02-08 02:58:43 +00:00
[NIFI-14185] - upgrade angular 19, nx 20 (#9669)
* [NIFI-14185] - Upgrade to Angular 19 as well as migrating to Nx 20 * linting fixes, prettier fix, jest config supporting usage of d3 when testing * upgrade ngx-skeleton-loader to be compatible with angular 19 * added comment about the jest/d3 workaround * prettier * required fixes for issues broken after the version upgrade: documentation expansion panel scrolling, minor compile issues * ran prettier
This commit is contained in:
parent
78f7395ea1
commit
31ca24e972
@ -26,7 +26,8 @@
|
||||
{
|
||||
"suffixes": [""]
|
||||
}
|
||||
]
|
||||
],
|
||||
"@angular-eslint/prefer-standalone": "warn"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
2
nifi-frontend/src/main/frontend/.gitignore
vendored
2
nifi-frontend/src/main/frontend/.gitignore
vendored
@ -46,3 +46,5 @@ Thumbs.db
|
||||
.nx/cache
|
||||
.nx/workspace-data
|
||||
.angular
|
||||
|
||||
migrations.json
|
||||
|
@ -38,7 +38,8 @@
|
||||
"@typescript-eslint/no-non-null-assertion": "off",
|
||||
"@typescript-eslint/no-this-alias": "warn",
|
||||
"@typescript-eslint/no-unused-vars": "warn",
|
||||
"no-useless-escape": "off"
|
||||
"no-useless-escape": "off",
|
||||
"@angular-eslint/prefer-standalone": "warn"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -21,7 +21,8 @@ import { Storage, ThemingService } from '@nifi/shared';
|
||||
@Component({
|
||||
selector: 'nifi-jolt-transform-json-ui',
|
||||
templateUrl: './app.component.html',
|
||||
styleUrls: ['./app.component.scss']
|
||||
styleUrls: ['./app.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class AppComponent {
|
||||
title = 'nifi-jolt-transform-json-ui';
|
||||
|
@ -67,7 +67,8 @@ const JS_BEAUTIFY_OPTIONS = {
|
||||
@Component({
|
||||
selector: 'jolt-transform-json-ui',
|
||||
templateUrl: './jolt-transform-json-ui.component.html',
|
||||
styleUrls: ['./jolt-transform-json-ui.component.scss']
|
||||
styleUrls: ['./jolt-transform-json-ui.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class JoltTransformJsonUi implements OnDestroy {
|
||||
private processorId$ = this.store.selectSignal(selectProcessorIdFromRoute);
|
||||
|
@ -33,7 +33,8 @@
|
||||
// Include the common styles for Angular Material. We include this here so that you only
|
||||
// have to load a single css file for Angular Material in your app.
|
||||
// Be sure that you only ever include this mixin once!
|
||||
@include mat.core();
|
||||
@include mat.elevation-classes();
|
||||
@include mat.app-background();
|
||||
|
||||
@tailwind base;
|
||||
@tailwind components;
|
||||
|
@ -38,7 +38,8 @@
|
||||
"@typescript-eslint/no-non-null-assertion": "off",
|
||||
"@typescript-eslint/no-this-alias": "warn",
|
||||
"@typescript-eslint/no-unused-vars": "warn",
|
||||
"no-useless-escape": "off"
|
||||
"no-useless-escape": "off",
|
||||
"@angular-eslint/prefer-standalone": "warn"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -40,7 +40,8 @@ import { DocumentVisibility } from './state/document-visibility';
|
||||
@Component({
|
||||
selector: 'nifi',
|
||||
templateUrl: './app.component.html',
|
||||
styleUrls: ['./app.component.scss']
|
||||
styleUrls: ['./app.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class AppComponent implements OnDestroy {
|
||||
title = 'nifi';
|
||||
|
@ -20,6 +20,7 @@ import { Component } from '@angular/core';
|
||||
@Component({
|
||||
selector: 'access-policies',
|
||||
templateUrl: './access-policies.component.html',
|
||||
styleUrls: ['./access-policies.component.scss']
|
||||
styleUrls: ['./access-policies.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class AccessPolicies {}
|
||||
|
@ -35,7 +35,6 @@ import { CloseOnEscapeDialog } from '@nifi/shared';
|
||||
|
||||
@Component({
|
||||
selector: 'add-tenant-to-policy-dialog',
|
||||
standalone: true,
|
||||
imports: [
|
||||
MatDialogModule,
|
||||
MatButtonModule,
|
||||
|
@ -24,7 +24,6 @@ import { CloseOnEscapeDialog } from '@nifi/shared';
|
||||
|
||||
@Component({
|
||||
selector: 'override-policy-dialog',
|
||||
standalone: true,
|
||||
imports: [MatDialogModule, MatButtonModule, FormsModule, ReactiveFormsModule, MatRadioModule],
|
||||
templateUrl: './override-policy-dialog.component.html',
|
||||
styleUrls: ['./override-policy-dialog.component.scss']
|
||||
|
@ -35,7 +35,6 @@ export interface TenantItem {
|
||||
|
||||
@Component({
|
||||
selector: 'policy-table',
|
||||
standalone: true,
|
||||
templateUrl: './policy-table.component.html',
|
||||
imports: [MatTableModule, MatSortModule, MatIconButton, MatMenu, MatMenuTrigger, MatMenuItem],
|
||||
styleUrls: ['./policy-table.component.scss']
|
||||
|
@ -51,7 +51,8 @@ import { ErrorContextKey } from '../../../../state/error';
|
||||
@Component({
|
||||
selector: 'global-access-policies',
|
||||
templateUrl: './component-access-policies.component.html',
|
||||
styleUrls: ['./component-access-policies.component.scss']
|
||||
styleUrls: ['./component-access-policies.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class ComponentAccessPolicies implements OnInit, OnDestroy {
|
||||
flowConfiguration$ = this.store.select(selectFlowConfiguration);
|
||||
|
@ -52,7 +52,8 @@ import { ErrorContextKey } from '../../../../state/error';
|
||||
@Component({
|
||||
selector: 'global-access-policies',
|
||||
templateUrl: './global-access-policies.component.html',
|
||||
styleUrls: ['./global-access-policies.component.scss']
|
||||
styleUrls: ['./global-access-policies.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class GlobalAccessPolicies implements OnInit, OnDestroy {
|
||||
flowConfiguration$ = this.store.select(selectFlowConfiguration);
|
||||
|
@ -20,6 +20,7 @@ import { Component } from '@angular/core';
|
||||
@Component({
|
||||
selector: 'bulletins',
|
||||
templateUrl: './bulletins.component.html',
|
||||
styleUrls: ['./bulletins.component.scss']
|
||||
styleUrls: ['./bulletins.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class Bulletins {}
|
||||
|
@ -40,7 +40,6 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
||||
|
||||
@Component({
|
||||
selector: 'bulletin-board-list',
|
||||
standalone: true,
|
||||
imports: [MatFormFieldModule, MatInputModule, MatOptionModule, MatSelectModule, ReactiveFormsModule, RouterLink],
|
||||
templateUrl: './bulletin-board-list.component.html',
|
||||
styleUrls: ['./bulletin-board-list.component.scss']
|
||||
|
@ -46,7 +46,6 @@ import { MatButtonModule } from '@angular/material/button';
|
||||
|
||||
@Component({
|
||||
selector: 'bulletin-board',
|
||||
standalone: true,
|
||||
imports: [
|
||||
NgxSkeletonLoaderModule,
|
||||
MatFormFieldModule,
|
||||
|
@ -44,7 +44,8 @@ interface TabLink {
|
||||
@Component({
|
||||
selector: 'cluster',
|
||||
templateUrl: './cluster.component.html',
|
||||
styleUrls: ['./cluster.component.scss']
|
||||
styleUrls: ['./cluster.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class Cluster implements OnInit, OnDestroy {
|
||||
private _currentUser!: CurrentUser;
|
||||
|
@ -40,7 +40,6 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
||||
|
||||
@Component({
|
||||
selector: 'cluster-content-storage-listing',
|
||||
standalone: true,
|
||||
imports: [AsyncPipe, NgxSkeletonLoaderModule, RepositoryStorageTable],
|
||||
templateUrl: './cluster-content-storage-listing.component.html',
|
||||
styleUrl: './cluster-content-storage-listing.component.scss'
|
||||
|
@ -39,7 +39,6 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
||||
|
||||
@Component({
|
||||
selector: 'cluster-flow-file-storage-listing',
|
||||
standalone: true,
|
||||
imports: [RepositoryStorageTable, NgxSkeletonLoaderModule, AsyncPipe],
|
||||
templateUrl: './cluster-flow-file-storage-listing.component.html',
|
||||
styleUrl: './cluster-flow-file-storage-listing.component.scss'
|
||||
|
@ -33,7 +33,6 @@ import { clearJvmNodeSelection, selectJvmNode } from '../../state/cluster-listin
|
||||
|
||||
@Component({
|
||||
selector: 'cluster-jvm-listing',
|
||||
standalone: true,
|
||||
imports: [ClusterSystemTable, NgxSkeletonLoaderModule, ClusterJvmTable],
|
||||
templateUrl: './cluster-jvm-listing.component.html',
|
||||
styleUrl: './cluster-jvm-listing.component.scss'
|
||||
|
@ -31,7 +31,6 @@ import { ConnectedPosition } from '@angular/cdk/overlay';
|
||||
|
||||
@Component({
|
||||
selector: 'cluster-jvm-table',
|
||||
standalone: true,
|
||||
imports: [ClusterTableFilter, MatTableModule, MatSortModule, NifiTooltipDirective],
|
||||
templateUrl: './cluster-jvm-table.component.html',
|
||||
styleUrl: './cluster-jvm-table.component.scss'
|
||||
|
@ -23,7 +23,6 @@ import { CloseOnEscapeDialog, CopyDirective } from '@nifi/shared';
|
||||
|
||||
@Component({
|
||||
selector: 'cluster-node-detail-dialog',
|
||||
standalone: true,
|
||||
imports: [MatDialogModule, MatButton, CopyDirective],
|
||||
templateUrl: './cluster-node-detail-dialog.component.html',
|
||||
styleUrl: './cluster-node-detail-dialog.component.scss'
|
||||
|
@ -41,7 +41,6 @@ import { selectCurrentUser } from '../../../../state/current-user/current-user.s
|
||||
|
||||
@Component({
|
||||
selector: 'cluster-node-listing',
|
||||
standalone: true,
|
||||
imports: [NgxSkeletonLoaderModule, ClusterNodeTable],
|
||||
templateUrl: './cluster-node-listing.component.html',
|
||||
styleUrl: './cluster-node-listing.component.scss'
|
||||
|
@ -32,7 +32,6 @@ import { MatMenu, MatMenuItem, MatMenuTrigger } from '@angular/material/menu';
|
||||
|
||||
@Component({
|
||||
selector: 'cluster-node-table',
|
||||
standalone: true,
|
||||
imports: [
|
||||
MatCell,
|
||||
MatHeaderCell,
|
||||
|
@ -40,7 +40,6 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
||||
|
||||
@Component({
|
||||
selector: 'cluster-provenance-storage-listing',
|
||||
standalone: true,
|
||||
imports: [AsyncPipe, NgxSkeletonLoaderModule, RepositoryStorageTable],
|
||||
templateUrl: './cluster-provenance-storage-listing.component.html',
|
||||
styleUrl: './cluster-provenance-storage-listing.component.scss'
|
||||
|
@ -33,7 +33,6 @@ import { NodeSnapshot } from '../../../../state/system-diagnostics';
|
||||
|
||||
@Component({
|
||||
selector: 'cluster-system-listing',
|
||||
standalone: true,
|
||||
imports: [NgxSkeletonLoaderModule, ClusterSystemTable, ClusterNodeTable],
|
||||
templateUrl: './cluster-system-listing.component.html',
|
||||
styleUrl: './cluster-system-listing.component.scss'
|
||||
|
@ -28,7 +28,6 @@ import { MatTableModule } from '@angular/material/table';
|
||||
|
||||
@Component({
|
||||
selector: 'cluster-system-table',
|
||||
standalone: true,
|
||||
imports: [ClusterTableFilter, MatTableModule, MatSortModule],
|
||||
templateUrl: './cluster-system-table.component.html',
|
||||
styleUrl: './cluster-system-table.component.scss'
|
||||
|
@ -33,7 +33,6 @@ import { ClusterVersionTable } from './cluster-version-table/cluster-version-tab
|
||||
|
||||
@Component({
|
||||
selector: 'cluster-version-listing',
|
||||
standalone: true,
|
||||
imports: [ClusterSystemTable, NgxSkeletonLoaderModule, ClusterVersionTable],
|
||||
templateUrl: './cluster-version-listing.component.html',
|
||||
styleUrl: './cluster-version-listing.component.scss'
|
||||
|
@ -28,7 +28,6 @@ import { MatSortModule, Sort } from '@angular/material/sort';
|
||||
|
||||
@Component({
|
||||
selector: 'cluster-version-table',
|
||||
standalone: true,
|
||||
imports: [ClusterTableFilter, MatTableModule, MatSortModule],
|
||||
templateUrl: './cluster-version-table.component.html',
|
||||
styleUrl: './cluster-version-table.component.scss'
|
||||
|
@ -41,7 +41,6 @@ export interface ClusterTableFilterContext extends ClusterTableFilterArgs {
|
||||
|
||||
@Component({
|
||||
selector: 'cluster-table-filter',
|
||||
standalone: true,
|
||||
imports: [MatCheckbox, MatFormField, MatInput, MatLabel, MatOption, MatSelect, ReactiveFormsModule],
|
||||
templateUrl: './cluster-table-filter.component.html',
|
||||
styleUrl: './cluster-table-filter.component.scss'
|
||||
|
@ -23,7 +23,6 @@ import { ClusterTableFilterContext } from '../cluster-table-filter/cluster-table
|
||||
|
||||
@Component({
|
||||
selector: 'cluster-table',
|
||||
standalone: true,
|
||||
imports: [MatTableModule, MatSortModule],
|
||||
template: ''
|
||||
})
|
||||
|
@ -25,7 +25,6 @@ import { MatTableModule } from '@angular/material/table';
|
||||
|
||||
@Component({
|
||||
selector: 'repository-storage-table',
|
||||
standalone: true,
|
||||
imports: [ClusterTableFilter, MatTableModule, MatSortModule],
|
||||
templateUrl: './repository-storage-table.component.html',
|
||||
styleUrl: './repository-storage-table.component.scss'
|
||||
|
@ -42,7 +42,8 @@ interface SupportedContentViewer {
|
||||
@Component({
|
||||
selector: 'content-viewer',
|
||||
templateUrl: './content-viewer.component.html',
|
||||
styleUrls: ['./content-viewer.component.scss']
|
||||
styleUrls: ['./content-viewer.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class ContentViewerComponent implements OnInit, OnDestroy {
|
||||
viewerForm: FormGroup;
|
||||
|
@ -30,7 +30,6 @@ import { RecreateViewDirective } from '../recreate-view.directive';
|
||||
|
||||
@Component({
|
||||
selector: 'external-viewer',
|
||||
standalone: true,
|
||||
templateUrl: './external-viewer.component.html',
|
||||
imports: [RecreateViewDirective],
|
||||
styleUrls: ['./external-viewer.component.scss']
|
||||
|
@ -27,7 +27,6 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
||||
|
||||
@Component({
|
||||
selector: 'hex-viewer',
|
||||
standalone: true,
|
||||
templateUrl: './hex-viewer.component.html',
|
||||
imports: [],
|
||||
styleUrls: ['./hex-viewer.component.scss']
|
||||
|
@ -24,7 +24,6 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
||||
|
||||
@Component({
|
||||
selector: 'image-viewer',
|
||||
standalone: true,
|
||||
templateUrl: './image-viewer.component.html',
|
||||
imports: [],
|
||||
styleUrls: ['./image-viewer.component.scss']
|
||||
|
@ -23,7 +23,8 @@ import { resetCounterState } from '../state/counter-listing/counter-listing.acti
|
||||
@Component({
|
||||
selector: 'counters',
|
||||
templateUrl: './counters.component.html',
|
||||
styleUrls: ['./counters.component.scss']
|
||||
styleUrls: ['./counters.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class Counters implements OnDestroy {
|
||||
constructor(private store: Store<NiFiState>) {}
|
||||
|
@ -26,7 +26,8 @@ import { selectCurrentUser } from '../../../../state/current-user/current-user.s
|
||||
@Component({
|
||||
selector: 'counter-listing',
|
||||
templateUrl: './counter-listing.component.html',
|
||||
styleUrls: ['./counter-listing.component.scss']
|
||||
styleUrls: ['./counter-listing.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class CounterListing implements OnInit {
|
||||
counterListingState$ = this.store.select(selectCounterListingState);
|
||||
|
@ -27,7 +27,8 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
||||
@Component({
|
||||
selector: 'counter-table',
|
||||
templateUrl: './counter-table.component.html',
|
||||
styleUrls: ['./counter-table.component.scss']
|
||||
styleUrls: ['./counter-table.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class CounterTable implements AfterViewInit {
|
||||
private _canModifyCounters = false;
|
||||
|
@ -30,7 +30,7 @@
|
||||
</mat-form-field>
|
||||
</form>
|
||||
<mat-accordion multi>
|
||||
<mat-expansion-panel>
|
||||
<mat-expansion-panel [expanded]="generalExpanded">
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title>General</mat-panel-title>
|
||||
</mat-expansion-panel-header>
|
||||
@ -47,7 +47,7 @@
|
||||
}
|
||||
</div>
|
||||
</mat-expansion-panel>
|
||||
<mat-expansion-panel>
|
||||
<mat-expansion-panel [expanded]="processorsExpanded">
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title>Processors</mat-panel-title>
|
||||
</mat-expansion-panel-header>
|
||||
@ -60,7 +60,7 @@
|
||||
}
|
||||
"></ng-container>
|
||||
</mat-expansion-panel>
|
||||
<mat-expansion-panel>
|
||||
<mat-expansion-panel [expanded]="controllerServicesExpanded">
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title>Controller Services</mat-panel-title>
|
||||
</mat-expansion-panel-header>
|
||||
@ -73,7 +73,7 @@
|
||||
}
|
||||
"></ng-container>
|
||||
</mat-expansion-panel>
|
||||
<mat-expansion-panel>
|
||||
<mat-expansion-panel [expanded]="reportingTasksExpanded">
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title>Reporting Tasks</mat-panel-title>
|
||||
</mat-expansion-panel-header>
|
||||
@ -86,7 +86,7 @@
|
||||
}
|
||||
"></ng-container>
|
||||
</mat-expansion-panel>
|
||||
<mat-expansion-panel>
|
||||
<mat-expansion-panel [expanded]="parameterProvidersExpanded">
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title>Parameter Providers</mat-panel-title>
|
||||
</mat-expansion-panel-header>
|
||||
|
@ -38,7 +38,7 @@ import {
|
||||
import { ComponentType, isDefinedAndNotNull, NiFiCommon, selectCurrentRoute } from '@nifi/shared';
|
||||
import { MatAccordion } from '@angular/material/expansion';
|
||||
import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
|
||||
import { debounceTime, distinctUntilChanged, map } from 'rxjs';
|
||||
import { combineLatestWith, debounceTime, distinctUntilChanged, map } from 'rxjs';
|
||||
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
||||
import { DocumentedType } from '../../../state/shared';
|
||||
import {
|
||||
@ -51,7 +51,8 @@ import { navigateToOverview } from '../state/documentation/documentation.actions
|
||||
@Component({
|
||||
selector: 'documentation',
|
||||
templateUrl: './documentation.component.html',
|
||||
styleUrls: ['./documentation.component.scss']
|
||||
styleUrls: ['./documentation.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class Documentation implements OnInit, AfterViewInit {
|
||||
private destroyRef: DestroyRef = inject(DestroyRef);
|
||||
@ -81,6 +82,12 @@ export class Documentation implements OnInit, AfterViewInit {
|
||||
private isOverviewRoute: boolean = false;
|
||||
private scrolledIntoView = false;
|
||||
|
||||
generalExpanded = true;
|
||||
processorsExpanded = false;
|
||||
controllerServicesExpanded = false;
|
||||
reportingTasksExpanded = false;
|
||||
parameterProvidersExpanded = false;
|
||||
|
||||
constructor(
|
||||
private store: Store<NiFiState>,
|
||||
private formBuilder: FormBuilder,
|
||||
@ -98,11 +105,28 @@ export class Documentation implements OnInit, AfterViewInit {
|
||||
a?.type === b?.type
|
||||
),
|
||||
isDefinedAndNotNull(),
|
||||
takeUntilDestroyed()
|
||||
takeUntilDestroyed(),
|
||||
combineLatestWith(this.store.select(selectCurrentRoute))
|
||||
)
|
||||
.subscribe((coordinates) => {
|
||||
.subscribe(([coordinates, currentRoute]) => {
|
||||
this.selectedCoordinates = coordinates;
|
||||
this.isOverviewRoute = false;
|
||||
|
||||
// ensure the panel that the defined component is in is expanded
|
||||
switch (currentRoute.url[0].path) {
|
||||
case ComponentType.Processor:
|
||||
this.processorsExpanded = true;
|
||||
break;
|
||||
case ComponentType.ControllerService:
|
||||
this.controllerServicesExpanded = true;
|
||||
break;
|
||||
case ComponentType.ReportingTask:
|
||||
this.reportingTasksExpanded = true;
|
||||
break;
|
||||
case ComponentType.ParameterProvider:
|
||||
this.parameterProvidersExpanded = true;
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
this.store
|
||||
@ -122,6 +146,7 @@ export class Documentation implements OnInit, AfterViewInit {
|
||||
.subscribe((isOverviewRoute) => {
|
||||
this.isOverviewRoute = isOverviewRoute;
|
||||
this.selectedCoordinates = null;
|
||||
this.generalExpanded = isOverviewRoute;
|
||||
});
|
||||
|
||||
this.filterForm = this.formBuilder.group({
|
||||
@ -150,7 +175,6 @@ export class Documentation implements OnInit, AfterViewInit {
|
||||
});
|
||||
|
||||
this.store.dispatch(loadExtensionTypesForDocumentation());
|
||||
this.applyFilter(null);
|
||||
}
|
||||
|
||||
ngAfterViewInit(): void {
|
||||
|
@ -32,7 +32,6 @@ import { MarkdownComponent } from 'ngx-markdown';
|
||||
|
||||
@Component({
|
||||
selector: 'additional-details',
|
||||
standalone: true,
|
||||
imports: [MatAccordion, MatExpansionModule, MatIconButton, NgxSkeletonLoaderModule, MarkdownComponent],
|
||||
templateUrl: './additional-details.component.html',
|
||||
styleUrl: './additional-details.component.scss'
|
||||
|
@ -22,7 +22,6 @@ import { Attribute } from '../../../state/processor-definition';
|
||||
|
||||
@Component({
|
||||
selector: 'attributes-definition',
|
||||
standalone: true,
|
||||
imports: [MatTableModule],
|
||||
templateUrl: './attributes-definition.component.html',
|
||||
styleUrl: './attributes-definition.component.scss'
|
||||
|
@ -27,7 +27,6 @@ import { AdditionalDetailsComponent } from '../additional-details/additional-det
|
||||
|
||||
@Component({
|
||||
selector: 'configurable-extension-definition',
|
||||
standalone: true,
|
||||
imports: [
|
||||
PropertiesDefinitionComponent,
|
||||
DynamicPropertiesDefinitionComponent,
|
||||
|
@ -23,7 +23,6 @@ import { MatIconButton } from '@angular/material/button';
|
||||
|
||||
@Component({
|
||||
selector: 'dynamic-properties-definition',
|
||||
standalone: true,
|
||||
imports: [MatAccordion, MatExpansionModule, MatIconButton],
|
||||
templateUrl: './dynamic-properties-definition.component.html',
|
||||
styleUrl: './dynamic-properties-definition.component.scss'
|
||||
|
@ -31,7 +31,6 @@ import { InputRequirementComponent } from '../input-requirement/input-requiremen
|
||||
|
||||
@Component({
|
||||
selector: 'multi-processor-use-case',
|
||||
standalone: true,
|
||||
templateUrl: './multi-processor-use-case.component.html',
|
||||
imports: [MatAccordion, MatExpansionModule, MatIconButton, InputRequirementComponent, AsyncPipe, RouterLink],
|
||||
styleUrl: './multi-processor-use-case.component.scss'
|
||||
|
@ -24,7 +24,6 @@ import { PropertyDefinitionComponent } from '../property-definition/property-def
|
||||
|
||||
@Component({
|
||||
selector: 'properties-definition',
|
||||
standalone: true,
|
||||
imports: [MatAccordion, MatExpansionModule, MatButtonModule, PropertyDefinitionComponent],
|
||||
templateUrl: './properties-definition.component.html',
|
||||
styleUrl: './properties-definition.component.scss'
|
||||
|
@ -37,7 +37,6 @@ import { RouterLink } from '@angular/router';
|
||||
|
||||
@Component({
|
||||
selector: 'property-definition',
|
||||
standalone: true,
|
||||
imports: [
|
||||
NgxSkeletonLoaderModule,
|
||||
MatTableModule,
|
||||
|
@ -22,7 +22,6 @@ import { Relationship } from '../../../state/processor-definition';
|
||||
|
||||
@Component({
|
||||
selector: 'relationships-definition',
|
||||
standalone: true,
|
||||
imports: [MatTableModule],
|
||||
templateUrl: './relationships-definition.component.html',
|
||||
styleUrl: './relationships-definition.component.scss'
|
||||
|
@ -22,7 +22,6 @@ import { SystemResourceConsideration } from '../../../state';
|
||||
|
||||
@Component({
|
||||
selector: 'resource-considerations',
|
||||
standalone: true,
|
||||
imports: [MatTableModule],
|
||||
templateUrl: './resource-considerations.component.html',
|
||||
styleUrl: './resource-considerations.component.scss'
|
||||
|
@ -22,7 +22,6 @@ import { Restriction } from '../../../state';
|
||||
|
||||
@Component({
|
||||
selector: 'restrictions-definition',
|
||||
standalone: true,
|
||||
imports: [MatTableModule],
|
||||
templateUrl: './restrictions-definition.component.html',
|
||||
styleUrl: './restrictions-definition.component.scss'
|
||||
|
@ -29,7 +29,6 @@ import { DocumentedType } from '../../../../../state/shared';
|
||||
|
||||
@Component({
|
||||
selector: 'see-also',
|
||||
standalone: true,
|
||||
templateUrl: './see-also.component.html',
|
||||
imports: [RouterLink, NifiTooltipDirective, AsyncPipe, NgTemplateOutlet],
|
||||
styleUrl: './see-also.component.scss'
|
||||
|
@ -24,7 +24,6 @@ import { InputRequirementComponent } from '../input-requirement/input-requiremen
|
||||
|
||||
@Component({
|
||||
selector: 'use-case',
|
||||
standalone: true,
|
||||
templateUrl: './use-case.component.html',
|
||||
imports: [MatAccordion, MatExpansionModule, MatIconButton, PropertyDefinitionComponent, InputRequirementComponent],
|
||||
styleUrl: './use-case.component.scss'
|
||||
|
@ -33,7 +33,6 @@ import { distinctUntilChanged } from 'rxjs';
|
||||
|
||||
@Component({
|
||||
selector: 'controller-service-definition',
|
||||
standalone: true,
|
||||
imports: [NgxSkeletonLoaderModule, ConfigurableExtensionDefinitionComponent],
|
||||
templateUrl: './controller-service-definition.component.html',
|
||||
styleUrl: './controller-service-definition.component.scss'
|
||||
|
@ -33,7 +33,6 @@ import { selectFlowAnalysisRuleDefinitionState } from '../../state/flow-analysis
|
||||
|
||||
@Component({
|
||||
selector: 'flow-analysis-rule-definition',
|
||||
standalone: true,
|
||||
imports: [NgxSkeletonLoaderModule, ConfigurableExtensionDefinitionComponent],
|
||||
templateUrl: './flow-analysis-rule-definition.component.html',
|
||||
styleUrl: './flow-analysis-rule-definition.component.scss'
|
||||
|
@ -28,7 +28,6 @@ import { NgTemplateOutlet } from '@angular/common';
|
||||
|
||||
@Component({
|
||||
selector: 'overview',
|
||||
standalone: true,
|
||||
imports: [MatCardModule, NgTemplateOutlet],
|
||||
templateUrl: './overview.component.html',
|
||||
styleUrls: ['./overview.component.scss']
|
||||
|
@ -33,7 +33,6 @@ import { selectParameterProviderDefinitionState } from '../../state/parameter-pr
|
||||
|
||||
@Component({
|
||||
selector: 'parameter-provider-definition',
|
||||
standalone: true,
|
||||
imports: [NgxSkeletonLoaderModule, ConfigurableExtensionDefinitionComponent],
|
||||
templateUrl: './parameter-provider-definition.component.html',
|
||||
styleUrl: './parameter-provider-definition.component.scss'
|
||||
|
@ -39,7 +39,6 @@ import { distinctUntilChanged } from 'rxjs';
|
||||
|
||||
@Component({
|
||||
selector: 'processor-definition',
|
||||
standalone: true,
|
||||
imports: [
|
||||
NgxSkeletonLoaderModule,
|
||||
ConfigurableExtensionDefinitionComponent,
|
||||
|
@ -33,7 +33,6 @@ import { selectReportingTaskDefinitionState } from '../../state/reporting-task-d
|
||||
|
||||
@Component({
|
||||
selector: 'reporting-task-definition',
|
||||
standalone: true,
|
||||
imports: [NgxSkeletonLoaderModule, ConfigurableExtensionDefinitionComponent],
|
||||
templateUrl: './reporting-task-definition.component.html',
|
||||
styleUrl: './reporting-task-definition.component.scss'
|
||||
|
@ -24,7 +24,8 @@ import { resetErrorState } from '../../../state/error/error.actions';
|
||||
@Component({
|
||||
selector: 'error',
|
||||
templateUrl: './error.component.html',
|
||||
styleUrls: ['./error.component.scss']
|
||||
styleUrls: ['./error.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class Error implements OnDestroy {
|
||||
errorDetail$ = this.store.select(selectFullScreenError);
|
||||
|
@ -20,6 +20,7 @@ import { Component } from '@angular/core';
|
||||
@Component({
|
||||
selector: 'flow-configuration-history',
|
||||
templateUrl: './flow-configuration-history.component.html',
|
||||
styleUrls: ['./flow-configuration-history.component.scss']
|
||||
styleUrls: ['./flow-configuration-history.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class FlowConfigurationHistory {}
|
||||
|
@ -80,65 +80,13 @@
|
||||
</div>
|
||||
}
|
||||
}
|
||||
@case ('Connect' || 'Disconnect') {
|
||||
@if (getConnectActionDetails(action); as details) {
|
||||
<div>
|
||||
<div>Source Id</div>
|
||||
<ng-container
|
||||
*ngTemplateOutlet="
|
||||
formatValue;
|
||||
context: { $implicit: details.sourceId }
|
||||
"></ng-container>
|
||||
</div>
|
||||
<div>
|
||||
<div>Source Name</div>
|
||||
<ng-container
|
||||
*ngTemplateOutlet="
|
||||
formatValue;
|
||||
context: { $implicit: details.sourceName }
|
||||
"></ng-container>
|
||||
</div>
|
||||
<div>
|
||||
<div>Source Type</div>
|
||||
<ng-container
|
||||
*ngTemplateOutlet="
|
||||
formatValue;
|
||||
context: { $implicit: details.sourceType }
|
||||
"></ng-container>
|
||||
</div>
|
||||
<div>
|
||||
<div>Relationship(s)</div>
|
||||
<ng-container
|
||||
*ngTemplateOutlet="
|
||||
formatValue;
|
||||
context: { $implicit: details.relationship }
|
||||
"></ng-container>
|
||||
</div>
|
||||
<div>
|
||||
<div>Destination Id</div>
|
||||
<ng-container
|
||||
*ngTemplateOutlet="
|
||||
formatValue;
|
||||
context: { $implicit: details.destinationId }
|
||||
"></ng-container>
|
||||
</div>
|
||||
<div>
|
||||
<div>Destination Name</div>
|
||||
<ng-container
|
||||
*ngTemplateOutlet="
|
||||
formatValue;
|
||||
context: { $implicit: details.destinationName }
|
||||
"></ng-container>
|
||||
</div>
|
||||
<div>
|
||||
<div>Destination Type</div>
|
||||
<ng-container
|
||||
*ngTemplateOutlet="
|
||||
formatValue;
|
||||
context: { $implicit: details.destinationType }
|
||||
"></ng-container>
|
||||
</div>
|
||||
}
|
||||
@case ('Connect') {
|
||||
<ng-container *ngTemplateOutlet="connectOrDisconnect; context: { $implicit: action }">
|
||||
</ng-container>
|
||||
}
|
||||
@case ('Disconnect') {
|
||||
<ng-container *ngTemplateOutlet="connectOrDisconnect; context: { $implicit: action }">
|
||||
</ng-container>
|
||||
}
|
||||
@case ('Move') {
|
||||
@if (getMoveActionDetails(action); as details) {
|
||||
@ -210,6 +158,58 @@
|
||||
<div class="unset neutral-color">No value set</div>
|
||||
}
|
||||
</ng-template>
|
||||
|
||||
<ng-template #connectOrDisconnect let-action>
|
||||
@if (getConnectActionDetails(action); as details) {
|
||||
<div>
|
||||
<div>Source Id</div>
|
||||
<ng-container
|
||||
*ngTemplateOutlet="formatValue; context: { $implicit: details.sourceId }"></ng-container>
|
||||
</div>
|
||||
<div>
|
||||
<div>Source Name</div>
|
||||
<ng-container
|
||||
*ngTemplateOutlet="formatValue; context: { $implicit: details.sourceName }"></ng-container>
|
||||
</div>
|
||||
<div>
|
||||
<div>Source Type</div>
|
||||
<ng-container
|
||||
*ngTemplateOutlet="formatValue; context: { $implicit: details.sourceType }"></ng-container>
|
||||
</div>
|
||||
<div>
|
||||
<div>Relationship(s)</div>
|
||||
<ng-container
|
||||
*ngTemplateOutlet="
|
||||
formatValue;
|
||||
context: { $implicit: details.relationship }
|
||||
"></ng-container>
|
||||
</div>
|
||||
<div>
|
||||
<div>Destination Id</div>
|
||||
<ng-container
|
||||
*ngTemplateOutlet="
|
||||
formatValue;
|
||||
context: { $implicit: details.destinationId }
|
||||
"></ng-container>
|
||||
</div>
|
||||
<div>
|
||||
<div>Destination Name</div>
|
||||
<ng-container
|
||||
*ngTemplateOutlet="
|
||||
formatValue;
|
||||
context: { $implicit: details.destinationName }
|
||||
"></ng-container>
|
||||
</div>
|
||||
<div>
|
||||
<div>Destination Type</div>
|
||||
<ng-container
|
||||
*ngTemplateOutlet="
|
||||
formatValue;
|
||||
context: { $implicit: details.destinationType }
|
||||
"></ng-container>
|
||||
</div>
|
||||
}
|
||||
</ng-template>
|
||||
</mat-dialog-content>
|
||||
<mat-dialog-actions align="end">
|
||||
<button mat-flat-button mat-dialog-close>Ok</button>
|
||||
|
@ -33,7 +33,6 @@ import { MatButtonModule } from '@angular/material/button';
|
||||
|
||||
@Component({
|
||||
selector: 'action-details',
|
||||
standalone: true,
|
||||
imports: [CommonModule, MatDialogModule, PipesModule, MatButtonModule, CopyDirective],
|
||||
templateUrl: './action-details.component.html',
|
||||
styleUrls: ['./action-details.component.scss']
|
||||
|
@ -55,7 +55,6 @@ interface FilterableColumn {
|
||||
|
||||
@Component({
|
||||
selector: 'flow-configuration-history-listing',
|
||||
standalone: true,
|
||||
imports: [
|
||||
CommonModule,
|
||||
NgxSkeletonLoaderModule,
|
||||
|
@ -25,7 +25,6 @@ import { MatMenu, MatMenuItem, MatMenuTrigger } from '@angular/material/menu';
|
||||
|
||||
@Component({
|
||||
selector: 'flow-configuration-history-table',
|
||||
standalone: true,
|
||||
imports: [MatTableModule, MatSortModule, MatIconButton, MatMenu, MatMenuTrigger, MatMenuItem],
|
||||
templateUrl: './flow-configuration-history-table.component.html',
|
||||
styleUrls: ['./flow-configuration-history-table.component.scss']
|
||||
|
@ -33,7 +33,6 @@ import { MatRadioButton, MatRadioGroup } from '@angular/material/radio';
|
||||
|
||||
@Component({
|
||||
selector: 'purge-history',
|
||||
standalone: true,
|
||||
imports: [
|
||||
CommonModule,
|
||||
MatDialogModule,
|
||||
|
@ -23,7 +23,8 @@ import { NiFiState } from '../../../state';
|
||||
@Component({
|
||||
selector: 'flow-designer',
|
||||
templateUrl: './flow-designer.component.html',
|
||||
styleUrls: ['./flow-designer.component.scss']
|
||||
styleUrls: ['./flow-designer.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class FlowDesigner implements OnInit {
|
||||
constructor(private store: Store<NiFiState>) {}
|
||||
|
@ -92,7 +92,7 @@ export class ParameterHelperService {
|
||||
convertToParameterDialogReference.componentInstance.saving$ =
|
||||
this.store.select(selectParameterSaving);
|
||||
|
||||
convertToParameterDialogReference.componentInstance.cancel.pipe(
|
||||
convertToParameterDialogReference.componentInstance.close.pipe(
|
||||
takeUntil(convertToParameterDialogReference.afterClosed()),
|
||||
tap(() => ParameterActions.stopPollingParameterContextUpdateRequest())
|
||||
);
|
||||
|
@ -4578,7 +4578,10 @@ export class FlowEffects {
|
||||
|
||||
dialogRef.componentInstance.changeColor.pipe(take(1)).subscribe((requests) => {
|
||||
requests.forEach((request) => {
|
||||
const style = { ...request.style } || {};
|
||||
let style: any = {};
|
||||
if (request.style) {
|
||||
style = { ...request.style };
|
||||
}
|
||||
if (request.type === ComponentType.Processor) {
|
||||
if (request.color) {
|
||||
style['background-color'] = request.color;
|
||||
|
@ -85,7 +85,7 @@ export class QueueEffects {
|
||||
disableClose: true
|
||||
});
|
||||
|
||||
dialogReference.componentInstance.cancel.pipe(take(1)).subscribe(() => {
|
||||
dialogReference.componentInstance.close.pipe(take(1)).subscribe(() => {
|
||||
this.store.dispatch(QueueActions.stopPollingEmptyQueueRequest());
|
||||
});
|
||||
|
||||
@ -149,7 +149,7 @@ export class QueueEffects {
|
||||
disableClose: true
|
||||
});
|
||||
|
||||
dialogReference.componentInstance.cancel.pipe(take(1)).subscribe(() => {
|
||||
dialogReference.componentInstance.close.pipe(take(1)).subscribe(() => {
|
||||
this.store.dispatch(QueueActions.stopPollingEmptyQueueRequest());
|
||||
});
|
||||
|
||||
|
@ -77,7 +77,8 @@ import { snackBarError } from '../../../../state/error/error.actions';
|
||||
@Component({
|
||||
selector: 'fd-canvas',
|
||||
templateUrl: './canvas.component.html',
|
||||
styleUrls: ['./canvas.component.scss']
|
||||
styleUrls: ['./canvas.component.scss'],
|
||||
standalone: false
|
||||
})
|
||||
export class Canvas implements OnInit, OnDestroy {
|
||||
private svg: any;
|
||||
|
@ -36,7 +36,6 @@ import { MatCheckbox } from '@angular/material/checkbox';
|
||||
|
||||
@Component({
|
||||
selector: 'change-component-dialog',
|
||||
standalone: true,
|
||||
imports: [
|
||||
CommonModule,
|
||||
MatDialogTitle,
|
||||
|
@ -24,7 +24,6 @@ import { AsyncPipe } from '@angular/common';
|
||||
|
||||
@Component({
|
||||
selector: 'fd-footer',
|
||||
standalone: true,
|
||||
templateUrl: './footer.component.html',
|
||||
imports: [Breadcrumbs, AsyncPipe],
|
||||
styleUrls: ['./footer.component.scss']
|
||||
|
@ -29,7 +29,6 @@ import { NiFiState } from '../../../../../state';
|
||||
|
||||
@Component({
|
||||
selector: 'graph-controls',
|
||||
standalone: true,
|
||||
templateUrl: './graph-controls.component.html',
|
||||
imports: [NavigationControl, OperationControl, AsyncPipe],
|
||||
styleUrls: ['./graph-controls.component.scss']
|
||||
|
@ -29,7 +29,6 @@ import { MatButtonModule } from '@angular/material/button';
|
||||
|
||||
@Component({
|
||||
selector: 'navigation-control',
|
||||
standalone: true,
|
||||
templateUrl: './navigation-control.component.html',
|
||||
imports: [Birdseye, MatButtonModule],
|
||||
styleUrls: ['./navigation-control.component.scss']
|
||||
|
@ -31,7 +31,6 @@ import { CanvasActionsService } from '../../../../service/canvas-actions.service
|
||||
|
||||
@Component({
|
||||
selector: 'operation-control',
|
||||
standalone: true,
|
||||
templateUrl: './operation-control.component.html',
|
||||
imports: [MatButtonModule, ComponentContext],
|
||||
styleUrls: ['./operation-control.component.scss']
|
||||
|
@ -41,7 +41,6 @@ import { BreadcrumbEntity } from '../../../../state/shared';
|
||||
|
||||
@Component({
|
||||
selector: 'flow-analysis-drawer',
|
||||
standalone: true,
|
||||
imports: [
|
||||
CommonModule,
|
||||
MatMenuModule,
|
||||
|
@ -32,7 +32,6 @@ interface Data {
|
||||
|
||||
@Component({
|
||||
selector: 'app-violation-details-dialog',
|
||||
standalone: true,
|
||||
imports: [CommonModule, MatDialogModule, MatButton],
|
||||
templateUrl: './violation-details-dialog.component.html',
|
||||
styleUrl: './violation-details-dialog.component.scss'
|
||||
|
@ -34,7 +34,6 @@ import { CanvasUtils } from '../../../../service/canvas-utils.service';
|
||||
|
||||
@Component({
|
||||
selector: 'flow-status',
|
||||
standalone: true,
|
||||
templateUrl: './flow-status.component.html',
|
||||
imports: [Search, NifiTooltipDirective, CommonModule],
|
||||
styleUrls: ['./flow-status.component.scss']
|
||||
|
@ -41,7 +41,6 @@ import { selectFlowAnalysisState } from '../../../state/flow-analysis/flow-analy
|
||||
|
||||
@Component({
|
||||
selector: 'fd-header',
|
||||
standalone: true,
|
||||
templateUrl: './header.component.html',
|
||||
imports: [
|
||||
NewCanvasItem,
|
||||
|
@ -29,7 +29,6 @@ import { ConnectedPosition } from '@angular/cdk/overlay';
|
||||
|
||||
@Component({
|
||||
selector: 'new-canvas-item',
|
||||
standalone: true,
|
||||
templateUrl: './new-canvas-item.component.html',
|
||||
imports: [CdkDrag, NifiTooltipDirective],
|
||||
styleUrls: ['./new-canvas-item.component.scss']
|
||||
|
@ -44,7 +44,6 @@ import { ErrorHelper } from '../../../../../../service/error-helper.service';
|
||||
|
||||
@Component({
|
||||
selector: 'search',
|
||||
standalone: true,
|
||||
templateUrl: './search.component.html',
|
||||
styleUrls: ['./search.component.scss'],
|
||||
imports: [
|
||||
|
@ -61,7 +61,6 @@ import { ContextErrorBanner } from '../../../../../../../ui/common/context-error
|
||||
|
||||
@Component({
|
||||
selector: 'create-connection',
|
||||
standalone: true,
|
||||
imports: [
|
||||
ExtensionCreation,
|
||||
AsyncPipe,
|
||||
|
@ -26,7 +26,6 @@ import { NifiTooltipDirective, TextTip, SelectOption } from '@nifi/shared';
|
||||
|
||||
@Component({
|
||||
selector: 'destination-process-group',
|
||||
standalone: true,
|
||||
templateUrl: './destination-process-group.component.html',
|
||||
styleUrls: ['./destination-process-group.component.scss'],
|
||||
imports: [
|
||||
|
@ -25,7 +25,6 @@ import { NifiTooltipDirective, TextTip, SelectOption } from '@nifi/shared';
|
||||
|
||||
@Component({
|
||||
selector: 'destination-remote-process-group',
|
||||
standalone: true,
|
||||
templateUrl: './destination-remote-process-group.component.html',
|
||||
styleUrls: ['./destination-remote-process-group.component.scss'],
|
||||
imports: [
|
||||
|
@ -60,7 +60,6 @@ import { ContextErrorBanner } from '../../../../../../../ui/common/context-error
|
||||
|
||||
@Component({
|
||||
selector: 'edit-connection',
|
||||
standalone: true,
|
||||
imports: [
|
||||
ExtensionCreation,
|
||||
AsyncPipe,
|
||||
|
@ -36,7 +36,6 @@ import {
|
||||
|
||||
@Component({
|
||||
selector: 'prioritizers',
|
||||
standalone: true,
|
||||
templateUrl: './prioritizers.component.html',
|
||||
imports: [
|
||||
MatButtonModule,
|
||||
|
@ -26,7 +26,6 @@ import { NifiTooltipDirective, SelectOption, TextTip } from '@nifi/shared';
|
||||
|
||||
@Component({
|
||||
selector: 'source-process-group',
|
||||
standalone: true,
|
||||
templateUrl: './source-process-group.component.html',
|
||||
styleUrls: ['./source-process-group.component.scss'],
|
||||
imports: [
|
||||
|
@ -30,7 +30,6 @@ export interface RelationshipItem {
|
||||
|
||||
@Component({
|
||||
selector: 'source-processor',
|
||||
standalone: true,
|
||||
templateUrl: './source-processor.component.html',
|
||||
styleUrls: ['./source-processor.component.scss'],
|
||||
imports: [MatCheckboxModule, FormsModule],
|
||||
|
@ -26,7 +26,6 @@ import { MatSelectModule } from '@angular/material/select';
|
||||
|
||||
@Component({
|
||||
selector: 'source-remote-process-group',
|
||||
standalone: true,
|
||||
templateUrl: './source-remote-process-group.component.html',
|
||||
styleUrls: ['./source-remote-process-group.component.scss'],
|
||||
imports: [
|
||||
|
@ -30,7 +30,6 @@ import { NiFiCommon, CloseOnEscapeDialog } from '@nifi/shared';
|
||||
|
||||
@Component({
|
||||
selector: 'change-version-dialog',
|
||||
standalone: true,
|
||||
imports: [AsyncPipe, MatButton, MatCell, MatCellDef, MatColumnDef, MatDialogModule, MatSortModule, MatTableModule],
|
||||
templateUrl: './change-version-dialog.html',
|
||||
styleUrl: './change-version-dialog.scss'
|
||||
|
@ -25,7 +25,6 @@ import { MatProgressBar } from '@angular/material/progress-bar';
|
||||
|
||||
@Component({
|
||||
selector: 'change-version-progress-dialog',
|
||||
standalone: true,
|
||||
imports: [MatDialogTitle, MatDialogModule, MatButton, AsyncPipe, MatProgressBar],
|
||||
templateUrl: './change-version-progress-dialog.html',
|
||||
styleUrl: './change-version-progress-dialog.scss'
|
||||
|
@ -62,7 +62,6 @@ import { ContextErrorBanner } from '../../../../../../../ui/common/context-error
|
||||
|
||||
@Component({
|
||||
selector: 'import-from-registry',
|
||||
standalone: true,
|
||||
imports: [
|
||||
AsyncPipe,
|
||||
ErrorBanner,
|
||||
|
@ -33,7 +33,6 @@ import { CloseOnEscapeDialog } from '@nifi/shared';
|
||||
|
||||
@Component({
|
||||
selector: 'local-changes-dialog',
|
||||
standalone: true,
|
||||
imports: [
|
||||
MatDialogModule,
|
||||
MatButton,
|
||||
|
@ -39,7 +39,6 @@ interface LocalChange {
|
||||
|
||||
@Component({
|
||||
selector: 'local-changes-table',
|
||||
standalone: true,
|
||||
imports: [
|
||||
MatFormField,
|
||||
MatInput,
|
||||
|
@ -40,7 +40,6 @@ import { ContextErrorBanner } from '../../../../../../../ui/common/context-error
|
||||
|
||||
@Component({
|
||||
selector: 'save-version-dialog',
|
||||
standalone: true,
|
||||
imports: [
|
||||
MatDialogTitle,
|
||||
ReactiveFormsModule,
|
||||
|
@ -39,7 +39,6 @@ import { ContextErrorBanner } from '../../../../../../../ui/common/context-error
|
||||
|
||||
@Component({
|
||||
selector: 'edit-label',
|
||||
standalone: true,
|
||||
templateUrl: './edit-label.component.html',
|
||||
imports: [
|
||||
ReactiveFormsModule,
|
||||
|
@ -36,7 +36,6 @@ import { ContextErrorBanner } from '../../../../../../../ui/common/context-error
|
||||
|
||||
@Component({
|
||||
selector: 'create-port',
|
||||
standalone: true,
|
||||
imports: [
|
||||
ReactiveFormsModule,
|
||||
MatDialogModule,
|
||||
|
@ -37,7 +37,6 @@ import { ErrorContextKey } from '../../../../../../../state/error';
|
||||
import { ContextErrorBanner } from '../../../../../../../ui/common/context-error-banner/context-error-banner.component';
|
||||
@Component({
|
||||
selector: 'edit-port',
|
||||
standalone: true,
|
||||
templateUrl: './edit-port.component.html',
|
||||
imports: [
|
||||
ReactiveFormsModule,
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user