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 0b4c51723 fixed show active btn
0b4c51723 is described below
commit 0b4c51723c4b6693a87bb10b10e168c740f64e03
Author: Hennadii_Shpak <[email protected]>
AuthorDate: Mon Aug 1 19:26:26 2022 +0300
fixed show active btn
---
.../src/app/resources/images/images.service.ts | 21 +++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)
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 a3c730690..15e79b0f9 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
@@ -19,6 +19,7 @@ import { caseInsensitiveSortUtil } from '../../core/util';
})
export class ImagesService {
private $$projectList: BehaviorSubject<ProjectModel[]> = new
BehaviorSubject<ProjectModel[]>([]);
+ private $$cashedProjectList: BehaviorSubject<ProjectModel[]> = new
BehaviorSubject<ProjectModel[]>([]);
private $$imageList: BehaviorSubject<ImageModel[]> = new
BehaviorSubject<ImageModel[]>([]);
private $$isFilterOpened: BehaviorSubject<boolean> = new
BehaviorSubject<boolean>(false);
// tslint:disable-next-line:max-line-length
@@ -112,17 +113,24 @@ export class ImagesService {
}
showImage(flag: boolean, field: keyof ImageModel, comparedValue: string) {
- const imageList = this.getImageList(this.$$projectList.getValue());
+ const projectList = this.$$cashedProjectList.getValue();
if (flag) {
- this.updateImageList(imageList);
+ this.updateProjectList(projectList);
} else {
- const filteredImageList = this.filterByCondition(imageList, field,
comparedValue);
- this.updateImageList(filteredImageList);
+ const filteredImageList =
this.filterByCondition(this.$$projectList.getValue(), field, comparedValue);
+ this.updateProjectList(filteredImageList);
}
}
- private filterByCondition(arr: ImageModel[], field: keyof ImageModel,
comparedValue: string) {
- return arr.filter(item => item[field] === comparedValue);
+ private filterByCondition(arr: ProjectModel[], field: keyof ImageModel,
comparedValue: string) {
+ return arr.map(item => {
+ const filteredImageList = item.images.filter(image => image[field] ===
comparedValue);
+ return {...item, images: filteredImageList};
+ });
+ }
+
+ private updateCashedProjectList(projectList: ProjectModel[]): void {
+ this.$$cashedProjectList.next(projectList);
}
private getDropdownDataList(): void {
@@ -155,6 +163,7 @@ export class ImagesService {
const imageList = this.getImageList(imagePageData);
this.updateProjectList(imagePageData);
this.updateImageList(imageList);
+ this.updateCashedProjectList(imagePageData);
this.getDropdownDataList();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]