18 Commits

Author SHA1 Message Date
jenkins
31d3e58062 [ci skip] Updated packages #65
Some checks reported errors
FarmMaps/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-10-22 14:16:00 +00:00
0231421cef Merge branch 'develop'
All checks were successful
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
# Conflicts:
#	package-lock.json
2024-10-22 16:12:25 +02:00
Willem Dantuma
f2c133e9bd Merge branch 'develop'
Some checks failed
FarmMaps/FarmMapsLib/pipeline/head There was a failure building this commit
2024-09-24 20:10:52 +02:00
jenkins
1274d96f1d [ci skip] Updated packages #63
Some checks reported errors
FarmMaps/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-04-24 00:09:30 +00:00
35ccb4f4c5 Merge branch 'develop'
All checks were successful
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2024-04-23 11:54:04 +02:00
jenkins
47fbc5eab9 [ci skip] Updated packages #62
Some checks reported errors
FarmMaps/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-03-20 12:00:40 +00:00
564d08b5b9 Fixed build
All checks were successful
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2024-03-20 11:59:14 +00:00
7e17a49dc6 Merge branch 'develop'
Some checks failed
FarmMaps/FarmMapsLib/pipeline/head There was a failure building this commit
# Conflicts:
#	package-lock.json
#	package.json
2024-03-19 16:04:26 +01:00
jenkins
3f286ee042 [ci skip] Updated packages #58
Some checks reported errors
FarmMaps/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-02-29 13:56:31 +00:00
747499d009 Merge branch 'develop'
All checks were successful
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
# Conflicts:
#	package-lock.json
#	package.json
2024-02-29 14:54:59 +01:00
jenkins
c4f4a4f61e [ci skip] Changed by Jenkins: 57
Some checks reported errors
FarmMaps/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-01-24 17:19:55 +00:00
6b095b7f49 Trigger build
All checks were successful
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2024-01-24 17:18:09 +00:00
b2791eb80b Merge branch 'develop'
Some checks reported errors
FarmMaps/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
# Conflicts:
#	README.md
#	package-lock.json
#	package.json
2024-01-24 18:13:28 +01:00
jenkins
4c93a9f766 [ci skip] Changed by Jenkins: 56
Some checks reported errors
FarmMaps/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2023-11-16 17:02:44 +00:00
93554bc7c4 Update README.md
All checks were successful
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2023-11-16 16:40:14 +00:00
d074cd81cf Merge branch 'develop'
Some checks reported errors
FarmMaps/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2023-11-16 17:37:13 +01:00
87547aafcc Update Jenkinsfile
Some checks failed
FarmMaps/FarmMapsLib/pipeline/head There was a failure building this commit
2023-10-20 12:20:24 +00:00
6ab5ba8a56 Update Jenkinsfile.develop 2023-10-20 12:20:13 +00:00
18 changed files with 98 additions and 203 deletions

View File

@@ -52,7 +52,7 @@ ng serve
```
*Go*`
Point your browser to http://localhost:4200
Point your browser to http://localhost:4200
*ESLint*

54
package-lock.json generated
View File

@@ -1,22 +1,22 @@
{
"name": "farmmaps-lib-app",
"version": "4.14.0",
"version": "4.11.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "farmmaps-lib-app",
"version": "4.14.0",
"version": "4.11.1",
"dependencies": {
"@angular-eslint/eslint-plugin": "^18.2.0",
"@angular/animations": "18.2.3",
"@angular/common": "18.2.3",
"@angular/compiler": "18.2.3",
"@angular/core": "18.2.3",
"@angular/forms": "18.2.3",
"@angular/platform-browser": "18.2.3",
"@angular/platform-browser-dynamic": "18.2.3",
"@angular/router": "18.2.3",
"@angular/animations": "^18.2.3",
"@angular/common": "^18.2.3",
"@angular/compiler": "^18.2.3",
"@angular/core": "^18.2.3",
"@angular/forms": "^18.2.3",
"@angular/platform-browser": "^18.2.3",
"@angular/platform-browser-dynamic": "^18.2.3",
"@angular/router": "^18.2.3",
"@farmmaps/common": "file:dist/common",
"@farmmaps/common-map": "file:dist/common-map",
"@farmmaps/common-map3d": "file:dist/common-map3d",
@@ -55,11 +55,11 @@
},
"devDependencies": {
"@angular-builders/custom-webpack": "^18.0.0",
"@angular-devkit/build-angular": "18.2.3",
"@angular/cli": "18.2.3",
"@angular/compiler-cli": "18.2.3",
"@angular/language-service": "18.2.3",
"@angular/localize": "18.2.3",
"@angular-devkit/build-angular": "^18.2.3",
"@angular/cli": "^18.2.3",
"@angular/compiler-cli": "^18.2.3",
"@angular/language-service": "^18.2.3",
"@angular/localize": "^18.2.3",
"@types/arcgis-rest-api": "^10.4.5",
"@types/jasmine": "~2.8.8",
"@types/jasminewd2": "^2.0.9",
@@ -90,14 +90,14 @@
},
"dist/common": {
"name": "@farmmaps/common",
"version": "4.14.0-prerelease.2538",
"version": "4.11.0-prerelease.2517",
"dependencies": {
"tslib": "^2.3.0"
},
"peerDependencies": {
"@angular/common": "18.2.3",
"@angular/core": "18.2.3",
"@angular/forms": "18.2.3",
"@angular/common": "^18.2.3",
"@angular/core": "^18.2.3",
"@angular/forms": "^18.2.3",
"@microsoft/signalr": "^3.1.16",
"@ng-bootstrap/ng-bootstrap": "^17.0.1",
"@ngrx/effects": "^18.0.2",
@@ -115,12 +115,12 @@
},
"dist/common-map": {
"name": "@farmmaps/common-map",
"version": "4.14.0-prerelease.2538",
"version": "4.11.0-prerelease.2517",
"dependencies": {
"tslib": "^2.0.0"
},
"peerDependencies": {
"@angular/core": "18.2.3",
"@angular/core": "^18.2.3",
"@ngrx/effects": "^18.0.2",
"@ngrx/router-store": "^18.0.2",
"@ngrx/store": "^18.0.2",
@@ -130,27 +130,27 @@
},
"dist/common-map3d": {
"name": "@farmmaps/common-map3d",
"version": "4.14.0-prerelease.2538",
"version": "4.11.0-prerelease.2517",
"dependencies": {
"tslib": "^2.0.0"
},
"peerDependencies": {
"@angular/common": "18.2.3",
"@angular/core": "18.2.3",
"@angular/common": "^18.2.3",
"@angular/core": "^18.2.3",
"cesium": "^1.97.0",
"ol-cesium": ">=2.13.0"
}
},
"dist/ng-openlayers": {
"name": "@farmmaps/ng-openlayers",
"version": "4.14.0-prerelease.2538",
"version": "4.11.0-prerelease.2517",
"license": "MPL-2.0",
"dependencies": {
"tslib": "^2.3.0"
},
"peerDependencies": {
"@angular/common": "18.2.3",
"@angular/core": "18.2.3",
"@angular/common": "^18.2.3",
"@angular/core": "^18.2.3",
"ol": "^8.2.0"
}
},

View File

@@ -1,6 +1,6 @@
{
"name": "farmmaps-lib-app",
"version": "4.14.0",
"version": "4.11.1",
"scripts": {
"ng": "ng",
"start": "ng serve",
@@ -12,14 +12,14 @@
"private": true,
"dependencies": {
"@angular-eslint/eslint-plugin": "^18.2.0",
"@angular/animations": "18.2.3",
"@angular/common": "18.2.3",
"@angular/compiler": "18.2.3",
"@angular/core": "18.2.3",
"@angular/forms": "18.2.3",
"@angular/platform-browser": "18.2.3",
"@angular/platform-browser-dynamic": "18.2.3",
"@angular/router": "18.2.3",
"@angular/animations": "^18.2.3",
"@angular/common": "^18.2.3",
"@angular/compiler": "^18.2.3",
"@angular/core": "^18.2.3",
"@angular/forms": "^18.2.3",
"@angular/platform-browser": "^18.2.3",
"@angular/platform-browser-dynamic": "^18.2.3",
"@angular/router": "^18.2.3",
"@farmmaps/common": "file:dist/common",
"@farmmaps/common-map": "file:dist/common-map",
"@farmmaps/common-map3d": "file:dist/common-map3d",
@@ -62,11 +62,11 @@
},
"devDependencies": {
"@angular-builders/custom-webpack": "^18.0.0",
"@angular-devkit/build-angular": "18.2.3",
"@angular/cli": "18.2.3",
"@angular/compiler-cli": "18.2.3",
"@angular/language-service": "18.2.3",
"@angular/localize": "18.2.3",
"@angular-devkit/build-angular": "^18.2.3",
"@angular/cli": "^18.2.3",
"@angular/compiler-cli": "^18.2.3",
"@angular/language-service": "^18.2.3",
"@angular/localize": "^18.2.3",
"@types/arcgis-rest-api": "^10.4.5",
"@types/jasmine": "~2.8.8",
"@types/jasminewd2": "^2.0.9",

View File

@@ -8,7 +8,7 @@
"tslib": "^2.0.0"
},
"peerDependencies": {
"@angular/core": "18.2.3",
"@angular/core": "^18.2.3",
"ngrx-store-localstorage": "^18.0.0",
"@ngrx/effects": "^18.0.2",
"@ngrx/router-store": "^18.0.2",

View File

@@ -42,7 +42,6 @@
<li *ngIf="getItemLayer(item,itemLayer.layerIndex)"><a href="#" (click)="handleRemoveLayer(item,itemLayer.layerIndex)"><i class="fas fa-layer-minus" aria-hidden="true" i18n-title title="Remove overlay"></i>&nbsp;<span i18n>Remove overlay</span></a></li>
</ng-container>
<li><a href="#" (click)="handleGoToChart(item)"><i class="fal fa-line-chart" aria-hidden="true" i18m-title title="Show chart"></i>&nbsp;<span i18n>Show chart</span></a></li>
<li><a href="#" (click)="download(item,$event)"><i class="fal fa-download" aria-hidden="true" i18n-title title="Download"></i>&nbsp;<span i18n>Download</span></a></li>
</ul>
</div>
</div>

View File

@@ -2,7 +2,7 @@ import { Component, Injectable } from '@angular/core';
import { Location } from '@angular/common';
import { Store } from '@ngrx/store';
import * as mapReducers from '../../reducers/map.reducer';
import { commonReducers, ItemTypeService, IItem, ItemService, IItemLinkType, IUrlType } from '@farmmaps/common';
import { commonReducers, ItemTypeService, IItem } from '@farmmaps/common';
import { Router } from '@angular/router';
import { ForItemType } from '../for-item/for-itemtype.decorator';
import { AbstractSelectedItemComponent } from '../selected-item/selected-item.component';
@@ -11,6 +11,7 @@ import * as mapActions from '../../actions/map.actions';
import { IItemLayer } from '../../models/item.layer';
import {TemporalService} from '../../services/temporal.service';
@ForItemType("vnd.farmmaps.itemtype.temporal")
@Injectable()
@Component({
@@ -20,7 +21,7 @@ import {TemporalService} from '../../services/temporal.service';
})
export class SelectedItemTemporalComponent extends AbstractSelectedItemComponent {
constructor(store: Store<mapReducers.State | commonReducers.State>, public itemService: ItemService, itemTypeService: ItemTypeService, location: Location, router: Router,public temporalService:TemporalService) {
constructor(store: Store<mapReducers.State | commonReducers.State>, itemTypeService: ItemTypeService, location: Location, router: Router,public temporalService:TemporalService) {
super(store, itemTypeService,location,router);
}
@@ -60,15 +61,4 @@ export class SelectedItemTemporalComponent extends AbstractSelectedItemComponent
this.router.navigate(['/viewer', 'temporal', 'item', item.parentCode, new Date(Date.parse(item.dataDate)).getUTCFullYear()]);
return false;
}
download(item:IItem,event:MouseEvent) {
event.stopPropagation();
event.preventDefault();
const itemLink : IItemLinkType = {itemcode:item.code,pathsuffix:"download", validminutes:10}
console.log('download1', itemLink)
const foo = this.itemService.getItemLink(itemLink).subscribe((itemLinkUrl:IUrlType) => {
console.log('download2', itemLinkUrl)
window.location.href =itemLinkUrl.url
})
}
}

View File

@@ -8,8 +8,8 @@
"tslib": "^2.0.0"
},
"peerDependencies": {
"@angular/common": "18.2.3",
"@angular/core": "18.2.3",
"@angular/common": "^18.2.3",
"@angular/core": "^18.2.3",
"cesium": "^1.97.0",
"ol-cesium": ">=2.13.0"
}

View File

@@ -6,9 +6,9 @@
},
"peerDependencies": {
"@ng-bootstrap/ng-bootstrap": "^17.0.1",
"@angular/common": "18.2.3",
"@angular/core": "18.2.3",
"@angular/forms": "18.2.3",
"@angular/common": "^18.2.3",
"@angular/core": "^18.2.3",
"@angular/forms": "^18.2.3",
"@ngrx/effects": "^18.0.2",
"@ngrx/router-store": "^18.0.2",
"@ngrx/store": "^18.0.2",

View File

@@ -83,8 +83,6 @@ export const SETPAGEMODE = '[AppCommon] SetPageMode';
export const SETUNREADNOTIFICATIONS = '[AppCommon] SetUnreadNotifications';
export const SWITCHLANGUAGE = '[AppCommon] SwitchLanguage';
export class InitUser implements Action {
readonly type = INITUSER;
@@ -373,12 +371,6 @@ export class SetUnreadNotifications implements Action {
}
export class SwitchLanguage implements Action {
readonly type = SWITCHLANGUAGE;
constructor(public locale:string) { }
}
export type Actions = OpenModal
| InitRoot
@@ -426,7 +418,6 @@ export type Actions = OpenModal
| ToggleHelpMenu
| ToggleSettingMenu
| NotificationEvent
| SetUnreadNotifications
| SwitchLanguage;
| SetUnreadNotifications;

View File

@@ -13,7 +13,6 @@ import { SchemaService } from './services/schema.service';
import { FolderService } from './services/folder.service';
import { TimespanService } from './services/timespan.service';
import { ItemService } from './services/item.service';
import { TaskService } from './services/task.service';
import { AdminService } from './services/admin.service';
import { EventService } from './services/event.service';
import { TypeaheadService } from './services/typeahead.service';
@@ -45,7 +44,6 @@ export {
ItemTypeService,
TimespanService,
ItemService,
TaskService,
AdminService,
EventService,
TypeaheadService,

View File

@@ -11,7 +11,7 @@
<i class="fal fa-image"></i>
<div i18n>No image selected</div>
</div>
<image-cropper #imageCropper output="base64"
<image-cropper #imageCropper
[imageChangedEvent]="imageChangedEvent"
[maintainAspectRatio]="true"
[format]="imageType"

View File

@@ -4,7 +4,6 @@ div.resumable-file-upload {
bottom: 0px;
width: 300px;
max-height: 250px;
z-index: 1;
/*z-index:2000 !important;*/
}

View File

@@ -1,22 +1,21 @@
import { Inject, Injectable, LOCALE_ID } from '@angular/core';
import { Injectable } from '@angular/core';
import { Router } from '@angular/router';
import { Actions, createEffect, ofType } from '@ngrx/effects';
import { OAuthService,UserInfo } from 'angular-oauth2-oidc';
import { Store } from '@ngrx/store';
import { OAuthService, UserInfo } from 'angular-oauth2-oidc';
import { from, of, zip } from 'rxjs';
import { catchError, first, map, mergeMap, switchMap, withLatestFrom } from 'rxjs/operators';
import { Actions,ofType,createEffect } from '@ngrx/effects';
import { of,from,zip } from 'rxjs';
import { withLatestFrom,mergeMap,switchMap,map,catchError,first} from 'rxjs/operators';
import * as appCommonActions from '../actions/app-common.actions';
import * as appCommonReducers from '../reducers/app-common.reducer';
import { ItemService } from '../services/item.service';
import { FolderService } from '../services/folder.service';
import { UserService } from '../services/user.service';
import { IItemTypes } from '../models/item.types';
import { IListItem } from '../models/list.item';
import * as appCommonReducers from '../reducers/app-common.reducer';
import { FolderService } from '../services/folder.service';
import { ItemService } from '../services/item.service';
import { StateSerializerService } from '../services/state-serializer.service';
import { UserService } from '../services/user.service';
import {StateSerializerService} from '../services/state-serializer.service';
@Injectable()
export class AppCommonEffects {
locale: string;
login$ = createEffect(() => this.actions$.pipe(
ofType(appCommonActions.LOGIN),
@@ -48,27 +47,11 @@ export class AppCommonEffects {
first(),
switchMap((action) => {
return zip(this.userService$.getCurrentUser(),from(this.oauthService$.loadUserProfile())).pipe(
switchMap(([user,userInfo]) => {
if (location.hostname === 'localhost' || user.language === undefined || user.language === this.locale)
{
return of(new appCommonActions.InitUserSuccess(user,userInfo as UserInfo))
}
return of(new appCommonActions.SwitchLanguage(user.language))
}),
switchMap(([user,userInfo]) => {return of(new appCommonActions.InitUserSuccess(user,userInfo as UserInfo))} ),
catchError(error => of(new appCommonActions.Fail(error))))
}
)));
switchLanguage$ = createEffect(() => this.actions$.pipe(
ofType(appCommonActions.SWITCHLANGUAGE),
switchMap((action) => {
const a = action as appCommonActions.SwitchLanguage;
if (this.router$.url.includes(`/${this.locale}/`)) {
const newUrl = this.router$.url.replace(`/${this.locale}/`, `/${a.locale}/`);
this.router$.navigateByUrl(newUrl);
}
return of(undefined);
})),{ dispatch:false});
initUserPackages$ = createEffect(() => this.actions$.pipe(
ofType(appCommonActions.INITUSERPACKAGES),
@@ -151,22 +134,15 @@ export class AppCommonEffects {
withLatestFrom(this.store$.select(appCommonReducers.selectGetItemTypes)),
switchMap(([action, itemtypes]) => {
const a = action as appCommonActions.EditItem;
var editor = "property";
var editor = "property";
if(a.item.itemType) {
const itemType = itemtypes[a.item.itemType];
var editor = itemType && itemType.editor ? itemType.editor : editor;
}
if (editor == 'croppingscheme') {
// Exeception: no 'item' in route
this.router$.navigate(['/editor', editor, a.item.code])
}
else {
this.router$.navigate(['/editor', editor, 'item', a.item.code])
}
return [];
}
)
));
this.router$.navigate(['/editor',editor,'item', a.item.code])
return [];
}
)));
viewItem$ = createEffect(() => this.actions$.pipe(
ofType(appCommonActions.VIEWITEM),
@@ -225,8 +201,7 @@ export class AppCommonEffects {
constructor(private actions$: Actions, private store$: Store<appCommonReducers.State>, private oauthService$: OAuthService, private itemService$: ItemService, private folderService$:FolderService, private userService$: UserService, private router$: Router, private stateSerializerService$:StateSerializerService, @Inject(LOCALE_ID) locale: string) {
this.locale = locale;
constructor(private actions$: Actions, private store$: Store<appCommonReducers.State>, private oauthService$: OAuthService, private itemService$: ItemService, private folderService$:FolderService, private userService$: UserService, private router$: Router, private stateSerializerService$:StateSerializerService) {
store$.dispatch(new appCommonActions.LoadItemTypes());
}
}
}

View File

@@ -1,7 +1,6 @@
export interface IItemTask {
code?: string;
workflowCode?: string;
taskType?: string;
attributes?: any;
message?: string,
@@ -12,7 +11,6 @@ export interface IItemTask {
export class ItemTask implements IItemTask {
public code?:string;
public workflowCode?: string;
public taskType?: string;
public attributes?: any;
public message?: string;
@@ -20,6 +18,6 @@ export class ItemTask implements IItemTask {
public started?: Date;
public finished?: Date;
constructor() {
constructor() {
}
}
}

View File

@@ -1,12 +1,14 @@
import {Injectable} from '@angular/core';
import {Observable} from 'rxjs';
import {IItemType} from '../models/item.type';
import {IItemLinkType} from '../models/itemlink.type';
import {IItem} from '../models/item';
import {IJsonline} from '../models/json-line';
import {IItemTask} from '../models/itemTask';
import {HttpClient, HttpHeaders, HttpParams} from '@angular/common/http';
import {AppConfig} from '../shared/app.config';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
import { IItemType } from '../models/item.type';
import { IItemLinkType } from '../models/itemlink.type';
import { IUrlType } from '../models/url.type';
import { IItem } from '../models/item';
import { IJsonline } from '../models/json-line';
import { IItemTask } from '../models/itemTask';
import { HttpClient, HttpParams, HttpHeaders } from "@angular/common/http";
import { AppConfig } from "../shared/app.config";
import {ItemTypeService} from './itemtype.service';
import {IListItem} from '../models/list.item';
@@ -79,7 +81,7 @@ export class ItemService {
getItemList(itemType?: string, dataFilter?: any, level?: number, atItemLocationItemCode?: string,
indexed?: boolean, validToday?: boolean,tags?:string,crs?:string, startDate?: Date, endDate?: Date,
skip?: number, take?: number, sourceTask?: string, exactMatchStartOrEndDate?: boolean, owner?:string): Observable<IItem[]> {
skip?: number, take?: number, sourceTask?: string): Observable<IItem[]> {
let params = new HttpParams();
if(itemType) params = params.append("it", itemType);
if(dataFilter) params = params.append("df", JSON.stringify(dataFilter));
@@ -94,27 +96,20 @@ export class ItemService {
if (sourceTask) params = params.append("sourceTask", sourceTask);
if(skip) params = params.append("skip", skip);
if(take) params = params.append("take", take);
if(exactMatchStartOrEndDate !== undefined) params = params.append("exactMatchStartOrEndDate", exactMatchStartOrEndDate);
if(owner) params = params.append("owner", owner);
return this.httpClient.get<IItem[]>(`${this.ApiEndpoint()}/api/v1/items/`, { params: params });
}
getItemListCount(itemType: string, startDate?: Date, endDate?: Date, sourceTask?: string,
indexed?: boolean, exactMatchStartOrEndDate?: boolean, owner?:string): Observable<number> {
getItemListCount(itemType: string, startDate?: Date, endDate?: Date, sourceTask?: string): Observable<number> {
let params = new HttpParams();
params = params.append("it", itemType);
if (sourceTask) params = params.append("sourceTask", sourceTask);
if (startDate) params = params.append("sDate", startDate.toISOString());
if (endDate) params = params.append("eDate", endDate.toISOString());
if(indexed) params = params.append("ind",indexed?"true":"false");
if(exactMatchStartOrEndDate !== undefined) params = params.append("exactMatchStartOrEndDate", exactMatchStartOrEndDate);
if(owner) params = params.append("owner", owner);
return this.httpClient.get<number>(`${this.ApiEndpoint()}/api/v1/items/count`, { params: params });
}
getChildItemList(parentcode: string, itemType?: string, dataFilter?: any, level = 1, deep = true,
startDate?: Date, endDate?: Date, skip?: number, take?: number,
exactMatchStartOrEndDate?: boolean, owner?:string, indexed?: boolean): Observable<IItem[]> {
startDate?: Date, endDate?: Date, skip?: number, take?: number): Observable<IItem[]> {
let params = new HttpParams();
if(itemType != null) {
params = params.append("it", itemType);
@@ -126,18 +121,13 @@ export class ItemService {
params = params.append("deep", deep.toString());
if (startDate) params = params.append("sDate", startDate.toISOString());
if (endDate) params = params.append("eDate", endDate.toISOString());
if(exactMatchStartOrEndDate !== undefined) params = params.append("exactMatchStartOrEndDate", exactMatchStartOrEndDate);
if(owner) params = params.append("owner", owner);
if(skip) params = params.append("skip", skip);
if(take) params = params.append("take", take);
if(indexed) params = params.append("ind",indexed?"true":"false");
return this.httpClient.get<IItem[]>(`${this.ApiEndpoint()}/api/v1/items/${parentcode}/children`, { params: params });
}
getChildItemListCount(parentcode: string, itemType?: string,dataFilter?: any,
startDate?: Date, endDate?: Date, exactMatchStartOrEndDate?: boolean, owner?:string,
indexed?: boolean): Observable<number> {
getChildItemListCount(parentcode: string, itemType?: string,dataFilter?: any): Observable<number> {
let params = new HttpParams();
if(itemType != null) {
params = params.append("it", itemType);
@@ -145,11 +135,6 @@ export class ItemService {
if (dataFilter != null) {
params = params.append("df", JSON.stringify(dataFilter));
}
if (startDate) params = params.append("sDate", startDate.toISOString());
if (endDate) params = params.append("eDate", endDate.toISOString());
if(exactMatchStartOrEndDate !== undefined) params = params.append("exactMatchStartOrEndDate", exactMatchStartOrEndDate);
if(owner) params = params.append("owner", owner);
if(indexed) params = params.append("ind",indexed?"true":"false");
return this.httpClient.get<number>(`${this.ApiEndpoint()}/api/v1/items/${parentcode}/children/count`, { params: params });
}

View File

@@ -15,37 +15,37 @@ export class ItemTypeService {
getIcon(itemType: string) {
let icon = "fal fa-file";
if (this.itemTypes && this.itemTypes[itemType]) icon = this.itemTypes[itemType].icon;
if (this.itemTypes[itemType]) icon = this.itemTypes[itemType].icon;
return icon;
}
getColor(itemType: string) {
let color = "#000000";
if (this.itemTypes && this.itemTypes[itemType]) color = this.itemTypes[itemType].iconColor;
if (this.itemTypes[itemType]) color = this.itemTypes[itemType].iconColor;
return color;
}
getExtraAttributes(itemType: string) {
let extraAttributes = null;
if (this.itemTypes && this.itemTypes[itemType] && this.itemTypes[itemType]?.extraAttributes) extraAttributes = this.itemTypes[itemType]?.extraAttributes;
if (this.itemTypes[itemType] && this.itemTypes[itemType].extraAttributes) extraAttributes = this.itemTypes[itemType].extraAttributes;
return extraAttributes;
}
getSchema(itemType: string): string {
let schema = null;
if (this.itemTypes && this.itemTypes[itemType]) schema = this.itemTypes[itemType].schema;
if (this.itemTypes[itemType]) schema = this.itemTypes[itemType].schema;
return schema;
}
hasViewer(item: IItem) {
const itemType: string = item.itemType;
if (this.itemTypes && this.itemTypes[itemType]) return this.itemTypes[itemType].viewer !== undefined;
if (this.itemTypes[itemType]) return this.itemTypes[itemType].viewer !== undefined;
return false;
}
hasEditor(item: IItem) {
const itemType: string = item.itemType;
if (this.itemTypes && this.itemTypes[itemType]) return this.itemTypes[itemType].editor !== undefined;
if (this.itemTypes[itemType]) return this.itemTypes[itemType].editor !== undefined;
return false;
}

View File

@@ -1,40 +0,0 @@
import {Injectable} from '@angular/core';
import {HttpClient, HttpParams} from '@angular/common/http';
import {AppConfig} from '../shared/app.config';
@Injectable({
providedIn: 'root',
})
export class TaskService {
constructor(public httpClient: HttpClient, public appConfig: AppConfig) {
}
ApiEndpoint() {
return this.appConfig.getConfig("apiEndPoint");
}
getTask(taskCode: string) {
return this.httpClient.get<any>(`${this.appConfig.getConfig('apiEndPoint')}/api/v1/tasks/${taskCode}`)
}
getTasks(workflowCode: string, itemCode: string = null, taskType: string = null, skip = 0, take = 25) {
let params = new HttpParams();
if (workflowCode) {
params = params.append('workflowCode', workflowCode);
}
if (itemCode) {
params = params.append('itemCode', itemCode);
}
if (taskType) {
params = params.append('taskType', taskType);
}
params = params.append('skip', skip.toString());
params = params.append('take', take.toString());
return this.httpClient.get<any>(`${this.appConfig.getConfig('apiEndPoint')}/api/v1/tasks`,
{params: params})
}
}

View File

@@ -31,8 +31,8 @@
"tslib": "^2.3.0"
},
"peerDependencies": {
"@angular/common": "18.2.3",
"@angular/core": "18.2.3",
"@angular/common": "^18.2.3",
"@angular/core": "^18.2.3",
"ol": "^8.2.0"
}
}