This is an automated email from the ASF dual-hosted git repository.
hshpak pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/incubator-datalab.git
The following commit(s) were added to refs/heads/develop by this push:
new 64296ab9e added field for filter
64296ab9e is described below
commit 64296ab9e4a814aa11ac8d836f37a7a7fcd86173
Author: Hennadii_Shpak <[email protected]>
AuthorDate: Mon Aug 1 15:54:41 2022 +0300
added field for filter
---
.../normalize-dropdown-multi-value.pipe.ts | 4 ++-
.../page-filter/page-filter.component.html | 33 +++++++++++++++++++++-
.../page-filter/page-filter.component.scss | 4 ---
.../page-filter/page-filter.component.ts | 7 ++++-
.../src/app/resources/images/images.component.html | 4 +--
.../src/app/resources/images/images.component.scss | 2 +-
.../src/app/resources/images/images.config.ts | 10 ++++---
.../src/app/resources/images/images.model.ts | 4 +--
.../src/app/resources/images/images.service.ts | 11 ++++----
.../resources-grid/resources-grid.component.ts | 1 -
10 files changed, 57 insertions(+), 23 deletions(-)
diff --git
a/services/self-service/src/main/resources/webapp/src/app/core/pipes/normalize-dropdown-multi-value/normalize-dropdown-multi-value.pipe.ts
b/services/self-service/src/main/resources/webapp/src/app/core/pipes/normalize-dropdown-multi-value/normalize-dropdown-multi-value.pipe.ts
index 2a81a4ef5..1bfed28a4 100644
---
a/services/self-service/src/main/resources/webapp/src/app/core/pipes/normalize-dropdown-multi-value/normalize-dropdown-multi-value.pipe.ts
+++
b/services/self-service/src/main/resources/webapp/src/app/core/pipes/normalize-dropdown-multi-value/normalize-dropdown-multi-value.pipe.ts
@@ -31,6 +31,8 @@ export class NormalizeDropdownMultiValuePipe implements
PipeTransform {
return firstValue;
}
- return `${firstValue} (+${value.length - 1} others)`;
+ return value.length === 1
+ ? firstValue
+ : `${firstValue} (+${value.length - 1} others)`;
}
}
diff --git
a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/page-filter/page-filter.component.html
b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/page-filter/page-filter.component.html
index 2782e7f41..9de59de67 100644
---
a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/page-filter/page-filter.component.html
+++
b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/page-filter/page-filter.component.html
@@ -18,7 +18,7 @@
-->
<div class="dialog-content selection">
- <div id="scrolling" class="content-box mat-reset scrolling-content">
+ <div id="scrolling" class="mat-reset scrolling-content">
<form class="filter-table__wrapper" [formGroup]="filterForm">
<div class="form-control__wrapper control-group">
<label class="label">Custom tag</label>
@@ -130,6 +130,37 @@
</div>
</div>
+ <div class="control-group">
+ <label class="label">Sharing</label>
+ <div class="control selector-wrapper">
+ <span class="form-field-wrapper">
+ <mat-form-field>
+ <mat-select
+ [formControlName]="dropdownFieldNames.sharingStatuses"
+ disableOptionCentering
+ panelClass="create-resources-dialog scrolling"
+ [placeholder]="placeholders.sharing"
+ multiple
+ (click)="onSelectClick()"
+ >
+ <mat-select-trigger class="select__value">
+ {{sharingStatuses.value | normalizeDropdownMultiValue |
titlecase}}
+ </mat-select-trigger>
+ <mat-option
+ *ngFor="let status of ($filterDropdownData |
async).sharingStatuses"
+ [value]="status"
+ >
+ {{ status | titlecase }}
+ </mat-option>
+ </mat-select>
+ <button class="caret">
+ <i class="material-icons">keyboard_arrow_down</i>
+ </button>
+ </mat-form-field>
+ </span>
+ </div>
+ </div>
+
<div class="text-center m-top-20">
<button type="button" class="butt" mat-raised-button
(click)="cancelFilter()" >Cancel</button>
<button type="button" class="butt butt-success" mat-raised-button
(click)="confirmFilter()" >Apply</button>
diff --git
a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/page-filter/page-filter.component.scss
b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/page-filter/page-filter.component.scss
index b578cd45d..bd6e13870 100644
---
a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/page-filter/page-filter.component.scss
+++
b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/page-filter/page-filter.component.scss
@@ -50,10 +50,6 @@
transform: translateX(-15px) !important;
}
-.content-box {
- padding: 25px 0 35px;
-}
-
.select__value {
color: #607d8b;
}
diff --git
a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/page-filter/page-filter.component.ts
b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/page-filter/page-filter.component.ts
index 10184ea2b..fdd5fcbcb 100644
---
a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/page-filter/page-filter.component.ts
+++
b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/page-filter/page-filter.component.ts
@@ -78,7 +78,8 @@ export class PageFilterComponent implements OnInit {
imageName: '',
endpoints: [[]],
statuses: [[]],
- templateNames: [[]]
+ templateNames: [[]],
+ sharingStatuses: [[]],
});
}
@@ -97,4 +98,8 @@ export class PageFilterComponent implements OnInit {
get templateNames() {
return this.filterForm.get(DropdownFieldNames.templateNames) as
FormControl;
}
+
+ get sharingStatuses() {
+ return this.filterForm.get(DropdownFieldNames.sharingStatuses) as
FormControl;
+ }
}
diff --git
a/services/self-service/src/main/resources/webapp/src/app/resources/images/images.component.html
b/services/self-service/src/main/resources/webapp/src/app/resources/images/images.component.html
index 44f9fad82..bc3580566 100644
---
a/services/self-service/src/main/resources/webapp/src/app/resources/images/images.component.html
+++
b/services/self-service/src/main/resources/webapp/src/app/resources/images/images.component.html
@@ -238,8 +238,8 @@
</td>
<td class="cost-col image-table-cell">
<div class="shared-status--wrapper">
- <span class="shared-status"> {{element.shared ?
sharedStatus.shared : sharedStatus.private}} </span>
- <span *ngIf="element.shared" class="currency_details" >
+ <span class="shared-status"> {{element.sharingStatus |
titlecase}} </span>
+ <span *ngIf="element.sharingStatus !== sharedStatus.private"
class="currency_details">
<i class="material-icons">help_outline</i>
</span>
</div>
diff --git
a/services/self-service/src/main/resources/webapp/src/app/resources/images/images.component.scss
b/services/self-service/src/main/resources/webapp/src/app/resources/images/images.component.scss
index b7dae4ed1..ce03aa96e 100644
---
a/services/self-service/src/main/resources/webapp/src/app/resources/images/images.component.scss
+++
b/services/self-service/src/main/resources/webapp/src/app/resources/images/images.component.scss
@@ -120,7 +120,7 @@
.filer__wrapper {
position: absolute;
- top: 20px;
+ top: 46px;
left: 170px;
z-index: 10;
}
diff --git
a/services/self-service/src/main/resources/webapp/src/app/resources/images/images.config.ts
b/services/self-service/src/main/resources/webapp/src/app/resources/images/images.config.ts
index 4be84ca19..b09c61731 100644
---
a/services/self-service/src/main/resources/webapp/src/app/resources/images/images.config.ts
+++
b/services/self-service/src/main/resources/webapp/src/app/resources/images/images.config.ts
@@ -29,8 +29,9 @@ export enum Image_Table_Column_Headers {
}
export enum Shared_Status {
- shared = 'Shared',
- private = 'Private'
+ shared = 'SHARED',
+ private = 'PRIVATE',
+ received = 'RECEIVED'
}
export const Image_Table_Titles = <const>[
@@ -72,7 +73,8 @@ export enum DropdownFieldNames {
imageName = 'imageName',
endpoints = 'endpoints',
templateNames = 'templateNames',
- statuses = 'statuses'
+ statuses = 'statuses',
+ sharingStatuses = 'sharingStatuses'
}
export enum ImageModelNames {
@@ -80,7 +82,7 @@ export enum ImageModelNames {
status = 'status',
endpoint = 'endpoint',
templateName = 'templateName',
- shared = 'shared'
+ sharingStatus = 'sharingStatus'
}
export const FilterFormInitialValue = {
diff --git
a/services/self-service/src/main/resources/webapp/src/app/resources/images/images.model.ts
b/services/self-service/src/main/resources/webapp/src/app/resources/images/images.model.ts
index 620a9c5ee..f3cf38f11 100644
---
a/services/self-service/src/main/resources/webapp/src/app/resources/images/images.model.ts
+++
b/services/self-service/src/main/resources/webapp/src/app/resources/images/images.model.ts
@@ -13,8 +13,8 @@ export interface ImageModel {
instanceName: string;
name: string;
project: string;
- shared: boolean;
- status: 'active' | 'creating' | 'terminated' | 'terminating' | 'failed';
+ sharingStatus: 'SHARED'| 'PRIVATE' | 'RECEIVED';
+ status: 'ACTIVE' | 'CREATING' | 'FAILED';
user: string;
isSelected?: boolean;
libraries: Library[];
diff --git
a/services/self-service/src/main/resources/webapp/src/app/resources/images/images.service.ts
b/services/self-service/src/main/resources/webapp/src/app/resources/images/images.service.ts
index 2e62e0350..a3c730690 100644
---
a/services/self-service/src/main/resources/webapp/src/app/resources/images/images.service.ts
+++
b/services/self-service/src/main/resources/webapp/src/app/resources/images/images.service.ts
@@ -48,10 +48,7 @@ export class ImagesService {
filterImagePageInfo(params: ImageFilterFormValue):
Observable<ProjectModel[]> {
return this.userImagesPageService.filterImagePage(params)
.pipe(
- tap(value => {
- console.log(value);
- return this.getImagePageData(value);
- })
+ tap(value => this.getImagePageData(value))
);
}
@@ -134,7 +131,7 @@ export class ImagesService {
imageStatuses: this.getDropdownDataItem(ImageModelNames.status),
endpoints: this.getDropdownDataItem(ImageModelNames.endpoint),
templateNames: this.getDropdownDataItem(ImageModelNames.templateName),
- sharingStatuses: this.getDropdownDataItem(ImageModelNames.shared),
+ sharingStatuses: this.getDropdownDataItem(ImageModelNames.sharingStatus),
};
this.addFilterDropdownData(dropdownList);
this.dropdownStartValue = dropdownList;
@@ -142,7 +139,9 @@ export class ImagesService {
private getDropdownDataItem(key: keyof ImageModel): string[] {
const dropdownItem = this.$$imageList.value.reduce((acc: Set<string>,
item) => {
- acc.add(item[key].toString());
+ if (item) {
+ acc.add(<string>item[key]);
+ }
return acc;
}, new Set<string>());
return caseInsensitiveSortUtil([...dropdownItem]);
diff --git
a/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.ts
b/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.ts
index 0fa17510e..4677f57d2 100644
---
a/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.ts
+++
b/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.ts
@@ -444,7 +444,6 @@ export class ResourcesGridComponent implements OnInit {
this.toastr.error('Creating computation resource failed!', 'Oops!');
}
}
- console.log(filteredData);
this.filteredEnvironments = filteredData;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]