Author SHA1 Message Date
peter 3f9b4dcdaa Update README.md
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2024-09-05 12:53:30 +00:00
jenkins a63159367f [ci skip] Updated packages #2492
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-09-05 12:51:03 +00:00
peter b9d1c8f61f Update README.md
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-09-05 12:47:31 +00:00
jenkins eb34de193c [ci skip] Updated packages #2491
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-09-05 12:31:43 +00:00
peter 5612bb3d66 Merge branch 'feature/AW6241Angular18' into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-09-05 13:44:56 +02:00
peter 0e42efac75 AW6241 Fix deps 2024-09-05 13:44:33 +02:00
peter 3247880b7c AW6241 Migrate deps 2024-09-05 12:50:16 +02:00
peter a250ecdcc1 AW6241 Migrate libs to latest bootstrap 2024-09-05 11:45:31 +02:00
peter 93e497ec3f AW6241 Migrate libs to ng-18 2024-09-05 11:02:15 +02:00
peter 10a1f07622 AW6241 Migrate main to ng-18 2024-09-05 09:08:43 +02:00
peter 07d6c1bc10 AW6241 ng-18 adopt ng-openlayers 2024-09-05 08:50:27 +02:00
jenkins 1bddc28767 [ci skip] Updated packages #2485
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-09-02 12:29:11 +00:00
peter a999c05631 Aw-6020 Add getItemListCount for paging
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-09-02 14:27:47 +02:00
jenkins f3252a378d [ci skip] Updated packages #2484
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-08-29 07:38:28 +00:00
peter 4ab1e43d40 Aw-6020 Fix getChildItemListCount
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-08-29 09:37:03 +02:00
jenkins 2719f2fcf4 [ci skip] Updated packages #2483
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-08-20 08:54:40 +00:00
peter 55914bf7d2 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-08-20 10:51:30 +02:00
peter 26ca9be4e7 Aw6020 Itemtype = optional 2024-08-20 10:51:21 +02:00
peter 0ed342404e Aw6020 Itemtype = optional 2024-08-20 10:47:33 +02:00
jenkins 26ae1c7f06 [ci skip] Updated packages #2482
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-08-20 08:45:26 +00:00
peter f71d0fe256 Aw6020 Add my_root
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-08-20 10:43:57 +02:00
jenkins 7544203202 [ci skip] Updated packages #2481
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-08-20 08:04:03 +00:00
peter 41a30e0b64 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-08-20 10:02:37 +02:00
peter f14fc1a4fc Aw6020 Allow retrieving list items with date filter 2024-08-20 10:02:33 +02:00
jenkins 21ebda4753 [ci skip] Updated packages #2480
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-06-12 13:30:48 +00:00
peter 3a80a6f7f3 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-06-12 15:29:24 +02:00
peter 71a2ef44e6 AW-6226 Add admin function to post task on behalve of other user 2024-06-12 15:29:15 +02:00
jenkins 1610391d56 [ci skip] Updated packages #2479
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-06-12 10:15:19 +00:00
peter b778e5726c error TS2307: Cannot find module 'dist/common' or its corresponding type declarations.
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-06-12 12:14:05 +02:00
peter fc4abf9a5b AW-6226 Add admin function to retrieve all users
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2024-06-12 12:11:36 +02:00
jenkins d6587bd63b [ci skip] Updated packages #2477
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
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-04-10 12:19:34 +00:00
peter 274f33e709 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
# Conflicts:
#	package-lock.json
2024-04-10 14:07:19 +02:00
peter 4384b12944 AW-6046 ng-openlayers 2024-04-10 14:06:44 +02:00
jenkins 10ebdf276a [ci skip] Updated packages #2460
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-04-10 11:45:06 +00:00
peter 9c270bfe75 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-04-10 13:41:54 +02:00
peter 9031d3e171 Update ngx-clipboard 2024-04-10 13:41:46 +02:00
jenkins c3158c1064 [ci skip] Updated packages #2459
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-04-10 11:29:13 +00:00
peter 315b64a561 Fixes
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-04-10 13:27:25 +02:00
jenkins 030dbcec5d [ci skip] Updated packages #2458
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-04-10 06:25:47 +00:00
peter 876020828e AW-6046 Angular 17
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-04-10 08:24:07 +02:00
peter 393b881e3b Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop 2024-04-10 08:18:36 +02:00
peter 8594a94d62 AW-6046 Angular 17 2024-04-10 08:18:25 +02:00
jenkins c543ac7c94 [ci skip] Updated packages #2457
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-04-09 13:51:44 +00:00
peter 97d6d569a0 AW-6046 Fix open layers 8 issues
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-04-09 15:50:03 +02:00
peter 023048a5bb error TS2307: Cannot find module 'ol/source/WMSServerType' or its corresponding type declarations.
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2024-04-09 15:05:26 +02:00
peter 4a685d675d AW-6046 Open layers 8
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
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-04-09 10:13:34 +00:00
peter 3bdba527ec npm ERR! code ENEEDAUTH
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-04-09 12:10:38 +02:00
peter fb03cfce44 npm ERR! code ENEEDAUTH
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2024-04-09 12:06:14 +02:00
peter 6f93cf254c AW-6046 Angular 17
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2024-04-09 11:23:39 +02:00
peter b5a3a62cee AW-6046 Fix jenkins
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2024-04-09 11:04:37 +02:00
peter d306d5c4c1 AW-6046 Angular 17
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2024-04-09 10:58:42 +02:00
peter e79ae2f623 AW-6046 Angular 17 2024-04-09 10:16:21 +02:00
peter bdf4e03b49 AW-6046 Angular 17 2024-04-09 09:50:06 +02:00
peter 7d5c10d902 AW-6046 Angular 17 2024-04-09 09:46:52 +02:00
peter fb192c6e4d AW-6046 Angular 17 2024-04-09 09:45:29 +02:00
jenkins 6356f149a6 [ci skip] Updated packages #2447
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-04-04 12:57:13 +00:00
peter 5c5914327c AW-6033 /api/v1/items/undefined/children?... 401 (Unauthorized)
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-04-04 14:55:39 +02:00
jenkins e306bf601f [ci skip] Updated packages #2446
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-04-04 11:20:05 +00:00
peter f8459aaca4 AW-6033 main.js:555726 ERROR TypeError: Cannot read properties of null (reading 'code')
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-04-04 13:18:28 +02:00
jenkins ce52cbdbed [ci skip] Updated packages #2445
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-03-05 14:41:30 +00:00
mark 752e1e2c42 added hit tolerance to ngx select interaction
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-03-05 15:39:52 +01:00
jenkins 6b617ed4ad [ci skip] Updated packages #2444
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-03-04 12:22:37 +00:00
peter 9b19950945 Fix upload json formatting
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
Fix extraAttributes null exception
2024-03-04 13:20:23 +01:00
jenkins c74163976a [ci skip] Changed by Jenkins: 2443
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
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
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
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
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
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
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
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
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-02-01 15:38:22 +00:00
peter 36ebc03189 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-02-01 16:35:36 +01:00
peter c0d40d2d5e Aw5812Add wide supp 2024-02-01 16:34:24 +01:00
jenkins 14e504cc79 [ci skip] Changed by Jenkins: 2438
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-02-01 15:22:56 +00:00
peter b060fd34bb Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-02-01 16:21:20 +01:00
peter 0694d4e467 Aw5812Fix null exc 2024-02-01 16:20:57 +01:00
jenkins 7c5867a332 [ci skip] Changed by Jenkins: 2437
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-02-01 15:02:54 +00:00
peter 8f958e33f1 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-02-01 16:01:24 +01:00
peter aa2f305b27 Aw5812wip 2024-02-01 16:01:11 +01:00
jenkins d02da8f334 [ci skip] Changed by Jenkins: 2436
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-02-01 14:23:30 +00:00
peter 253553c534 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
# Conflicts:
#	package-lock.json
2024-02-01 15:21:58 +01:00
peter 4641e351fd Aw5812 2024-02-01 15:21:04 +01:00
jenkins 84cf6a3f6e [ci skip] Changed by Jenkins: 2435
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-02-01 12:36:14 +00:00
peter 92b29135b5 Aw5812wip
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
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-01-30 10:19:44 +00:00
peter daf78f32b7 Fix error TS500: RangeError: Maximum call stack size exceeded
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-01-30 11:18:11 +01:00
peter 42245612d2 ERROR: Trying to publish a package that has been compiled by Ivy in full compilation mode
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2024-01-30 11:00:16 +01:00
peter a05c1fa874 Fix build
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2024-01-30 10:52:02 +01:00
peter 4bda94c360 Fix path
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2024-01-30 10:23:14 +01:00
peter feaad02c33 Fix path
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2024-01-30 10:06:26 +01:00
peter af9acebaff Only page not found when no routing is matched on production environment
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
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-01-29 15:27:29 +00:00
peter 2e40d023b1 Aw5812 Update item file
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-01-29 16:25:56 +01:00
jenkins 4d5ed915ad [ci skip] Changed by Jenkins: 2426
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-01-12 12:07:12 +00:00
peter 2fb5967c26 Aw-5739 Use ngrx-store-localstorage angular 16 compatible version
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
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-01-11 12:39:00 +00:00
peter ce2f06091b Aw-5739 Add data download service
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
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-01-09 08:27:18 +00:00
peter 10e43e1ea5 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
# Conflicts:
#	package-lock.json
2024-01-09 09:25:44 +01:00
peter 8fa84c6ea8 Aw5739 Update to Angular v16. 2024-01-09 09:24:52 +01:00
jenkins 9f872d0af0 [ci skip] Changed by Jenkins: 2423
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-01-08 13:54:36 +00:00
peter f6bed668f6 Merge branch 'feature/AW5739AngularV15ToV16' into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
# Conflicts:
#	package-lock.json
2024-01-08 14:52:46 +01:00
peter f70e30204d Aw5739 Update to Angular v16. 2024-01-08 14:51:37 +01:00
peter 7339b91328 Aw5739 Prepare migration to v16: Use suported version of ngx-avatars 2024-01-08 14:43:28 +01:00
peter 88667b3986 Aw5739 Prepare migration to v16 Update package.lock 2024-01-08 14:41:05 +01:00
peter a996caa73b Aw5739 Prepare migration to v16 Update ngrx 2024-01-08 14:38:06 +01:00
peter ed6f8f4231 Aw5739 Prepare migration to v16 Update ngrx 2024-01-08 14:33:32 +01:00
peter 94ef2e269b Aw5739 Prepare migration to v16 Update eslint 2024-01-08 14:31:09 +01:00
peter da624f0535 Aw5739 Prepare migration to v16 2024-01-08 14:25:46 +01:00
peter 3da646dc4d Aw5739 Prepare migration to v16: Use supported version of TypeScript 2024-01-08 14:19:52 +01:00
peter 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
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2024-01-08 11:38:33 +00:00
peter b20ab34859 Merge branch 'feature/AW5739AngularV14ToV15' into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2024-01-08 12:36:27 +01:00
peter 1988b3f74d Aw5739 Update to Angular v15. 2024-01-08 12:33:38 +01:00
peter b0587bc4c3 Aw5739 Prepare migration to v15: Use suported version of ngx-clipboard 2024-01-08 12:17:32 +01:00
peter 681d372ef3 Aw5739 Prepare migration to v15: Use suported version of ngx-avatar 2024-01-08 12:05:38 +01:00
peter 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
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2023-12-29 13:53:17 +00:00
peter 6254a3be98 Trigger build
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
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2023-12-29 10:17:00 +00:00
peter a2a287961c Fix error TS2307: Cannot find module 'ngx-openlayers' or its corresponding type declarations.
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-12-29 11:07:41 +01:00
peter 8e8f18ad7c Aw5739 Add ngx openlayers
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2023-12-29 11:01:36 +01:00
jenkins 5cbb6f32f9 [ci skip] Changed by Jenkins: 2398
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-12-21 11:57:05 +00:00
peter b2469f731e trigger build
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-12-21 11:54:47 +00:00
jenkins beb439469f [ci skip] Changed by Jenkins: 2397
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2023-12-19 13:26:17 +00:00
wilco ef49f62ca2 AW-5727 - Farms blijft leeg bij harde reload
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-12-19 14:14:57 +01:00
jenkins 67abc67d9a [ci skip] Changed by Jenkins: 2396
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2023-12-15 13:11:48 +00:00
jenkins 1f7f410916 [ci skip] Changed by Jenkins: 2395
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2023-12-15 13:06:21 +00:00
peter 2f176be8c6 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-12-15 14:01:02 +01:00
peter 1118c5ca60 Aw3998 Add click 2023-12-15 14:00:48 +01:00
jenkins c7831d1d87 [ci skip] Changed by Jenkins: 2394
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2023-12-15 12:51:48 +00:00
peter 31c5e0cb52 Aw3998 Add click
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-12-15 13:49:13 +01:00
jenkins c6a632894d [ci skip] Changed by Jenkins: 2393
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2023-12-15 10:10:59 +00:00
peter e652c7bb5b Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-12-15 11:05:40 +01:00
peter 818e04d1f3 Aw3998 Cleanup 2023-12-15 11:05:27 +01:00
jenkins ebbac409a0 [ci skip] Changed by Jenkins: 2392
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2023-12-15 10:01:59 +00:00
peter 5cc976ddd3 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-12-15 10:59:18 +01:00
peter 38eae3263e Aw-3998 Add ability to clear features 2023-12-15 10:59:10 +01:00
jenkins a3eb2d9617 [ci skip] Changed by Jenkins: 2391
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2023-11-25 14:55:18 +00:00
mark 03e3c7ad95 fix build...
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-11-25 15:52:47 +01:00
mark 8fd8675260 AW-5366 fix scaling of histogram
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2023-11-25 15:46:31 +01:00
mark 187811e4e2 upped version
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2023-11-25 15:41:39 +01:00
mark 8e304fc6eb also use scale for histogram
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2023-11-23 21:13:44 +01:00
jenkins 127dc44917 [ci skip] Changed by Jenkins: 2387
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2023-10-21 08:59:13 +00:00
jenkins aa5a8f0843 [ci skip] Changed by Jenkins: 2385
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 08:47:16 +00:00
jenkins a10aca92f1 [ci skip] Changed by Jenkins: 2383 2023-10-21 08:18:23 +00:00
jenkins e42e94fcf7 [ci skip] Changed by Jenkins: 2382
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 08:16:00 +00:00
jenkins 2b83ccad1f [ci skip] Changed by Jenkins: 2381
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 08:13:37 +00:00
jenkins e31d428c4b [ci skip] Changed by Jenkins: 2380
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 07:44:52 +00:00
jenkins 429e54ef8d [ci skip] Changed by Jenkins: 2379
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 07:39:40 +00:00
jenkins 02e13337bf [ci skip] Changed by Jenkins: 2378
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 07:34:27 +00:00
jenkins b4eb7aaeac [ci skip] Changed by Jenkins: 2377
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 07:30:58 +00:00
jenkins 7e21c725d8 [ci skip] Changed by Jenkins: 2376
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 07:25:39 +00:00
jenkins dd889ea7cc [ci skip] Changed by Jenkins: 2375
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 07:20:42 +00:00
jenkins 4dab5a00b1 [ci skip] Changed by Jenkins: 2374
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 07:16:29 +00:00
jenkins 5cc58e8988 [ci skip] Changed by Jenkins: 2373
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 07:11:47 +00:00
jenkins 0944e595d3 [ci skip] Changed by Jenkins: 2372
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 07:07:16 +00:00
jenkins 32bebec0df [ci skip] Changed by Jenkins: 2371
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 07:02:43 +00:00
jenkins c0cf210600 [ci skip] Changed by Jenkins: 2370
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 06:58:06 +00:00
jenkins f85a27a8e5 [ci skip] Changed by Jenkins: 2369
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 06:54:05 +00:00
jenkins 88ae8b829f [ci skip] Changed by Jenkins: 2368
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 06:49:06 +00:00
jenkins fcb60ed8bc [ci skip] Changed by Jenkins: 2367
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 06:44:19 +00:00
jenkins 3d535507fb [ci skip] Changed by Jenkins: 2366
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 06:40:43 +00:00
jenkins e89bdac47d [ci skip] Changed by Jenkins: 2365
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 06:35:36 +00:00
jenkins 4038702841 [ci skip] Changed by Jenkins: 2364
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 06:30:50 +00:00
jenkins 7ced2d2a7b [ci skip] Changed by Jenkins: 2363
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 06:27:26 +00:00
jenkins c53981f4a6 [ci skip] Changed by Jenkins: 2362
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 06:21:55 +00:00
jenkins 076dec27d5 [ci skip] Changed by Jenkins: 2361
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 06:16:30 +00:00
jenkins 5354aa8d0a [ci skip] Changed by Jenkins: 2360
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 06:12:54 +00:00
jenkins 12143c8e69 [ci skip] Changed by Jenkins: 2359
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 06:07:52 +00:00
jenkins 50519e9236 [ci skip] Changed by Jenkins: 2358
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 06:03:08 +00:00
jenkins 7f6d007c04 [ci skip] Changed by Jenkins: 2357
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 05:58:43 +00:00
jenkins 98be4f05cc [ci skip] Changed by Jenkins: 2356
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 05:54:03 +00:00
jenkins 79558e2168 [ci skip] Changed by Jenkins: 2355
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 05:49:44 +00:00
jenkins b966241997 [ci skip] Changed by Jenkins: 2354
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 05:44:51 +00:00
jenkins 60a7384f88 [ci skip] Changed by Jenkins: 2353
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 05:39:58 +00:00
jenkins 76f225b996 [ci skip] Changed by Jenkins: 2352
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 05:36:10 +00:00
jenkins 37a25c6b29 [ci skip] Changed by Jenkins: 2351
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 05:30:37 +00:00
jenkins 6c45842387 [ci skip] Changed by Jenkins: 2350
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 05:25:39 +00:00
jenkins d37b0866d5 [ci skip] Changed by Jenkins: 2349
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 05:22:22 +00:00
jenkins 270f244128 [ci skip] Changed by Jenkins: 2348
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 05:16:55 +00:00
jenkins ebddf688c6 [ci skip] Changed by Jenkins: 2347
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 05:11:46 +00:00
jenkins f1c572ecc9 [ci skip] Changed by Jenkins: 2346
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 05:08:27 +00:00
jenkins af5361b6c3 [ci skip] Changed by Jenkins: 2345
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 05:03:06 +00:00
jenkins 6daf0eab4a [ci skip] Changed by Jenkins: 2344
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 04:58:02 +00:00
jenkins 66fe0e9534 [ci skip] Changed by Jenkins: 2343
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 04:53:55 +00:00
jenkins 75ccc6dda4 [ci skip] Changed by Jenkins: 2342
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 04:49:13 +00:00
jenkins e45ec785d7 [ci skip] Changed by Jenkins: 2341
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 04:44:43 +00:00
jenkins b067b50937 [ci skip] Changed by Jenkins: 2340
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 04:39:41 +00:00
jenkins 0c2e6364ac [ci skip] Changed by Jenkins: 2339
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 04:34:53 +00:00
jenkins b232fb2c8e [ci skip] Changed by Jenkins: 2338
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 04:31:22 +00:00
jenkins 4a19694c1a [ci skip] Changed by Jenkins: 2337
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 04:26:15 +00:00
jenkins af766abe54 [ci skip] Changed by Jenkins: 2336
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 04:21:18 +00:00
jenkins 6333d78eab [ci skip] Changed by Jenkins: 2335
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 04:17:52 +00:00
jenkins c06fe315d8 [ci skip] Changed by Jenkins: 2334
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 04:12:49 +00:00
jenkins bc1f44f0b7 [ci skip] Changed by Jenkins: 2333
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 04:07:54 +00:00
jenkins 95bb8da8b7 [ci skip] Changed by Jenkins: 2332
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 04:04:15 +00:00
jenkins 68f8ff9cdd [ci skip] Changed by Jenkins: 2331
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 03:59:23 +00:00
jenkins 9e122fefd3 [ci skip] Changed by Jenkins: 2330
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 03:54:27 +00:00
jenkins b47ead21be [ci skip] Changed by Jenkins: 2329
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 03:49:59 +00:00
jenkins ebe43c3b27 [ci skip] Changed by Jenkins: 2328
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 03:45:21 +00:00
jenkins 686084f5cf [ci skip] Changed by Jenkins: 2327
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 03:40:56 +00:00
jenkins 0abaf15101 [ci skip] Changed by Jenkins: 2326
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 03:36:07 +00:00
jenkins 9dd2b5cdb5 [ci skip] Changed by Jenkins: 2325
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 03:31:28 +00:00
jenkins 2246a98bbb [ci skip] Changed by Jenkins: 2324
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 03:27:46 +00:00
jenkins 6265b66baf [ci skip] Changed by Jenkins: 2323
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 03:22:24 +00:00
jenkins 5488206588 [ci skip] Changed by Jenkins: 2322
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 03:17:37 +00:00
jenkins b4f2042aa0 [ci skip] Changed by Jenkins: 2321
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 03:14:13 +00:00
jenkins 21dca2163b [ci skip] Changed by Jenkins: 2320
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 03:08:56 +00:00
jenkins 2bc02323ae [ci skip] Changed by Jenkins: 2319
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 03:03:55 +00:00
jenkins 8b073fb855 [ci skip] Changed by Jenkins: 2318
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 02:59:42 +00:00
jenkins 5d28b547a1 [ci skip] Changed by Jenkins: 2317
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 02:54:59 +00:00
jenkins f2407dc12a [ci skip] Changed by Jenkins: 2316
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 02:50:27 +00:00
jenkins f02b317cf4 [ci skip] Changed by Jenkins: 2315
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 02:45:35 +00:00
jenkins 270b774c33 [ci skip] Changed by Jenkins: 2314
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 02:40:55 +00:00
jenkins 864b72c82c [ci skip] Changed by Jenkins: 2313
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 02:37:12 +00:00
jenkins c5716b0102 [ci skip] Changed by Jenkins: 2312
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 02:32:04 +00:00
jenkins ad097121da [ci skip] Changed by Jenkins: 2311
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 02:27:18 +00:00
jenkins 79b33cff50 [ci skip] Changed by Jenkins: 2310
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 02:23:53 +00:00
jenkins e01417f3b3 [ci skip] Changed by Jenkins: 2309
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 02:18:28 +00:00
jenkins 68ffc6f7d9 [ci skip] Changed by Jenkins: 2308
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 02:13:18 +00:00
jenkins ef7cf410b9 [ci skip] Changed by Jenkins: 2307
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 02:08:49 +00:00
jenkins 151ba2563e [ci skip] Changed by Jenkins: 2306
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 02:04:04 +00:00
jenkins 78f4dca9a1 [ci skip] Changed by Jenkins: 2305
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 01:59:33 +00:00
jenkins 52bf963afd [ci skip] Changed by Jenkins: 2304
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 01:55:02 +00:00
jenkins e6cfb85b8e [ci skip] Changed by Jenkins: 2303
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 01:50:24 +00:00
jenkins 6576e7cb6d [ci skip] Changed by Jenkins: 2302
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 01:46:19 +00:00
jenkins 7d7528ab4c [ci skip] Changed by Jenkins: 2301
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 01:41:07 +00:00
jenkins 34a79ec833 [ci skip] Changed by Jenkins: 2300
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 01:36:14 +00:00
jenkins 6cd5b0e5d7 [ci skip] Changed by Jenkins: 2299
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 01:32:38 +00:00
jenkins 412ddc01d1 [ci skip] Changed by Jenkins: 2298
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 01:27:32 +00:00
jenkins 10edf0728b [ci skip] Changed by Jenkins: 2297
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 01:22:40 +00:00
jenkins 57189ce4df [ci skip] Changed by Jenkins: 2296
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 01:18:05 +00:00
jenkins e72f933014 [ci skip] Changed by Jenkins: 2295
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 01:13:27 +00:00
jenkins 782e7adb00 [ci skip] Changed by Jenkins: 2294
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 01:08:52 +00:00
jenkins 17b78476ee [ci skip] Changed by Jenkins: 2293
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 01:04:01 +00:00
jenkins 93630d5a09 [ci skip] Changed by Jenkins: 2292
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 00:59:21 +00:00
jenkins 79f09d0e0e [ci skip] Changed by Jenkins: 2291
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 00:55:15 +00:00
jenkins 02016eb404 [ci skip] Changed by Jenkins: 2290
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 00:50:40 +00:00
jenkins 59760ad201 [ci skip] Changed by Jenkins: 2289
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 00:45:44 +00:00
jenkins 6eca90abb6 [ci skip] Changed by Jenkins: 2288
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 00:41:31 +00:00
jenkins b853b4d3f7 [ci skip] Changed by Jenkins: 2287
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 00:36:19 +00:00
jenkins 6e815e3442 [ci skip] Changed by Jenkins: 2286
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 00:31:19 +00:00
jenkins befa82d0f6 [ci skip] Changed by Jenkins: 2285
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 00:27:12 +00:00
jenkins 5df0e6e423 [ci skip] Changed by Jenkins: 2284
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 00:22:27 +00:00
jenkins 669f93a327 [ci skip] Changed by Jenkins: 2283
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 00:17:41 +00:00
jenkins 73ff1fd47f [ci skip] Changed by Jenkins: 2282
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 00:13:28 +00:00
jenkins e07c3aeb3d [ci skip] Changed by Jenkins: 2281
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 00:08:48 +00:00
jenkins 700b29c3d1 [ci skip] Changed by Jenkins: 2280
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-21 00:04:17 +00:00
jenkins 0ffdbfd3ca [ci skip] Changed by Jenkins: 2279
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 23:58:42 +00:00
jenkins 756db80b77 [ci skip] Changed by Jenkins: 2278
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 23:53:53 +00:00
jenkins b2559be980 [ci skip] Changed by Jenkins: 2277
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 23:50:26 +00:00
jenkins a9754a8eff [ci skip] Changed by Jenkins: 2276
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 23:44:53 +00:00
jenkins d5961d4c96 [ci skip] Changed by Jenkins: 2275
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 23:40:03 +00:00
jenkins 56e35345fc [ci skip] Changed by Jenkins: 2274
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 23:36:15 +00:00
jenkins 9755f5a635 [ci skip] Changed by Jenkins: 2273
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 23:31:22 +00:00
jenkins 2ff1aff9f3 [ci skip] Changed by Jenkins: 2272
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 23:26:18 +00:00
jenkins 164ac7e3ad [ci skip] Changed by Jenkins: 2271
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 23:22:05 +00:00
jenkins 85a7e890bd [ci skip] Changed by Jenkins: 2270
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 23:17:20 +00:00
jenkins 8766293966 [ci skip] Changed by Jenkins: 2269
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 23:12:47 +00:00
jenkins d2cad491b9 [ci skip] Changed by Jenkins: 2268
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 23:08:14 +00:00
jenkins 16d2c6abae [ci skip] Changed by Jenkins: 2267
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 23:03:36 +00:00
jenkins a212b59d73 [ci skip] Changed by Jenkins: 2266
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 22:59:21 +00:00
jenkins 3574e34659 [ci skip] Changed by Jenkins: 2265
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 22:54:18 +00:00
jenkins 13704c6845 [ci skip] Changed by Jenkins: 2264
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 22:49:39 +00:00
jenkins bbe337d115 [ci skip] Changed by Jenkins: 2263
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 22:45:43 +00:00
jenkins e1b6e59b6a [ci skip] Changed by Jenkins: 2262
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 22:40:29 +00:00
jenkins 3685644888 [ci skip] Changed by Jenkins: 2261
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 22:35:31 +00:00
jenkins 050adcbc0f [ci skip] Changed by Jenkins: 2260
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 22:32:05 +00:00
jenkins 0a12005d5d [ci skip] Changed by Jenkins: 2259
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 22:26:59 +00:00
jenkins 8a4644049b [ci skip] Changed by Jenkins: 2258
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 22:21:55 +00:00
jenkins ca7e5e03be [ci skip] Changed by Jenkins: 2257
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 22:17:41 +00:00
jenkins a1ceabec47 [ci skip] Changed by Jenkins: 2256
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 22:13:00 +00:00
jenkins 917b875732 [ci skip] Changed by Jenkins: 2255
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 22:08:15 +00:00
jenkins 7df2004671 [ci skip] Changed by Jenkins: 2254
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 22:03:04 +00:00
jenkins c50a79d723 [ci skip] Changed by Jenkins: 2253
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 21:58:10 +00:00
jenkins 519d789281 [ci skip] Changed by Jenkins: 2252
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 21:54:40 +00:00
jenkins b5038e9661 [ci skip] Changed by Jenkins: 2251
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 21:49:31 +00:00
jenkins bab69698c6 [ci skip] Changed by Jenkins: 2250
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 21:44:35 +00:00
jenkins 5c6ea6a391 [ci skip] Changed by Jenkins: 2249
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 21:40:39 +00:00
jenkins 328edc396b [ci skip] Changed by Jenkins: 2248
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 21:35:40 +00:00
jenkins 9cd8b81149 [ci skip] Changed by Jenkins: 2247
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 21:30:57 +00:00
jenkins 80e1f8042e [ci skip] Changed by Jenkins: 2246
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 21:26:44 +00:00
jenkins 1a1bdb314e [ci skip] Changed by Jenkins: 2245
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 21:22:06 +00:00
jenkins 51ec1bd3b4 [ci skip] Changed by Jenkins: 2244
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 21:17:45 +00:00
jenkins c8440ca536 [ci skip] Changed by Jenkins: 2243
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 21:12:51 +00:00
jenkins 889d1b4f9e [ci skip] Changed by Jenkins: 2242
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 21:08:16 +00:00
jenkins 97b458e812 [ci skip] Changed by Jenkins: 2241
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 21:04:14 +00:00
jenkins 0378565b88 [ci skip] Changed by Jenkins: 2240
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 20:59:03 +00:00
jenkins 8ca8874707 [ci skip] Changed by Jenkins: 2239
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 20:53:57 +00:00
jenkins dc2772aabf [ci skip] Changed by Jenkins: 2238
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 20:50:45 +00:00
jenkins ce0e561a3f [ci skip] Changed by Jenkins: 2237
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 20:45:22 +00:00
jenkins ba9aab03a9 [ci skip] Changed by Jenkins: 2236
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 20:40:28 +00:00
jenkins f10686423d [ci skip] Changed by Jenkins: 2235
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 20:36:10 +00:00
jenkins c1688f68c2 [ci skip] Changed by Jenkins: 2234
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 20:31:07 +00:00
jenkins c916b2f155 [ci skip] Changed by Jenkins: 2233
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 20:26:38 +00:00
jenkins 5df9ac295d [ci skip] Changed by Jenkins: 2232
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 20:21:27 +00:00
jenkins 065a45dc98 [ci skip] Changed by Jenkins: 2231
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 20:16:45 +00:00
jenkins 6b66777699 [ci skip] Changed by Jenkins: 2230
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 20:13:16 +00:00
jenkins 9927ba0929 [ci skip] Changed by Jenkins: 2229
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 20:08:06 +00:00
jenkins a05a29703c [ci skip] Changed by Jenkins: 2228
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 20:03:14 +00:00
jenkins 76952cac67 [ci skip] Changed by Jenkins: 2227
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 20:00:11 +00:00
jenkins 9b27a997f3 [ci skip] Changed by Jenkins: 2226
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 19:55:10 +00:00
jenkins 014e3143fd [ci skip] Changed by Jenkins: 2225
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 19:49:25 +00:00
jenkins 7eaf1686e1 [ci skip] Changed by Jenkins: 2224
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 19:45:29 +00:00
jenkins d4bf2a6667 [ci skip] Changed by Jenkins: 2223
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 19:40:20 +00:00
jenkins 9d7cf637ee [ci skip] Changed by Jenkins: 2222
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 19:35:28 +00:00
jenkins 979f80ce89 [ci skip] Changed by Jenkins: 2221
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 19:31:06 +00:00
jenkins c677a9b639 [ci skip] Changed by Jenkins: 2220
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 19:26:28 +00:00
jenkins 9440b91d90 [ci skip] Changed by Jenkins: 2219
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 19:22:00 +00:00
jenkins 2b18167761 [ci skip] Changed by Jenkins: 2218
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 19:17:12 +00:00
jenkins da8b2f1d3a [ci skip] Changed by Jenkins: 2217
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 19:12:23 +00:00
jenkins 10e4e6abc6 [ci skip] Changed by Jenkins: 2216
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 19:08:42 +00:00
jenkins 6acfe7c32f [ci skip] Changed by Jenkins: 2215
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 19:03:43 +00:00
jenkins d08c1b2008 [ci skip] Changed by Jenkins: 2214
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 18:59:00 +00:00
jenkins a47e1d9a63 [ci skip] Changed by Jenkins: 2213
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 18:55:36 +00:00
jenkins 4187522739 [ci skip] Changed by Jenkins: 2212
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 18:50:18 +00:00
jenkins c0d0088f6e [ci skip] Changed by Jenkins: 2211
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 18:45:22 +00:00
jenkins d43dff3085 [ci skip] Changed by Jenkins: 2210
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 18:41:54 +00:00
jenkins 9a04e1f848 [ci skip] Changed by Jenkins: 2209
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 18:36:47 +00:00
jenkins 621773a6f1 [ci skip] Changed by Jenkins: 2208
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 18:32:05 +00:00
jenkins a9672c44bf [ci skip] Changed by Jenkins: 2207
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 18:28:14 +00:00
jenkins 155c212f89 [ci skip] Changed by Jenkins: 2206
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 18:22:58 +00:00
jenkins ee35c3f1b8 [ci skip] Changed by Jenkins: 2205
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 18:18:04 +00:00
jenkins 0a405f5515 [ci skip] Changed by Jenkins: 2204
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 18:13:42 +00:00
jenkins b618b7c40f [ci skip] Changed by Jenkins: 2203
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 18:09:03 +00:00
jenkins f10e68c4ad [ci skip] Changed by Jenkins: 2202
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 18:04:31 +00:00
jenkins 870c3c2c77 [ci skip] Changed by Jenkins: 2201
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 17:59:26 +00:00
jenkins 1559f15c7f [ci skip] Changed by Jenkins: 2200
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 17:54:47 +00:00
jenkins 96345e54fb [ci skip] Changed by Jenkins: 2199
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 17:51:16 +00:00
jenkins f61590c677 [ci skip] Changed by Jenkins: 2198
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 17:45:57 +00:00
jenkins 6f1ec4a17a [ci skip] Changed by Jenkins: 2197
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 17:41:02 +00:00
jenkins 786e9392b1 [ci skip] Changed by Jenkins: 2196
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 17:37:24 +00:00
jenkins f229c25b8f [ci skip] Changed by Jenkins: 2195
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 17:32:15 +00:00
jenkins 9bdd1ff35f [ci skip] Changed by Jenkins: 2194
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 17:27:09 +00:00
jenkins 4dd7a15b30 [ci skip] Changed by Jenkins: 2193
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 17:22:59 +00:00
jenkins a4aa7dbb7d [ci skip] Changed by Jenkins: 2192
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 17:17:51 +00:00
jenkins 681d2fe273 [ci skip] Changed by Jenkins: 2191
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 17:12:35 +00:00
peter 78b7ef44d9 Update Jenkinsfile.develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-10-20 12:20:03 +00:00
peter e19ca94653 Update Jenkinsfile 2023-10-20 12:19:52 +00:00
Willem Dantuma a85378374b kick version
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2023-10-18 19:35:01 +02:00
wilco 9e3f6010c3 Merge branch 'master' into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
# Conflicts:
#	package-lock.json
#	package.json
2023-10-05 16:27:20 +02:00
wilco e6a637b866 AW-5467 - Refresh geeft leeg scherm
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2023-10-05 11:23:18 +02:00
Willem Dantuma ccf77805a0 AW-5495
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-09-11 21:59:34 +02:00
peter 2b2e1bfafa Layout
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-08-25 11:07:21 +02:00
peter 3fd4ac2f94 error TS1068: Unexpected token. A constructor, method, accessor, or property was expected.
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-08-25 09:53:36 +02:00
peter 9849eaf1e7 AW1873 Labels -> show below zoom, overflow + format centroid
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2023-08-25 09:50:38 +02:00
peter b516cc07e2 AW1873Bouwplanlabels
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-08-24 09:05:42 +02:00
peter c9c9a2ddbf AW1873Bouwplanlabels
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-08-23 16:34:18 +02:00
peter 1d0f3b958d AW1873Bouwplanlabels generalize
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-08-23 15:17:38 +02:00
peter 45537cb2e9 ------------------------------------------------------------------------------
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
Building entry point '@farmmaps/common-map'
------------------------------------------------------------------------------
- Compiling with Angular sources in Ivy partial compilation mode.
Processing legacy "View Engine" libraries:
- ngx-openlayers [es2015/esm2015] ()
Encourage the library authors to publish an Ivy distribution.
Browserslist: caniuse-lite is outdated. Please run:
  npx update-browserslist-db@latest
  Why you should do it regularly: https://github.com/browserslist/update-db#readme
✖ Compiling with Angular sources in Ivy partial compilation mode.
projects/common-map/src/fm-map/components/map/map.component.ts:371:83 - error TS2339: Property 'replaceUrl' does not exist on type '{ mapState: IMapState; queryState: IQueryState; }'.

371           this.replaceUrl(newUrlState.mapState,newUrlState.queryState,newUrlState.replaceUrl);
2023-08-22 18:55:16 +02:00
peter 652ddc0cdc AW1873Bouwplanlabels
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2023-08-22 18:45:46 +02:00
peter fd3b331cc0 AW-5419 RxJs => versie 7.x
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2023-08-22 13:37:16 +02:00
peter 9facbe76c8 AW1873Bouwplanlabels
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-08-22 13:16:37 +02:00
peter 20dff38cf7 AW1873 labels -> undefined/null fixes
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-08-21 16:59:54 +02:00
peter e374bb8a73 AW1873 labels
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-08-21 16:28:32 +02:00
peter 294b9c6dd3 kick version
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-08-09 10:17:50 +02:00
peter d92bf54c8d Revert "AW-2924 Cache codelists"
This reverts commit 914e272fc2.
2023-08-09 10:17:32 +02:00
peter 914e272fc2 AW-2924 Cache codelists
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2023-08-07 14:49:04 +02:00
Willem Dantuma b182b7fda6 Change select color
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-08-01 09:18:11 +02:00
Willem Dantuma 22040b43b3 fix selector naam
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-07-31 20:25:29 +02:00
Willem Dantuma 50170cf599 Fix selector name
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-07-31 20:19:47 +02:00
Willem Dantuma 2deff46a7e AW-5365 add selectViewGetExtent
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-07-31 20:07:22 +02:00
Willem Dantuma e939a787ba AW-5365 add tags parameter
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-07-31 19:36:57 +02:00
Willem Dantuma 4ae9562ce1 Kick version
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-07-31 19:22:14 +02:00
Willem Dantuma 288e507e6c AW-5365 add crs parameter
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-07-31 19:14:13 +02:00
peter d9848a8ba3 AW-5371 Release 2023.08 libraries
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
FarmMaps/FarmMapsLib/pipeline/head There was a failure building this commit
2023-07-30 10:53:08 +02:00
peter a9d42484cc jenkins
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2023-07-26 17:52:01 +02:00
peter a276593c7f Merge branch 'develop' 2023-07-26 17:45:32 +02:00
peter ff50650c28 fix jenkins
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-06-27 16:30:49 +02:00
peter d7efeb8d59 fix build
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-06-27 16:27:18 +02:00
peter fd71d1f38e no message
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-06-27 16:02:52 +02:00
peter bc8c9f8bf9 no message
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2023-06-27 15:56:17 +02:00
mark 0865ca1a93 upped version
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-05-30 21:16:53 +02:00
mark 1bc3983f55 AW-5071 refactor some parts 2023-05-30 21:16:20 +02:00
peter 945d88839f AW-5036 404../api/v1/items/xxx:USER_SETTINGS (new environ)
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-05-08 09:12:37 +02:00
peter 7c06343909 Aw4951 Non-fatal error if no viewer defined for itemtype
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-04-21 09:08:38 +02:00
peter b8f8f27794 Comment logging
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-04-11 11:33:11 +02:00
peter 2a31771ac6 v3.1.0
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-03-28 13:38:35 +02:00
peter 3f17341b2e Revert "++version"
FarmMaps/FarmMapsLib/pipeline/head There was a failure building this commit
This reverts commit 6165f523cc.
2023-03-28 13:37:50 +02:00
peter 6165f523cc ++version
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2023-03-28 13:30:16 +02:00
peter 19dce51a28 Removed logging
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-03-28 13:26:37 +02:00
peter b29cd8e4c9 AW-4929 Add agrirouter font
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-03-28 12:20:27 +02:00
Willem Dantuma f2e265391c AW-4860
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2023-03-15 12:18:23 +01:00
Willem Dantuma 3c7adf012f Load profile after refresh
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-03-07 14:14:14 +01:00
peter 7c8c16362c Aw4751 Update interface
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-03-06 14:38:48 +01:00
peter 6555e68145 Aw4751 eslint fixes
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-03-06 14:04:14 +01:00
peter 945c641503 Add more authguard debug loggin'
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-03-06 10:29:43 +01:00
peter 60bc4c1a10 Add some authguard debug loggin'
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-03-03 08:40:12 +01:00
peter 7b42ca252b AW-4770 TSLint -> ESLint
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-03-02 12:02:52 +01:00
peter 9ef6c4d308 AW-4673 Fix ERROR Error: Uncaught (in promise): TypeError: ownedRoleClaims.findIndex is not a function
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-02-27 09:43:39 +01:00
Willem Dantuma ed7f7923ca revert openlayers
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-02-22 18:38:58 +01:00
Willem Dantuma 98142fab56 AW-4707
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2023-02-22 18:14:52 +01:00
Willem Dantuma c460d31522 Update open layers 2023-02-22 17:32:59 +01:00
Willem Dantuma 4c5b89852b Fix issue
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-02-14 17:22:26 +01:00
Willem Dantuma fa90eaf1af Fix styles
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-02-14 16:52:46 +01:00
peter aeded938bd AW-4628 Add role-based security to authguard
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-02-10 15:30:35 +01:00
peter c61a4fe7f4 Aw4645 Add get item to admin service
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-02-09 17:33:27 +01:00
peter 8c3c40cfe6 Aw4645 Add admin service
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-02-09 14:09:47 +01:00
peter e6e10c835e AW-4641 Cleanup
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-02-08 11:36:54 +01:00
peter 07a87175b4 AW-4641 Add fmHasRole directive
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-02-08 11:25:00 +01:00
peter e9ace73ddd AW-4641 Fix copy claims from userinfo
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-02-08 09:25:13 +01:00
Willem Dantuma 12312c0e8b Delete fontawesome 5.15.2
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-02-06 13:59:03 +01:00
Willem Dantuma d365b1d5b5 Add fontawesome 6.2.1 2023-02-06 13:55:37 +01:00
Willem Dantuma 846eee1ae5 AW-4605
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-02-02 09:42:57 +01:00
Willem Dantuma 2588732b91 Fix menu
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-01-31 17:30:38 +01:00
Willem Dantuma de0089fbe8 revert width
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-01-31 16:04:16 +01:00
Willem Dantuma d4e7756176 AW-4583
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-01-31 15:48:27 +01:00
peter 72c34310df AW-4583 Maps thumbnail size
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-01-30 08:00:53 +01:00
francisco 0c0d0989b2 replace gray(' for $gray-
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-01-26 10:34:18 +01:00
Willem Dantuma a86ab9f3c7 remove peer dep
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-01-25 10:24:08 +01:00
Willem Dantuma a2264a28e0 Fix dependency
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-01-25 10:16:08 +01:00
Willem Dantuma a4c34fe21c Fix colors
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-01-24 16:39:42 +01:00
Willem Dantuma 9196358842 Fix input groups 2023-01-24 16:28:38 +01:00
Willem Dantuma f4cbb1ff68 Fix 2023-01-24 16:21:04 +01:00
Willem Dantuma f008e97e39 Fix start end naming 2023-01-24 16:16:20 +01:00
Willem Dantuma 61d2fc8d54 Add container
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-01-24 15:44:38 +01:00
Willem Dantuma 80760a8fdd Fix sass parameters 2023-01-24 15:26:02 +01:00
Willem Dantuma a7f53a841b Kick version 2023-01-24 15:17:08 +01:00
Willem Dantuma 9d64fce22c Npm auit fix 2023-01-24 15:16:51 +01:00
peter e39c0b055d bootstrap 4.6 -> 5.2 (ng-14)
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2023-01-24 14:35:00 +01:00
Willem Dantuma 237fd27489 Merge branch 'develop'
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2023-01-23 15:24:24 +01:00
Willem Dantuma 296385ab33 Kick version
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2022-12-21 07:48:24 +01:00
Willem Dantuma 402bbcea0d AW-4406 2022-12-21 07:47:43 +01:00
Willem Dantuma 161717bc7b AW-4406
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-12-21 07:45:00 +01:00
Willem Dantuma 0b8dbf4e2e Some fixes
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-10-26 21:31:39 +02:00
mark 2acf13cbac datafilter can now be used with querystate
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-10-24 13:23:33 +02:00
Willem Dantuma a408f4bffa Some fixes
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2022-09-28 21:32:15 +02:00
Willem Dantuma ac5bd7d635 Do not handle map event in 3D mode 2022-09-28 21:17:57 +02:00
Willem Dantuma cf84f8c93d Upgrade to olcs 2022-09-28 21:17:21 +02:00
Willem Dantuma 4872dee094 Upgrade cesium to 1.97 2022-09-28 21:16:21 +02:00
Willem Dantuma b76a933dba Upgrade to ol 6.14.1 2022-09-28 21:10:12 +02:00
Willem Dantuma 41c7ab15f3 Do not handle map event in 3D mode
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-09-28 21:03:21 +02:00
Willem Dantuma a9185b86af Upgrade to olcs 2022-09-28 19:20:45 +02:00
Willem Dantuma eb1b8f18eb Upgrade cesium to 1.97 2022-09-28 18:16:11 +02:00
Willem Dantuma bce562fb8e Upgrade to ol 6.14.1
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-09-28 17:32:09 +02:00
Willem Dantuma 2825ce4ccc Kick version
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2022-09-28 12:04:15 +02:00
Willem Dantuma 5d83293540 Fix slide for temporal layer 2022-09-28 12:03:44 +02:00
Willem Dantuma b652555f37 Update packages
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-09-28 12:02:44 +02:00
Willem Dantuma 3db09c1e2a Fix slide for temporal layer 2022-09-28 12:01:59 +02:00
Willem Dantuma 0d40141b2d Kick version
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2022-09-27 21:59:35 +02:00
Willem Dantuma 33e7a2310d ingnore .angular 2022-09-27 21:42:10 +02:00
Willem Dantuma ddb112b989 implement layer compare slider 2022-09-27 21:39:02 +02:00
Willem Dantuma 7502bc54d1 implement layer compare slider
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-09-27 19:58:08 +02:00
Willem Dantuma 15cc2c33f1 Angular cli changes
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-09-27 11:42:42 +02:00
Willem Dantuma eb0e928c6f Make peer dependencies more permissive
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-08-31 11:04:49 +02:00
Willem Dantuma 5631d23355 Fix version
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-08-31 10:01:15 +02:00
Willem Dantuma 0470cb0fa1 Update packages
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-08-31 09:53:57 +02:00
Willem Dantuma 1656b465ee Update libs
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2022-08-31 09:26:26 +02:00
Willem Dantuma a558b23a98 Fix peer dependency
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-08-29 21:44:55 +02:00
Willem Dantuma c569076c5d Fix peer dependency
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-08-29 21:28:13 +02:00
Willem Dantuma be2516a3b8 Revert "Try to fix localization error"
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
This reverts commit 7f62a74877.
2022-08-29 18:43:01 +02:00
Willem Dantuma 7f62a74877 Try to fix localization error
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-08-29 17:43:07 +02:00
Willem Dantuma 3b296a1fba Merge branch 'feature/Upgrade_to_angular_14' into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-08-19 21:56:17 +02:00
Willem Dantuma 28c9cd353d Fix webpack not found 2022-08-19 21:47:51 +02:00
Willem Dantuma 83a5c1a7d2 Some more fixes 2022-08-19 21:17:13 +02:00
Willem Dantuma a767502d66 update peer dependencies 2022-08-19 20:59:51 +02:00
Willem Dantuma 897ac3dab5 Update to angular 13 2022-08-19 20:39:00 +02:00
Willem Dantuma 2f165b4b48 npm audit fix 2022-08-19 20:27:38 +02:00
Willem Dantuma 3994818b6a Update @ng-bootstrap/ng-bootstrap 2022-08-19 20:26:10 +02:00
mark 7b2dbc1777 AW-3912 fix build
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-07-04 16:23:08 +02:00
mark 8c59976de6 AW-3912 added startDate and endDate to the item child list method
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2022-07-04 16:19:00 +02:00
mark d551a2cf7a upped version (to fix some faulty builds)
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-06-20 17:11:58 +02:00
mark a3a09507a6 upped version
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2022-06-06 12:52:56 +02:00
mark 9bbde64147 AW-3836 fix build
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-06-06 12:48:52 +02:00
mark 0c4259d72e AW-3836 fixed tags component
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2022-06-06 12:45:23 +02:00
Willem Dantuma 57e0a37c78 add ifPackageListExists to packageservice
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2022-03-16 15:56:23 +01:00
Willem Dantuma 713af307cd Add fmPackageExists directive
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-03-16 14:20:28 +01:00
Willem Dantuma 521b882798 Add gradient service 2022-03-16 14:20:08 +01:00
Willem Dantuma b850f5d621 Add gradient service 2022-03-16 14:19:51 +01:00
Willem Dantuma d8730e77ad AW-3573
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2022-02-23 11:57:36 +01:00
peter e62c185f35 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-02-21 09:15:14 +01:00
peter f81b16b966 Remove debugger 2022-02-21 09:15:07 +01:00
mark b9ee39399c changed getFeatures index parameter use to indexed ?? true
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-02-05 14:00:25 +01:00
mark be9b01dbab fixed indexed.toString().....................
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-02-04 20:17:39 +01:00
mark feacfd8bb3 fix indexed in getFeatures in item.service.ts
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-02-04 19:42:09 +01:00
mark 2f0362e730 Add indexed to getFeatures in item.service.ts
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-02-04 18:27:18 +01:00
Willem Dantuma f4ba89920c AW-3096 Zoeken op locatie (geocoding) mogelijk maken
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-02-04 16:21:26 +01:00
Willem Dantuma f5b312a888 AW-3489 Initialen ( avatar) missen bij profiel
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-02-03 18:09:32 +01:00
Willem Dantuma 97142bc986 AW-3488 Make startpage configurable
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-02-03 12:00:09 +01:00
Willem Dantuma 67335a0a4a Kick version
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2022-02-02 19:10:32 +01:00
Willem Dantuma b752b377da AW-3477 fmHasPackage check werkt niet correct voor vandaag
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
FarmMaps/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2022-02-02 18:56:58 +01:00
Willem Dantuma 74c77bae5e Fix build
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-01-31 21:51:37 +01:00
Willem Dantuma b22278a75f Kick version
FarmMaps/FarmMapsLib/pipeline/head There was a failure building this commit
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-01-31 21:44:41 +01:00
Willem Dantuma 37854d43fc Fix build
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
FarmMaps/FarmMapsLib/pipeline/head There was a failure building this commit
2022-01-31 21:38:23 +01:00
Willem Dantuma 2161951cbb Merge branch 'develop'
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
# Conflicts:
#	package.json
#	projects/common-map/src/fm-map/common-map.module.ts
#	projects/common/src/fm/reducers/app-common.reducer.ts
2022-01-31 21:04:52 +01:00
francisco 66e492d2f8 versionnumber
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2022-01-28 16:20:17 +01:00
francisco e944064053 cherrypick ac0fe962a0: aw3299 hide questionmark on mobile
FarmMaps/FarmMapsLib/pipeline/head There was a failure building this commit
2022-01-28 16:16:26 +01:00
mark a1a4fc14ab AW-3441 better test to find real problem. fixed the getValidPackages function.
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2022-01-27 23:20:20 +01:00
mark 122563a0bd AW-3441 another fix...
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2022-01-27 22:35:47 +01:00
mark 33f322424e AW-3441 fix oopsie
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2022-01-27 17:25:12 +01:00
mark 519b81d1fd AW-3441 fix package validation
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2022-01-27 17:07:24 +01:00
mark b7c80dfdd8 AW-3441 add valid packages selector
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2022-01-27 14:07:02 +01:00
Willem Dantuma 77d2433d63 Export GeometryThumbnailComponent
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-01-27 11:40:16 +01:00
Willem Dantuma 9bc78dc302 Export GeometryThumbnailComponent
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-01-27 10:11:51 +01:00
francisco ac0fe962a0 aw3299: hide help on mobile
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-01-20 08:39:18 +01:00
mark d89670f669 Merge branch 'hotfix/AW-3412-B'
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2022-01-19 14:38:49 +01:00
mark d025e2e3f6 export GeometryThumbnailComponent 2022-01-19 14:36:34 +01:00
Willem Dantuma c22cede59b Fix build
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2022-01-19 13:47:13 +01:00
Willem Dantuma 48574dc0b0 Merge tag 'AW-3412' into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
# Conflicts:
#	package.json
#	projects/common-map/src/fm-map/components/feature-thumbnail/feature-thumbnail.component.ts
#	src/configuration.json
2022-01-19 13:29:44 +01:00
Willem Dantuma 57407d83d3 Merge branch 'hotfix/AW-3412'
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2022-01-19 13:24:14 +01:00
Willem Dantuma f83549b5af Update version 2022-01-19 13:22:55 +01:00
Willem Dantuma 132556da81 AW-3412 2022-01-19 13:21:44 +01:00
Willem Dantuma c2350eec52 Fix configuration for local authentication 2022-01-19 11:56:30 +01:00
wilco aa1ad9f844 AW-3135
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-12-21 21:01:10 +01:00
Willem Dantuma c6d14e6c9c Export interface
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2021-12-02 11:23:36 +01:00
Willem Dantuma 8e4364bd08 bump version
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2021-12-02 11:16:43 +01:00
Willem Dantuma af3340ed70 Inject clicked feature in component
FarmMaps/FarmMapsLib/pipeline/head There was a failure building this commit
2021-12-02 11:13:36 +01:00
Willem Dantuma cc4726e85c Inject clicked feature in component
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-12-02 11:13:03 +01:00
Willem Dantuma ff19d830a7 Fix version
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2021-11-26 12:06:17 +01:00
Willem Dantuma 29914cfb1b oops
FarmMaps/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2021-11-26 12:04:17 +01:00
Willem Dantuma 7bca0a57c4 Fix build
FarmMaps/FarmMapsLib/pipeline/head There was a failure building this commit
2021-11-26 12:02:01 +01:00
Willem Dantuma fdba357e9c Fix matching
FarmMaps/FarmMapsLib/pipeline/head There was a failure building this commit
2021-11-26 11:58:11 +01:00
Willem Dantuma e28564c88a Fix matching
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-11-26 11:57:24 +01:00
Willem Dantuma 90c3fa25a4 Fix publish
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-11-25 11:35:27 +01:00
Willem Dantuma 3b8b812c55 Fix build
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2021-11-25 11:15:34 +01:00
Willem Dantuma 025889b390 Merge branch 'feature/update_openlayers_to_6.8' into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2021-11-25 10:53:55 +01:00
Willem Dantuma eabaa1db19 oauth2 fixes 2021-10-05 20:56:27 +02:00
Willem Dantuma ba541c4e08 Use local environment 2021-10-05 20:55:51 +02:00
Willem Dantuma b994bc51cd Add development configuration 2021-10-05 20:55:08 +02:00
Willem Dantuma 960275dd38 Fix localize polyfill 2021-10-05 16:59:04 +02:00
Willem Dantuma 5b7fef689a Update versions 2021-10-05 16:35:12 +02:00
Willem Dantuma 1c1315a580 More type fixes 2021-10-05 16:13:25 +02:00
Willem Dantuma 5d21d66589 More type fixes 2021-10-05 14:08:55 +02:00
Willem Dantuma 160eb10aba Refactoring types 2021-10-05 13:46:10 +02:00
Willem Dantuma 4ef077f8d7 Update to angular 12 2021-10-05 06:39:38 +02:00
Willem Dantuma df84a7c217 Update packages 2021-10-05 06:27:18 +02:00
Willem Dantuma b5d00f5619 Merge branch 'develop'
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-08-25 08:19:12 +02:00
Willem Dantuma 89a0fb13a5 AW-2757
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-08-19 15:25:22 +02:00
Willem Dantuma 2861ba220e Revert "Help menu invisible in release sep 2021."
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
This reverts commit a454f2306d.
2021-08-18 14:37:41 +02:00
Willem Dantuma 45e0d5e836 Revert "Hide help menu"
This reverts commit 4c1d4137ea.
2021-08-18 14:37:31 +02:00
Willem Dantuma 312611cdc1 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop 2021-08-18 14:34:53 +02:00
Willem Dantuma 54b8a3bf24 AW-1855 2021-08-18 14:34:45 +02:00
peter 4c1d4137ea Hide help menu
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-08-18 14:31:28 +02:00
peter a454f2306d Help menu invisible in release sep 2021.
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-08-18 14:21:02 +02:00
Willem Dantuma 52a72b042c Fix build
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-08-17 19:41:20 +02:00
Willem Dantuma c0c9864b07 AW-2714
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2021-08-17 19:36:30 +02:00
Willem Dantuma e0f36b043f Oops
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-08-12 21:40:40 +02:00
Willem Dantuma b52bfd4f57 Fix icon
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-08-12 21:02:55 +02:00
Willem Dantuma 6ff3c0ec96 Fix device geometry update
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-08-12 17:13:40 +02:00
Willem Dantuma eb1157d608 Fix thumbnail editing, add blobtodataurl method
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-08-05 16:33:31 +02:00
Willem Dantuma 1daa8e257f make Observable
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-08-04 16:12:22 +02:00
Willem Dantuma 5db24cc63d Add geolocator service
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-08-04 16:01:41 +02:00
peter ff018d9db1 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-08-04 12:05:09 +02:00
peter 8c49965df8 Fix optional has package check/ 2021-08-04 12:05:02 +02:00
Willem Dantuma f880623337 Fix AW-2620
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-07-30 14:06:31 +02:00
Willem Dantuma 2da4f88683 Fix AW-2617
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-07-29 16:36:18 +02:00
Willem Dantuma bd125b6f72 Fix check
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-07-29 13:24:59 +02:00
Willem Dantuma 610408d17c Add optional replace parameter
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-07-29 12:52:26 +02:00
Willem Dantuma 52e3117771 Implement ItemDeleteEvent handling
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-07-29 08:21:25 +02:00
Willem Dantuma 1b000c6112 Fix initialization error
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-07-28 17:12:54 +02:00
Willem Dantuma 28e75d5a0d Replace @Effect() with createEffect
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-07-27 16:26:57 +02:00
Willem Dantuma 76c431b9c2 Use latest snapshot
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-07-27 09:31:14 +02:00
Willem Dantuma 122c49d516 Move the check here
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-07-27 09:16:58 +02:00
Willem Dantuma 5c549c5851 Use route parameters here also
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-07-27 08:51:56 +02:00
Willem Dantuma 3fcf80c1a0 Add override route parameters
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-07-26 21:53:55 +02:00
Willem Dantuma 519e5c9032 Make zoom-to padding configurable per route
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-07-21 11:17:15 +02:00
peter 9c19595597 Revert "Patch lib"
FarmMaps/FarmMapsLib/pipeline/head There was a failure building this commit
This reverts commit ea1b22ed41.
2021-06-23 13:52:52 +02:00
peter ea1b22ed41 Patch lib
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2021-06-23 13:18:46 +02:00
peter 8d3c098f4e Upgraded custom-webpack and typescript.
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-06-16 09:15:53 +02:00
peter 22209cfaf6 Update bootstrap to angular 11 compatible version
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-06-11 10:54:23 +02:00
peter 8b45e431a7 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-06-11 10:43:50 +02:00
peter 74c792b96a Update references 2021-06-11 10:43:38 +02:00
francisco d833f321d1 aw-1837 add language to user
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-06-11 08:40:13 +02:00
peter 0d9789d8c6 Version
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-06-09 14:04:48 +02:00
peter 93513f9dc7 AW-2316 Angular upgrade 11 2021-06-09 14:00:21 +02:00
Willem Dantuma e465142be0 Increase minor
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-06-03 10:03:59 +02:00
Willem Dantuma 92173c9847 Increase patch level
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2021-06-03 10:02:41 +02:00
Willem Dantuma 05292f1e5d Depend on released versions
FarmMaps/FarmMapsLib/pipeline/head There was a failure building this commit
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-06-03 09:53:41 +02:00
Willem Dantuma e672e28795 Allow same version in master
FarmMaps/FarmMapsLib/pipeline/head This commit looks good
2021-06-03 09:47:17 +02:00
Willem Dantuma 4b7b639046 Remobve build number from version
FarmMaps/FarmMapsLib/pipeline/head There was a failure building this commit
2021-06-03 09:42:59 +02:00
Willem Dantuma 34b067fd28 Add jenkins file for master
FarmMaps/FarmMapsLib/pipeline/head There was a failure building this commit
2021-06-03 09:37:13 +02:00
Willem Dantuma fb9a046ff8 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-06-03 09:34:11 +02:00
Willem Dantuma c4934d799d release 1.0.0 2021-06-03 09:34:03 +02:00
wilco 469bc6f1c1 AW-2390
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-06-02 16:39:33 +02:00
wilco d140d4bd4c AW-2390
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-05-27 19:44:29 +02:00
peter 1ce259a152 Add %
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-05-26 16:34:04 +02:00
peter 00ae86ecf2 AW-2388
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-05-26 16:11:21 +02:00
peter 880eb26a99 getPercentage
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-05-26 14:59:03 +02:00
peter bcfa13de60 AW-2388 Fixed mixed decimal in histogram 2021-05-26 14:58:03 +02:00
Willem Dantuma 6f77df0f61 Fix AW-2361
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-05-25 22:12:32 +02:00
mark fbe0413c6a Merge branch 'feature/AW-2268' into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-05-18 13:05:16 +02:00
mark 115f53e93c AW-2268 fix .fullscreen .control-container 2021-05-18 09:49:50 +02:00
mark ca40ca0927 renamed package guard and added it to public api 2021-05-17 14:23:44 +02:00
peter 29968a736c Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-05-06 14:05:49 +02:00
peter 077afcb0d7 Fix validToday 2021-05-06 14:05:43 +02:00
Willem Dantuma 6e79afd115 Logout on deleteuser event
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-05-05 18:56:53 +02:00
peter 4f9cdf1588 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-05-04 16:23:00 +02:00
peter fa69dee550 Fix expected selector /deep/ 2021-05-04 16:22:46 +02:00
Willem Dantuma 06e353ee94 Reverse /deep/
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-05-04 16:21:57 +02:00
peter 8d723477d3 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2021-05-04 11:28:49 +02:00
peter 771e388f0e AW-2081 Align avatar 2021-05-04 11:28:43 +02:00
Willem Dantuma 040b5b8c4d Cancel only not allready uploaded files
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-05-03 19:00:20 +02:00
peter 3504990708 Add ability to retrieve only items that are valid today.
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-04-30 10:36:58 +02:00
peter 798ec8d1ca Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-04-29 14:06:41 +02:00
peter 8f5dd0969c casing 2021-04-29 14:06:35 +02:00
Willem Dantuma 861a8a48fc Add dataFilter to children/count
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-04-29 13:49:38 +02:00
peter 86a545d7e6 Add IUser.newsLetter
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-04-29 10:29:31 +02:00
Willem Dantuma 8a1c4b5e20 Only show prent namewhen of type ..cropfield
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-04-26 08:01:43 +02:00
peter b24e47e39b AW-2214 Fix refactored itemtype.
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-04-23 10:54:52 +02:00
peter c0d8e6d615 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-04-23 10:50:50 +02:00
peter 7192f66420 AW-2211 Update *fmHasPackage directive 2021-04-23 10:50:45 +02:00
Willem Dantuma dcc24aa149 Fix setExtent
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-04-19 08:43:20 +02:00
Willem Dantuma 0485c163ad Fix build
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-04-12 15:55:38 +02:00
Willem Dantuma 1380d7169a Fix trigger
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2021-04-12 15:52:42 +02:00
Willem Dantuma a6d3b208b0 Hide buttons when no routing to sink
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-04-12 15:10:29 +02:00
Willem Dantuma cbf805e1ff Fix novalue
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-20 20:29:27 +01:00
Willem Dantuma 8907dca091 Set color default to no value color
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-20 20:07:31 +01:00
Willem Dantuma fe1fddd211 Update layer
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-20 18:35:22 +01:00
Willem Dantuma fa146f2c6e Refactor fmMapIfZoomToShow
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-20 18:26:01 +01:00
Willem Dantuma c9fac05aa6 Refactor to fm-map-feature-thumbnail
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-20 12:00:04 +01:00
Willem Dantuma 75d8909997 Fix build
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-20 11:29:08 +01:00
Willem Dantuma 36d9c98e47 Clear view
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2021-03-20 11:25:23 +01:00
Willem Dantuma e2255164fc Run npm audit fix 2021-03-20 11:09:26 +01:00
Willem Dantuma 4c5b77000f Update libs 2021-03-20 11:08:54 +01:00
Willem Dantuma 997ebb24a7 Implement then else for haspackage
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-20 11:06:04 +01:00
wilco 00346a963e Pfff
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-17 19:33:54 +01:00
wilco a42059627a Added level to get features call
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2021-03-16 21:30:20 +01:00
Willem Dantuma 5b710ce200 Refactor getcolor
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-15 16:26:05 +01:00
Willem Dantuma f8a0e1e167 Add SetUnreadNotifications action
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-08 08:45:13 +01:00
Willem Dantuma eb46b3496a Fix type check
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-06 14:29:01 +01:00
Willem Dantuma e8bbb74185 Fix temporal and initial loading
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-06 14:06:31 +01:00
Willem Dantuma 3d8ce7ee74 Fix null check
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-05 19:03:50 +01:00
Willem Dantuma aa308abbb0 Fix request canceling
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-05 18:41:09 +01:00
Willem Dantuma 9d5cd0fa88 Add layer values
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-05 17:19:30 +01:00
Willem Dantuma 5760c2b8ea oops
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-05 12:40:52 +01:00
Willem Dantuma 1e6c9e9363 Fix build
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2021-03-05 12:39:41 +01:00
Willem Dantuma 8f06a56e52 Add ngx-clipboard
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2021-03-05 12:37:10 +01:00
Willem Dantuma 2f74f43c8e Add getLayerValue
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-05 11:10:39 +01:00
Willem Dantuma c093ffae50 run npm audit fix 2021-03-05 07:52:05 +01:00
Willem Dantuma c7da0866ef Fix mime type
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-02 17:21:54 +01:00
Willem Dantuma b000d5119a Return correct file
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-02 16:51:16 +01:00
peter 2dd10f04a3 Return selected file as well
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-02 15:36:01 +01:00
peter 4d62184e5b Revert "Return modal reference for client side handling."
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
This reverts commit 8ad9d56b07.
2021-03-02 15:13:42 +01:00
peter 8ad9d56b07 Return modal reference for client side handling.
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-02 14:48:49 +01:00
Willem Dantuma 2b1cb1ac8f Add save image parameter
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-02 13:15:16 +01:00
Willem Dantuma 08163f86bf Add more open options
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-02 12:20:53 +01:00
Willem Dantuma 33adb35923 Export image editor
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-02 09:35:39 +01:00
Willem Dantuma 855bd8fe2d Re add thumbnail component
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-02 08:16:16 +01:00
Willem Dantuma fad257c6e2 Fix build
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-02 08:13:07 +01:00
Willem Dantuma e262f7c65d Merge branch 'feature/thumbnail_upload' into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2021-03-02 08:10:10 +01:00
Willem Dantuma cabdeaa875 Reload image on change 2021-03-02 08:09:42 +01:00
Willem Dantuma 2f1c5210ea Save image 2021-03-01 22:03:18 +01:00
Willem Dantuma 47f3238edd Add no-image placeholder 2021-03-01 17:25:40 +01:00
Willem Dantuma 01488ae2e0 Remove background color 2021-03-01 17:01:57 +01:00
Willem Dantuma ae02dd0b53 Merge branch 'develop' into feature/thumbnail_upload 2021-03-01 16:57:15 +01:00
Willem Dantuma 7768387f58 Basic edit-image-modal 2021-03-01 16:56:48 +01:00
peter 3c0f220ee3 Span required instead of div
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-01 12:49:12 +01:00
peter 38e64a0713 Fix
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-03-01 12:38:16 +01:00
peter 0bb5406773 AW-1881
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2021-03-01 12:32:14 +01:00
peter 7c125f1771 AW-1881
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-02-27 14:47:16 +01:00
peter 3673e0b349 Fixes
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-02-27 10:27:49 +01:00
peter ece6096064 AW-1881 Avatar
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-02-27 10:16:07 +01:00
Willem Dantuma dd71b49502 Merge branch 'develop' into feature/thumbnail_upload
# Conflicts:
#	package-lock.json
#	projects/common/src/fm/common.module.ts
2021-02-25 20:18:59 +01:00
Willem Dantuma a098f72b1a Start of thumbnail upload dialog 2021-02-25 19:57:09 +01:00
peter 535f6bd064 Add ngx avatar
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-02-25 17:32:58 +01:00
peter 74e7f41583 Added avatar
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2021-02-25 17:17:52 +01:00
peter b537239c96 AW-1881 Avatar based on first letters of firstname and lastname
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-02-18 16:09:25 +01:00
peter f9ba4fd5e2 Revert "Update version"
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
This reverts commit 8326255ce9.
2021-02-17 12:30:54 +01:00
peter 8326255ce9 Update version
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-02-17 12:27:13 +01:00
peter 3d60d0127b AW-1959 Fix?
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-02-16 17:23:15 +01:00
peter 697708710e Fix help-menu.component.ts
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-02-16 17:07:40 +01:00
peter 102d96ded9 AW-1959 Add global help-menu
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-02-16 16:49:23 +01:00
Willem Dantuma f802f41bbb Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-02-15 11:34:27 +01:00
Willem Dantuma d134240b8b Add fm-thumbnail component 2021-02-15 11:34:21 +01:00
francisco 3242058c4f refactor user api
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-02-15 11:03:24 +01:00
mark 3f6863845b renamed package guard and added it to public api
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-02-11 17:43:19 +01:00
Willem Dantuma 231fbf9ee8 Add test
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-02-11 11:49:28 +01:00
Willem Dantuma 142a1c9e58 Add notification menu
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-02-11 11:44:34 +01:00
mark 39993e75da added a package guard
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-02-05 12:51:43 +01:00
Willem Dantuma b7b168dffb Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-02-03 17:28:42 +01:00
Willem Dantuma fb9c11fce6 Some fixes update libs 2021-02-03 17:28:35 +01:00
francisco da562ca96d fix
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-02-03 09:13:08 +01:00
francisco 33d03c3d58 add searchable field to user
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2021-02-03 09:02:58 +01:00
Willem Dantuma 335078a10c Fix header
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-02-02 17:38:34 +01:00
Willem Dantuma bb71c043a1 Fix headers
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-02-02 17:25:26 +01:00
Willem Dantuma cb222770d8 Refactor to range requests
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-02-02 17:09:03 +01:00
Willem Dantuma f26ececb9b Fix nullref
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-02-02 14:45:33 +01:00
Willem Dantuma 2d285eaba0 Fix device change detection
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-02-01 08:43:33 +01:00
Willem Dantuma d9a42ca75a Hide heading and tolerance on desktop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-02-01 08:34:17 +01:00
Willem Dantuma 0c44beabe0 Change map button styling
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-30 16:40:25 +01:00
Willem Dantuma dd97c89254 Fix outlet
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-30 14:41:34 +01:00
Willem Dantuma 45de27f666 Add haspackage for 3d
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-30 11:14:25 +01:00
Willem Dantuma 5b0632ebf1 Re enable gps location
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-30 10:51:45 +01:00
Willem Dantuma 8389943d1a update to ol 6.5.0 and ol-cesium 2.12.0
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-30 10:20:17 +01:00
Willem Dantuma 2606de5f0a Fix side panel display logic
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-30 09:56:56 +01:00
Willem Dantuma 208dfed7fb Add checks
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-29 12:42:19 +01:00
Willem Dantuma eb50218a8d Refactor some stuff to a service
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-29 12:00:59 +01:00
Willem Dantuma 516d63a59e Fix build
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-29 11:33:22 +01:00
Willem Dantuma 321d34870e Add zoom to show alert
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2021-01-29 11:25:37 +01:00
Willem Dantuma dbc330ab46 Move side panels to map context to get access to map 2021-01-29 10:10:13 +01:00
Willem Dantuma 154bcba620 Implement *fm-map-ifZoomToShowdirective 2021-01-29 10:04:47 +01:00
Willem Dantuma 2f5ffde4d9 More updates
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-27 21:43:46 +01:00
Willem Dantuma 69e153abd7 upgrade
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-27 21:32:31 +01:00
Willem Dantuma 669c724e3a Fix styling app and user menu on mobile device
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-27 10:33:01 +01:00
Willem Dantuma a7402438a0 oops
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-27 08:14:13 +01:00
Willem Dantuma dda82c8b09 Add device service migrate, use back-button
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2021-01-27 08:11:37 +01:00
Willem Dantuma 3e14157e87 Adjust bottom margin 2021-01-27 07:53:59 +01:00
Willem Dantuma 1e84874695 Export back-button
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-27 07:34:10 +01:00
Willem Dantuma 9245003dd9 Export back-button
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-27 07:26:31 +01:00
Willem Dantuma 8d061210dc Fix build
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-27 07:15:11 +01:00
Willem Dantuma 8a40335cf2 Fix build 2021-01-27 07:11:06 +01:00
Willem Dantuma ce9c72016d Add back button
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2021-01-27 07:08:31 +01:00
Willem Dantuma a082967c69 Add getItemFeature method
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-26 19:53:51 +01:00
Willem Dantuma a2e7439776 re add Optimisation
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-26 17:48:11 +01:00
Willem Dantuma e858ac778c Fix temporal layer selection
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2021-01-26 17:47:17 +01:00
Willem Dantuma 290d5d1d26 Fix eventhandler install for temporal
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-26 17:07:45 +01:00
Willem Dantuma e75afdc01d Fix destroy and eventhandler install
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-26 16:47:08 +01:00
Willem Dantuma 8f54e095fe debug
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-26 15:27:40 +01:00
Willem Dantuma 431cc78c19 remove layer when destroyed
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-26 14:38:40 +01:00
Willem Dantuma 878944b056 Export temporal item layer
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-26 09:59:02 +01:00
Willem Dantuma d2b8de17d1 Fix hover and select remove @Host()
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-26 09:12:37 +01:00
Willem Dantuma ac352473a0 add i18n tag
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-25 21:14:47 +01:00
Willem Dantuma 8655307858 Fix date
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-25 21:11:20 +01:00
Willem Dantuma 17a947ce20 Oops
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-25 20:32:52 +01:00
Willem Dantuma fe356441d0 Use timespan for temporal items
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2021-01-25 20:30:13 +01:00
Willem Dantuma b17bce1cd2 Add default unitScale
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-25 20:18:04 +01:00
Willem Dantuma bb555eec74 Remove fill colors for selected items 2021-01-25 18:28:26 +01:00
Willem Dantuma d3c28847ec Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
# Conflicts:
#	projects/common-map/src/fm-map/components/aol/layer-list/layer-list.component.html
2021-01-25 17:26:59 +01:00
Willem Dantuma e2499d0403 Fix icons 2021-01-25 17:26:15 +01:00
mark 8f364c4990 fix bar-chart icon
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-25 11:42:57 +01:00
Willem Dantuma 46f4ac06f4 Fix icons
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-24 11:08:41 +01:00
Willem Dantuma b5d42d855e Fix spacing and up down icon
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-24 09:26:30 +01:00
Willem Dantuma b14b01b358 Update icons
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-24 09:09:43 +01:00
Willem Dantuma 08acba9a88 Merge branch 'feature/vectortileselect' into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-23 18:41:44 +01:00
Willem Dantuma b30c29a5f1 Some fixes and optimizations 2021-01-23 18:30:29 +01:00
Willem Dantuma 2f4e14ca1f Merge branch 'develop' into feature/vectortileselect 2021-01-23 17:28:24 +01:00
Willem Dantuma bfcdcce9ef Fix fontawesome class names
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-22 14:52:10 +01:00
Willem Dantuma 9e3e7d5d47 Upgrade to fontawesom 5.15.2 2021-01-22 13:13:48 +01:00
Willem Dantuma 2949e39fcd wip 2021-01-22 12:26:14 +01:00
Willem Dantuma 9376c236aa Merge branch 'develop' into feature/vectortileselect
# Conflicts:
#	package-lock.json
#	package.json
2021-01-21 11:04:57 +01:00
Willem Dantuma a1079eb21f update libs
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-21 11:04:22 +01:00
Willem Dantuma c266ce7d42 Update libs 2021-01-21 11:03:37 +01:00
peter 428e3b002d Fix UTC
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-18 16:45:37 +01:00
peter 65366ff09b Again....
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-18 15:23:44 +01:00
peter 0f1ce45b2f AW-1844 Fix fmHasPackage
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2021-01-18 15:21:34 +01:00
peter 1ade8025ab Fix HasPackageDirective
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2021-01-18 15:01:08 +01:00
Willem Dantuma ac8815e8f1 Commit 2021-01-13 17:33:01 +01:00
peter 41b1295f9e Move mollie code ( srvice ) uit farmmapslib halen ( is open source ), naar farmmaps
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-13 17:29:48 +01:00
peter ed5a74ed07 Export new Mollie types
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-13 17:18:45 +01:00
peter a08eed7c67 AW-1805 Update mollie service (client)
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-13 16:40:35 +01:00
peter cc421742df AW-1805 Add support for validity
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-12 09:05:27 +01:00
peter 9a38630d01 Fix URL
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-11 19:50:24 +01:00
peter 978360fad0 Build error
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2021-01-11 19:34:39 +01:00
peter 30dab68468 AW-1805 Add mollie service
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2021-01-11 19:32:08 +01:00
Willem Dantuma 80fec7ccaa Some fixes 2020-12-18 20:16:22 +01:00
Willem Dantuma 1a1cd7a81c Merge branch 'develop' into feature/vectortileselect 2020-12-18 19:22:33 +01:00
mark a782d8ebe9 add clearlayers action
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-12-16 23:01:59 +01:00
Willem Dantuma a0816afaea Add SetSelectedItemLayer action
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-12-16 18:04:39 +01:00
Willem Dantuma 6746047fe2 Add setfeatures action
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-12-11 13:35:51 +01:00
Willem Dantuma 7266c98a10 Add router-outlet to map component to make it more reusable
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-12-11 12:08:15 +01:00
Willem Dantuma e873f5af5b Fix icon
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-12-09 23:39:44 +01:00
Willem Dantuma 44f476d5fd Add app-menu 2020-12-09 21:45:38 +01:00
Willem Dantuma 200f3e95eb Dont's show blank screen 2020-12-09 20:35:01 +01:00
Willem Dantuma 1a8bc43c60 Remove horizontal scrollbar
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-12-09 15:23:50 +01:00
Willem Dantuma 6dccaa8ce5 Wait for item types to be loaded
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-12-08 16:14:58 +01:00
Willem Dantuma f2cb5d4d64 Update configuration
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-12-07 17:20:34 +01:00
francisco 6252cc120b aw-1686 expand user profile; added put operation
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-11-18 15:07:39 +01:00
Willem Dantuma 03284d26dd Merge branch 'develop' into feature/vectortileselect 2020-11-06 08:59:08 +01:00
peter 946cbc6533 AQ-1659 Add getItemListUsingRelationship(...)
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-11-05 17:44:39 +01:00
Willem Dantuma 6277236993 Merge branch 'develop' into feature/vectortileselect 2020-11-03 20:22:25 +01:00
Willem Dantuma 20bda6b81f Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-11-03 20:21:39 +01:00
Willem Dantuma 9a338c04e6 Basic working implementation 2020-11-03 20:21:18 +01:00
peter 65c1643c95 AW-1649 Remove codelistitem
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-11-03 13:05:59 +01:00
Willem Dantuma 9cbc9f1293 Implement event handlers 2020-11-02 21:00:13 +01:00
Willem Dantuma 34b75a4c18 Upgrade openlayers 2020-11-02 20:58:32 +01:00
Willem Dantuma 1991e79ed2 Add landingpage and lazyloading voor 3d map
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-11-02 12:24:15 +01:00
Willem Dantuma d661e5f3f9 Fix zoom padding
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-11-01 15:35:38 +01:00
Willem Dantuma 0a384a9196 Fix zoomto padding 2020-11-01 15:34:01 +01:00
Willem Dantuma 0e13b98b7f Detect changes
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-10-31 16:58:03 +01:00
Willem Dantuma 56a7544c1e Make reverse non destructive
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-10-31 13:43:31 +01:00
Willem Dantuma 61636b6e3d Reverse arrays
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-10-31 13:38:27 +01:00
Willem Dantuma ab835e904e Fix routes
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-10-31 11:45:03 +01:00
Willem Dantuma cd10165510 Remove old init
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-10-30 13:12:13 +01:00
Willem Dantuma 446d26607c Fix initalisation
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2020-10-30 13:11:20 +01:00
Willem Dantuma 8d204ce1cd Some fixes
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-10-30 12:37:02 +01:00
Willem Dantuma 2656a67fca Refactor token refresh flows
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-10-30 08:22:58 +01:00
Willem Dantuma 46c5f74b49 Refactoring for landingpage support
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-10-29 19:14:06 +01:00
Willem Dantuma a5ece9b453 Fix map viewport size
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-10-28 17:54:46 +01:00
Willem Dantuma 9fb5a9698c Refactor map component
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-10-28 13:31:12 +01:00
francisco fad2f19ae4 added readWrite property for codeListItem
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-10-13 08:38:23 +02:00
mark 2ad04fc7c1 Added getCodeListItem api for service
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-10-12 17:41:24 +02:00
francisco f656ecd23f undo previous commit
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-10-12 14:05:27 +02:00
francisco d42aad87bd Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-10-10 12:02:34 +02:00
francisco 415ee8ef30 something weird, codeList item in url seems empty. But item is not empty 2020-10-10 12:00:05 +02:00
Willem Dantuma 306065dcbd Fix logout issue
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-10-09 16:35:14 +02:00
francisco 824ba97704 try to fix deleteCodeListItem
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-10-09 07:47:47 +02:00
francisco ac8ab147bc added codelist service
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-10-08 14:25:33 +02:00
Willem Dantuma 640c99cde2 Add test component
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-10-06 09:07:40 +02:00
Willem Dantuma da2492e017 Add fm-gradient-select
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-10-06 08:22:10 +02:00
Willem Dantuma f93d235877 add fm-gradient component
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-10-05 14:58:47 +02:00
Willem Dantuma fe798e3f60 Fix AW-1508
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-10-05 11:08:36 +02:00
Willem Dantuma b8dcc4e9e0 Add 3D example to test app
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-10-02 17:48:34 +02:00
Willem Dantuma 4b6175b6c4 Add npm scope
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-10-02 17:37:36 +02:00
Willem Dantuma 388a2faf84 Fix build
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-10-02 17:33:25 +02:00
Willem Dantuma 0b0bb4d598 Fix build
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-10-02 17:26:18 +02:00
Willem Dantuma 7696ddd8d2 Add common-map3d to jenkins build
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-10-02 17:23:11 +02:00
Willem Dantuma 1301a9d082 Merge branch 'feature/Resurect_3D' into develop 2020-10-02 17:21:01 +02:00
Willem Dantuma e87affee08 Refactor 3d to own library 2020-10-02 17:20:00 +02:00
Willem Dantuma b00b21e6b8 Merge branch 'develop' into feature/Resurect_3D 2020-10-02 16:44:11 +02:00
Willem Dantuma 835851350c Fix i18n tags
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-10-02 07:46:59 +02:00
Willem Dantuma 7bdb48b644 Fix signalr authentication
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-30 18:30:36 +02:00
Willem Dantuma 84d6f44e9b Fix transition
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-29 20:57:14 +02:00
Willem Dantuma 2fd109d967 Fix AW-1414
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-29 15:27:21 +02:00
Willem Dantuma f9934ccf27 Fix AW-1355
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-29 14:56:23 +02:00
Willem Dantuma b93218e165 Merge branch 'develop' into feature/Resurect_3D
# Conflicts:
#	angular.json
#	package-lock.json
#	package.json
#	projects/common-map/package.json
2020-09-26 12:17:58 +02:00
Willem Dantuma 8e55308df9 First working angular 10 version
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-26 10:10:38 +02:00
Willem Dantuma 5270739641 Fix versions
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-26 10:03:15 +02:00
Willem Dantuma ce8e8fa706 Update common
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-09-25 21:24:54 +02:00
Willem Dantuma d326a82c4e Fix build
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-09-25 21:18:04 +02:00
Willem Dantuma c1683a058c Fix build
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-09-25 21:16:38 +02:00
Willem Dantuma aa168bb3a1 Fix build
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-09-25 19:55:08 +02:00
Willem Dantuma fe53955bea Try to fix build
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-09-25 19:47:39 +02:00
Willem Dantuma ba3dad1365 Fix dep
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-09-25 19:38:47 +02:00
Willem Dantuma 6d2d259c01 Merge branch 'feature/angular_upgrade_10' into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-09-25 19:28:18 +02:00
Willem Dantuma 92774647ff Upgrade to angular 10 2020-09-25 19:27:53 +02:00
Willem Dantuma 9ca047923f npm auit fix 2020-09-25 17:10:17 +02:00
Willem Dantuma c893a2820b Fix responsetype
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-22 19:29:44 +02:00
Willem Dantuma baa0166fc8 Stupid bug :-(
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-22 15:13:00 +02:00
Willem Dantuma 58c200aca0 Another attempt to fix parameter
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-22 15:03:23 +02:00
Willem Dantuma b8a4b3541d Fix params
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-22 14:46:51 +02:00
Willem Dantuma 584a1514ac Add getItemData
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-22 13:58:33 +02:00
Willem Dantuma 21af6ab2c4 Some styling fixes 2020-09-18 17:19:29 +02:00
Willem Dantuma c606e02673 Fix static image layer 2020-09-18 16:05:44 +02:00
Willem Dantuma ff4eb296ff Update libs
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-18 14:50:17 +02:00
Willem Dantuma ea26cdd628 Update libs
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-18 14:30:20 +02:00
Willem Dantuma 26e28bdda8 Revert changes 2020-09-18 14:29:50 +02:00
Willem Dantuma 15d1f14ee1 More or less working now 2020-09-18 14:20:33 +02:00
Willem Dantuma 22e007b70b First attempt to bring back 3D view in map 2020-09-18 08:38:05 +02:00
Willem Dantuma 9e4a538a07 Implement min/maxzoom on vectorlayer
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-16 20:09:52 +02:00
Willem Dantuma c44c771feb Use indexKey if specified
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-16 15:02:42 +02:00
Willem Dantuma 394bbab320 Add support for alpha in legend
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-16 14:40:03 +02:00
Willem Dantuma 3008081ae8 Implement stylecache for vectorlayer
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-16 13:38:06 +02:00
Willem Dantuma 7474c00498 Fix layerindex
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-16 10:34:04 +02:00
Willem Dantuma 964bf925e7 Fix typo
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-15 15:01:20 +02:00
Willem Dantuma fb8129148d Add to module
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-15 14:01:24 +02:00
Willem Dantuma 73db03148a First attempt package preload strategy 2020-09-15 14:00:18 +02:00
Willem Dantuma 6367d3399d Implement default baselayer option
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-09 09:54:50 +02:00
Willem Dantuma ee4e7113d2 Add TileJSON interface 2020-09-09 09:47:32 +02:00
Willem Dantuma ad86e41345 Add background-color padding and border
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-04 10:40:34 +02:00
Willem Dantuma e682b375e7 Add user-menu router outlet
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-04 10:10:01 +02:00
Willem Dantuma 78425a621a Fix fm-hasclaim
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-03 12:43:55 +02:00
mark 1030b1c41a removed logging in weather service.
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
changed moment to peerdependency.
2020-09-03 10:37:24 +02:00
mark 76bdad6eaf fixed build
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-03 10:25:39 +02:00
mark ce56dd9e9f updated weather service with correct date manipulation.
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-09-03 10:19:12 +02:00
mark e7a53ba7b5 HourlyWeatherData time changed to string.
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-02 21:32:47 +02:00
mark 9f1f6934ee made hourly weather data static typed.
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-02 16:21:49 +02:00
mark 773bf3f5e7 fix build
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-09-02 15:28:12 +02:00
mark cdc900d5fd fixed weather service
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-09-02 15:23:54 +02:00
peter 80522a3a2f Revert "AW-1435 Add links to package manager and widget manager"
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
This reverts commit 0157812357.
2020-08-17 15:53:02 +02:00
peter 0157812357 AW-1435 Add links to package manager and widget manager
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-08-17 14:19:38 +02:00
peter 329564d8f6 AW-1431 Oops
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-08-13 15:47:04 +02:00
peter ba2a067c8b AW-1431 Expose new property
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-08-13 15:28:30 +02:00
peter 4d67a656f5 AW-1431 Add InitUserSettingsRoot
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-08-13 13:06:28 +02:00
peter ad1d40cdd1 AW-1426 Add extra check.
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-08-11 19:13:57 +02:00
peter 131e0eb371 Cleanup
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-08-11 19:03:05 +02:00
peter e563011099 New try
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-08-11 18:58:50 +02:00
peter 7c072752c8 Build fixed
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-08-11 18:52:39 +02:00
peter 36ced002e0 Fix build
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-08-11 18:50:08 +02:00
peter 3e1b892eef Fix build?
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-08-11 18:38:15 +02:00
peter f4004cf2be Revert "AW-1426 Add extra check"
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
This reverts commit a6fd052a4f.
2020-08-11 14:42:45 +02:00
peter d1d8723186 Rollback c028adfb77
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-08-11 14:40:04 +02:00
peter a6fd052a4f AW-1426 Add extra check
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-08-11 14:35:04 +02:00
peter cede944538 Revert "AW-1426 Remove default component if none found"
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
This reverts commit 3b3c2768d3.
2020-08-11 14:24:12 +02:00
peter 3b3c2768d3 AW-1426 Remove default component if none found
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-08-11 14:11:51 +02:00
peter 3dd19c702f Remove Trijntje
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-08-11 13:32:05 +02:00
mark c028adfb77 Updated statistics confidence interval.
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-08-06 12:04:56 +02:00
mark 1d2caa0fe3 Updated statistics labels.
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-08-06 09:15:31 +02:00
Willem Dantuma d7ca1512bd Add TaskProgressEvent
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-08-05 20:05:44 +02:00
Willem Dantuma ebe435027f Add addedfiles stream
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-08-05 15:49:02 +02:00
Willem Dantuma dfefa6746f Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-08-05 10:34:04 +02:00
Willem Dantuma c90df5c972 Fix userPackagesChanged 2020-08-05 10:33:55 +02:00
peter 514a91c2c7 Improved implementation to retrieve user packages.
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-08-05 09:02:28 +02:00
Willem Dantuma ee7d1cb9a2 AW-1419
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-08-04 16:09:22 +02:00
peter 309b320534 AW-1415 Add postItemPackageTask
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-08-04 14:08:50 +02:00
peter fdfa7d3387 Typo
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-08-03 08:48:11 +02:00
Willem Dantuma 6785bfc3e0 Fix when not having READ rights on the parent
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-08-01 09:44:32 +02:00
Willem Dantuma c682fb9184 Fix z-index
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-31 09:51:28 +02:00
Willem Dantuma ca6ea96eae Add interfacetype VectorWFSJson
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-30 09:33:32 +02:00
Willem Dantuma 3ebc197fac Make extent nullable
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-29 08:43:17 +02:00
mark 52871efb09 fix for statistics
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-28 20:02:23 +02:00
mark f014dc9f93 now use statistics if available in band.
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-28 19:05:38 +02:00
mark e6cda406c9 improved alignment of legend. fixed rain in weatherservice.
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-25 09:57:24 +02:00
mark df04397b13 I info icon now placed in the top right.
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-23 19:39:06 +02:00
Willem Dantuma e0b29c905c Fix height
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-23 11:48:31 +02:00
Willem Dantuma 44ae806b30 Add offline alert
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-23 11:28:07 +02:00
Willem Dantuma 78e3cf74b9 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-23 09:43:03 +02:00
Willem Dantuma 428353d379 Fix inituser flow 2020-07-23 09:42:44 +02:00
mark 9697e93915 convert hourly to daily with wilco's new changes for weather2.
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-22 23:04:06 +02:00
Willem Dantuma e057e463bd Only on change
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-22 21:16:38 +02:00
Willem Dantuma d494a7c7d6 Implement healthcheck service
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-22 20:31:12 +02:00
Willem Dantuma e525227865 another attempt to implement on /offline
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-22 18:49:15 +02:00
Willem Dantuma 10bdd27608 Check token when going online
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-22 09:05:02 +02:00
Willem Dantuma 2790ae74e7 Mirror navigator online flag in observable state 2020-07-22 08:52:41 +02:00
Willem Dantuma 31d01c75c5 And another potential issue
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-22 08:23:53 +02:00
Willem Dantuma 0da8d3d46d Fix editing unidentified type
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-22 08:22:35 +02:00
Willem Dantuma 60761e9f4a Fix typo
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-21 19:28:14 +02:00
Willem Dantuma ec9684b826 Set upload flag only when file is found
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-21 19:11:30 +02:00
Willem Dantuma 1073044f31 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-21 18:40:10 +02:00
Willem Dantuma 81126974f5 After cancel a single file close the upload dialog 2020-07-21 18:39:51 +02:00
mark 06f443a503 fix circular dependency error.
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-21 17:06:58 +02:00
mark eb560aaf33 added weather method do receive historical + forecast weatherdata.
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-07-21 16:57:11 +02:00
Willem Dantuma 464b82bfb9 Fix colspan
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-21 11:21:34 +02:00
Willem Dantuma 1c75fb6f71 Fix upload dialog
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-20 15:07:25 +02:00
Willem Dantuma 5f5d8a9712 Do not add when cancelled
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-20 14:59:27 +02:00
Willem Dantuma dc329a0e29 Try to fix file count
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-20 14:50:00 +02:00
Willem Dantuma 15a09e4b05 Attempt to fix multiple queue events for file upload
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-20 14:13:30 +02:00
mark 94f973406e fixed parent name size.
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-15 23:35:22 +02:00
mark 6404e45d66 fix bug.
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-15 23:28:17 +02:00
mark c0f689331e Added parentitem title to geotiff, shape and temporal selected-item components.
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-07-15 23:15:31 +02:00
mark 0f5a5251db only show legend title if one layer
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-15 13:41:25 +02:00
mark 3352bfd805 Added schema layout api to schemaService
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-09 13:45:24 +02:00
Willem Dantuma 60ed2afaa4 Fix build
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-07-07 09:45:13 +02:00
Willem Dantuma 9ac534c171 Fix build
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-07-07 09:42:30 +02:00
Willem Dantuma cecbdb2ded Fix dates
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-07-07 09:37:17 +02:00
Willem Dantuma 1092d5dcaf Fix build
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-07-07 09:31:47 +02:00
Willem Dantuma 4af6b2937c Refactor Date to string
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-07-07 09:24:45 +02:00
mark 263fb6c3d4 Changed schema service to return any for json object.
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-30 16:30:33 +02:00
Willem Dantuma 09fa8b4f1f Fix template selection
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-30 09:11:46 +02:00
Willem Dantuma 214dc3ffa1 Refactor temporallast
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-29 16:09:19 +02:00
Willem Dantuma fad04744cf Refactor ILayer
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-29 16:00:53 +02:00
Willem Dantuma 033b74517f Export IDataLayer
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-29 15:51:08 +02:00
Willem Dantuma 0b7564e874 Add data layer
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-29 15:44:23 +02:00
Willem Dantuma 0d247e6416 Fix layerswitcher not opening
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-26 09:18:07 +02:00
Willem Dantuma b92cc7bc09 Fix build
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-26 09:02:33 +02:00
Willem Dantuma eba18b0235 Close menu's on map click
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-06-26 08:49:35 +02:00
Willem Dantuma 69f8184dfe add closeall action
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-26 08:22:31 +02:00
Willem Dantuma 31c1570ffb Fix relogin issue on mobile
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-25 19:04:40 +02:00
Willem Dantuma fe2650c4fd Refactored logout
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-25 18:52:13 +02:00
Willem Dantuma f89209c555 Add logout event handler
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-25 17:21:12 +02:00
Willem Dantuma b3d0a6f0c7 parse dataenddate
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-25 10:34:25 +02:00
Willem Dantuma 6bd1726fc9 Add dataenddate
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-25 10:01:54 +02:00
Willem Dantuma b0ff54d157 Add dataenddate
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-25 09:47:53 +02:00
Willem Dantuma 277dc7051e Add shadow and transition
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-24 15:49:57 +02:00
Willem Dantuma ace4a6b364 Implement toggleaccountmenu action
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-24 15:07:11 +02:00
Willem Dantuma 146514d386 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-24 13:08:27 +02:00
Willem Dantuma 1187ee9fd6 Implement logout 2020-06-24 13:08:13 +02:00
mark 4527276254 Changed schema service.
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-24 11:52:05 +02:00
Willem Dantuma 6f52302875 Fix build
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-24 08:40:28 +02:00
Willem Dantuma cbe27c2add Refactor template selection logic add forpackage decorator
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-06-24 08:35:34 +02:00
Willem Dantuma cd156ab1bc Export packageservice
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-24 07:56:28 +02:00
Willem Dantuma f9d0e2aee0 Implemented hasclaim directive
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-23 17:51:47 +02:00
Willem Dantuma 253b3d3c90 Fix build
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-23 15:44:14 +02:00
Willem Dantuma 28d4adc571 AW-1330
FarmMaps.Develop/FarmMapsLib/pipeline/head There was a failure building this commit
2020-06-23 15:39:30 +02:00
Willem Dantuma 925af1e645 Update dependency
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-23 14:18:49 +02:00
Willem Dantuma 4130e0a796 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-23 13:36:29 +02:00
Willem Dantuma 01933b1602 AW-1330 add atitemlocationitem parameter 2020-06-23 13:36:03 +02:00
mark 0482aa7124 Added provided in root for schema service
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-22 13:37:38 +02:00
mark 75015f6d22 Added schema service
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-22 13:12:02 +02:00
mark aa3707aa56 Added getSchema method to itemtypes service.
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-22 12:20:02 +02:00
Willem Dantuma ff06b419f2 Fix top in fullscreen mode
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-12 12:53:43 +02:00
Willem Dantuma c1c0bd2596 Add start of user/account menu
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-12 12:24:08 +02:00
Willem Dantuma 978cbdabfc Read both farmmaps currentuser and authenticate userinfo
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-06-10 21:53:54 +02:00
Willem Dantuma e0d585e125 Fix wrapping
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-05-29 10:00:53 +02:00
Willem Dantuma cc6229002c Make histogram info block collapsable
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-05-27 10:57:25 +02:00
Willem Dantuma ca776b0cb5 Fix layer index for real this time ( https://angular.io/guide/ivy-compatibility-examples#cannot-bind-to-value-property-of-select-with-ngfor )
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-05-27 09:14:43 +02:00
Willem Dantuma 7b29ca28d9 Fix layer index
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-05-26 18:19:46 +02:00
Willem Dantuma 0fb71a9227 Fix i18n tag
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-05-26 17:20:30 +02:00
Willem Dantuma f1bfc9fec0 Add confidence interval
FarmMaps.Develop/FarmMapsLib/pipeline/head Something is wrong with the build of this commit
2020-05-26 17:19:07 +02:00
Willem Dantuma 705d811832 Fix layer index
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-05-26 17:04:44 +02:00
Willem Dantuma 3ed68efab7 Mark some text as translatable
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-05-25 10:04:35 +02:00
Willem Dantuma 454dc26128 Try to fix exception
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-05-21 18:28:03 +02:00
Willem Dantuma d56cfa805b Fix some issues
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-05-21 18:18:38 +02:00
Willem Dantuma 506b15cd4f Fix null ref
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-05-19 11:51:06 +02:00
Willem Dantuma 4a0474546c Converted observer to behaviorsubject 2020-05-19 11:46:27 +02:00
Willem Dantuma 51bb5b3833 Fix base map not showing
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-05-19 11:14:07 +02:00
Willem Dantuma f4d1a04303 Add profile scope, expose start and stop methods events service
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-05-16 10:46:55 +02:00
Willem Dantuma 44cac3e1ab Update libs
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-05-13 12:47:26 +02:00
Willem Dantuma 2ea51d94ef Add basic package managing plumbing
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-05-13 12:30:09 +02:00
Willem Dantuma 750a743a50 Fix promise resolve
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-05-11 20:57:45 +02:00
Willem Dantuma 1c8db3ac94 Add some debug logging
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-05-11 20:50:38 +02:00
Willem Dantuma b70ec77328 Fix authguard
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-05-11 20:39:00 +02:00
Willem Dantuma baf8767a91 Refactor authentication flow
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-05-09 09:14:16 +02:00
Willem Dantuma 62887e8089 Implement canactivatechild also
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-05-06 14:13:10 +02:00
Willem Dantuma 24eef611d4 Add get user selector
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-05-04 14:47:04 +02:00
Willem Dantuma 62d5779c75 Fix url at page refresh
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-04-23 11:11:07 +02:00
Willem Dantuma 3493e96aad Fix panel on mobile
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-04-23 10:50:29 +02:00
Willem Dantuma 23ff92de6c Update libs
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-04-23 09:08:44 +02:00
Willem Dantuma 279d7eeca6 Fix imports
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-04-22 12:34:07 +02:00
Willem Dantuma bb979e4322 Merge branch 'feature/streamline_flow' into develop
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-04-22 12:27:11 +02:00
Willem Dantuma d57ffe59e7 Fix style 2020-04-22 12:16:03 +02:00
Willem Dantuma 4dfa2cd96c Fix query 2020-04-22 09:25:10 +02:00
Willem Dantuma 7eef50eb7a Remove uneeded delay 2020-04-22 08:59:04 +02:00
Willem Dantuma 69751540d3 More refactoring, add thematic maps button 2020-04-22 08:11:50 +02:00
Willem Dantuma ef81b04f4e More refactoring 2020-04-21 14:54:13 +02:00
Willem Dantuma e41c728fb2 Fix zoom to extent 2020-04-21 13:22:54 +02:00
Willem Dantuma 4e83bc6158 Some refactoring 2020-04-21 12:31:20 +02:00
Willem Dantuma c6d7f6b0cb Add action logging and some refactoring 2020-04-17 13:26:50 +02:00
Willem Dantuma 3828db341a Add debug logging
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-04-17 08:39:48 +02:00
Willem Dantuma da0534e928 Make templating more responsive
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-04-17 08:01:39 +02:00
Willem Dantuma be4cbd36d1 Add null check
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-04-16 17:43:13 +02:00
Willem Dantuma 8e0c424f81 Try to fix navigation issue
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-04-16 17:32:02 +02:00
Willem Dantuma e30d95ff09 Refactor edit_in_editor
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-04-16 17:05:07 +02:00
Willem Dantuma 0b32153489 Also supply parentcode and itemtype
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-04-16 16:01:06 +02:00
Willem Dantuma 3e0cf6d691 Fix click on feature
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-04-16 15:47:15 +02:00
Willem Dantuma d34a2069d6 Fix feature highlighting
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-04-16 13:19:06 +02:00
Willem Dantuma 9fbc946c68 Repeat signalR authenticate
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-04-16 11:04:39 +02:00
Willem Dantuma e964fa72f3 Automatic reconnect signalR
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-04-15 21:31:02 +02:00
Willem Dantuma 1532e141b9 Add getScaledValueto both
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-04-07 10:22:27 +02:00
Willem Dantuma 490cd92707 Fix class
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-04-07 09:53:32 +02:00
Willem Dantuma d6c89c7ada Add getScaledValue function
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-04-07 09:43:54 +02:00
Willem Dantuma dd138f1168 Use scale in legend
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-04-07 08:51:31 +02:00
Willem Dantuma 1b165c3575 Remove uneeded search minify
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-04-07 07:58:04 +02:00
Willem Dantuma 77478078f6 Fix i18n tags
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
2020-04-06 14:51:43 +02:00
Willem Dantuma 61e6092cb3 Update libs
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-04-03 14:03:30 +02:00
Willem Dantuma 0d78fa29f3 Merge branch 'feature/Upgrade_to_angular_9' into develop
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-04-03 13:52:39 +02:00
Willem Dantuma a892cb890b Move dependencies to peerdependencies 2020-04-02 09:07:19 +02:00
Willem Dantuma 8a6b376373 Revert ol to 6.1.1 2020-04-02 08:43:43 +02:00
Willem Dantuma 80ddf816b0 More migration fixes 2020-04-01 16:11:44 +02:00
Willem Dantuma 511f1f4731 Add @Directive attributes 2020-04-01 10:05:44 +02:00
Willem Dantuma a5a7e1ece1 Updated ol to6.2.1 2020-04-01 09:19:19 +02:00
Willem Dantuma c9d1fba36d Updated peer dependencies common 2020-04-01 09:13:41 +02:00
Willem Dantuma ad7cc655d1 Updated other deps 2020-04-01 09:09:42 +02:00
Willem Dantuma 34990e5de2 Update to angular 9 2020-04-01 09:06:11 +02:00
Willem Dantuma 984408cd52 Update tsickle 2020-04-01 09:02:15 +02:00
Willem Dantuma 3b1b9c0b98 Update @ng-bootstrap 2020-04-01 09:00:30 +02:00
Willem Dantuma 7f776cf56b Update to latest 8.x 2020-04-01 08:55:55 +02:00
peter 8ef248b0a7 AW-1037 Add filter parameter
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-03-27 15:53:26 +01:00
Willem Dantuma bf883a779f AW-1079
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-03-27 13:22:11 +01:00
Willem Dantuma 050fda377b Fix unnecessary "hops" after zooming
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-03-26 15:55:21 +01:00
Willem Dantuma dad8e061ea AW-1079
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-03-26 15:45:57 +01:00
Willem Dantuma bc17f80050 Fix AW-1056, AW-1080
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-03-26 14:29:18 +01:00
peter 8db1edb262 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-03-26 14:06:32 +01:00
peter e279c04e62 AW-1037 Add itemtasklist to service. 2020-03-26 14:05:50 +01:00
Willem Dantuma 0da2167591 Update dependencies
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-03-26 14:01:28 +01:00
peter 8e0d302fd4 Revert "AW-1079 Only add one item to overlay."
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
This reverts commit 9c16681b58.
2020-03-26 13:28:36 +01:00
peter 9c16681b58 AW-1079 Only add one item to overlay.
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-03-26 10:38:39 +01:00
peter d883553934 AW-1104 Pfffft
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-03-25 14:59:17 +01:00
peter 340d07a03f AW-1104 Fixed link to temporal viewer (graph broken).
FarmMaps.Develop/FarmMapsLib/develop There was a failure building this commit
2020-03-25 14:56:17 +01:00
Willem Dantuma 4bbc22cbde Merge branch 'feature/fix_zoom_issue_after_edit_take2' into develop
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-03-22 20:25:36 +01:00
Willem Dantuma 80134e5ad0 Remove logging 2020-03-22 20:22:52 +01:00
Willem Dantuma c777ce75ad Fix zoom issue 2020-03-22 20:08:53 +01:00
peter af12682341 AW-1084 Fix "An unhandled exception occurred: projects/common-map/src/fm-map/components/selected-item-temporal/selected-item-temporal.component.ts(5,70): error TS2300: Duplicate identifier 'IItem'.
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
projects/common-map/src/fm-map/components/selected-item-temporal/selected-item-temporal.component.ts(11,10): error TS2300: Duplicate identifier 'IItem'".
2020-03-20 11:19:30 +01:00
peter 28cfc045fb AW-1084 Van der Sat: cropyear to viewer.
FarmMaps.Develop/FarmMapsLib/develop There was a failure building this commit
2020-03-20 11:15:47 +01:00
peter 9b98f3d91c AW-1072 VanderSat: Balkjes wat dichter bij getallen: % staat soms op volgende regel
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-03-20 10:47:57 +01:00
peter 0814a6a877 AW-981 Also export type.
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-03-04 10:28:42 +01:00
peter 23eb27cf7f AW-981 Add Alert enum.
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-03-04 10:19:10 +01:00
Willem Dantuma 33b15677d2 Enable chart button
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-03-04 09:35:54 +01:00
Willem Dantuma 902c3c629e Fix thematic map click
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-03-03 22:18:01 +01:00
Willem Dantuma 4169d1a26e Fix build
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-03-03 21:16:01 +01:00
Willem Dantuma 7d3679afd2 Add goto chart
FarmMaps.Develop/FarmMapsLib/develop There was a failure building this commit
2020-03-03 21:06:39 +01:00
Willem Dantuma 6921bc7f4a Styling changes
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-03-03 21:02:33 +01:00
Willem Dantuma 0621b32fba Fix legend
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-03-03 19:43:17 +01:00
Willem Dantuma 2388968f2a Fix layer selection
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-03-03 19:24:01 +01:00
Willem Dantuma 24f41879bf Fix query
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-03-03 16:32:25 +01:00
Willem Dantuma d4ee784460 Fix import
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-03-03 10:54:57 +01:00
Willem Dantuma 2434fbf5ee Update libs
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-03-03 10:32:15 +01:00
Willem Dantuma 141b5055d7 Merge branch 'feature/Temporal_item' into develop
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-03-03 10:22:27 +01:00
Willem Dantuma a8f82f800f Fixed some issue 2020-03-03 10:21:24 +01:00
Willem Dantuma 5343a4aa98 Basic working version 2020-03-02 13:48:10 +01:00
Willem Dantuma 60c741d935 Implement next and preious temporal 2020-03-02 09:22:16 +01:00
Willem Dantuma be885ce917 Merge branch 'develop' into feature/Temporal_item 2020-03-02 08:57:20 +01:00
Willem Dantuma da1c9c3fe2 More refactoring 2020-03-02 08:55:11 +01:00
Willem Dantuma a151b73d03 Some refactoring 2020-02-29 11:56:19 +01:00
Willem Dantuma 47f77c2819 Display last 2020-02-27 21:41:52 +01:00
Willem Dantuma 841999daba Make itemtype optional
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-27 18:01:17 +01:00
Willem Dantuma 8e29e479de Add selecttemporalitemssuccess 2020-02-27 17:59:00 +01:00
Willem Dantuma 3094170cc2 Some refactoring 2020-02-27 16:28:10 +01:00
Willem Dantuma 795e8fdf0e Fix double scaling issue
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-26 19:29:34 +01:00
Willem Dantuma 007448878b Revert "Revert "Fix thumbnail scaling on zoomed browser""
This reverts commit ebf362e9a9.
2020-02-26 17:21:02 +01:00
Willem Dantuma ebf362e9a9 Revert "Fix thumbnail scaling on zoomed browser"
This reverts commit 1c70e3495f.
2020-02-26 17:03:00 +01:00
Willem Dantuma 1c70e3495f Fix thumbnail scaling on zoomed browser
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-26 08:44:32 +01:00
Willem Dantuma e75d71d748 Implement client side thumbnail renderer for features
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-25 20:19:28 +01:00
Willem Dantuma 6916e4650a Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-25 15:14:46 +01:00
Willem Dantuma 38c8def43a Add area to selected-item-cropfield 2020-02-25 15:14:29 +01:00
peter 9c103a0c40 AW-942 Add (optional) deep parameter to getChildItemList.
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-25 15:04:12 +01:00
Willem Dantuma d3b10d46ad Add area and croptype to feature-list-feature-cropfield
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-25 14:37:06 +01:00
Willem Dantuma f8c3a0db98 Select better threshold for mobile detection
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-25 11:52:27 +01:00
Willem Dantuma 0eaa3065a3 Add margin 2020-02-25 11:26:57 +01:00
Willem Dantuma f91d727c99 Convert to svg and style rotation-reset
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-25 10:37:03 +01:00
Willem Dantuma fd18d4921b Fix border color search input
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-24 23:53:32 +01:00
Willem Dantuma 16ad7bfb6f Style map controls as buttons
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-24 23:26:28 +01:00
Willem Dantuma a3e14a94cc Remove old theming, use correct theme colors and a friendlier icon
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-22 09:45:41 +01:00
Willem Dantuma 2b5bda2a44 Try to fix loop
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-21 11:51:42 +01:00
Willem Dantuma 85143986ee remove show_as_featurelist again
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-21 11:28:46 +01:00
Willem Dantuma ba0a60ba09 Fixes for explorer
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-21 11:16:30 +01:00
Willem Dantuma a1d7f6d4d2 Fix for diffrent action on feature select on map
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-21 11:06:16 +01:00
Willem Dantuma c341b3e42f Another attemt to fix zooming
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-21 00:51:10 +01:00
Willem Dantuma 3a38c24360 Fix several issues, attemt to fix zooming issue
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-21 00:11:18 +01:00
Willem Dantuma abfef73cd1 Refactoring map, place state where it belongs
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-20 21:20:50 +01:00
Willem Dantuma f82125a486 Fix navigation issue
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-20 17:38:05 +01:00
Willem Dantuma 1a3bbf26f2 Set layerindex
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-19 16:08:46 +01:00
Willem Dantuma 616644de6c Merge branch 'features/geotiff_band_rendering' into develop 2020-02-19 14:56:22 +01:00
Willem Dantuma c16b9ef5c9 Fix download link on local 2020-02-19 14:55:29 +01:00
Willem Dantuma 7a27df60c2 Implement select_as_mapitem
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-19 12:02:56 +01:00
Willem Dantuma e8493ef0bd Fix build
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-19 11:48:57 +01:00
Willem Dantuma dae5411e6a Update peer dependency
FarmMaps.Develop/FarmMapsLib/develop There was a failure building this commit
2020-02-19 11:44:07 +01:00
Willem Dantuma 755475bff7 Remove stateserializerservice from common-map
FarmMaps.Develop/FarmMapsLib/develop There was a failure building this commit
2020-02-19 11:37:21 +01:00
Willem Dantuma 9c5955bc6f Forgot to export stateserializerservice
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-19 11:23:43 +01:00
Willem Dantuma 17af34ff94 Move query state to common
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-19 11:15:31 +01:00
mark 92c8b4c1b6 changed selected item geotiff to show layer changer 2020-02-19 10:57:11 +01:00
mark aa6cd254c7 changed image api 2020-02-19 10:53:14 +01:00
Willem Dantuma 3baf0b15c7 Show edit action only when item editable
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-19 09:34:35 +01:00
Willem Dantuma 593fa78f13 Make isEditable optional
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-19 09:03:02 +01:00
Willem Dantuma a39578e1a4 Add iseditable to interface
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-18 22:09:58 +01:00
Willem Dantuma f5868618b7 Add isEditable
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-18 22:02:34 +01:00
Willem Dantuma 2920fd82f1 Fix viewer
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-18 17:00:19 +01:00
Willem Dantuma ad11de53af Fix z-index layer switcher
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-18 16:41:24 +01:00
Willem Dantuma d7ac9b937a Update libs
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-18 08:20:32 +01:00
Willem Dantuma 3a4b5dbd9b Fix collopsed search box size on mobile
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-18 08:16:51 +01:00
Willem Dantuma 6eb1b5af55 Update app to match library changes
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-18 08:03:42 +01:00
Willem Dantuma aa09953b67 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-17 18:31:40 +01:00
Willem Dantuma a8b079b72b Add layerswitcher 2020-02-17 18:31:23 +01:00
peter fcef78dee0 AW-915 Use proper container (not just the first).
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-17 12:49:08 +01:00
Willem Dantuma fd28af2f6c Fix lost styling after navigation
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-17 10:23:17 +01:00
Willem Dantuma 81ed89b240 Fix select on hover ( null ref)
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-14 10:21:49 +01:00
Willem Dantuma 52b4f90b78 Fix selected style
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-13 16:51:23 +01:00
Willem Dantuma 79f45631a0 Fix Set style Geometry
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-13 16:14:18 +01:00
Willem Dantuma 6060a8b86a Use a Style or a Style function as parameter to setStyle action 2020-02-13 16:01:05 +01:00
Willem Dantuma 4814b8fbad Change configuration for identityserver
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-13 14:45:10 +01:00
Willem Dantuma da97f06db8 npm update
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-13 11:29:55 +01:00
Willem Dantuma 709e964579 Add custom style for vnd.farmmaps.itemntype.layer
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-13 11:24:23 +01:00
Willem Dantuma 3c0bece982 Fix select feature on hover in list
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-13 09:56:17 +01:00
Willem Dantuma 1646119b16 Merge branch 'feature/AW-847' into develop
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-12 21:34:43 +01:00
Willem Dantuma 252ce855c9 Add id4AuthconfigFactory 2020-02-12 21:34:11 +01:00
Willem Dantuma 937dbe9b43 Use refactored styles 2020-02-12 21:33:28 +01:00
Willem Dantuma 6379b64351 Refactor style cache 2020-02-12 20:38:14 +01:00
Willem Dantuma b83aca7969 Refactor itemtype loading
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-11 18:55:43 +01:00
Willem Dantuma 52170590e3 Remove fm-map-item-features-source ( obsolete )
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-11 14:48:40 +01:00
Willem Dantuma 7a1ba95212 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-05 14:57:35 +01:00
Willem Dantuma 4eb10aa676 AW-900 2020-02-05 14:57:12 +01:00
mark 1cab239155 AW-811: Changed weatherservice
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-04 17:38:04 +01:00
Willem Dantuma 1bec8c2038 Fix menu
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-04 14:21:40 +01:00
Willem Dantuma 9433ef87b2 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop 2020-02-04 14:20:48 +01:00
Willem Dantuma f0b2b1e774 Add register device placeholder 2020-02-04 14:20:32 +01:00
mark 123bf2943a AW-811: Added weather service to common
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-04 13:57:33 +01:00
peter fd3545523e Remove annoying 'debugger' statement.
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-03 10:32:15 +01:00
peter 6c828f6c6d AW-803 Add count childitems for widget.
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-02-03 09:28:24 +01:00
Willem Dantuma 62234b3f9d Refactor authentication flow
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-31 11:24:45 +01:00
peter e53378a76b AW-803 Fixed -> ERROR: projects/common/src/fm/services/item.service.ts(114,78): error TS2559: Type 'string' has no properties in common with type '{ headers?: HttpHeaders | { [header: string]: string | string[]; }; observe?: "body"; params?: HttpParams | { [param: string]: string | string[]; }; reportProgress?: boolean; responseType?: "json"; withCredentials?: boolean; }'.
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-30 14:13:59 +01:00
peter e41b94bb77 AW-803 Add deleteItem.
FarmMaps.Develop/FarmMapsLib/develop There was a failure building this commit
2020-01-30 13:58:01 +01:00
Willem Dantuma 975efe5958 Make upload progress panel optional
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-29 10:23:07 +01:00
peter 5e8e2388b5 AW-803 Ooops
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-28 11:39:09 +01:00
peter eea6bbbcb5 AW-803 Refactor add
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-28 11:37:33 +01:00
peter 05705afdfe AW-803 Fix casing issue. Remove unused parms.
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-28 09:50:33 +01:00
peter 0ba553cc40 AW-803 Add postItem.
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-28 09:03:29 +01:00
Willem Dantuma 0674b0ac7c Close menu on navigation
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-27 17:28:17 +01:00
Willem Dantuma 252e920848 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-27 17:01:39 +01:00
Willem Dantuma 77e4093d14 Close menu on navigation 2020-01-27 17:01:35 +01:00
mark 19a8393a3a AW-814: Changed widget component height
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-27 15:03:01 +01:00
Willem Dantuma af1a54ae07 Fix container width and spacing
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-23 12:20:35 +01:00
peter 63ffdf2519 AW-803 Pass array (take 2).
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-22 14:18:09 +01:00
peter e3714f4cac AW-803 Added CodeListItemService.
FarmMaps.Develop/FarmMapsLib/develop There was a failure building this commit
2020-01-22 14:12:57 +01:00
peter e8537ba916 AW-803 Pass string array.
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-22 13:57:56 +01:00
Willem Dantuma 2fca6d1fba Update more deps
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-22 11:44:52 +01:00
Willem Dantuma 2199a929eb Update deps 2020-01-22 11:42:20 +01:00
Willem Dantuma 6389331c30 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
# Conflicts:
#	projects/common/src/fm/common-service.module.ts
2020-01-22 11:34:32 +01:00
Willem Dantuma 3f27662e3f Make authstorage configurable 2020-01-22 11:33:33 +01:00
peter 313e0c94f7 AW-835 Fixed ERROR: projects/common/src/fm/services/codelistitem.service.ts(23,5): error TS2322: Type 'Observable<ICodeListItem>' is not assignable to type 'Observable<ICodeListItem[]>'.
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-22 10:05:03 +01:00
peter a12b45f8f9 AW-835 Added CodeListItem. Some cleanup.
FarmMaps.Develop/FarmMapsLib/develop There was a failure building this commit
2020-01-22 09:52:40 +01:00
peter 587e484cf8 AW-835 Remove validFrom/To filter from interface.
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-21 18:15:50 +01:00
peter e8845a092a AW-803 Add CodeListItem + service.
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-21 14:52:36 +01:00
Willem Dantuma 3dca804acd Re login after refresh error
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-20 18:05:45 +01:00
Willem Dantuma 761e987067 navigate after refresh
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-20 18:03:04 +01:00
Willem Dantuma 9277b1fa25 Remove authguard
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-20 17:31:09 +01:00
Willem Dantuma 9103753b09 Try to refresh on startup
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-20 17:26:35 +01:00
Willem Dantuma f99dfc965f Fix z-index menu overlay
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-17 17:38:53 +01:00
Willem Dantuma 91fb3ac329 Fix menu sliding
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-17 16:39:08 +01:00
Willem Dantuma 36cc8bea7e AW-821 use local storage for tokens
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-15 13:48:49 +01:00
Willem Dantuma e875ed5a12 Update deps
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-14 16:52:24 +01:00
Willem Dantuma 1a0e0b13e7 Make granttype configurable
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-14 16:46:59 +01:00
Willem Dantuma f71d96be6e Fix width
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-13 14:43:02 +01:00
Willem Dantuma 40429a67ef Fix menu height
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-08 17:46:52 +01:00
Willem Dantuma 71e7467c17 Realy fix build
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-08 14:52:35 +01:00
Willem Dantuma d860d9edd2 Fix build
FarmMaps.Develop/FarmMapsLib/develop There was a failure building this commit
2020-01-08 14:46:49 +01:00
Willem Dantuma 8decff316b Fix menu outlet
FarmMaps.Develop/FarmMapsLib/develop There was a failure building this commit
2020-01-08 14:43:44 +01:00
Willem Dantuma f21648386b AW-823 implementcorrect editor navigation 2020-01-08 14:43:24 +01:00
Willem Dantuma ab99f6722c Implement menu button
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-08 14:23:24 +01:00
Willem Dantuma 46d0f8c060 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-08 11:38:13 +01:00
Willem Dantuma b46c33d15c Show navbar 2020-01-08 11:37:57 +01:00
Willem Dantuma d3bc921000 Add menu background 2020-01-08 11:37:37 +01:00
peter 2c3c8fbff2 Merge branch 'develop' of https://git.akkerweb.nl/FarmMaps/FarmMapsLib into develop
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-08 10:28:15 +01:00
peter 0bf0941bdc Ignore Visual Studio generated files 2020-01-08 10:28:05 +01:00
Willem Dantuma c52497af59 Fix build
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-07 22:31:56 +01:00
Willem Dantuma 6ad23d280d Fix build
FarmMaps.Develop/FarmMapsLib/develop Something is wrong with the build of this commit
2020-01-07 22:31:27 +01:00
Willem Dantuma bf0dc15a00 Refactor map for menu removal
FarmMaps.Develop/FarmMapsLib/develop There was a failure building this commit
2020-01-07 22:27:46 +01:00
Willem Dantuma 73550b3201 Some menu fixes
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-07 21:43:48 +01:00
Willem Dantuma e077aa34df Refactor menu panel
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-07 16:33:56 +01:00
Willem Dantuma 58f7c99ddc Store mapstate in localstorage
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-06 18:36:47 +01:00
Willem Dantuma 50d1d9645a Implement copassheading
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-03 16:40:14 +01:00
Willem Dantuma 41d55110ea Fix zone
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-03 15:00:11 +01:00
Willem Dantuma 867fdc3fcc Update libs
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-02 18:22:59 +01:00
Willem Dantuma 64c02614ba Implement pan to, fix zooming on map change
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2020-01-02 18:11:02 +01:00
Willem Dantuma ac5efdb40f Mark for check on navigation
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2019-12-27 13:26:39 +01:00
Willem Dantuma 4b232cc0e4 Use location for path
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2019-12-23 17:33:43 +01:00
peter 70fb5b42ec AW-784 Fixed 1 │ @import "../../../app/theme.scss";
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
projects/common-map/src/fm-map/components/selected-item-cropfield/selected-item-cropfield.component.scss 1:9  root stylesheet
An unhandled exception occurred: Can't find stylesheet to import.
2019-12-20 10:05:49 +01:00
peter 719c699981 Merge branch 'feature/AW784_MergeFarmMapsMap_FarmMapsLibMap' into develop
FarmMaps.Develop/FarmMapsLib/develop There was a failure building this commit
2019-12-20 09:59:04 +01:00
peter 456628d014 AW-784 Reapply from Farmmaps commits
- cd035366: AW-718 Layout as requested by Thomas.
2019-12-20 09:53:22 +01:00
peter 76a44a8f95 AW-784 Reapply from Farmmaps commits
- cd035366: AW-718 Layout as requested by Thomas.
2019-12-20 09:50:21 +01:00
peter f66428d04c AW-784 Reapply from Farmmaps commits
- cd035366: AW-718 Layout as requested by Thomas.
2019-12-20 09:47:33 +01:00
peter ee925d07b4 AW-784 Reapply from Farmmaps commits
- 47deb5f6: AW-772 Panels
2019-12-20 09:41:06 +01:00
peter 9b03b49028 AW-784 Reapply from Farmmaps commits
- 47deb5f6: AW-772 Panels
2019-12-20 09:39:29 +01:00
peter 15c224ff5d AW-784 Reapply from Farmmaps commits
- 5d11bfe8: Enable histogram for shape
2019-12-20 09:36:55 +01:00
peter 7cb129dbc4 AW-784 Reapply from Farmmaps commits
- cd035366: AW-718 Layout as requested by Thomas.
2019-12-20 09:25:09 +01:00
peter 2059b48abb AW-784 Reapply from Farmmaps commits
- a4bb051a: AW-738 fixed bug
2019-12-20 09:19:53 +01:00
peter e1ff44ed3c AW-784 Reapply from Farmmaps commits
- 6f79b625: AW-738 changed selected-item-container to allow forSourceTask annotation.
2019-12-20 09:18:00 +01:00
Willem Dantuma 709c76a851 Hack for cordova
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2019-12-19 18:29:44 +01:00
Willem Dantuma 677608c14d Fix configuration loading
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2019-12-19 17:03:10 +01:00
Willem Dantuma fd8025c674 Update sample app
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2019-12-19 13:41:59 +01:00
Willem Dantuma 560c426bc0 Refactor authconfig
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2019-12-19 13:32:51 +01:00
Willem Dantuma e1fef2d7f3 Show histogram
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2019-12-18 10:21:25 +01:00
Willem Dantuma f44b079cde Fix thumbnail source
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2019-12-11 18:03:37 +01:00
Willem Dantuma 8e5383b0f2 Update deps
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2019-12-11 10:47:32 +01:00
Willem Dantuma 615872992f Implement device update event
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2019-12-11 10:29:47 +01:00
Willem Dantuma 2e0b090fb7 Added deviceUpdateEvent
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2019-12-10 18:14:48 +01:00
Willem Dantuma 5d7fd63adc Oops remember to test it next time..
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2019-11-29 12:52:18 +01:00
Willem Dantuma 0948bacaaf Merge latest changes
FarmMaps.Develop/FarmMapsLib/develop There was a failure building this commit
2019-11-29 12:24:34 +01:00
peter 8fd653afbc AW-698 Round percentage "Uploading files".
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2019-11-29 09:18:35 +01:00
peter b058cb80b1 AW-716 Spacing
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2019-11-29 09:17:45 +01:00
Willem Dantuma 490ae1868b Update README
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2019-11-25 16:22:55 +01:00
Willem Dantuma 4384fd1387 Update example to angular 8.2 and ol 6
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2019-11-25 15:52:02 +01:00
Willem Dantuma 529b1c9bd7 Upgrade @farmmaps/common-map to angular 8.2
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2019-11-25 15:31:42 +01:00
Willem Dantuma fc84548d8a Oops forgot ng build
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2019-11-25 14:49:46 +01:00
Willem Dantuma e57b8297c0 Disable common-map temporarily
FarmMaps.Develop/FarmMapsLib/develop There was a failure building this commit
2019-11-25 14:47:20 +01:00
Willem Dantuma efe38aba62 Update @farmmaps/common to angular 8.2
FarmMaps.Develop/FarmMapsLib/develop There was a failure building this commit
2019-11-25 14:43:26 +01:00
Willem Dantuma 7bd5dada2b Update to angular 8.2 2019-11-25 14:34:51 +01:00
Willem Dantuma 16db063339 Make bbox optional
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2019-11-18 09:42:05 +01:00
Willem Dantuma 5d79dcc7b6 Update library versions
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2019-11-13 11:46:23 +01:00
Willem Dantuma deda769e8b Add service module
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2019-11-12 22:50:57 +01:00
Willem Dantuma f31e4154b2 Fix date parsing for lists
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2019-11-12 16:27:08 +01:00
Willem Dantuma 7476e4c928 Set configuration correctly
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2019-11-11 17:38:49 +01:00
Willem Dantuma d5258b7c79 Update versions
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2019-11-11 15:42:50 +01:00
Willem Dantuma 04929a1ca3 Removed index.ts files
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
2019-11-11 15:39:19 +01:00
Willem Dantuma 67e0e5ed5d Use label instead of value if it is available 2019-11-11 11:08:23 +01:00
451 changed files with 110595 additions and 16382 deletions
+10 -10
View File
@@ -1,11 +1,11 @@
# This file is currently used by autoprefixer to adjust CSS to support the below specified browsers
# For additional information regarding the format and rule options, please see:
# https://github.com/browserslist/browserslist#queries
#
# For IE 9-11 support, please remove 'not' from the last line of the file and adjust as needed
> 0.5%
last 2 versions
Firefox ESR
not dead
# This file is currently used by autoprefixer to adjust CSS to support the below specified browsers
# For additional information regarding the format and rule options, please see:
# https://github.com/browserslist/browserslist#queries
#
# For IE 9-11 support, please remove 'not' from the last line of the file and adjust as needed
> 0.5%
last 2 versions
Firefox ESR
not dead
not IE 9-11
+22
View File
@@ -0,0 +1,22 @@
module.exports = {
"env": {
"browser": true,
"es2021": true
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended"
],
"overrides": [
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
},
"plugins": [
"@typescript-eslint"
],
"rules": {
}
}
+7
View File
@@ -22,6 +22,7 @@ speed-measure-plugin.json
*.launch
.settings/
*.sublime-workspace
.vs/*
# IDE - VSCode
.vscode/*
@@ -32,6 +33,7 @@ speed-measure-plugin.json
.history/*
# misc
/.angular/cache
/.sass-cache
/connect.lock
/coverage
@@ -46,3 +48,8 @@ testem.log
Thumbs.db
projects/common/node_modules/
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/
Vendored
+24
View File
@@ -0,0 +1,24 @@
@Library('farmmaps-shared-library') _
pipeline {
agent any;
options {
copyArtifactPermission projectNames: env.allProjectsArtifactPermission;
disableConcurrentBuilds();
}
stages {
stage('FarmmapsLibBuildAll') {
steps {
stepFarmmapsLibBuildAll();
}
}
}
post {
success {
postSuccess();
}
always {
postAlways();
}
}
}
+12 -35
View File
@@ -1,47 +1,24 @@
@Library('farmmaps-shared-library') _
pipeline {
agent any
environment {
PACKAGE_VERSION_PREFIX=sh(script: 'jq .version package.json |sed "s/\\"//g"', returnStdout: true).trim()
PACKAGE_VERSION="${PACKAGE_VERSION_PREFIX + '-prerelease.' + env.BUILD_NUMBER}"
agent any;
options {
copyArtifactPermission projectNames: env.allProjectsArtifactPermission;
disableConcurrentBuilds();
}
stages {
stage('npm install'){
stage('FarmmapsLibBuildAll') {
steps {
sh '''npm install
cd projects/common
npm install
cd ../common-map
npm install
'''
stepFarmmapsLibBuildAll();
}
}
stage('build'){
steps {
sh '''ng build common
ng build common-map'''
}
}
stage('npm publish'){
steps {
sh '''cd dist/common
npm version ${PACKAGE_VERSION}
npm publish
cd ../common-map
npm version ${PACKAGE_VERSION}
npm publish'''
}
}
}
post {
success {
postSuccess();
}
always {
emailext (
body: '${DEFAULT_CONTENT}',
mimeType: 'text/html',
replyTo: '${DEFAULT_REPLYTO}',
subject: '${DEFAULT_SUBJECT}',
to: emailextrecipients([[$class: 'CulpritsRecipientProvider'], [$class: 'RequesterRecipientProvider']])
)
postAlways();
}
}
}
+10 -4
View File
@@ -16,8 +16,8 @@ Use one of the two options below to get started.
*Setup*
```
docker pull node:10.16.0
docker run -t -i --entrypoint /bin/bash -p 4200:4200 node:10.16.0
docker pull node:12.13.1
docker run -t -i --entrypoint /bin/bash -p 4200:4200 node:12.13.1
```
Inside the running container
@@ -51,9 +51,15 @@ npm install -g @angular/cli
npm install
ng serve
```
*Go*
*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
```
+133 -58
View File
@@ -11,8 +11,12 @@
"schematics": {},
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"builder": "@angular-builders/custom-webpack:browser",
"options": {
"customWebpackConfig": {
"path": "./custom-webpack.config.js"
},
"aot": true,
"outputPath": "dist/farmmaps-lib-app",
"index": "src/index.html",
"main": "src/main.ts",
@@ -21,29 +25,35 @@
"assets": [
{
"glob": "**/*",
"input":"src/assets/images",
"output":"/images"
"input": "src/assets/images",
"output": "/images"
},
{
"glob": "silent-refresh.html",
"input":"src/assets",
"output":"/"
"input": "src/assets",
"output": "/"
},
{
"glob": "favicon.ico",
"input":"src/assets",
"output":"/"
"input": "src/assets",
"output": "/"
},
{
"glob": "**/*",
"input": "node_modules/cesium/Build/Cesium",
"output": "/assets/cesium"
},
"src/configuration.json"
],
"styles": [
"src/styles.css",
"node_modules/bootstrap/dist/css/bootstrap.min.css",
"node_modules/font-awesome/css/font-awesome.min.css",
"fonts/FMIconFont/style.css"
"fontawesome-6.2.1/css/all.min.css",
"fonts/FMIconFont/style.css",
"node_modules/cesium/Build/Cesium/Widgets/widgets.css",
"node_modules/ol/ol.css"
],
"scripts": [],
"es5BrowserSupport": true
"scripts": []
},
"configurations": {
"production": {
@@ -66,22 +76,55 @@
{
"type": "initial",
"maximumWarning": "2mb",
"maximumError": "5mb"
"maximumError": "7mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "6kb"
}
]
},
"development": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],
"optimization": false,
"sourceMap": true,
"namedChunks": true,
"extractLicenses": false,
"vendorChunk": false,
"buildOptimizer": false,
"budgets": [
{
"type": "initial",
"maximumWarning": "2mb",
"maximumError": "7mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "6kb"
}
]
}
}
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"builder": "@angular-builders/custom-webpack:dev-server",
"options": {
"browserTarget": "farmmaps-lib-app:build"
},
"configurations": {
"production": {
"browserTarget": "farmmaps-lib-app:build:production"
},
"development": {
"browserTarget": "farmmaps-lib-app:build:development"
}
}
},
"defaultConfiguration": "development"
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
@@ -105,18 +148,6 @@
"src/assets"
]
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"src/tsconfig.app.json",
"src/tsconfig.spec.json"
],
"exclude": [
"**/node_modules/**"
]
}
}
}
},
@@ -136,15 +167,6 @@
"devServerTarget": "farmmaps-lib-app:serve:production"
}
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": "e2e/tsconfig.e2e.json",
"exclude": [
"**/node_modules/**"
]
}
}
}
},
@@ -155,12 +177,17 @@
"prefix": "fm",
"architect": {
"build": {
"builder": "@angular-devkit/build-ng-packagr:build",
"builder": "@angular-devkit/build-angular:ng-packagr",
"options": {
"tsConfig": "projects/common/tsconfig.lib.json",
"project": "projects/common/ng-package.json"
}
},
, "configurations": {
"production": {
"tsConfig": "projects/common/tsconfig.lib.prod.json"
}
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
@@ -168,18 +195,6 @@
"tsConfig": "projects/common/tsconfig.spec.json",
"karmaConfig": "projects/common/karma.conf.js"
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"projects/common/tsconfig.lib.json",
"projects/common/tsconfig.spec.json"
],
"exclude": [
"**/node_modules/**"
]
}
}
}
},
@@ -190,10 +205,15 @@
"prefix": "fm-map",
"architect": {
"build": {
"builder": "@angular-devkit/build-ng-packagr:build",
"builder": "@angular-devkit/build-angular:ng-packagr",
"options": {
"tsConfig": "projects/common-map/tsconfig.lib.json",
"project": "projects/common-map/ng-package.json"
},
"configurations": {
"production": {
"tsConfig": "projects/common-map/tsconfig.lib.prod.json"
}
}
},
"test": {
@@ -203,21 +223,76 @@
"tsConfig": "projects/common-map/tsconfig.spec.json",
"karmaConfig": "projects/common-map/karma.conf.js"
}
}
}
},
"common-map3d": {
"projectType": "library",
"root": "projects/common-map3d",
"sourceRoot": "projects/common-map3d/src",
"prefix": "fm-map3d",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:ng-packagr:build",
"options": {
"tsConfig": "projects/common-map3d/tsconfig.lib.json",
"project": "projects/common-map3d/ng-package.json"
},
"configurations": {
"production": {
"tsConfig": "projects/common-map3d/tsconfig.lib.prod.json"
}
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "projects/common-map3d/src/test.ts",
"tsConfig": "projects/common-map3d/tsconfig.spec.json",
"karmaConfig": "projects/common-map3d/karma.conf.js"
}
}
}
},
"ng-openlayers": {
"projectType": "library",
"root": "projects/ng-openlayers",
"sourceRoot": "projects/ng-openlayers/src",
"prefix": "ng-openlayers",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:ng-packagr",
"options": {
"tsConfig": "projects/ng-openlayers/tsconfig.lib.json",
"project": "projects/ng-openlayers/ng-package.json"
},
"configurations": {
"production": {
"tsConfig": "projects/ng-openlayers/tsconfig.lib.prod.json"
}
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "projects/ng-openlayers/src/test.ts",
"tsConfig": "projects/ng-openlayers/tsconfig.spec.json",
"karmaConfig": "projects/ng-openlayers/karma.conf.js"
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"builder": "@angular-eslint/builder:lint",
"options": {
"tsConfig": [
"projects/common-map/tsconfig.lib.json",
"projects/common-map/tsconfig.spec.json"
],
"exclude": [
"**/node_modules/**"
"lintFilePatterns": [
"projects/ng-openlayers/**/*.ts",
"projects/ng-openlayers/**/*.html"
]
}
}
}
}
},
"defaultProject": "farmmaps-lib-app"
"cli": {
"analytics": false
}
}
+16
View File
@@ -0,0 +1,16 @@
module.exports = {
resolve: {
fallback: {
// Resolve node module use of fs
fs: "empty",
Buffer: false,
http: require.resolve("stream-http"),
https: require.resolve("https-browserify"),
url: require.resolve("url/"),
zlib: require.resolve('browserify-zlib'),
assert: require.resolve("assert/"),
util: require.resolve("util/"),
buffer: require.resolve("buffer/")
}
}
};
+18
View File
@@ -0,0 +1,18 @@
Font Awesome Pro License
------------------------
Font Awesome Pro is commercial software that requires a paid license. Full
Font Awesome Pro license: https://fontawesome.com/license.
# Commercial License
The Font Awesome Pro commercial license allows you to pay for FA Pro once, own
it, and use it just about everywhere you'd like.
# Attribution
Attribution is not required by the Font Awesome Pro commercial license.
# Brand Icons
All brand icons are trademarks of their respective owners. The use of these
trademarks does not indicate endorsement of the trademark holder by Font
Awesome, nor vice versa. **Please do not use brand logos for any purpose except
to represent the company, product, or service to which they refer.**
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
+19
View File
@@ -0,0 +1,19 @@
/*!
* Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license (Commercial License)
* Copyright 2022 Fonticons, Inc.
*/
:root, :host {
--fa-style-family-classic: 'Font Awesome 6 Pro';
--fa-font-light: normal 300 1em/1 'Font Awesome 6 Pro'; }
@font-face {
font-family: 'Font Awesome 6 Pro';
font-style: normal;
font-weight: 300;
font-display: block;
src: url("../webfonts/fa-light-300.woff2") format("woff2"), url("../webfonts/fa-light-300.ttf") format("truetype"); }
.fal,
.fa-light {
font-weight: 300; }
+6
View File
@@ -0,0 +1,6 @@
/*!
* Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license (Commercial License)
* Copyright 2022 Fonticons, Inc.
*/
:host,:root{--fa-style-family-classic:"Font Awesome 6 Pro";--fa-font-light:normal 300 1em/1 "Font Awesome 6 Pro"}@font-face{font-family:"Font Awesome 6 Pro";font-style:normal;font-weight:300;font-display:block;src:url(../webfonts/fa-light-300.woff2) format("woff2"),url(../webfonts/fa-light-300.ttf) format("truetype")}.fa-light,.fal{font-weight:300}
+19
View File
@@ -0,0 +1,19 @@
/*!
* Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license (Commercial License)
* Copyright 2022 Fonticons, Inc.
*/
:root, :host {
--fa-style-family-classic: 'Font Awesome 6 Pro';
--fa-font-regular: normal 400 1em/1 'Font Awesome 6 Pro'; }
@font-face {
font-family: 'Font Awesome 6 Pro';
font-style: normal;
font-weight: 400;
font-display: block;
src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }
.far,
.fa-regular {
font-weight: 400; }
+6
View File
@@ -0,0 +1,6 @@
/*!
* Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license (Commercial License)
* Copyright 2022 Fonticons, Inc.
*/
:host,:root{--fa-style-family-classic:"Font Awesome 6 Pro";--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Pro"}@font-face{font-family:"Font Awesome 6 Pro";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}.fa-regular,.far{font-weight:400}
+19
View File
@@ -0,0 +1,19 @@
/*!
* Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license (Commercial License)
* Copyright 2022 Fonticons, Inc.
*/
:root, :host {
--fa-style-family-sharp: 'Font Awesome 6 Sharp';
--fa-font-sharp-solid: normal 900 1em/1 'Font Awesome 6 Sharp'; }
@font-face {
font-family: 'Font Awesome 6 Sharp';
font-style: normal;
font-weight: 900;
font-display: block;
src: url("../webfonts/fa-sharp-solid-900.woff2") format("woff2"), url("../webfonts/fa-sharp-solid-900.ttf") format("truetype"); }
.fass,
.fa-sharp-solid {
font-weight: 900; }
+6
View File
@@ -0,0 +1,6 @@
/*!
* Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license (Commercial License)
* Copyright 2022 Fonticons, Inc.
*/
:host,:root{--fa-style-family-sharp:"Font Awesome 6 Sharp";--fa-font-sharp-solid:normal 900 1em/1 "Font Awesome 6 Sharp"}@font-face{font-family:"Font Awesome 6 Sharp";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-sharp-solid-900.woff2) format("woff2"),url(../webfonts/fa-sharp-solid-900.ttf) format("truetype")}.fa-sharp-solid,.fass{font-weight:900}
+19
View File
@@ -0,0 +1,19 @@
/*!
* Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license (Commercial License)
* Copyright 2022 Fonticons, Inc.
*/
:root, :host {
--fa-style-family-classic: 'Font Awesome 6 Pro';
--fa-font-solid: normal 900 1em/1 'Font Awesome 6 Pro'; }
@font-face {
font-family: 'Font Awesome 6 Pro';
font-style: normal;
font-weight: 900;
font-display: block;
src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }
.fas,
.fa-solid {
font-weight: 900; }
+6
View File
@@ -0,0 +1,6 @@
/*!
* Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license (Commercial License)
* Copyright 2022 Fonticons, Inc.
*/
:host,:root{--fa-style-family-classic:"Font Awesome 6 Pro";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Pro"}@font-face{font-family:"Font Awesome 6 Pro";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}.fa-solid,.fas{font-weight:900}
+635
View File
@@ -0,0 +1,635 @@
/*!
* Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license (Commercial License)
* Copyright 2022 Fonticons, Inc.
*/
:root, :host {
--fa-font-solid: normal 900 1em/1 'Font Awesome 6 Solid';
--fa-font-regular: normal 400 1em/1 'Font Awesome 6 Regular';
--fa-font-light: normal 300 1em/1 'Font Awesome 6 Light';
--fa-font-thin: normal 100 1em/1 'Font Awesome 6 Thin';
--fa-font-duotone: normal 900 1em/1 'Font Awesome 6 Duotone';
--fa-font-sharp-solid: normal 900 1em/1 'Font Awesome 6 Sharp';
--fa-font-brands: normal 400 1em/1 'Font Awesome 6 Brands'; }
svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
overflow: visible;
box-sizing: content-box; }
.svg-inline--fa {
display: var(--fa-display, inline-block);
height: 1em;
overflow: visible;
vertical-align: -.125em; }
.svg-inline--fa.fa-2xs {
vertical-align: 0.1em; }
.svg-inline--fa.fa-xs {
vertical-align: 0em; }
.svg-inline--fa.fa-sm {
vertical-align: -0.07143em; }
.svg-inline--fa.fa-lg {
vertical-align: -0.2em; }
.svg-inline--fa.fa-xl {
vertical-align: -0.25em; }
.svg-inline--fa.fa-2xl {
vertical-align: -0.3125em; }
.svg-inline--fa.fa-pull-left {
margin-right: var(--fa-pull-margin, 0.3em);
width: auto; }
.svg-inline--fa.fa-pull-right {
margin-left: var(--fa-pull-margin, 0.3em);
width: auto; }
.svg-inline--fa.fa-li {
width: var(--fa-li-width, 2em);
top: 0.25em; }
.svg-inline--fa.fa-fw {
width: var(--fa-fw-width, 1.25em); }
.fa-layers svg.svg-inline--fa {
bottom: 0;
left: 0;
margin: auto;
position: absolute;
right: 0;
top: 0; }
.fa-layers-text, .fa-layers-counter {
display: inline-block;
position: absolute;
text-align: center; }
.fa-layers {
display: inline-block;
height: 1em;
position: relative;
text-align: center;
vertical-align: -.125em;
width: 1em; }
.fa-layers svg.svg-inline--fa {
-webkit-transform-origin: center center;
transform-origin: center center; }
.fa-layers-text {
left: 50%;
top: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
-webkit-transform-origin: center center;
transform-origin: center center; }
.fa-layers-counter {
background-color: var(--fa-counter-background-color, #ff253a);
border-radius: var(--fa-counter-border-radius, 1em);
box-sizing: border-box;
color: var(--fa-inverse, #fff);
line-height: var(--fa-counter-line-height, 1);
max-width: var(--fa-counter-max-width, 5em);
min-width: var(--fa-counter-min-width, 1.5em);
overflow: hidden;
padding: var(--fa-counter-padding, 0.25em 0.5em);
right: var(--fa-right, 0);
text-overflow: ellipsis;
top: var(--fa-top, 0);
-webkit-transform: scale(var(--fa-counter-scale, 0.25));
transform: scale(var(--fa-counter-scale, 0.25));
-webkit-transform-origin: top right;
transform-origin: top right; }
.fa-layers-bottom-right {
bottom: var(--fa-bottom, 0);
right: var(--fa-right, 0);
top: auto;
-webkit-transform: scale(var(--fa-layers-scale, 0.25));
transform: scale(var(--fa-layers-scale, 0.25));
-webkit-transform-origin: bottom right;
transform-origin: bottom right; }
.fa-layers-bottom-left {
bottom: var(--fa-bottom, 0);
left: var(--fa-left, 0);
right: auto;
top: auto;
-webkit-transform: scale(var(--fa-layers-scale, 0.25));
transform: scale(var(--fa-layers-scale, 0.25));
-webkit-transform-origin: bottom left;
transform-origin: bottom left; }
.fa-layers-top-right {
top: var(--fa-top, 0);
right: var(--fa-right, 0);
-webkit-transform: scale(var(--fa-layers-scale, 0.25));
transform: scale(var(--fa-layers-scale, 0.25));
-webkit-transform-origin: top right;
transform-origin: top right; }
.fa-layers-top-left {
left: var(--fa-left, 0);
right: auto;
top: var(--fa-top, 0);
-webkit-transform: scale(var(--fa-layers-scale, 0.25));
transform: scale(var(--fa-layers-scale, 0.25));
-webkit-transform-origin: top left;
transform-origin: top left; }
.fa-1x {
font-size: 1em; }
.fa-2x {
font-size: 2em; }
.fa-3x {
font-size: 3em; }
.fa-4x {
font-size: 4em; }
.fa-5x {
font-size: 5em; }
.fa-6x {
font-size: 6em; }
.fa-7x {
font-size: 7em; }
.fa-8x {
font-size: 8em; }
.fa-9x {
font-size: 9em; }
.fa-10x {
font-size: 10em; }
.fa-2xs {
font-size: 0.625em;
line-height: 0.1em;
vertical-align: 0.225em; }
.fa-xs {
font-size: 0.75em;
line-height: 0.08333em;
vertical-align: 0.125em; }
.fa-sm {
font-size: 0.875em;
line-height: 0.07143em;
vertical-align: 0.05357em; }
.fa-lg {
font-size: 1.25em;
line-height: 0.05em;
vertical-align: -0.075em; }
.fa-xl {
font-size: 1.5em;
line-height: 0.04167em;
vertical-align: -0.125em; }
.fa-2xl {
font-size: 2em;
line-height: 0.03125em;
vertical-align: -0.1875em; }
.fa-fw {
text-align: center;
width: 1.25em; }
.fa-ul {
list-style-type: none;
margin-left: var(--fa-li-margin, 2.5em);
padding-left: 0; }
.fa-ul > li {
position: relative; }
.fa-li {
left: calc(var(--fa-li-width, 2em) * -1);
position: absolute;
text-align: center;
width: var(--fa-li-width, 2em);
line-height: inherit; }
.fa-border {
border-color: var(--fa-border-color, #eee);
border-radius: var(--fa-border-radius, 0.1em);
border-style: var(--fa-border-style, solid);
border-width: var(--fa-border-width, 0.08em);
padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); }
.fa-pull-left {
float: left;
margin-right: var(--fa-pull-margin, 0.3em); }
.fa-pull-right {
float: right;
margin-left: var(--fa-pull-margin, 0.3em); }
.fa-beat {
-webkit-animation-name: fa-beat;
animation-name: fa-beat;
-webkit-animation-delay: var(--fa-animation-delay, 0s);
animation-delay: var(--fa-animation-delay, 0s);
-webkit-animation-direction: var(--fa-animation-direction, normal);
animation-direction: var(--fa-animation-direction, normal);
-webkit-animation-duration: var(--fa-animation-duration, 1s);
animation-duration: var(--fa-animation-duration, 1s);
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
-webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);
animation-timing-function: var(--fa-animation-timing, ease-in-out); }
.fa-bounce {
-webkit-animation-name: fa-bounce;
animation-name: fa-bounce;
-webkit-animation-delay: var(--fa-animation-delay, 0s);
animation-delay: var(--fa-animation-delay, 0s);
-webkit-animation-direction: var(--fa-animation-direction, normal);
animation-direction: var(--fa-animation-direction, normal);
-webkit-animation-duration: var(--fa-animation-duration, 1s);
animation-duration: var(--fa-animation-duration, 1s);
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
-webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); }
.fa-fade {
-webkit-animation-name: fa-fade;
animation-name: fa-fade;
-webkit-animation-delay: var(--fa-animation-delay, 0s);
animation-delay: var(--fa-animation-delay, 0s);
-webkit-animation-direction: var(--fa-animation-direction, normal);
animation-direction: var(--fa-animation-direction, normal);
-webkit-animation-duration: var(--fa-animation-duration, 1s);
animation-duration: var(--fa-animation-duration, 1s);
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
-webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); }
.fa-beat-fade {
-webkit-animation-name: fa-beat-fade;
animation-name: fa-beat-fade;
-webkit-animation-delay: var(--fa-animation-delay, 0s);
animation-delay: var(--fa-animation-delay, 0s);
-webkit-animation-direction: var(--fa-animation-direction, normal);
animation-direction: var(--fa-animation-direction, normal);
-webkit-animation-duration: var(--fa-animation-duration, 1s);
animation-duration: var(--fa-animation-duration, 1s);
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
-webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); }
.fa-flip {
-webkit-animation-name: fa-flip;
animation-name: fa-flip;
-webkit-animation-delay: var(--fa-animation-delay, 0s);
animation-delay: var(--fa-animation-delay, 0s);
-webkit-animation-direction: var(--fa-animation-direction, normal);
animation-direction: var(--fa-animation-direction, normal);
-webkit-animation-duration: var(--fa-animation-duration, 1s);
animation-duration: var(--fa-animation-duration, 1s);
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
-webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);
animation-timing-function: var(--fa-animation-timing, ease-in-out); }
.fa-shake {
-webkit-animation-name: fa-shake;
animation-name: fa-shake;
-webkit-animation-delay: var(--fa-animation-delay, 0s);
animation-delay: var(--fa-animation-delay, 0s);
-webkit-animation-direction: var(--fa-animation-direction, normal);
animation-direction: var(--fa-animation-direction, normal);
-webkit-animation-duration: var(--fa-animation-duration, 1s);
animation-duration: var(--fa-animation-duration, 1s);
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
-webkit-animation-timing-function: var(--fa-animation-timing, linear);
animation-timing-function: var(--fa-animation-timing, linear); }
.fa-spin {
-webkit-animation-name: fa-spin;
animation-name: fa-spin;
-webkit-animation-delay: var(--fa-animation-delay, 0s);
animation-delay: var(--fa-animation-delay, 0s);
-webkit-animation-direction: var(--fa-animation-direction, normal);
animation-direction: var(--fa-animation-direction, normal);
-webkit-animation-duration: var(--fa-animation-duration, 2s);
animation-duration: var(--fa-animation-duration, 2s);
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
-webkit-animation-timing-function: var(--fa-animation-timing, linear);
animation-timing-function: var(--fa-animation-timing, linear); }
.fa-spin-reverse {
--fa-animation-direction: reverse; }
.fa-pulse,
.fa-spin-pulse {
-webkit-animation-name: fa-spin;
animation-name: fa-spin;
-webkit-animation-direction: var(--fa-animation-direction, normal);
animation-direction: var(--fa-animation-direction, normal);
-webkit-animation-duration: var(--fa-animation-duration, 1s);
animation-duration: var(--fa-animation-duration, 1s);
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
-webkit-animation-timing-function: var(--fa-animation-timing, steps(8));
animation-timing-function: var(--fa-animation-timing, steps(8)); }
@media (prefers-reduced-motion: reduce) {
.fa-beat,
.fa-bounce,
.fa-fade,
.fa-beat-fade,
.fa-flip,
.fa-pulse,
.fa-shake,
.fa-spin,
.fa-spin-pulse {
-webkit-animation-delay: -1ms;
animation-delay: -1ms;
-webkit-animation-duration: 1ms;
animation-duration: 1ms;
-webkit-animation-iteration-count: 1;
animation-iteration-count: 1;
transition-delay: 0s;
transition-duration: 0s; } }
@-webkit-keyframes fa-beat {
0%, 90% {
-webkit-transform: scale(1);
transform: scale(1); }
45% {
-webkit-transform: scale(var(--fa-beat-scale, 1.25));
transform: scale(var(--fa-beat-scale, 1.25)); } }
@keyframes fa-beat {
0%, 90% {
-webkit-transform: scale(1);
transform: scale(1); }
45% {
-webkit-transform: scale(var(--fa-beat-scale, 1.25));
transform: scale(var(--fa-beat-scale, 1.25)); } }
@-webkit-keyframes fa-bounce {
0% {
-webkit-transform: scale(1, 1) translateY(0);
transform: scale(1, 1) translateY(0); }
10% {
-webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); }
30% {
-webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); }
50% {
-webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); }
57% {
-webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); }
64% {
-webkit-transform: scale(1, 1) translateY(0);
transform: scale(1, 1) translateY(0); }
100% {
-webkit-transform: scale(1, 1) translateY(0);
transform: scale(1, 1) translateY(0); } }
@keyframes fa-bounce {
0% {
-webkit-transform: scale(1, 1) translateY(0);
transform: scale(1, 1) translateY(0); }
10% {
-webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); }
30% {
-webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); }
50% {
-webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); }
57% {
-webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); }
64% {
-webkit-transform: scale(1, 1) translateY(0);
transform: scale(1, 1) translateY(0); }
100% {
-webkit-transform: scale(1, 1) translateY(0);
transform: scale(1, 1) translateY(0); } }
@-webkit-keyframes fa-fade {
50% {
opacity: var(--fa-fade-opacity, 0.4); } }
@keyframes fa-fade {
50% {
opacity: var(--fa-fade-opacity, 0.4); } }
@-webkit-keyframes fa-beat-fade {
0%, 100% {
opacity: var(--fa-beat-fade-opacity, 0.4);
-webkit-transform: scale(1);
transform: scale(1); }
50% {
opacity: 1;
-webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));
transform: scale(var(--fa-beat-fade-scale, 1.125)); } }
@keyframes fa-beat-fade {
0%, 100% {
opacity: var(--fa-beat-fade-opacity, 0.4);
-webkit-transform: scale(1);
transform: scale(1); }
50% {
opacity: 1;
-webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));
transform: scale(var(--fa-beat-fade-scale, 1.125)); } }
@-webkit-keyframes fa-flip {
50% {
-webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } }
@keyframes fa-flip {
50% {
-webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } }
@-webkit-keyframes fa-shake {
0% {
-webkit-transform: rotate(-15deg);
transform: rotate(-15deg); }
4% {
-webkit-transform: rotate(15deg);
transform: rotate(15deg); }
8%, 24% {
-webkit-transform: rotate(-18deg);
transform: rotate(-18deg); }
12%, 28% {
-webkit-transform: rotate(18deg);
transform: rotate(18deg); }
16% {
-webkit-transform: rotate(-22deg);
transform: rotate(-22deg); }
20% {
-webkit-transform: rotate(22deg);
transform: rotate(22deg); }
32% {
-webkit-transform: rotate(-12deg);
transform: rotate(-12deg); }
36% {
-webkit-transform: rotate(12deg);
transform: rotate(12deg); }
40%, 100% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg); } }
@keyframes fa-shake {
0% {
-webkit-transform: rotate(-15deg);
transform: rotate(-15deg); }
4% {
-webkit-transform: rotate(15deg);
transform: rotate(15deg); }
8%, 24% {
-webkit-transform: rotate(-18deg);
transform: rotate(-18deg); }
12%, 28% {
-webkit-transform: rotate(18deg);
transform: rotate(18deg); }
16% {
-webkit-transform: rotate(-22deg);
transform: rotate(-22deg); }
20% {
-webkit-transform: rotate(22deg);
transform: rotate(22deg); }
32% {
-webkit-transform: rotate(-12deg);
transform: rotate(-12deg); }
36% {
-webkit-transform: rotate(12deg);
transform: rotate(12deg); }
40%, 100% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg); } }
@-webkit-keyframes fa-spin {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg); }
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg); } }
@keyframes fa-spin {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg); }
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg); } }
.fa-rotate-90 {
-webkit-transform: rotate(90deg);
transform: rotate(90deg); }
.fa-rotate-180 {
-webkit-transform: rotate(180deg);
transform: rotate(180deg); }
.fa-rotate-270 {
-webkit-transform: rotate(270deg);
transform: rotate(270deg); }
.fa-flip-horizontal {
-webkit-transform: scale(-1, 1);
transform: scale(-1, 1); }
.fa-flip-vertical {
-webkit-transform: scale(1, -1);
transform: scale(1, -1); }
.fa-flip-both,
.fa-flip-horizontal.fa-flip-vertical {
-webkit-transform: scale(-1, -1);
transform: scale(-1, -1); }
.fa-rotate-by {
-webkit-transform: rotate(var(--fa-rotate-angle, none));
transform: rotate(var(--fa-rotate-angle, none)); }
.fa-stack {
display: inline-block;
vertical-align: middle;
height: 2em;
position: relative;
width: 2.5em; }
.fa-stack-1x,
.fa-stack-2x {
bottom: 0;
left: 0;
margin: auto;
position: absolute;
right: 0;
top: 0;
z-index: var(--fa-stack-z-index, auto); }
.svg-inline--fa.fa-stack-1x {
height: 1em;
width: 1.25em; }
.svg-inline--fa.fa-stack-2x {
height: 2em;
width: 2.5em; }
.fa-inverse {
color: var(--fa-inverse, #fff); }
.sr-only,
.fa-sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border-width: 0; }
.sr-only-focusable:not(:focus),
.fa-sr-only-focusable:not(:focus) {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border-width: 0; }
.svg-inline--fa .fa-primary {
fill: var(--fa-primary-color, currentColor);
opacity: var(--fa-primary-opacity, 1); }
.svg-inline--fa .fa-secondary {
fill: var(--fa-secondary-color, currentColor);
opacity: var(--fa-secondary-opacity, 0.4); }
.svg-inline--fa.fa-swap-opacity .fa-primary {
opacity: var(--fa-secondary-opacity, 0.4); }
.svg-inline--fa.fa-swap-opacity .fa-secondary {
opacity: var(--fa-primary-opacity, 1); }
.svg-inline--fa mask .fa-primary,
.svg-inline--fa mask .fa-secondary {
fill: black; }
.fad.fa-inverse,
.fa-duotone.fa-inverse {
color: var(--fa-inverse, #fff); }
File diff suppressed because one or more lines are too long
+19
View File
@@ -0,0 +1,19 @@
/*!
* Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license (Commercial License)
* Copyright 2022 Fonticons, Inc.
*/
:root, :host {
--fa-style-family-classic: 'Font Awesome 6 Pro';
--fa-font-thin: normal 100 1em/1 'Font Awesome 6 Pro'; }
@font-face {
font-family: 'Font Awesome 6 Pro';
font-style: normal;
font-weight: 100;
font-display: block;
src: url("../webfonts/fa-thin-100.woff2") format("woff2"), url("../webfonts/fa-thin-100.ttf") format("truetype"); }
.fat,
.fa-thin {
font-weight: 100; }
+6
View File
@@ -0,0 +1,6 @@
/*!
* Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license (Commercial License)
* Copyright 2022 Fonticons, Inc.
*/
:host,:root{--fa-style-family-classic:"Font Awesome 6 Pro";--fa-font-thin:normal 100 1em/1 "Font Awesome 6 Pro"}@font-face{font-family:"Font Awesome 6 Pro";font-style:normal;font-weight:100;font-display:block;src:url(../webfonts/fa-thin-100.woff2) format("woff2"),url(../webfonts/fa-thin-100.ttf) format("truetype")}.fa-thin,.fat{font-weight:100}
+26
View File
@@ -0,0 +1,26 @@
/*!
* Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license (Commercial License)
* Copyright 2022 Fonticons, Inc.
*/
@font-face {
font-family: 'FontAwesome';
font-display: block;
src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }
@font-face {
font-family: 'FontAwesome';
font-display: block;
src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }
@font-face {
font-family: 'FontAwesome';
font-display: block;
src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype");
unicode-range: U+F003,U+F006,U+F014,U+F016-F017,U+F01A-F01B,U+F01D,U+F022,U+F03E,U+F044,U+F046,U+F05C-F05D,U+F06E,U+F070,U+F087-F088,U+F08A,U+F094,U+F096-F097,U+F09D,U+F0A0,U+F0A2,U+F0A4-F0A7,U+F0C5,U+F0C7,U+F0E5-F0E6,U+F0EB,U+F0F6-F0F8,U+F10C,U+F114-F115,U+F118-F11A,U+F11C-F11D,U+F133,U+F147,U+F14E,U+F150-F152,U+F185-F186,U+F18E,U+F190-F192,U+F196,U+F1C1-F1C9,U+F1D9,U+F1DB,U+F1E3,U+F1EA,U+F1F7,U+F1F9,U+F20A,U+F247-F248,U+F24A,U+F24D,U+F255-F25B,U+F25D,U+F271-F274,U+F278,U+F27B,U+F28C,U+F28E,U+F29C,U+F2B5,U+F2B7,U+F2BA,U+F2BC,U+F2BE,U+F2C0-F2C1,U+F2C3,U+F2D0,U+F2D2,U+F2D4,U+F2DC; }
@font-face {
font-family: 'FontAwesome';
font-display: block;
src: url("../webfonts/fa-v4compatibility.woff2") format("woff2"), url("../webfonts/fa-v4compatibility.ttf") format("truetype");
unicode-range: U+F041,U+F047,U+F065-F066,U+F07D-F07E,U+F080,U+F08B,U+F08E,U+F090,U+F09A,U+F0AC,U+F0AE,U+F0B2,U+F0D0,U+F0D6,U+F0E4,U+F0EC,U+F10A-F10B,U+F123,U+F13E,U+F148-F149,U+F14C,U+F156,U+F15E,U+F160-F161,U+F163,U+F175-F178,U+F195,U+F1F8,U+F219,U+F27A; }
+6
View File
@@ -0,0 +1,6 @@
/*!
* Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license (Commercial License)
* Copyright 2022 Fonticons, Inc.
*/
@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-v4compatibility.woff2) format("woff2"),url(../webfonts/fa-v4compatibility.ttf) format("truetype");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
+34
View File
@@ -0,0 +1,34 @@
/*!
* Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license (Commercial License)
* Copyright 2022 Fonticons, Inc.
*/
@font-face {
font-family: 'Font Awesome 5 Brands';
font-display: block;
font-weight: 400;
src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }
@font-face {
font-family: 'Font Awesome 5 Pro';
font-display: block;
font-weight: 900;
src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }
@font-face {
font-family: 'Font Awesome 5 Pro';
font-display: block;
font-weight: 400;
src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }
@font-face {
font-family: 'Font Awesome 5 Pro';
font-display: block;
font-weight: 300;
src: url("../webfonts/fa-light-300.woff2") format("woff2"), url("../webfonts/fa-light-300.ttf") format("truetype"); }
@font-face {
font-family: 'Font Awesome 5 Duotone';
font-display: block;
font-weight: 900;
src: url("../webfonts/fa-duotone-900.woff2") format("woff2"), url("../webfonts/fa-duotone-900.ttf") format("truetype"); }
+6
View File
@@ -0,0 +1,6 @@
/*!
* Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license (Commercial License)
* Copyright 2022 Fonticons, Inc.
*/
@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Pro";font-display:block;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Pro";font-display:block;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Pro";font-display:block;font-weight:300;src:url(../webfonts/fa-light-300.woff2) format("woff2"),url(../webfonts/fa-light-300.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Duotone";font-display:block;font-weight:900;src:url(../webfonts/fa-duotone-900.woff2) format("woff2"),url(../webfonts/fa-duotone-900.ttf) format("truetype")}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 143 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.
+40
View File
@@ -23,6 +23,46 @@
content: "b";
}
.fm-trijntje:before {
content: "c";
}
.fm-satellite:before {
content: "d";
}
.fm-sensoterra:before {
content: "e";
}
.fm-blight:before {
content: "f";
}
.fm-agrodatacube:before {
content: "g";
}
.fm-app-menu:before {
content: "h";
}
.fm-blight-holes:before {
content: "i";
}
.fm-carbon:before {
content: "j";
}
.fm-bo-akkerbouw:before {
content: "k";
}
.fm-grass:before {
content: "l";
}
@font-face {
font-family: "FarmMaps";
src: url("./FMIconFont.woff") format("woff"), /* Modern Browsers */
+29326 -8557
View File
File diff suppressed because it is too large Load Diff
+72 -46
View File
@@ -1,63 +1,89 @@
{
"name": "farmmaps-lib-app",
"version": "0.0.1",
"version": "4.10.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"lint": "eslint -c .eslintrc.js --ext .ts",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animations": "~7.2.0",
"@angular/common": "~7.2.0",
"@angular/compiler": "~7.2.0",
"@angular/core": "~7.2.0",
"@angular/forms": "~7.2.0",
"@angular/platform-browser": "~7.2.0",
"@angular/platform-browser-dynamic": "~7.2.0",
"@angular/router": "~7.2.0",
"@aspnet/signalr": "^1.1.4",
"@farmmaps/common": ">=0.0.1-prerelease.69 <0.0.1",
"@farmmaps/common-map": ">=0.0.1-prerelease.69 <0.0.1",
"@ng-bootstrap/ng-bootstrap": "^4.2.1",
"@ngrx/effects": "^7.2.0",
"@ngrx/router-store": "^7.2.0",
"@ngrx/store": "^7.2.0",
"bootstrap": "^4.3.1",
"font-awesome": "^4.7.0",
"core-js": "^2.5.4",
"ngrx-store-localstorage": "^8.0.0",
"@angular/animations": "^18.2.3",
"@angular/common": "^18.2.3",
"@angular/compiler": "^18.2.3",
"@angular/core": "^18.2.3",
"@angular-eslint/eslint-plugin": "^18.2.0",
"@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",
"ng-openlayers": "file:dist/ng-openlayers",
"@microsoft/signalr": "^3.1.16",
"@ng-bootstrap/ng-bootstrap": "^17.0.1",
"@ngrx/effects": "^18.0.2",
"@ngrx/router-store": "^18.0.2",
"@ngrx/store": "^18.0.2",
"@popperjs/core": "^2.11.8",
"angular-oauth2-oidc": "^17.0.2",
"assert": "^2.0.0",
"bootstrap": "^5.3.3",
"browserify-zlib": "^0.2.0",
"buffer": "^6.0.3",
"cesium": "^1.97.0",
"core-js": "^2.6.12",
"https-browserify": "^1.0.0",
"moment": "^2.29.4",
"ngrx-store-localstorage": "18.0.0",
"ngx-avatars": "1.8.0",
"ngx-clipboard": "16.0.0",
"ngx-image-cropper": "^7.0.0",
"ngx-uploadx": "^6.2.0",
"ol": "^8.2.0",
"olcs": "^2.13.1",
"resumablejs": "^1.1.0",
"rxjs": "~6.3.3",
"rxjs": "^7.8.1",
"stream": "^0.0.2",
"stream-http": "^3.2.0",
"tassign": "^1.0.0",
"zone.js": "~0.8.26"
"tslib": "^2.4.0",
"url": "^0.11.0",
"util": "^0.12.4",
"zone.js": "~0.14.10"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.13.0",
"@angular-devkit/build-ng-packagr": "~0.13.0",
"@angular/cli": "~7.3.8",
"@angular/compiler-cli": "~7.2.0",
"@angular/language-service": "~7.2.0",
"@types/node": "~8.9.4",
"@angular-builders/custom-webpack": "^18",
"@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.3",
"codelyzer": "~4.5.0",
"jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~4.0.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~1.1.2",
"karma-jasmine-html-reporter": "^0.2.2",
"ng-packagr": "^4.2.0",
"protractor": "~5.4.0",
"ts-node": "~7.0.0",
"tsickle": ">=0.34.0",
"tslib": "^1.9.0",
"tslint": "~5.11.0",
"typescript": "~3.2.2"
"@types/jasminewd2": "^2.0.9",
"@types/node": "^12.20.15",
"@typescript-eslint/eslint-plugin": "^6.18.0",
"@typescript-eslint/eslint-plugin-tslint": "^6.18.0",
"@typescript-eslint/parser": "^6.18.0",
"codelyzer": "^6.0.2",
"eslint": "^8.35.0",
"eslint-config-prettier": "^8.6.0",
"eslint-plugin-import": "^2.27.5",
"jasmine-core": "^4.3.0",
"jasmine-spec-reporter": "^7.0.0",
"karma": "^6.3.20",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage-istanbul-reporter": "^3.0.3",
"karma-jasmine": "^5.1.0",
"karma-jasmine-html-reporter": "^2.0.0",
"ng-packagr": "^18.2.1",
"protractor": "~7.0.0",
"ts-node": "^8.8.1",
"typescript": "~5.4.4"
}
}
}
+22
View File
@@ -0,0 +1,22 @@
module.exports = {
"env": {
"browser": true,
"es2021": true
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended"
],
"overrides": [
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
},
"plugins": [
"@typescript-eslint"
],
"rules": {
}
}
+1 -1
View File
@@ -4,7 +4,7 @@
"lib": {
"entryFile": "src/public-api.ts"
},
"whitelistedNonPeerDependencies": [
"allowedNonPeerDependencies": [
"."
]
}
+199 -85
View File
@@ -1,108 +1,222 @@
{
"name": "@farmmaps/common-map",
"version": "0.0.1",
"lockfileVersion": 1,
"version": "2.0.0",
"lockfileVersion": 3,
"requires": true,
"dependencies": {
"@farmmaps/common": {
"version": "0.0.1-prerelease.56",
"resolved": "https://repository.akkerweb.nl/repository/npm-group/@farmmaps/common/-/common-0.0.1-prerelease.56.tgz",
"integrity": "sha512-m9KxWsLkTSz2JI074gIJH1kDR0PCLsFAug8oBjtlU/QxgBySrvqHCRiODpNmNWnFyNTZHqKHJQefn3Q9iAil4g==",
"requires": {
"angular-oauth2-oidc": "^5.0.2",
"ngx-uploadx": "^3.1.3",
"tslib": "^1.9.0"
"packages": {
"": {
"name": "@farmmaps/common-map",
"version": "2.0.0",
"dependencies": {
"tslib": "^2.0.0"
},
"peerDependencies": {
"@angular/core": "^18.2.3",
"@ngrx/effects": "^18",
"@ngrx/router-store": "^18",
"@ngrx/store": "^18",
"ng-openlayers": "file:dist/ng-openlayers",
"ngrx-store-localstorage": "^18",
"tassign": "^1.0.0"
}
},
"angular-oauth2-oidc": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/angular-oauth2-oidc/-/angular-oauth2-oidc-5.0.2.tgz",
"integrity": "sha512-jtOv4IWEjSFfBHVE4seWGWT/ZfWJ95QJ1JaFhVVGJEF64ibGuPwV3ztwTOUl98QHi/Yg4PXXDAisb31JnIbxBw==",
"requires": {
"jsrsasign": "^8.0.12",
"tslib": "^1.9.0"
"../../dist/libs/ng-openlayers": {
"version": "18.0.0",
"extraneous": true,
"license": "MPL-2.0",
"dependencies": {
"tslib": "^2.3.0"
},
"peerDependencies": {
"@angular/common": "^18.2.3",
"@angular/core": "^18.2.3",
"ol": "^8.2.0"
}
},
"ieee754": {
"version": "1.1.13",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
"integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg=="
"dist/ng-openlayers": {
"peer": true
},
"jsrsasign": {
"version": "8.0.12",
"resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-8.0.12.tgz",
"integrity": "sha1-Iqu5ZW00owuVMENnIINeicLlwxY="
},
"ngx-openlayers": {
"version": "1.0.0-next.9",
"resolved": "https://registry.npmjs.org/ngx-openlayers/-/ngx-openlayers-1.0.0-next.9.tgz",
"integrity": "sha512-14UFxJX9oeOXtq+HJCJyXn0sBmYmCqj2AnFtetKk1FsDe8EUMFGIRju8UOFegCr2oEu5JsuRjALcfW7lCe+teg==",
"requires": {
"tslib": "^1.9.0"
"node_modules/@angular/common": {
"version": "18.2.3",
"resolved": "https://registry.npmjs.org/@angular/common/-/common-18.2.3.tgz",
"integrity": "sha512-NFL4yXXImSCH7i1xnHykUjHa9vl9827fGiwSV2mnf7LjSUsyDzFD8/54dNuYN9OY8AUD+PnK0YdNro6cczVyIA==",
"peer": true,
"dependencies": {
"tslib": "^2.3.0"
},
"engines": {
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
},
"peerDependencies": {
"@angular/core": "18.2.3",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
"ngx-uploadx": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/ngx-uploadx/-/ngx-uploadx-3.3.2.tgz",
"integrity": "sha512-gRdXXq2cRU9HE6dj65qay9GV8NRC7n8y5LtMzJWqsfu2k3CHMQxo2TqZwA9/l/PqJ76RoO7sTPy1OenFQ+krkQ==",
"requires": {
"tslib": "^1.9.0"
"node_modules/@angular/core": {
"version": "18.2.3",
"resolved": "https://registry.npmjs.org/@angular/core/-/core-18.2.3.tgz",
"integrity": "sha512-VGhMJxj7d0rYpqVfQrcGRB7EE/BCziotft/I/YPl6bOMPSAvMukG7DXQuJdYpNrr62ks78mlzHlZX/cdmB9Prw==",
"peer": true,
"dependencies": {
"tslib": "^2.3.0"
},
"engines": {
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
},
"peerDependencies": {
"rxjs": "^6.5.3 || ^7.4.0",
"zone.js": "~0.14.10"
}
},
"ol": {
"version": "5.3.3",
"resolved": "https://registry.npmjs.org/ol/-/ol-5.3.3.tgz",
"integrity": "sha512-7eU4x8YMduNcED1D5wI+AMWDRe7/1HmGfsbV+kFFROI9RNABU/6n4osj6Q3trZbxxKnK2DSRIjIRGwRHT/Z+Ww==",
"requires": {
"pbf": "3.1.0",
"pixelworks": "1.1.0",
"rbush": "2.0.2"
"node_modules/@angular/platform-browser": {
"version": "18.2.3",
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-18.2.3.tgz",
"integrity": "sha512-M2ob4zN7tAcL2mx7U6KnZNqNFPFl9MlPBE0FrjQjIzAjU0wSYPIJXmaPu9aMUp9niyo+He5iX98I+URi2Yc99g==",
"peer": true,
"dependencies": {
"tslib": "^2.3.0"
},
"engines": {
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
},
"peerDependencies": {
"@angular/animations": "18.2.3",
"@angular/common": "18.2.3",
"@angular/core": "18.2.3"
},
"peerDependenciesMeta": {
"@angular/animations": {
"optional": true
}
}
},
"pbf": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/pbf/-/pbf-3.1.0.tgz",
"integrity": "sha512-/hYJmIsTmh7fMkHAWWXJ5b8IKLWdjdlAFb3IHkRBn1XUhIYBChVGfVwmHEAV3UfXTxsP/AKfYTXTS/dCPxJd5w==",
"requires": {
"ieee754": "^1.1.6",
"resolve-protobuf-schema": "^2.0.0"
"node_modules/@angular/router": {
"version": "18.2.3",
"resolved": "https://registry.npmjs.org/@angular/router/-/router-18.2.3.tgz",
"integrity": "sha512-fvD9eSDIiIbeYoUokoWkXzu7/ZaxlzKPUHFqX1JuKuH5ciQDeT/d7lp4mj31Bxammhohzi3+z12THJYsCkj/iQ==",
"peer": true,
"dependencies": {
"tslib": "^2.3.0"
},
"engines": {
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
},
"peerDependencies": {
"@angular/common": "18.2.3",
"@angular/core": "18.2.3",
"@angular/platform-browser": "18.2.3",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
"pixelworks": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/pixelworks/-/pixelworks-1.1.0.tgz",
"integrity": "sha1-Hwla1I3Ki/ihyCWOAJIDGkTyLKU="
},
"protocol-buffers-schema": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.3.2.tgz",
"integrity": "sha512-Xdayp8sB/mU+sUV4G7ws8xtYMGdQnxbeIfLjyO9TZZRJdztBGhlmbI5x1qcY4TG5hBkIKGnc28i7nXxaugu88w=="
},
"quickselect": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/quickselect/-/quickselect-1.1.1.tgz",
"integrity": "sha512-qN0Gqdw4c4KGPsBOQafj6yj/PA6c/L63f6CaZ/DCF/xF4Esu3jVmKLUDYxghFx8Kb/O7y9tI7x2RjTSXwdK1iQ=="
},
"rbush": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/rbush/-/rbush-2.0.2.tgz",
"integrity": "sha512-XBOuALcTm+O/H8G90b6pzu6nX6v2zCKiFG4BJho8a+bY6AER6t8uQUZdi5bomQc0AprCWhEGa7ncAbbRap0bRA==",
"requires": {
"quickselect": "^1.0.1"
"node_modules/@ngrx/effects": {
"version": "18.0.2",
"resolved": "https://registry.npmjs.org/@ngrx/effects/-/effects-18.0.2.tgz",
"integrity": "sha512-YojXcOD9Lsq4kl2HCjENccyUM/mOlgBdtddsg9j/ojzSUgu3ZuBVKLN3atrL2TJYkbMX1MN0RzafSkL3TPGFIA==",
"peer": true,
"dependencies": {
"@ngrx/operators": "18.0.1",
"tslib": "^2.0.0"
},
"peerDependencies": {
"@angular/core": "^18.0.0",
"@ngrx/store": "18.0.2",
"rxjs": "^6.5.3 || ^7.5.0"
}
},
"resolve-protobuf-schema": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz",
"integrity": "sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==",
"requires": {
"protocol-buffers-schema": "^3.3.1"
"node_modules/@ngrx/operators": {
"version": "18.0.1",
"resolved": "https://registry.npmjs.org/@ngrx/operators/-/operators-18.0.1.tgz",
"integrity": "sha512-M+QMrHNKgcuiLaRGZxJ4aQi5/OCRfKC4+T/63dsHyLFZ53/FFpF6a/ytSO1Q+tzOplZ5o99S+i8FVaZqNQ3LmQ==",
"peer": true,
"dependencies": {
"tslib": "^2.3.0"
},
"peerDependencies": {
"rxjs": "^6.5.3 || ^7.4.0"
}
},
"tslib": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
"integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ=="
"node_modules/@ngrx/router-store": {
"version": "18.0.2",
"resolved": "https://registry.npmjs.org/@ngrx/router-store/-/router-store-18.0.2.tgz",
"integrity": "sha512-jUrQ/uJJ53x8O1XbN2YxH2GpRREZlwS5gRxlCoc4fWL4Us/uS1/K6+QfRmKBPtpTKBIixqsOb+dIUV5iwBrivA==",
"peer": true,
"dependencies": {
"tslib": "^2.0.0"
},
"peerDependencies": {
"@angular/common": "^18.0.0",
"@angular/core": "^18.0.0",
"@angular/router": "^18.0.0",
"@ngrx/store": "18.0.2",
"rxjs": "^6.5.3 || ^7.5.0"
}
},
"node_modules/@ngrx/store": {
"version": "18.0.2",
"resolved": "https://registry.npmjs.org/@ngrx/store/-/store-18.0.2.tgz",
"integrity": "sha512-ajwv0+njsO4vzArp9esnFvs1wyUb1U1W8E8LSCKrcW2hWWo9o1Pezj+JRsdQwatxHfrrPFuTDyajsl6GQM/JSA==",
"peer": true,
"dependencies": {
"tslib": "^2.0.0"
},
"peerDependencies": {
"@angular/core": "^18.0.0",
"rxjs": "^6.5.3 || ^7.5.0"
}
},
"node_modules/deepmerge": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
"integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
"peer": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/ng-openlayers": {
"resolved": "dist/ng-openlayers",
"link": true
},
"node_modules/ngrx-store-localstorage": {
"version": "18.0.0",
"resolved": "https://registry.npmjs.org/ngrx-store-localstorage/-/ngrx-store-localstorage-18.0.0.tgz",
"integrity": "sha512-WoDePvMWiWF9LQHe+dTqbpm8lxoKCPoIvA0/1enIPTmdLQsOpdDKhMSD5YgwuqDusNfEik3QslProTFGyXZwtw==",
"peer": true,
"dependencies": {
"deepmerge": "^4.2.2",
"tslib": "^2.3.0"
},
"peerDependencies": {
"@angular/common": "^18.0.1",
"@angular/core": "^18.0.1",
"@ngrx/store": "^18.0.0"
}
},
"node_modules/rxjs": {
"version": "7.8.1",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
"integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
"peer": true,
"dependencies": {
"tslib": "^2.1.0"
}
},
"node_modules/tassign": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/tassign/-/tassign-1.0.0.tgz",
"integrity": "sha512-k0Ti9f+A1R0BRdArEbiUHldd+A40kZ5qsiNSNk4czx61wkAoSZYjqkaQs0jC63AfgPdCXVPstDq2ZW5ZLRTCgw==",
"peer": true
},
"node_modules/tslib": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
"integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
},
"node_modules/zone.js": {
"version": "0.14.10",
"resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.14.10.tgz",
"integrity": "sha512-YGAhaO7J5ywOXW6InXNlLmfU194F8lVgu7bRntUF3TiG8Y3nBK0x1UJJuHUP/e8IyihkjCYqhCScpSwnlaSRkQ==",
"peer": true
}
}
}
+8 -9
View File
@@ -1,20 +1,19 @@
{
"name": "@farmmaps/common-map",
"version": "0.0.1",
"version": "2.0.0",
"publishConfig": {
"registry": "https://repository.akkerweb.nl/repository/npm-hosted/"
},
"dependencies": {
"ngx-openlayers": "1.0.0-next.9",
"ol": "^5.3.3"
"tslib": "^2.0.0"
},
"peerDependencies": {
"@angular/core": "^7.2.0",
"ngrx-store-localstorage": "^8.0.0",
"@ngrx/effects": "^7.2",
"@ngrx/router-store": "^7.2",
"@ngrx/store": "^7.2",
"@angular/core": "^18.2.3",
"ngrx-store-localstorage": "^18",
"@ngrx/effects": "^18.0.2",
"@ngrx/router-store": "^18.0.2",
"@ngrx/store": "^18.0.2",
"tassign": "^1.0.0",
"@farmmaps/common": ">=0.0.1-prerelease.56 <0.0.1"
"ng-openlayers": "file:dist/ng-openlayers"
}
}
@@ -1,2 +0,0 @@
//$theme-colors: ( "primary": #a7ce39, "secondary": #ffc800 );
//$theme-colors: ( "primary": #a7ce39);
@@ -1,241 +1,399 @@
import { Action } from '@ngrx/store';
import { IMapState,IItemLayer,IQueryState } from '../models';
import { IItem } from '@farmmaps/common';
import { Feature } from 'ol';
import { Extent } from 'ol/extent';
export const SETSTATE = '[Map] SetState';
export const SETMAPSTATE = '[Map] MapState';
export const SETVIEWEXTENT = '[Map] SetViewExtent';
export const INIT = '[Map] Init';
export const SETPARENT = '[Map] SetParent';
export const STARTSEARCH = '[Map] StartSearch';
export const STARTSEARCHSUCCESS = '[Map] StartSearchSuccess';
export const SELECTFEATURE = '[Map] SelectFeature';
export const SELECTITEM = '[Map] SelectItem';
export const SELECTITEMSUCCESS = '[Map] SelectItemSuccess';
export const ADDFEATURESUCCESS = '[Map] AddFeatureSuccess';
export const UPDATEFEATURESUCCESS = '[Map] UpdateFeatureSuccess';
export const EXPANDSEARCH = '[Map] ExpandSearch';
export const COLLAPSESEARCH = '[Map] CollapseSearch';
export const TOGGLEMENU = '[Map] ToggleMenu';
export const SETEXTENT = '[Map] SetExtent';
export const SETQUERYSTATE = '[Map] SetQueryState';
export const SETTIMESPAN = '[Map] SetTimeSpan';
export const ADDLAYER = '[Map] AddLayer';
export const SETVISIBILITY = '[Map] SetVisibility';
export const SETOPACITY = '[Map] SetOpacity';
export const SETLAYERINDEX = '[Map] SetLayerIndex';
export const REMOVELAYER = '[Map] RemoveLayer';
export const LOADBASELAYERS = '[Map] LoadLayers';
export const LOADBASELAYERSSUCCESS = '[Map] LoadLayersSuccess';
export const SELECTBASELAYER = '[Map] SelectBaseLayers';
export const SELECTOVERLAYLAYER = '[Map] SelectOverlayLayers';
export const ZOOMTOEXTENT = '[Map] ZoomToExtent';
export const DOQUERY = '[Map] DoQuery';
export class SetState implements Action {
readonly type = SETSTATE;
constructor(public mapState: IMapState,public queryState:IQueryState) { }
}
export class SetMapState implements Action {
readonly type = SETMAPSTATE;
constructor(public mapState: IMapState) { }
}
export class SetViewExtent implements Action {
readonly type = SETVIEWEXTENT;
constructor(public extent:number[]) { }
}
export class Init implements Action {
readonly type = INIT;
constructor() { }
}
export class SetParent implements Action {
readonly type = SETPARENT;
constructor(public parentCode:string) { }
}
export class StartSearch implements Action {
readonly type = STARTSEARCH;
constructor(public queryState: IQueryState) { }
}
export class StartSearchSuccess implements Action {
readonly type = STARTSEARCHSUCCESS;
constructor(public features: Array<Feature>, public query:IQueryState) { }
}
export class SelectFeature implements Action {
readonly type = SELECTFEATURE;
constructor(public feature:Feature) { }
}
export class SelectItem implements Action {
readonly type = SELECTITEM;
constructor(public itemCode:string) { }
}
export class SelectItemSuccess implements Action {
readonly type = SELECTITEMSUCCESS;
constructor(public item: IItem) { }
}
export class AddFeatureSuccess implements Action {
readonly type = ADDFEATURESUCCESS;
constructor(public feature: Feature) { }
}
export class UpdateFeatureSuccess implements Action {
readonly type = UPDATEFEATURESUCCESS;
constructor(public feature: Feature) { }
}
export class ExpandSearch implements Action {
readonly type = EXPANDSEARCH;
constructor() { }
}
export class CollapseSearch implements Action {
readonly type = COLLAPSESEARCH;
constructor() { }
}
export class ToggleMenu implements Action {
readonly type = TOGGLEMENU;
constructor() { }
}
export class SetExtent implements Action {
readonly type = SETEXTENT;
constructor(public extent:number[]) { }
}
export class SetQueryState implements Action {
readonly type = SETQUERYSTATE;
constructor(public queryState: IQueryState) { }
}
export class SetTimeSpan implements Action {
readonly type = SETTIMESPAN;
constructor(public startDate: Date, public endDate: Date) { }
}
export class AddLayer implements Action {
readonly type = ADDLAYER;
constructor(public item:IItem,public layerIndex=-1) { }
}
export class SetVisibility implements Action {
readonly type = SETVISIBILITY;
constructor(public itemLayer:IItemLayer,public visibility:boolean) { }
}
export class SetOpacity implements Action {
readonly type = SETOPACITY;
constructor(public itemLayer: IItemLayer, public opacity: number) { }
}
export class SetLayerIndex implements Action {
readonly type = SETLAYERINDEX;
constructor(public layerIndex: number, public itemLayer: IItemLayer = null) { }
}
export class RemoveLayer implements Action {
readonly type = REMOVELAYER;
constructor(public itemLayer: IItemLayer) { }
}
export class LoadBaseLayers implements Action {
readonly type = LOADBASELAYERS;
constructor(public projection: string) { }
}
export class LoadBaseLayersSuccess implements Action {
readonly type = LOADBASELAYERSSUCCESS;
constructor(public items: IItem[] ) { }
}
export class SelectBaseLayer implements Action {
readonly type = SELECTBASELAYER;
constructor(public itemLayer: IItemLayer) { }
}
export class SelectOverlayLayer implements Action {
readonly type = SELECTOVERLAYLAYER;
constructor(public itemLayer: IItemLayer) { }
}
export class ZoomToExtent implements Action {
readonly type = ZOOMTOEXTENT;
constructor(public itemLayer: IItemLayer) { }
}
export class DoQuery implements Action {
readonly type = DOQUERY;
constructor(public query:IQueryState) { }
}
export type Actions = SetMapState
| Init
| SetParent
| StartSearch
| StartSearchSuccess
| SelectFeature
| SelectItem
| SelectItemSuccess
| AddFeatureSuccess
| UpdateFeatureSuccess
| ExpandSearch
| CollapseSearch
| ToggleMenu
| SetExtent
| SetQueryState
| SetTimeSpan
| AddLayer
| RemoveLayer
| SetVisibility
| SetOpacity
| SetLayerIndex
| LoadBaseLayers
| LoadBaseLayersSuccess
| SelectBaseLayer
| SelectOverlayLayer
| ZoomToExtent
| SetState
| SetViewExtent
| DoQuery;
import { Action } from '@ngrx/store';
import { IMapState } from '../models/map.state';
import { IItemLayer } from '../models/item.layer';
import { ILayervalue } from '../models/layer.value';
import { IQueryState } from '@farmmaps/common';
import { IItem } from '@farmmaps/common';
import { Feature } from 'ol';
import { Style } from 'ol/style';
import { Geometry } from 'ol/geom';
import { IPeriodState } from '../models/period.state';
export const SETSTATE = '[Map] SetState';
export const SETMAPSTATE = '[Map] MapState';
export const SETVIEWEXTENT = '[Map] SetViewExtent';
export const INIT = '[Map] Init';
export const SETPARENT = '[Map] SetParent';
export const SETPERIOD = '[Map] SetPeriod';
export const STARTSEARCH = '[Map] StartSearch';
export const STARTSEARCHSUCCESS = '[Map] StartSearchSuccess';
export const CLICKFEATURE = '[Map] ClickFeature';
export const SELECTFEATURE = '[Map] SelectFeature';
export const SELECTITEM = '[Map] SelectItem';
export const SELECTITEMSUCCESS = '[Map] SelectItemSuccess';
export const SETSELECTEDITEMLAYER = '[Map] SetSelectedItemLayer';
export const SELECTTEMPORALITEMSSUCCESS = '[Map] SelectTemporalItemsSuccess';
export const NEXTTEMPORAL = '[Map] NextTemporal';
export const PREVIOUSTEMPORAL = '[Map] PreviousTemporal';
export const SELECTTEMPORAL = '[Map] SelectTemporal';
export const ADDFEATURESUCCESS = '[Map] AddFeatureSuccess';
export const UPDATEFEATURESUCCESS = '[Map] UpdateFeatureSuccess';
export const EXPANDSEARCH = '[Map] ExpandSearch';
export const COLLAPSESEARCH = '[Map] CollapseSearch';
export const SETEXTENT = '[Map] SetExtent';
export const SETQUERYSTATE = '[Map] SetQueryState';
export const SETTIMESPAN = '[Map] SetTimeSpan';
export const ADDLAYER = '[Map] AddLayer';
export const SETVISIBILITY = '[Map] SetVisibility';
export const SETOPACITY = '[Map] SetOpacity';
export const SETLAYERINDEX = '[Map] SetLayerIndex';
export const REMOVELAYER = '[Map] RemoveLayer';
export const CLEARLAYERS = '[Map] ClearLayers';
export const LOADBASELAYERS = '[Map] LoadLayers';
export const LOADBASELAYERSSUCCESS = '[Map] LoadLayersSuccess';
export const SELECTBASELAYER = '[Map] SelectBaseLayers';
export const SELECTOVERLAYLAYER = '[Map] SelectOverlayLayers';
export const ZOOMTOEXTENT = '[Map] ZoomToExtent';
export const DOQUERY = '[Map] DoQuery';
export const SETSTYLE = '[Map] SetStyle';
export const SHOWLAYERSWITCHER = '[Map] ShowLayerSwitcher';
export const CLEAR = '[Map] Clear';
export const SETREPLACEURL = '[Map] SetReplaceUrl';
export const SETFEATURES = '[Map] SetFeatures'
export const SETLAYERVALUESLOCATION = '[Map] SetLayerValuesLocation'
export const TOGGLELAYERVALUESENABLED = '[Map] ToggleLayerValuesEnabled'
export const GETLAYERVALUE = '[Map] GetLayerValue'
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;
constructor() {}
}
export class SetState implements Action {
readonly type = SETSTATE;
constructor(public mapState: IMapState,public queryState:IQueryState) { }
}
export class SetMapState implements Action {
readonly type = SETMAPSTATE;
constructor(public mapState: IMapState) { }
}
export class SetViewExtent implements Action {
readonly type = SETVIEWEXTENT;
constructor(public extent:number[]) { }
}
export class Init implements Action {
readonly type = INIT;
constructor() { }
}
export class SetParent implements Action {
readonly type = SETPARENT;
constructor(public parentCode:string) { }
}
export class SetPeriod implements Action {
readonly type = SETPERIOD;
constructor(public period:IPeriodState) { }
}
export class StartSearch implements Action {
readonly type = STARTSEARCH;
constructor(public queryState: IQueryState) { }
}
export class StartSearchSuccess implements Action {
readonly type = STARTSEARCHSUCCESS;
constructor(public features: Array<Feature<Geometry>>, public query:IQueryState) { }
}
export class ClickFeature implements Action {
readonly type = CLICKFEATURE;
constructor(public feature:Feature<Geometry>) { }
}
export class SelectFeature implements Action {
readonly type = SELECTFEATURE;
constructor(public feature:Feature<Geometry>) { }
}
export class SelectItem implements Action {
readonly type = SELECTITEM;
constructor(public itemCode:string) { }
}
export class SelectItemSuccess implements Action {
readonly type = SELECTITEMSUCCESS;
constructor(public item: IItem, public parentItem: IItem) { }
}
export class SelectTemporalItemsSuccess implements Action {
readonly type = SELECTTEMPORALITEMSSUCCESS;
constructor(public temporalItems: IItem[]) { }
}
export class NextTemporal implements Action {
readonly type = NEXTTEMPORAL;
constructor() { }
}
export class PreviousTemporal implements Action {
readonly type = PREVIOUSTEMPORAL;
constructor() { }
}
export class SelectTemporal implements Action {
readonly type = SELECTTEMPORAL;
constructor(item:IItem) { }
}
export class AddFeatureSuccess implements Action {
readonly type = ADDFEATURESUCCESS;
constructor(public feature: Feature<Geometry>) { }
}
export class UpdateFeatureSuccess implements Action {
readonly type = UPDATEFEATURESUCCESS;
constructor(public feature: Feature<Geometry>) { }
}
export class ExpandSearch implements Action {
readonly type = EXPANDSEARCH;
constructor() { }
}
export class CollapseSearch implements Action {
readonly type = COLLAPSESEARCH;
constructor() { }
}
export class SetExtent implements Action {
readonly type = SETEXTENT;
constructor(public extent:number[]) { }
}
export class SetQueryState implements Action {
readonly type = SETQUERYSTATE;
constructor(public queryState: IQueryState,public replaceUrl:boolean = true) { }
}
export class SetTimeSpan implements Action {
readonly type = SETTIMESPAN;
constructor(public startDate: Date, public endDate: Date) { }
}
export class AddLayer implements Action {
readonly type = ADDLAYER;
constructor(public item:IItem,public layerIndex=-1) { }
}
export class SetSelectedItemLayer implements Action {
readonly type = SETSELECTEDITEMLAYER;
constructor(public item:IItem,public layerIndex=-1) { }
}
export class SetVisibility implements Action {
readonly type = SETVISIBILITY;
constructor(public itemLayer:IItemLayer,public visibility:boolean) { }
}
export class SetOpacity implements Action {
readonly type = SETOPACITY;
constructor(public itemLayer: IItemLayer, public opacity: number) { }
}
export class SetLayerIndex implements Action {
readonly type = SETLAYERINDEX;
constructor(public layerIndex: number, public itemLayer: IItemLayer = null) { }
}
export class RemoveLayer implements Action {
readonly type = REMOVELAYER;
constructor(public itemLayer: IItemLayer) { }
}
export class ClearLayers implements Action {
readonly type = CLEARLAYERS;
constructor() { }
}
export class LoadBaseLayers implements Action {
readonly type = LOADBASELAYERS;
constructor(public projection: string) { }
}
export class LoadBaseLayersSuccess implements Action {
readonly type = LOADBASELAYERSSUCCESS;
constructor(public items: IItem[] ) { }
}
export class SelectBaseLayer implements Action {
readonly type = SELECTBASELAYER;
constructor(public itemLayer: IItemLayer) { }
}
export class SelectOverlayLayer implements Action {
readonly type = SELECTOVERLAYLAYER;
constructor(public itemLayer: IItemLayer) { }
}
export class ZoomToExtent implements Action {
readonly type = ZOOMTOEXTENT;
constructor(public itemLayer: IItemLayer) { }
}
export class DoQuery implements Action {
readonly type = DOQUERY;
constructor(public query:IQueryState,public replace:boolean = false) { }
}
export class SetStyle implements Action {
readonly type = SETSTYLE;
constructor(public itemType:string,public style: Style | ((feature:Feature<Geometry>) => Style )) { }
}
export class ShowLayerSwitcher implements Action {
readonly type = SHOWLAYERSWITCHER;
constructor(public show:boolean) {}
}
export class SetReplaceUrl implements Action {
readonly type = SETREPLACEURL;
constructor(public replaceUrl:boolean) {}
}
export class SetFeatures implements Action {
readonly type = SETFEATURES;
constructor(public features: Array<Feature<Geometry>>) { }
}
export class SetLayerValuesLocation implements Action {
readonly type = SETLAYERVALUESLOCATION;
constructor(public x:number, public y:number) { }
}
export class ToggleLayerValuesEnabled implements Action {
readonly type = TOGGLELAYERVALUESENABLED;
constructor() { }
}
export class GetLayerValue implements Action {
readonly type = GETLAYERVALUE;
constructor(public itemLayer:IItemLayer,public x:number,public y:number) { }
}
export class GetLayerValueSuccess implements Action {
readonly type = GETLAYERVALUESUCCESS;
constructor(public layervalue:ILayervalue) { }
}
export class ToggleShowDataLayerSlide implements Action {
readonly type = TOGGLESHOWDATALAYERSLIDE;
constructor() {}
}
export class SetViewState implements Action {
readonly type = SETVIEWSTATE;
constructor(public enabled:boolean) {}
}
export class ClearFeatures implements Action {
readonly type = CLEARFEATURES;
constructor() {}
}
export class SetPanelExtraWide implements Action {
readonly type = SETPANELEXTRAWIDE;
constructor(public panelExtraWide:boolean) {}
}
export type Actions = SetMapState
| Init
| Clear
| SetParent
| StartSearch
| StartSearchSuccess
| ClickFeature
| SelectFeature
| SelectItem
| SelectItemSuccess
| SelectTemporalItemsSuccess
| NextTemporal
| PreviousTemporal
| SelectTemporal
| AddFeatureSuccess
| UpdateFeatureSuccess
| ExpandSearch
| CollapseSearch
| SetExtent
| SetQueryState
| SetTimeSpan
| AddLayer
| RemoveLayer
| ClearLayers
| SetVisibility
| SetOpacity
| SetLayerIndex
| LoadBaseLayers
| LoadBaseLayersSuccess
| SelectBaseLayer
| SelectOverlayLayer
| ZoomToExtent
| SetState
| SetViewExtent
| DoQuery
| SetStyle
| ShowLayerSwitcher
| SetReplaceUrl
| SetFeatures
| SetSelectedItemLayer
| SetLayerValuesLocation
| ToggleLayerValuesEnabled
| GetLayerValueSuccess
| GetLayerValue
| SetPeriod
| ToggleShowDataLayerSlide
| SetViewState
| ClearFeatures
| SetPanelExtraWide;
@@ -1,29 +1,29 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { MapComponent } from './components/map/map.component';
import { AuthGuard } from '@farmmaps/common';
const routes = [
{
path: '', canActivateChild: [AuthGuard], children: [
{
path: '',
component: MapComponent
}
]
},
{
path: ':xCenter/:yCenter/:zoom/:rotation/:baseLayer/:queryState', canActivateChild: [AuthGuard], children: [
{
path: '',
component: MapComponent
}
]
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class MapRoutingModule { }
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { MapComponent } from './components/map/map.component';
import { AuthGuard } from '@farmmaps/common';
const routes = [
{
path: '',
component: MapComponent
},
{
path: ':xCenter/:yCenter/:zoom/:rotation/:baseLayer',
component: MapComponent
},
{
path: ':xCenter/:yCenter/:zoom/:rotation/:baseLayer/:queryState',
component: MapComponent
},
{
path: ':queryState',
component: MapComponent
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class MapRoutingModule { }
@@ -1,233 +1,217 @@
import { NgModule ,ModuleWithProviders} from '@angular/core';
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
//external modules
import { AngularOpenlayersModule } from 'ngx-openlayers';
import { StoreModule, ActionReducer, MetaReducer } from '@ngrx/store';
import { EffectsModule } from '@ngrx/effects';
import { NgbModule } from "@ng-bootstrap/ng-bootstrap";
import { EffectsModule } from '@ngrx/effects';
import { ActionReducer, MetaReducer, StoreModule } from '@ngrx/store';
import { AngularOpenlayersModule } from 'ng-openlayers';
//common modules
import { AppCommonModule } from '@farmmaps/common';
import { MODULE_NAME } from './module-name';
import * as mapReducers from './reducers/map.reducer';
import * as mapActions from './actions/map.actions';
import * as mapEffects from './effects/map.effects';
import { MODULE_NAME } from './module-name';
import * as mapReducers from './reducers/map.reducer';
import { IMapState} from './models';
import { ISelectedFeatures } from './models';
import { IItemLayer } from './models';
import { ItemLayer} from './models';
import { IQueryState } from './models';
import { IPeriodState } from './models';
import { IClickedFeature } from './models/clicked.feature';
import { IItemLayer, ItemLayer, ITemporalItemLayer, TemporalItemLayer } from './models/item.layer';
import { IMapState } from './models/map.state';
import { IPeriodState } from './models/period.state';
import { ISelectedFeatures } from './models/selected.features';
// components
import { GpsLocation} from './components/aol/gps-location/gps-location.component';
//import {Switch2D3DComponent } from './components/aol/switch2d3d/switch2d3d.component';
import {FeatureListFeatureCropfieldComponent } from './components/feature-list-feature-cropfield/feature-list-feature-cropfield.component';
import { FeatureListFeatureCroppingschemeComponent} from './components/feature-list-feature-croppingscheme/feature-list-feature-croppingscheme.component';
import { ItemWidgetListComponent} from './components/item-widget-list/item-widget-list.component';
import { AbstractItemListItemComponent, ItemListItemComponent, AbstractItemWidgetComponent } from './components/item-list-item/item-list-item.component';
import { ItemListItemContainerComponent } from './components/item-list-item-container/item-list-item-container.component';
import { AbstractItemListComponent,ItemListComponent} from './components/item-list/item-list.component';
import { AbstractSelectedItemComponent, SelectedItemComponent } from './components/selected-item/selected-item.component';
import { SelectedItemCropfieldComponent } from './components/selected-item-cropfield/selected-item-cropfield.component';
import { SelectedItemGeotiffComponent } from './components/selected-item-geotiff/selected-item-geotiff.component';
import {SelectedItemShapeComponent } from './components/selected-item-shape/selected-item-shape.component';
import { SelectedItemContainerComponent } from './components/selected-item-container/selected-item-container.component';
import { AbstractFeatureListFeatureComponent, FeatureListFeatureComponent } from './components/feature-list-feature/feature-list-feature.component';
import {FeatureListFeatureContainerComponent } from './components/feature-list-feature-container/feature-list-feature-container.component';
import { FeatureListCroppingschemeComponent } from './components/feature-list-croppingscheme/feature-list-croppingscheme.component';
import {FeatureListCropfieldComponent } from './components/feature-list-cropfield/feature-list-cropfield.component';
import {FeatureListContainerComponent } from './components/feature-list-container/feature-list-container.component';
import { WidgetHostDirective} from './components/widget-host/widget-host.directive';
import { FeatureListComponent,AbstractFeatureListComponent} from './components/feature-list/feature-list.component';
import { MapRoutingModule } from './common-map-routing.module';
import { FileDropTargetComponent } from './components/aol/file-drop-target/file-drop-target.component';
import { ItemVectorSourceComponent } from './components/aol/item-vector-source/item-vector-source.component';
import { ItemFeaturesSourceComponent } from './components/aol/item-features-source/item-features-source.component';
import { GpsLocation } from './components/aol/gps-location/gps-location.component';
import { ItemLayersComponent } from './components/aol/item-layers/item-layers.component';
import { ZoomToExtentComponent } from './components/aol/zoom-to-extent/zoom-to-extent.component';
import { RotationResetComponent } from './components/aol/rotation-reset/rotation-reset.component';
import { ItemVectorSourceComponent } from './components/aol/item-vector-source/item-vector-source.component';
import { LayerListComponent } from './components/aol/layer-list/layer-list.component';
import { LayerValuesComponent } from './components/aol/layer-values/layer-values.component';
import { LayerVectorImageComponent } from './components/aol/layer-vector-image/layer-vector-image.component';
import { PanToLocation } from './components/aol/pan-to-location/pan-to-location.component';
import { RotationResetComponent } from './components/aol/rotation-reset/rotation-reset.component';
import { ZoomToExtentComponent } from './components/aol/zoom-to-extent/zoom-to-extent.component';
import { FeatureListContainerComponent } from './components/feature-list-container/feature-list-container.component';
import { FeatureListCropfieldComponent } from './components/feature-list-cropfield/feature-list-cropfield.component';
import { FeatureListCroppingschemeComponent } from './components/feature-list-croppingscheme/feature-list-croppingscheme.component';
import { FeatureListFeatureContainerComponent } from './components/feature-list-feature-container/feature-list-feature-container.component';
import { FeatureListFeatureCropfieldComponent } from './components/feature-list-feature-cropfield/feature-list-feature-cropfield.component';
import { FeatureListFeatureCroppingschemeComponent } from './components/feature-list-feature-croppingscheme/feature-list-feature-croppingscheme.component';
import { AbstractFeatureListFeatureComponent, FeatureListFeatureComponent } from './components/feature-list-feature/feature-list-feature.component';
import { AbstractFeatureListComponent, FeatureListComponent } from './components/feature-list/feature-list.component';
import { GeometryThumbnailComponent } from './components/feature-thumbnail/feature-thumbnail.component';
import { ForChild } from './components/for-item/for-child.decorator';
import { ForItemType } from './components/for-item/for-itemtype.decorator';
import { ForPackage } from './components/for-item/for-package.decorator';
import { ForSourceTask } from './components/for-item/for-sourcetask.decorator';
import { ifZoomToShowDirective } from './components/if-zoom-to-show/if-zoom-to-show.directive';
import { ItemListItemContainerComponent } from './components/item-list-item-container/item-list-item-container.component';
import { AbstractItemListItemComponent, AbstractItemWidgetComponent, ItemListItemComponent } from './components/item-list-item/item-list-item.component';
import { AbstractItemListComponent, ItemListComponent } from './components/item-list/item-list.component';
import { ItemWidgetListComponent } from './components/item-widget-list/item-widget-list.component';
import { LayerSwitcher } from './components/layer-switcher/layer-switcher.component';
import { HistogramDetailsComponent } from './components/legend/histogram-details/histogram-details.component';
import { LegendComponent } from './components/legend/legend.component';
import { StatisticsDetailsComponent } from './components/legend/statistics-details/statistics-details.component';
import { MapSearchComponent } from './components/map-search/map-search.component';
import { MapComponent } from './components/map/map.component';
import { MetaDataModalComponent } from './components/meta-data-modal/meta-data-modal.component';
import { SelectPeriodModalComponent } from './components/select-period-modal/select-period-modal.component';
import { MapComponent } from './components/map/map.component';
import { MapSearchComponent } from './components/map-search';
import { MapRoutingModule } from './common-map-routing.module';
import { LegendComponent } from './components/legend/legend.component';
import { LayerVectorImageComponent } from './components/aol/layer-vector-image/layer-vector-image.component';
import { StateSerializerService } from './services/state-serializer.service';
import { GeolocationService } from './services/geolocation.service';
import { localStorageSync } from 'ngrx-store-localstorage';
import { SelectedItemContainerComponent } from './components/selected-item-container/selected-item-container.component';
import { SelectedItemCropfieldComponent } from './components/selected-item-cropfield/selected-item-cropfield.component';
import { SelectedItemGeotiffComponent } from './components/selected-item-geotiff/selected-item-geotiff.component';
import { SelectedItemShapeComponent } from './components/selected-item-shape/selected-item-shape.component';
import { SelectedItemTemporalComponent } from './components/selected-item-temporal/selected-item-temporal.component';
import { AbstractSelectedItemComponent, SelectedItemComponent } from './components/selected-item/selected-item.component';
import { WidgetHostDirective } from './components/widget-host/widget-host.directive';
import { WidgetStatusComponent } from './components/widget-status/widget-status.component';
import { ForChild} from './components/for-item/for-child.decorator';
import {ForItemType } from './components/for-item/for-itemtype.decorator';
import { ForSourceTask} from './components/for-item/for-sourcetask.decorator';
import { ZoomToShowAlert } from './components/zoom-to-show-alert/zoom-to-show-alert.component';
import { DeviceOrientationService } from './services/device-orientation.service';
import { FeatureIconService } from './services/feature-icon.service';
import { GeolocationService } from './services/geolocation.service';
import { TemporalService } from './services/temporal.service';
export function LocalStorageSync(reducer: ActionReducer<any>): ActionReducer<any> {
const r = function(state, action) {
const r2 = reducer(state, action);
if(action.type == "@ngrx/store/update-reducers") {
const ms = window.localStorage.getItem(MODULE_NAME+"_mapState");
if(ms) {
r2["mapState"] = JSON.parse(ms);
}
const sp = window.localStorage.getItem(MODULE_NAME+"_searchPeriod");
if(sp) {
const p = JSON.parse(sp);
r2["period"] = { startDate: new Date(Date.parse(p.startDate)),endDate:new Date(Date.parse(p.endDate))};
}
}
if(action.type == "[Map] MapState" || action.type == "[Map] SetState") {
window.localStorage.setItem(MODULE_NAME + "_mapState",JSON.stringify(r2["mapState"]));
}
if(action.type == "[Map] SetPeriod" ) {
window.localStorage.setItem(MODULE_NAME + "_searchPeriod",JSON.stringify(r2["period"]));
}
return r2;
};
return r;
}
const metaReducers: Array<MetaReducer<any, any>> = [LocalStorageSync];
export {
mapEffects,
mapReducers,
mapActions,
ZoomToExtentComponent,
ItemVectorSourceComponent,
ItemFeaturesSourceComponent,
ItemLayersComponent,
FileDropTargetComponent,
MapComponent,
MetaDataModalComponent,
RotationResetComponent,
MapSearchComponent,
SelectPeriodModalComponent,
LayerListComponent,
LegendComponent,
LayerVectorImageComponent,
FeatureListComponent,
WidgetHostDirective,
FeatureListContainerComponent,
FeatureListCroppingschemeComponent,
FeatureListCropfieldComponent,
FeatureListFeatureContainerComponent,
FeatureListFeatureComponent,
FeatureListFeatureCroppingschemeComponent,
FeatureListFeatureCropfieldComponent,
SelectedItemContainerComponent,
SelectedItemComponent,
SelectedItemCropfieldComponent,
SelectedItemGeotiffComponent,
SelectedItemShapeComponent,
ItemListItemComponent,
ItemListItemContainerComponent,
ItemListComponent,
ItemWidgetListComponent,
WidgetStatusComponent,
GpsLocation,
AbstractFeatureListComponent,
AbstractFeatureListFeatureComponent,
AbstractSelectedItemComponent,
AbstractItemWidgetComponent,
AbstractItemListItemComponent,
AbstractItemListComponent,
StateSerializerService,
GeolocationService,
IMapState,
ISelectedFeatures,
IItemLayer,
ItemLayer,
IQueryState,
IPeriodState,
ForChild,
ForItemType,
ForSourceTask
}
AbstractFeatureListFeatureComponent, AbstractItemListComponent, AbstractItemListItemComponent, AbstractItemWidgetComponent, AbstractSelectedItemComponent, DeviceOrientationService, FeatureIconService, FeatureListComponent, FeatureListContainerComponent, FeatureListCropfieldComponent, FeatureListCroppingschemeComponent, FeatureListFeatureComponent, FeatureListFeatureContainerComponent, FeatureListFeatureCropfieldComponent, FeatureListFeatureCroppingschemeComponent, FileDropTargetComponent, ForChild,
ForItemType, ForPackage, ForSourceTask, GeolocationService, GeometryThumbnailComponent, GpsLocation, IClickedFeature, ifZoomToShowDirective, IItemLayer, IMapState, IPeriodState, ISelectedFeatures, ItemLayer, ItemLayersComponent, ItemListComponent, ItemListItemComponent,
ItemListItemContainerComponent, ITemporalItemLayer, ItemVectorSourceComponent, ItemWidgetListComponent, LayerListComponent, LayerSwitcher, LayerVectorImageComponent, LegendComponent, mapActions, MapComponent, mapEffects,
mapReducers, MapSearchComponent, MetaDataModalComponent, PanToLocation, RotationResetComponent, SelectedItemComponent, SelectedItemContainerComponent, SelectedItemCropfieldComponent,
SelectedItemGeotiffComponent, SelectedItemShapeComponent, SelectedItemTemporalComponent, SelectPeriodModalComponent, TemporalItemLayer, TemporalService, WidgetHostDirective, WidgetStatusComponent, ZoomToExtentComponent, ZoomToShowAlert
};
@NgModule({
imports: [
CommonModule,
AngularOpenlayersModule,
MapRoutingModule,
StoreModule.forFeature(MODULE_NAME, mapReducers.reducer),
EffectsModule.forFeature([mapEffects.MapEffects]),
NgbModule,
FormsModule,
ReactiveFormsModule,
AppCommonModule
],
declarations: [
ZoomToExtentComponent,
ItemVectorSourceComponent,
ItemFeaturesSourceComponent,
ItemLayersComponent,
FileDropTargetComponent,
MapComponent,
MetaDataModalComponent,
RotationResetComponent,
MapSearchComponent,
SelectPeriodModalComponent,
LayerListComponent,
LegendComponent,
LayerVectorImageComponent,
FeatureListComponent,
WidgetHostDirective,
FeatureListContainerComponent,
FeatureListCroppingschemeComponent,
FeatureListCropfieldComponent,
FeatureListFeatureContainerComponent,
FeatureListFeatureComponent,
FeatureListFeatureCroppingschemeComponent,
FeatureListFeatureCropfieldComponent,
SelectedItemContainerComponent,
SelectedItemComponent,
SelectedItemCropfieldComponent,
SelectedItemGeotiffComponent,
SelectedItemShapeComponent,
ItemListItemComponent,
ItemListItemContainerComponent,
ItemListComponent,
ItemWidgetListComponent,
WidgetStatusComponent,
GpsLocation,
],
entryComponents: [
FeatureListComponent,
FeatureListCroppingschemeComponent,
FeatureListCropfieldComponent,
FeatureListFeatureComponent,
FeatureListFeatureCroppingschemeComponent,
FeatureListFeatureCropfieldComponent,
SelectedItemComponent,
SelectedItemCropfieldComponent,
SelectedItemGeotiffComponent,
SelectedItemShapeComponent,
ItemListComponent,
ItemListItemComponent,
],
exports: [
ItemVectorSourceComponent,
ItemFeaturesSourceComponent,
ItemLayersComponent,
FileDropTargetComponent,
MetaDataModalComponent,
MapComponent,
GpsLocation,
FeatureListFeatureComponent,
FeatureListFeatureCropfieldComponent,
FeatureListFeatureCroppingschemeComponent,
SelectedItemContainerComponent,
SelectedItemComponent,
SelectedItemCropfieldComponent,
SelectedItemGeotiffComponent,
SelectedItemShapeComponent,
ItemListItemComponent,
ItemListItemContainerComponent,
ItemListComponent,
ItemWidgetListComponent,
WidgetStatusComponent,
RotationResetComponent,
MapSearchComponent,
SelectPeriodModalComponent,
LayerListComponent,
LegendComponent,
LayerVectorImageComponent,
FeatureListComponent,
WidgetHostDirective,
FeatureListContainerComponent,
FeatureListCroppingschemeComponent,
FeatureListCropfieldComponent,
FeatureListFeatureContainerComponent,
ZoomToExtentComponent
]
})
export class AppCommonMapModule {
static forRoot(): ModuleWithProviders {
return {
ngModule: AppCommonMapModule,
providers: [
StateSerializerService,
@NgModule({
imports: [
CommonModule,
AngularOpenlayersModule,
MapRoutingModule,
StoreModule.forFeature(MODULE_NAME, mapReducers.reducer, { metaReducers: metaReducers }),
EffectsModule.forFeature([mapEffects.MapEffects]),
NgbModule,
FormsModule,
ReactiveFormsModule,
AppCommonModule
],
declarations: [
ZoomToExtentComponent,
ItemVectorSourceComponent,
ItemLayersComponent,
FileDropTargetComponent,
MapComponent,
MetaDataModalComponent,
RotationResetComponent,
MapSearchComponent,
SelectPeriodModalComponent,
LayerListComponent,
LegendComponent,
LayerVectorImageComponent,
FeatureListComponent,
WidgetHostDirective,
FeatureListContainerComponent,
FeatureListCroppingschemeComponent,
FeatureListCropfieldComponent,
FeatureListFeatureContainerComponent,
FeatureListFeatureComponent,
FeatureListFeatureCroppingschemeComponent,
FeatureListFeatureCropfieldComponent,
SelectedItemContainerComponent,
SelectedItemComponent,
SelectedItemCropfieldComponent,
SelectedItemGeotiffComponent,
SelectedItemTemporalComponent,
SelectedItemShapeComponent,
ItemListItemComponent,
ItemListItemContainerComponent,
ItemListComponent,
ItemWidgetListComponent,
WidgetStatusComponent,
GpsLocation,
PanToLocation,
LayerSwitcher,
HistogramDetailsComponent,
StatisticsDetailsComponent,
ifZoomToShowDirective,
ZoomToShowAlert,
LayerValuesComponent,
GeometryThumbnailComponent
],
exports: [
ItemVectorSourceComponent,
ItemLayersComponent,
FileDropTargetComponent,
MetaDataModalComponent,
MapComponent,
GpsLocation,
PanToLocation,
LayerSwitcher,
FeatureListFeatureComponent,
FeatureListFeatureCropfieldComponent,
FeatureListFeatureCroppingschemeComponent,
SelectedItemContainerComponent,
SelectedItemComponent,
SelectedItemCropfieldComponent,
SelectedItemGeotiffComponent,
SelectedItemTemporalComponent,
SelectedItemShapeComponent,
ItemListItemComponent,
ItemListItemContainerComponent,
ItemListComponent,
ItemWidgetListComponent,
WidgetStatusComponent,
RotationResetComponent,
MapSearchComponent,
SelectPeriodModalComponent,
LayerListComponent,
LegendComponent,
LayerVectorImageComponent,
FeatureListComponent,
WidgetHostDirective,
FeatureListContainerComponent,
FeatureListCroppingschemeComponent,
FeatureListCropfieldComponent,
FeatureListFeatureContainerComponent,
ZoomToExtentComponent,
ifZoomToShowDirective,
ZoomToShowAlert,
GeometryThumbnailComponent
],
providers: [
FeatureIconService,
GeolocationService,
DeviceOrientationService,
TemporalService,
{ provide: AbstractFeatureListComponent, useClass: FeatureListCroppingschemeComponent, multi: true },
{ provide: AbstractFeatureListComponent, useClass: FeatureListCropfieldComponent, multi: true },
{ provide: AbstractFeatureListFeatureComponent, useClass: FeatureListFeatureComponent, multi: true },
@@ -236,10 +220,13 @@ export class AppCommonMapModule {
{ provide: AbstractSelectedItemComponent, useClass: SelectedItemComponent, multi: true },
{ provide: AbstractSelectedItemComponent, useClass: SelectedItemCropfieldComponent, multi: true },
{ provide: AbstractSelectedItemComponent, useClass: SelectedItemGeotiffComponent, multi: true },
{ provide: AbstractSelectedItemComponent, useClass: SelectedItemTemporalComponent, multi: true },
{ provide: AbstractSelectedItemComponent, useClass: SelectedItemShapeComponent, multi: true },
{ provide: AbstractItemListItemComponent, useClass: ItemListItemComponent, multi: true },
{ provide: AbstractItemListComponent, useClass: ItemListComponent, multi: true }
]
};
}
]
})
export class AppCommonMapModule {
}
@@ -1,10 +1,10 @@
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';
import { GeoJSON } from 'ol/format';
import { Feature } from 'ol';
import { Feature} from 'ol';
export interface IDroppedFile {
files: any,
@@ -21,14 +21,14 @@ export class FileDropTargetComponent implements OnInit, OnDestroy {
element: Element;
@Output() onFileDropped = new EventEmitter<IDroppedFile>();
@Input() parentCode: string;
@Input() features: Array<Feature>;
@Input() features: Array<Feature<Geometry>>;
constructor(private map: MapComponent) {
}
ngOnInit() {
this.element = this.map.instance.getViewport();
let other = this;
const other = this;
this.element.addEventListener('drop', this.onDrop, false);
this.element.addEventListener('dragover', this.preventDefault, false);
this.element.addEventListener('dragenter', this.preventDefault, false);
@@ -36,20 +36,20 @@ export class FileDropTargetComponent implements OnInit, OnDestroy {
private onDrop = (event: DragEvent) => {
this.stopEvent(event);
let geojsonFormat = new GeoJSON();
var parentCode = this.parentCode;
var coordinate = this.map.instance.getEventCoordinate(event);
const geojsonFormat = new GeoJSON();
let parentCode = this.parentCode;
const coordinate = this.map.instance.getEventCoordinate(event);
//coordinate = proj.transform(coordinate, this.map.instance.getView().getProjection(), 'EPSG:4326');
var geometry:Geometry = new Point(coordinate);
var hitFeatures = this.map.instance.getFeaturesAtPixel([event.pageX, event.pageY]);
var hitFeature = hitFeatures && hitFeatures.length > 0 ? hitFeatures[0] : null;
let geometry:Geometry = new Point(coordinate);
const hitFeatures = this.map.instance.getFeaturesAtPixel([event.pageX, event.pageY]);
const hitFeature = hitFeatures && hitFeatures.length > 0 ? hitFeatures[0] : null;
if (hitFeature) {
if (hitFeature.get("code")) {
parentCode = hitFeature.get("code");
}
geometry = geojsonFormat.readGeometry(geojsonFormat.writeGeometry(geometry)); // create copy instead of reference
}
var projectedGeometry = geometry.transform(this.map.instance.getView().getProjection(), 'EPSG:4326');
const projectedGeometry = geometry.transform(this.map.instance.getView().getProjection(), 'EPSG:4326');
if (event.dataTransfer && event.dataTransfer.files) {
this.onFileDropped.emit({ files: event.dataTransfer.files, event: event, geometry: JSON.parse(geojsonFormat.writeGeometry(projectedGeometry)),parentCode:parentCode})
@@ -6,8 +6,8 @@
<stop offset="100%" class="stop2" />
</linearGradient>
</defs>
<circle class="tolerance" cx="500" cy="500" stroke="none" [attr.r]="locTolerancePixels" />
<path *ngIf="showHeading" class="heading" stroke="none" [attr.d]="path" fill="url(#grad1)" [attr.transform]="rotate"></path>
<circle class="tolerance hidden" [ngClass]="{'hidden':!showTolerance}" cx="500" cy="500" stroke="none" [attr.r]="locTolerancePixels" />
<path class="heading hidden" [ngClass]="{'hidden': !showHeading }" stroke="none" [attr.d]="path" fill="url(#grad1)" [attr.transform]="rotate"></path>
<circle class="border" cx="500" cy="500" r="7" stroke="none" />
<circle class="center" cx="500" cy="500" r="6" stroke="none" />
@@ -1,7 +1,3 @@
@import "../../../_theme.scss";
@import "~bootstrap/scss/bootstrap.scss";
.gps-location {
display:none;
}
@@ -10,26 +6,34 @@
stroke-width: 0;
}
.heading.hidden {
display: none;
}
.tolerance {
fill: theme-color();
fill: var(--bs-primary);
fill-opacity:0.4;
}
.tolerance.hidden {
display: none
}
.border {
fill: white;
fill: var(--bs-white);
}
.center {
fill: theme-color();
fill: var(--bs-primary);
}
.stop1 {
stop-color: theme-color();
stop-color: var(--bs-primary);
stop-opacity:1;
}
.stop2 {
stop-color: theme-color();
stop-color:var(--bs-primary);
stop-opacity: 0;
}
@@ -1,68 +1,75 @@
import { Component, OnInit, Input, ViewChild, ElementRef, OnChanges, SimpleChanges } from '@angular/core';
import { MapComponent } from 'ngx-openlayers';
import Overlay from 'ol/Overlay';
import { fromLonLat, toLonLat } from 'ol/proj';
@Component({
selector: 'fm-map-gps-location',
templateUrl: './gps-location.component.html',
styleUrls: ['./gps-location.component.scss']
})
export class GpsLocation implements OnInit,OnChanges{
@Input() enable:boolean;
public instance: Overlay;
@Input() position: Position;
@Input() location: number[]=[0,0];
@Input() locationTolerance: number = 0;
@Input() showHeading: boolean = false;
@Input() heading: number = 0;
@Input() headingTolerance: number = 0;
public locTolerancePixels: number = 0;
public path: string = "";
public rotate: string = "";
private resolution: number = 0;
@ViewChild('location') locationElement: ElementRef;
constructor(private map: MapComponent) {
}
recalcLocationTolerance() {
this.locTolerancePixels = this.resolution >0? this.locationTolerance / this.resolution:0;
}
ngOnInit() {
this.instance = new Overlay({
stopEvent:false,
positioning: 'center-center',
position: fromLonLat( this.location),
element: this.locationElement.nativeElement
});
var x = Math.tan(this.headingTolerance * Math.PI / 180)*40;
var y = Math.cos(this.headingTolerance * Math.PI / 180) * 40;
var y1 = Math.round(500 - y);
var x1 = Math.round(500 - x);
var y2 = Math.round(y1);
var x2 = Math.round(500 + x);
this.path = "M " + x2 + " " + y2 + " A 45 45,0,0,0, " + x1 + " " + y1 + " L 493 500 L 507 500 Z";
this.rotate = "rotate(" + Math.round(this.heading) + " 500 500)";
this.locTolerancePixels = this.locationTolerance;
this.map.instance.addOverlay(this.instance);
this.map.instance.getView().on('change:resolution', (evt) => {
this.resolution = evt.target.get('resolution');
this.recalcLocationTolerance();
});
}
ngOnChanges(changes: SimpleChanges) {
if (changes.position && this.instance) {
var p = changes.position.currentValue as Position;
this.instance.setPosition(fromLonLat([p.coords.longitude, p.coords.latitude]));
this.locationTolerance = p.coords.accuracy;
this.recalcLocationTolerance();
this.heading = p.coords.heading;
}
}
}
import { Component, OnInit, Input, ViewChild, ElementRef, OnChanges, SimpleChanges ,Host} from '@angular/core';
import { MapComponent } from 'ng-openlayers';
import Overlay from 'ol/Overlay';
import { fromLonLat, toLonLat } from 'ol/proj';
@Component({
selector: 'fm-map-gps-location',
templateUrl: './gps-location.component.html',
styleUrls: ['./gps-location.component.scss']
})
export class GpsLocation implements OnInit,OnChanges{
@Input() enable:boolean;
public instance: Overlay;
@Input() position: GeolocationPosition;
@Input() location: number[]=[0,0];
@Input() locationTolerance = 0;
@Input() showHeading = false;
@Input() showTolerance = false;
@Input() heading = 0;
@Input() headingTolerance = 0;
public locTolerancePixels = 0;
public path = "";
public rotate = "";
private resolution = 0;
initialized = false;
@ViewChild('location', { static: true }) locationElement: ElementRef;
constructor(private map: MapComponent) {
}
recalcLocationTolerance() {
this.locTolerancePixels = this.resolution >0? this.locationTolerance / this.resolution:0;
}
ngOnInit() {
this.instance = new Overlay({
stopEvent:false,
positioning: 'center-center',
position: fromLonLat( this.location),
element: this.locationElement.nativeElement
});
const x = Math.tan(this.headingTolerance * Math.PI / 180)*40;
const y = Math.cos(this.headingTolerance * Math.PI / 180) * 40;
const y1 = Math.round(500 - y);
const x1 = Math.round(500 - x);
const y2 = Math.round(y1);
const x2 = Math.round(500 + x);
this.path = "M " + x2 + " " + y2 + " A 45 45,0,0,0, " + x1 + " " + y1 + " L 493 500 L 507 500 Z";
this.rotate = "rotate(" + Math.round(this.heading) + " 500 500)";
this.locTolerancePixels = this.locationTolerance;
this.map.instance.addOverlay(this.instance);
this.map.instance.getView().on('change:resolution', (evt:any) => {
this.resolution = evt.target.get('resolution');
this.recalcLocationTolerance();
});
this.initialized = true;
}
ngOnChanges(changes: SimpleChanges) {
if (changes.position && this.instance) {
const p = changes.position.currentValue as GeolocationPosition;
if(p && this.initialized) {
this.instance.setPosition(fromLonLat([p.coords.longitude, p.coords.latitude]));
this.locationTolerance = p.coords.accuracy;
this.recalcLocationTolerance();
}
}
if(changes.heading && this.instance) {
this.rotate = "rotate(" + Math.round(changes.heading.currentValue) + " 500 500)";
}
}
}
@@ -1,90 +0,0 @@
import { Component, Host, Input, Output, EventEmitter, OnInit, OnChanges, SimpleChanges, forwardRef, Inject, InjectionToken } from '@angular/core';
import { HttpClient } from "@angular/common/http";
import { LayerVectorComponent, SourceVectorComponent, MapComponent, LayerImageComponent } from 'ngx-openlayers';
import { LayerVectorImageComponent } from '../layer-vector-image/layer-vector-image.component';
import { ItemService } from '@farmmaps/common';
import { IItem } from '@farmmaps/common';
import { ISelectedFeatures } from '../../../models';
import {Vector} from 'ol/source';
import {Feature,Collection} from 'ol';
import {Extent} from 'ol/extent';
import * as style from 'ol/style';
import * as proj from 'ol/proj';
import Projection from 'ol/proj/Projection';
import * as loadingstrategy from 'ol/loadingstrategy';
import {GeoJSON} from 'ol/format';
@Component({
selector: 'fm-map-item-features-source',
template: `<ng-content></ng-content>`,
providers: [
{ provide: SourceVectorComponent, useExisting: forwardRef(() => ItemFeaturesSourceComponent) }
]
})
export class ItemFeaturesSourceComponent extends SourceVectorComponent implements OnInit, OnChanges {
instance:Vector;
features: Collection<Feature>;
@Input() item: IItem;
@Input() layerIndex: number = 0;
constructor(@Host() private layer: LayerVectorImageComponent, private itemService: ItemService, @Host() private map: MapComponent) {
super(layer);
}
private colorIndex = 0;
private styleCache = {};
ngOnInit() {
this.instance = new Vector({
loader: (extent: Extent, resolution: number, projection: Projection) => {
let format = new GeoJSON();
this.itemService.getItemFeatures(this.item.code, extent, projection.getCode(), this.layerIndex).subscribe((data) => {
var features = format.readFeatures(data);
// TODO 13/6/2019 The line below causes an endless loop. Action required?
this.instance.addFeatures(features);
// TODO 13/6/2019 Action required: check if feature collection hasn't been changed (Willem)
// var t = this.vectorSource.getFeatures();
});
},
format: new GeoJSON(),
strategy: loadingstrategy.bbox
});
this.features = new Collection<Feature>();
this.layer.instance
this.layer.instance.setStyle((feature) => {
var resolution = this.map.instance.getView().getResolution();
var r = (2 / resolution) / 2;
var color = feature.get("color");
return new style.Style(
{
fill: new style.Fill({
color: color
}),
image: new style.Circle({
fill: new style.Fill({
color: color
}),
stroke: new style.Stroke({
color: color,
width: 1.25
}),
radius: r
}),
stroke: new style.Stroke({
color: color,
width: 1.25
})
});
});
this.host.instance.setSource(this.instance);
}
ngOnChanges(changes: SimpleChanges) {
if (this.instance) {
if (changes['layerIndex']) {
this.instance.clear();
}
}
}
}
@@ -1,276 +1,529 @@
import { Component, Host, Input, Output, EventEmitter, Optional, QueryList, OnInit, AfterViewInit, OnChanges, SimpleChanges, SkipSelf, forwardRef, Inject, InjectionToken } from '@angular/core';
import { HttpClient } from "@angular/common/http";
import { LayerVectorComponent, LayerTileComponent, LayerGroupComponent, MapComponent } from 'ngx-openlayers';
import { ItemService } from '@farmmaps/common';
import { AppConfig } from '@farmmaps/common';
import { IItemLayer, ILayerData, IRenderoutputTiles, IRenderoutputImage, IGradientstop, ILayer, IHistogram } from '../../../models';
import {Extent} from 'ol/extent';
import Projection from 'ol/proj/Projection';
import * as proj from 'ol/proj';
import * as loadingstrategy from 'ol/loadingstrategy';
import * as style from 'ol/style';
import {Tile,Layer,Image} from 'ol/layer';
import {XYZ,ImageStatic,OSM,BingMaps,TileWMS,TileArcGISRest} from 'ol/source';
import {Vector as VectorSource} from 'ol/source';
import { Vector as VectorLayer } from 'ol/layer';
import VectorTileSource from 'ol/source/VectorTile';
import VectorTileLayer from 'ol/layer/VectorTile';
import {GeoJSON,MVT} from 'ol/format';
import { from } from 'rxjs';
@Component({
selector: 'fm-map-item-layers',
template: `<ng-content></ng-content>`,
providers: [
{ provide: LayerGroupComponent, useExisting: forwardRef(() => ItemLayersComponent) }
]
})
export class ItemLayersComponent extends LayerGroupComponent implements OnChanges, OnInit {
@Input() itemLayers: IItemLayer[];
@Input() itemLayer: IItemLayer;
private _apiEndPoint: string;
constructor(private itemService: ItemService, @Host() private map: MapComponent, public appConfig: AppConfig) {
super(map);
this._apiEndPoint = appConfig.getConfig("apiEndPoint");
}
private styleCache = {}
componentToHex(c) {
var hex = c.toString(16);
return hex.length == 1 ? "0" + hex : hex;
}
rgbaToHex(r, g, b,a) {
return "#" + this.componentToHex(r) + this.componentToHex(g) + this.componentToHex(b) + this.componentToHex(a);
}
getColorFromGradient(layer: ILayer, feature): style.Style {
var value = feature.get(layer.name);
var gradient: IGradientstop[] = layer.renderer.colorMap.gradient;
var histogram: IHistogram = layer.renderer.band.histogram;
var index = (value - histogram.min) / histogram.max;
var min = gradient[0];
var max = gradient[gradient.length - 1];
for (var n = 0; n < gradient.length; n++) {
var s = gradient[n];
if (s.relativestop <= index && min.relativestop < s.relativestop && n < gradient.length - 1) min = s;
if (s.relativestop >= index && max.relativestop > s.relativestop && n > 0) max = s;
}
var i = index - min.relativestop;
var size = max.relativestop - min.relativestop;
var alpha = Math.round( min.color.alpha + ((max.color.alpha - min.color.alpha) * i / size));
var red = Math.round(min.color.red + ((max.color.red - min.color.red) * i / size));
var green = Math.round(min.color.green + ((max.color.green - min.color.green) * i / size));
var blue = Math.round(min.color.blue + ((max.color.blue - min.color.blue) * i / size));
return new style.Style(
{
image: new style.Circle({
fill: new style.Fill({
color: this.rgbaToHex(red,green,blue,alpha)
}),
radius: 3
}),
fill: new style.Fill({
color: this.rgbaToHex(red, green, blue, alpha)
}),
stroke: new style.Stroke({
color: this.rgbaToHex(red, green, blue, alpha),
width: 1.25
}),
});
}
createLayer(itemLayer: IItemLayer): Layer {
var layer: Layer = null;
if (itemLayer.item.itemType == 'vnd.farmmaps.itemtype.geotiff.processed') {
let source = new XYZ({ maxZoom: 19, minZoom: 1, url: `${this._apiEndPoint}/api/v1/items/${itemLayer.item.code}/tiles/{z}/{x}/{y}.png?v=${itemLayer.item.updated.getTime()}` });
layer = new Tile({ source: source });
var data = itemLayer.item.data;
var l = (data && data.layers && data.layers.length > 0) ? data.layers[0] : null;
if (l && l.rendering && l.rendering.renderoutputType == "Tiles") {
var rt = l.rendering as IRenderoutputTiles;
let source = new XYZ({ maxZoom: rt.maxzoom, minZoom: rt.minzoom, url: `${this._apiEndPoint}/api/v1/items/${itemLayer.item.code}/tiles/{z}/{x}/{y}.png?v=${itemLayer.item.updated.getTime()}` });
layer = new Tile({ source: source });
}
if (l && l.rendering && l.rendering.renderoutputType == "Image") {
var ri = l.rendering as IRenderoutputImage;
let projection = new Projection({
code: 'image',
units: 'pixels',
extent: ri.extent
});
let source = new ImageStatic({ imageExtent: ri.extent, projection: projection, url: `${this._apiEndPoint}/api/v1/items/${itemLayer.item.code}/mapimage?v=${itemLayer.item.updated.getTime()}` });
layer = new Image({ source: source });
}
} else if (itemLayer.item.itemType == 'vnd.farmmaps.itemtype.shape.processed') {
var data = itemLayer.item.data;
var layerIndex = itemLayer.layerIndex != -1 ? itemLayer.layerIndex : itemLayer.item.data.layers[0].index;
var l = itemLayer.item.data.layers[layerIndex];
if (l && l.rendering && l.rendering.renderoutputType == "VectorTiles") {
var rt = itemLayer.item.data.layers[layerIndex].rendering as IRenderoutputTiles;
layer = new VectorTileLayer({
declutter: true,
source: new VectorTileSource({
maxZoom: rt.maxzoom,
minZoom: rt.minzoom,
format: new MVT(),
url: `${this._apiEndPoint}/api/v1/items/${itemLayer.item.code}/vectortiles/{z}/{x}/{y}.pbf?v=${itemLayer.item.updated.getTime()}`
}),
style: (feature) => {
return this.getColorFromGradient(l, feature);
}
})
} if (l && l.rendering && l.rendering.renderoutputType == "Tiles") {
var rt = l.rendering as IRenderoutputTiles;
layer = new Tile({
source: new XYZ({
maxZoom: rt.maxzoom,
minZoom: rt.minzoom,
url: `${this._apiEndPoint}/api/v1/items/${itemLayer.item.code}/vectortiles/image_tiles/${layerIndex}/{z}/{x}/{y}.png?v=${itemLayer.item.updated.getTime()}`
})
});
} else {
let __this = this;
let format = new GeoJSON();
let source = new VectorSource({
strategy: loadingstrategy.bbox,
loader: function (extent: Extent, resolution: number, projection: Projection) {
var source = this as VectorSource;
__this.itemService.getItemFeatures(itemLayer.item.code, extent, projection.getCode(), layerIndex).subscribe(function (data) {
var features = format.readFeatures(data);
for (let f of features) {
if (f.get("code")) {
f.setId(f.get("code"));
}
}
source.addFeatures(features);
});
}
});
layer = new VectorLayer({
source: source,
style: (feature) => {
var key = feature.get("color");
if (!this.styleCache[key]) {
var color = feature.get("color");
this.styleCache[key] = new style.Style(
{
fill: new style.Fill({
color: color
}),
stroke: new style.Stroke({
color: color,
width: 1.25
}),
image: new style.Circle({
fill: new style.Fill({
color: color
}),
stroke: new style.Stroke({
color: color,
width: 1.25
}),
radius: 5
}),
}
)
}
return this.styleCache[key];
}
});
}
} else if (itemLayer.item.itemType == 'vnd.farmmaps.itemtype.layer') {
let data = itemLayer.item.data as ILayerData;
switch (data.interfaceType) {
case 'OSM': {
let source = new OSM();
layer = new Tile({ source: source });
break;
}
case 'BingMaps': {
let source = new BingMaps(data.options);
layer = new Tile({ source: source });
break;
}
case 'TileWMS': {
let source = new TileWMS(data.options);
layer = new Tile({ source: source });
break;
}
case 'TileArcGISRest': {
let source = new TileArcGISRest(data.options);
layer = new Tile({ source: source });
break;
}
default: {
break;
}
}
}
if (layer) {
let geometry = new GeoJSON().readGeometry(itemLayer.item.geometry);
let extent = geometry ? proj.transformExtent(geometry.getExtent(), 'EPSG:4326', 'EPSG:3857') : null;
if (extent) layer.setExtent(extent);
}
return layer;
}
ngOnInit() {
super.ngOnInit();
this.updateLayers(this.itemLayers);
}
updateLayers(itemLayers: IItemLayer[]) {
if (itemLayers) {
var olLayers = this.instance.getLayers();
itemLayers.forEach((itemLayer, index) => {
var layer = itemLayer.layer;
let olIndex = olLayers.getArray().indexOf(layer);
if (olIndex < 0) {
// New layer: we add it to the map
layer = this.createLayer(itemLayer);
if (layer) {
itemLayer.layer = layer;
}
olLayers.insertAt(index, layer);
} else if (index !== olIndex) {
// layer has moved inside the layers list
olLayers.removeAt(olIndex);
olLayers.insertAt(index, layer);
}
layer.setOpacity(itemLayer.opacity);
layer.setVisible(itemLayer.visible);
});
// Remove the layers that have disapeared from childrenLayers
if (olLayers.getLength() > itemLayers.length) {
for (let i = itemLayers.length; i < olLayers.getLength(); i++) {
olLayers.removeAt(i);
}
}
}
}
ngOnChanges(changes: SimpleChanges) {
if (this.instance) {
if (changes['itemLayers']) {
var itemLayers = changes['itemLayers'].currentValue as IItemLayer[];
this.updateLayers(itemLayers);
}
if (changes['itemLayer']) {
var itemLayer = changes['itemLayer'].currentValue as IItemLayer;
if(itemLayer) {
this.updateLayers([itemLayer]);
} else {
this.updateLayers([]);
}
}
}
}
}
import { Component, Host, Input, Output, EventEmitter,OnDestroy, OnInit, OnChanges, SimpleChanges, forwardRef } from '@angular/core';
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';
import { IRenderoutputTiles,IRenderoutputImage,IGradientstop,ILayer,IHistogram,IColor} from '../../../models/color.map';
import {Extent} from 'ol/extent';
import Projection from 'ol/proj/Projection';
import * as proj from 'ol/proj';
import * as loadingstrategy from 'ol/loadingstrategy';
import * as style from 'ol/style';
import {Tile,Layer,Image} from 'ol/layer';
import {XYZ,ImageStatic,OSM,BingMaps,TileWMS,TileArcGISRest,TileJSON,Source} from 'ol/source';
import {Vector as VectorSource} from 'ol/source';
import { Vector as VectorLayer } from 'ol/layer';
import { VectorImage as VectorImageLayer } from 'ol/layer';
import VectorTileSource from 'ol/source/VectorTile';
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',
template: `<ng-content></ng-content>`,
providers: [
{ provide: LayerGroupComponent, useExisting: forwardRef(() => ItemLayersComponent) }
]
})
export class ItemLayersComponent extends LayerGroupComponent implements OnChanges, OnInit,OnDestroy {
@Input() itemLayers: IItemLayer[];
@Input() itemLayer: IItemLayer;
@Output() onFeatureSelected: EventEmitter<any> = new EventEmitter<any>();
@Output() onFeatureHover: EventEmitter<any> = new EventEmitter<any>();
@Output() onPrerender: EventEmitter<any> = new EventEmitter<any>();
private _apiEndPoint: string;
private initialized = false;
private mapEventHandlerInstalled = false;
private topLayerPrerenderEventhandlerInstalled = false;
private selectedFeatures = {};
private selectionLayer:Layer<Source> = null;
constructor(private itemService: ItemService, private map: MapComponent, public appConfig: AppConfig) {
super(map);
this._apiEndPoint = appConfig.getConfig("apiEndPoint");
}
private styleCache = {}
componentToHex(c) {
const hex = c.toString(16);
return hex.length == 1 ? "0" + hex : hex;
}
rgbaToHex(r, g, b,a) {
return "#" + this.componentToHex(r) + this.componentToHex(g) + this.componentToHex(b) + this.componentToHex(a);
}
getColorFromGradient(layer: ILayer, value: number): IColor {
const gradient: IGradientstop[] = layer.renderer.colorMap.gradient;
const histogram: IHistogram = layer.renderer.band.histogram;
const index = (value - histogram.min) / histogram.max;
let min = gradient[0];
let max = gradient[gradient.length - 1];
for (let n = 0; n < gradient.length; n++) {
const s = gradient[n];
if (s.relativestop <= index && min.relativestop < s.relativestop && n < gradient.length - 1) min = s;
if (s.relativestop >= index && max.relativestop > s.relativestop && n > 0) max = s;
}
const i = index - min.relativestop;
const size = max.relativestop - min.relativestop;
const alpha = Math.round(min.color.alpha + ((max.color.alpha - min.color.alpha) * i / size));
const red = Math.round(min.color.red + ((max.color.red - min.color.red) * i / size));
const green = Math.round(min.color.green + ((max.color.green - min.color.green) * i / size));
const blue = Math.round(min.color.blue + ((max.color.blue - min.color.blue) * i / size));
return { alpha: alpha, red: red, green: green, blue: blue };
}
getColorForValue(layer: ILayer, value: number): IColor {
let color: IColor = { alpha:0,red:0,green:0,blue:0};
if(layer.renderer.colorMap.entries.length>0) {
color=layer.renderer.colorMap.noValue;
}
layer.renderer.colorMap.entries.forEach((entry) => {
if(entry.value==value) {
color =entry.color;
return;
}
});
return color;
}
getColor(item: IItem, layer: ILayer, feature): style.Style {
const value = layer.indexKey ? feature.get(layer.indexKey) : feature.get(layer.name);
const key = item.code + "_" + value;
if (!this.styleCache[key]) {
let color: IColor;
if(layer.renderer.colorMap.colormapType == "manual") {
color = this.getColorForValue(layer, value);
} else {
color = this.getColorFromGradient(layer, value);
}
this.styleCache[key] = new style.Style(
{
image: new style.Circle({
fill: new style.Fill({
color: this.rgbaToHex(color.red, color.green, color.blue, color.alpha)
}),
radius: 3
}),
fill: new style.Fill({
color: this.rgbaToHex(color.red, color.green, color.blue, color.alpha)
}),
stroke: new style.Stroke({
color: this.rgbaToHex(color.red, color.green, color.blue, 255),
width: 1.25
}),
});
}
return this.styleCache[key];
}
createGeotiffLayer(item:IItem,itemLayer:IItemLayer):Layer<Source> {
let layerIndex = -1;
let layer: Layer<Source> = null;
layerIndex = itemLayer.layerIndex != -1 ? itemLayer.layerIndex : item.data.layers[0].index;
const source = new XYZ({ maxZoom: 19, minZoom: 1, url: `${this._apiEndPoint}/api/v1/items/${item.code}/tiles/${layerIndex}/{z}/{x}/{y}.png?v=${Date.parse(item.updated)}` });
layer = new Tile({ source: source });
const data = item.data;
const l = (data && data.layers && data.layers.length > 0) ? data.layers[0] : null;
if (l && l.rendering && l.rendering.renderoutputType == "Tiles") {
const rt = l.rendering as IRenderoutputTiles;
const source = new XYZ({crossOrigin: 'use-credentials', maxZoom: rt.maxzoom, minZoom: rt.minzoom, url: `${this._apiEndPoint}/api/v1/items/${item.code}/tiles/${layerIndex}/{z}/{x}/{y}.png?v=${Date.parse(item.updated)}` });
layer = new Tile({ source: source });
}
if (l && l.rendering && l.rendering.renderoutputType == "Image") {
const ri = l.rendering as IRenderoutputImage;
const source = new ImageStatic({ imageExtent:ri.extent,projection:'EPSG:3857', crossOrigin: 'use-credentials', url: `${this._apiEndPoint}/api/v1/items/${item.code}/mapimage/${layerIndex}?v=${Date.parse(item.updated)}` });
layer = new Image({ source: source });
}
return layer;
}
createShapeLayer(item:IItem,itemLayer:IItemLayer):Layer<Source> {
let layerIndex = -1;
let layer: Layer<Source> = null;
layerIndex = itemLayer.layerIndex != -1 ? itemLayer.layerIndex : item.data.layers[0].index;
const data = item.data;
const l:ILayer = (data && data.layers && data.layers.length > 0) ? data.layers[layerIndex] : null;
if (l && l.rendering && l.rendering.renderoutputType == "VectorTiles") {
var rt = l.rendering as IRenderoutputTiles;
layer = new VectorTileLayer({
declutter: true,
source: new VectorTileSource({
maxZoom: rt.maxzoom,
minZoom: rt.minzoom,
format: new MVT(),
url: `${this._apiEndPoint}/api/v1/items/${item.code}/vectortiles/{z}/{x}/{y}.pbf?v=${Date.parse(item.updated)}`
}),
style: (feature) => {
return this.getColor(item,l, feature);
}
})
} else if (l && l.rendering && l.rendering.renderoutputType == "Tiles") {
var rt = l.rendering as IRenderoutputTiles;
layer = new Tile({
source: new XYZ({
maxZoom: rt.maxzoom,
minZoom: rt.minzoom,
url: `${this._apiEndPoint}/api/v1/items/${item.code}/vectortiles/image_tiles/${layerIndex}/{z}/{x}/{y}.png?v=${Date.parse(item.updated)}`
})
});
} else {
const __this = this;
const format = new GeoJSON();
const source = new VectorSource({
strategy: loadingstrategy.bbox,
loader: function (extent: Extent, resolution: number, projection: Projection) {
const source = this as VectorSource<Feature<Geometry>>;
__this.itemService.getItemFeatures(item.code, extent, projection.getCode(), layerIndex).subscribe(function (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"));
}
}
source.addFeatures(features);
});
}
});
layer = new VectorImageLayer({
declutter: true,
source: source,
style: (feature) => {
const key =feature.get("code") + "_" + feature.get("color");
if (!this.styleCache[key]) {
const color = feature.get("color");
this.styleCache[key] = new style.Style(
{
fill: new style.Fill({
color: color
}),
stroke: new style.Stroke({
color: color,
width: 1.25
}),
image: new style.Circle({
fill: new style.Fill({
color: color
}),
stroke: new style.Stroke({
color: color,
width: 1.25
}),
radius: 5
}),
}
)
}
return this.styleCache[key];
}
});
}
if(l.minzoom) {
layer.setMinZoom(l.minzoom);
}
if(l.maxzoom) {
layer.setMaxZoom(l.maxzoom);
}
return layer;
}
createSelectionLayer(itemLayer:IItemLayer):Layer<Source> {
let layerIndex = -1;
const layer: Layer<Source> = null;
layerIndex = itemLayer.layerIndex != -1 ? itemLayer.layerIndex : itemLayer.item.data.layers[0].index;
const data = itemLayer.item.data;
const l:ILayer = (data && data.layers && data.layers.length > 0) ? data.layers[layerIndex] : null;
if (l && l.rendering && l.rendering.renderoutputType == "VectorTiles") {
return new VectorTileLayer({
renderMode: 'vector',
source: (itemLayer.layer as VectorTileLayer).getSource(),
style: (feature) => {
if (feature.getId() in this.selectedFeatures) {
return new style.Style(
{
stroke: new style.Stroke({
color: '#0d6efd',
width: 3
})
}
);
}
},
minZoom: itemLayer.layer.getMinZoom(),
maxZoom: itemLayer.layer.getMaxZoom()
});
}
return null;
}
createExternalLayer(item:IItem,itemLayer:IItemLayer):Layer<Source> {
const data = item.data as ILayerData;
let layer: Layer<Source> = null;
switch (data.interfaceType) {
case 'OSM': {
const source = new OSM();
layer = new Tile({ source: source });
break;
}
case 'BingMaps': {
const source = new BingMaps(data.options);
layer = new Tile({ source: source });
break;
}
case 'TileWMS': {
const source = new TileWMS(data.options);
layer = new Tile({ source: source });
break;
}
case 'TileJSON': {
const source = new TileJSON(data.options);
layer = new Tile({ source: source });
break;
}
case 'TileArcGISRest': {
const source = new TileArcGISRest(data.options);
layer = new Tile({ source: source });
break;
}
case 'VectorWFSJson': {
const source = new VectorSource({
format: new GeoJSON(),
url: function (extent) {
return (
data.options.url + '&srsname=' + data.projection +
'&bbox=' +
extent.join(',') +
',EPSG:3857'
);
},
strategy: loadingstrategy.bbox,
});
layer = new VectorLayer({ source: source });
break;
}
default: {
break;
}
}
return layer;
}
createLayer(itemLayer: IItemLayer): Layer<Source> {
let layer: Layer<Source> = null;
const layerIndex = -1;
if (itemLayer.item.itemType == 'vnd.farmmaps.itemtype.geotiff.processed') {
layer = this.createGeotiffLayer(itemLayer.item,itemLayer);
} else if (itemLayer.item.itemType == 'vnd.farmmaps.itemtype.shape.processed') {
layer = this.createShapeLayer(itemLayer.item,itemLayer);
} else if (itemLayer.item.itemType == 'vnd.farmmaps.itemtype.layer') {
layer = this.createExternalLayer(itemLayer.item,itemLayer);
}
if (layer) {
const geometry = new GeoJSON().readGeometry(itemLayer.item.geometry);
const extent = geometry ? proj.transformExtent(geometry.getExtent(), 'EPSG:4326', 'EPSG:3857') : null;
if (extent) layer.setExtent(extent);
}
return layer;
}
ngOnInit() {
super.ngOnInit();
if(this.itemLayers) {
this.updateLayers(this.itemLayers);
} else if(this.itemLayer) {
if(this.getItemlayer(this.itemLayer).item.itemType == 'vnd.farmmaps.itemtype.shape.processed') {
this.installMapEventHandler();
}
this.updateLayers([this.itemLayer])
} else {
this.updateLayers([]);
}
this.initialized=true;
}
installMapEventHandler() {
if(!this.mapEventHandlerInstalled) {
this.map.instance.on(['click', 'pointermove'],this.mapEventHandler);
this.mapEventHandlerInstalled=true;
}
}
unInstallMapEventHandler() {
if(this.mapEventHandlerInstalled) {
this.map.instance.un(['click', 'pointermove'],this.mapEventHandler);
this.mapEventHandlerInstalled=false;
}
}
installTopLayerPrerenderEventhandler(olLayer : Layer<Source>) {
if(!this.topLayerPrerenderEventhandlerInstalled && this.onPrerender.observers.length > 0 && olLayer) {
if(this.instance.getVisible()) {
olLayer.on('prerender',this.topLayerPrerenderEventhandler);
olLayer.on('postrender',this.topLayerPostrenderEventhandler);
this.topLayerPrerenderEventhandlerInstalled = true;
}
}
}
unInstallTopLayerPrerenderEventhandler() {
if(this.topLayerPrerenderEventhandlerInstalled && this.onPrerender.observers.length > 0 )
{
if(this.instance.getVisible()) {
const olLayers = this.instance.getLayers().getArray().forEach((l:any) => {
l.un('prerender',this.topLayerPrerenderEventhandler);
l.un('postrender',this.topLayerPostrenderEventhandler);
});
this.topLayerPrerenderEventhandlerInstalled = false;
}
}
}
addOrUpdateOlLayer(itemLayer:IItemLayer,index:number):Layer<Source> {
if(!itemLayer) return null;
const olLayers = this.instance.getLayers();
let layer = itemLayer.layer;
const olIndex = olLayers.getArray().indexOf(layer);
if (olIndex < 0) {
// New layer: we add it to the map
layer = this.createLayer(itemLayer);
if (layer) {
olLayers.insertAt(index, layer);
}
} else if (index !== olIndex) {
// layer has moved inside the layers list
olLayers.removeAt(olIndex);
olLayers.insertAt(index, layer);
}
if(layer) {
itemLayer.layer = layer;
layer.setOpacity(itemLayer.opacity);
layer.setVisible(itemLayer.visible);
}
return layer;
}
updateLayers(itemLayers: IItemLayer[] | IItemLayer) {
this.unInstallTopLayerPrerenderEventhandler();
let dataLayer = false;
let ils:IItemLayer[] = [];
if(Array.isArray(itemLayers)) {
ils = itemLayers;
} else {
dataLayer=true;
ils=[itemLayers];
}
const newLayers: Layer<Source>[] = [];
if (ils) {
ils.forEach((itemLayer, index) => {
if(itemLayer.item.itemType == 'vnd.farmmaps.itemtype.temporal') {
const il = itemLayer as ITemporalItemLayer;
const previousLayer = this.addOrUpdateOlLayer(il.previousItemLayer,newLayers.length);
if(previousLayer) newLayers.push(previousLayer);
const selectedLayer = this.addOrUpdateOlLayer(il.selectedItemLayer,newLayers.length);
if(selectedLayer) newLayers.push(selectedLayer);
const nextLayer = this.addOrUpdateOlLayer(il.nextItemLayer,newLayers.length);
if(nextLayer) newLayers.push(nextLayer);
this.installTopLayerPrerenderEventhandler(selectedLayer);
} else {
const layer = this.addOrUpdateOlLayer(itemLayer,newLayers.length);
if(layer) newLayers.push(layer);
this.installTopLayerPrerenderEventhandler(layer);
}
});
// Remove the layers that have disapeared from childrenLayers
const olLayers = this.instance.getLayers();
while(olLayers.getLength() > newLayers.length) {
olLayers.removeAt(newLayers.length);
}
this.selectionLayer=null;
if(this.mapEventHandlerInstalled && ils.length==1 && this.getItemlayer(itemLayers[0]).item.itemType == 'vnd.farmmaps.itemtype.shape.processed') {
this.selectionLayer = this.createSelectionLayer(this.getItemlayer(itemLayers[0]));
if(this.selectionLayer) olLayers.push(this.selectionLayer)
}
}
}
topLayerPrerenderEventhandler = (event) => {
this.onPrerender.emit(event);
}
topLayerPostrenderEventhandler = (event) => {
const ctx = event.context;
ctx.restore();
}
mapEventHandler = (event) => {
// select only when having observers
if(event.type === 'click' && !this.onFeatureSelected.observers.length) return;
if(event.type === 'pointermove' && !this.onFeatureHover.observers.length) return;
const itemLayer= this.getItemlayer(this.itemLayer);
if(itemLayer && itemLayer.layer) {
this.selectedFeatures = {};
if(itemLayer.layer ) {
const minZoom = itemLayer.layer.getMinZoom();
const currentZoom = this.map.instance.getView().getZoom();
if(currentZoom>minZoom) {
itemLayer.layer.getFeatures(event.pixel).then((features) => {
if(!features.length) {
this.onFeatureHover.emit(null);
return;
}
const fid = features[0].getId();
const feature = features[0];
if(event.type === 'pointermove') {
this.selectedFeatures[fid] = features[0];
this.onFeatureHover.emit({ "feature": feature,"itemCode":itemLayer.item.code });
} else {
this.onFeatureSelected.emit({ "feature": feature,"itemCode":itemLayer.item.code });
}
})
if(this.selectionLayer) this.selectionLayer.changed();
}
}
}
}
getItemlayer(itemLayer:IItemLayer):IItemLayer {
if((itemLayer as ITemporalItemLayer).selectedItemLayer) return (itemLayer as ITemporalItemLayer).selectedItemLayer;
return itemLayer;
}
ngOnChanges(changes: SimpleChanges) {
if (this.instance && this.initialized) {
if (changes['itemLayers']) {
const itemLayers = changes['itemLayers'].currentValue as IItemLayer[];
this.updateLayers(itemLayers);
}
if (changes['itemLayer']) {
const itemLayer = changes['itemLayer'].currentValue as IItemLayer;
this.itemLayer = itemLayer
if(itemLayer) {
if(this.getItemlayer(this.itemLayer).item.itemType == 'vnd.farmmaps.itemtype.shape.processed') {
this.installMapEventHandler();
}
this.updateLayers([itemLayer]);
} else {
this.unInstallMapEventHandler();
this.updateLayers([]);
}
}
}
}
ngOnDestroy() {
this.unInstallMapEventHandler();
super.ngOnDestroy();
}
}
@@ -1,207 +1,260 @@
import { Component, Host, Input, Output, EventEmitter, OnInit, OnChanges, SimpleChanges, forwardRef, Inject, InjectionToken } from '@angular/core';
import { LayerVectorComponent, SourceVectorComponent, MapComponent } from 'ngx-openlayers';
import { ItemService,ItemTypeService,IItem, IItemType } from '@farmmaps/common';
import { Feature } from 'ol';
import { Point } from 'ol/geom';
import { MapBrowserEvent } from 'ol';
import * as style from 'ol/style';
import * as color from 'ol/color';
import * as loadingstrategy from 'ol/loadingstrategy';
import * as condition from 'ol/events/condition';
import * as extent from 'ol/extent';
import {Vector,Cluster} from 'ol/source';
import {Layer} from 'ol/layer';
import {GeoJSON} from 'ol/format';
import {Select} from 'ol/interaction';
@Component({
selector: 'fm-map-item-source-vector',
template: `<ng-content></ng-content>`,
providers: [
{ provide: SourceVectorComponent , useExisting: forwardRef(() => ItemVectorSourceComponent) }
]
})
export class ItemVectorSourceComponent extends SourceVectorComponent implements OnInit, OnChanges {
instance: Vector;
private _format: GeoJSON;
private _select: Select;
private _hoverSelect: Select;
private _iconScale: number = 0.05;
@Input() features: Array<Feature>;
@Input() selectedFeature: Feature;
@Input() selectedItem: IItem;
@Output() onFeaturesSelected: EventEmitter<Feature> = new EventEmitter<Feature>();
private styleCache = {
'file': new style.Style({
image: new style.Icon({
anchor: [0.5, 1],
scale: 0.05,
src: this.getIconImageDataUrl("fa fa-file-o")
}),
stroke: new style.Stroke({
color: 'red',
width: 1
}),
fill: new style.Fill({
color: 'rgba(0, 0, 255, 0.1)'
}),
geometry: (feature) => this.geometry(feature)
}),
'selected': new style.Style({
image: new style.Icon({
anchor: [0.5, 1],
scale: 0.08,
src: this.getIconImageDataUrl(null)
}),
stroke: new style.Stroke({
color: 'red',
width: 3
}),
fill: new style.Fill({
color: 'rgba(0, 0, 255, 0.1)'
}),
geometry: (feature) => this.geometry(feature)
})
};
constructor(@Host() private layer: LayerVectorComponent, private itemService: ItemService, @Host() private map: MapComponent, private itemTypeService: ItemTypeService) {
super(layer);
this._format = new GeoJSON();
}
geometry(feature: Feature) {
let view = this.map.instance.getView();
let resolution = view.getResolution();
var geometry = feature.getGeometry();
let e = geometry.getExtent();
//var size = Math.max((e[2] - e[0]) / resolution, (e[3] - e[1]) / resolution);
if (resolution > 12) {
geometry = new Point(extent.getCenter(e));
}
return geometry;
}
getIconImageDataUrl(iconClass:string, backgroundColor: string = "#c80a6e",color:string = "#ffffff"): string {
var canvas = document.createElement('canvas');
canvas.width = 365;
canvas.height = 560;
var ctx = canvas.getContext('2d');
ctx.lineWidth = 6;
ctx.fillStyle = backgroundColor;
ctx.strokeStyle = "#000000";
var path = new Path2D("m182.9 551.7c0 0.1 0.2 0.3 0.2 0.3s175.2-269 175.2-357.4c0-130.1-88.8-186.7-175.4-186.9-86.6 0.2-175.4 56.8-175.4 186.9 0 88.4 175.3 357.4 175.3 357.4z");
ctx.fill(path)
var iconCharacter = "";
if (iconClass != null) {
var element = document.createElement("i");
element.style.display = "none";
element.className = iconClass;
document.body.appendChild(element);
iconCharacter = getComputedStyle(element, "::before").content.replace(/"/g, '');
let iconFont = "200px " +getComputedStyle(element, "::before").fontFamily
document.body.removeChild(element);
ctx.strokeStyle = color;
ctx.fillStyle = color;
ctx.lineWidth = 15;
ctx.font = iconFont;
var ts = ctx.measureText(iconCharacter);
ctx.fillText(iconCharacter, 182.9 - (ts.width / 2), 250);
ctx.strokeText(iconCharacter, 182.9 - (ts.width / 2), 250);
}
return canvas.toDataURL();
}
ngOnInit() {
this.strategy = loadingstrategy.bbox;
this.format = new GeoJSON();
this._select = new Select({
style: (feature) => {
return this.styleCache['selected'];
},
hitTolerance: 10,
layers: [this.layer.instance as Layer]
});
this._hoverSelect = new Select({
style: (feature) => {
return this.styleCache['selected'];
},
hitTolerance: 10,
condition: (e: MapBrowserEvent) => {
return e.type == 'pointermove';
},
layers: [this.layer.instance as Layer]
});
this.map.instance.addInteraction(this._select);
this.map.instance.addInteraction(this._hoverSelect);
this._select.on('select', (e) => {
if (e.selected.length > 0 && e.selected[0]) {
this.onFeaturesSelected.emit(e.selected[0]);
} else {
this.onFeaturesSelected.emit(null);
}
});
this.instance = new Vector(this);
this.host.instance.setSource(this.instance);
this.host.instance.setStyle((feature) => {
var key = feature.get('itemType') + (this.selectedItem?"_I":"");
if (!this.styleCache[key]) {
if (this.itemTypeService.itemTypes[key]) {
let itemType = this.itemTypeService.itemTypes[key];
let fillColor = color.asArray(itemType.iconColor);
fillColor[3] = this.selectedItem?0:0.5;
this.styleCache[key] = new style.Style({
image: itemType.icon ? new style.Icon({
anchor: [0.5, 1],
scale: 0.05,
src: this.getIconImageDataUrl(itemType.icon)
}):null,
stroke: new style.Stroke({
color: 'red',
width: 1
}),
fill: new style.Fill({
color: fillColor
}),
geometry: (feature) => this.geometry(feature)
});
} else {
key = 'file';
}
}
var styleEntry = this.styleCache[key];
return styleEntry;
});
}
ngOnChanges(changes: SimpleChanges) {
if (changes["features"] && this.instance) {
this.instance.clear(true);
this._select.getFeatures().clear();
this.instance.addFeatures(changes["features"].currentValue);
}
if (changes["selectedFeature"] && this.instance) {
var features = this._select.getFeatures();
var feature = changes["selectedFeature"].currentValue
//this.instance.clear(false);
//this.instance.addFeatures(features.getArray());
features.clear();
if (feature) {
//this.instance.removeFeature(feature);
features.push(feature)
}
}
if (changes["selectedItem"] && this.instance) {
var item = changes["selectedItem"].currentValue
if (item) {
this.map.instance.removeInteraction(this._hoverSelect);
} else {
this.map.instance.addInteraction(this._hoverSelect);
}
}
}
}
import { Component, Host, Input, Output, EventEmitter, OnInit, OnChanges, SimpleChanges, forwardRef, Inject, InjectionToken, OnDestroy, LOCALE_ID } from '@angular/core';
import { LayerVectorComponent, SourceVectorComponent, MapComponent } from 'ng-openlayers';
import { ItemService, ItemTypeService, IItem, IItemType, FolderService } from '@farmmaps/common';
import { Feature } from 'ol';
import { Point, Geometry } from 'ol/geom';
import { MapBrowserEvent } from 'ol';
import { Types } from 'ol/MapBrowserEventType';
import * as style from 'ol/style';
import * as color from 'ol/color';
import * as loadingstrategy from 'ol/loadingstrategy';
import * as condition from 'ol/events/condition';
import * as extent from 'ol/extent';
import { Vector, Cluster, Source } from 'ol/source';
import { Layer } from 'ol/layer';
import { GeoJSON } from 'ol/format';
import { Select } from 'ol/interaction';
import { IStyles } from '../../../models/style.cache';
import { FeatureIconService } from '../../../services/feature-icon.service';
import { Subscription } from 'rxjs';
import { getCenter } from 'ol/extent';
import { formatNumber } from '@angular/common';
@Component({
selector: 'fm-map-item-source-vector',
template: `<ng-content></ng-content>`,
providers: [
{ provide: SourceVectorComponent, useExisting: forwardRef(() => ItemVectorSourceComponent) }
]
})
export class ItemVectorSourceComponent extends SourceVectorComponent implements OnInit, OnDestroy, OnChanges {
instance: Vector<Feature<Geometry>>;
private _format: GeoJSON;
private _select: Select;
private _hoverSelect: Select;
private _iconScale = 0.05;
@Input() features: Array<Feature<Geometry>>;
@Input() selectedFeature: Feature<Geometry>;
@Input() selectedItem: IItem;
@Input() styles: IStyles;
@Output() onFeatureSelected: EventEmitter<Feature<Geometry>> = new EventEmitter<Feature<Geometry>>();
@Output() onFeatureHover: EventEmitter<Feature<Geometry>> = new EventEmitter<Feature<Geometry>>();
private stylesCache: IStyles = {};
private sub: Subscription;
private displayMapFeatureSettings: { [code: string]: string[] } = defaultDisplayMapFeatureSettings();
constructor(@Host() private layer: LayerVectorComponent, private itemService: ItemService, private map: MapComponent, private itemTypeService: ItemTypeService, private featureIconService$: FeatureIconService, private folderService: FolderService, @Inject(LOCALE_ID) private locale: string) {
super(layer);
this._format = new GeoJSON();
}
geometry(feature: Feature<Geometry>) {
const view = this.map.instance.getView();
const resolution = view.getResolution();
let geometry = feature.getGeometry();
const e = geometry.getExtent();
//var size = Math.max((e[2] - e[0]) / resolution, (e[3] - e[1]) / resolution);
if (resolution > 12) {
geometry = new Point(extent.getCenter(e));
}
return geometry;
}
getSelectedStyle(feature: Feature<Geometry>): style.Style {
const key = feature.get('itemType') + "_selected";
let evaluatedStyle: style.Style = undefined;
const styleEntry = this.stylesCache[key];
if (styleEntry) {
if (typeof styleEntry === 'function') {
evaluatedStyle = styleEntry(feature);
} else {
evaluatedStyle = styleEntry;
}
} else {
evaluatedStyle = this.stylesCache["selected"] as style.Style;
}
if (evaluatedStyle) {
evaluatedStyle.setGeometry((feature: Feature<Geometry>) => this.geometry(feature));
}
return evaluatedStyle as style.Style
}
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) {
this.displayMapFeatureSettings = items[0].data?.displayMapFeatureSettings;
}
}
)
}
);
this.strategy = loadingstrategy.bbox;
this.format = new GeoJSON();
this._select = new Select({
style: null,
hitTolerance: 10,
layers: [this.layer.instance as Layer<Source>]
});
this._hoverSelect = new Select({
style: (feature: Feature<Geometry>) => {
return this.getSelectedStyle(feature);
},
hitTolerance: 10,
condition: (e: MapBrowserEvent<UIEvent>) => {
return e.type == 'pointermove';
},
layers: [this.layer.instance as Layer<Source>]
});
this.map.instance.addInteraction(this._select);
this.map.instance.addInteraction(this._hoverSelect);
this._select.on('select', (e) => {
if (e.selected.length > 0 && e.selected[0]) {
this.onFeatureSelected.emit(e.selected[0]);
} else {
this.onFeatureSelected.emit(null);
}
});
this._hoverSelect.on('select', (e) => {
if (e.selected.length > 0 && e.selected[0]) {
this.onFeatureHover.emit(e.selected[0]);
} else {
this.onFeatureHover.emit(null);
}
});
this.instance = new Vector(this);
this.host.instance.setSource(this.instance);
this.host.instance.setStyle((feature) => {
const itemType = feature.get('itemType');
let key = itemType + (this.selectedItem ? "_I" : "");
if (!this.stylesCache[key]) {
if (this.itemTypeService.itemTypes[itemType]) {
const itemTypeEntry = this.itemTypeService.itemTypes[itemType];
const fillColor = color.asArray(itemTypeEntry.iconColor);
fillColor[3] = 0;
this.stylesCache[key] = new style.Style({
image: itemTypeEntry.icon ? new style.Icon({
anchor: [0.5, 1],
scale: 0.05,
src: this.featureIconService$.getIconImageDataUrl(itemTypeEntry.icon)
}) : null,
stroke: new style.Stroke({
color: 'red',
width: 1
}),
fill: new style.Fill({
color: fillColor
}),
geometry: (feature: Feature<Geometry>) => this.geometry(feature),
text: this.getDisplayTextForFeature(feature, this.map.instance.getView().getZoom())
});
} else {
key = 'file';
}
}
let evaluatedStyle = null;
const styleEntry = this.stylesCache[key];
if (typeof styleEntry === 'function') {
evaluatedStyle = styleEntry(feature);
} else {
evaluatedStyle = styleEntry;
}
if (evaluatedStyle && evaluatedStyle.geometry_ == null && !Array.isArray(evaluatedStyle)) {
evaluatedStyle.setGeometry((feature) => this.geometry(feature));
}
return evaluatedStyle;
});
}
ngOnDestroy(): void {
if (this.sub) this.sub.unsubscribe();
}
ngOnChanges(changes: SimpleChanges) {
if (changes["features"] && this.instance) {
this.instance.clear(true);
this._select.getFeatures().clear();
this.instance.addFeatures(changes["features"].currentValue);
}
if (changes["selectedFeature"] && this.instance) {
const features = this._hoverSelect.getFeatures();
const feature = changes["selectedFeature"].currentValue
//this.instance.clear(false);
//this.instance.addFeatures(features.getArray());
features.clear();
if (feature) {
//this.instance.removeFeature(feature);
features.push(feature)
}
}
if (changes["selectedItem"] && this.instance) {
const item = changes["selectedItem"].currentValue
if (item) {
this.map.instance.removeInteraction(this._hoverSelect);
} else {
this.map.instance.addInteraction(this._hoverSelect);
}
}
if (changes["styles"]) {
const styles = changes["styles"].currentValue;
for (const key in styles) {
if (styles.hasOwnProperty(key)) {
this.stylesCache[key] = styles[key];
}
}
}
}
getDisplayTextForFeature(feature: Feature<Geometry>, zoom: number, overrule?: style.Text) {
if (!feature) return null;
const propertiesToShow: string[] = this.displayMapFeatureSettings[feature.get('itemType')];
if (!propertiesToShow) return null;
if (propertiesToShow.length <= 0) return null;
if (zoom < 14) return null;
let displayText = '';
for (let i = 0; i < propertiesToShow.length; i++) {
let value = feature.get(propertiesToShow[i]);
switch (propertiesToShow[i]) {
case "area": value = formatNumber(value, this.locale, '0.1-2') + ' ha'; break;
case "centroid": {
if (feature.getGeometry()) {
const centroid = getCenter(feature.getGeometry().getExtent());
value = Math.round(centroid[0]) + ',' + Math.round(centroid[1]);
}
}
if (value) {
displayText += value + (i < propertiesToShow.length ? '\n' : '');
}
}
const styleText = new style.Text({
font: '13px Calibri,sans-serif',
fill: new style.Fill({ color: '#ffffff' }),
stroke: new style.Stroke({ color: '#000000', width: 2 }),
text: displayText
});
if (overrule) {
if (overrule.getFont()) styleText.setFont(overrule.getFont());
if (overrule.getFill()) styleText.setFill(overrule.getFill());
if (overrule.getStroke()) styleText.setStroke(overrule.getStroke());
}
return styleText;
}
}
}
function defaultDisplayMapFeatureSettings() {
return {
'vnd.farmmaps.itemtype.cropfield': ['name', 'cropTypeName', 'area']
};
}
@@ -1,29 +1,31 @@
<div class="layerlist" *ngIf="itemLayers.length > 0;else noLayers">
<div class="list-group">
<div *ngFor="let itemLayer of itemLayers" class="list-group-item list-group-item-action p-2 text-truncate" [ngClass]="{'active' : selectedLayer==itemLayer}">
<div (click)="handleSelectLayer($event,itemLayer)" [title]="itemLayer.item.name">{{itemLayer.item.name}}</div>
<div class="mt-1" *ngIf="selectedLayer==itemLayer && !baseLayers">
<span class="btn-group">
<a title="Toggle visibility"href="#" class="btn btn-light btn-sm" (click)="handleToggleVisibility($event,itemLayer)"><i class="fa" aria-hidden="true" [ngClass]="{'fa-eye':!itemLayer.visible,'fa-eye-slash':itemLayer.visible}"></i></a>
<a title="Transparency 25%" *ngIf="itemLayer.visible" href="#" class="btn btn-light btn-sm" (click)="handleSetOpacity($event,itemLayer,0.25)">25%</a>
<a title="Transparency 50%" *ngIf="itemLayer.visible" href="#" class="btn btn-light btn-sm" (click)="handleSetOpacity($event,itemLayer,0.5)">50%</a>
<a title="Transparency 75%" *ngIf="itemLayer.visible" href="#" class="btn btn-light btn-sm" (click)="handleSetOpacity($event,itemLayer,0.75)">75%</a>
<a title="No transparency" *ngIf="itemLayer.visible" href="#" class="btn btn-light btn-sm" (click)="handleSetOpacity($event,itemLayer,1)">100%</a>
</span>
<a href="#" title="Zoom to extent" class="btn btn-light btn-sm" (click)="handleZoomToExtent($event,itemLayer)"><i class="fa fa-search-plus" aria-hidden="true"></i></a>
<span *ngIf="firstLayer(itemLayer)"><a href="#" title="Toggle legend" class="btn btn-light btn-sm" (click)="itemLayer.legendVisible=toggleLegend($event,itemLayer.legendVisible)"><i class="fa fa-bar-chart" aria-hidden="true"></i></a></span>
<span class="float-right"><a href="#" title="Remove overlay" class="btn btn-light btn-sm" (click)="handleDelete($event,itemLayer)"><i class="fa fa-minus" aria-hidden="true"></i></a></span>
</div>
<div *ngIf="itemLayer.legendVisible">
<div class="card legend">
<fm-map-layer-legend [layer]="firstLayer(itemLayer)" (click)="handleLegendClick($event,itemLayer);"></fm-map-layer-legend>
</div>
</div>
</div>
</div>
</div>
<ng-template #noLayers>
<div class="list-group">
<div class="list-group-item" i18n>No layers</div>
</div>
</ng-template>
<div>
<div class="layerlist" *ngIf="itemLayers.length > 0;else noLayers">
<div class="list-group">
<div *ngFor="let itemLayer of itemLayers" class="list-group-item list-group-item-action p-2 text-truncate" [ngClass]="{'active' : selectedLayer==itemLayer}">
<div (click)="handleSelectLayer($event,itemLayer)" [title]="itemLayer.item.name">{{itemLayer.item.name}}</div>
<div class="mt-1" *ngIf="selectedLayer==itemLayer && !baseLayers">
<span class="btn-group">
<a title="Toggle visibility"href="#" class="btn btn-light btn-sm" (click)="handleToggleVisibility($event,itemLayer)"><i class="fa" aria-hidden="true" [ngClass]="{'fa-eye':!itemLayer.visible,'fa-eye-slash':itemLayer.visible}"></i></a>
<a title="Transparency 25%" *ngIf="itemLayer.visible" href="#" class="btn btn-light btn-sm" (click)="handleSetOpacity($event,itemLayer,0.25)">25%</a>
<a title="Transparency 50%" *ngIf="itemLayer.visible" href="#" class="btn btn-light btn-sm" (click)="handleSetOpacity($event,itemLayer,0.5)">50%</a>
<a title="Transparency 75%" *ngIf="itemLayer.visible" href="#" class="btn btn-light btn-sm" (click)="handleSetOpacity($event,itemLayer,0.75)">75%</a>
<a title="No transparency" *ngIf="itemLayer.visible" href="#" class="btn btn-light btn-sm" (click)="handleSetOpacity($event,itemLayer,1)">100%</a>
</span>
<a href="#" title="Zoom to extent" class="btn btn-light btn-sm" (click)="handleZoomToExtent($event,itemLayer)"><i class="far fa-search-plus" aria-hidden="true"></i></a>
<span *ngIf="firstLayer(itemLayer)"><a href="#" title="Toggle legend" class="btn btn-light btn-sm" (click)="itemLayer.legendVisible=toggleLegend($event,itemLayer.legendVisible)"><i class="far fa-chart-bar" aria-hidden="true"></i></a></span>
<span *ngIf="!dataLayers" class="float-end"><a href="#" title="Remove overlay" class="btn btn-light btn-sm" (click)="handleDelete($event,itemLayer)"><i class="fas fa-layer-minus" aria-hidden="true"></i></a></span>
</div>
<div *ngIf="itemLayer.legendVisible">
<div class="card legend">
<fm-map-layer-legend [layer]="firstLayer(itemLayer)" (click)="handleLegendClick($event,itemLayer);" [histogramenabled]="true"></fm-map-layer-legend>
</div>
</div>
</div>
</div>
</div>
</div>
<ng-template #noLayers>
<div class="list-group">
<div class="list-group-item" i18n>No layers</div>
</div>
</ng-template>
@@ -1,64 +1,65 @@
import { Component,Input,Output,EventEmitter } from '@angular/core';
import { IItemLayer } from '../../../models';
@Component({
selector: 'fm-map-layer-list',
templateUrl: './layer-list.component.html',
styleUrls: ['./layer-list.component.scss']
})
export class LayerListComponent {
@Input() itemLayers: IItemLayer[];
@Input() baseLayers: boolean = false;
@Output() onToggleVisibility = new EventEmitter<IItemLayer>();
@Output() onSetOpacity = new EventEmitter<{layer: IItemLayer,opacity:number }>();
@Output() onDelete = new EventEmitter<IItemLayer>();
@Output() onZoomToExtent = new EventEmitter<IItemLayer>();
@Output() onSelectLayer = new EventEmitter<IItemLayer>();
@Input() selectedLayer: IItemLayer;
constructor( ) {
}
handleDelete(event:MouseEvent, item:IItemLayer) {
this.onDelete.emit(item);
event.preventDefault();
}
handleToggleVisibility(event:MouseEvent, item: IItemLayer) {
this.onToggleVisibility.emit(item);
item.legendVisible = item.visible && item.legendVisible;
event.preventDefault();
}
handleSetOpacity(event: MouseEvent, layer: IItemLayer,opacity:number) {
this.onSetOpacity.emit({ layer,opacity });
event.preventDefault();
}
handleZoomToExtent(event: MouseEvent, item: IItemLayer) {
this.onZoomToExtent.emit(item);
event.preventDefault();
}
handleSelectLayer(event: MouseEvent, item: IItemLayer) {
this.onSelectLayer.emit(item);
event.preventDefault();
}
firstLayer(item: IItemLayer): any {
if (item && item.item && item.item.data && item.item.data.layers && item.item.data.layers.length > 0) return item.item.data.layers[0];
return null;
}
toggleLegend(event: MouseEvent, lg: boolean) {
event.preventDefault();
return !lg;
}
handleLegendClick(event: MouseEvent, item: IItemLayer) {
this.onSelectLayer.emit(item);
this.onZoomToExtent.emit(item);
event.preventDefault();
}
}
import { Component,Input,Output,EventEmitter } from '@angular/core';
import { IItemLayer } from '../../../models/item.layer';
@Component({
selector: 'fm-map-layer-list',
templateUrl: './layer-list.component.html',
styleUrls: ['./layer-list.component.scss']
})
export class LayerListComponent {
@Input() itemLayers: IItemLayer[] = [];
@Input() baseLayers = false;
@Input() dataLayers = false;
@Output() onToggleVisibility = new EventEmitter<IItemLayer>();
@Output() onSetOpacity = new EventEmitter<{layer: IItemLayer,opacity:number }>();
@Output() onDelete = new EventEmitter<IItemLayer>();
@Output() onZoomToExtent = new EventEmitter<IItemLayer>();
@Output() onSelectLayer = new EventEmitter<IItemLayer>();
@Input() selectedLayer: IItemLayer;
constructor( ) {
}
handleDelete(event:MouseEvent, item:IItemLayer) {
this.onDelete.emit(item);
event.preventDefault();
}
handleToggleVisibility(event:MouseEvent, item: IItemLayer) {
this.onToggleVisibility.emit(item);
item.legendVisible = item.visible && item.legendVisible;
event.preventDefault();
}
handleSetOpacity(event: MouseEvent, layer: IItemLayer,opacity:number) {
this.onSetOpacity.emit({ layer,opacity });
event.preventDefault();
}
handleZoomToExtent(event: MouseEvent, item: IItemLayer) {
this.onZoomToExtent.emit(item);
event.preventDefault();
}
handleSelectLayer(event: MouseEvent, item: IItemLayer) {
this.onSelectLayer.emit(item);
event.preventDefault();
}
firstLayer(item: IItemLayer): any {
if (item && item.item && item.item.data && item.item.data.layers && item.item.data.layers.length > 0) return item.item.data.layers[0];
return null;
}
toggleLegend(event: MouseEvent, lg: boolean) {
event.preventDefault();
return !lg;
}
handleLegendClick(event: MouseEvent, item: IItemLayer) {
this.onSelectLayer.emit(item);
this.onZoomToExtent.emit(item);
event.preventDefault();
}
}
@@ -0,0 +1,18 @@
<div #layerValues class="layer-values">
<div class="cross" *ngIf="enabled$ | async">
<div class="pointer"></div>
<div class="values-container border border-dark rounded p-2" *ngIf="(layerValues$ | async ) as layers">
<div class="lonlat pb-2 "><span class="font-weight-bold">{{lonlat$}}</span><i class="ms-2 fal fa-copy" (click)="copyToClipboard()"></i> </div>
<ul class="value-list p-0 mb-0" *ngIf="layers.length>0 ;else no_data">
<li class="border-top pt-1 pb-1 value" *ngFor="let layerValue of layers">
<div>{{layerValue.layerName}}</div>
<div>{{layerValue.date|date}}</div>
<div><span *ngIf="layerValue.quantity"><span class="me-1">{{layerValue.quantity}}</span> </span><span class="me-1 font-weight-bold">{{getScaledValue(layerValue)}}</span><span>{{layerValue.unit}}</span></div>
</li>
</ul>
<ng-template #no_data>
<div i18n class="border-top pt-1 pb-1">No data at location</div>
</ng-template>
</div>
</div>
</div>
@@ -0,0 +1,37 @@
.layer-values {
position: absolute;
left: 50%;
top: 30%;
}
.cross {
display: block;
position: relative;
width: 1em;
height: 1em;
left: -0.5em;
top: -0.5em;
}
.values-container {
position: relative;
background-color: white;
left: calc( 1em - 1px);
top: -1.3em;
min-width: 15em;
}
.value-list {
list-style: none;
}
.pointer {
position: relative;
width: 0px;
height: 0px;
left: 0.5em;
border-top: 0.5em solid transparent;
border-bottom: 0.5em solid transparent;
border-right: 0.5em solid black;
}
@@ -0,0 +1,25 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { LayerValuesComponent } from './layer-values.component';
describe('LayerValuesComponent', () => {
let component: LayerValuesComponent;
let fixture: ComponentFixture<LayerValuesComponent>;
beforeEach(async () => {
await TestBed.configureTestingModule({
declarations: [ LayerValuesComponent ]
})
.compileComponents();
});
beforeEach(() => {
fixture = TestBed.createComponent(LayerValuesComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
@@ -0,0 +1,70 @@
import { Component, OnInit, Input, ViewChild, ElementRef, AfterViewInit } from '@angular/core';
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 'ng-openlayers';
import { ILayervalue } from '../../../models/layer.value';
import { Observable, interval, Subject } from 'rxjs';
import { debounce, throttle } from 'rxjs/operators';
import { toLonLat } from 'ol/proj';
import { toStringHDMS } from 'ol/coordinate';
import { ClipboardService } from 'ngx-clipboard'
import { GeoJSON, WKT } from 'ol/format';
import { Point } from 'ol/geom';
@Component({
selector: 'fm-map-layer-values',
templateUrl: './layer-values.component.html',
styleUrls: ['./layer-values.component.scss']
})
export class LayerValuesComponent implements OnInit, AfterViewInit {
@ViewChild('layerValues') containerRef: ElementRef;
offsetX$ = 0;
offsetY$ = 0;
lonlat$ = "";
wkt$ = "";
layerValues$: Observable<Array<ILayervalue>> = this.store.select(mapReducers.selectGetLayerValues);
enabled$: Observable<boolean> = this.store.select(mapReducers.selectGetLayerValuesEnabled);
wktFormat$: WKT;
constructor(private store: Store<mapReducers.State>, private map: MapComponent, private clipboardService$: ClipboardService) {
this.wktFormat$ = new WKT();
}
ngOnInit(): void {
}
moveEndSubject = new Subject<any>();
ngAfterViewInit(): void {
this.offsetY$ = this.containerRef.nativeElement.offsetTop;
this.offsetX$ = this.containerRef.nativeElement.offsetLeft;
this.map.instance.on('moveend', () => {
this.moveEndSubject.next({});
});
this.moveEndSubject.pipe(throttle(ev => interval(100))).subscribe(() => this.updateValuesLocation());
}
updateValuesLocation() {
const xy = this.map.instance.getCoordinateFromPixel([this.offsetX$, this.offsetY$])
const lonlat = toLonLat(xy);
this.wkt$ = this.wktFormat$.writeGeometry(new Point(lonlat))
this.lonlat$ = toStringHDMS(lonlat);
this.store.dispatch(new mapActions.SetLayerValuesLocation(xy[0], xy[1]));
}
copyToClipboard() {
this.clipboardService$.copy(this.wkt$);
}
public getScaledValue(layerValue: ILayervalue): number {
let v = layerValue.value;
if (layerValue.scale && layerValue.scale != 0) {
v = layerValue.scale * layerValue.value;
}
return v;
}
}
@@ -1,9 +1,9 @@
import { Component, OnDestroy, OnInit, Input, Optional, OnChanges, SimpleChanges } from '@angular/core';
import { Vector } from 'ol/layer';
import { Style } from 'ol/style';
import { StyleFunction } from 'ol/style/Style';
import { LayerVectorComponent, LayerGroupComponent, MapComponent } from 'ngx-openlayers';
import { RenderType } from 'ol/layer/Vector';
import { Component, OnDestroy, OnInit, Input, OnChanges, SimpleChanges } from '@angular/core';
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',
@@ -12,10 +12,10 @@ import { RenderType } from 'ol/layer/Vector';
`,
})
export class LayerVectorImageComponent extends LayerVectorComponent implements OnInit, OnDestroy, OnChanges {
public source: Vector;
//public source: Vector;
@Input()
renderMode: RenderType | string = "image";
renderMode: RenderType<VectorSource<Feature<Geometry>>> | string = "image";
constructor(map: MapComponent) {
super(map);
@@ -0,0 +1,13 @@
<div (click)="handleClick($event)" class="btn btn-outline-primary gps-location">
<svg height="100%" width="100%" viewBox="0 0 96 96">
<g
id="XMLID_1_"><circle
class="pan-to" [ngClass]="{'pan-to-centered':centered(),'pan-to-disabled':disabled()}"
cx="48"
cy="48"
r="9.8000002"/><path
class="pan-to" [ngClass]="{'pan-to-centered':centered(),'pan-to-disabled':disabled()}"
d="M 80.5,44.8 H 73.8 C 72.3,33 63,23.7 51.3,22.2 v -6.7 h -6.5 v 6.7 C 33,23.7 23.7,33 22.2,44.8 h -6.7 v 6.5 h 6.7 C 23.7,63 33,72.3 44.8,73.8 v 6.7 h 6.5 V 73.8 C 63,72.3 72.3,63 73.8,51.3 h 6.7 z M 48,67.5 C 37.2,67.5 28.5,58.8 28.5,48 28.5,37.2 37.2,28.5 48,28.5 c 10.8,0 19.5,8.7 19.5,19.5 0,10.8 -8.7,19.5 -19.5,19.5 z"
inkscape:connector-curvature="0"/></g>
</svg>
</div>
@@ -0,0 +1,34 @@
.gps-location {
display:block;
width:2.5em;
height:2.5em;
background-color: var(--bs-body-bg);
background-size: contain;
margin-top:0.5em;
border-radius: 1.75em;
padding:0
}
.center, .tolerance, .border {
stroke-width: 0;
}
.pan-to {
fill: var(--bs-secondary);
}
div.gps-location:hover .pan-to {
fill: var(--bs-white);
}
.pan-to-centered {
fill: var(--bs-primary);
}
div.gps-location:hover .pan-to-centered {
fill: theme-color-level(primary, -10)
}
.pan-to.pan-to-disabled {
fill: var(--bs-gray-300);
}
@@ -0,0 +1,84 @@
import { Component, OnInit, Input, Host, OnChanges, SimpleChanges,ChangeDetectorRef } from '@angular/core';
import { MapComponent } from 'ng-openlayers';
import {IMapState} from '../../../models/map.state'
import {View} from 'ol';
import { fromLonLat } from 'ol/proj';
@Component({
selector: 'fm-map-pan-to-location',
templateUrl: './pan-to-location.component.html',
styleUrls: ['./pan-to-location.component.scss']
})
export class PanToLocation implements OnInit,OnChanges{
view: View;
map: MapComponent;
@Input() position: GeolocationPosition;
@Input() mapState: IMapState;
@Input() animate: boolean;
constructor(@Host() map: MapComponent,private changeDetectorRef$: ChangeDetectorRef ) {
this.map = map;
}
ngOnInit() {
this.view = this.map.instance.getView();
this.view.on('change:center', () => {
this.changeDetectorRef$.detectChanges();
});
}
ngOnChanges(changes: SimpleChanges) {
// if (changes.position && this.instance) {
// var p = changes.position.currentValue as Position;
// this.instance.setPosition(fromLonLat([p.coords.longitude, p.coords.latitude]));
// this.locationTolerance = p.coords.accuracy;
// this.recalcLocationTolerance();
// this.heading = p.coords.heading;
// }
}
p
public centered():boolean {
if(this.position && this.mapState) {
const center = this.view.getCenter();
const newCenter = fromLonLat([this.position.coords.longitude,this.position.coords.latitude]);
const x1 = newCenter[0].toFixed(0);
const x2 = center[0].toFixed(0);
const y1 = newCenter[1].toFixed(0);
const y2 = center[1].toFixed(0);
return x1==x2 && y1==y2;
}
return false;
}
public disabled():boolean {
return !this.position;
}
handleClick(event:Event) {
if(this.position) {
const view = this.map.instance.getView();
const newCenter = fromLonLat([this.position.coords.longitude,this.position.coords.latitude]);
const extent = [newCenter[0]-500,newCenter[1]-500,newCenter[0]+500,newCenter[1]+500];
const options = { padding: [0, 0, 0, 0],minResolution:1 };
const size = this.map.instance.getSize();
const rem = parseFloat(getComputedStyle(document.documentElement).fontSize);
const threshold = 44 * rem;
let left = 1 * rem;
const right = 1 * rem;
let bottom = Math.round(size[1] / 2);
const top = 1 * rem;
if (size[0] > threshold) {
bottom = 1 * rem;
left = 23 * rem;
}
//options.padding = [top, right, bottom, left];
if (this.animate) options["duration"] = 2000;
view.fit(extent, options);
}
event.preventDefault();
}
}
@@ -0,0 +1,35 @@
<div (click)="handleClick($event)" class="btn btn-outline-primary compass" [style.transform]="Rotation()" [ngClass]="{'compass-n':IsNorth()}">
<svg height="100%" width="100%" viewBox="0 0 132.29166 132.29167">
<g
inkscape:label="Laag 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-164.70832)">
<g
id="g4550"
transform="translate(2.3213753,-1.8555167)">
<path
id="top-r"
d="m 63.824458,179.82737 v 52.8823 H 48.380953 Z"
style="stroke:none;stroke-width:0.15389842px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
id="top-l"
d="m 63.824458,179.82737 v 52.8823 h 15.443505 z"
style="stroke:none;stroke-width:0.15389842px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
id="bottom-l"
d="m 63.824458,285.59197 v -52.8823 h -15.4435 z"
style="stroke:none;stroke-width:0.15389842px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
id="bottom-r"
d="m 63.824458,285.59197 v -52.8823 h 15.443505 z"
style="stroke:none;stroke-width:0.15389842px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
id="north"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';stroke-width:2.95481014"
d="m 50.702335,239.32724 h 9.926315 l 12.534859,23.63848 v -23.63848 h 8.425825 v 34.46509 H 71.663019 L 59.12816,250.15385 v 23.63848 h -8.425825 z" />
</g>
</g>
</svg>
</div>
@@ -0,0 +1,66 @@
.compass {
width:2.5em;
height:2.5em;
background-color: white;
opacity: 1;
border-radius:1.75em;
padding:0;
margin-top:0.5em;
display: block;
}
#north {
display: none;
fill:var(--bs-black);
}
#top-l {
fill:#d40000;
}
#top-r {
fill:#ff0000;
}
#bottom-l {
fill:#000000;
}
#bottom-r {
fill:#666666;
}
div.compass:hover #top-l {
fill:var(--bs-white);
}
div.compass:hover #top-r {
fill:var(--bs-gray-300);
}
div.compass:hover #bottom-l {
fill:var(--bs-gray-300);
}
div.compass:hover #bottom-r {
fill:var(--bs-white);
}
div.compass:hover #north {
fill:var(--bs-white);
}
.compass-n {
transition: opacity 1s ease-out 2s,height 1s ease-out 3s,margin-top 1s ease-out 3s;
opacity:0;
height:0;
margin-top:0;
}
.compass-n #bottom-l, .compass-n #bottom-r {
display: none;
}
.compass-n #north {
display: inline;
}
@@ -1,53 +1,39 @@
import { Component, Host, Input, OnInit, ChangeDetectorRef } from '@angular/core';
import { ViewComponent, MapComponent } from 'ngx-openlayers';
import {View} from 'ol';
@Component({
selector: 'fm-map-rotation-reset',
template: `<div (click)="handleClick($event)" class="rounded-circle compass" [style.transform]="Rotation()" [ngClass]="{'compass-n':IsNorth()}"></div>`,
styles: [`.compass {
width:2.5em;
height:2.5em;
background-color: white;
background-size: contain;
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAF6AAABegB0iYb4wAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAmlSURBVHic7d39c1xVHcfxz92kCVh0BojVRpABRGBAKj6P4+io1LYp/hv9O/I/dNqmmU2mP9sf7SMFsSBaRMU+ZUAFB8HC1FKqJLR52D3+cJNm0ySb3XvPOd9zN+/XTGfa3eTe76T7yT3n3Hu/VwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMlz0iMXpEes68CymnUBWGGkJu2xLgLLCEha9i7+AdDKSXc76bNL0s0/SZ+zrgc5jiDpeE7S3ZLuGpR+Zl0McgQkHSNLf6m1/B22CEg6bk/OnfS8ZSFYRkAS4KRvSHqo5aUHp6SnrerBMgKShlUrV01Ws5JAQNKwas7hmIckIbMuYLNz0r2Srkrql6TLi69nUkPStqek61a1gSNICnZpMRytnNTXlHYa1IMWBMTeunONGvMQcwTEkMt//r9o8/4ex/+RKX74tr4naVub94empO/GKgarERBbGw6hHMMsUwTEFgFJHAEx4qTtkr650ddl0rNvScMRSsIaCIidEXV2Hiqbl3aHLgZrIyB2Oh46ZQyzzHAm3YCTBiRdk/T5O9+7vPrLJWl6UBp6TJoNWxnuxBHExo+1RjjauGdO+lGoYrA+AmKj6wsRuXjRBgGx0fWcgnmIDQISmcv7Xn29wPc9fln6WoCS0AYBie+XRb+xyTArOgISX+EPeUZAomOZNyInbVW+vHvXel+zzjLvktlMGnpKmvZbGdbDESSu59QmHB0YFD2zoiIgcZVeieLixbgISFy7PGxjxDE0joaAROKkHZK+6mFTD1zK+2ghAgISj7ehEfeqx0NA4vH2oWYeEg9j2QicdJ/y3ld9G33tBsu8kvKeWTXpS09KH5cuDm1xBIljtzoIR6ec1Ndo0w0F/hCQOLwPiRhmxUFAAnP5kcPH8u4KmbTnVx6PSlgbAQnvB5LuD7Dd+56Uvh9gu2hBQMILdoEhT6IKj4CEF2yuwDwkPAISkMv7WT0TcBc7zksPBNz+pkdAwnpeYc81ZX0tzzaEfwQkrOBzBJo5hMWZ9EBcfu/Gf9Rde5+OzqTfYWZQup+eWWFwBAnnJ+oyHAVtvZX32UIABCScaEMf7lUPh4CEE/NDW7hTCtojIAG4vO/VYxF3+ehU3P1tGgQkjOgn8JqcNAyCgIQRfU7APCQMlnk9c9I9yntfDRb5/gLLvEvm+qWhJ6RPi28Cd+II4t9OFQxHSQNN6ecG++1pBMQ/s7kA8xD/CIhHi/2qLJ8nuJeeWX4REL+elfQVw/1vn+rgybnoHAHxy3wliUck+EVA/DKfA9BUzi/Gq544aUjSRyrZSKHEMu+SZkPaviPvw4WSOIL4s0dpdBmp1eiZ5Q0B8SeZsT9n1f0hIB4s9r7aaV1Hi90vS/3WRfQCAuLHDxWm91VR927L+3GhJALiR3JDGpZ7/SAgfiS3tJolWFMVEZCSnPSgpKet61jDM1PSQ9ZFVB0BKW+vEj2f5GyvC+sJBKS8ZMf69MwqL8nffFWx2PvqmvKbpLzwcCa91cxWaehh6ZbfzW4eHEHK+ak8hiOArTN5fy4UREDKSX6liA7w5RCQcpJvHF3LG2ijIAJSkJOekPSodR0bcdLD56XHreuoKgJSXGWGLv0VqjU1BKS4ynzomIcUxzJvAU76gvJHGwz43rbnZd4l87ekL35H+m+YzfcujiDF7FSAcAS0ZZCeWYUQkGIqN2ThXvViCEiXFvtO7bKuo1tOGqFnVvcISPe+rfzptVXz5YvSt6yLqBpuy+xS6F/B+/btC7btZrMp1evBtt+LOIJ078+SrlgXUcBH9Xr9L9ZFVA0B6Z6TdNq6iAJOKK8dXSAgxRy3LqBbWZZVruYUEJBizkiasy6iC/POuZesi6giAlLM/yS9Zl1Ep7Ise3V8fJyz6AUQkOKqNGSpUq1JISDFVeZDV6vVKlNraghIcW9Jese6iA7889ChQ29bF1FVBKSck9YFbMQ5d8y6hiojIOVUYehShRqTRUDKeVnStHURbczMz8+ftS6iyghIObPKQ5Kql44cOUJPrBIISHknrAtoI+XaKoGAlHdciV7j1Gg0TlnXUHUEpLz3JV2yLmINFyYmJt6zLqLqCIgfya0UcXGiHwTEj+TG+s655GqqIgLix+8lfWxdRItPhoeHz1kX0QsIiB8N5ZfAJ8E5d2p0dHTBuo5eQED8SWZIU6vVkqml6giIPyeVH0msNbMse8G6iF5BQPy5JukN6yIkvT42NnbVuoheQUD8SmFpNYUaegYB8ct87M/8wy8C4tebkv5tuP8Px8bG/mq4/55DQPxykiyvf0r2urCqIiD+Wc4BmH94RkD8O6P8PpHY5hYWFuh95RkB8W9a0quxd+qcOzs5Oflp7P32OgISRvSVpCzLWL0KgICEEX0uwOXtYRCQMP4m6e8R9/fO4cOHY+5v0yAg4cQc8vw64r42FQISTrSAMP8Ih4CEc1ZSjFWlmYGBgVci7GdTIiDhzEr6TYT9nNm/f7/FeZdNgYCEFXzow73nYRGQsI4p7LVRzjmXfAPtKiMgYV2RdCHg9s/X6/UPAm5/0yMg4YU8gcfJwcAISHjB5gjMP8IjIOGdU5ieWddv3LjxeoDtogUBCa8h6bTvjWZZdvLo0aMpdFHpaQQkjhBzBeYfERCQOE7Jb8+sRn9/P72vIiAgcVyX5G2+4Jw7d+DAgZR6AfcsAhKPzyERw6tICEg83j7UzjkCEgkBiee8pH952M4H9Xr9ooftoAMEJC4fy70nRO+raAhIXKWHRgyv4iIgcb0oqcxzy2e3bNkS4x4TLCIgcc1IKnz3X5Zlvz148OC0x3qwAQISX+ELDLk4MT4CEl/hDiSNRoOAREZA4ntXed+sbr09MTHxD9/FoD0CYqPrlShWr2wQEBtdD5V4cpQNAmLjFXXXM2t6YGDgd6GKwfoIiI055edEOvUCva9sEBA7Hc8pmH/YISB2Or2myjUaDcvnHm5qBMTOh5I6eSLtm5OTk1dCF4O1ERBbnQydGF4ZIiC2CEjiCIitP0q62ub9a8PDw2/EKgarERBbTUntupOcHB0dbcYqBqsREHvrDqF4MKc9AmLvtKSFNV5vLCwsnIldDFYiIPY+kfSHNV5/bWJi4nrsYrASAUnDqgsReTBnGghIGlbNNZh/pIGApOGipPda/v3+2NjYJatisIyApKP1WYPHzKrACgQkHbfnHDRnSEe/dQG47UVJNyVlWZbR+yoRBCQdNyWdleTGx8c/sy4GOQKSluOi725SCEhaTvT19VnXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOvB/FOHOpgoUlk8AAAAASUVORK5CYII=);
opacity: 1;
}
.compass-n {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAF6AAABegB0iYb4wAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAe9SURBVHic7d07jB1XHcfx712vDXYinDhegw2YOOERYhzLxAhhAhhE4sSORUdDKioaKpoIEBHhIR4NSomgBEEdCQqKCImKAhHwxilAbpASiC3iOMkGr3cPxXizu/Zd37kz5zW734+0ze6Zmb/u3d89Z87MnAuSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSpE0qwCjAqHQdWjVTugCtc3QeHihdhFbNli5A65wJEIDnSxeihj1IXc6M4EzpIqTqBNgT4No8XDsPd5WuRw17kHo8BmwLsG0ZTpUuRg0DUo+3h1bBYZa0KjQ9x8UA4Vzzc+k5J1CqYA9Sh0+x/rxjzxx8slQxWmVA6nD6xl+MxvxO+RmQOtx0zuF5SB0MSGEB3gccGfOno/NwMHc9Ws+AlHeGje+/ejRnIbqZASlvw3ON4HlIcd45WlCAdwAXgdtXfje/vskbt8HeQ/BW3sq0wh6krJOsCccYt70On81Ui8YwIGVNHELNOMwqyoCUNfGfP8DZHIVoPANSSICPAB9s0fSe8/Dh1PVoPANSTusLgUteNCzGgJQzzT+9ASnEad4CQjNzdZFmmned+ZubA1ydhb33wZW0lelG9iBlPMKYcNzCjkX4YqpitDEDUsbUQ6YZh1lFGJDMrq97NfU9VgFOu2ZWfgYkv48DBzpst/88HItdjG7NgOTX+cr4slfVszMg+XU+l/Ahqvwc02YUYA54mVt8MG0wzbtieQn2H4X/xK1MG7EHyesx+r3mMzOumZWVAcmr9zmEiznkZUAyCbANeDjCrk65ZlY+BiSfTwN7Iuznzn3NOlrKwIDkE21o5LPq+RiQfKJN0foVCfkYkAwCvB/4WMT9HXkBPhBrf9qYAcnj8dg7XGqmjJWYAckj+jmD0715eCU9sQDvBC4Bu9q0n3Al/W0jWLgMd52Ahc7FaSJ7kPQ+T8twTCPAzt3wudj71XoGJL1kM07evJieAUkv2QLUTvemZ0ASCvBR4N6E+z/0N7gv1f5lQFJL/gm/zV4kKQOSVvJ/Xs9D0nKaN5EA76JZ+2r7NNu1neZdY3ER9h2DV6ffVJPYg6RziinD0dH2Ha6ZlYwBSSfblW4Xc0jHgCQQmtc12/cLjuBM8L1Mwhc1jQeB92Q83r5zzXpbisyApJF9ZsmlSdMwIGlkPyfwKcM0nOaNLMA+4CU6fvh0mOZdsRzgwBH4d/dd6Eb2IPGdpszrOjPKODGwVRiQ+IoNdRxmxecQK6LQrFf1CnBH1330GGIxgssLMHccFnvsRmvYg8T1ED3C0VeA3TvgRKnjb0YGJK7iU63e3RuXAYmr+DmA5yFxGZBIAhwE7i9dB3D4PNxduojNwoDEc7Z0ASuW7EWiMSDxVDP29yGqeJzmjSDATpqHo3ov79NnmnfFCBYWYO9xeDPC7rY0e5A4vkCCta+6CrBzF5wsXcdmYEDiqG5Is1xhTUNkQOKocSHp6Atmb0UGpKfQfK3B3aXrGOPgPBwuXcTQGZD+qp1S9Vn1/gxIf9WO9X3KsD+neXsIsJvm7t1oy/vEmOZd49oizLlmVnf2IP08Sp61r7qanYVHShcxZAakn+rH+H4TVT8GpKPr61CdKl3HJCM47ZpZ3fnCdfcJ4N2li5gkwNwLcLx0HUNlQLobzAyRNy92Z0C6G9LYfki1VsWAdBCaZUWHtNTngy/CgdJFDJEB6eY0w7qGNFoawIRCjQxIN4Mb03se0s2QPgWrEJoLg6/QXEWPLvKV9LVeG8HcYbia7hCbz2zpAgbofuAfqXae8hPr+rfuPp/wEJIkSZIkSZIkSZI0fN5q0s+dwB+m3OYtmpsdX+tx3GeB/S3bPgz8t8expM7mgNDh5+mex70wxbHmeh5L6qxrQK7Q73FdA5KJt7uXcTvwzdJFaDIDUs7XgHtKF6FbMyDl7ACeKl2Ebs2AlPUEcLR0EdqYASlrBvhu6SK0MQNS3peAE6WL0HgGpA4/Kl2AxjMgdfgMzUrxqowBqceP8f2ojm9IPR4Avly6CK1nQOryNHV/Ic+WY0DyuQRcntDmQ8BXM9SilgxIPleAn7Zo9xSwK3EtasmA5PUz4OUJbfYDX89Qi1owIHm9AXy/RbsngT2Ja1ELBiS/nwP/nNDmDuAbGWqRkprmgakLa7Z7okX7N4H3bnBcH5jKxB6kjF8Df53QZic+VKWB69qDAJxtsc1V4N4xx7UHycQepJxngT9OaLMdb4fXgPXpQQAearHdEnDshu3sQTKxBynrT8DvJrSZAb6XoRYpur49CMARml5i0vYn12xjD5KJPUh5fwd+06JdmwuMUlVi9CAAh4D/tdjH49fb24NkYg9ShwvAL1u0+yG+ZxqQWD0INDcpvt5iP1/BHiQbP43q8RLwTIt2PlSlwYjZg0Bzk+KlKfZpD5KYPUhdXgV+UroIrTIg9XkG+FfpItQwIPVZAH5Qugg1DEidfgG8WLoIGZBaXcO7eKtgQOr1W+AvpYvY6gxIvQLw7dJFbHUGpG6/B54rXcRWZkDq9yRNb6ICDEj9/kzzeK4KMCDD8C2ah6qUmQEZhnPAr0oXsRUZkOH4Ds1DVZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkbSX/B0lc8D0skvAeAAAAAElFTkSuQmCC);
transition: opacity 1s ease-out;
transition-delay: 2s;
opacity:0;
}
`]
})
export class RotationResetComponent implements OnInit {
view: View;
public Rotation() {
let rotation = this.view ? this.view.getRotation() : 0;
return `rotate(${rotation}rad)`;
}
public IsNorth() {
return this.view ? this.view.getRotation() == 0 : true;
}
ngOnInit(): void {
this.view = this.map.instance.getView();
this.view.on('change:rotation', () => {
this.changeDetectorRef$.detectChanges();
});
}
constructor( @Host() private map: MapComponent, private changeDetectorRef$: ChangeDetectorRef ) {
}
handleClick(event:Event) {
this.view.animate({ rotation: 0 });
event.preventDefault();
}
}
import { Component, Host, Input, OnInit, ChangeDetectorRef } from '@angular/core';
import { ViewComponent, MapComponent } from 'ng-openlayers';
import {View} from 'ol';
@Component({
selector: 'fm-map-rotation-reset',
templateUrl: './rotation-reset.component.html',
styleUrls: ['./rotation-reset.component.scss']
})
export class RotationResetComponent implements OnInit {
view: View;
public Rotation() {
const rotation = this.view ? this.view.getRotation() : 0;
return `rotate(${rotation}rad)`;
}
public IsNorth() {
return this.view ? this.view.getRotation() == 0 : true;
}
ngOnInit(): void {
this.view = this.map.instance.getView();
this.view.on('change:rotation', () => {
this.changeDetectorRef$.detectChanges();
});
}
constructor( private map: MapComponent, private changeDetectorRef$: ChangeDetectorRef ) {
}
handleClick(event:Event) {
this.view.animate({ rotation: 0 });
event.preventDefault();
}
}
@@ -1,40 +0,0 @@
// import { Component, OnInit,Input } from '@angular/core';
//import { MapComponent } from 'ngx-openlayers';
//import OLCesium from 'olcs/OLCesium.js';
// @Component({
// selector: 'fm-map-switch2d3d',
// template: '<div (click)="handleClick($event)" class="rounded-circle twotreed">{{label}}</div>',
// styles: [`.twotreed {
// width:2.5em;
// height:2.5em;
// background-color: white;
// text-align:center;
// line-height:2.5em;
// font-weight:bold;
// cursor:default;}`]
// })
// export class Switch2D3DComponent {
// @Input() enable:boolean;
// public label: string = "3D";
// private ol3d: OLCesium;
// constructor(private map: MapComponent) {
// }
// ngOnInit() {
// this.ol3d = new OLCesium({ map: this.map.instance }); // ol2dMap is the ol.Map instance
// }
// handleClick(event) {
// this.enable = !this.enable;
// if (this.enable)
// this.ol3d.setEnabled(this.enable);
// this.label = this.enable?"2D":"3D";
// }
// }
@@ -1,39 +1,52 @@
import { Component, Host, Input, OnInit, OnChanges, SimpleChanges, forwardRef } from '@angular/core';
import { ViewComponent, MapComponent } from 'ngx-openlayers';
@Component({
selector: 'fm-map-zoom-to-extent',
template: `<ng-content></ng-content>`
})
export class ZoomToExtentComponent implements OnChanges {
view: ViewComponent;
map: MapComponent;
@Input() extent: number[];
@Input() animate: boolean = false;
constructor(@Host() view: ViewComponent, @Host() map: MapComponent) {
this.view = view;
this.map = map;
}
ngOnChanges(changes: SimpleChanges) {
if (this.extent) {
var options = { padding: [0, 0, 0, 0],minResolution:1 };
let size = this.map.instance.getSize();
let rem = parseFloat(getComputedStyle(document.documentElement).fontSize);
let threshold = 44 * rem;
var left = 1 * rem;
var right = 1 * rem;
var bottom = Math.round(size[1] / 2);
var top = 1 * rem;
if (size[0] > threshold) {
bottom = 1 * rem;
left = 23 * rem;
}
options.padding = [top, right, bottom, left];
if (this.animate) options["duration"] = 2000;
this.view.instance.fit(this.extent, options);
}
}
}
import { Component, Host, Input, OnInit, OnChanges, SimpleChanges, forwardRef } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { ViewComponent, MapComponent } from 'ng-openlayers';
@Component({
selector: 'fm-map-zoom-to-extent',
template: `<ng-content></ng-content>`
})
export class ZoomToExtentComponent implements OnChanges {
view: ViewComponent;
map: MapComponent;
paddingTop = 0;
paddingLeft = 0;
paddingBottom = 0;
paddingRight = 0;
@Input() extent: number[];
@Input() animate = false;
constructor(@Host() view: ViewComponent, @Host() map: MapComponent,route: ActivatedRoute ) {
this.view = view;
this.map = map;
if(route && route.snapshot && route.snapshot.data && route.snapshot.data["fm-map-zoom-to-extent"]) {
const params = route.snapshot.data["fm-map-zoom-to-extent"];
this.paddingTop = params["padding-top"] ? params["padding-top"] : 0;
this.paddingBottom = params["padding-bottom"] ? params["padding-bottom"] : 0;
this.paddingLeft = params["padding-left"] ? params["padding-left"] : 0;
this.paddingRight = params["padding-right"] ? params["padding-right"] : 0;
}
}
ngOnChanges(changes: SimpleChanges) {
if (this.extent) {
const options = { padding: [0, 0, 0, 0],minResolution:1 };
const size = this.map.instance.getSize();
const rem = parseFloat(getComputedStyle(document.documentElement).fontSize);
const threshold = 40 * rem;
let left = 1 * rem;
const right = 1 * rem;
let bottom = Math.round((size[1] / 2) + (4*rem));
const top = 1 * rem;
if (size[0] > threshold) {
bottom = 5 * rem;
left = 23 * rem;
}
options.padding = [top + (this.paddingTop*rem), right+ (this.paddingRight*rem), bottom + (this.paddingBottom*rem), left+ (this.paddingLeft*rem)];
if (this.animate) options["duration"] = 1000;
this.view.instance.fit(this.extent, options);
}
}
}
@@ -1,19 +1,14 @@
@import "../../_theme.scss";
@import "~bootstrap/scss/bootstrap.scss";
.row {
border-bottom: 1px solid gray('500');
user-select: none;
}
.row:hover {
background-color: gray('100');
}
@media screen and (min-width: 44rem) {
.feature-list-container {
margin-top: 4rem;
}
}
.row {
border-bottom: 1px solid var(--bs-gray-500);
user-select: none;
}
.row.selected {
background-color: var(--bs-gray-100);
}
@media screen and (min-width: 44rem) {
.feature-list-container {
margin-top: 4rem;
}
}
@@ -1,59 +1,92 @@
import { Component, Input, OnInit, ComponentFactoryResolver, ViewChild, SimpleChanges, ComponentFactory, Inject, Type} from '@angular/core';
import { Feature } from 'ol';
import { FeatureListComponent,AbstractFeatureListComponent } from '../feature-list/feature-list.component';
import { WidgetHostDirective } from '../widget-host/widget-host.directive';
import {IQueryState } from '../../models/query.state';
import * as mapReducers from '../../reducers/map.reducer';
import * as mapActions from '../../actions/map.actions';
import { Store } from '@ngrx/store';
@Component({
selector: 'fm-map-feature-list-container',
templateUrl: './feature-list-container.component.html',
styleUrls: ['./feature-list-container.component.scss']
})
export class FeatureListContainerComponent {
constructor(private store: Store<mapReducers.State>,private componentFactoryResolver: ComponentFactoryResolver, @Inject(AbstractFeatureListComponent) public featureLists: AbstractFeatureListComponent[] ) {
}
@Input() features: Array<Feature>
@Input() queryState: IQueryState;
@ViewChild(WidgetHostDirective) widgetHost: WidgetHostDirective;
loadComponent(queryState:IQueryState) {
var componentFactory: ComponentFactory<AbstractFeatureListComponent> = this.componentFactoryResolver.resolveComponentFactory(FeatureListComponent); // default
var selected = -1;
for (var i = 0; i < this.featureLists.length; i++) {
if (this.featureLists[i]['forItemType'] == queryState.itemType && this.featureLists[i]['forChild'] && queryState.parentCode && queryState.parentCode != "") {
selected = i;
break;
} else if (this.featureLists[i]['forItemType'] == queryState.itemType) {
selected = i;
break;
}
}
if (selected >= 0) {
componentFactory = this.componentFactoryResolver.resolveComponentFactory(this.featureLists[i]['constructor'] as any);
if (this.featureLists[selected]['collapseSearch'] === true) {
this.store.dispatch(new mapActions.CollapseSearch());
}
}
const viewContainerRef = this.widgetHost.viewContainerRef;
viewContainerRef.clear();
const componentRef = viewContainerRef.createComponent(componentFactory);
(<AbstractFeatureListComponent>componentRef.instance).features = this.features;
(<AbstractFeatureListComponent>componentRef.instance).queryState = this.queryState;
}
ngOnChanges(changes: SimpleChanges) {
if (changes["features"] && changes["features"].currentValue) {
if (this.queryState) {
this.loadComponent(this.queryState);
}
}
}
}
import { Component, Input, OnInit, ComponentFactoryResolver, ViewChild, SimpleChanges, ComponentFactory, Inject} from '@angular/core';
import { Feature } from 'ol';
import { Geometry} from 'ol/geom';
import { FeatureListComponent,AbstractFeatureListComponent } from '../feature-list/feature-list.component';
import { WidgetHostDirective } from '../widget-host/widget-host.directive';
import {IQueryState,PackageService } from '@farmmaps/common';
import * as mapReducers from '../../reducers/map.reducer';
import * as mapActions from '../../actions/map.actions';
import { Store } from '@ngrx/store';
import { Observable } from 'rxjs';
@Component({
selector: 'fm-map-feature-list-container',
templateUrl: './feature-list-container.component.html',
styleUrls: ['./feature-list-container.component.scss']
})
export class FeatureListContainerComponent {
constructor(private store: Store<mapReducers.State>,private componentFactoryResolver: ComponentFactoryResolver, @Inject(AbstractFeatureListComponent) public featureLists: AbstractFeatureListComponent[],private packageService:PackageService ) {
this.featureLists = [...this.featureLists].reverse();
}
@Input() features: Array<Feature<Geometry>>
@Input() queryState: IQueryState;
@Input() selectedFeature: Feature<Geometry>;
@Input() clickedFeature:Observable<Feature<Geometry>>;
@ViewChild(WidgetHostDirective, { static: true }) widgetHost: WidgetHostDirective;
componentRef:any;
loadComponent(queryState:IQueryState) {
let componentFactory: ComponentFactory<AbstractFeatureListComponent> = this.componentFactoryResolver.resolveComponentFactory(FeatureListComponent); // default
let selected = -1;
let maxMatches =0;
const showItem = true;
for (let i = 0; i < this.featureLists.length; i++) {
let matches=0;
let criteria=0;
if (this.featureLists[i]['forItemType']) {
criteria++;
if( this.featureLists[i]['forItemType'].split(",").filter(part => part == queryState.itemType).length == 1) {
matches++;
}
}
if(this.featureLists[i]['forChild'] ) {
criteria++;
if(queryState.parentCode && queryState.parentCode != "") {
matches++;
}
}
if(criteria == matches && matches > maxMatches) {
selected=i;
maxMatches = matches;
}
}
if (selected >= 0) {
componentFactory = this.componentFactoryResolver.resolveComponentFactory(this.featureLists[selected]['constructor'] as any);
if (this.featureLists[selected]['collapseSearch'] === true) {
this.store.dispatch(new mapActions.CollapseSearch());
}
}
const viewContainerRef = this.widgetHost.viewContainerRef;
viewContainerRef.clear();
if(showItem) {
this.componentRef = viewContainerRef.createComponent(componentFactory);
(<AbstractFeatureListComponent>this.componentRef.instance).features = this.features;
(<AbstractFeatureListComponent>this.componentRef.instance).queryState = this.queryState;
(<AbstractFeatureListComponent>this.componentRef.instance).selectedFeature = this.selectedFeature;
}
}
ngOnInit() {
this.clickedFeature.subscribe((feature => {
(<AbstractFeatureListComponent>this.componentRef.instance).handleFeatureClick(feature);
}));
}
ngOnChanges(changes: SimpleChanges) {
if ((changes["queryState"] && changes["queryState"].currentValue)) {
this.loadComponent(changes["queryState"].currentValue);
}
if ((changes["features"] && changes["features"].currentValue)) {
(<AbstractFeatureListComponent>this.componentRef.instance).features = changes["features"].currentValue;
this.componentRef.changeDetectorRef.detectChanges();
}
if(changes["selectedFeature"]) {
(<AbstractFeatureListComponent>this.componentRef.instance).selectedFeature = changes["selectedFeature"].currentValue;
this.componentRef.changeDetectorRef.detectChanges();
}
}
}
@@ -1,14 +1,14 @@
<div *ngIf="features;let features">
<div class="card border-0">
<div class="card-body" *ngIf="(schemeItem|async);let schemeItem">
<div><a href="#" (click)="handleBackClick($event)" i18n>back</a></div>
<h4 i18n>Farm</h4>
<h3>{{schemeItem.name}}</h3>
<div class="cropfields">
<div class="row m-0" *ngFor="let feature of features" (click)="handleFeatureClick(feature)" (mouseenter)="handleFeatureMouseEnter(feature)" (mouseleave)="handleFeatureMouseLeave(feature)">
<fm-map-feature-list-feature-container [feature]="feature"></fm-map-feature-list-feature-container>
</div>
</div>
</div>
</div>
</div>
<div class="card border-0">
<div class="card-body" *ngIf="(schemeItem|async);let schemeItem">
<fm-back-button></fm-back-button>
<h4 i18n>Farm</h4>
<h3>{{schemeItem.name}}</h3>
<div *ngIf="features;let features">
<div class="cropfields">
<div class="row m-0 ps-3 pe-3" *ngFor="let feature of features" [ngClass]="{'selected':isFeatureSelected(feature)}" (click)="handleFeatureClick(feature)" (mouseenter)="handleFeatureMouseEnter(feature)" (mouseleave)="handleFeatureMouseLeave(feature)">
<fm-map-feature-list-feature-container [feature]="feature"></fm-map-feature-list-feature-container>
</div>
</div>
</div>
</div>
</div>
@@ -1,23 +1,20 @@
@import "../../_theme.scss";
@import "~bootstrap/scss/bootstrap.scss";
feature-list-feature-container {
width:100%;
pointer-events:none;
}
.row {
border-bottom: 1px solid gray('500');
user-select: none;
padding-left:1.5rem;
}
.row:hover {
background-color: gray('100');
}
.cropfields {
border-top: 1px solid gray('500');
margin-left: -1.5rem;
margin-right: -1.5rem;
}
fm-map-feature-list-feature-container {
width:100%;
pointer-events:none;
}
.row {
border-bottom: 1px solid var(--bs-gray-500);
user-select: none;
padding-left:1.5rem;
}
.row.selected {
background-color: var(--bs-gray-100);
}
.cropfields {
border-top: 1px solid var(--bs-gray-500);
margin-left: -1.25rem;
margin-right: -1.25rem;
}
@@ -1,30 +1,30 @@
import { Component, Injectable,AfterViewInit, OnInit} from '@angular/core';
import { Location } from '@angular/common';
import { AbstractFeatureListComponent } from '../feature-list/feature-list.component';
import {ForItemType } from '../for-item/for-itemtype.decorator';
import {ForChild } from '../for-item/for-child.decorator';
import { Store } from '@ngrx/store';
import * as mapReducers from '../../reducers/map.reducer';
import { commonReducers, ItemTypeService, IItem,ItemService } from '@farmmaps/common';
import { Observable } from 'rxjs';
@ForChild()
@ForItemType("vnd.farmmaps.itemtype.cropfield")
@Injectable()
@Component({
selector: 'fm-map-feature-list-cropfield',
templateUrl: './feature-list-cropfield.component.html',
styleUrls: ['./feature-list-cropfield.component.scss']
})
export class FeatureListCropfieldComponent extends AbstractFeatureListComponent implements OnInit {
constructor(store: Store<mapReducers.State | commonReducers.State>, itemTypeService: ItemTypeService, location: Location, private itemService: ItemService) {
super(store, itemTypeService,location);
}
public schemeItem: Observable<IItem>
ngOnInit() {
this.schemeItem = this.itemService.getItem(this.queryState.parentCode);
}
}
import { Component, Injectable,AfterViewInit, OnInit,SimpleChanges, ChangeDetectorRef} from '@angular/core';
import { Location } from '@angular/common';
import { AbstractFeatureListComponent } from '../feature-list/feature-list.component';
import {ForItemType } from '../for-item/for-itemtype.decorator';
import {ForChild } from '../for-item/for-child.decorator';
import { Store } from '@ngrx/store';
import * as mapReducers from '../../reducers/map.reducer';
import { commonReducers, ItemTypeService, IItem,ItemService } from '@farmmaps/common';
import { Observable } from 'rxjs';
@ForChild()
@ForItemType("vnd.farmmaps.itemtype.cropfield")
@Injectable()
@Component({
selector: 'fm-map-feature-list-cropfield',
templateUrl: './feature-list-cropfield.component.html',
styleUrls: ['./feature-list-cropfield.component.scss']
})
export class FeatureListCropfieldComponent extends AbstractFeatureListComponent implements OnInit {
constructor(store: Store<mapReducers.State | commonReducers.State>, itemTypeService: ItemTypeService, location: Location, private itemService: ItemService) {
super(store, itemTypeService,location);
}
public schemeItem: Observable<IItem>
ngOnInit() {
this.schemeItem = this.itemService.getItem(this.queryState.parentCode);
}
}
@@ -1,13 +1,13 @@
<div *ngIf="features;let features">
<div class="card border-0">
<div class="card-body">
<div><a href="#" (click)="handleBackClick($event)" i18n>Back</a></div>
<h3 i18n><i class="fm fm-farm"></i> Farms</h3>
<div class="farms">
<div class="row m-0" *ngFor="let feature of features" (click)="handleFeatureClick(feature)" (mouseenter)="handleFeatureMouseEnter(feature)" (mouseleave)="handleFeatureMouseLeave(feature)">
<fm-map-feature-list-feature-container [feature]="feature"></fm-map-feature-list-feature-container>
</div>
</div>
</div>
</div>
</div>
<div class="card border-0">
<div class="card-body">
<fm-back-button></fm-back-button>
<h3><i class="far fa-farm"></i>&nbsp;<span i18n>Farms</span></h3>
<div *ngIf="features;let features">
<div class="farms">
<div class="row m-0 ps-3 pe-3" *ngFor="let feature of features"[ngClass]="{'selected':isFeatureSelected(feature)}" (click)="handleFeatureClick(feature)" (mouseenter)="handleFeatureMouseEnter(feature)" (mouseleave)="handleFeatureMouseLeave(feature)">
<fm-map-feature-list-feature-container [feature]="feature"></fm-map-feature-list-feature-container>
</div>
</div>
</div>
</div>
</div>
@@ -1,23 +1,20 @@
@import "../../_theme.scss";
@import "~bootstrap/scss/bootstrap.scss";
feature-list-feature-container {
width:100%;
pointer-events:none;
}
.row {
border-bottom: 1px solid gray('500');
user-select: none;
padding-left:1.5rem;
}
.row:hover {
background-color: gray('100');
}
.farms {
border-top: 1px solid gray('500');
margin-left: -1.5rem;
margin-right: -1.5rem;
}
fm-map-feature-list-feature-container {
width:100%;
pointer-events:none;
}
.row {
border-bottom: 1px solid var(--bs-gray-500);
user-select: none;
padding-left:1.5rem;
}
.row.selected {
background-color: var(--bs-gray-100);
}
.farms {
border-top: 1px solid var(--bs-gray-500);
margin-left: -1.25rem;
margin-right: -1.25rem;
}
@@ -1,29 +1,31 @@
import { Component, Injectable } from '@angular/core';
import { Location } from '@angular/common';
import { AbstractFeatureListComponent } from '../feature-list/feature-list.component';
import { ForItemType } from '../for-item/for-itemtype.decorator';
import { Store } from '@ngrx/store';
import * as mapReducers from '../../reducers/map.reducer';
import { commonReducers, ItemTypeService } from '@farmmaps/common';
import * as mapActions from '../../actions/map.actions';
import { tassign } from 'tassign';
import { Router } from '@angular/router';
@ForItemType("vnd.farmmaps.itemtype.croppingscheme")
@Injectable()
@Component({
selector: 'fm-map-feature-list-croppingscheme',
templateUrl: './feature-list-croppingscheme.component.html',
styleUrls: ['./feature-list-croppingscheme.component.scss']
})
export class FeatureListCroppingschemeComponent extends AbstractFeatureListComponent {
constructor(store: Store<mapReducers.State | commonReducers.State>, itemTypeService: ItemTypeService, location: Location, private router: Router) {
super(store, itemTypeService, location);
}
handleFeatureClick(feature) {
var queryState = tassign(mapReducers.initialState.queryState, { parentCode: feature.get('code'), itemType: "vnd.farmmaps.itemtype.cropfield" });
this.store.dispatch(new mapActions.DoQuery(queryState));
}
}
import { Component, Injectable } from '@angular/core';
import { Location } from '@angular/common';
import { AbstractFeatureListComponent } from '../feature-list/feature-list.component';
import { ForItemType } from '../for-item/for-itemtype.decorator';
import { Store,Action } from '@ngrx/store';
import * as mapReducers from '../../reducers/map.reducer';
import { commonReducers, ItemTypeService } from '@farmmaps/common';
import * as mapActions from '../../actions/map.actions';
import { tassign } from 'tassign';
import { Router } from '@angular/router';
import { Feature } from 'ol';
import { Geometry} from 'ol/geom';
@ForItemType("vnd.farmmaps.itemtype.croppingscheme")
@Injectable()
@Component({
selector: 'fm-map-feature-list-croppingscheme',
templateUrl: './feature-list-croppingscheme.component.html',
styleUrls: ['./feature-list-croppingscheme.component.scss']
})
export class FeatureListCroppingschemeComponent extends AbstractFeatureListComponent {
constructor(store: Store<mapReducers.State | commonReducers.State>, itemTypeService: ItemTypeService, location: Location, private router: Router) {
super(store, itemTypeService, location);
}
getAction(feature:Feature<Geometry>):Action {
const queryState = tassign(mapReducers.initialState.queryState, { parentCode: feature.get('code'), itemType: "vnd.farmmaps.itemtype.cropfield" });
return new mapActions.DoQuery(queryState);
}
}
@@ -1,43 +1,61 @@
import { Component, Input, OnInit, ComponentFactoryResolver, ViewChild, SimpleChanges, ComponentFactory, Inject, Type} from '@angular/core';
import { Feature } from 'ol';
import { AbstractFeatureListFeatureComponent,FeatureListFeatureComponent } from '../feature-list-feature/feature-list-feature.component';
import { WidgetHostDirective } from '../widget-host/widget-host.directive';
@Component({
selector: 'fm-map-feature-list-feature-container',
template: `
<div>
<ng-template fm-map-widget-host></ng-template>
</div>
`
})
export class FeatureListFeatureContainerComponent {
constructor(private componentFactoryResolver: ComponentFactoryResolver, @Inject(AbstractFeatureListFeatureComponent) public featureLists: AbstractFeatureListFeatureComponent[] ) {
}
@Input() feature: Feature;
@ViewChild(WidgetHostDirective) widgetHost: WidgetHostDirective;
loadComponent() {
var componentFactory: ComponentFactory<AbstractFeatureListFeatureComponent> = this.componentFactoryResolver.resolveComponentFactory(FeatureListFeatureComponent); // default
for (var i = 0; i < this.featureLists.length; i++) {
if (this.featureLists[i]['forItemType'] == this.feature.get("itemType")) {
componentFactory = this.componentFactoryResolver.resolveComponentFactory(this.featureLists[i]['constructor'] as any);
}
}
const viewContainerRef = this.widgetHost.viewContainerRef;
viewContainerRef.clear();
const componentRef = viewContainerRef.createComponent(componentFactory);
(<AbstractFeatureListFeatureComponent>componentRef.instance).feature = this.feature;
}
ngOnChanges(changes: SimpleChanges) {
if (changes["feature"] && changes["feature"].currentValue) {
this.loadComponent();
}
}
}
import { Component, Input, OnInit, ComponentFactoryResolver, ViewChild, SimpleChanges, ComponentFactory, Inject, Type} from '@angular/core';
import { Feature } from 'ol';
import { Geometry } from 'ol/geom';
import { AbstractFeatureListFeatureComponent,FeatureListFeatureComponent } from '../feature-list-feature/feature-list-feature.component';
import { WidgetHostDirective } from '../widget-host/widget-host.directive';
@Component({
selector: 'fm-map-feature-list-feature-container',
template: `
<div>
<ng-template fm-map-widget-host></ng-template>
</div>
`
})
export class FeatureListFeatureContainerComponent {
constructor(private componentFactoryResolver: ComponentFactoryResolver, @Inject(AbstractFeatureListFeatureComponent) public featureLists: AbstractFeatureListFeatureComponent[] ) {
this.featureLists = [...this.featureLists].reverse();
}
@Input() feature: Feature<Geometry>;
@ViewChild(WidgetHostDirective, { static: true }) widgetHost: WidgetHostDirective;
loadComponent() {
let componentFactory: ComponentFactory<AbstractFeatureListFeatureComponent> = this.componentFactoryResolver.resolveComponentFactory(FeatureListFeatureComponent); // default
let selected = -1;
let maxMatches =0;
for (let i = 0; i < this.featureLists.length; i++) {
let matches=0;
let criteria=0;
if (this.featureLists[i]['forItemType']) {
criteria++;
if(this.featureLists[i]['forItemType'].split(",").filter(part => part == this.feature.get("itemType")).length == 1) {
matches++;
}
}
if(criteria == matches && matches > maxMatches) {
selected=i;
maxMatches = matches;
}
}
if (selected >= 0) {
componentFactory = this.componentFactoryResolver.resolveComponentFactory(this.featureLists[selected]['constructor'] as any);
}
const viewContainerRef = this.widgetHost.viewContainerRef;
viewContainerRef.clear();
const componentRef = viewContainerRef.createComponent(componentFactory);
(<AbstractFeatureListFeatureComponent>componentRef.instance).feature = this.feature;
}
ngOnChanges(changes: SimpleChanges) {
if (changes["feature"] && changes["feature"].currentValue) {
this.loadComponent();
}
}
}
@@ -1,6 +1,14 @@
<div *ngIf="feature;let feature" class="row m-0">
<div class="col p-2">
<h1 class="card-title" title="{{feature.get('name')}}">{{feature.get('name')}}</h1>
<div class="card-text"><span>{{feature.get('datadate')|date}}</span> - <span>{{feature.get('dataenddate')|date}}</span> </div>
</div>
</div>
<div *ngIf="feature;let feature" class="d-flex m-0">
<div class="p-2">
<div class="thumbnail">
<fm-map-feature-thumbnail [feature]="feature"></fm-map-feature-thumbnail>
</div>
</div>
<div class="flex-grow p-2 overflow-hidden">
<h1 class="card-title" title="{{feature.get('name')}}">{{feature.get('name')}}</h1>
<div class="card-text"><span>{{areaInHa(feature)| number:'1.2-2'}}
ha</span>&nbsp;<span>{{feature.get('cropTypeName')}}</span> </div>
<div class="card-text"><span>{{feature.get('datadate')|date}}</span> -
<span>{{feature.get('dataenddate')|date}}</span> </div>
</div>
</div>
@@ -1,30 +1,22 @@
@import "../../_theme.scss";
@import "~bootstrap/scss/bootstrap.scss";
.card-title {
font-size: 1rem;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.thumbnail > img {
width: 100%;
height: auto;
}
.thumbnail > div {
width: 100%;
font-size: 2rem;
text-align: center;
min-height: 3rem;
color: white;
padding-top: 0.5rem;
}
.col {
overflow: hidden;
}
.card-title {
font-size: 1rem;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.card-text {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.col {
overflow: hidden;
}
.thumbnail {
width: 4em;
height: 4em;
}
@@ -1,22 +1,34 @@
import { Component, Input, Injectable} from '@angular/core';
import { Feature } from 'ol';
import { Store } from '@ngrx/store';
import * as mapReducers from '../../reducers/map.reducer';
import { commonReducers,ItemTypeService,AppConfig } from '@farmmaps/common';
import { AbstractFeatureListFeatureComponent } from '../feature-list-feature/feature-list-feature.component';
import { ForItemType } from '../for-item/for-itemtype.decorator';
@ForItemType("vnd.farmmaps.itemtype.cropfield")
@Injectable()
@Component({
selector: 'fm-map-feature-list-feature-cropfield',
templateUrl: './feature-list-feature-cropfield.component.html',
styleUrls: ['./feature-list-feature-cropfield.component.scss']
})
export class FeatureListFeatureCropfieldComponent extends AbstractFeatureListFeatureComponent {
constructor(store: Store<mapReducers.State | commonReducers.State>, itemTypeService: ItemTypeService,config:AppConfig) {
super(store, itemTypeService,config);
}
}
import { Component, Injectable,ViewChild,AfterViewInit} from '@angular/core';
import { Feature } from 'ol';
import { Geometry } from 'ol/geom';
import { Store } from '@ngrx/store';
import * as mapReducers from '../../reducers/map.reducer';
import { commonReducers,ItemTypeService,AppConfig } from '@farmmaps/common';
import { AbstractFeatureListFeatureComponent } from '../feature-list-feature/feature-list-feature.component';
import { ForItemType } from '../for-item/for-itemtype.decorator';
import {getArea} from 'ol/sphere';
@ForItemType("vnd.farmmaps.itemtype.cropfield")
@Injectable()
@Component({
selector: 'fm-map-feature-list-feature-cropfield',
templateUrl: './feature-list-feature-cropfield.component.html',
styleUrls: ['./feature-list-feature-cropfield.component.scss']
})
export class FeatureListFeatureCropfieldComponent extends AbstractFeatureListFeatureComponent {
constructor(store: Store<mapReducers.State | commonReducers.State>, itemTypeService: ItemTypeService,config:AppConfig) {
super(store, itemTypeService,config);
}
areaInHa(feature:Feature<Geometry>):number {
if(!feature) return 0;
// get area from faeture if 0 calculate from polygon
const a = feature.get('area');
if(a) return a;
return getArea(feature.getGeometry(),{projection:"EPSG:3857"}) / 10000;
}
}

Some files were not shown because too many files have changed in this diff Show More