109 Commits

Author SHA1 Message Date
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
d6587bd63b [ci skip] Updated packages #2477
Some checks reported errors
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-04-15 14:29:22 +00:00
jenkins
ede75f63f5 [ci skip] Updated packages #2463
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-04-10 12:19:34 +00:00
274f33e709 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
# Conflicts:
#	package-lock.json
2024-04-10 14:07:19 +02:00
4384b12944 AW-6046 ng-openlayers 2024-04-10 14:06:44 +02:00
jenkins
10ebdf276a [ci skip] Updated packages #2460
Some checks reported errors
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-04-10 11:45:06 +00:00
9c270bfe75 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
2024-04-10 13:41:54 +02:00
9031d3e171 Update ngx-clipboard 2024-04-10 13:41:46 +02:00
jenkins
c3158c1064 [ci skip] Updated packages #2459
Some checks reported errors
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-04-10 11:29:13 +00:00
315b64a561 Fixes
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-04-10 13:27:25 +02:00
jenkins
030dbcec5d [ci skip] Updated packages #2458
Some checks reported errors
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-04-10 06:25:47 +00:00
876020828e AW-6046 Angular 17
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-04-10 08:24:07 +02:00
393b881e3b Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop 2024-04-10 08:18:36 +02:00
8594a94d62 AW-6046 Angular 17 2024-04-10 08:18:25 +02:00
jenkins
c543ac7c94 [ci skip] Updated packages #2457
Some checks reported errors
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-04-09 13:51:44 +00:00
97d6d569a0 AW-6046 Fix open layers 8 issues
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-04-09 15:50:03 +02:00
023048a5bb error TS2307: Cannot find module 'ol/source/WMSServerType' or its corresponding type declarations.
Some checks failed
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2024-04-09 15:05:26 +02:00
4a685d675d AW-6046 Open layers 8
Some checks failed
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2024-04-09 12:36:39 +02:00
jenkins
1125f4586e [ci skip] Updated packages #2454
Some checks reported errors
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-04-09 10:13:34 +00:00
3bdba527ec npm ERR! code ENEEDAUTH
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-04-09 12:10:38 +02:00
fb03cfce44 npm ERR! code ENEEDAUTH
Some checks failed
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2024-04-09 12:06:14 +02:00
6f93cf254c AW-6046 Angular 17
Some checks failed
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2024-04-09 11:23:39 +02:00
b5a3a62cee AW-6046 Fix jenkins
Some checks failed
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2024-04-09 11:04:37 +02:00
d306d5c4c1 AW-6046 Angular 17
Some checks failed
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2024-04-09 10:58:42 +02:00
e79ae2f623 AW-6046 Angular 17 2024-04-09 10:16:21 +02:00
bdf4e03b49 AW-6046 Angular 17 2024-04-09 09:50:06 +02:00
7d5c10d902 AW-6046 Angular 17 2024-04-09 09:46:52 +02:00
fb192c6e4d AW-6046 Angular 17 2024-04-09 09:45:29 +02:00
jenkins
6356f149a6 [ci skip] Updated packages #2447
Some checks reported errors
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-04-04 12:57:13 +00:00
5c5914327c AW-6033 /api/v1/items/undefined/children?... 401 (Unauthorized)
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-04-04 14:55:39 +02:00
jenkins
e306bf601f [ci skip] Updated packages #2446
Some checks reported errors
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-04-04 11:20:05 +00:00
f8459aaca4 AW-6033 main.js:555726 ERROR TypeError: Cannot read properties of null (reading 'code')
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-04-04 13:18:28 +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
ce52cbdbed [ci skip] Updated packages #2445
Some checks reported errors
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-03-05 14:41:30 +00:00
752e1e2c42 added hit tolerance to ngx select interaction
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-03-05 15:39:52 +01:00
jenkins
6b617ed4ad [ci skip] Updated packages #2444
Some checks reported errors
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-03-04 12:22:37 +00:00
9b19950945 Fix upload json formatting
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
Fix extraAttributes null exception
2024-03-04 13:20:23 +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
c74163976a [ci skip] Changed by Jenkins: 2443
Some checks reported errors
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-02-08 18:37:07 +00:00
Willem Dantuma
c9f43b5b53 Fix span
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-02-08 19:35:39 +01:00
jenkins
6a240abc0c [ci skip] Changed by Jenkins: 2442
Some checks reported errors
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-02-08 18:10:48 +00:00
Willem Dantuma
7d8b18a27d Add space
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-02-08 19:09:19 +01:00
jenkins
4a328054dd [ci skip] Changed by Jenkins: 2441
Some checks reported errors
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-02-08 17:36:18 +00:00
Willem Dantuma
3e482470b6 Add provider info
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-02-08 18:33:35 +01:00
jenkins
3bacb8a5d9 [ci skip] Changed by Jenkins: 2440
Some checks reported errors
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-02-08 17:19:12 +00:00
Willem Dantuma
47afa20a01 Add firstname and lastname
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-02-08 18:17:42 +01:00
jenkins
f0646a8f6a [ci skip] Changed by Jenkins: 2439
Some checks reported errors
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-02-01 15:38:22 +00:00
36ebc03189 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
2024-02-01 16:35:36 +01:00
c0d40d2d5e Aw5812Add wide supp 2024-02-01 16:34:24 +01:00
jenkins
14e504cc79 [ci skip] Changed by Jenkins: 2438
Some checks reported errors
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-02-01 15:22:56 +00:00
b060fd34bb 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
2024-02-01 16:21:20 +01:00
0694d4e467 Aw5812Fix null exc 2024-02-01 16:20:57 +01:00
jenkins
7c5867a332 [ci skip] Changed by Jenkins: 2437
Some checks reported errors
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-02-01 15:02:54 +00:00
8f958e33f1 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
2024-02-01 16:01:24 +01:00
aa2f305b27 Aw5812wip 2024-02-01 16:01:11 +01:00
jenkins
d02da8f334 [ci skip] Changed by Jenkins: 2436
Some checks reported errors
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-02-01 14:23:30 +00:00
253553c534 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
# Conflicts:
#	package-lock.json
2024-02-01 15:21:58 +01:00
4641e351fd Aw5812 2024-02-01 15:21:04 +01:00
jenkins
84cf6a3f6e [ci skip] Changed by Jenkins: 2435
Some checks reported errors
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-02-01 12:36:14 +00:00
92b29135b5 Aw5812wip
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-02-01 13:34:38 +01:00
jenkins
f6aebb2f80 [ci skip] Changed by Jenkins: 2434
Some checks reported errors
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-01-30 10:19:44 +00:00
daf78f32b7 Fix error TS500: RangeError: Maximum call stack size exceeded
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-01-30 11:18:11 +01:00
42245612d2 ERROR: Trying to publish a package that has been compiled by Ivy in full compilation mode
Some checks failed
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2024-01-30 11:00:16 +01:00
a05c1fa874 Fix build
Some checks failed
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2024-01-30 10:52:02 +01:00
4bda94c360 Fix path
Some checks failed
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2024-01-30 10:23:14 +01:00
feaad02c33 Fix path
Some checks failed
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2024-01-30 10:06:26 +01:00
af9acebaff Only page not found when no routing is matched on production environment
Some checks failed
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2024-01-30 09:54:00 +01:00
jenkins
7ba35052ec [ci skip] Changed by Jenkins: 2427
Some checks reported errors
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-01-29 15:27:29 +00:00
2e40d023b1 Aw5812 Update item file
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-01-29 16:25:56 +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
4d5ed915ad [ci skip] Changed by Jenkins: 2426
Some checks reported errors
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-01-12 12:07:12 +00:00
2fb5967c26 Aw-5739 Use ngrx-store-localstorage angular 16 compatible version
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-01-12 13:05:37 +01:00
jenkins
820543913f [ci skip] Changed by Jenkins: 2425
Some checks reported errors
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-01-11 12:39:00 +00:00
ce2f06091b Aw-5739 Add data download service
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-01-11 13:37:25 +01:00
jenkins
5714cdce72 [ci skip] Changed by Jenkins: 2424
Some checks reported errors
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-01-09 08:27:18 +00:00
10e43e1ea5 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
# Conflicts:
#	package-lock.json
2024-01-09 09:25:44 +01:00
8fa84c6ea8 Aw5739 Update to Angular v16. 2024-01-09 09:24:52 +01:00
jenkins
9f872d0af0 [ci skip] Changed by Jenkins: 2423
Some checks reported errors
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-01-08 13:54:36 +00:00
f6bed668f6 Merge branch 'feature/AW5739AngularV15ToV16' into develop
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
# Conflicts:
#	package-lock.json
2024-01-08 14:52:46 +01:00
f70e30204d Aw5739 Update to Angular v16. 2024-01-08 14:51:37 +01:00
7339b91328 Aw5739 Prepare migration to v16: Use suported version of ngx-avatars 2024-01-08 14:43:28 +01:00
88667b3986 Aw5739 Prepare migration to v16 Update package.lock 2024-01-08 14:41:05 +01:00
a996caa73b Aw5739 Prepare migration to v16 Update ngrx 2024-01-08 14:38:06 +01:00
ed6f8f4231 Aw5739 Prepare migration to v16 Update ngrx 2024-01-08 14:33:32 +01:00
94ef2e269b Aw5739 Prepare migration to v16 Update eslint 2024-01-08 14:31:09 +01:00
da624f0535 Aw5739 Prepare migration to v16 2024-01-08 14:25:46 +01:00
3da646dc4d Aw5739 Prepare migration to v16: Use supported version of TypeScript 2024-01-08 14:19:52 +01:00
778e40a26d Aw5739 Prepare migration to v16: Use supported version of TypeScript 2024-01-08 13:25:30 +01:00
jenkins
94ff567567 [ci skip] Changed by Jenkins: 2422
Some checks reported errors
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-01-08 11:38:33 +00:00
b20ab34859 Merge branch 'feature/AW5739AngularV14ToV15' into develop
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-01-08 12:36:27 +01:00
1988b3f74d Aw5739 Update to Angular v15. 2024-01-08 12:33:38 +01:00
b0587bc4c3 Aw5739 Prepare migration to v15: Use suported version of ngx-clipboard 2024-01-08 12:17:32 +01:00
681d372ef3 Aw5739 Prepare migration to v15: Use suported version of ngx-avatar 2024-01-08 12:05:38 +01:00
b1922cdb10 Aw5739 Prepare migration to v15: Use supported version of TypeScript. Use suported version of ngx-avatar 2024-01-08 11:19:56 +01:00
jenkins
5774bff8df [ci skip] Changed by Jenkins: 2421
Some checks reported errors
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2023-12-29 13:53:17 +00:00
6254a3be98 Trigger build
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-12-29 13:50:43 +00:00
jenkins
7943cefddf [ci skip] Changed by Jenkins: 2414
Some checks failed
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2023-12-29 10:17:00 +00:00
a2a287961c Fix error TS2307: Cannot find module 'ngx-openlayers' or its corresponding type declarations.
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-12-29 11:07:41 +01:00
8e8f18ad7c Aw5739 Add ngx openlayers
Some checks failed
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2023-12-29 11:01:36 +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
49 changed files with 8487 additions and 13650 deletions

1
.gitignore vendored
View File

@@ -51,4 +51,5 @@ projects/common-map/node_modules/
.angular/*
projects/common-map3d/node_modules/
projects/common-map/node_modules/
projects/ng-openlayers/node_modules/
projects/common/node_modules/

128
README.md
View File

@@ -1,65 +1,65 @@
# Farmmaps viewer
This is a sample FarmMaps client in Angular 7.x.
## Quick start
Use one of the two options below to get started.
## Option 1, Using docker
*Dependencies*
* docker desktop
*Setup*
```
docker pull node:12.13.1
docker run -t -i --entrypoint /bin/bash -p 4200:4200 node:12.13.1
```
Inside the running container
```
git clone https://git.akkerweb.nl/FarmMaps/FarmMapsLib.git
cd FarmMapsLib
npm config set @farmmaps:registry https://repository.akkerweb.nl/repository/npm-group/
npm install -g @angular/cli
npm install
ng serve --host 0.0.0.0
```
*Go*
Point your browser to http://localhost:4200
## Option 2, Using local machine
*Dependencies*
* npm 6.9.0
* nodejs 10.16.0
* git
*Setup*
```
git clone https://git.akkerweb.nl/FarmMaps/FarmMapsLib.git
cd FarmMapsLib
npm config set @farmmaps:registry https://repository.akkerweb.nl/repository/npm-group/
npm install -g @angular/cli
npm install
ng serve
```
*Go*
Point your browser to http://localhost:4200
*ESLint*
```
npm run lint src
npm run lint projects/common/src
npm run lint projects/common-map/src
npm run lint projects/common-map3d/src
# Farmmaps viewer
This is a sample FarmMaps client in Angular 7.x.
## Quick start
Use one of the two options below to get started.
## Option 1, Using docker
*Dependencies*
* docker desktop
*Setup*
```
docker pull node:12.13.1
docker run -t -i --entrypoint /bin/bash -p 4200:4200 node:12.13.1
```
Inside the running container
```
git clone https://git.akkerweb.nl/FarmMaps/FarmMapsLib.git
cd FarmMapsLib
npm config set @farmmaps:registry https://repository.akkerweb.nl/repository/npm-group/
npm install -g @angular/cli
npm install
ng serve --host 0.0.0.0
```
*Go*
Point your browser to http://localhost:4200
## Option 2, Using local machine
*Dependencies*
* npm 6.9.0
* nodejs 10.16.0
* git
*Setup*
```
git clone https://git.akkerweb.nl/FarmMaps/FarmMapsLib.git
cd FarmMapsLib
npm config set @farmmaps:registry https://repository.akkerweb.nl/repository/npm-group/
npm install -g @angular/cli
npm install
ng serve
```
*Go*`
Point your browser to http://localhost:4200
*ESLint*
```
npm run lint src
npm run lint projects/common/src
npm run lint projects/common-map/src
npm run lint projects/common-map3d/src
```

View File

@@ -215,7 +215,7 @@
"tsConfig": "projects/common-map/tsconfig.lib.prod.json"
}
}
},
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {

21559
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "farmmaps-lib-app",
"version": "4.2.0",
"version": "4.5.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
@@ -11,23 +11,24 @@
},
"private": true,
"dependencies": {
"@angular/animations": "^17.3.3",
"@angular/common": "^17.3.3",
"@angular/compiler": "^17.3.3",
"@angular/core": "^17.3.3",
"@angular-eslint/eslint-plugin": "^15.2.1",
"@angular/animations": "^16.2.12",
"@angular/common": "^16.2.12",
"@angular/compiler": "^16.2.12",
"@angular/core": "^16.2.12",
"@angular/forms": "^16.2.12",
"@angular/platform-browser": "^16.2.12",
"@angular/platform-browser-dynamic": "^16.2.12",
"@angular/router": "^16.2.12",
"@angular/forms": "^17.3.3",
"@angular/platform-browser": "^17.3.3",
"@angular/platform-browser-dynamic": "^17.3.3",
"@angular/router": "^17.3.3",
"@farmmaps/common": "file:dist/common",
"@farmmaps/common-map": "file:dist/common-map",
"@farmmaps/common-map3d": "file:dist/common-map3d",
"@microsoft/signalr": "^8.0.0",
"@ng-bootstrap/ng-bootstrap": "^15.0.0",
"@ngrx/effects": "^15",
"@ngrx/router-store": "^15",
"@ngrx/store": "^14",
"ng-openlayers": "17.1.3",
"@microsoft/signalr": "^3.1.16",
"@ng-bootstrap/ng-bootstrap": "^16.0.0",
"@ngrx/effects": "^17",
"@ngrx/router-store": "^17",
"@ngrx/store": "^17",
"@popperjs/core": "^2.11.6",
"angular-oauth2-oidc": "^13",
"assert": "^2.0.0",
@@ -38,13 +39,12 @@
"core-js": "^2.6.12",
"https-browserify": "^1.0.0",
"moment": "^2.29.4",
"ngrx-store-localstorage": "^14",
"ngx-avatars": "^1.7.0",
"ngx-clipboard": "^15.1.0",
"ngx-image-cropper": "^6.0.2",
"ngx-openlayers": "1.0.0-next.21",
"ngx-uploadx": "^5.2.0",
"ol": "6.14.1",
"ngrx-store-localstorage": "17.0.0",
"ngx-avatars": "1.7.0",
"ngx-clipboard": "16.0.0",
"ngx-image-cropper": "^7.2.1",
"ngx-uploadx": "^6.2.0",
"ol": "^8.2.0",
"olcs": "^2.13.1",
"resumablejs": "^1.1.0",
"rxjs": "^7.8.1",
@@ -54,22 +54,23 @@
"tslib": "^2.4.0",
"url": "^0.11.0",
"util": "^0.12.4",
"zone.js": "~0.13.3"
"zone.js": "~0.14.4"
},
"devDependencies": {
"@angular-builders/custom-webpack": "^17.0.0",
"@angular-devkit/build-angular": "^17.0.8",
"@angular/cli": "^16.2.11",
"@angular/compiler-cli": "^16.2.12",
"@angular/language-service": "^16.2.12",
"@angular/localize": "^16.2.12",
"@angular-builders/custom-webpack": "^17",
"@angular-devkit/build-angular": "^17.3.3",
"@angular/cli": "^17.3.3",
"@angular/compiler-cli": "^17.3.3",
"@angular/language-service": "^17.3.3",
"@angular/localize": "^17.3.3",
"@types/arcgis-rest-api": "^10.4.5",
"@types/jasmine": "~2.8.8",
"@types/jasminewd2": "^2.0.9",
"@types/node": "^12.20.15",
"@typescript-eslint/eslint-plugin": "^5.54.0",
"@typescript-eslint/eslint-plugin-tslint": "^5.54.0",
"@typescript-eslint/parser": "^5.54.0",
"@typescript-eslint/eslint-plugin": "^6.18.0",
"@typescript-eslint/eslint-plugin-tslint": "^6.18.0",
"@typescript-eslint/parser": "^6.18.0",
"codelyzer": "^0.0.28",
"eslint": "^8.35.0",
"eslint-config-prettier": "^8.6.0",
"eslint-plugin-import": "^2.27.5",
@@ -80,9 +81,9 @@
"karma-coverage-istanbul-reporter": "^3.0.3",
"karma-jasmine": "^5.1.0",
"karma-jasmine-html-reporter": "^2.0.0",
"ng-packagr": "^16.2.3",
"protractor": "^7.0.0",
"ng-packagr": "^17.3.0",
"protractor": "~7.0.0",
"ts-node": "^8.8.1",
"typescript": "~5.1.6"
"typescript": "~5.4.4"
}
}

View File

@@ -1,24 +1,24 @@
{
"name": "@farmmaps/common-map",
"version": "2.1.0",
"version": "2.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@farmmaps/common-map",
"version": "2.1.0",
"version": "2.0.0",
"dependencies": {
"tslib": "^2.0.0"
},
"peerDependencies": {
"@angular/core": ">=16.0.0",
"@ngrx/effects": ">=16.0.0",
"@ngrx/router-store": ">=16.0.0",
"@ngrx/store": ">=16.0.0",
"ngrx-store-localstorage": ">=16.0.0",
"ngx-openlayers": ">=1.0.0-next.21",
"ol": ">=6.8.1",
"tassign": ">=1.0.0"
"@angular/core": "^17.3.3",
"@ngrx/effects": "^17",
"@ngrx/router-store": "^17",
"@ngrx/store": "^17",
"ng-openlayers": "17.1.3",
"ngrx-store-localstorage": "^17",
"ol": "^8.2.0",
"tassign": "^1.0.0"
}
},
"node_modules/tslib": {

View File

@@ -1,6 +1,6 @@
{
"name": "@farmmaps/common-map",
"version": "2.1.0",
"version": "2.0.0",
"publishConfig": {
"registry": "https://repository.akkerweb.nl/repository/npm-hosted/"
},
@@ -8,13 +8,13 @@
"tslib": "^2.0.0"
},
"peerDependencies": {
"@angular/core": ">=16.0.0",
"ngrx-store-localstorage": ">=16.0.0",
"@ngrx/effects": ">=16.0.0",
"@ngrx/router-store":">=16.0.0",
"@ngrx/store":">=16.0.0",
"tassign": ">=1.0.0",
"ngx-openlayers": ">=1.0.0-next.21",
"ol": ">=6.8.1"
"@angular/core": "^17.3.3",
"ngrx-store-localstorage": "^17",
"@ngrx/effects": "^17",
"@ngrx/router-store": "^17",
"@ngrx/store": "^17",
"tassign": "^1.0.0",
"ng-openlayers": "17.1.3",
"ol": "^8.2.0"
}
}

View File

@@ -58,7 +58,7 @@ export const GETLAYERVALUESUCCESS = '[Map] GetLayerValueSuccess'
export const TOGGLESHOWDATALAYERSLIDE = '[Map] ToggleShowDataLayerSlide'
export const SETVIEWSTATE = '[Map] SetViewState'
export const CLEARFEATURES = '[Map] ClearFeatures';
export const SETPANELEXTRAWIDE = '[Map] SetPanelExtraWide';
export class Clear implements Action {
readonly type = CLEAR;
@@ -342,6 +342,11 @@ export class ClearFeatures implements Action {
constructor() {}
}
export class SetPanelExtraWide implements Action {
readonly type = SETPANELEXTRAWIDE;
constructor(public panelExtraWide:boolean) {}
}
export type Actions = SetMapState
| Init
| Clear
@@ -389,5 +394,6 @@ export type Actions = SetMapState
| SetPeriod
| ToggleShowDataLayerSlide
| SetViewState
| ClearFeatures;
| ClearFeatures
| SetPanelExtraWide;

View File

@@ -3,7 +3,7 @@ import { CommonModule } from '@angular/common';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
//external modules
import { AngularOpenlayersModule } from 'ngx-openlayers';
import { AngularOpenlayersModule } from 'ng-openlayers';
import { StoreModule, ActionReducer, MetaReducer } from '@ngrx/store';
import { EffectsModule } from '@ngrx/effects';
import { NgbModule } from "@ng-bootstrap/ng-bootstrap";

View File

@@ -1,5 +1,5 @@
import { Component, Input, OnDestroy, OnInit, EventEmitter, Output, Inject } from '@angular/core';
import { MapComponent } from 'ngx-openlayers';
import { MapComponent } from 'ng-openlayers';
import * as proj from 'ol/proj';
import {Point,Geometry} from 'ol/geom';

View File

@@ -33,7 +33,7 @@
}
.stop2 {
stop-color: var(--bs-primary);
stop-color:var(--bs-primary);
stop-opacity: 0;
}

View File

@@ -1,5 +1,5 @@
import { Component, OnInit, Input, ViewChild, ElementRef, OnChanges, SimpleChanges ,Host} from '@angular/core';
import { MapComponent } from 'ngx-openlayers';
import { MapComponent } from 'ng-openlayers';
import Overlay from 'ol/Overlay';
import { fromLonLat, toLonLat } from 'ol/proj';

View File

@@ -1,5 +1,5 @@
import { Component, Host, Input, Output, EventEmitter,OnDestroy, OnInit, OnChanges, SimpleChanges, forwardRef } from '@angular/core';
import { LayerGroupComponent, MapComponent } from 'ngx-openlayers';
import { LayerGroupComponent, MapComponent } from 'ng-openlayers';
import { ItemService,IItem,AppConfig } from '@farmmaps/common';
import { IItemLayer, ITemporalItemLayer} from '../../../models/item.layer';
import { ILayerData} from '../../../models/layer.data';
@@ -19,6 +19,7 @@ import VectorTileLayer from 'ol/layer/VectorTile';
import {GeoJSON,MVT} from 'ol/format';
import { Geometry } from 'ol/geom';
import BaseLayer from 'ol/layer/Base';
import Feature from 'ol/Feature';
@Component({
selector: 'fm-map-item-layers',
@@ -180,9 +181,9 @@ export class ItemLayersComponent extends LayerGroupComponent implements OnChange
const source = new VectorSource({
strategy: loadingstrategy.bbox,
loader: function (extent: Extent, resolution: number, projection: Projection) {
const source = this as VectorSource<Geometry>;
const source = this as VectorSource<Feature<Geometry>>;
__this.itemService.getItemFeatures(item.code, extent, projection.getCode(), layerIndex).subscribe(function (data) {
const features = format.readFeatures(data);
const features = format.readFeatures(data).filter(feature => feature instanceof Feature) as Feature[];
for (const f of features) {
if (f.get("code")) {
f.setId(f.get("code"));

View File

@@ -1,5 +1,5 @@
import { Component, Host, Input, Output, EventEmitter, OnInit, OnChanges, SimpleChanges, forwardRef, Inject, InjectionToken, OnDestroy, LOCALE_ID } from '@angular/core';
import { LayerVectorComponent, SourceVectorComponent, MapComponent } from 'ngx-openlayers';
import { LayerVectorComponent, SourceVectorComponent, MapComponent } from 'ng-openlayers';
import { ItemService, ItemTypeService, IItem, IItemType, FolderService } from '@farmmaps/common';
import { Feature } from 'ol';
@@ -29,7 +29,7 @@ import { formatNumber } from '@angular/common';
]
})
export class ItemVectorSourceComponent extends SourceVectorComponent implements OnInit, OnDestroy, OnChanges {
instance: Vector<Geometry>;
instance: Vector<Feature<Geometry>>;
private _format: GeoJSON;
private _select: Select;
private _hoverSelect: Select;
@@ -83,6 +83,7 @@ export class ItemVectorSourceComponent extends SourceVectorComponent implements
ngOnInit() {
this.sub = this.folderService.getFolder('my_settings').subscribe(
userSettingsRoot => {
if (userSettingsRoot == undefined) return;
this.itemService.getChildItemList(userSettingsRoot.code, 'vnd.farmmaps.itemtype.settings.general').subscribe(
items => {
if (items && items.length > 0 && items[0].data?.displayMapFeatureSettings) {

View File

@@ -3,7 +3,7 @@ import { IItemLayer } from '../../../models/item.layer';
import { Store } from '@ngrx/store';
import * as mapReducers from '../../../reducers/map.reducer';
import * as mapActions from '../../../actions/map.actions';
import { MapComponent } from 'ngx-openlayers';
import { MapComponent } from 'ng-openlayers';
import { ILayervalue } from '../../../models/layer.value';
import { Observable, interval, Subject } from 'rxjs';
import { debounce, throttle } from 'rxjs/operators';

View File

@@ -1,8 +1,9 @@
import { Component, OnDestroy, OnInit, Input, OnChanges, SimpleChanges } from '@angular/core';
import { LayerVectorComponent, MapComponent } from 'ngx-openlayers';
import { LayerVectorComponent, MapComponent } from 'ng-openlayers';
import RenderType from 'ol/layer/Vector';
import { Vector as VectorSource } from 'ol/source';
import { Geometry } from 'ol/geom';
import Feature from 'ol/Feature';
@Component({
selector: 'fm-map-aol-layer-vector-image',
@@ -14,7 +15,7 @@ export class LayerVectorImageComponent extends LayerVectorComponent implements O
//public source: Vector;
@Input()
renderMode: RenderType<VectorSource<Geometry>> | string = "image";
renderMode: RenderType<VectorSource<Feature<Geometry>>> | string = "image";
constructor(map: MapComponent) {
super(map);

View File

@@ -1,5 +1,5 @@
import { Component, OnInit, Input, Host, OnChanges, SimpleChanges,ChangeDetectorRef } from '@angular/core';
import { MapComponent } from 'ngx-openlayers';
import { MapComponent } from 'ng-openlayers';
import {IMapState} from '../../../models/map.state'
import {View} from 'ol';
import { fromLonLat } from 'ol/proj';

View File

@@ -11,7 +11,7 @@
#north {
display: none;
fill: var(--bs-black);
fill:var(--bs-black);
}
#top-l {
@@ -31,23 +31,23 @@
}
div.compass:hover #top-l {
fill: var(--bs-white);
fill:var(--bs-white);
}
div.compass:hover #top-r {
fill: var(--bs-gray-300);
fill:var(--bs-gray-300);
}
div.compass:hover #bottom-l {
fill: var(--bs-gray-300);
fill:var(--bs-gray-300);
}
div.compass:hover #bottom-r {
fill: var(--bs-white);
fill:var(--bs-white);
}
div.compass:hover #north {
fill: var(--bs-white);
fill:var(--bs-white);
}
.compass-n {

View File

@@ -1,5 +1,5 @@
import { Component, Host, Input, OnInit, ChangeDetectorRef } from '@angular/core';
import { ViewComponent, MapComponent } from 'ngx-openlayers';
import { ViewComponent, MapComponent } from 'ng-openlayers';
import {View} from 'ol';

View File

@@ -1,6 +1,6 @@
import { Component, Host, Input, OnInit, OnChanges, SimpleChanges, forwardRef } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { ViewComponent, MapComponent } from 'ngx-openlayers';
import { ViewComponent, MapComponent } from 'ng-openlayers';
@Component({

View File

@@ -1,7 +1,7 @@
import { Directive, ViewContainerRef,TemplateRef,OnInit,Input, OnChanges } from '@angular/core';
import { Layer } from 'ol/layer';
import { Source } from 'ol/source';
import { MapComponent } from 'ngx-openlayers';
import { MapComponent } from 'ng-openlayers';
@Directive({
selector: '[fmMapIfZoomToShow]',

View File

@@ -21,7 +21,7 @@
}
.layers {
color: var(--bs-secondary);
color:var(--bs-secondary);
position: absolute;
overflow: hidden;
bottom: -1em;

View File

@@ -10,6 +10,7 @@
panelVisible:panelVisible$|async,
openedModalName:openedModalName$|async,
panelCollapsed:panelCollapsed$|async,
panelExtraWide:panelExtraWide$|async,
searchMinified:searchMinified$|async,
selectedItem:selectedItem$|async,
parentItem:parentItem$|async,
@@ -64,7 +65,7 @@
</div>
<div class="side-panel-container">
<fm-side-panel [resizeable]="true" (onResize)="handlePanelResize($event)" [visible]="state.panelVisible && noContent" [collapsed]="state.panelCollapsed" [collapsable]="false">
<fm-side-panel [resizeable]="true" (onResize)="handlePanelResize($event)" [visible]="state.panelVisible && noContent" [collapsed]="state.panelCollapsed" [collapsable]="false" [extrawide]="state.panelExtraWide">
<div class="panel-wrapper" *ngIf="noContent">
<div class="panel-top bg-secondary" *ngIf="!(state.searchMinified)">
</div>
@@ -84,7 +85,7 @@
</div>
</div>
</fm-side-panel>
<fm-side-panel [resizeable]="true" [visible]="!noContent">
<fm-side-panel [resizeable]="true" [visible]="!noContent" [extrawide]="state.panelExtraWide">
<router-outlet (activate)="handleSidepaneloutletActivate($event)" (deactivate)="handleSidepaneloutletDeactivate($event)"></router-outlet>
</fm-side-panel>
</div>

View File

@@ -66,6 +66,7 @@ export class MapComponent implements OnInit, OnDestroy,AfterViewInit {
public parentCode$: Observable<string> =this.store.select(mapReducers.selectGetParentCode);
public panelVisible$: Observable<boolean> = this.store.select(mapReducers.selectGetPanelVisible);
public panelCollapsed$: Observable<boolean> = this.store.select(mapReducers.selectGetPanelCollapsed);
public panelExtraWide$: Observable<boolean> = this.store.select(mapReducers.selectGetPanelExtraWide);
public selectedFeature$: Observable<Feature<Geometry>> = this.store.select(mapReducers.selectGetSelectedFeature);
public clickedFeature: Subject<Feature<Geometry>> = new Subject<Feature<Geometry>>();
public selectedItem$: Observable<IItem> = this.store.select(mapReducers.selectGetSelectedItem);
@@ -208,12 +209,18 @@ export class MapComponent implements OnInit, OnDestroy,AfterViewInit {
if(component && component.hasOwnProperty('clickedFeature')) {
(component as IClickedFeature).clickedFeature = this.clickedFeature;
}
if(component && component.hasOwnProperty('extrawide')) {
this.store.dispatch(new mapActions.SetPanelExtraWide(true));
}
}
handleSidepaneloutletDeactivate(component:any) {
if(component && component.hasOwnProperty('clickedFeature')) {
(component as IClickedFeature).clickedFeature = null;
}
if(component && component.hasOwnProperty('extrawide')) {
this.store.dispatch(new mapActions.SetPanelExtraWide(false));
}
}
handlePrerender(event:any) {

View File

@@ -41,7 +41,7 @@ export const {
selectRouteParam, // factory function to select a route param
selectRouteData, // select the current route data
selectUrl, // select the current url
} = fromRouter.getSelectors(getRouterState);
} = fromRouter.getRouterSelectors(getRouterState);
@Injectable()
@@ -133,7 +133,7 @@ export class MapEffects {
f.id = f.properties["code"];
}
}
return of(new mapActions.StartSearchSuccess(this._geojsonFormat.readFeatures(features), a.queryState));
return of(new mapActions.StartSearchSuccess(this._geojsonFormat.readFeatures(features).filter(feature => feature instanceof Feature) as Feature[], a.queryState));
}
),
catchError(error => of(new commonActions.Fail(error))));
@@ -218,7 +218,7 @@ export class MapEffects {
if (!this.overrideSelectedItemLayer) {
return this.itemService$.getFeature(action.item.code, "EPSG:3857").pipe(
map((feature: any) => {
const f = this._geojsonFormat.readFeature(feature);
const f = this._geojsonFormat.readFeature(feature) as Feature;
f.setId(action.item.code);
return new mapActions.AddFeatureSuccess(f);
}),

View File

@@ -49,6 +49,7 @@ export interface State {
features: Array<Feature<Geometry>>,
panelVisible: boolean,
panelCollapsed: boolean,
panelExtraWide: boolean,
selectedFeature: Feature<Geometry>,
selectedItem:IItem,
parentItem:IItem,
@@ -94,6 +95,7 @@ export const initialState: State = {
features: [],
panelVisible: false,
panelCollapsed: false,
panelExtraWide: false,
selectedFeature: null,
selectedItem: null,
parentItem: null,
@@ -572,6 +574,10 @@ export function reducer(state = initialState, action: mapActions.Actions | commo
}
return state;
}
case mapActions.SETPANELEXTRAWIDE:{
const a= action as mapActions.SetPanelExtraWide;
return tassign(state,{panelExtraWide:a.panelExtraWide});
}
default: {
return state;
}
@@ -583,6 +589,7 @@ export const getParentCode = (state: State) => state.parentCode;
export const getFeatures = (state: State) => state.features;
export const getPanelVisible = (state: State) => state.panelVisible;
export const getPanelCollapsed = (state: State) => state.panelCollapsed;
export const getPanelExtraWide = (state: State) => state.panelExtraWide;
export const getSelectedFeature = (state: State) => state.selectedFeature;
export const getSelectedItem = (state: State) => state.selectedItem;
export const getParentItem = (state: State) => state.parentItem;
@@ -618,6 +625,7 @@ export const selectGetParentCode = createSelector(selectMapState, getParentCode)
export const selectGetFeatures = createSelector(selectMapState, getFeatures);
export const selectGetPanelVisible = createSelector(selectMapState, getPanelVisible);
export const selectGetPanelCollapsed = createSelector(selectMapState, getPanelCollapsed);
export const selectGetPanelExtraWide = createSelector(selectMapState, getPanelExtraWide);
export const selectGetSelectedFeature = createSelector(selectMapState, getSelectedFeature);
export const selectGetSelectedItem = createSelector(selectMapState, getSelectedItem);
export const selectGetParentItem = createSelector(selectMapState, getParentItem);

View File

@@ -10,18 +10,27 @@
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
"esModuleInterop": true,
"types": [],
"lib": [
"dom",
"es2018"
]
],
"paths": {
"@angular/*": [
"node_modules/@angular/*"
]
}
},
"angularCompilerOptions": {
"skipTemplateCodegen": true,
"strictMetadataEmit": true,
"fullTemplateTypeCheck": true,
"strictInjectionParameters": true,
"enableResourceInlining": true
"enableResourceInlining": true,
"compilationMode": "partial"
},
"exclude": [
"src/test.ts",

View File

@@ -1,20 +1,20 @@
{
"name": "@farmmaps/common-map3d",
"version": "2.1.0",
"version": "2.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@farmmaps/common-map3d",
"version": "2.1.0",
"version": "2.0.0",
"dependencies": {
"tslib": "^2.0.0"
},
"peerDependencies": {
"@angular/common": ">=16.0.0",
"@angular/core": ">=16.0.0",
"@angular/common": "^17.3.3",
"@angular/core": "^17.3.3",
"cesium": ">=1.82.1",
"ngx-openlayers": "1.0.0-next.21",
"ng-openlayers": "17.1.3",
"ol-cesium": ">=2.13.0"
}
},

View File

@@ -1,13 +1,13 @@
{
"name": "@farmmaps/common-map3d",
"version": "2.1.0",
"version": "2.0.0",
"publishConfig": {
"registry": "https://repository.akkerweb.nl/repository/npm-hosted/"
},
"peerDependencies": {
"@angular/common": ">=16.0.0",
"@angular/core": ">=16.0.0",
"ngx-openlayers": "1.0.0-next.21",
"@angular/common": "^17.3.3",
"@angular/core": "^17.3.3",
"ng-openlayers": "17.1.3",
"cesium": ">=1.82.1",
"ol-cesium": ">=2.13.0"
},

View File

@@ -1,6 +1,6 @@
import { Component, OnInit,Input,Host } from '@angular/core';
import { Interaction} from 'ol/interaction';
import { MapComponent } from 'ngx-openlayers';
import { MapComponent } from 'ng-openlayers';
import OLCesium from 'olcs/OLCesium';
import RasterSynchronizer from 'olcs/RasterSynchronizer';
import VectorSynchronizer from 'olcs/VectorSynchronizer';

View File

@@ -11,18 +11,27 @@
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
"esModuleInterop": true,
"types": [],
"lib": [
"dom",
"es2018"
]
],
"paths": {
"@angular/*": [
"node_modules/@angular/*"
]
}
},
"angularCompilerOptions": {
"skipTemplateCodegen": true,
"strictMetadataEmit": true,
"fullTemplateTypeCheck": true,
"strictInjectionParameters": true,
"enableResourceInlining": true
"enableResourceInlining": true,
"compilationMode": "partial"
},
"exclude": [
"src/test.ts",

View File

@@ -1,29 +1,29 @@
{
"name": "@farmmaps/common",
"version": "2.1.0",
"version": "2.0.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@farmmaps/common",
"version": "2.1.0",
"version": "2.0.0",
"peerDependencies": {
"@angular/common": ">=16.0.0",
"@angular/core": ">=16.0.0",
"@angular/forms": ">=16.0.0",
"@microsoft/signalr": ">=3.1.3",
"@ng-bootstrap/ng-bootstrap": ">=16.0.0",
"@ngrx/effects": ">=16.0.0",
"@ngrx/router-store": ">=16.0.0",
"@ngrx/store": ">=16.0.0",
"angular-oauth2-oidc": ">=13.0.0",
"bootstrap": ">=4.4.1",
"moment": ">=2.27.0",
"ngx-avatar": ">=4.1.0",
"ngx-clipboard": ">=15.1.0",
"ngx-image-cropper": ">=6.0.2",
"ngx-uploadx": ">=5.1.0",
"tassign": ">=1.0.0"
"@angular/common": "^17.3.3",
"@angular/core": "^17.3.3",
"@angular/forms": "^17.3.3",
"@microsoft/signalr": "^3.1.16",
"@ng-bootstrap/ng-bootstrap": "^16.0.0",
"@ngrx/effects": "^17",
"@ngrx/router-store": "^17",
"@ngrx/store": "^17",
"angular-oauth2-oidc": "^13",
"bootstrap": "^5.2.0",
"moment": "^2.29.4",
"ngx-avatars": "1.7.0",
"ngx-clipboard": "16.0.0",
"ngx-image-cropper": "^7.2.1",
"ngx-uploadx": "^6.2.0",
"tassign": "^1.0.0"
}
}
}

View File

@@ -1,25 +1,25 @@
{
"name": "@farmmaps/common",
"version": "2.1.0",
"version": "2.0.0",
"publishConfig": {
"registry": "https://repository.akkerweb.nl/repository/npm-hosted/"
},
"peerDependencies": {
"@ng-bootstrap/ng-bootstrap": ">=16.0.0",
"@angular/common": ">=16.0.0",
"@angular/core": ">=16.0.0",
"@angular/forms": ">=16.0.0",
"@ngrx/effects": ">=16.0.0",
"@ngrx/router-store": ">=16.0.0",
"@ngrx/store": ">=16.0.0",
"tassign": ">=1.0.0",
"bootstrap": ">=4.4.1",
"@microsoft/signalr": ">=3.1.3",
"ngx-uploadx": ">=5.1.0",
"angular-oauth2-oidc": ">=13.0.0",
"moment": ">=2.27.0",
"ngx-avatar": ">=4.1.0",
"ngx-image-cropper": ">=6.0.2",
"ngx-clipboard": ">=15.1.0"
"@ng-bootstrap/ng-bootstrap": "^16.0.0",
"@angular/common": "^17.3.3",
"@angular/core": "^17.3.3",
"@angular/forms": "^17.3.3",
"@ngrx/effects": "^17",
"@ngrx/router-store": "^17",
"@ngrx/store": "^17",
"tassign": "^1.0.0",
"bootstrap": "^5.2.0",
"@microsoft/signalr": "^3.1.16",
"ngx-uploadx": "^6.2.0",
"angular-oauth2-oidc": "^13",
"moment": "^2.29.4",
"ngx-avatars": "1.7.0",
"ngx-image-cropper": "^7.2.1",
"ngx-clipboard": "16.0.0"
}
}

View File

@@ -7,6 +7,7 @@ import {NavBarGuard} from './services/nav-bar-guard.service';
import {FullScreenGuard} from './services/full-screen-guard.service';
import {SessionClearedComponent} from './components/session-cleared/session-cleared.component';
import {NotFoundComponent} from './components/not-found/not-found.component';
import { ProductionGuard } from './services/production-guard.service';
const routes = [
@@ -21,7 +22,7 @@ const routes = [
},
{
path: '**', component: NotFoundComponent,
canActivate: [NavBarGuard]
canActivate: [NavBarGuard, ProductionGuard]
}
];

View File

@@ -18,6 +18,7 @@ import { EventService } from './services/event.service';
import { TypeaheadService } from './services/typeahead.service';
import { UserService } from './services/user.service';
import { ImageService } from './services/image.service';
import { DownloadService } from './services/download.service';
import { GeolocatorService } from './services/geolocator.service';
import { WeatherService} from './services/weather.service';
import { AppConfig } from './shared/app.config';
@@ -48,6 +49,7 @@ export {
TypeaheadService,
UserService,
ImageService,
DownloadService,
GeolocatorService,
WeatherService,
AppConfig,

View File

@@ -9,8 +9,8 @@ import { OAuthModule, AuthConfig, OAuthService, OAuthStorage } from 'angular-oau
import { StoreModule, Store } from '@ngrx/store';
import { EffectsModule } from '@ngrx/effects';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
import { UploadxModule } from 'ngx-uploadx/ngx-uploadx';
import { ClipboardModule } from 'ngx-clipboard/ngx-clipboard';
import { UploadxModule } from 'ngx-uploadx';
import { ClipboardModule } from 'ngx-clipboard';
// routing module

View File

@@ -1,4 +1,4 @@
<div class="side-panel hidden" [ngClass]="{'hidden':!visible,'collapsed':collapsed,'resizeable':(resizeable && mobile),'resizing':resizing,'left':left}" [ngStyle]="{'top':top}">
<div class="side-panel hidden" [ngClass]="{'hidden':!visible,'collapsed':collapsed,'resizeable':(resizeable && mobile),'resizing':resizing,'left':left,'extrawide':extrawide}" [ngStyle]="{'top':top}">
<div *ngIf="collapsable" class="arrow rounded-end p-2" (click)="handleToggleClick($event)">
<i class="fal fa-chevron-left" aria-hidden="true"></i>
</div>

View File

@@ -15,7 +15,7 @@
}
.side-panel.collapsed {
left:-22rem;
left:-44rem;
}
.arrow {
@@ -75,8 +75,7 @@ div.resizegrip > span {
}
.resizeable .resizegrip {
display:block;
display:block;
}
.resizeable .content {
@@ -94,9 +93,16 @@ div.resizegrip > span {
.side-panel.hidden {
width: 22rem;
left:-24rem;
left:-22rem;
height:100%;
top: 0px;
}
.side-panel.extrawide {
top:0px;
width: 44rem;
height:100%;
left:0px;
}
}

View File

@@ -1,4 +1,4 @@
import { Component, Input,Output,ViewChild,EventEmitter, ElementRef,OnChanges,SimpleChanges,HostListener,ChangeDetectorRef } from '@angular/core';
import { Component, Input,Output,ViewChild,EventEmitter, ElementRef,OnChanges,SimpleChanges,HostListener,ChangeDetectorRef, ViewEncapsulation } from '@angular/core';
@Component({
selector: 'fm-side-panel',
@@ -12,7 +12,8 @@ export class SidePanelComponent implements OnChanges {
@Input() public collapsed: boolean;
@Input() public collapsable: boolean;
@Input() public resizeable = false;
@Input() public left = false;
@Input() public left = false;
@Input() public extrawide: boolean;
@Output() onResize: EventEmitter<number> = new EventEmitter<number>();
@ViewChild("resizeGrip") elementView: ElementRef;
public mobile = true;
@@ -41,7 +42,7 @@ export class SidePanelComponent implements OnChanges {
}
ngAfterViewInit() {
this.parentHeight = this.element.nativeElement.offsetParent.clientHeight;
this.parentHeight = this.element.nativeElement.offsetParent?.clientHeight;
this.setTop();
}

View File

@@ -5,6 +5,9 @@
<div class="card" *ngIf="user">
<div class="card-body">
<div class="username">{{user.name}}</div>
<div *ngIf="getProvider(); let provider">
<small><span i18n>Provider</span><span> {{provider}}</span></small>
</div>
<div><a href="#" (click)="logout($event)" i18n>logout</a></div>
</div>
</div>

View File

@@ -20,11 +20,14 @@ export class UserMenuComponent implements OnInit {
ngOnInit(): void {
}
getLetter():string {
if (this.user && this.user.firstName && this.user.lastName)
return this.user.firstName.substr(0,1).toUpperCase() +
this.user.lastName.substr(0,1).toUpperCase();
return this.user && this.user.name ? this.user.name.substr(0,1).toUpperCase():"";
getProvider():string | null {
const ownedClaims = this.oauthService.getIdentityClaims();
if(ownedClaims) {
if (ownedClaims["idp"] != "local") {
return ownedClaims["idp"];
}
}
return null;
}
logout(event:MouseEvent) {

View File

@@ -64,6 +64,8 @@ export function reducer(state = initialState, action: appCommonActions.Actions )
code:a.user.code,
email:claims["email"]!== undefined ? claims["email"] : a.user.name,
name:claims["name"]!== undefined?claims["name"] : a.user.email,
lastName:a.user.lastName,
firstName:a.user.firstName,
claims:claims,
searchable: false
};

View File

@@ -0,0 +1,29 @@
import { Injectable } from '@angular/core';
import { Observable, of } from 'rxjs';
import { IItem } from '../models/item';
import { HttpClient } from "@angular/common/http";
import { AppConfig } from "../shared/app.config";
import {ItemTypeService} from './itemtype.service';
@Injectable({
providedIn: 'root',
})
export class DownloadService {
constructor(public httpClient: HttpClient, public appConfig: AppConfig,private itemTypeService:ItemTypeService) {
}
ApiEndpoint() {
return this.appConfig.getConfig("apiEndPoint");
}
getData(itemCode: string): Observable<any> {
return this.httpClient.get<any>(`${this.ApiEndpoint()}/api/v1/items/${itemCode}/data`);
}
getData2(item: IItem): Observable<any> {
if (item.size > 0) {
return this.httpClient.get<any>(`${this.ApiEndpoint()}/api/v1/items/${item.code}/data`)
}
return of({});
}
}

View File

@@ -152,6 +152,13 @@ export class ItemService {
return this.httpClient.put<IItem>(`${this.ApiEndpoint()}/api/v1/items/${item.code}`,item);
}
putItemFile(item: IItem, jsonObject: any): Observable<IItem> {
const formData = new FormData();
const file = new File([JSON.stringify(jsonObject, undefined, '\t')], 'data.dat', {type: 'application/json'});
formData.append('file', file);
return this.httpClient.put<any>(`${this.ApiEndpoint()}/api/v1/items/${item.code}/data`, formData);
}
deleteItem(code: string): Observable<any> {
return this.httpClient.delete<any>(`${this.ApiEndpoint()}/api/v1/items/${code}`);
}
@@ -196,5 +203,4 @@ export class ItemService {
getBreadcrumbs(itemCode: string): Observable<IListItem[]> {
return this.httpClient.get<any>(`${this.ApiEndpoint()}/api/v1/items/${itemCode}/breadcrumbs`);
}
}

View File

@@ -27,7 +27,7 @@ export class ItemTypeService {
getExtraAttributes(itemType: string) {
let extraAttributes = null;
if (this.itemTypes[itemType]) extraAttributes = this.itemTypes[itemType].extraAttributes;
if (this.itemTypes[itemType] && this.itemTypes[itemType].extraAttributes) extraAttributes = this.itemTypes[itemType].extraAttributes;
return extraAttributes;
}

View File

@@ -0,0 +1,10 @@
import { Injectable, isDevMode } from '@angular/core';
@Injectable({
providedIn: 'root',
})
export class ProductionGuard {
canActivate(): boolean {
return !isDevMode();
}
}

View File

@@ -29,7 +29,8 @@
"strictMetadataEmit": true,
"fullTemplateTypeCheck": true,
"strictInjectionParameters": true,
"enableResourceInlining": true
"enableResourceInlining": true,
"compilationMode": "partial"
},
"exclude": [
"src/test.ts",

34
tsconfig.base.json Normal file
View File

@@ -0,0 +1,34 @@
{
"compileOnSave": false,
"compilerOptions": {
"skipLibCheck": true,
"baseUrl": ".",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"downlevelIteration": true,
"experimentalDecorators": true,
"module": "es2020",
"moduleResolution": "node",
"importHelpers": true,
"target": "ES2022",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2018",
"dom"
],
"useDefineForClassFields": false,
"rootDir": "."
},
"angularCompilerOptions": {
"skipLibs": true,
"fullTemplateTypeCheck": true,
"strictInjectionParameters": true
},
"exclude": [
"node_modules",
"tmp"
]
}

View File

@@ -31,6 +31,9 @@
"common-map3d": [
"dist/common-map3d/common-map3d",
"dist/common-map3d"
],
"ng-openlayers/*": [
"dist/ng-openlayers/*"
]
},
"useDefineForClassFields": false