4444 </ div >
4545
4646 < mat-divider > </ mat-divider >
47+ </ form >
4748
49+ < form [formGroup] ="tileForm ">
4850 < div class ="container ">
4951 < div class ="left ">
50- @switch (editMode) {
51- @case (EditMode.created) {
52- < button mat-stroked-button class ="browseButton " (click) ="backToAllTiles() ">
53- < mat-icon > chevron_left</ mat-icon > Back to all datasets
54- </ button >
55- }
56- @case (EditMode.update) {
57- < button mat-raised-button color ="primary " class ="add-dataset " (click) ="addTile() "> < mat-icon > add</ mat-icon > </ button >
58- < cdk-virtual-scroll-viewport [itemSize] ="itemSizePx " (scrolledIndexChange) ="onScrolledIndexChange($event) ">
59- < mat-nav-list >
60- < ng-container *cdkVirtualFor ="let item of source; trackBy: trackById ">
61- < mat-list-item [class.selected] ="(selectedTileId$ | async) === item.id " (click) ="select(item) ">
62- < h4 matListItemTitle > {{ tileTitle(item) }}</ h4 >
63- < p matListItemLine > {{ item.id }}</ p >
64- </ mat-list-item >
65- </ ng-container >
66- </ mat-nav-list >
67-
68- @if (source?.loading$ | async) {
69- < mat-spinner [diameter] ="loadingSpinnerDiameterPx "> </ mat-spinner >
70- }
71- </ cdk-virtual-scroll-viewport >
72- }
52+ @if (editMode === EditMode.created) {
53+ < button mat-stroked-button class ="browseButton " (click) ="backToAllTiles() ">
54+ < mat-icon > chevron_left</ mat-icon > Back to all datasets
55+ </ button >
56+ < mat-nav-list >
57+ < mat-list-item class ="selected ">
58+ < h4 matListItemTitle > {{ createdTileName }}</ h4 >
59+ < p matListItemLine > {{ createdTileId }}</ p >
60+ </ mat-list-item > </ mat-nav-list
61+ >
62+ }
63+ @if (editMode === EditMode.update || editMode === EditMode.create) {
64+ < button mat-raised-button color ="primary " class ="add-dataset " (click) ="addTile() "> < mat-icon > add</ mat-icon > </ button >
65+ < cdk-virtual-scroll-viewport [itemSize] ="itemSizePx " (scrolledIndexChange) ="onScrolledIndexChange($event) ">
66+ < mat-nav-list >
67+ < ng-container *cdkVirtualFor ="let item of source; trackBy: trackById ">
68+ < mat-list-item [class.selected] ="(selectedTileId$ | async) === item.id " (click) ="select(item) ">
69+ < h4 matListItemTitle > {{ tileTitle(item.params.filePath) }}</ h4 >
70+ < p matListItemLine > {{ item.id }}</ p >
71+ </ mat-list-item >
72+ </ ng-container >
73+ </ mat-nav-list >
74+
75+ @if (source?.loading$ | async) {
76+ < mat-spinner [diameter] ="loadingSpinnerDiameterPx "> </ mat-spinner >
77+ }
78+ </ cdk-virtual-scroll-viewport >
7379 }
7480 </ div >
7581
76- < div class ="time-slice " [formGroup] =" tileForm.controls.bbox ">
82+ < div class ="tile-editor ">
7783 @switch (editMode) {
7884 @case (EditMode.create) {
7985 < h2 > Create New Tile</ h2 >
@@ -90,8 +96,12 @@ <h2>Edit Tile {{ selectedTileId$ | async }}</h2>
9096 < button mat-raised-button class ="analyze " (click) ="suggestTileProperties() "> Analyze file and suggest properties</ button >
9197 </ div >
9298
99+ < mat-divider > </ mat-divider >
100+
101+ < h2 > Tile Metadata</ h2 >
102+
93103 < h3 class ="mat-subtitle-1 "> Bounding Box</ h3 >
94- < div class ="bbox-fields ">
104+ < div formGroupName =" bbox " class ="bbox-fields ">
95105 < mat-form-field appearance ="fill ">
96106 < mat-label > min X</ mat-label >
97107 < input matInput type ="number " formControlName ="bboxMinX " />
@@ -116,6 +126,28 @@ <h3 class="mat-subtitle-1">Bounding Box</h3>
116126
117127 < mat-divider > </ mat-divider >
118128
129+ < mat-form-field appearance ="fill ">
130+ < mat-label > Raster Band</ mat-label >
131+ < mat-select formControlName ="band ">
132+ @for (i of bandIndices; track i) {
133+ < mat-option [value] ="i ">
134+ {{ form.controls.rasterResultDescriptor.controls.bands.value[i].name || 'Band ' + i }}
135+ </ mat-option >
136+ }
137+ </ mat-select >
138+ </ mat-form-field >
139+
140+ < mat-divider > </ mat-divider >
141+
142+ < mat-form-field appearance ="fill ">
143+ < mat-label > Z-Index (higher value means more priority when overlapping with other tiles)</ mat-label >
144+ < input matInput type ="number " formControlName ="zIndex " />
145+ </ mat-form-field >
146+
147+ < mat-divider > </ mat-divider >
148+
149+ < h2 > File Loading Parameters</ h2 >
150+
119151 < geoengine-manager-gdal-dataset-parameters
120152 [form] ="tileForm.controls.gdalParameters "
121153 [dataPath] ="dataPath "
0 commit comments