mirror of https://github.com/apache/nifi.git
[NIFI-13041] update listing table column widths (#8656)
* [NIFI-13041] update listing table column widths (moreDetails) * listing tables actions column widths * update table columns to better fit the data * prettier * restore property table commented out html * name column now 25%, more-details and actions columns fixed width, all other columns flex * column width percenatages for clustered tables * property table updates This closes #8656
This commit is contained in:
parent
05558ca2de
commit
3f7085fec8
|
@ -38,7 +38,7 @@
|
||||||
<ng-container matColumnDef="actions">
|
<ng-container matColumnDef="actions">
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center justify-end gap-x-2">
|
||||||
@if (canRemove()) {
|
@if (canRemove()) {
|
||||||
<div
|
<div
|
||||||
class="pointer fa fa-trash primary-color"
|
class="pointer fa fa-trash primary-color"
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
.policy-table {
|
.policy-table {
|
||||||
.listing-table {
|
.listing-table {
|
||||||
.mat-column-actions {
|
.mat-column-actions {
|
||||||
width: 75px;
|
width: 32px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
<ng-container>
|
<ng-container>
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center gap-x-2">
|
||||||
@if (canRead(item)) {
|
@if (canRead(item)) {
|
||||||
<div
|
<div
|
||||||
class="pointer fa fa-info-circle primary-color"
|
class="pointer fa fa-info-circle primary-color"
|
||||||
|
|
|
@ -19,7 +19,10 @@
|
||||||
.listing-table {
|
.listing-table {
|
||||||
.mat-column-moreDetails {
|
.mat-column-moreDetails {
|
||||||
width: 32px;
|
width: 32px;
|
||||||
min-width: 32px;
|
}
|
||||||
|
|
||||||
|
.mat-column-sourceName {
|
||||||
|
width: 25%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,9 +66,9 @@
|
||||||
<ng-container matColumnDef="actions">
|
<ng-container matColumnDef="actions">
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
<div class="flex items-center gap-x-3 pointer">
|
<div class="flex items-center justify-end gap-x-2">
|
||||||
<div
|
<div
|
||||||
class="fa fa-long-arrow-right primary-color"
|
class="pointer fa fa-long-arrow-right primary-color"
|
||||||
title="Go To"
|
title="Go To"
|
||||||
(click)="goToClicked(item)"></div>
|
(click)="goToClicked(item)"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -17,9 +17,16 @@
|
||||||
|
|
||||||
.local-changes-table {
|
.local-changes-table {
|
||||||
.listing-table {
|
.listing-table {
|
||||||
|
.mat-column-componentName {
|
||||||
|
width: 230px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mat-column-changeType {
|
||||||
|
width: 230px;
|
||||||
|
}
|
||||||
|
|
||||||
.mat-column-actions {
|
.mat-column-actions {
|
||||||
width: 40px;
|
width: 32px;
|
||||||
min-width: 40px;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,7 +65,7 @@
|
||||||
<ng-container matColumnDef="moreDetails">
|
<ng-container matColumnDef="moreDetails">
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center gap-x-2">
|
||||||
@if (hasComments(item)) {
|
@if (hasComments(item)) {
|
||||||
<div>
|
<div>
|
||||||
<div
|
<div
|
||||||
|
@ -190,7 +190,7 @@
|
||||||
<ng-container matColumnDef="actions">
|
<ng-container matColumnDef="actions">
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let port">
|
<td mat-cell *matCellDef="let port">
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center justify-end gap-x-2">
|
||||||
@if (
|
@if (
|
||||||
port.exists === true &&
|
port.exists === true &&
|
||||||
port.connected === true &&
|
port.connected === true &&
|
||||||
|
|
|
@ -21,18 +21,22 @@
|
||||||
line-height: normal;
|
line-height: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
.manage-remote-ports-table.listing-table {
|
.manage-remote-ports-table {
|
||||||
@include mat.table-density(-4);
|
.listing-table {
|
||||||
|
@include mat.table-density(-4);
|
||||||
|
|
||||||
table {
|
table {
|
||||||
.mat-column-moreDetails {
|
.mat-column-moreDetails {
|
||||||
width: 32px;
|
width: 52px;
|
||||||
min-width: 32px;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.mat-column-actions {
|
.mat-column-name {
|
||||||
width: 75px;
|
width: 25%;
|
||||||
min-width: 75px;
|
}
|
||||||
|
|
||||||
|
.mat-column-actions {
|
||||||
|
width: 52px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
~ limitations under the License.
|
~ limitations under the License.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<div class="relative h-full">
|
<div class="parameter-context-table relative h-full">
|
||||||
<div class="listing-table absolute inset-0 overflow-y-auto">
|
<div class="listing-table absolute inset-0 overflow-y-auto">
|
||||||
<table
|
<table
|
||||||
mat-table
|
mat-table
|
||||||
|
@ -30,7 +30,7 @@
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
@if (canRead(item)) {
|
@if (canRead(item)) {
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center gap-x-2">
|
||||||
<!-- TODO - handle read only in configure component? -->
|
<!-- TODO - handle read only in configure component? -->
|
||||||
@if (canRead(item)) {
|
@if (canRead(item)) {
|
||||||
<div class="pointer fa fa-info-circle primary-color"></div>
|
<div class="pointer fa fa-info-circle primary-color"></div>
|
||||||
|
@ -44,7 +44,9 @@
|
||||||
<ng-container matColumnDef="name">
|
<ng-container matColumnDef="name">
|
||||||
<th mat-header-cell *matHeaderCellDef mat-sort-header>Name</th>
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Name</th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
<div [ngClass]="{ unset: !canRead(item), 'nifi-surface-default': !canRead(item) }">
|
<div
|
||||||
|
[ngClass]="{ unset: !canRead(item), 'nifi-surface-default': !canRead(item) }"
|
||||||
|
class="overflow-hidden overflow-ellipsis whitespace-nowrap">
|
||||||
{{ formatName(item) }}
|
{{ formatName(item) }}
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
@ -70,7 +72,7 @@
|
||||||
<ng-container matColumnDef="actions">
|
<ng-container matColumnDef="actions">
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center justify-end gap-x-2">
|
||||||
@if (canRead(item) && canWrite(item)) {
|
@if (canRead(item) && canWrite(item)) {
|
||||||
<div
|
<div
|
||||||
class="pointer fa fa-pencil primary-color"
|
class="pointer fa fa-pencil primary-color"
|
||||||
|
|
|
@ -14,3 +14,19 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
.parameter-context-table {
|
||||||
|
.listing-table {
|
||||||
|
.mat-column-moreDetails {
|
||||||
|
width: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mat-column-name {
|
||||||
|
width: 25%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mat-column-actions {
|
||||||
|
width: 96px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -95,7 +95,7 @@
|
||||||
<ng-container matColumnDef="actions">
|
<ng-container matColumnDef="actions">
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center justify-end gap-x-2">
|
||||||
@if (canGoToParameter(item)) {
|
@if (canGoToParameter(item)) {
|
||||||
<div
|
<div
|
||||||
class="pointer fa fa-long-arrow-right primary-color"
|
class="pointer fa fa-long-arrow-right primary-color"
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
|
|
||||||
table {
|
table {
|
||||||
.mat-column-actions {
|
.mat-column-actions {
|
||||||
width: 75px;
|
width: 74px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -76,10 +76,12 @@
|
||||||
<ng-container matColumnDef="moreDetails">
|
<ng-container matColumnDef="moreDetails">
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
<div
|
<div class="flex items-center gap-x-2">
|
||||||
class="pointer fa fa-info-circle primary-color"
|
<div
|
||||||
title="View Details"
|
class="pointer fa fa-info-circle primary-color"
|
||||||
(click)="viewDetailsClicked(item)"></div>
|
title="View Details"
|
||||||
|
(click)="viewDetailsClicked(item)"></div>
|
||||||
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
|
@ -145,7 +147,7 @@
|
||||||
<ng-container matColumnDef="actions">
|
<ng-container matColumnDef="actions">
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center justify-end gap-x-2">
|
||||||
<div
|
<div
|
||||||
class="pointer icon icon-lineage primary-color"
|
class="pointer icon icon-lineage primary-color"
|
||||||
(click)="showLineageGraph(item)"
|
(click)="showLineageGraph(item)"
|
||||||
|
|
|
@ -19,13 +19,11 @@
|
||||||
.listing-table {
|
.listing-table {
|
||||||
table {
|
table {
|
||||||
.mat-column-moreDetails {
|
.mat-column-moreDetails {
|
||||||
min-width: 50px;
|
width: 32px;
|
||||||
width: 50px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.mat-column-actions {
|
.mat-column-actions {
|
||||||
min-width: 50px;
|
width: 52px;
|
||||||
width: 50px;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,10 +45,12 @@
|
||||||
<ng-container matColumnDef="moreDetails">
|
<ng-container matColumnDef="moreDetails">
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
<div
|
<div class="flex items-center gap-x-2">
|
||||||
class="pointer fa fa-info-circle primary-color"
|
<div
|
||||||
title="View Details"
|
class="pointer fa fa-info-circle primary-color"
|
||||||
(click)="viewFlowFileClicked(item)"></div>
|
title="View Details"
|
||||||
|
(click)="viewFlowFileClicked(item)"></div>
|
||||||
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
|
@ -122,7 +124,7 @@
|
||||||
<ng-container matColumnDef="actions">
|
<ng-container matColumnDef="actions">
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center justify-end gap-x-2">
|
||||||
@if (item.size > 0) {
|
@if (item.size > 0) {
|
||||||
<div
|
<div
|
||||||
class="pointer fa fa-download primary-color"
|
class="pointer fa fa-download primary-color"
|
||||||
|
|
|
@ -19,23 +19,15 @@
|
||||||
.listing-table {
|
.listing-table {
|
||||||
table {
|
table {
|
||||||
.mat-column-moreDetails {
|
.mat-column-moreDetails {
|
||||||
min-width: 50px;
|
width: 32px;
|
||||||
width: 50px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.mat-column-position {
|
.mat-column-flowFileUuid {
|
||||||
min-width: 75px;
|
width: 25%;
|
||||||
width: 75px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mat-column-penalized {
|
|
||||||
min-width: 85px;
|
|
||||||
width: 85px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.mat-column-actions {
|
.mat-column-actions {
|
||||||
min-width: 100px;
|
width: 74px;
|
||||||
width: 100px;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
@if (canRead(item)) {
|
@if (canRead(item)) {
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center gap-x-2">
|
||||||
<div
|
<div
|
||||||
class="pointer fa fa-book primary-color"
|
class="pointer fa fa-book primary-color"
|
||||||
(click)="viewDocumentationClicked(item, $event)"
|
(click)="viewDocumentationClicked(item, $event)"
|
||||||
|
@ -121,7 +121,7 @@
|
||||||
<ng-container matColumnDef="actions">
|
<ng-container matColumnDef="actions">
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center justify-end gap-x-2">
|
||||||
@if (canConfigure(item)) {
|
@if (canConfigure(item)) {
|
||||||
<div
|
<div
|
||||||
class="pointer fa fa-cog primary-color"
|
class="pointer fa fa-cog primary-color"
|
||||||
|
|
|
@ -19,7 +19,15 @@
|
||||||
.listing-table {
|
.listing-table {
|
||||||
table {
|
table {
|
||||||
.mat-column-moreDetails {
|
.mat-column-moreDetails {
|
||||||
min-width: 100px;
|
width: 96px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mat-column-name {
|
||||||
|
width: 25%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mat-column-actions {
|
||||||
|
width: 140px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -253,7 +253,7 @@
|
||||||
<ng-container matColumnDef="indicators">
|
<ng-container matColumnDef="indicators">
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
<div class="flex items-center gap-x-3 justify-end">
|
<div class="flex items-center gap-x-2 justify-end">
|
||||||
<div
|
<div
|
||||||
class="fa fa-hashtag primary-color"
|
class="fa fa-hashtag primary-color"
|
||||||
title="Parameter is currently referenced by a property. The sensitivity cannot be changed."
|
title="Parameter is currently referenced by a property. The sensitivity cannot be changed."
|
||||||
|
|
|
@ -37,11 +37,10 @@
|
||||||
.listing-table {
|
.listing-table {
|
||||||
.mat-column-sensitive {
|
.mat-column-sensitive {
|
||||||
width: 32px;
|
width: 32px;
|
||||||
min-width: 32px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.mat-column-indicators {
|
.mat-column-indicators {
|
||||||
width: 48px;
|
width: 52px;
|
||||||
min-width: 48px;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
<ng-container matColumnDef="indicators">
|
<ng-container matColumnDef="indicators">
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center gap-x-2">
|
||||||
@if (isSyncedToParameterContext(item)) {
|
@if (isSyncedToParameterContext(item)) {
|
||||||
<div class="fa fa-star primary-color" title="Synced to a parameter context."></div>
|
<div class="fa fa-star primary-color" title="Synced to a parameter context."></div>
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,6 @@
|
||||||
.listing-table {
|
.listing-table {
|
||||||
.mat-column-indicators {
|
.mat-column-indicators {
|
||||||
width: 32px;
|
width: 32px;
|
||||||
min-width: 32px;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
@if (canRead(item)) {
|
@if (canRead(item)) {
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center gap-x-2">
|
||||||
<!-- TODO: open details -->
|
<!-- TODO: open details -->
|
||||||
<div class="pointer fa fa-info-circle primary-color" title="View details"></div>
|
<div class="pointer fa fa-info-circle primary-color" title="View details"></div>
|
||||||
|
|
||||||
|
@ -67,7 +67,8 @@
|
||||||
[ngClass]="{
|
[ngClass]="{
|
||||||
unset: !canRead(item),
|
unset: !canRead(item),
|
||||||
'nifi-surface-default': !canRead(item)
|
'nifi-surface-default': !canRead(item)
|
||||||
}">
|
}"
|
||||||
|
class="overflow-hidden overflow-ellipsis whitespace-nowrap">
|
||||||
{{ formatName(item) }}
|
{{ formatName(item) }}
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
@ -96,7 +97,7 @@
|
||||||
<ng-container matColumnDef="actions">
|
<ng-container matColumnDef="actions">
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center justify-end gap-x-2">
|
||||||
@if (canConfigure(item)) {
|
@if (canConfigure(item)) {
|
||||||
<div
|
<div
|
||||||
class="pointer fa fa-cog primary-color"
|
class="pointer fa fa-cog primary-color"
|
||||||
|
|
|
@ -17,6 +17,18 @@
|
||||||
|
|
||||||
.parameter-providers-table {
|
.parameter-providers-table {
|
||||||
.listing-table {
|
.listing-table {
|
||||||
// overrides to the listing-table styles go here
|
table {
|
||||||
|
.mat-column-moreDetails {
|
||||||
|
width: 82px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mat-column-name {
|
||||||
|
width: 25%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mat-column-actions {
|
||||||
|
width: 118px;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,8 +15,8 @@
|
||||||
~ limitations under the License.
|
~ limitations under the License.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<div class="relative h-full">
|
<div class="registry-client-table relative h-full">
|
||||||
<div class="registry-client-table listing-table absolute inset-0 overflow-y-auto">
|
<div class="listing-table absolute inset-0 overflow-y-auto">
|
||||||
<table
|
<table
|
||||||
mat-table
|
mat-table
|
||||||
[dataSource]="dataSource"
|
[dataSource]="dataSource"
|
||||||
|
@ -30,7 +30,7 @@
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
@if (canRead(item)) {
|
@if (canRead(item)) {
|
||||||
<div class="flex items-center">
|
<div class="flex items-center gap-x-2">
|
||||||
<!-- TODO - handle read only in configure component? -->
|
<!-- TODO - handle read only in configure component? -->
|
||||||
@if (hasErrors(item)) {
|
@if (hasErrors(item)) {
|
||||||
<div
|
<div
|
||||||
|
@ -99,7 +99,7 @@
|
||||||
<ng-container matColumnDef="actions">
|
<ng-container matColumnDef="actions">
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center justify-end gap-x-2">
|
||||||
@if (canConfigure(item)) {
|
@if (canConfigure(item)) {
|
||||||
<div
|
<div
|
||||||
class="pointer fa fa-cog primary-color"
|
class="pointer fa fa-cog primary-color"
|
||||||
|
|
|
@ -15,10 +15,20 @@
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
.registry-client-table.listing-table {
|
.registry-client-table {
|
||||||
table {
|
.listing-table {
|
||||||
.mat-column-moreDetails {
|
table {
|
||||||
min-width: 100px;
|
.mat-column-moreDetails {
|
||||||
|
width: 52px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mat-column-name {
|
||||||
|
width: 25%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mat-column-actions {
|
||||||
|
width: 52px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
@if (canRead(item)) {
|
@if (canRead(item)) {
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center gap-x-2">
|
||||||
<div
|
<div
|
||||||
class="pointer fa fa-book primary-color"
|
class="pointer fa fa-book primary-color"
|
||||||
(click)="viewDocumentationClicked(item, $event)"
|
(click)="viewDocumentationClicked(item, $event)"
|
||||||
|
@ -75,7 +75,9 @@
|
||||||
<ng-container matColumnDef="name">
|
<ng-container matColumnDef="name">
|
||||||
<th mat-header-cell *matHeaderCellDef mat-sort-header>Name</th>
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Name</th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
<div [ngClass]="{ unset: !canRead(item), 'nifi-surface-default': !canRead(item) }">
|
<div
|
||||||
|
[ngClass]="{ unset: !canRead(item), 'nifi-surface-default': !canRead(item) }"
|
||||||
|
class="overflow-hidden overflow-ellipsis whitespace-nowrap">
|
||||||
{{ formatName(item) }}
|
{{ formatName(item) }}
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
@ -115,7 +117,7 @@
|
||||||
<ng-container matColumnDef="actions">
|
<ng-container matColumnDef="actions">
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center justify-end gap-x-2">
|
||||||
@if (canStop(item)) {
|
@if (canStop(item)) {
|
||||||
<div
|
<div
|
||||||
class="pointer fa fa-stop primary-color"
|
class="pointer fa fa-stop primary-color"
|
||||||
|
|
|
@ -18,7 +18,15 @@
|
||||||
.reporting-task-table.listing-table {
|
.reporting-task-table.listing-table {
|
||||||
table {
|
table {
|
||||||
.mat-column-moreDetails {
|
.mat-column-moreDetails {
|
||||||
min-width: 100px;
|
width: 96px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mat-column-name {
|
||||||
|
width: 25%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mat-column-actions {
|
||||||
|
width: 140px; // only 6 of the 8 action icons can be present at the same time
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,8 +18,7 @@
|
||||||
.connection-cluster-table {
|
.connection-cluster-table {
|
||||||
.listing-table {
|
.listing-table {
|
||||||
.mat-column-node {
|
.mat-column-node {
|
||||||
min-width: 200px;
|
width: 25%;
|
||||||
width: 30%;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,9 +17,16 @@
|
||||||
|
|
||||||
.port-cluster-table {
|
.port-cluster-table {
|
||||||
.listing-table {
|
.listing-table {
|
||||||
.mat-column-node {
|
.mat-column-runStatus {
|
||||||
min-width: 200px;
|
width: 15%;
|
||||||
width: 50%;
|
}
|
||||||
|
|
||||||
|
.mat-column-in {
|
||||||
|
width: 15%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mat-column-out {
|
||||||
|
width: 15%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,8 +18,7 @@
|
||||||
.process-group-cluster-table {
|
.process-group-cluster-table {
|
||||||
.listing-table {
|
.listing-table {
|
||||||
.mat-column-node {
|
.mat-column-node {
|
||||||
min-width: 200px;
|
width: 25%;
|
||||||
width: 30%;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,8 +18,7 @@
|
||||||
.processor-cluster-table {
|
.processor-cluster-table {
|
||||||
.listing-table {
|
.listing-table {
|
||||||
.mat-column-node {
|
.mat-column-node {
|
||||||
min-width: 200px;
|
width: 25%;
|
||||||
width: 30%;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,8 +18,7 @@
|
||||||
.remote-process-group-cluster-table {
|
.remote-process-group-cluster-table {
|
||||||
.listing-table {
|
.listing-table {
|
||||||
.mat-column-node {
|
.mat-column-node {
|
||||||
min-width: 200px;
|
width: 25%;
|
||||||
width: 30%;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,7 +42,9 @@
|
||||||
<!-- More Details Column -->
|
<!-- More Details Column -->
|
||||||
<ng-container matColumnDef="moreDetails">
|
<ng-container matColumnDef="moreDetails">
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item"></td>
|
<td mat-cell *matCellDef="let item">
|
||||||
|
<div class="flex items-center gap-x-2"></div>
|
||||||
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<!-- Name Column -->
|
<!-- Name Column -->
|
||||||
|
@ -140,7 +142,7 @@
|
||||||
<ng-container matColumnDef="actions">
|
<ng-container matColumnDef="actions">
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center justify-end gap-x-2">
|
||||||
<div
|
<div
|
||||||
class="pointer fa fa-long-arrow-right primary-color"
|
class="pointer fa fa-long-arrow-right primary-color"
|
||||||
[routerLink]="getPortLink(item)"
|
[routerLink]="getPortLink(item)"
|
||||||
|
|
|
@ -22,9 +22,21 @@
|
||||||
min-width: 32px;
|
min-width: 32px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.mat-column-runStatus {
|
||||||
|
width: 20%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mat-column-in {
|
||||||
|
width: 20%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mat-column-out {
|
||||||
|
width: 20%;
|
||||||
|
}
|
||||||
|
|
||||||
.mat-column-actions {
|
.mat-column-actions {
|
||||||
width: 80px;
|
width: 52px;
|
||||||
min-width: 80px;
|
min-width: 52px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,7 +43,9 @@
|
||||||
<!-- More Details Column -->
|
<!-- More Details Column -->
|
||||||
<ng-container matColumnDef="moreDetails">
|
<ng-container matColumnDef="moreDetails">
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item"></td>
|
<td mat-cell *matCellDef="let item">
|
||||||
|
<div class="flex items-center gap-x-2"></div>
|
||||||
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<!-- Name Column -->
|
<!-- Name Column -->
|
||||||
|
@ -204,7 +206,7 @@
|
||||||
<ng-container matColumnDef="actions">
|
<ng-container matColumnDef="actions">
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center justify-end gap-x-2">
|
||||||
<div
|
<div
|
||||||
class="pointer fa fa-long-arrow-right primary-color"
|
class="pointer fa fa-long-arrow-right primary-color"
|
||||||
[routerLink]="getConnectionLink(item)"
|
[routerLink]="getConnectionLink(item)"
|
||||||
|
|
|
@ -19,12 +19,14 @@
|
||||||
.listing-table {
|
.listing-table {
|
||||||
.mat-column-moreDetails {
|
.mat-column-moreDetails {
|
||||||
width: 32px;
|
width: 32px;
|
||||||
min-width: 32px;
|
}
|
||||||
|
|
||||||
|
.mat-column-name {
|
||||||
|
width: 25%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mat-column-actions {
|
.mat-column-actions {
|
||||||
width: 80px;
|
width: 74px;
|
||||||
min-width: 80px;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,7 @@
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
@if (canRead(item)) {
|
@if (canRead(item)) {
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center gap-x-2">
|
||||||
<!-- TODO - handle read only in configure component? -->
|
<!-- TODO - handle read only in configure component? -->
|
||||||
@if (canRead(item)) {
|
@if (canRead(item)) {
|
||||||
<div
|
<div
|
||||||
|
@ -330,7 +330,7 @@
|
||||||
<ng-container matColumnDef="actions">
|
<ng-container matColumnDef="actions">
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center justify-end gap-x-2">
|
||||||
<div
|
<div
|
||||||
class="pointer fa fa-long-arrow-right primary-color"
|
class="pointer fa fa-long-arrow-right primary-color"
|
||||||
[routerLink]="getProcessGroupLink(item)"
|
[routerLink]="getProcessGroupLink(item)"
|
||||||
|
|
|
@ -19,12 +19,14 @@
|
||||||
.listing-table {
|
.listing-table {
|
||||||
.mat-column-moreDetails {
|
.mat-column-moreDetails {
|
||||||
width: 32px;
|
width: 32px;
|
||||||
min-width: 32px;
|
}
|
||||||
|
|
||||||
|
.mat-column-name {
|
||||||
|
width: 25%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mat-column-actions {
|
.mat-column-actions {
|
||||||
width: 80px;
|
width: 74px;
|
||||||
min-width: 80px;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,7 @@
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
@if (canRead(item)) {
|
@if (canRead(item)) {
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center gap-x-2">
|
||||||
<!-- TODO - handle read only in configure component? -->
|
<!-- TODO - handle read only in configure component? -->
|
||||||
@if (canRead(item)) {
|
@if (canRead(item)) {
|
||||||
<div
|
<div
|
||||||
|
@ -70,7 +70,9 @@
|
||||||
P
|
P
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
<div>{{ formatName(item) }}</div>
|
<div class="flex-1 overflow-ellipsis overflow-hidden whitespace-nowrap">
|
||||||
|
{{ formatName(item) }}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
@ -81,7 +83,9 @@
|
||||||
<div class="flex-1 overflow-ellipsis overflow-hidden whitespace-nowrap">Type</div>
|
<div class="flex-1 overflow-ellipsis overflow-hidden whitespace-nowrap">Type</div>
|
||||||
</th>
|
</th>
|
||||||
<td mat-cell *matCellDef="let item" [title]="formatType(item)">
|
<td mat-cell *matCellDef="let item" [title]="formatType(item)">
|
||||||
{{ formatType(item) }}
|
<div class="flex-1 overflow-ellipsis overflow-hidden whitespace-nowrap">
|
||||||
|
{{ formatType(item) }}
|
||||||
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
|
@ -101,8 +105,7 @@
|
||||||
<ng-container matColumnDef="runStatus">
|
<ng-container matColumnDef="runStatus">
|
||||||
<th mat-header-cell *matHeaderCellDef mat-sort-header>Run Status</th>
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Run Status</th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
<div
|
<div class="inline-block space-x-1.5 align-middle">
|
||||||
class="inline-block overflow-hidden overflow-ellipsis whitespace-nowrap space-x-1.5 align-middle">
|
|
||||||
<span [ngClass]="getRunStatusIcon(item)"></span>
|
<span [ngClass]="getRunStatusIcon(item)"></span>
|
||||||
<span [title]="formatRunStatus(item)">{{ formatRunStatus(item) }}</span>
|
<span [title]="formatRunStatus(item)">{{ formatRunStatus(item) }}</span>
|
||||||
|
|
||||||
|
@ -246,7 +249,7 @@
|
||||||
<ng-container matColumnDef="actions">
|
<ng-container matColumnDef="actions">
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center justify-end gap-x-2">
|
||||||
<div
|
<div
|
||||||
class="pointer fa fa-long-arrow-right primary-color"
|
class="pointer fa fa-long-arrow-right primary-color"
|
||||||
[routerLink]="getProcessorLink(item)"
|
[routerLink]="getProcessorLink(item)"
|
||||||
|
|
|
@ -18,12 +18,14 @@
|
||||||
.listing-table {
|
.listing-table {
|
||||||
.mat-column-moreDetails {
|
.mat-column-moreDetails {
|
||||||
width: 32px;
|
width: 32px;
|
||||||
min-width: 32px;
|
}
|
||||||
|
|
||||||
|
.mat-column-name {
|
||||||
|
width: 25%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mat-column-actions {
|
.mat-column-actions {
|
||||||
width: 80px;
|
width: 74px;
|
||||||
min-width: 80px;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.primary-node-only {
|
.primary-node-only {
|
||||||
|
|
|
@ -43,7 +43,9 @@
|
||||||
<!-- More Details Column -->
|
<!-- More Details Column -->
|
||||||
<ng-container matColumnDef="moreDetails">
|
<ng-container matColumnDef="moreDetails">
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item"></td>
|
<td mat-cell *matCellDef="let item">
|
||||||
|
<div class="flex items-center gap-x-2"></div>
|
||||||
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<!-- Name Column -->
|
<!-- Name Column -->
|
||||||
|
@ -146,7 +148,7 @@
|
||||||
<ng-container matColumnDef="actions">
|
<ng-container matColumnDef="actions">
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center justify-end gap-x-2">
|
||||||
<div
|
<div
|
||||||
class="pointer fa fa-long-arrow-right primary-color"
|
class="pointer fa fa-long-arrow-right primary-color"
|
||||||
[routerLink]="getRemoteProcessGroupLink(item)"
|
[routerLink]="getRemoteProcessGroupLink(item)"
|
||||||
|
|
|
@ -19,12 +19,14 @@
|
||||||
.listing-table {
|
.listing-table {
|
||||||
.mat-column-moreDetails {
|
.mat-column-moreDetails {
|
||||||
width: 32px;
|
width: 32px;
|
||||||
min-width: 32px;
|
}
|
||||||
|
|
||||||
|
.mat-column-name {
|
||||||
|
width: 25%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mat-column-actions {
|
.mat-column-actions {
|
||||||
width: 80px;
|
width: 74px;
|
||||||
min-width: 80px;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,11 +60,13 @@
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
@if (canGoToPolicyTarget(item)) {
|
@if (canGoToPolicyTarget(item)) {
|
||||||
<div
|
<div class="flex items-center justify-end gap-x-2">
|
||||||
class="pointer fa fa-long-arrow-right primary-color"
|
<div
|
||||||
[routerLink]="getPolicyTargetLink(item)"
|
class="pointer fa fa-long-arrow-right primary-color"
|
||||||
mat-dialog-close="ROUTED"
|
[routerLink]="getPolicyTargetLink(item)"
|
||||||
title="Go to"></div>
|
mat-dialog-close="ROUTED"
|
||||||
|
title="Go to"></div>
|
||||||
|
</div>
|
||||||
}
|
}
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
|
@ -24,17 +24,8 @@
|
||||||
|
|
||||||
.listing-table {
|
.listing-table {
|
||||||
table {
|
table {
|
||||||
td,
|
|
||||||
th {
|
|
||||||
cursor: default;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mat-column-action {
|
|
||||||
width: 75px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mat-column-actions {
|
.mat-column-actions {
|
||||||
width: 50px;
|
width: 32px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,7 +78,7 @@
|
||||||
<ng-container matColumnDef="actions">
|
<ng-container matColumnDef="actions">
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center justify-end gap-x-2">
|
||||||
@if (canEditOrDelete(currentUser, item)) {
|
@if (canEditOrDelete(currentUser, item)) {
|
||||||
<div
|
<div
|
||||||
class="pointer fa fa-pencil primary-color"
|
class="pointer fa fa-pencil primary-color"
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
.user-table {
|
.user-table {
|
||||||
.listing-table {
|
.listing-table {
|
||||||
.mat-column-actions {
|
.mat-column-actions {
|
||||||
width: 75px;
|
width: 74px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,8 +15,8 @@
|
||||||
~ limitations under the License.
|
~ limitations under the License.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<div class="relative h-full">
|
<div class="controller-service-table relative h-full">
|
||||||
<div class="controller-service-table listing-table absolute inset-0 overflow-y-auto">
|
<div class="listing-table absolute inset-0 overflow-y-auto">
|
||||||
<table
|
<table
|
||||||
mat-table
|
mat-table
|
||||||
[dataSource]="dataSource"
|
[dataSource]="dataSource"
|
||||||
|
@ -30,7 +30,7 @@
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
@if (canRead(item)) {
|
@if (canRead(item)) {
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center gap-x-2">
|
||||||
<div
|
<div
|
||||||
class="pointer fa fa-book primary-color"
|
class="pointer fa fa-book primary-color"
|
||||||
(click)="viewDocumentationClicked(item, $event)"
|
(click)="viewDocumentationClicked(item, $event)"
|
||||||
|
@ -75,7 +75,9 @@
|
||||||
<ng-container matColumnDef="name">
|
<ng-container matColumnDef="name">
|
||||||
<th mat-header-cell *matHeaderCellDef mat-sort-header>Name</th>
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Name</th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
<div [ngClass]="{ unset: !canRead(item), 'nifi-surface-default': !canRead(item) }">
|
<div
|
||||||
|
[ngClass]="{ unset: !canRead(item), 'nifi-surface-default': !canRead(item) }"
|
||||||
|
class="overflow-hidden overflow-ellipsis whitespace-nowrap">
|
||||||
{{ formatName(item) }}
|
{{ formatName(item) }}
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
@ -97,6 +99,14 @@
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
|
<!-- Scope Column -->
|
||||||
|
<ng-container matColumnDef="scope">
|
||||||
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Scope</th>
|
||||||
|
<td mat-cell *matCellDef="let item">
|
||||||
|
{{ formatScope(item) }}
|
||||||
|
</td>
|
||||||
|
</ng-container>
|
||||||
|
|
||||||
<!-- State Column -->
|
<!-- State Column -->
|
||||||
<ng-container matColumnDef="state">
|
<ng-container matColumnDef="state">
|
||||||
<th mat-header-cell *matHeaderCellDef mat-sort-header>State</th>
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>State</th>
|
||||||
|
@ -108,20 +118,12 @@
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<!-- Scope Column -->
|
|
||||||
<ng-container matColumnDef="scope">
|
|
||||||
<th mat-header-cell *matHeaderCellDef mat-sort-header>Scope</th>
|
|
||||||
<td mat-cell *matCellDef="let item">
|
|
||||||
{{ formatScope(item) }}
|
|
||||||
</td>
|
|
||||||
</ng-container>
|
|
||||||
|
|
||||||
<!-- Actions Column -->
|
<!-- Actions Column -->
|
||||||
<ng-container matColumnDef="actions">
|
<ng-container matColumnDef="actions">
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
@if (definedByCurrentGroup(item)) {
|
@if (definedByCurrentGroup(item)) {
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center justify-end gap-x-2">
|
||||||
@if (canConfigure(item)) {
|
@if (canConfigure(item)) {
|
||||||
<div
|
<div
|
||||||
class="pointer fa fa-cog primary-color"
|
class="pointer fa fa-cog primary-color"
|
||||||
|
|
|
@ -21,7 +21,15 @@
|
||||||
.listing-table {
|
.listing-table {
|
||||||
table {
|
table {
|
||||||
.mat-column-moreDetails {
|
.mat-column-moreDetails {
|
||||||
min-width: 90px;
|
width: 96px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mat-column-name {
|
||||||
|
width: 25%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mat-column-actions {
|
||||||
|
width: 140px; // only 6 of the 8 action icons can be present at the same time
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -102,7 +102,7 @@
|
||||||
<ng-container matColumnDef="actions">
|
<ng-container matColumnDef="actions">
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
<td mat-cell *matCellDef="let item">
|
<td mat-cell *matCellDef="let item">
|
||||||
<div class="flex items-center gap-x-3">
|
<div class="flex items-center justify-end gap-x-2">
|
||||||
@if (item.descriptor.identifiesControllerService) {
|
@if (item.descriptor.identifiesControllerService) {
|
||||||
<div
|
<div
|
||||||
class="pointer fa fa-plus primary-color"
|
class="pointer fa fa-plus primary-color"
|
||||||
|
|
|
@ -14,3 +14,13 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
.property-table {
|
||||||
|
.listing-table {
|
||||||
|
table {
|
||||||
|
.mat-column-actions {
|
||||||
|
width: 74px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -127,6 +127,12 @@ export class PropertyTable implements AfterViewInit, ControlValueAccessor {
|
||||||
isTouched = false;
|
isTouched = false;
|
||||||
onTouched!: () => void;
|
onTouched!: () => void;
|
||||||
onChange!: (properties: Property[]) => void;
|
onChange!: (properties: Property[]) => void;
|
||||||
|
editorOpen = false;
|
||||||
|
editorTrigger: any = null;
|
||||||
|
editorItem!: PropertyItem;
|
||||||
|
editorWidth = 0;
|
||||||
|
editorOffsetX = 0;
|
||||||
|
editorOffsetY = 0;
|
||||||
|
|
||||||
private originPos: OriginConnectionPosition = {
|
private originPos: OriginConnectionPosition = {
|
||||||
originX: 'center',
|
originX: 'center',
|
||||||
|
@ -136,17 +142,7 @@ export class PropertyTable implements AfterViewInit, ControlValueAccessor {
|
||||||
overlayX: 'center',
|
overlayX: 'center',
|
||||||
overlayY: 'center'
|
overlayY: 'center'
|
||||||
};
|
};
|
||||||
private editorPosition: ConnectionPositionPair = new ConnectionPositionPair(
|
public editorPositions: ConnectionPositionPair[] = [];
|
||||||
this.originPos,
|
|
||||||
this.editorOverlayPos,
|
|
||||||
0,
|
|
||||||
0
|
|
||||||
);
|
|
||||||
public editorPositions: ConnectionPositionPair[] = [this.editorPosition];
|
|
||||||
editorOpen = false;
|
|
||||||
editorTrigger: any = null;
|
|
||||||
editorItem!: PropertyItem;
|
|
||||||
editorWidth = 0;
|
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private changeDetector: ChangeDetectorRef,
|
private changeDetector: ChangeDetectorRef,
|
||||||
|
@ -408,10 +404,28 @@ export class PropertyTable implements AfterViewInit, ControlValueAccessor {
|
||||||
if (td) {
|
if (td) {
|
||||||
const { width } = td.getBoundingClientRect();
|
const { width } = td.getBoundingClientRect();
|
||||||
|
|
||||||
|
this.editorPositions.pop();
|
||||||
this.editorItem = item;
|
this.editorItem = item;
|
||||||
this.editorTrigger = editorTrigger;
|
this.editorTrigger = editorTrigger;
|
||||||
this.editorOpen = true;
|
this.editorOpen = true;
|
||||||
this.editorWidth = width;
|
|
||||||
|
if (this.hasAllowableValues(item)) {
|
||||||
|
this.editorWidth = width;
|
||||||
|
this.editorOffsetX = -24;
|
||||||
|
this.editorOffsetY = 24;
|
||||||
|
} else {
|
||||||
|
this.editorWidth = width + 100;
|
||||||
|
this.editorOffsetX = 8;
|
||||||
|
this.editorOffsetY = 56;
|
||||||
|
}
|
||||||
|
this.editorPositions.push(
|
||||||
|
new ConnectionPositionPair(
|
||||||
|
this.originPos,
|
||||||
|
this.editorOverlayPos,
|
||||||
|
this.editorOffsetX,
|
||||||
|
this.editorOffsetY
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,23 +38,15 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.fa {
|
.fa {
|
||||||
width: 10px;
|
width: 14px;
|
||||||
height: 14px;
|
height: 14px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
width: 10px;
|
width: 14px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mat-column-moreDetails {
|
|
||||||
min-width: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mat-column-actions {
|
|
||||||
min-width: 115px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue