diff --git a/src/app/groups/group-tabs/feature-tabs/components/download-artifacts-icon/download-artifacts-icon.component.html b/src/app/groups/group-tabs/feature-tabs/components/download-artifacts-icon/download-artifacts-icon.component.html index 114e81c..1893abd 100644 --- a/src/app/groups/group-tabs/feature-tabs/components/download-artifacts-icon/download-artifacts-icon.component.html +++ b/src/app/groups/group-tabs/feature-tabs/components/download-artifacts-icon/download-artifacts-icon.component.html @@ -13,19 +13,19 @@ diff --git a/src/app/groups/group-tabs/feature-tabs/components/download-artifacts-icon/download-artifacts-icon.component.ts b/src/app/groups/group-tabs/feature-tabs/components/download-artifacts-icon/download-artifacts-icon.component.ts index 0354f60..4657946 100644 --- a/src/app/groups/group-tabs/feature-tabs/components/download-artifacts-icon/download-artifacts-icon.component.ts +++ b/src/app/groups/group-tabs/feature-tabs/components/download-artifacts-icon/download-artifacts-icon.component.ts @@ -9,22 +9,13 @@ import FileSaver from 'file-saver' import { NzButtonModule } from 'ng-zorro-antd/button' import { NzDropDownModule } from 'ng-zorro-antd/dropdown' import { NzIconModule } from 'ng-zorro-antd/icon' -import { NzSpaceModule } from 'ng-zorro-antd/space' import { NzToolTipModule } from 'ng-zorro-antd/tooltip' import { combineLatest, switchMap } from 'rxjs' import { StatusColorPipe } from '../../pipes/status-color.pipe' @Component({ selector: 'gcd-download-artifacts-icon', - imports: [ - CommonModule, - NzSpaceModule, - NzButtonModule, - NzIconModule, - NzDropDownModule, - NzToolTipModule, - StatusColorPipe - ], + imports: [CommonModule, NzButtonModule, NzIconModule, NzDropDownModule, NzToolTipModule, StatusColorPipe], templateUrl: './download-artifacts-icon.component.html', styleUrls: ['./download-artifacts-icon.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush diff --git a/src/app/groups/group-tabs/feature-tabs/components/open-gitlab-icon/open-gitlab-icon.component.html b/src/app/groups/group-tabs/feature-tabs/components/open-gitlab-icon/open-gitlab-icon.component.html new file mode 100644 index 0000000..1c4b15d --- /dev/null +++ b/src/app/groups/group-tabs/feature-tabs/components/open-gitlab-icon/open-gitlab-icon.component.html @@ -0,0 +1,3 @@ + diff --git a/src/app/groups/group-tabs/feature-tabs/components/open-gitlab-icon/open-gitlab-icon.component.scss b/src/app/groups/group-tabs/feature-tabs/components/open-gitlab-icon/open-gitlab-icon.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/groups/group-tabs/feature-tabs/components/open-gitlab-icon/open-gitlab-icon.component.ts b/src/app/groups/group-tabs/feature-tabs/components/open-gitlab-icon/open-gitlab-icon.component.ts new file mode 100644 index 0000000..168f9fa --- /dev/null +++ b/src/app/groups/group-tabs/feature-tabs/components/open-gitlab-icon/open-gitlab-icon.component.ts @@ -0,0 +1,21 @@ +import { CommonModule } from '@angular/common' +import { ChangeDetectionStrategy, Component, input } from '@angular/core' +import { NzButtonModule } from 'ng-zorro-antd/button' +import { NzIconModule } from 'ng-zorro-antd/icon' +import { NzToolTipModule } from 'ng-zorro-antd/tooltip' + +@Component({ + selector: 'gcd-open-gitlab-icon', + imports: [CommonModule, NzButtonModule, NzIconModule, NzToolTipModule], + templateUrl: './open-gitlab-icon.component.html', + styleUrls: ['./open-gitlab-icon.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class OpenGitlabIconComponent { + url = input.required() + + onClick(e: MouseEvent) { + e.stopPropagation() + window.open(this.url(), '_blank') + } +} diff --git a/src/app/groups/group-tabs/feature-tabs/components/write-actions-icon/cancel-pipeline-action/cancel-pipeline-action.component.html b/src/app/groups/group-tabs/feature-tabs/components/write-actions-icon/cancel-pipeline-action/cancel-pipeline-action.component.html index 205b525..0bbb20c 100644 --- a/src/app/groups/group-tabs/feature-tabs/components/write-actions-icon/cancel-pipeline-action/cancel-pipeline-action.component.html +++ b/src/app/groups/group-tabs/feature-tabs/components/write-actions-icon/cancel-pipeline-action/cancel-pipeline-action.component.html @@ -17,4 +17,4 @@ } --> -
Cancel pipeline
\ No newline at end of file +
Cancel pipeline
diff --git a/src/app/groups/group-tabs/feature-tabs/components/write-actions-icon/retry-pipeline-action/retry-pipeline-action.component.html b/src/app/groups/group-tabs/feature-tabs/components/write-actions-icon/retry-pipeline-action/retry-pipeline-action.component.html index 7836d78..7da8022 100644 --- a/src/app/groups/group-tabs/feature-tabs/components/write-actions-icon/retry-pipeline-action/retry-pipeline-action.component.html +++ b/src/app/groups/group-tabs/feature-tabs/components/write-actions-icon/retry-pipeline-action/retry-pipeline-action.component.html @@ -11,4 +11,4 @@ } --> -
Retry pipeline
\ No newline at end of file +
Retry pipeline
diff --git a/src/app/groups/group-tabs/feature-tabs/components/write-actions-icon/write-actions-icon.component.ts b/src/app/groups/group-tabs/feature-tabs/components/write-actions-icon/write-actions-icon.component.ts index 97c966e..a5596fb 100644 --- a/src/app/groups/group-tabs/feature-tabs/components/write-actions-icon/write-actions-icon.component.ts +++ b/src/app/groups/group-tabs/feature-tabs/components/write-actions-icon/write-actions-icon.component.ts @@ -5,7 +5,6 @@ import { ChangeDetectionStrategy, Component, computed, HostBinding, HostListener import { NzButtonModule } from 'ng-zorro-antd/button' import { NzDropDownModule } from 'ng-zorro-antd/dropdown' import { NzIconModule } from 'ng-zorro-antd/icon' -import { NzSpaceModule } from 'ng-zorro-antd/space' import { NzToolTipModule } from 'ng-zorro-antd/tooltip' import { StartPipelineActionComponent } from './start-pipeline-action/start-pipeline-action.component' import { PipelineId } from '$groups/model/pipeline' @@ -16,7 +15,6 @@ import { RetryPipelineActionComponent } from './retry-pipeline-action/retry-pipe selector: 'gcd-write-actions-icon', imports: [ CommonModule, - NzSpaceModule, NzButtonModule, NzIconModule, NzDropDownModule, diff --git a/src/app/groups/group-tabs/feature-tabs/latest-pipelines/pipeline-status-tabs/pipeline-table/pipeline-table-branch/pipeline-table-branch.component.html b/src/app/groups/group-tabs/feature-tabs/latest-pipelines/pipeline-status-tabs/pipeline-table/pipeline-table-branch/pipeline-table-branch.component.html index 2f95ced..864e64c 100644 --- a/src/app/groups/group-tabs/feature-tabs/latest-pipelines/pipeline-status-tabs/pipeline-table/pipeline-table-branch/pipeline-table-branch.component.html +++ b/src/app/groups/group-tabs/feature-tabs/latest-pipelines/pipeline-status-tabs/pipeline-table/pipeline-table-branch/pipeline-table-branch.component.html @@ -17,9 +17,9 @@ @for (header of headers; track header.title) { - - {{ header.title }} - + + {{ header.title }} + } Jobs Action @@ -27,38 +27,49 @@ @for (data of nzTable.data; track trackByBranchName(data)) { - - {{ data.branch.name }} - - @if (data.pipeline; as pipeline) { - - } @else { - } - - {{ data.pipeline?.source || '-' }} - - @if (data.pipeline; as pipeline) { - {{ pipeline.updated_at | date : 'medium' : timeZone : locale }} - } @else { - } - - - @if (data.pipeline; as pipeline) { - - } @else { - } - - - @if (data.pipeline; as pipeline) { @if(showWriteActions()) { - - } - - } @else { - } - - + + {{ data.branch.name }} + + @if (data.pipeline; as pipeline) { + + } @else { + - + } + + {{ data.pipeline?.source || '-' }} + + @if (data.pipeline; as pipeline) { + {{ pipeline.updated_at | date: 'medium' : timeZone : locale }} + } @else { + - + } + + + @if (data.pipeline; as pipeline) { + + } @else { + - + } + + + @if (data.pipeline; as pipeline) { + @if (showWriteActions()) { + + } + + } @else { + - + } + + } diff --git a/src/app/groups/group-tabs/feature-tabs/latest-pipelines/pipeline-status-tabs/pipeline-table/pipeline-table-branch/pipeline-table-branch.component.ts b/src/app/groups/group-tabs/feature-tabs/latest-pipelines/pipeline-status-tabs/pipeline-table/pipeline-table-branch/pipeline-table-branch.component.ts index 783e144..28fd0c2 100644 --- a/src/app/groups/group-tabs/feature-tabs/latest-pipelines/pipeline-status-tabs/pipeline-table/pipeline-table-branch/pipeline-table-branch.component.ts +++ b/src/app/groups/group-tabs/feature-tabs/latest-pipelines/pipeline-status-tabs/pipeline-table/pipeline-table-branch/pipeline-table-branch.component.ts @@ -1,12 +1,14 @@ import { JobsComponent } from '$groups/group-tabs/feature-tabs/components/jobs/jobs.component' +import { OpenGitlabIconComponent } from '$groups/group-tabs/feature-tabs/components/open-gitlab-icon/open-gitlab-icon.component' +import { WriteActionsIconComponent } from '$groups/group-tabs/feature-tabs/components/write-actions-icon/write-actions-icon.component' import { StatusColorPipe } from '$groups/group-tabs/feature-tabs/pipes/status-color.pipe' import { BranchPipeline } from '$groups/model/branch' -import { Pipeline } from '$groups/model/pipeline' import { Status } from '$groups/model/status' import { compareString, compareStringDate } from '$groups/util/compare' import { filterString } from '$groups/util/filter' import { statusToScope } from '$groups/util/status-scope' import { Header } from '$groups/util/table' +import { ConfigService } from '$service/config.service' import { CommonModule } from '@angular/common' import { ChangeDetectionStrategy, Component, computed, inject, input, Signal, signal } from '@angular/core' import { NzBadgeModule } from 'ng-zorro-antd/badge' @@ -15,9 +17,7 @@ import { NzI18nService } from 'ng-zorro-antd/i18n' import { NzIconModule } from 'ng-zorro-antd/icon' import { NzTableModule } from 'ng-zorro-antd/table' import { NzToolTipModule } from 'ng-zorro-antd/tooltip' -import { WriteActionsIconComponent } from '../../../../components/write-actions-icon/write-actions-icon.component' import { LatestBranchFilterComponent } from './latest-branch-filter/latest-branch-filter.component' -import { ConfigService } from '$service/config.service' const headers: Header[] = [ { title: 'Branch', sortable: true, compare: (a, b) => compareString(a.branch.name, b.branch.name) }, @@ -50,7 +50,8 @@ const headers: Header[] = [ NzButtonModule, NzIconModule, NzBadgeModule, - WriteActionsIconComponent + WriteActionsIconComponent, + OpenGitlabIconComponent ], templateUrl: './pipeline-table-branch.component.html', styleUrls: ['./pipeline-table-branch.component.scss'], @@ -94,11 +95,6 @@ export class PipelineTableBranchComponent { return statusToScope(status) } - onActionClick(e: Event, { web_url }: Pipeline): void { - e.stopPropagation() - window.open(web_url, '_blank') - } - trackByBranchName({ branch: { name } }: BranchPipeline): string { return name } diff --git a/src/app/groups/group-tabs/feature-tabs/latest-pipelines/pipeline-status-tabs/pipeline-table/pipeline-table.component.html b/src/app/groups/group-tabs/feature-tabs/latest-pipelines/pipeline-status-tabs/pipeline-table/pipeline-table.component.html index cf29eaf..9ab61af 100644 --- a/src/app/groups/group-tabs/feature-tabs/latest-pipelines/pipeline-status-tabs/pipeline-table/pipeline-table.component.html +++ b/src/app/groups/group-tabs/feature-tabs/latest-pipelines/pipeline-status-tabs/pipeline-table/pipeline-table.component.html @@ -2,9 +2,9 @@ @for (header of headers; track header.title) { - - {{ header.title }} - + + {{ header.title }} + } Jobs Action @@ -12,46 +12,55 @@ @for (data of nzTable.data; track trackByProjectId(data)) { - - {{ data.project.name }} - {{ data.project.default_branch }} - {{ data.project.topics.length ? data.project.topics.join(',') : '-' }} - {{ data.pipeline?.source || '-' }} - - @if (data.pipeline; as pipeline) { - {{ pipeline.updated_at | date : 'medium' : timeZone : locale }} - } @else { - } - - - @if (data.pipeline; as pipeline) { - - } @else { - } - - - @if (data.pipeline; as pipeline) { @if(showWriteActions()) { - - } + + {{ data.project.name }} + {{ data.project.default_branch }} + {{ data.project.topics.length ? data.project.topics.join(',') : '-' }} + {{ data.pipeline?.source || '-' }} + + @if (data.pipeline; as pipeline) { + {{ pipeline.updated_at | date: 'medium' : timeZone : locale }} + } @else { + - + } + + + @if (data.pipeline; as pipeline) { + + } @else { + - + } + + + @if (data.pipeline; as pipeline) { + @if (showWriteActions()) { + + } - + - + - - } @else { - } - - - - @if (data.project.id === selectedProjectId()) { - - } - + + } @else { + - + } + + + + @if (data.project.id === selectedProjectId()) { + + } + } diff --git a/src/app/groups/group-tabs/feature-tabs/latest-pipelines/pipeline-status-tabs/pipeline-table/pipeline-table.component.ts b/src/app/groups/group-tabs/feature-tabs/latest-pipelines/pipeline-status-tabs/pipeline-table/pipeline-table.component.ts index 878c190..ec8496b 100644 --- a/src/app/groups/group-tabs/feature-tabs/latest-pipelines/pipeline-status-tabs/pipeline-table/pipeline-table.component.ts +++ b/src/app/groups/group-tabs/feature-tabs/latest-pipelines/pipeline-status-tabs/pipeline-table/pipeline-table.component.ts @@ -1,13 +1,15 @@ import { FavoritesIconComponent } from '$groups/group-tabs/favorites/favorites-icon/favorites-icon.component' +import { DownloadArtifactsIconComponent } from '$groups/group-tabs/feature-tabs/components/download-artifacts-icon/download-artifacts-icon.component' import { JobsComponent } from '$groups/group-tabs/feature-tabs/components/jobs/jobs.component' +import { WriteActionsIconComponent } from '$groups/group-tabs/feature-tabs/components/write-actions-icon/write-actions-icon.component' import { FETCH_REFRESH_INTERVAL } from '$groups/http' import { BranchPipeline } from '$groups/model/branch' -import { Pipeline } from '$groups/model/pipeline' import { Project, ProjectId, ProjectPipeline } from '$groups/model/project' import { Status } from '$groups/model/status' import { compareString, compareStringDate } from '$groups/util/compare' import { statusToScope } from '$groups/util/status-scope' import { Header } from '$groups/util/table' +import { ConfigService } from '$service/config.service' import { CommonModule } from '@angular/common' import { ChangeDetectionStrategy, @@ -28,11 +30,9 @@ import { NzSpinModule } from 'ng-zorro-antd/spin' import { NzTableModule } from 'ng-zorro-antd/table' import { NzToolTipModule } from 'ng-zorro-antd/tooltip' import { finalize, interval, Subscription, switchMap } from 'rxjs' -import { WriteActionsIconComponent } from '../../../components/write-actions-icon/write-actions-icon.component' +import { OpenGitlabIconComponent } from '../../../components/open-gitlab-icon/open-gitlab-icon.component' import { LatestPipelineService } from '../../service/latest-pipeline.service' import { PipelineTableBranchComponent } from './pipeline-table-branch/pipeline-table-branch.component' -import { DownloadArtifactsIconComponent } from '../../../components/download-artifacts-icon/download-artifacts-icon.component' -import { ConfigService } from '$service/config.service' const headers: Header[] = [ { title: 'Project', sortable: true, compare: (a, b) => compareString(a.project.name, b.project.name) }, @@ -71,7 +71,8 @@ const headers: Header[] = [ JobsComponent, FavoritesIconComponent, WriteActionsIconComponent, - DownloadArtifactsIconComponent + DownloadArtifactsIconComponent, + OpenGitlabIconComponent ], templateUrl: './pipeline-table.component.html', styleUrls: ['./pipeline-table.component.scss'], @@ -116,11 +117,6 @@ export class PipelineTableComponent implements OnDestroy { return timeZone } - onActionClick(e: Event, { web_url }: Pipeline): void { - e.stopPropagation() - window.open(web_url, '_blank') - } - onRowClick({ id: projectId }: Project) { this.refreshSubscription?.unsubscribe() diff --git a/src/app/groups/group-tabs/feature-tabs/pipelines/pipeline-table/pipeline-table.component.html b/src/app/groups/group-tabs/feature-tabs/pipelines/pipeline-table/pipeline-table.component.html index 226a66b..0fcf953 100644 --- a/src/app/groups/group-tabs/feature-tabs/pipelines/pipeline-table/pipeline-table.component.html +++ b/src/app/groups/group-tabs/feature-tabs/pipelines/pipeline-table/pipeline-table.component.html @@ -12,7 +12,11 @@ @for (data of nzTable.data; track trackBy($index, data)) { - + {{ data.project.name }} @let ref = data.pipeline?.ref || ''; @@ -48,22 +52,19 @@ @if (data.pipeline; as pipeline) { - @if(showWriteActions()){ - + @if (showWriteActions()) { + } - - + + - + - - - + + {{ pipeline.ref || '' }} + {{ pipeline.source || '' }} + {{ pipeline.updated_at | date: 'medium' : timeZone : locale }} + + + + + + @if (showWriteActions()) { + + } + + + + } diff --git a/src/app/groups/group-tabs/feature-tabs/schedules/schedule-table/schedule-pipeline-table/schedule-pipeline-table.component.ts b/src/app/groups/group-tabs/feature-tabs/schedules/schedule-table/schedule-pipeline-table/schedule-pipeline-table.component.ts index aee2b86..b28d64f 100644 --- a/src/app/groups/group-tabs/feature-tabs/schedules/schedule-table/schedule-pipeline-table/schedule-pipeline-table.component.ts +++ b/src/app/groups/group-tabs/feature-tabs/schedules/schedule-table/schedule-pipeline-table/schedule-pipeline-table.component.ts @@ -1,4 +1,7 @@ +import { DownloadArtifactsIconComponent } from '$groups/group-tabs/feature-tabs/components/download-artifacts-icon/download-artifacts-icon.component' import { JobsComponent } from '$groups/group-tabs/feature-tabs/components/jobs/jobs.component' +import { OpenGitlabIconComponent } from '$groups/group-tabs/feature-tabs/components/open-gitlab-icon/open-gitlab-icon.component' +import { WriteActionsIconComponent } from '$groups/group-tabs/feature-tabs/components/write-actions-icon/write-actions-icon.component' import { StatusColorPipe } from '$groups/group-tabs/feature-tabs/pipes/status-color.pipe' import { Pipeline, PipelineId } from '$groups/model/pipeline' import { Status } from '$groups/model/status' @@ -14,8 +17,6 @@ import { NzI18nService } from 'ng-zorro-antd/i18n' import { NzIconModule } from 'ng-zorro-antd/icon' import { NzTableModule } from 'ng-zorro-antd/table' import { NzToolTipModule } from 'ng-zorro-antd/tooltip' -import { DownloadArtifactsIconComponent } from '../../../components/download-artifacts-icon/download-artifacts-icon.component' -import { WriteActionsIconComponent } from '../../../components/write-actions-icon/write-actions-icon.component' const headers: Header[] = [ { @@ -52,7 +53,8 @@ const headers: Header[] = [ StatusColorPipe, JobsComponent, WriteActionsIconComponent, - DownloadArtifactsIconComponent + DownloadArtifactsIconComponent, + OpenGitlabIconComponent ], templateUrl: './schedule-pipeline-table.component.html', styleUrls: ['./schedule-pipeline-table.component.scss'], @@ -85,11 +87,6 @@ export class SchedulePipelineTableComponent { return statusToScope(status) } - onClick(e: Event, { web_url }: Pipeline): void { - e.stopPropagation() - window.open(web_url, '_blank') - } - trackById({ id }: Pipeline): PipelineId { return id } diff --git a/src/app/groups/group-tabs/feature-tabs/schedules/schedule-table/schedule-table.component.html b/src/app/groups/group-tabs/feature-tabs/schedules/schedule-table/schedule-table.component.html index 77822a1..f23207d 100644 --- a/src/app/groups/group-tabs/feature-tabs/schedules/schedule-table/schedule-table.component.html +++ b/src/app/groups/group-tabs/feature-tabs/schedules/schedule-table/schedule-table.component.html @@ -2,9 +2,9 @@ @for (header of headers; track header.title) { - - {{ header.title }} - + + {{ header.title }} + } Jobs Action @@ -12,88 +12,94 @@ @for (data of nzTable.data; track trackByScheduleId(data)) { - - {{ data.project.name }} - {{ data.schedule.description }} - - {{ data.schedule.ref }} - - - - {{ data.pipeline?.source || '' }} - - - - {{ data.pipeline?.updated_at | date : 'medium' : timeZone : locale }} - - - {{ - data.schedule.next_run_at | nextRunAt - }} - - - @if (data.pipeline; as pipeline) { - - } @else { - } - - - @if (data.pipeline; as pipeline) { - - } @else { - } - - - @if (data.pipeline; as pipeline) { @if(showWriteActions()){ - - } + + {{ data.project.name }} + {{ data.schedule.description }} + + {{ data.schedule.ref }} + + + + {{ data.pipeline?.source || '' }} + + + + {{ data.pipeline?.updated_at | date: 'medium' : timeZone : locale }} + + + {{ + data.schedule.next_run_at | nextRunAt + }} + + + @if (data.pipeline; as pipeline) { + + } @else { + - + } + + + @if (data.pipeline; as pipeline) { + + } @else { + - + } + + + @if (data.pipeline; as pipeline) { + @if (showWriteActions()) { + + } - + - + - + + } @else { + - } @else { - + + } - + + + + + @if (data.project.id === selectedProjectId()) { + } - - - - - - @if (data.project.id === selectedProjectId()) { - - } - + } diff --git a/src/app/groups/group-tabs/feature-tabs/schedules/schedule-table/schedule-table.component.ts b/src/app/groups/group-tabs/feature-tabs/schedules/schedule-table/schedule-table.component.ts index 0cdcbf7..80baa97 100644 --- a/src/app/groups/group-tabs/feature-tabs/schedules/schedule-table/schedule-table.component.ts +++ b/src/app/groups/group-tabs/feature-tabs/schedules/schedule-table/schedule-table.component.ts @@ -35,6 +35,7 @@ import { WriteActionsIconComponent } from '../../components/write-actions-icon/w import { PipelinesService } from '../../pipelines/service/pipelines.service' import { NextRunAtPipe } from './pipes/next-run-at.pipe' import { SchedulePipelineTableComponent } from './schedule-pipeline-table/schedule-pipeline-table.component' +import { OpenGitlabIconComponent } from '../../components/open-gitlab-icon/open-gitlab-icon.component' const headers: Header[] = [ { title: 'Project', sortable: true, compare: (a, b) => compareString(a.project.name, b.project.name) }, @@ -81,7 +82,8 @@ const headers: Header[] = [ FavoritesIconComponent, SchedulePipelineTableComponent, WriteActionsIconComponent, - DownloadArtifactsIconComponent + DownloadArtifactsIconComponent, + OpenGitlabIconComponent ], templateUrl: './schedule-table.component.html', styleUrls: ['./schedule-table.component.scss'], @@ -125,11 +127,6 @@ export class ScheduleTableComponent implements OnDestroy { return statusToScope(status) } - onPipelineClick(e: Event, { web_url }: Pipeline): void { - e.stopPropagation() - window.open(web_url, '_blank') - } - onScheduleClick(e: Event, { web_url }: Project): void { e.stopPropagation() window.open(`${web_url}/-/pipeline_schedules`, '_blank') diff --git a/src/app/groups/group-tabs/group-tabs.component.ts b/src/app/groups/group-tabs/group-tabs.component.ts index 5e1c1c4..896c32c 100644 --- a/src/app/groups/group-tabs/group-tabs.component.ts +++ b/src/app/groups/group-tabs/group-tabs.component.ts @@ -49,7 +49,10 @@ export class GroupTabsComponent { return groups.findIndex(({ id }) => id === selectedGroupId) }) - constructor(private route: ActivatedRoute, private router: Router) { + constructor( + private route: ActivatedRoute, + private router: Router + ) { this.loading.set(true) this.groupService .getGroups()