Skip to content
This repository has been archived by the owner on Dec 21, 2023. It is now read-only.

Create stage-overview component #2943

Closed
ermin-muratovic opened this issue Jan 19, 2021 · 0 comments · Fixed by #3048
Closed

Create stage-overview component #2943

ermin-muratovic opened this issue Jan 19, 2021 · 0 comments · Fixed by #3048
Assignees
Labels

Comments

@ermin-muratovic
Copy link
Member

The project-board component has a lot of content in it and could be extracted into smaller components. The stage overview in the environment tab might be improved and should be extraced into a separate component to increase maintainability.

<dt-info-group>
<dt-info-group-title>
<p><span [textContent]="project.stages.length"></span> Stages</p>
</dt-info-group-title>
<div class="mr-minus-15" fxLayout="row wrap" fxLayout.lt-sm="column" fxLayoutGap="15px" fxLayoutAlign="start">
<ktb-selectable-tile *ngFor="let stage of project.stages; trackBy:trackStage"
fxFlex="0 1 calc(33.3% - 15px)" fxFlex.lt-md="0 1 calc(50% - 15px)" fxFlex.lt-sm="100%"
(click)="selectStage($event, stage);" [selected]="selectedStage == stage">
<h2 class="m-0 mt-1 mb-1" [textContent]="stage.stageName"></h2>
<div class="stage-state" fxLayout="row" fxLayoutAlign="start center" fxLayoutGap="15px">
<div fxLayout="row" fxLayoutAlign="start center" fxLayoutGap="5px"
*ngIf="project.getLatestProblemEvents(stage) as problemEvents"
(click)="problemEvents.length > 0 && selectStage($event, stage, 'problem')">
<dt-icon class="stage-state-icon event-icon" name="criticalevent" [class.error]="problemEvents.length > 0"></dt-icon>
<span [textContent]="problemEvents.length"></span>
</div>
<div fxLayout="row" fxLayoutAlign="start center" fxLayoutGap="5px"
*ngIf="project.getLatestFailedRootEvents(stage) as failedRootEvents"
(click)="failedRootEvents.length > 0 && selectStage($event, stage, 'evaluation')">
<dt-icon class="stage-state-icon event-icon" name="traffic-light" [class.error]="failedRootEvents.length > 0"></dt-icon>
<span [textContent]="failedRootEvents.length"></span>
</div>
<div fxLayout="row" fxLayoutAlign="start center" fxLayoutGap="5px"
*ngIf="openApprovals$ | async as openApprovals"
(click)="countOpenApprovals(openApprovals, project, stage) > 0 && selectStage($event, stage, 'approval')">
<dt-icon class="stage-state-icon" name="deploy" [class.out-of-sync-service]="countOpenApprovals(openApprovals, project, stage) > 0"></dt-icon>
<span [textContent]="countOpenApprovals(openApprovals, project, stage)"></span>
</div>
</div>
<ng-container *ngIf="stage.services && stage.services.length > 0; else noService">
<ng-container *ngIf="openApprovals$ | async as openApprovals">
<dt-tag-list aria-label="services">
<dt-tag *ngFor="let service of stage.services" [class.out-of-sync-service]="countOpenApprovals(openApprovals, project, stage, service) > 0" [class.error]="findProblemEvent(project.getLatestProblemEvents(stage), service)">
<span *ngIf="service.deployedImage; else noDeploymentOfServiceTag" [textContent]="service.getShortImageName()"></span>
<ng-template #noDeploymentOfServiceTag>
<span class="no-deployment" [textContent]="service.serviceName"></span>
</ng-template>
</dt-tag>
</dt-tag-list>
</ng-container>
</ng-container>
</ktb-selectable-tile>
</div>
</dt-info-group>

See also #2939

@johannes-b johannes-b added this to the 0.8.0 (Bridge) milestone Jan 19, 2021
@johannes-b johannes-b added the next-sprint Items that should be discussed and implemented in the next sprint label Feb 2, 2021
@Kirdock Kirdock self-assigned this Feb 2, 2021
@Kirdock Kirdock added this to Backlog in Working items via automation Feb 2, 2021
@Kirdock Kirdock moved this from Backlog to In progress in Working items Feb 2, 2021
@johannes-b johannes-b removed the next-sprint Items that should be discussed and implemented in the next sprint label Feb 2, 2021
Kirdock added a commit that referenced this issue Feb 2, 2021
Signed-off-by: Klaus Strießnig <k.striessnig@gmail.com>
Kirdock added a commit that referenced this issue Feb 5, 2021
@johannes-b johannes-b moved this from In progress to Ready for review in Working items Feb 5, 2021
ermin-muratovic pushed a commit that referenced this issue Feb 9, 2021
Signed-off-by: Klaus Strießnig <k.striessnig@gmail.com>
ermin-muratovic added a commit that referenced this issue Feb 10, 2021
* create component for sequence overview, sequence list and task details

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* change model to valuesCanary

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* show sequence tasks filtered by stage and show progress details in tiles

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* show message in task details

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* fix DateUtil import in mock-data

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* fixed confirmation dialog of approval

Signed-off-by: Klaus Strießnig <k.striessnig@gmail.com>

* Update unit tests

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* trigger changedetector on reload

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* create environment-view component

Signed-off-by: Klaus Strießnig <k.striessnig@gmail.com>

* directory change, environment layout adjustment

Signed-off-by: Klaus Strießnig <k.striessnig@gmail.com>

* #2824 Added cache for CI workflow

Signed-off-by: Christian Kreuzberger <christian.kreuzberger@dynatrace.com>

* remove duplicate stage info

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* allow expandable to be "warning", "highlighted", "disabled" and selected

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* move subtask details to task-item and add details (payload) and separator

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* highlight selected stage in timeline

Signed-off-by: Klaus Strießnig <k.striessnig@gmail.com>

* Highlight whole stage info in timeline

Signed-off-by: Klaus Strießnig <k.striessnig@gmail.com>

* fix tests for sh.keptn.event.dev.artifact-delivery.triggered

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* consider result from ".finished" event

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* get deploymentURI from ".finished" event

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* #2943 Create stage-overview component

Signed-off-by: Klaus Strießnig <k.striessnig@gmail.com>

* create integration-view component

Signed-off-by: Klaus Strießnig <k.striessnig@gmail.com>

* if event itself is .finished, return this

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* rename ktb-sequence-overview into ktb-sequence-view (align with other views)

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* hide dt-tag if no imageName or serviceName provided

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* show sequence-view when sequence tab selected

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* hide stage timeline if no stages available

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* align 'show-more' button from top

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* show approval-item if task is a pending approval

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* rename sequence-overview to sequence-view (align with other views)

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* enivornment-view reduced

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* merge changes from master

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* show loading indicator only if ".started" event is available, but not yet ".finished"

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* store started in this.started

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* represent states in expandable-tile like in selectable-tile

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* Reload button not as dt-tag

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* align icon and label

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

Co-authored-by: Klaus Strießnig <k.striessnig@gmail.com>
Co-authored-by: Christian Kreuzberger <christian.kreuzberger@dynatrace.com>
ermin-muratovic pushed a commit that referenced this issue Feb 10, 2021
Signed-off-by: Klaus Strießnig <k.striessnig@gmail.com>
@johannes-b johannes-b moved this from Ready for review to Done/presented in community review (column will be cleaned regularly) in Working items Feb 11, 2021
ermin-muratovic added a commit that referenced this issue Feb 12, 2021
* create component for sequence overview, sequence list and task details

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* change model to valuesCanary

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* show sequence tasks filtered by stage and show progress details in tiles

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* show message in task details

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* fixed confirmation dialog of approval

Signed-off-by: Klaus Strießnig <k.striessnig@gmail.com>

* trigger changedetector on reload

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* create environment-view component

Signed-off-by: Klaus Strießnig <k.striessnig@gmail.com>

* directory change, environment layout adjustment

Signed-off-by: Klaus Strießnig <k.striessnig@gmail.com>

* #2824 Added cache for CI workflow

Signed-off-by: Christian Kreuzberger <christian.kreuzberger@dynatrace.com>

* remove duplicate stage info

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* move subtask details to task-item and add details (payload) and separator

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* highlight selected stage in timeline

Signed-off-by: Klaus Strießnig <k.striessnig@gmail.com>

* #2943 Create stage-overview component

Signed-off-by: Klaus Strießnig <k.striessnig@gmail.com>

* create integration-view component

Signed-off-by: Klaus Strießnig <k.striessnig@gmail.com>

* rename ktb-sequence-overview into ktb-sequence-view (align with other views)

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* enivornment-view reduced

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* merge changes from master

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* create component for sequence overview, sequence list and task details

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* show sequence tasks filtered by stage and show progress details in tiles

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* rename ktb-sequence-overview into ktb-sequence-view (align with other views)

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* background of expandable tile should be gray, not all container

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* add header and content part for selectable tile

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* show label and status of root event in header section and add more details

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* show started, succeeded or failed label as title

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* Show duration and recent/last task in sequence tile

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* add separator between label and value

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* show imageName and stage details only if available

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* show shortImageName or serviceName if available

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* show shortImageName or serviceName if available

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* reset currentSequence and selectedStage on init

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* take last tasks icon, if not yet finished

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* show same in timeline as in root-Element

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* highlight root element and stage with pending approval

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* align icon and label

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* align icon and label

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* show finished icon if stage is finished

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* dont overlap filter-icon and expand-icon

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* highlight icon in timeline

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* reset filter in service tab on project change

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

* reset filters in sequence tab on project stage

Signed-off-by: ermin.muratovic <ermin.muratovic@gmail.com>

Co-authored-by: Klaus Strießnig <k.striessnig@gmail.com>
Co-authored-by: Christian Kreuzberger <christian.kreuzberger@dynatrace.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
No open projects
Working items
Done/presented in community review (c...
Development

Successfully merging a pull request may close this issue.

3 participants