Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good

This commit is contained in:
Willem Dantuma 2020-06-23 13:36:29 +02:00
commit 4130e0a796
4 changed files with 47 additions and 6 deletions

View File

@ -9,6 +9,7 @@ import { OAuthModule, OAuthService, OAuthStorage } from 'angular-oauth2-oidc';
//components
import { ItemTypeService } from './services/itemtype.service';
import { SchemaService } from './services/schema.service';
import { FolderService } from './services/folder.service';
import { TimespanService } from './services/timespan.service';
import { ItemService } from './services/item.service';
@ -47,7 +48,8 @@ export {
AuthCallbackGuard,
ResumableFileUploadService,
NgbDateNativeAdapter,
StateSerializerService
StateSerializerService,
SchemaService
};
@NgModule({

View File

@ -4,5 +4,6 @@ export interface IItemType {
editor?: string;
isFolder?: boolean;
iconColor?: string;
schema?: string;
extraAttributes?: string;
}

View File

@ -31,6 +31,12 @@ export class ItemTypeService {
return extraAttributes;
}
getSchema(itemType: string): string {
let schema = null;
if (this.itemTypes[itemType]) schema = this.itemTypes[itemType].schema;
return schema;
}
hasViewer(item: IItem) {
let itemType: string = item.itemType;
if (this.itemTypes[itemType]) return this.itemTypes[itemType].viewer !== undefined;

View File

@ -0,0 +1,32 @@
import {Injectable} from '@angular/core';
import {HttpClient} from '@angular/common/http';
import {AppConfig} from '../shared/app.config';
import {Observable} from 'rxjs';
@Injectable({
providedIn: 'root',
})
export class SchemaService {
constructor(private httpClient: HttpClient, private appConfig: AppConfig) {
}
ApiEndpoint() {
return this.appConfig.getConfig('apiEndPoint');
}
public getSchemaIdFromSchemaUrl(schemaUrl): string {
const url = new URL(schemaUrl);
const pathSplit = url.pathname.split('/');
return pathSplit[pathSplit.length - 1].replace('.json', '');
}
public getSchemaWithUrl(schemaUrl): Observable<string> {
const id = this.getSchemaIdFromSchemaUrl(schemaUrl);
return this.httpClient.get<any>(`${this.ApiEndpoint()}/api/v1/schema/${id}`);
}
public getSchemaWithId(schemaId): Observable<string> {
return this.httpClient.get<any>(`${this.ApiEndpoint()}/api/v1/schema/${schemaId}`);
}
}