From 75d5cac8d790263861461cab43500dd58355b9b0 Mon Sep 17 00:00:00 2001 From: chaitali-mane Date: Wed, 5 May 2021 16:58:36 +0530 Subject: [PATCH 1/6] Added Ui for delete node Signed-off-by: chaitali-mane --- .../delete-infra-object-modal.component.html | 3 +++ .../delete-infra-object-modal.component.scss | 6 ++++++ .../infra-nodes/infra-nodes.component.html | 14 ++++++++++++++ .../infra-nodes/infra-nodes.component.scss | 16 ++++++++++++++++ .../infra-nodes/infra-nodes.component.ts | 16 ++++++++++++++++ 5 files changed, 55 insertions(+) diff --git a/components/automate-ui/src/app/modules/infra-proxy/delete-infra-object-modal/delete-infra-object-modal.component.html b/components/automate-ui/src/app/modules/infra-proxy/delete-infra-object-modal/delete-infra-object-modal.component.html index 7ca0a07f643..e2a332aa820 100644 --- a/components/automate-ui/src/app/modules/infra-proxy/delete-infra-object-modal/delete-infra-object-modal.component.html +++ b/components/automate-ui/src/app/modules/infra-proxy/delete-infra-object-modal/delete-infra-object-modal.component.html @@ -14,6 +14,9 @@ Without a validate client, you may have
difficulties creating new nodes. +
+ Any associated clients will also be deleted. +
diff --git a/components/automate-ui/src/app/modules/infra-proxy/delete-infra-object-modal/delete-infra-object-modal.component.scss b/components/automate-ui/src/app/modules/infra-proxy/delete-infra-object-modal/delete-infra-object-modal.component.scss index f0b79d77e46..45028046e92 100644 --- a/components/automate-ui/src/app/modules/infra-proxy/delete-infra-object-modal/delete-infra-object-modal.component.scss +++ b/components/automate-ui/src/app/modules/infra-proxy/delete-infra-object-modal/delete-infra-object-modal.component.scss @@ -147,3 +147,9 @@ chef-modal { line-height: 20px; margin-top: 10px; } + +.node-message { + font-size: 18px; + line-height: 28px; + letter-spacing: 0.25px; +} diff --git a/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.html b/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.html index b8c01f93ba0..0d7b76bbb70 100644 --- a/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.html +++ b/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.html @@ -1,5 +1,13 @@
+ + @@ -24,6 +32,7 @@ Uptime Last Check-In Environment + @@ -35,6 +44,11 @@ {{ node.uptime === '' ? '--' : node.uptime.split(' ').slice(0,2).join(' ') }} {{ timeFromNow(node.check_in) }} {{ node.environment === '' ? '--' : node.environment}} + + + Delete + + diff --git a/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.scss b/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.scss index eae907c5725..fcb9a0e2dc2 100644 --- a/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.scss +++ b/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.scss @@ -82,3 +82,19 @@ img { height: 55px; } } + +::ng-deep +.mat-select-panel .mat-option { + // height: 2.3em; + + &.secondary { + width: 115px; + background: $chef-white; + color: $chef-critical; + } + + &:hover { + background: $chef-primary-bright; + color: $chef-white; + } +} diff --git a/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.ts b/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.ts index 5b1686b3a43..88cb60eb519 100644 --- a/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.ts +++ b/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.ts @@ -36,6 +36,8 @@ export class InfraNodesComponent implements OnInit, OnDestroy { public currentPage = 1; public per_page = 9; public total: number; + public nodesToDelete: InfraNode; + public deleteModalVisible = false; constructor( private store: Store, @@ -105,4 +107,18 @@ export class InfraNodesComponent implements OnInit, OnDestroy { const fromNowValue = this.timeFromNowPipe.transform(epchoTime); return fromNowValue === '-' ? '--' : fromNowValue; } + + public startNodeDelete(node: InfraNode): void { + this.nodesToDelete = node; + this.deleteModalVisible = true; + } + + public deleteNode(): void { + this.searching = true; + this.closeDeleteModal(); + } + + public closeDeleteModal(): void { + this.deleteModalVisible = false; + } } From 911fca751d00776456e469d4be694f29ec3d1d00 Mon Sep 17 00:00:00 2001 From: chaitali-mane Date: Wed, 5 May 2021 17:29:38 +0530 Subject: [PATCH 2/6] Added API request Part Signed-off-by: chaitali-mane --- .../infra-nodes/infra-nodes.actions.ts | 25 +++++++++++-- .../infra-nodes/infra-nodes.effects.ts | 35 ++++++++++++++++++- .../infra-nodes/infra-nodes.reducer.ts | 18 ++++++++++ .../infra-nodes/infra-nodes.requests.ts | 5 +++ .../infra-nodes/infra-nodes.selectors.ts | 5 +++ .../infra-nodes/infra-nodes.component.html | 2 +- .../infra-nodes/infra-nodes.component.ts | 26 +++++++++++--- 7 files changed, 107 insertions(+), 9 deletions(-) diff --git a/components/automate-ui/src/app/entities/infra-nodes/infra-nodes.actions.ts b/components/automate-ui/src/app/entities/infra-nodes/infra-nodes.actions.ts index 74538321307..e83f4a96f37 100644 --- a/components/automate-ui/src/app/entities/infra-nodes/infra-nodes.actions.ts +++ b/components/automate-ui/src/app/entities/infra-nodes/infra-nodes.actions.ts @@ -6,7 +6,10 @@ import { InfraNode } from './infra-nodes.model'; export enum NodeActionTypes { GET_ALL = 'NODES::GET_ALL', GET_ALL_SUCCESS = 'NODES::GET_ALL::SUCCESS', - GET_ALL_FAILURE = 'NODES::GET_ALL::FAILURE' + GET_ALL_FAILURE = 'NODES::GET_ALL::FAILURE', + DELETE = 'NODES::DELETE', + DELETE_SUCCESS = 'NODES::DELETE::SUCCESS', + DELETE_FAILURE = 'NODES::DELETE::FAILURE' } export interface NodesSuccessPayload { @@ -34,7 +37,25 @@ export class GetNodesFailure implements Action { constructor(public payload: HttpErrorResponse) { } } +export class DeleteNode implements Action { + readonly type = NodeActionTypes.DELETE; + constructor(public payload: { server_id: string, org_id: string, name: string }) { } +} + +export class DeleteNodeSuccess implements Action { + readonly type = NodeActionTypes.DELETE_SUCCESS; + constructor(public payload: { name: string }) { } +} + +export class DeleteNodeFailure implements Action { + readonly type = NodeActionTypes.DELETE_FAILURE; + constructor(public payload: HttpErrorResponse) { } +} + export type NodeActions = | GetNodes | GetNodesSuccess - | GetNodesFailure; + | GetNodesFailure + | DeleteNode + | DeleteNodeSuccess + | DeleteNodeFailure; diff --git a/components/automate-ui/src/app/entities/infra-nodes/infra-nodes.effects.ts b/components/automate-ui/src/app/entities/infra-nodes/infra-nodes.effects.ts index eaf2c1ca89f..d387d9563fe 100644 --- a/components/automate-ui/src/app/entities/infra-nodes/infra-nodes.effects.ts +++ b/components/automate-ui/src/app/entities/infra-nodes/infra-nodes.effects.ts @@ -12,7 +12,10 @@ import { GetNodesSuccess, NodesSuccessPayload, GetNodesFailure, - NodeActionTypes + NodeActionTypes, + DeleteNode, + DeleteNodeSuccess, + DeleteNodeFailure } from './infra-nodes.actions'; import { @@ -46,4 +49,34 @@ export class InfraNodeEffects { }); }))); + deleteNode$ = createEffect(() => + this.actions$.pipe( + ofType(NodeActionTypes.DELETE), + mergeMap(({ payload: { server_id, org_id, name } }: DeleteNode) => + this.requests.deleteNode(server_id, org_id, name).pipe( + map(() => new DeleteNodeSuccess({ name })), + catchError((error: HttpErrorResponse) => + observableOf(new DeleteNodeFailure(error))))))); + + deleteNodeSuccess$ = createEffect(() => + this.actions$.pipe( + ofType(NodeActionTypes.DELETE_SUCCESS), + map(({ payload: { name } }: DeleteNodeSuccess) => { + return new CreateNotification({ + type: Type.info, + message: `Successfully deleted node - ${name}.` + }); + }))); + + deleteNodeFailure$ = createEffect(() => + this.actions$.pipe( + ofType(NodeActionTypes.DELETE_FAILURE), + map(({ payload: { error } }: DeleteNodeFailure) => { + const msg = error.error; + return new CreateNotification({ + type: Type.error, + message: `Could not delete node: ${msg || error}` + }); + }))); + } diff --git a/components/automate-ui/src/app/entities/infra-nodes/infra-nodes.reducer.ts b/components/automate-ui/src/app/entities/infra-nodes/infra-nodes.reducer.ts index bc86a595776..b8b01b12a26 100644 --- a/components/automate-ui/src/app/entities/infra-nodes/infra-nodes.reducer.ts +++ b/components/automate-ui/src/app/entities/infra-nodes/infra-nodes.reducer.ts @@ -12,9 +12,11 @@ export interface InfraNodeEntityState extends EntityState { items: InfraNode[], total: number }; + deleteStatus: EntityStatus; } const GET_ALL_STATUS = 'getAllStatus'; +const DELETE_STATUS = 'deleteStatus'; export const nodeEntityAdapter: EntityAdapter = createEntityAdapter(); @@ -41,6 +43,22 @@ export function infraNodeEntityReducer( case NodeActionTypes.GET_ALL_FAILURE: return set(GET_ALL_STATUS, EntityStatus.loadingFailure, state); + case NodeActionTypes.DELETE: + return set(DELETE_STATUS, EntityStatus.loading, state); + + case NodeActionTypes.DELETE_SUCCESS: + const nodes = + state.nodeList.items.filter(node => node.name !== action.payload.name); + const total = state.nodeList.total - 1; + return pipe( + set(DELETE_STATUS, EntityStatus.loadingSuccess), + set('nodeList.items', nodes || []), + set('nodeList.total', total || 0) + )(state) as InfraNodeEntityState; + + case NodeActionTypes.DELETE_FAILURE: + return set(DELETE_STATUS, EntityStatus.loadingFailure, state); + default: return state; } diff --git a/components/automate-ui/src/app/entities/infra-nodes/infra-nodes.requests.ts b/components/automate-ui/src/app/entities/infra-nodes/infra-nodes.requests.ts index a622eb04716..bfe1336314f 100644 --- a/components/automate-ui/src/app/entities/infra-nodes/infra-nodes.requests.ts +++ b/components/automate-ui/src/app/entities/infra-nodes/infra-nodes.requests.ts @@ -26,4 +26,9 @@ export class InfraNodeRequests { return this.http.get(url, {headers}); } + public deleteNode(server_id: string, org_id: string, name: string): Observable<{}> { + return this.http.delete(`${env.infra_proxy_url}/servers/${server_id}/orgs/${org_id}/nodes/${name}`, + {headers}); + } + } diff --git a/components/automate-ui/src/app/entities/infra-nodes/infra-nodes.selectors.ts b/components/automate-ui/src/app/entities/infra-nodes/infra-nodes.selectors.ts index d979be7dcf1..84a2bce7989 100644 --- a/components/automate-ui/src/app/entities/infra-nodes/infra-nodes.selectors.ts +++ b/components/automate-ui/src/app/entities/infra-nodes/infra-nodes.selectors.ts @@ -22,3 +22,8 @@ export const nodeList = createSelector( infraNodeState, (state) => state.nodeList ); + +export const deleteStatus = createSelector( + infraNodeState, + (state) => state.deleteStatus +); \ No newline at end of file diff --git a/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.html b/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.html index 0d7b76bbb70..e874e135714 100644 --- a/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.html +++ b/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.html @@ -3,7 +3,7 @@ diff --git a/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.ts b/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.ts index 88cb60eb519..171e32cc54e 100644 --- a/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.ts +++ b/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.ts @@ -1,17 +1,18 @@ import { Component, Input, OnInit, OnDestroy, EventEmitter, Output } from '@angular/core'; import { Store } from '@ngrx/store'; import { combineLatest, Subject } from 'rxjs'; -import { takeUntil } from 'rxjs/operators'; +import { filter, takeUntil } from 'rxjs/operators'; import { isNil } from 'lodash/fp'; import { NgrxStateAtom } from 'app/ngrx.reducers'; import { LayoutFacadeService, Sidebar } from 'app/entities/layout/layout.facade'; import { EntityStatus } from 'app/entities/entities'; -import { GetNodes } from 'app/entities/infra-nodes/infra-nodes.actions'; +import { GetNodes, DeleteNode } from 'app/entities/infra-nodes/infra-nodes.actions'; import { InfraNode } from 'app/entities/infra-nodes/infra-nodes.model'; import { nodeList, - getAllStatus + getAllStatus, + deleteStatus } from 'app/entities/infra-nodes/infra-nodes.selectors'; import { TimeFromNowPipe } from 'app/pipes/time-from-now.pipe'; @Component({ @@ -36,7 +37,7 @@ export class InfraNodesComponent implements OnInit, OnDestroy { public currentPage = 1; public per_page = 9; public total: number; - public nodesToDelete: InfraNode; + public nodeToDelete: InfraNode; public deleteModalVisible = false; constructor( @@ -65,6 +66,18 @@ export class InfraNodesComponent implements OnInit, OnDestroy { this.authFailure = true; } }); + + this.store.select(deleteStatus).pipe( + filter(status => status === EntityStatus.loadingSuccess), + takeUntil(this.isDestroyed)) + .subscribe(() => { + this.searching = true; + if (this.nodes.length === 0 && + this.currentPage !== 1) { + this.currentPage = this.currentPage - 1; + } + this.getNodesData(); + }); } searchNodes(currentText: string) { @@ -109,13 +122,16 @@ export class InfraNodesComponent implements OnInit, OnDestroy { } public startNodeDelete(node: InfraNode): void { - this.nodesToDelete = node; + this.nodeToDelete = node; this.deleteModalVisible = true; } public deleteNode(): void { this.searching = true; this.closeDeleteModal(); + this.store.dispatch(new DeleteNode({ + server_id: this.serverId, org_id: this.orgId, name: this.nodeToDelete.name + })); } public closeDeleteModal(): void { From 9bacf49d0c7f907df12ce367e9a9901d7b1ad59a Mon Sep 17 00:00:00 2001 From: chaitali-mane Date: Thu, 6 May 2021 14:58:58 +0530 Subject: [PATCH 3/6] Added test cases Signed-off-by: chaitali-mane --- .../infra-nodes/infra-nodes.selectors.ts | 2 +- .../infra-nodes/infra-nodes.component.spec.ts | 5 +++ .../ui/infra-proxy/infra-node-list.spec.ts | 31 +++++++++++++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) diff --git a/components/automate-ui/src/app/entities/infra-nodes/infra-nodes.selectors.ts b/components/automate-ui/src/app/entities/infra-nodes/infra-nodes.selectors.ts index 84a2bce7989..ac1827bfd25 100644 --- a/components/automate-ui/src/app/entities/infra-nodes/infra-nodes.selectors.ts +++ b/components/automate-ui/src/app/entities/infra-nodes/infra-nodes.selectors.ts @@ -26,4 +26,4 @@ export const nodeList = createSelector( export const deleteStatus = createSelector( infraNodeState, (state) => state.deleteStatus -); \ No newline at end of file +); diff --git a/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.spec.ts b/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.spec.ts index ad1bd29614c..4d3bede3060 100644 --- a/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.spec.ts +++ b/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.spec.ts @@ -34,6 +34,11 @@ describe('InfraNodesComponent', () => { MockComponent({ selector: 'input', inputs: ['resetOrigin'] }), MockComponent({ selector: 'mat-select' }), MockComponent({ selector: 'mat-option' }), + MockComponent({ + selector: 'app-delete-infra-object-modal', + inputs: ['default', 'visible', 'objectNoun', 'objectName'], + outputs: ['close', 'deleteNode'] + }), InfraNodesComponent ], providers: [ diff --git a/e2e/cypress/integration/ui/infra-proxy/infra-node-list.spec.ts b/e2e/cypress/integration/ui/infra-proxy/infra-node-list.spec.ts index 151d4911b82..79901de7264 100644 --- a/e2e/cypress/integration/ui/infra-proxy/infra-node-list.spec.ts +++ b/e2e/cypress/integration/ui/infra-proxy/infra-node-list.spec.ts @@ -170,5 +170,36 @@ describe('infra node list', () => { } }); }); + + it('can delete node', () => { + cy.get('[data-cy=search-filter]').type(`${cypressPrefix}-node-${now}`); + cy.get('[data-cy=search-entity]').click(); + getNodes(`${cypressPrefix}-node-${now}`, 1).then((response) => { + if (checkResponse(response)) { + cy.get('[data-cy=nodes-table-container]').contains(nodeName).should('exist'); + cy.get('app-infra-nodes [data-cy=nodes-table-container] chef-td a') + .contains(nodeName).parent().parent().find('.mat-select-trigger').click(); + + cy.get('[data-cy=delete]').should('be.visible') + .click(); + // accept dialog + cy.get('app-infra-nodes chef-button').contains('Delete').click(); + // verify success notification and then dismiss it + cy.get('app-notification.info').contains(`Successfully deleted role - ${nodeName}.`); + cy.get('app-notification.info chef-icon').click(); + } + }); + + getNodes(`${cypressPrefix}-role-${now}`, 1).then((response) => { + checkResponse(response); + }); + + cy.get('[data-cy=search-filter]').clear(); + cy.get('[data-cy=search-entity]').click(); + getNodes('', 1).then((response) => { + checkResponse(response); + }); + }); + }); }); From c0eaaf8cd9482f5ba867faefb0e8163daab372d6 Mon Sep 17 00:00:00 2001 From: chaitali-mane Date: Fri, 7 May 2021 17:28:35 +0530 Subject: [PATCH 4/6] Updated delete modal Signed-off-by: chaitali-mane --- .../delete-infra-object-modal.component.html | 2 +- .../delete-infra-object-modal.component.scss | 16 +++++------- .../infra-nodes/infra-nodes.component.html | 2 +- .../infra-nodes/infra-nodes.component.scss | 26 +++++++++++++++++-- 4 files changed, 33 insertions(+), 13 deletions(-) diff --git a/components/automate-ui/src/app/modules/infra-proxy/delete-infra-object-modal/delete-infra-object-modal.component.html b/components/automate-ui/src/app/modules/infra-proxy/delete-infra-object-modal/delete-infra-object-modal.component.html index e2a332aa820..5a0d1724f86 100644 --- a/components/automate-ui/src/app/modules/infra-proxy/delete-infra-object-modal/delete-infra-object-modal.component.html +++ b/components/automate-ui/src/app/modules/infra-proxy/delete-infra-object-modal/delete-infra-object-modal.component.html @@ -5,8 +5,8 @@
- warning {{objectName}}
Deleting {{objectNoun | titlecase}}?
+

{{objectName}}

This action is irreversible.
diff --git a/components/automate-ui/src/app/modules/infra-proxy/delete-infra-object-modal/delete-infra-object-modal.component.scss b/components/automate-ui/src/app/modules/infra-proxy/delete-infra-object-modal/delete-infra-object-modal.component.scss index 45028046e92..4e3b43ccb16 100644 --- a/components/automate-ui/src/app/modules/infra-proxy/delete-infra-object-modal/delete-infra-object-modal.component.scss +++ b/components/automate-ui/src/app/modules/infra-proxy/delete-infra-object-modal/delete-infra-object-modal.component.scss @@ -31,11 +31,14 @@ chef-modal { margin-top: 6px; margin-bottom: 11px; line-height: 40px; + letter-spacing: 0.15px; } .action-text { font-size: 24px; font-weight: 900; + line-height: 28px; + letter-spacing: 0.25px; } .left-align { @@ -65,12 +68,10 @@ chef-modal { margin: 0px; } - span.object-name { - font-weight: 400; - margin-top: -2px; - margin-left: 7px; - position: absolute; - text-transform: capitalize; + p.object-name { + font-weight: 900; + font-size: 14px; + line-height: 18px; } } @@ -137,9 +138,6 @@ chef-modal { opacity: 0.5; } - .url-failed-icon { - color: $chef-critical; - } } .client-message { diff --git a/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.html b/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.html index e874e135714..16845ea48d0 100644 --- a/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.html +++ b/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.html @@ -46,7 +46,7 @@ {{ node.environment === '' ? '--' : node.environment}} - Delete + Delete diff --git a/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.scss b/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.scss index fcb9a0e2dc2..651d3527286 100644 --- a/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.scss +++ b/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.scss @@ -83,12 +83,34 @@ img { } } +.minus-icon { + &:before { + display: inline-block; + content: '|'; + font-family: arial; + transform: scaleX(-1) rotate(-90deg); + vertical-align: top; + line-height: 1em; + width: 8px; + color: $chef-critical; + height: 10px; + margin-right: 1.3em; + text-align: center; + position: absolute; + right: 0; + } + &:hover { + &:before { + color: $chef-white; + } + } +} + ::ng-deep .mat-select-panel .mat-option { - // height: 2.3em; - &.secondary { width: 115px; + height: 2.3em; background: $chef-white; color: $chef-critical; } From 0bb63466944e4af624b3c5ac7c882ec1cbf26899 Mon Sep 17 00:00:00 2001 From: chaitali-mane Date: Fri, 7 May 2021 17:45:15 +0530 Subject: [PATCH 5/6] lint error Signed-off-by: chaitali-mane --- .../delete-infra-object-modal.component.scss | 1 + .../modules/infra-proxy/infra-nodes/infra-nodes.component.scss | 2 ++ 2 files changed, 3 insertions(+) diff --git a/components/automate-ui/src/app/modules/infra-proxy/delete-infra-object-modal/delete-infra-object-modal.component.scss b/components/automate-ui/src/app/modules/infra-proxy/delete-infra-object-modal/delete-infra-object-modal.component.scss index 4e3b43ccb16..01485fc36ba 100644 --- a/components/automate-ui/src/app/modules/infra-proxy/delete-infra-object-modal/delete-infra-object-modal.component.scss +++ b/components/automate-ui/src/app/modules/infra-proxy/delete-infra-object-modal/delete-infra-object-modal.component.scss @@ -150,4 +150,5 @@ chef-modal { font-size: 18px; line-height: 28px; letter-spacing: 0.25px; + margin-top: 10px; } diff --git a/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.scss b/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.scss index 651d3527286..99d2f4d0f09 100644 --- a/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.scss +++ b/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.scss @@ -99,10 +99,12 @@ img { position: absolute; right: 0; } + &:hover { &:before { color: $chef-white; } + } } From 71064fa986b748e000a98a824d0193b4269097d4 Mon Sep 17 00:00:00 2001 From: chaitali-mane Date: Tue, 11 May 2021 12:14:12 +0530 Subject: [PATCH 6/6] removed space Signed-off-by: chaitali-mane --- .../modules/infra-proxy/infra-nodes/infra-nodes.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.html b/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.html index 16845ea48d0..51487009980 100644 --- a/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.html +++ b/components/automate-ui/src/app/modules/infra-proxy/infra-nodes/infra-nodes.component.html @@ -7,7 +7,7 @@ (close)="closeDeleteModal()" (deleteClicked)="deleteNode()" objectAction="Delete"> - +