AW-5071 refactor some parts

This commit is contained in:
Mark van der Wal 2023-05-30 21:16:20 +02:00
parent 945d88839f
commit 1bc3983f55
2 changed files with 23 additions and 14 deletions

View File

@ -1,17 +1,17 @@
import { Injectable } from '@angular/core'; import {Injectable} from '@angular/core';
import { Observable , Observer } from 'rxjs'; import {Observable} from 'rxjs';
import {map} from 'rxjs/operators'; import {IListItem} from '../models/list.item';
import { IListItem } from '../models/list.item'; import {IItem} from '../models/item';
import { IItem } from '../models/item'; import {HttpClient} from '@angular/common/http';
import { HttpClient } from "@angular/common/http"; import {AppConfig} from '../shared/app.config';
import { AppConfig } from "../shared/app.config"; import {ItemService} from './item.service';
@Injectable({ @Injectable({
providedIn: 'root', providedIn: 'root',
}) })
export class FolderService { export class FolderService {
constructor(public httpClient: HttpClient, public appConfig: AppConfig) { constructor(public httpClient: HttpClient, public appConfig: AppConfig, public itemService: ItemService) {
} }
ApiEndpoint() { ApiEndpoint() {
@ -19,23 +19,24 @@ export class FolderService {
} }
getFolder(code: string): Observable<IListItem> { getFolder(code: string): Observable<IListItem> {
return this.httpClient.get<IListItem>(`${this.ApiEndpoint()}/api/v1/folders/${code}`); return this.httpClient.get<IListItem>(`${this.ApiEndpoint()}/api/v1/folders/${code}`);
} }
getMyRoots(): Observable<IListItem[]> { getMyRoots(): Observable<IListItem[]> {
return this.httpClient.get<IListItem[]>(`${this.ApiEndpoint()}/api/v1/folders/my_roots`); return this.httpClient.get<IListItem[]>(`${this.ApiEndpoint()}/api/v1/folders/my_roots`);
} }
getFolderParents(code: string): Observable<IListItem[]> { getFolderParents(code: string): Observable<IListItem[]> {
return this.httpClient.get<IListItem[]>(`${this.ApiEndpoint()}/api/v1/folders/${code}/parents`); return this.itemService.getBreadcrumbs(code);
} }
getChildFolders(code: string): Observable<IListItem[]> { getChildFolders(code: string): Observable<IListItem[]> {
return this.httpClient.get<IListItem[]>(`${this.ApiEndpoint()}/api/v1/folders/${code}/listfolders`); const folderItemTypes = "FOLDER,FTP_FOLDER";
return this.itemService.getChildItemList(code, folderItemTypes);
} }
getItems(code: string,skip:number, take:number): Observable<IListItem[]> { getItems(code: string,skip:number, take:number): Observable<IListItem[]> {
return this.httpClient.get<IListItem[]>(`${this.ApiEndpoint()}/api/v1/folders/${code}/list?skip=${skip}&take=${take}`); return this.itemService.getChildItemList(code, null, null, 1, true, null, null, skip, take);
} }
moveItem(itemCode: string, newParentCode: string): Observable<IListItem> { moveItem(itemCode: string, newParentCode: string): Observable<IListItem> {

View File

@ -8,6 +8,7 @@ import { IItemTask } from '../models/itemTask';
import { HttpClient, HttpParams,HttpHeaders } from "@angular/common/http"; import { HttpClient, HttpParams,HttpHeaders } from "@angular/common/http";
import { AppConfig } from "../shared/app.config"; import { AppConfig } from "../shared/app.config";
import {ItemTypeService} from './itemtype.service'; import {ItemTypeService} from './itemtype.service';
import {IListItem} from '../models/list.item';
@Injectable({ @Injectable({
providedIn: 'root', providedIn: 'root',
@ -84,7 +85,7 @@ export class ItemService {
} }
getChildItemList(parentcode: string, itemType: string, dataFilter?: any, level = 1, deep = true, getChildItemList(parentcode: string, itemType: string, dataFilter?: any, level = 1, deep = true,
startDate?: Date, endDate?: Date): Observable<IItem[]> { startDate?: Date, endDate?: Date, skip?: number, take?: number): Observable<IItem[]> {
let params = new HttpParams(); let params = new HttpParams();
if(itemType != null) { if(itemType != null) {
params = params.append("it", itemType); params = params.append("it", itemType);
@ -96,6 +97,9 @@ export class ItemService {
params = params.append("deep", deep.toString()); params = params.append("deep", deep.toString());
if (startDate) params = params.append("sDate", startDate.toISOString()); if (startDate) params = params.append("sDate", startDate.toISOString());
if (endDate) params = params.append("eDate", endDate.toISOString()); if (endDate) params = params.append("eDate", endDate.toISOString());
if(skip) params = params.append("skip", skip);
if(take) params = params.append("take", take);
return this.httpClient.get<IItem[]>(`${this.ApiEndpoint()}/api/v1/items/${parentcode}/children`, { params: params }); return this.httpClient.get<IItem[]>(`${this.ApiEndpoint()}/api/v1/items/${parentcode}/children`, { params: params });
} }
@ -181,4 +185,8 @@ export class ItemService {
return this.httpClient.get<any>(`${this.ApiEndpoint()}/api/v1/items/${itemCode}/value/layer/${layerIndex}?c=${x},${y}&crs=${crs}`); return this.httpClient.get<any>(`${this.ApiEndpoint()}/api/v1/items/${itemCode}/value/layer/${layerIndex}?c=${x},${y}&crs=${crs}`);
} }
getBreadcrumbs(itemCode: string): Observable<IListItem[]> {
return this.httpClient.get<any>(`${this.ApiEndpoint()}/api/v1/items/${itemCode}/breadcrumbs`);
}
} }