Skip to content

Commit 611ebda

Browse files
MillenniumFalconMechanicNoopDog
authored andcommitted
Added left nav. Resolves #1007. (#1033)
* Left nav, first pass. * Left nav, rebased * Added supplementary links skeleton. * Updated supplementary links UI - first pass. * Left nav, supp links css.
1 parent a1d2f7d commit 611ebda

File tree

128 files changed

+4023
-1096
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

128 files changed

+4023
-1096
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<p class="fontsize-xs">
2+
<span>Data downloaded from the HCA DCP is governed by the </span>
3+
<a href="https://www.humancellatlas.org/data-release-policy/"
4+
target="_blank"
5+
rel="noreferrer noopener">HCA Data Release Policy</a>
6+
<span> and licensed under the </span>
7+
<a href="https://creativecommons.org/licenses/by/4.0/"
8+
target="_blank"
9+
rel="noreferrer noopener">Creative Commons Attribution 4.0 International License (CC BY 4.0)</a>
10+
<span>. For more information please see our </span>
11+
<a href="{{portalURL}}/about/data-use-agreement"
12+
target="_blank"
13+
rel="noreferrer noopener">Data Use Agreement.</a>
14+
</p>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/*
2+
* Human Cell Atlas
3+
* https://www.humancellatlas.org/
4+
*
5+
* Styles for data download citation component.
6+
*/
7+
8+
/* Text */
9+
p {
10+
margin: 0;
11+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
/*
2+
* Human Cell Atlas
3+
* https://www.humancellatlas.org/
4+
*
5+
* Component for displaying download citation.
6+
*/
7+
8+
// Core dependencies
9+
import { Component } from "@angular/core";
10+
11+
// App dependencies
12+
import { ConfigService } from "../../config/config.service";
13+
14+
@Component({
15+
selector: "data-download-citation",
16+
templateUrl: "./data-download-citation.component.html",
17+
styleUrls: ["./data-download-citation.component.scss"]
18+
})
19+
export class DataDownloadCitationComponent {
20+
21+
// Template variables
22+
public portalURL: string;
23+
24+
/**
25+
*
26+
* @param {ConfigService} configService
27+
*/
28+
public constructor(private configService: ConfigService) {
29+
30+
this.portalURL = this.configService.getPortalURL();
31+
}
32+
33+
}

spa/src/app/files/files.component.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
flex: 1; // Push footer to bottom of available space (inside snapper)
1212

1313
.layout-column {
14-
//display: flex; // Required to display <project-prepared-matrix-downloads>
1514
height: 100%; // Required for download banner hca-download-manifest
1615
}
1716

spa/src/app/files/files.module.ts

Lines changed: 52 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ import { MatTooltipModule } from "@angular/material/tooltip";
3232
import { CcPipeModule } from "../cc-pipe/cc-pipe.module";
3333
import { ConfigService } from "../config/config.service";
3434
import { AnalysisProtocolPipelineLinkerComponent } from "./analysis-protocol-pipeline-linker/analysis-protocol-pipeline-linker.component";
35+
import { DataDownloadCitationComponent } from "./data-download-citation/data-download-citation.component";
36+
import { DisplayDataLinkComponent } from "./hca-get-data/display-data-link/display-data-link.component";
3537
import { FilesComponent } from "./files.component";
3638
import { FileManifestSummaryComponent } from "./file-manifest-summary/file-manifest-summary.component";
3739
import { routes } from "./files.routes";
@@ -54,6 +56,7 @@ import { HCAGetDataSummaryComponent } from "./hca-get-data/hca-get-data-summary/
5456
import { HCAGetManifestComponent } from "./hca-get-data/hca-get-manifest/hca-get-manifest.component";
5557
import { HCAGetMatrixComponent } from "./hca-get-data/hca-get-matrix/hca-get-matrix.component";
5658
import { HCAGetMatrixSpeciesSelectionComponent } from "./hca-get-data/hca-get-matrix-species-selection/hca-get-matrix-species-selection.component";
59+
import { LeftBarComponent } from "./left-bar/left-bar.component";
5760
import { MatrixPartialQueryMatchWarningComponent } from "./hca-get-data/matrix-partial-query-match-warning/matrix-partial-query-match-warning.component";
5861
import { MatrixUrlRequestFormComponent } from "./hca-get-data/matrix-url-request-form/matrix-url-request-form.component";
5962
import { MatrixUrlRequestCompletedComponent } from "./hca-get-data/matrix-url-request-completed/matrix-url-request-completed.component";
@@ -74,15 +77,28 @@ import { HCATableSortComponent } from "./hca-table-sort/hca-table-sort.component
7477
import { HCATooltipComponent } from "./hca-tooltip/hca-tooltip.component";
7578
import { ModalModule } from "../modal/modal.module";
7679
import { ProjectService } from "./project/project.service";
80+
import { ProjectDataCitationComponent } from "./project-data-citation/project-data-citation.component";
7781
import { ProjectDeprecatedComponent } from "./project-deprecated/project-deprecated.component";
78-
import { ProjectDownloadMatrixModalContainerComponent } from "./project-download-matrix-modal-container/project-download-matrix-modal-container.component";
79-
import { ProjectDownloadMatrixModalComponent } from "./project-download-matrix-modal/project-download-matrix-modal.component";
82+
import { ProjectDetailComponent } from "./project-detail/project-detail.component";
83+
import { ProjectDownloadManifestComponent } from "./project-download-manifest/project-download-manifest.component";
84+
import { ProjectDownloadManifestModalComponent } from "./project-download-manifest-modal/project-download-manifest-modal.component";
85+
import { ProjectDownloadManifestModalContainerComponent } from "./project-download-manifest-modal-container/project-download-manifest-modal-container.component";
8086
import { ProjectDownloadMatrixComponent } from "./project-download-matrix/project-download-matrix.component";
87+
import { ProjectDownloadMatrixModalComponent } from "./project-download-matrix-modal/project-download-matrix-modal.component";
88+
import { ProjectDownloadMatrixModalContainerComponent } from "./project-download-matrix-modal-container/project-download-matrix-modal-container.component";
89+
import { ProjectDownloadTSVComponent } from "./project-download-tsv/project-download-tsv.component";
90+
import { ProjectExpressionMatricesComponent } from "./project-expression-matrices/project-expression-matrices.component";
91+
import { ProjectExternalResourcesComponent } from "./project-external-resources/project-external-resources.component";
8192
import { ProjectGuardComponent } from "./project-guard/project-guard.component";
8293
import { ProjectIntegrationsComponent } from "./project-integrations/project-integrations.component";
8394
import { ProjectIngestInProgressComponent } from "./project-ingest-in-progress/project-ingest-in-progress.component";
8495
import { ProjectSupplementaryLinksComponent } from "./project-supplementary-links/project-supplementary-links.component";
85-
import { ProjectTSVDownloadComponent } from "./project-tsv-download/project-tsv-download.component";
96+
import { ProjectMetadataComponent } from "./project-metadata/project-metadata.component";
97+
import { ProjectNavComponent } from "./project-nav/project-nav.component";
98+
import { ProjectOverviewComponent } from "./project-overview/project-overview.component";
99+
import { ProjectOverviewDataSummaryComponent } from "./project-overview-data-summary/project-overview-data-summary.component";
100+
import { ProjectSummaryStatsComponent } from "./project-summary-stats-component/project-summary-stats.component";
101+
import { ProjectViewFactory } from "./project-view/project-view.factory";
86102
import { SearchTermService } from "./shared/search-term.service";
87103
import { DownloadService } from "./shared/download.service";
88104
import { FileFacetDisplayService } from "./shared/file-facet-display.service";
@@ -127,9 +143,11 @@ import { TableScroll } from "./table-scroll/table-scroll.component";
127143
],
128144
declarations: [
129145
AnalysisProtocolPipelineLinkerComponent,
130-
FileTypeSummaryListComponent,
146+
DataDownloadCitationComponent,
147+
DisplayDataLinkComponent,
131148
FileManifestSummaryComponent,
132149
FileNameShortenerPipe,
150+
FileTypeSummaryListComponent,
133151
FilesComponent,
134152
HCAContentEllipsisComponent,
135153
HCAContentUnspecifiedDashComponent,
@@ -141,22 +159,11 @@ import { TableScroll } from "./table-scroll/table-scroll.component";
141159
HCAFileFilterComponent,
142160
HCAFileFilterResultComponent,
143161
HCAFileFilterWrapperComponent,
144-
MatrixPartialQueryMatchWarningComponent,
145-
MatrixUrlRequestFormComponent,
146-
MatrixUrlRequestCompletedComponent,
147-
ProjectDeprecatedComponent,
148-
ProjectDownloadMatrixComponent,
149-
ProjectDownloadMatrixModalComponent,
150-
ProjectDownloadMatrixModalContainerComponent,
151-
ProjectGuardComponent,
152-
ProjectIngestInProgressComponent,
153-
ProjectIntegrationsComponent,
154-
ProjectSupplementaryLinksComponent,
155-
ProjectTSVDownloadComponent,
162+
HCAFileSummaryComponent,
156163
HCAGetDataComponent,
157164
HCAGetDataDownloadsComponent,
158-
HCAGetDataPanelComponent,
159165
HCAGetDataFileSummaryComponent,
166+
HCAGetDataPanelComponent,
160167
HCAGetDataSummaryComponent,
161168
HCAGetManifestComponent,
162169
HCAGetMatrixComponent,
@@ -175,22 +182,48 @@ import { TableScroll } from "./table-scroll/table-scroll.component";
175182
HCATableSamplesComponent,
176183
HCATableSortComponent,
177184
HCATooltipComponent,
178-
HCAFileSummaryComponent,
185+
LeftBarComponent,
186+
MatrixPartialQueryMatchWarningComponent,
187+
MatrixUrlRequestCompletedComponent,
188+
MatrixUrlRequestFormComponent,
189+
ProjectDataCitationComponent,
190+
ProjectDeprecatedComponent,
191+
ProjectDetailComponent,
192+
ProjectDownloadManifestComponent,
193+
ProjectDownloadManifestModalComponent,
194+
ProjectDownloadManifestModalContainerComponent,
195+
ProjectDownloadMatrixComponent,
196+
ProjectDownloadMatrixModalComponent,
197+
ProjectDownloadMatrixModalContainerComponent,
198+
ProjectDownloadTSVComponent,
199+
ProjectExpressionMatricesComponent,
200+
ProjectExternalResourcesComponent,
201+
ProjectGuardComponent,
202+
ProjectIngestInProgressComponent,
203+
ProjectIntegrationsComponent,
204+
ProjectMetadataComponent,
205+
ProjectNavComponent,
206+
ProjectOverviewComponent,
207+
ProjectOverviewDataSummaryComponent,
208+
ProjectSummaryStatsComponent,
209+
ProjectSupplementaryLinksComponent,
179210
TableScroll
180211
],
181212
entryComponents: [
213+
ProjectDownloadManifestModalComponent,
182214
ProjectDownloadMatrixModalComponent
183215
],
184216
providers: [
185217
ConfigService,
186218
DownloadService,
187-
SearchTermService,
188219
FileFacetDisplayService,
189220
FileManifestService,
190221
FilesService,
191222
IntegrationService,
192223
MatrixService,
193224
ProjectService,
225+
ProjectViewFactory,
226+
SearchTermService,
194227
TableRendererService,
195228
TermResponseService,
196229
TermSortService,

spa/src/app/files/files.routes.ts

Lines changed: 49 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,17 @@ import { Route } from "@angular/router";
1111
// App dependencies
1212
import { FilesComponent } from "./files.component";
1313
import { HCAGetDataComponent } from "./hca-get-data/hca-get-data.component";
14+
import { HCAProjectComponent } from "./hca-project/hca-project.component";
15+
import { ProjectDataCitationComponent } from "./project-data-citation/project-data-citation.component";
16+
import { ProjectDownloadManifestModalContainerComponent } from "./project-download-manifest-modal-container/project-download-manifest-modal-container.component";
1417
import { ProjectDownloadMatrixModalContainerComponent } from "./project-download-matrix-modal-container/project-download-matrix-modal-container.component";
18+
import { ProjectExpressionMatricesComponent } from "./project-expression-matrices/project-expression-matrices.component";
19+
import { ProjectExternalResourcesComponent } from "./project-external-resources/project-external-resources.component";
1520
import { ProjectGuardComponent } from "./project-guard/project-guard.component";
21+
import { ProjectMetadataComponent } from "./project-metadata/project-metadata.component";
22+
import { ProjectOverviewComponent } from "./project-overview/project-overview.component";
23+
import { ProjectSummaryStatsComponent } from "./project-summary-stats-component/project-summary-stats.component";
24+
import { ProjectSupplementaryLinksComponent } from "./project-supplementary-links/project-supplementary-links.component";
1625

1726
export const routes: Route[] = [
1827
{
@@ -37,13 +46,49 @@ export const routes: Route[] = [
3746
},
3847
{
3948
path: ":id",
40-
component: ProjectGuardComponent
41-
49+
component: ProjectGuardComponent,
50+
children: [{
51+
path: "",
52+
pathMatch: "full",
53+
component: ProjectOverviewComponent
54+
},
55+
{
56+
path: "project-metadata",
57+
component: ProjectMetadataComponent
58+
},
59+
{
60+
path: "expression-matrices",
61+
component: ProjectExpressionMatricesComponent
62+
},
63+
{
64+
path: "supplementary-links",
65+
component: ProjectSupplementaryLinksComponent
66+
},
67+
{
68+
path: "external-resources",
69+
component: ProjectExternalResourcesComponent
70+
},
71+
{
72+
path: "summary-stats",
73+
component: ProjectSummaryStatsComponent
74+
},
75+
{
76+
path: "data-citation",
77+
component: ProjectDataCitationComponent
78+
}]
4279
},
4380
{
44-
path: ":id/prepared-expression-matrices",
81+
path: ":id/m/project-metadata",
82+
component: ProjectDownloadManifestModalContainerComponent
83+
},
84+
{
85+
path: ":id/m/expression-matrices",
4586
component: ProjectDownloadMatrixModalContainerComponent
46-
}
87+
},
88+
{ // TODO remove once left nav functionality is complete
89+
path: ":id/deprecated",
90+
component: HCAProjectComponent
91+
},
4792
]
4893
}
4994
];
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<a class="fontsize-s link"
2+
href="{{link}}"
3+
[attr.target]="targetBlank ? '_blank' : null">{{link}}</a>
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/**
2+
* Human Cell Atlas
3+
* https://www.humancellatlas.org/
4+
*
5+
* Styles for display data link.
6+
*/
7+
8+
/* Link */
9+
.link {
10+
display: -webkit-box;
11+
-webkit-line-clamp: 3;
12+
/* autoprefixer: ignore next */
13+
-webkit-box-orient: vertical;
14+
overflow: hidden;
15+
text-overflow: ellipsis;
16+
word-break: break-all;
17+
}

0 commit comments

Comments
 (0)