Compare commits
13 Commits
930d4fe0b7
...
develop
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3b2ea10fdc | ||
| c20754e10a | |||
|
|
c4b8e9664c | ||
| 7822015f8c | |||
| 48261c9657 | |||
|
|
a6bd28ac45 | ||
|
|
674a0f2a9e | ||
| 77800fe0f7 | |||
| 3251ba4022 | |||
| a758a38a0a | |||
| 3c6a8e28c1 | |||
| b72e309fbe | |||
| d7b978c477 |
53
angular.json
53
angular.json
@@ -133,39 +133,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"test": {
|
"test": {
|
||||||
"builder": "@angular-devkit/build-angular:karma",
|
"builder": "@angular/build:unit-test",
|
||||||
"options": {
|
"options": {
|
||||||
"main": "src/test.ts",
|
|
||||||
"polyfills": "src/polyfills.ts",
|
|
||||||
"tsConfig": "src/tsconfig.spec.json",
|
"tsConfig": "src/tsconfig.spec.json",
|
||||||
"karmaConfig": "src/karma.conf.js",
|
"browsers": ["chromium"]
|
||||||
"styles": [
|
|
||||||
"src/styles.css"
|
|
||||||
],
|
|
||||||
"scripts": [],
|
|
||||||
"assets": [
|
|
||||||
"src/favicon.ico",
|
|
||||||
"src/assets"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"farmmaps-lib-app-e2e": {
|
|
||||||
"root": "e2e/",
|
|
||||||
"projectType": "application",
|
|
||||||
"prefix": "",
|
|
||||||
"architect": {
|
|
||||||
"e2e": {
|
|
||||||
"builder": "@angular-devkit/build-angular:protractor",
|
|
||||||
"options": {
|
|
||||||
"protractorConfig": "e2e/protractor.conf.js",
|
|
||||||
"devServerTarget": "farmmaps-lib-app:serve"
|
|
||||||
},
|
|
||||||
"configurations": {
|
|
||||||
"production": {
|
|
||||||
"devServerTarget": "farmmaps-lib-app:serve:production"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -189,11 +160,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"test": {
|
"test": {
|
||||||
"builder": "@angular-devkit/build-angular:karma",
|
"builder": "@angular/build:unit-test",
|
||||||
"options": {
|
"options": {
|
||||||
"main": "projects/common/src/test.ts",
|
|
||||||
"tsConfig": "projects/common/tsconfig.spec.json",
|
"tsConfig": "projects/common/tsconfig.spec.json",
|
||||||
"karmaConfig": "projects/common/karma.conf.js"
|
"browsers": ["chromium"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -217,11 +187,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"test": {
|
"test": {
|
||||||
"builder": "@angular-devkit/build-angular:karma",
|
"builder": "@angular/build:unit-test",
|
||||||
"options": {
|
"options": {
|
||||||
"main": "projects/common-map/src/test.ts",
|
|
||||||
"tsConfig": "projects/common-map/tsconfig.spec.json",
|
"tsConfig": "projects/common-map/tsconfig.spec.json",
|
||||||
"karmaConfig": "projects/common-map/karma.conf.js"
|
"browsers": ["chromium"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -245,11 +214,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"test": {
|
"test": {
|
||||||
"builder": "@angular-devkit/build-angular:karma",
|
"builder": "@angular/build:unit-test",
|
||||||
"options": {
|
"options": {
|
||||||
"main": "projects/common-map3d/src/test.ts",
|
|
||||||
"tsConfig": "projects/common-map3d/tsconfig.spec.json",
|
"tsConfig": "projects/common-map3d/tsconfig.spec.json",
|
||||||
"karmaConfig": "projects/common-map3d/karma.conf.js"
|
"browsers": ["chromium"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -273,11 +241,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"test": {
|
"test": {
|
||||||
"builder": "@angular-devkit/build-angular:karma",
|
"builder": "@angular/build:unit-test",
|
||||||
"options": {
|
"options": {
|
||||||
"main": "projects/ng-openlayers/src/test.ts",
|
|
||||||
"tsConfig": "projects/ng-openlayers/tsconfig.spec.json",
|
"tsConfig": "projects/ng-openlayers/tsconfig.spec.json",
|
||||||
"karmaConfig": "projects/ng-openlayers/karma.conf.js"
|
"browsers": ["chromium"]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lint": {
|
"lint": {
|
||||||
|
|||||||
@@ -1,28 +0,0 @@
|
|||||||
// Protractor configuration file, see link for more information
|
|
||||||
// https://github.com/angular/protractor/blob/master/lib/config.ts
|
|
||||||
|
|
||||||
const { SpecReporter } = require('jasmine-spec-reporter');
|
|
||||||
|
|
||||||
exports.config = {
|
|
||||||
allScriptsTimeout: 11000,
|
|
||||||
specs: [
|
|
||||||
'./src/**/*.e2e-spec.ts'
|
|
||||||
],
|
|
||||||
capabilities: {
|
|
||||||
'browserName': 'chrome'
|
|
||||||
},
|
|
||||||
directConnect: true,
|
|
||||||
baseUrl: 'http://localhost:4200/',
|
|
||||||
framework: 'jasmine',
|
|
||||||
jasmineNodeOpts: {
|
|
||||||
showColors: true,
|
|
||||||
defaultTimeoutInterval: 30000,
|
|
||||||
print: function() {}
|
|
||||||
},
|
|
||||||
onPrepare() {
|
|
||||||
require('ts-node').register({
|
|
||||||
project: require('path').join(__dirname, './tsconfig.e2e.json')
|
|
||||||
});
|
|
||||||
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
|
|
||||||
}
|
|
||||||
};
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
import { AppPage } from './app.po';
|
|
||||||
import { browser, logging } from 'protractor';
|
|
||||||
|
|
||||||
describe('workspace-project App', () => {
|
|
||||||
let page: AppPage;
|
|
||||||
|
|
||||||
beforeEach(() => {
|
|
||||||
page = new AppPage();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should display welcome message', () => {
|
|
||||||
page.navigateTo();
|
|
||||||
expect(page.getTitleText()).toEqual('Welcome to farmmaps-lib-app!');
|
|
||||||
});
|
|
||||||
|
|
||||||
afterEach(async () => {
|
|
||||||
// Assert that there are no errors emitted from the browser
|
|
||||||
const logs = await browser.manage().logs().get(logging.Type.BROWSER);
|
|
||||||
expect(logs).not.toContain(jasmine.objectContaining({
|
|
||||||
level: logging.Level.SEVERE,
|
|
||||||
} as logging.Entry));
|
|
||||||
});
|
|
||||||
});
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
import { browser, by, element } from 'protractor';
|
|
||||||
|
|
||||||
export class AppPage {
|
|
||||||
navigateTo() {
|
|
||||||
return browser.get(browser.baseUrl) as Promise<any>;
|
|
||||||
}
|
|
||||||
|
|
||||||
getTitleText() {
|
|
||||||
return element(by.css('app-root h1')).getText() as Promise<string>;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"extends": "../tsconfig.json",
|
|
||||||
"compilerOptions": {
|
|
||||||
"outDir": "../out-tsc/app",
|
|
||||||
"module": "commonjs",
|
|
||||||
"target": "es5",
|
|
||||||
"types": [
|
|
||||||
"jasmine",
|
|
||||||
"jasminewd2",
|
|
||||||
"node"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
13627
package-lock.json
generated
13627
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
89
package.json
89
package.json
@@ -12,27 +12,27 @@
|
|||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@angular-eslint/eslint-plugin": "20.7.0",
|
"@angular-eslint/eslint-plugin": "20.7.0",
|
||||||
"@angular/animations": "20.3.16",
|
"@angular/animations": "21.1.0",
|
||||||
"@angular/common": "20.3.16",
|
"@angular/common": "21.1.0",
|
||||||
"@angular/compiler": "20.3.16",
|
"@angular/compiler": "21.1.0",
|
||||||
"@angular/core": "20.3.16",
|
"@angular/core": "21.1.0",
|
||||||
"@angular/forms": "20.3.16",
|
"@angular/forms": "21.1.0",
|
||||||
"@angular/platform-browser": "20.3.16",
|
"@angular/platform-browser": "21.1.0",
|
||||||
"@angular/platform-browser-dynamic": "20.3.16",
|
"@angular/platform-browser-dynamic": "21.1.0",
|
||||||
"@angular/router": "20.3.16",
|
"@angular/router": "21.1.0",
|
||||||
"@farmmaps/common": "file:dist/common",
|
"@farmmaps/common": "file:dist/common",
|
||||||
"@farmmaps/common-map": "file:dist/common-map",
|
"@farmmaps/common-map": "file:dist/common-map",
|
||||||
"@farmmaps/common-map3d": "file:dist/common-map3d",
|
"@farmmaps/common-map3d": "file:dist/common-map3d",
|
||||||
"@farmmaps/ng-openlayers": "file:dist/ng-openlayers",
|
"@farmmaps/ng-openlayers": "file:dist/ng-openlayers",
|
||||||
"@microsoft/signalr": "^3.1.16",
|
"@microsoft/signalr": "10.0.0",
|
||||||
"@ng-bootstrap/ng-bootstrap": "^19.0.0",
|
"@ng-bootstrap/ng-bootstrap": "20.0.0",
|
||||||
"@ngrx/effects": "20.1.0",
|
"@ngrx/effects": "21.0.1",
|
||||||
"@ngrx/router-store": "20.1.0",
|
"@ngrx/router-store": "21.0.1",
|
||||||
"@ngrx/store": "20.1.0",
|
"@ngrx/store": "21.0.1",
|
||||||
"@popperjs/core": "^2.11.8",
|
"@popperjs/core": "2.11.8",
|
||||||
"angular-oauth2-oidc": "^17.0.2",
|
"angular-oauth2-oidc": "20.0.2",
|
||||||
"assert": "^2.0.0",
|
"assert": "2.1.0",
|
||||||
"bootstrap": "^5.3.3",
|
"bootstrap": "5.3.8",
|
||||||
"browserify-zlib": "^0.2.0",
|
"browserify-zlib": "^0.2.0",
|
||||||
"buffer": "^6.0.3",
|
"buffer": "^6.0.3",
|
||||||
"cesium": "^1.97.0",
|
"cesium": "^1.97.0",
|
||||||
@@ -40,7 +40,7 @@
|
|||||||
"https-browserify": "^1.0.0",
|
"https-browserify": "^1.0.0",
|
||||||
"moment": "^2.29.4",
|
"moment": "^2.29.4",
|
||||||
"ngrx-store-localstorage": "20.1.0",
|
"ngrx-store-localstorage": "20.1.0",
|
||||||
"ngx-avatars": "1.10.0",
|
"ngx-avatars": "1.10.1",
|
||||||
"ngx-clipboard": "^16.0.0",
|
"ngx-clipboard": "^16.0.0",
|
||||||
"ngx-image-cropper": "^7.0.0",
|
"ngx-image-cropper": "^7.0.0",
|
||||||
"ngx-uploadx": "7.0.1",
|
"ngx-uploadx": "7.0.1",
|
||||||
@@ -61,37 +61,38 @@
|
|||||||
"@rollup/rollup-linux-x64-gnu": "^4.21.2"
|
"@rollup/rollup-linux-x64-gnu": "^4.21.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@angular-builders/custom-webpack": "20.0.0",
|
"@angular-builders/custom-webpack": "21.0.3",
|
||||||
"@angular-devkit/build-angular": "20.3.14",
|
"@angular-devkit/build-angular": "21.1.0",
|
||||||
"@angular/cli": "20.3.14",
|
"@angular/build": "21.1.0",
|
||||||
"@angular/compiler-cli": "20.3.16",
|
"@angular/cli": "21.1.0",
|
||||||
"@angular/language-service": "20.3.16",
|
"@angular/compiler-cli": "21.1.0",
|
||||||
"@angular/localize": "20.3.16",
|
"@angular/language-service": "21.1.0",
|
||||||
|
"@angular/localize": "21.1.0",
|
||||||
"@types/arcgis-rest-api": "^10.4.5",
|
"@types/arcgis-rest-api": "^10.4.5",
|
||||||
"@types/jasmine": "~2.8.8",
|
|
||||||
"@types/jasminewd2": "^2.0.9",
|
|
||||||
"@types/node": "^22.5.4",
|
"@types/node": "^22.5.4",
|
||||||
"@typescript-eslint/eslint-plugin": "^6.18.0",
|
"@typescript-eslint/eslint-plugin": "8.53.1",
|
||||||
"@typescript-eslint/eslint-plugin-tslint": "^6.18.0",
|
"@typescript-eslint/parser": "8.53.1",
|
||||||
"@typescript-eslint/parser": "^6.18.0",
|
"@vitest/browser": "4.0.17",
|
||||||
"codelyzer": "^6.0.2",
|
"@vitest/browser-playwright": "^4.0.17",
|
||||||
"eslint": "^8.35.0",
|
"eslint": "9.39.2",
|
||||||
"eslint-config-prettier": "^8.6.0",
|
"eslint-config-prettier": "10.1.8",
|
||||||
"eslint-plugin-import": "^2.27.5",
|
"eslint-plugin-import": "2.32.0",
|
||||||
"jasmine-core": "^4.3.0",
|
"jsdom": "^27.4.0",
|
||||||
"jasmine-spec-reporter": "^7.0.0",
|
"ng-packagr": "21.1.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": "^20.3.2",
|
|
||||||
"protractor": "~7.0.0",
|
|
||||||
"ts-node": "^8.8.1",
|
"ts-node": "^8.8.1",
|
||||||
"typescript": "~5.8.3"
|
"typescript": "~5.9.3",
|
||||||
|
"vitest": "4.0.17"
|
||||||
},
|
},
|
||||||
"overrides": {
|
"overrides": {
|
||||||
"some-library": {
|
"ngrx-store-localstorage": {
|
||||||
|
"@angular/common": "$@angular/common",
|
||||||
|
"@angular/core": "$@angular/core"
|
||||||
|
},
|
||||||
|
"ngx-avatars": {
|
||||||
|
"@angular/common": "$@angular/common",
|
||||||
|
"@angular/core": "$@angular/core"
|
||||||
|
},
|
||||||
|
"ngx-uploadx": {
|
||||||
"@angular/common": "$@angular/common",
|
"@angular/common": "$@angular/common",
|
||||||
"@angular/core": "$@angular/core"
|
"@angular/core": "$@angular/core"
|
||||||
}
|
}
|
||||||
|
|||||||
138
projects/common-map/package-lock.json
generated
138
projects/common-map/package-lock.json
generated
@@ -11,11 +11,11 @@
|
|||||||
"tslib": "^2.0.0"
|
"tslib": "^2.0.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/core": "^18.2.3",
|
"@angular/core": "20.3.16",
|
||||||
"@ngrx/effects": "^18.0.2",
|
"@ngrx/effects": "20.1.0",
|
||||||
"@ngrx/router-store": "^18.0.2",
|
"@ngrx/router-store": "20.1.0",
|
||||||
"@ngrx/store": "^18.0.2",
|
"@ngrx/store": "20.1.0",
|
||||||
"ngrx-store-localstorage": "^18",
|
"ngrx-store-localstorage": "20.1.0",
|
||||||
"tassign": "^1.0.0"
|
"tassign": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -36,52 +36,64 @@
|
|||||||
"extraneous": true
|
"extraneous": true
|
||||||
},
|
},
|
||||||
"node_modules/@angular/common": {
|
"node_modules/@angular/common": {
|
||||||
"version": "18.2.3",
|
"version": "20.3.16",
|
||||||
"resolved": "https://registry.npmjs.org/@angular/common/-/common-18.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/@angular/common/-/common-20.3.16.tgz",
|
||||||
"integrity": "sha512-NFL4yXXImSCH7i1xnHykUjHa9vl9827fGiwSV2mnf7LjSUsyDzFD8/54dNuYN9OY8AUD+PnK0YdNro6cczVyIA==",
|
"integrity": "sha512-GRAziNlntwdnJy3F+8zCOvDdy7id0gITjDnM6P9+n2lXvtDuBLGJKU3DWBbvxcCjtD6JK/g/rEX5fbCxbUHkQQ==",
|
||||||
|
"license": "MIT",
|
||||||
"peer": true,
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"tslib": "^2.3.0"
|
"tslib": "^2.3.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
|
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/core": "18.2.3",
|
"@angular/core": "20.3.16",
|
||||||
"rxjs": "^6.5.3 || ^7.4.0"
|
"rxjs": "^6.5.3 || ^7.4.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@angular/core": {
|
"node_modules/@angular/core": {
|
||||||
"version": "18.2.3",
|
"version": "20.3.16",
|
||||||
"resolved": "https://registry.npmjs.org/@angular/core/-/core-18.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/@angular/core/-/core-20.3.16.tgz",
|
||||||
"integrity": "sha512-VGhMJxj7d0rYpqVfQrcGRB7EE/BCziotft/I/YPl6bOMPSAvMukG7DXQuJdYpNrr62ks78mlzHlZX/cdmB9Prw==",
|
"integrity": "sha512-KSFPKvOmWWLCJBbEO+CuRUXfecX2FRuO0jNi9c54ptXMOPHlK1lIojUnyXmMNzjdHgRug8ci9qDuftvC2B7MKg==",
|
||||||
|
"license": "MIT",
|
||||||
"peer": true,
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"tslib": "^2.3.0"
|
"tslib": "^2.3.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
|
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
"@angular/compiler": "20.3.16",
|
||||||
"rxjs": "^6.5.3 || ^7.4.0",
|
"rxjs": "^6.5.3 || ^7.4.0",
|
||||||
"zone.js": "~0.14.10"
|
"zone.js": "~0.15.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"@angular/compiler": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"zone.js": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@angular/platform-browser": {
|
"node_modules/@angular/platform-browser": {
|
||||||
"version": "18.2.3",
|
"version": "20.3.16",
|
||||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-18.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-20.3.16.tgz",
|
||||||
"integrity": "sha512-M2ob4zN7tAcL2mx7U6KnZNqNFPFl9MlPBE0FrjQjIzAjU0wSYPIJXmaPu9aMUp9niyo+He5iX98I+URi2Yc99g==",
|
"integrity": "sha512-YsrLS6vyS77i4pVHg4gdSBW74qvzHjpQRTVQ5Lv/OxIjJdYYYkMmjNalCNgy1ZuyY6CaLIB11ccxhrNnxfKGOQ==",
|
||||||
|
"license": "MIT",
|
||||||
"peer": true,
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"tslib": "^2.3.0"
|
"tslib": "^2.3.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
|
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/animations": "18.2.3",
|
"@angular/animations": "20.3.16",
|
||||||
"@angular/common": "18.2.3",
|
"@angular/common": "20.3.16",
|
||||||
"@angular/core": "18.2.3"
|
"@angular/core": "20.3.16"
|
||||||
},
|
},
|
||||||
"peerDependenciesMeta": {
|
"peerDependenciesMeta": {
|
||||||
"@angular/animations": {
|
"@angular/animations": {
|
||||||
@@ -90,76 +102,67 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@angular/router": {
|
"node_modules/@angular/router": {
|
||||||
"version": "18.2.3",
|
"version": "20.3.16",
|
||||||
"resolved": "https://registry.npmjs.org/@angular/router/-/router-18.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/@angular/router/-/router-20.3.16.tgz",
|
||||||
"integrity": "sha512-fvD9eSDIiIbeYoUokoWkXzu7/ZaxlzKPUHFqX1JuKuH5ciQDeT/d7lp4mj31Bxammhohzi3+z12THJYsCkj/iQ==",
|
"integrity": "sha512-e1LiQFZaajKqc00cY5FboIrWJZSMnZ64GDp5R0UejritYrqorQQQNOqP1W85BMuY2owibMmxVfX+dJg/Mc8PuQ==",
|
||||||
|
"license": "MIT",
|
||||||
"peer": true,
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"tslib": "^2.3.0"
|
"tslib": "^2.3.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
|
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "18.2.3",
|
"@angular/common": "20.3.16",
|
||||||
"@angular/core": "18.2.3",
|
"@angular/core": "20.3.16",
|
||||||
"@angular/platform-browser": "18.2.3",
|
"@angular/platform-browser": "20.3.16",
|
||||||
"rxjs": "^6.5.3 || ^7.4.0"
|
"rxjs": "^6.5.3 || ^7.4.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@ngrx/effects": {
|
"node_modules/@ngrx/effects": {
|
||||||
"version": "18.0.2",
|
"version": "20.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/@ngrx/effects/-/effects-18.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/@ngrx/effects/-/effects-20.1.0.tgz",
|
||||||
"integrity": "sha512-YojXcOD9Lsq4kl2HCjENccyUM/mOlgBdtddsg9j/ojzSUgu3ZuBVKLN3atrL2TJYkbMX1MN0RzafSkL3TPGFIA==",
|
"integrity": "sha512-wkIu0QnTarBd1zUswk643H5SILO9Be1OeswMe7g4tXlkNLFRPkyu0BUzXT80PsUPP5p0VrdFz3akrn3HHjjTjA==",
|
||||||
|
"license": "MIT",
|
||||||
"peer": true,
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@ngrx/operators": "18.0.1",
|
|
||||||
"tslib": "^2.0.0"
|
"tslib": "^2.0.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/core": "^18.0.0",
|
"@angular/core": "^20.0.0",
|
||||||
"@ngrx/store": "18.0.2",
|
"@ngrx/store": "20.1.0",
|
||||||
"rxjs": "^6.5.3 || ^7.5.0"
|
"rxjs": "^6.5.3 || ^7.5.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"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"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@ngrx/router-store": {
|
"node_modules/@ngrx/router-store": {
|
||||||
"version": "18.0.2",
|
"version": "20.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/@ngrx/router-store/-/router-store-18.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/@ngrx/router-store/-/router-store-20.1.0.tgz",
|
||||||
"integrity": "sha512-jUrQ/uJJ53x8O1XbN2YxH2GpRREZlwS5gRxlCoc4fWL4Us/uS1/K6+QfRmKBPtpTKBIixqsOb+dIUV5iwBrivA==",
|
"integrity": "sha512-XlpQsgmEc1E9Ogiv6QbJ8g8JzjrJOlr7JX9FngHIDLyXQFCMn5wcXsqhjiBjG9JgJLwlzV+v14i7EM/nqwQCGA==",
|
||||||
|
"license": "MIT",
|
||||||
"peer": true,
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"tslib": "^2.0.0"
|
"tslib": "^2.0.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^18.0.0",
|
"@angular/common": "^20.0.0",
|
||||||
"@angular/core": "^18.0.0",
|
"@angular/core": "^20.0.0",
|
||||||
"@angular/router": "^18.0.0",
|
"@angular/router": "^20.0.0",
|
||||||
"@ngrx/store": "18.0.2",
|
"@ngrx/store": "20.1.0",
|
||||||
"rxjs": "^6.5.3 || ^7.5.0"
|
"rxjs": "^6.5.3 || ^7.5.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@ngrx/store": {
|
"node_modules/@ngrx/store": {
|
||||||
"version": "18.0.2",
|
"version": "20.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/@ngrx/store/-/store-18.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/@ngrx/store/-/store-20.1.0.tgz",
|
||||||
"integrity": "sha512-ajwv0+njsO4vzArp9esnFvs1wyUb1U1W8E8LSCKrcW2hWWo9o1Pezj+JRsdQwatxHfrrPFuTDyajsl6GQM/JSA==",
|
"integrity": "sha512-o8j3CGAGedm+BIb+QDhNXrVaU//n9uF0wH0HZWtXHmW1mjRBaQiUA+ZPMUkDwAeN8KuOcoIEC+2QUXxXGVI7ow==",
|
||||||
|
"license": "MIT",
|
||||||
"peer": true,
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"tslib": "^2.0.0"
|
"tslib": "^2.0.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/core": "^18.0.0",
|
"@angular/core": "^20.0.0",
|
||||||
"rxjs": "^6.5.3 || ^7.5.0"
|
"rxjs": "^6.5.3 || ^7.5.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -173,18 +176,19 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ngrx-store-localstorage": {
|
"node_modules/ngrx-store-localstorage": {
|
||||||
"version": "18.0.0",
|
"version": "20.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/ngrx-store-localstorage/-/ngrx-store-localstorage-18.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/ngrx-store-localstorage/-/ngrx-store-localstorage-20.1.0.tgz",
|
||||||
"integrity": "sha512-WoDePvMWiWF9LQHe+dTqbpm8lxoKCPoIvA0/1enIPTmdLQsOpdDKhMSD5YgwuqDusNfEik3QslProTFGyXZwtw==",
|
"integrity": "sha512-/5+i5qTxZdE8Q5qdSmj7+9JvriAnHwW7RsXzh1rrQ/UHA9vf12q6mJ6wYTTehUO4Qcl2t/K5MRkooN2eG2ZEvw==",
|
||||||
|
"license": "MIT",
|
||||||
"peer": true,
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"deepmerge": "^4.2.2",
|
"deepmerge": "^4.2.2",
|
||||||
"tslib": "^2.3.0"
|
"tslib": "^2.3.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^18.0.1",
|
"@angular/common": ">=20.0.0",
|
||||||
"@angular/core": "^18.0.1",
|
"@angular/core": ">=20.0.0",
|
||||||
"@ngrx/store": "^18.0.0"
|
"@ngrx/store": ">=20.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/rxjs": {
|
"node_modules/rxjs": {
|
||||||
@@ -206,12 +210,6 @@
|
|||||||
"version": "2.7.0",
|
"version": "2.7.0",
|
||||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
|
||||||
"integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
|
"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,11 +8,16 @@
|
|||||||
"tslib": "^2.0.0"
|
"tslib": "^2.0.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/core": "20.3.16",
|
"@angular/core": "21.1.0",
|
||||||
"ngrx-store-localstorage": "20.1.0",
|
"ngrx-store-localstorage": "20.1.0",
|
||||||
"@ngrx/effects": "20.1.0",
|
"@ngrx/effects": "21.0.1",
|
||||||
"@ngrx/router-store": "20.1.0",
|
"@ngrx/router-store": "21.0.1",
|
||||||
"@ngrx/store": "20.1.0",
|
"@ngrx/store": "21.0.1",
|
||||||
"tassign": "^1.0.0"
|
"tassign": "^1.0.0"
|
||||||
|
},
|
||||||
|
"overrides": {
|
||||||
|
"ngrx-store-localstorage": {
|
||||||
|
"@angular/core": "$@angular/core"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
@if (itemLayers.length > 0) {
|
@if (itemLayers.length > 0) {
|
||||||
<div class="layerlist">
|
<div class="layerlist">
|
||||||
<div class="list-group">
|
<div class="list-group">
|
||||||
@for (itemLayer of itemLayers; track itemLayer) {
|
@for (itemLayer of itemLayers; track itemLayer.item.code) {
|
||||||
<div class="list-group-item list-group-item-action p-2 text-truncate" [ngClass]="{'active' : selectedLayer==itemLayer}">
|
<div 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 (click)="handleSelectLayer($event,itemLayer)" [title]="itemLayer.item.name">{{itemLayer.item.name}}</div>
|
||||||
@if (selectedLayer==itemLayer && !baseLayers) {
|
@if (selectedLayer==itemLayer && !baseLayers) {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<div class="lonlat pb-2 "><span class="font-weight-bold">{{lonlat$}}</span><i class="ms-2 fal fa-copy" (click)="copyToClipboard()"></i> </div>
|
<div class="lonlat pb-2 "><span class="font-weight-bold">{{lonlat$}}</span><i class="ms-2 fal fa-copy" (click)="copyToClipboard()"></i> </div>
|
||||||
@if (layers.length>0 ) {
|
@if (layers.length>0 ) {
|
||||||
<ul class="value-list p-0 mb-0">
|
<ul class="value-list p-0 mb-0">
|
||||||
@for (layerValue of layers; track layerValue) {
|
@for (layerValue of layers; track $index) {
|
||||||
<li class="border-top pt-1 pb-1 value">
|
<li class="border-top pt-1 pb-1 value">
|
||||||
<div>{{layerValue.layerName}}</div>
|
<div>{{layerValue.layerName}}</div>
|
||||||
<div>{{layerValue.date|date}}</div>
|
<div>{{layerValue.date|date}}</div>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
@if (features; as features) {
|
@if (features; as features) {
|
||||||
<div>
|
<div>
|
||||||
<div class="cropfields">
|
<div class="cropfields">
|
||||||
@for (feature of features; track feature) {
|
@for (feature of features; track $index) {
|
||||||
<div class="row m-0 ps-3 pe-3" [ngClass]="{'selected':isFeatureSelected(feature)}" (click)="handleFeatureClick(feature)" (mouseenter)="handleFeatureMouseEnter(feature)" (mouseleave)="handleFeatureMouseLeave(feature)">
|
<div class="row m-0 ps-3 pe-3" [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>
|
<fm-map-feature-list-feature-container [feature]="feature"></fm-map-feature-list-feature-container>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
@if (features; as features) {
|
@if (features; as features) {
|
||||||
<div>
|
<div>
|
||||||
<div class="farms">
|
<div class="farms">
|
||||||
@for (feature of features; track feature) {
|
@for (feature of features; track $index) {
|
||||||
<div class="row m-0 ps-3 pe-3"[ngClass]="{'selected':isFeatureSelected(feature)}" (click)="handleFeatureClick(feature)" (mouseenter)="handleFeatureMouseEnter(feature)" (mouseleave)="handleFeatureMouseLeave(feature)">
|
<div class="row m-0 ps-3 pe-3"[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>
|
<fm-map-feature-list-feature-container [feature]="feature"></fm-map-feature-list-feature-container>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
@if (features; as features) {
|
@if (features; as features) {
|
||||||
<div>
|
<div>
|
||||||
<div class="cropfields">
|
<div class="cropfields">
|
||||||
@for (feature of features; track feature) {
|
@for (feature of features; track $index) {
|
||||||
<div class="row m-0 ps-3 pe-3" [ngClass]="{'selected':isFeatureSelected(feature)}" (click)="handleFeatureClick(feature)" (mouseenter)="handleFeatureMouseEnter(feature)" (mouseleave)="handleFeatureMouseLeave(feature)">
|
<div class="row m-0 ps-3 pe-3" [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>
|
<fm-map-feature-list-feature-container [feature]="feature"></fm-map-feature-list-feature-container>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
@if (features; as features) {
|
@if (features; as features) {
|
||||||
<div>
|
<div>
|
||||||
<fm-back-button></fm-back-button>
|
<fm-back-button></fm-back-button>
|
||||||
@for (feature of features; track feature) {
|
@for (feature of features; track $index) {
|
||||||
<div class="row m-0 ps-3 pe-3" [ngClass]="{'selected':isFeatureSelected(feature)}" (click)="handleFeatureClick(feature)" (mouseenter)="handleFeatureMouseEnter(feature)" (mouseleave)="handleFeatureMouseLeave(feature)">
|
<div class="row m-0 ps-3 pe-3" [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>
|
<fm-map-feature-list-feature-container [feature]="feature"></fm-map-feature-list-feature-container>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
@if (items; as items) {
|
@if (items; as items) {
|
||||||
<div class="widget-container pt-0">
|
<div class="widget-container pt-0">
|
||||||
@for (item of items; track item) {
|
@for (item of items; track item.code) {
|
||||||
<div class="widget" (click)="handleItemClick(item)">
|
<div class="widget" (click)="handleItemClick(item)">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<fm-map-item-list-item-container [item]="item" class="item-container"></fm-map-item-list-item-container>
|
<fm-map-item-list-item-container [item]="item" class="item-container"></fm-map-item-list-item-container>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
@if (widgets; as widgets) {
|
@if (widgets; as widgets) {
|
||||||
<div class="widget-container pt-0">
|
<div class="widget-container pt-0">
|
||||||
@for (widget of widgets; track widget) {
|
@for (widget of widgets; track widget.item.code) {
|
||||||
<div class="widget">
|
<div class="widget">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<ng-template #widgetTemplate></ng-template>
|
<ng-template #widgetTemplate></ng-template>
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
}
|
}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@for (entry of layer.renderer.colorMap.entries; track entry; let i = $index) {
|
@for (entry of layer.renderer.colorMap.entries; track $index; let i = $index) {
|
||||||
<tr>
|
<tr>
|
||||||
<td class="legend-items"><span [style.background-color]="getAlphaHex(entry.color)" [style.border-color]="getHex(entry.color)"class="color"></span></td>
|
<td class="legend-items"><span [style.background-color]="getAlphaHex(entry.color)" [style.border-color]="getHex(entry.color)"class="color"></span></td>
|
||||||
<td class="legend-items-text">@if (!entry.label) {
|
<td class="legend-items-text">@if (!entry.label) {
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
@if (layers.length>1) {
|
@if (layers.length>1) {
|
||||||
<div>
|
<div>
|
||||||
<select (change)="onLayerChanged($event.target.value)">
|
<select (change)="onLayerChanged($event.target.value)">
|
||||||
@for (l of layers; track l) {
|
@for (l of layers; track l.index) {
|
||||||
<option [value]="l.index" [selected]="itemLayer.layerIndex == l.index">{{l.name}}</option>
|
<option [value]="l.index" [selected]="itemLayer.layerIndex == l.index">{{l.name}}</option>
|
||||||
}
|
}
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
@if (layers.length>1) {
|
@if (layers.length>1) {
|
||||||
<div>
|
<div>
|
||||||
<select (change)="onLayerChanged($event.target.value)">
|
<select (change)="onLayerChanged($event.target.value)">
|
||||||
@for (l of layers; track l) {
|
@for (l of layers; track l.index) {
|
||||||
<option [value]="l.index" [selected]="itemLayer.layerIndex == l.index">{{l.name}}</option>
|
<option [value]="l.index" [selected]="itemLayer.layerIndex == l.index">{{l.name}}</option>
|
||||||
}
|
}
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
@@ -36,7 +36,7 @@
|
|||||||
@if (layers.length>1) {
|
@if (layers.length>1) {
|
||||||
<div>
|
<div>
|
||||||
<select (change)="onLayerChanged($event.target.value)">
|
<select (change)="onLayerChanged($event.target.value)">
|
||||||
@for (l of layers; track l) {
|
@for (l of layers; track l.index) {
|
||||||
<option [value]="l.index" [selected]="itemLayer.layerIndex == l.index">{{l.name}}</option>
|
<option [value]="l.index" [selected]="itemLayer.layerIndex == l.index">{{l.name}}</option>
|
||||||
}
|
}
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
@@ -1,18 +0,0 @@
|
|||||||
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
|
|
||||||
|
|
||||||
import 'core-js/es7/reflect';
|
|
||||||
import 'zone.js';
|
|
||||||
import 'zone.js/testing';
|
|
||||||
import { getTestBed } from '@angular/core/testing';
|
|
||||||
import {
|
|
||||||
BrowserDynamicTestingModule,
|
|
||||||
platformBrowserDynamicTesting
|
|
||||||
} from '@angular/platform-browser-dynamic/testing';
|
|
||||||
|
|
||||||
// First, initialize the Angular testing environment.
|
|
||||||
getTestBed().initTestEnvironment(
|
|
||||||
BrowserDynamicTestingModule,
|
|
||||||
platformBrowserDynamicTesting(), {
|
|
||||||
teardown: { destroyAfterEach: false }
|
|
||||||
}
|
|
||||||
);
|
|
||||||
@@ -12,10 +12,6 @@
|
|||||||
"importHelpers": true,
|
"importHelpers": true,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"types": [],
|
"types": [],
|
||||||
"lib": [
|
|
||||||
"dom",
|
|
||||||
"es2018"
|
|
||||||
],
|
|
||||||
"paths": {
|
"paths": {
|
||||||
"@angular/*": [
|
"@angular/*": [
|
||||||
"node_modules/@angular/*"
|
"node_modules/@angular/*"
|
||||||
@@ -31,7 +27,6 @@
|
|||||||
"compilationMode": "partial"
|
"compilationMode": "partial"
|
||||||
},
|
},
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"src/test.ts",
|
|
||||||
"**/*.spec.ts"
|
"**/*.spec.ts"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,10 +12,6 @@
|
|||||||
"importHelpers": true,
|
"importHelpers": true,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"types": [],
|
"types": [],
|
||||||
"lib": [
|
|
||||||
"dom",
|
|
||||||
"es2018"
|
|
||||||
],
|
|
||||||
"paths": {
|
"paths": {
|
||||||
"@angular/*": [
|
"@angular/*": [
|
||||||
"node_modules/@angular/*"
|
"node_modules/@angular/*"
|
||||||
@@ -31,7 +27,6 @@
|
|||||||
"compilationMode": "partial"
|
"compilationMode": "partial"
|
||||||
},
|
},
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"src/test.ts",
|
|
||||||
"**/*.spec.ts"
|
"**/*.spec.ts"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,12 +3,10 @@
|
|||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"outDir": "../../out-tsc/spec",
|
"outDir": "../../out-tsc/spec",
|
||||||
"types": [
|
"types": [
|
||||||
"jasmine",
|
|
||||||
"node"
|
"node"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"src/test.ts"
|
|
||||||
],
|
],
|
||||||
"include": [
|
"include": [
|
||||||
"**/*.spec.ts",
|
"**/*.spec.ts",
|
||||||
|
|||||||
@@ -1,32 +0,0 @@
|
|||||||
// Karma configuration file, see link for more information
|
|
||||||
// https://karma-runner.github.io/1.0/config/configuration-file.html
|
|
||||||
|
|
||||||
module.exports = function (config) {
|
|
||||||
config.set({
|
|
||||||
basePath: '',
|
|
||||||
frameworks: ['jasmine', '@angular-devkit/build-angular'],
|
|
||||||
plugins: [
|
|
||||||
require('karma-jasmine'),
|
|
||||||
require('karma-chrome-launcher'),
|
|
||||||
require('karma-jasmine-html-reporter'),
|
|
||||||
require('karma-coverage-istanbul-reporter'),
|
|
||||||
require('@angular-devkit/build-angular/plugins/karma')
|
|
||||||
],
|
|
||||||
client: {
|
|
||||||
clearContext: false // leave Jasmine Spec Runner output visible in browser
|
|
||||||
},
|
|
||||||
coverageIstanbulReporter: {
|
|
||||||
dir: require('path').join(__dirname, '../../coverage/common-map3d'),
|
|
||||||
reports: ['html', 'lcovonly', 'text-summary'],
|
|
||||||
fixWebpackSourcePaths: true
|
|
||||||
},
|
|
||||||
reporters: ['progress', 'kjhtml'],
|
|
||||||
port: 9876,
|
|
||||||
colors: true,
|
|
||||||
logLevel: config.LOG_INFO,
|
|
||||||
autoWatch: true,
|
|
||||||
browsers: ['Chrome'],
|
|
||||||
singleRun: false,
|
|
||||||
restartOnFileChange: true
|
|
||||||
});
|
|
||||||
};
|
|
||||||
48
projects/common-map3d/package-lock.json
generated
48
projects/common-map3d/package-lock.json
generated
@@ -11,8 +11,8 @@
|
|||||||
"tslib": "^2.0.0"
|
"tslib": "^2.0.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^18.2.3",
|
"@angular/common": "20.3.16",
|
||||||
"@angular/core": "^18.2.3",
|
"@angular/core": "20.3.16",
|
||||||
"cesium": "^1.97.0",
|
"cesium": "^1.97.0",
|
||||||
"ol-cesium": ">=2.13.0"
|
"ol-cesium": ">=2.13.0"
|
||||||
}
|
}
|
||||||
@@ -34,35 +34,46 @@
|
|||||||
"extraneous": true
|
"extraneous": true
|
||||||
},
|
},
|
||||||
"node_modules/@angular/common": {
|
"node_modules/@angular/common": {
|
||||||
"version": "18.2.3",
|
"version": "20.3.16",
|
||||||
"resolved": "https://registry.npmjs.org/@angular/common/-/common-18.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/@angular/common/-/common-20.3.16.tgz",
|
||||||
"integrity": "sha512-NFL4yXXImSCH7i1xnHykUjHa9vl9827fGiwSV2mnf7LjSUsyDzFD8/54dNuYN9OY8AUD+PnK0YdNro6cczVyIA==",
|
"integrity": "sha512-GRAziNlntwdnJy3F+8zCOvDdy7id0gITjDnM6P9+n2lXvtDuBLGJKU3DWBbvxcCjtD6JK/g/rEX5fbCxbUHkQQ==",
|
||||||
|
"license": "MIT",
|
||||||
"peer": true,
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"tslib": "^2.3.0"
|
"tslib": "^2.3.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
|
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/core": "18.2.3",
|
"@angular/core": "20.3.16",
|
||||||
"rxjs": "^6.5.3 || ^7.4.0"
|
"rxjs": "^6.5.3 || ^7.4.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@angular/core": {
|
"node_modules/@angular/core": {
|
||||||
"version": "18.2.3",
|
"version": "20.3.16",
|
||||||
"resolved": "https://registry.npmjs.org/@angular/core/-/core-18.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/@angular/core/-/core-20.3.16.tgz",
|
||||||
"integrity": "sha512-VGhMJxj7d0rYpqVfQrcGRB7EE/BCziotft/I/YPl6bOMPSAvMukG7DXQuJdYpNrr62ks78mlzHlZX/cdmB9Prw==",
|
"integrity": "sha512-KSFPKvOmWWLCJBbEO+CuRUXfecX2FRuO0jNi9c54ptXMOPHlK1lIojUnyXmMNzjdHgRug8ci9qDuftvC2B7MKg==",
|
||||||
|
"license": "MIT",
|
||||||
"peer": true,
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"tslib": "^2.3.0"
|
"tslib": "^2.3.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
|
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
"@angular/compiler": "20.3.16",
|
||||||
"rxjs": "^6.5.3 || ^7.4.0",
|
"rxjs": "^6.5.3 || ^7.4.0",
|
||||||
"zone.js": "~0.14.10"
|
"zone.js": "~0.15.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"@angular/compiler": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"zone.js": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@cesium/engine": {
|
"node_modules/@cesium/engine": {
|
||||||
@@ -498,9 +509,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/rxjs": {
|
"node_modules/rxjs": {
|
||||||
"version": "7.8.1",
|
"version": "7.8.2",
|
||||||
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz",
|
||||||
"integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
|
"integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==",
|
||||||
|
"license": "Apache-2.0",
|
||||||
"peer": true,
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"tslib": "^2.1.0"
|
"tslib": "^2.1.0"
|
||||||
@@ -549,12 +561,6 @@
|
|||||||
"integrity": "sha512-Dn6vJ1Z9v1tepSjvnCpwk5QqwIPcEFKdgnjqfYOABv1ngSofuAhtlugcUC3ehS1OHdgDWSG6C5mvj+Qm15udTQ==",
|
"integrity": "sha512-Dn6vJ1Z9v1tepSjvnCpwk5QqwIPcEFKdgnjqfYOABv1ngSofuAhtlugcUC3ehS1OHdgDWSG6C5mvj+Qm15udTQ==",
|
||||||
"peer": true
|
"peer": true
|
||||||
},
|
},
|
||||||
"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
|
|
||||||
},
|
|
||||||
"node_modules/zstddec": {
|
"node_modules/zstddec": {
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/zstddec/-/zstddec-0.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/zstddec/-/zstddec-0.1.0.tgz",
|
||||||
|
|||||||
@@ -8,8 +8,8 @@
|
|||||||
"tslib": "^2.0.0"
|
"tslib": "^2.0.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "20.3.16",
|
"@angular/common": "21.1.0",
|
||||||
"@angular/core": "20.3.16",
|
"@angular/core": "21.1.0",
|
||||||
"cesium": "^1.97.0",
|
"cesium": "^1.97.0",
|
||||||
"ol-cesium": ">=2.13.0"
|
"ol-cesium": ">=2.13.0"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
|
|
||||||
|
|
||||||
import 'zone.js';
|
|
||||||
import 'zone.js/testing';
|
|
||||||
import { getTestBed } from '@angular/core/testing';
|
|
||||||
import {
|
|
||||||
BrowserDynamicTestingModule,
|
|
||||||
platformBrowserDynamicTesting
|
|
||||||
} from '@angular/platform-browser-dynamic/testing';
|
|
||||||
|
|
||||||
// First, initialize the Angular testing environment.
|
|
||||||
getTestBed().initTestEnvironment(
|
|
||||||
BrowserDynamicTestingModule,
|
|
||||||
platformBrowserDynamicTesting(), {
|
|
||||||
teardown: { destroyAfterEach: false }
|
|
||||||
}
|
|
||||||
);
|
|
||||||
@@ -13,10 +13,6 @@
|
|||||||
"importHelpers": true,
|
"importHelpers": true,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"types": [],
|
"types": [],
|
||||||
"lib": [
|
|
||||||
"dom",
|
|
||||||
"es2018"
|
|
||||||
],
|
|
||||||
"paths": {
|
"paths": {
|
||||||
"@angular/*": [
|
"@angular/*": [
|
||||||
"node_modules/@angular/*"
|
"node_modules/@angular/*"
|
||||||
@@ -32,7 +28,6 @@
|
|||||||
"compilationMode": "partial"
|
"compilationMode": "partial"
|
||||||
},
|
},
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"src/test.ts",
|
|
||||||
"**/*.spec.ts"
|
"**/*.spec.ts"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,10 +13,6 @@
|
|||||||
"importHelpers": true,
|
"importHelpers": true,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"types": [],
|
"types": [],
|
||||||
"lib": [
|
|
||||||
"dom",
|
|
||||||
"es2018"
|
|
||||||
],
|
|
||||||
"paths": {
|
"paths": {
|
||||||
"@angular/*": [
|
"@angular/*": [
|
||||||
"node_modules/@angular/*"
|
"node_modules/@angular/*"
|
||||||
@@ -32,7 +28,6 @@
|
|||||||
"compilationMode": "partial"
|
"compilationMode": "partial"
|
||||||
},
|
},
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"src/test.ts",
|
|
||||||
"**/*.spec.ts"
|
"**/*.spec.ts"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,12 +3,10 @@
|
|||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"outDir": "../../out-tsc/spec",
|
"outDir": "../../out-tsc/spec",
|
||||||
"types": [
|
"types": [
|
||||||
"jasmine",
|
|
||||||
"node"
|
"node"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"src/test.ts"
|
|
||||||
],
|
],
|
||||||
"include": [
|
"include": [
|
||||||
"**/*.spec.ts",
|
"**/*.spec.ts",
|
||||||
|
|||||||
@@ -1,32 +0,0 @@
|
|||||||
// Karma configuration file, see link for more information
|
|
||||||
// https://karma-runner.github.io/1.0/config/configuration-file.html
|
|
||||||
|
|
||||||
module.exports = function (config) {
|
|
||||||
config.set({
|
|
||||||
basePath: '',
|
|
||||||
frameworks: ['jasmine', '@angular-devkit/build-angular'],
|
|
||||||
plugins: [
|
|
||||||
require('karma-jasmine'),
|
|
||||||
require('karma-chrome-launcher'),
|
|
||||||
require('karma-jasmine-html-reporter'),
|
|
||||||
require('karma-coverage-istanbul-reporter'),
|
|
||||||
require('@angular-devkit/build-angular/plugins/karma')
|
|
||||||
],
|
|
||||||
client: {
|
|
||||||
clearContext: false // leave Jasmine Spec Runner output visible in browser
|
|
||||||
},
|
|
||||||
coverageIstanbulReporter: {
|
|
||||||
dir: require('path').join(__dirname, '../../coverage/common'),
|
|
||||||
reports: ['html', 'lcovonly'],
|
|
||||||
fixWebpackSourcePaths: true
|
|
||||||
},
|
|
||||||
reporters: ['progress', 'kjhtml'],
|
|
||||||
port: 9876,
|
|
||||||
colors: true,
|
|
||||||
logLevel: config.LOG_INFO,
|
|
||||||
autoWatch: true,
|
|
||||||
browsers: ['Chrome'],
|
|
||||||
singleRun: false,
|
|
||||||
restartOnFileChange: true
|
|
||||||
});
|
|
||||||
};
|
|
||||||
3141
projects/common/package-lock.json
generated
3141
projects/common/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -5,20 +5,20 @@
|
|||||||
"registry": "https://repository.akkerweb.nl/repository/npm-hosted/"
|
"registry": "https://repository.akkerweb.nl/repository/npm-hosted/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@ng-bootstrap/ng-bootstrap": "^19.0.0",
|
"@ng-bootstrap/ng-bootstrap": "^20.0.0",
|
||||||
"@angular/common": "20.3.16",
|
"@angular/common": "21.1.0",
|
||||||
"@angular/core": "20.3.16",
|
"@angular/core": "21.1.0",
|
||||||
"@angular/forms": "20.3.16",
|
"@angular/forms": "21.1.0",
|
||||||
"@ngrx/effects": "20.1.0",
|
"@ngrx/effects": "21.0.1",
|
||||||
"@ngrx/router-store": "20.1.0",
|
"@ngrx/router-store": "21.0.1",
|
||||||
"@ngrx/store": "20.1.0",
|
"@ngrx/store": "21.0.1",
|
||||||
"tassign": "^1.0.0",
|
"tassign": "^1.0.0",
|
||||||
"bootstrap": "^5.3.3",
|
"bootstrap": "^5.3.3",
|
||||||
"@microsoft/signalr": "^3.1.16",
|
"@microsoft/signalr": "10.0.0",
|
||||||
"ngx-uploadx": "7.0.1",
|
"ngx-uploadx": "7.0.1",
|
||||||
"angular-oauth2-oidc": "^17.0.2",
|
"angular-oauth2-oidc": "20.0.2",
|
||||||
"moment": "^2.29.4",
|
"moment": "^2.29.4",
|
||||||
"ngx-avatars": "1.10.0",
|
"ngx-avatars": "1.10.1",
|
||||||
"ngx-image-cropper": "^7.0.0",
|
"ngx-image-cropper": "^7.0.0",
|
||||||
"ngx-clipboard": "^16.0.0"
|
"ngx-clipboard": "^16.0.0"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
<div class="gradient-list" [ngClass]="{'visible':listVisible}">
|
<div class="gradient-list" [ngClass]="{'visible':listVisible}">
|
||||||
@if (gradientItems) {
|
@if (gradientItems) {
|
||||||
<ul>
|
<ul>
|
||||||
@for (item of gradientItems; track item) {
|
@for (item of gradientItems; track item.code) {
|
||||||
<li (click)="handleSelect(item)" [ngClass]="{'bg-primary':isSelected(item),'text-white':isSelected(item)} ">
|
<li (click)="handleSelect(item)" [ngClass]="{'bg-primary':isSelected(item),'text-white':isSelected(item)} ">
|
||||||
<div>{{item?.name}}</div>
|
<div>{{item?.name}}</div>
|
||||||
<div><fm-gradient [gradientItem]="item"></fm-gradient></div>
|
<div><fm-gradient [gradientItem]="item"></fm-gradient></div>
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
<div [ngClass]="{'minimized': uploadService.isMinimized }">
|
<div [ngClass]="{'minimized': uploadService.isMinimized }">
|
||||||
<div class="card-block p-3">
|
<div class="card-block p-3">
|
||||||
<ul class="list-unstyled">
|
<ul class="list-unstyled">
|
||||||
@for (file of uploadService.files; track file) {
|
@for (file of uploadService.files; track $index) {
|
||||||
<li class="upload-file busy" [ngClass]="{'done': file.success,'busy':file.success == false,'error': file.error }">
|
<li class="upload-file busy" [ngClass]="{'done': file.success,'busy':file.success == false,'error': file.error }">
|
||||||
@if (file.success == false) {
|
@if (file.success == false) {
|
||||||
<div><span class="file-name" [attr.title]="file?.fileName">{{file.fileName}}</span><span class="fal fa-times" title="Cancel" (click)="uploadService.cancelFile(file)"></span><span class="fal fa-check"></span></div>
|
<div><span class="file-name" [attr.title]="file?.fileName">{{file.fileName}}</span><span class="fal fa-times" title="Cancel" (click)="uploadService.cancelFile(file)"></span><span class="fal fa-check"></span></div>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<div class="tags">
|
<div class="tags">
|
||||||
@for (tag of tags; track tag) {
|
@for (tag of tags; track $index) {
|
||||||
<span class="tag rounded bg-primary text-white"><span>{{tag}}</span> <i
|
<span class="tag rounded bg-primary text-white"><span>{{tag}}</span> <i
|
||||||
(click)="handleDeleteTag(tag)" class="fal fa-times" aria-hidden="true"></i></span>
|
(click)="handleDeleteTag(tag)" class="fal fa-times" aria-hidden="true"></i></span>
|
||||||
}<input
|
}<input
|
||||||
|
|||||||
@@ -1,18 +0,0 @@
|
|||||||
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
|
|
||||||
|
|
||||||
import 'core-js/es7/reflect';
|
|
||||||
import 'zone.js';
|
|
||||||
import 'zone.js/testing';
|
|
||||||
import { getTestBed } from '@angular/core/testing';
|
|
||||||
import {
|
|
||||||
BrowserDynamicTestingModule,
|
|
||||||
platformBrowserDynamicTesting
|
|
||||||
} from '@angular/platform-browser-dynamic/testing';
|
|
||||||
|
|
||||||
// First, initialize the Angular testing environment.
|
|
||||||
getTestBed().initTestEnvironment(
|
|
||||||
BrowserDynamicTestingModule,
|
|
||||||
platformBrowserDynamicTesting(), {
|
|
||||||
teardown: { destroyAfterEach: false }
|
|
||||||
}
|
|
||||||
);
|
|
||||||
@@ -12,10 +12,6 @@
|
|||||||
"importHelpers": true,
|
"importHelpers": true,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"types": [],
|
"types": [],
|
||||||
"lib": [
|
|
||||||
"dom",
|
|
||||||
"es2018"
|
|
||||||
],
|
|
||||||
"paths": {
|
"paths": {
|
||||||
"@angular/*": [
|
"@angular/*": [
|
||||||
"node_modules/@angular/*"
|
"node_modules/@angular/*"
|
||||||
@@ -31,7 +27,6 @@
|
|||||||
"compilationMode": "partial"
|
"compilationMode": "partial"
|
||||||
},
|
},
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"src/test.ts",
|
|
||||||
"**/*.spec.ts"
|
"**/*.spec.ts"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,10 +12,6 @@
|
|||||||
"importHelpers": true,
|
"importHelpers": true,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"types": [],
|
"types": [],
|
||||||
"lib": [
|
|
||||||
"dom",
|
|
||||||
"es2018"
|
|
||||||
],
|
|
||||||
"paths": {
|
"paths": {
|
||||||
"@angular/*": [
|
"@angular/*": [
|
||||||
"node_modules/@angular/*"
|
"node_modules/@angular/*"
|
||||||
@@ -31,7 +27,6 @@
|
|||||||
"compilationMode": "partial"
|
"compilationMode": "partial"
|
||||||
},
|
},
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"src/test.ts",
|
|
||||||
"**/*.spec.ts"
|
"**/*.spec.ts"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,12 +3,10 @@
|
|||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"outDir": "../../out-tsc/spec",
|
"outDir": "../../out-tsc/spec",
|
||||||
"types": [
|
"types": [
|
||||||
"jasmine",
|
|
||||||
"node"
|
"node"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"src/test.ts"
|
|
||||||
],
|
],
|
||||||
"include": [
|
"include": [
|
||||||
"**/*.spec.ts",
|
"**/*.spec.ts",
|
||||||
|
|||||||
@@ -1,32 +0,0 @@
|
|||||||
// Karma configuration file, see link for more information
|
|
||||||
// https://karma-runner.github.io/1.0/config/configuration-file.html
|
|
||||||
|
|
||||||
module.exports = function (config) {
|
|
||||||
config.set({
|
|
||||||
basePath: '',
|
|
||||||
frameworks: ['jasmine', '@angular-devkit/build-angular'],
|
|
||||||
plugins: [
|
|
||||||
require('karma-jasmine'),
|
|
||||||
require('karma-chrome-launcher'),
|
|
||||||
require('karma-jasmine-html-reporter'),
|
|
||||||
require('karma-coverage-istanbul-reporter'),
|
|
||||||
require('@angular-devkit/build-angular/plugins/karma'),
|
|
||||||
],
|
|
||||||
client: {
|
|
||||||
clearContext: false, // leave Jasmine Spec Runner output visible in browser
|
|
||||||
},
|
|
||||||
coverageIstanbulReporter: {
|
|
||||||
dir: require('path').join(__dirname, '../../coverage/ng-openlayers'),
|
|
||||||
reports: ['html', 'lcovonly', 'text-summary'],
|
|
||||||
fixWebpackSourcePaths: true,
|
|
||||||
},
|
|
||||||
reporters: ['progress', 'kjhtml'],
|
|
||||||
port: 9876,
|
|
||||||
colors: true,
|
|
||||||
logLevel: config.LOG_INFO,
|
|
||||||
autoWatch: true,
|
|
||||||
browsers: ['Chrome'],
|
|
||||||
singleRun: false,
|
|
||||||
restartOnFileChange: true,
|
|
||||||
});
|
|
||||||
};
|
|
||||||
50
projects/ng-openlayers/package-lock.json
generated
50
projects/ng-openlayers/package-lock.json
generated
@@ -1,54 +1,63 @@
|
|||||||
{
|
{
|
||||||
"name": "ng-openlayers",
|
"name": "@farmmaps/ng-openlayers",
|
||||||
"version": "18.0.0",
|
"version": "18.0.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "ng-openlayers",
|
"name": "@farmmaps/ng-openlayers",
|
||||||
"version": "18.0.0",
|
"version": "18.0.0",
|
||||||
"license": "MPL-2.0",
|
"license": "MPL-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"tslib": "^2.3.0"
|
"tslib": "^2.3.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^18.2.3",
|
"@angular/common": "20.3.16",
|
||||||
"@angular/core": "^18.2.3",
|
"@angular/core": "20.3.16",
|
||||||
"ol": "^8.2.0"
|
"ol": "^8.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@angular/common": {
|
"node_modules/@angular/common": {
|
||||||
"version": "18.2.3",
|
"version": "20.3.16",
|
||||||
"resolved": "https://registry.npmjs.org/@angular/common/-/common-18.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/@angular/common/-/common-20.3.16.tgz",
|
||||||
"integrity": "sha512-NFL4yXXImSCH7i1xnHykUjHa9vl9827fGiwSV2mnf7LjSUsyDzFD8/54dNuYN9OY8AUD+PnK0YdNro6cczVyIA==",
|
"integrity": "sha512-GRAziNlntwdnJy3F+8zCOvDdy7id0gITjDnM6P9+n2lXvtDuBLGJKU3DWBbvxcCjtD6JK/g/rEX5fbCxbUHkQQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peer": true,
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"tslib": "^2.3.0"
|
"tslib": "^2.3.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
|
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/core": "18.2.3",
|
"@angular/core": "20.3.16",
|
||||||
"rxjs": "^6.5.3 || ^7.4.0"
|
"rxjs": "^6.5.3 || ^7.4.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@angular/core": {
|
"node_modules/@angular/core": {
|
||||||
"version": "18.2.3",
|
"version": "20.3.16",
|
||||||
"resolved": "https://registry.npmjs.org/@angular/core/-/core-18.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/@angular/core/-/core-20.3.16.tgz",
|
||||||
"integrity": "sha512-VGhMJxj7d0rYpqVfQrcGRB7EE/BCziotft/I/YPl6bOMPSAvMukG7DXQuJdYpNrr62ks78mlzHlZX/cdmB9Prw==",
|
"integrity": "sha512-KSFPKvOmWWLCJBbEO+CuRUXfecX2FRuO0jNi9c54ptXMOPHlK1lIojUnyXmMNzjdHgRug8ci9qDuftvC2B7MKg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peer": true,
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"tslib": "^2.3.0"
|
"tslib": "^2.3.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
|
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
"@angular/compiler": "20.3.16",
|
||||||
"rxjs": "^6.5.3 || ^7.4.0",
|
"rxjs": "^6.5.3 || ^7.4.0",
|
||||||
"zone.js": "~0.14.10"
|
"zone.js": "~0.15.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"@angular/compiler": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"zone.js": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@petamoriken/float16": {
|
"node_modules/@petamoriken/float16": {
|
||||||
@@ -246,9 +255,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/rxjs": {
|
"node_modules/rxjs": {
|
||||||
"version": "7.8.1",
|
"version": "7.8.2",
|
||||||
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz",
|
||||||
"integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
|
"integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"peer": true,
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -274,13 +283,6 @@
|
|||||||
"license": "CC0-1.0",
|
"license": "CC0-1.0",
|
||||||
"peer": true
|
"peer": true
|
||||||
},
|
},
|
||||||
"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==",
|
|
||||||
"license": "MIT",
|
|
||||||
"peer": true
|
|
||||||
},
|
|
||||||
"node_modules/zstddec": {
|
"node_modules/zstddec": {
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/zstddec/-/zstddec-0.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/zstddec/-/zstddec-0.1.0.tgz",
|
||||||
|
|||||||
@@ -31,8 +31,8 @@
|
|||||||
"tslib": "^2.3.0"
|
"tslib": "^2.3.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "20.3.16",
|
"@angular/common": "21.1.0",
|
||||||
"@angular/core": "20.3.16",
|
"@angular/core": "21.1.0",
|
||||||
"ol": "^8.2.0"
|
"ol": "^8.2.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,11 +18,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"test": {
|
"test": {
|
||||||
"executor": "@angular-devkit/build-angular:karma",
|
"executor": "@angular/build:unit-test",
|
||||||
"options": {
|
"options": {
|
||||||
"main": "libs/ng-openlayers/src/test.ts",
|
|
||||||
"tsConfig": "libs/ng-openlayers/tsconfig.spec.json",
|
"tsConfig": "libs/ng-openlayers/tsconfig.spec.json",
|
||||||
"karmaConfig": "libs/ng-openlayers/karma.conf.js"
|
"browsers": ["chromium"]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lint": {
|
"lint": {
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
|
|
||||||
|
|
||||||
import 'core-js/es7/reflect';
|
|
||||||
import 'zone.js';
|
|
||||||
import 'zone.js/testing';
|
|
||||||
import { getTestBed } from '@angular/core/testing';
|
|
||||||
import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing';
|
|
||||||
|
|
||||||
// First, initialize the Angular testing environment.
|
|
||||||
getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), {
|
|
||||||
teardown: { destroyAfterEach: false },
|
|
||||||
});
|
|
||||||
@@ -12,10 +12,6 @@
|
|||||||
"importHelpers": true,
|
"importHelpers": true,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"types": [],
|
"types": [],
|
||||||
"lib": [
|
|
||||||
"dom",
|
|
||||||
"es2018"
|
|
||||||
],
|
|
||||||
"paths": {
|
"paths": {
|
||||||
"@angular/*": [
|
"@angular/*": [
|
||||||
"node_modules/@angular/*"
|
"node_modules/@angular/*"
|
||||||
@@ -31,7 +27,6 @@
|
|||||||
"compilationMode": "partial"
|
"compilationMode": "partial"
|
||||||
},
|
},
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"src/test.ts",
|
|
||||||
"**/*.spec.ts"
|
"**/*.spec.ts"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,10 +12,6 @@
|
|||||||
"importHelpers": true,
|
"importHelpers": true,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"types": [],
|
"types": [],
|
||||||
"lib": [
|
|
||||||
"dom",
|
|
||||||
"es2018"
|
|
||||||
],
|
|
||||||
"paths": {
|
"paths": {
|
||||||
"@angular/*": [
|
"@angular/*": [
|
||||||
"node_modules/@angular/*"
|
"node_modules/@angular/*"
|
||||||
@@ -31,7 +27,6 @@
|
|||||||
"compilationMode": "partial"
|
"compilationMode": "partial"
|
||||||
},
|
},
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"src/test.ts",
|
|
||||||
"**/*.spec.ts"
|
"**/*.spec.ts"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,12 +3,10 @@
|
|||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"outDir": "../../dist/out-tsc",
|
"outDir": "../../dist/out-tsc",
|
||||||
"types": [
|
"types": [
|
||||||
"jasmine",
|
|
||||||
"node"
|
"node"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"src/test.ts"
|
|
||||||
],
|
],
|
||||||
"include": [
|
"include": [
|
||||||
"**/*.spec.ts",
|
"**/*.spec.ts",
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"extends": [
|
|
||||||
"./tslint.json",
|
|
||||||
"tslint-config-prettier",
|
|
||||||
"tslint-plugin-prettier"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
// Karma configuration file, see link for more information
|
|
||||||
// https://karma-runner.github.io/1.0/config/configuration-file.html
|
|
||||||
|
|
||||||
module.exports = function (config) {
|
|
||||||
config.set({
|
|
||||||
basePath: '',
|
|
||||||
frameworks: ['jasmine', '@angular-devkit/build-angular'],
|
|
||||||
plugins: [
|
|
||||||
require('karma-jasmine'),
|
|
||||||
require('karma-chrome-launcher'),
|
|
||||||
require('karma-jasmine-html-reporter'),
|
|
||||||
require('karma-coverage-istanbul-reporter'),
|
|
||||||
require('@angular-devkit/build-angular/plugins/karma')
|
|
||||||
],
|
|
||||||
client: {
|
|
||||||
clearContext: false // leave Jasmine Spec Runner output visible in browser
|
|
||||||
},
|
|
||||||
coverageIstanbulReporter: {
|
|
||||||
dir: require('path').join(__dirname, '../coverage/farmmaps-lib-app'),
|
|
||||||
reports: ['html', 'lcovonly', 'text-summary'],
|
|
||||||
fixWebpackSourcePaths: true
|
|
||||||
},
|
|
||||||
reporters: ['progress', 'kjhtml'],
|
|
||||||
port: 9876,
|
|
||||||
colors: true,
|
|
||||||
logLevel: config.LOG_INFO,
|
|
||||||
autoWatch: true,
|
|
||||||
browsers: ['Chrome'],
|
|
||||||
singleRun: false,
|
|
||||||
restartOnFileChange: true
|
|
||||||
});
|
|
||||||
};
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import * as Cesium from 'cesium';
|
import * as Cesium from 'cesium';
|
||||||
|
|
||||||
import { enableProdMode } from '@angular/core';
|
import { enableProdMode, provideZoneChangeDetection } from '@angular/core';
|
||||||
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
||||||
|
|
||||||
import { AppModule } from './app/app.module';
|
import { AppModule } from './app/app.module';
|
||||||
@@ -15,5 +15,5 @@ if (environment.production) {
|
|||||||
window['CESIUM_BASE_URL'] = '/assets/cesium/';
|
window['CESIUM_BASE_URL'] = '/assets/cesium/';
|
||||||
window['Cesium'] = Cesium;
|
window['Cesium'] = Cesium;
|
||||||
|
|
||||||
platformBrowserDynamic().bootstrapModule(AppModule)
|
platformBrowserDynamic().bootstrapModule(AppModule, { applicationProviders: [provideZoneChangeDetection()], })
|
||||||
.catch(err => console.error(err));
|
.catch(err => console.error(err));
|
||||||
|
|||||||
16
src/test.ts
16
src/test.ts
@@ -1,16 +0,0 @@
|
|||||||
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
|
|
||||||
|
|
||||||
import 'zone.js/testing';
|
|
||||||
import { getTestBed } from '@angular/core/testing';
|
|
||||||
import {
|
|
||||||
BrowserDynamicTestingModule,
|
|
||||||
platformBrowserDynamicTesting
|
|
||||||
} from '@angular/platform-browser-dynamic/testing';
|
|
||||||
|
|
||||||
// First, initialize the Angular testing environment.
|
|
||||||
getTestBed().initTestEnvironment(
|
|
||||||
BrowserDynamicTestingModule,
|
|
||||||
platformBrowserDynamicTesting(), {
|
|
||||||
teardown: { destroyAfterEach: false }
|
|
||||||
}
|
|
||||||
);
|
|
||||||
@@ -3,12 +3,10 @@
|
|||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"outDir": "../out-tsc/spec",
|
"outDir": "../out-tsc/spec",
|
||||||
"types": [
|
"types": [
|
||||||
"jasmine",
|
|
||||||
"node"
|
"node"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"test.ts",
|
|
||||||
"polyfills.ts"
|
"polyfills.ts"
|
||||||
],
|
],
|
||||||
"include": [
|
"include": [
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
{
|
|
||||||
"extends": "../tslint.json",
|
|
||||||
"rules": {
|
|
||||||
"directive-selector": [
|
|
||||||
true,
|
|
||||||
"attribute",
|
|
||||||
"app",
|
|
||||||
"camelCase"
|
|
||||||
],
|
|
||||||
"component-selector": [
|
|
||||||
true,
|
|
||||||
"element",
|
|
||||||
"app",
|
|
||||||
"kebab-case"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -16,10 +16,6 @@
|
|||||||
"typeRoots": [
|
"typeRoots": [
|
||||||
"node_modules/@types"
|
"node_modules/@types"
|
||||||
],
|
],
|
||||||
"lib": [
|
|
||||||
"es2018",
|
|
||||||
"dom"
|
|
||||||
],
|
|
||||||
"paths": {
|
"paths": {
|
||||||
"ng-openlayers": [
|
"ng-openlayers": [
|
||||||
"dist/ng-openlayers"
|
"dist/ng-openlayers"
|
||||||
|
|||||||
Reference in New Issue
Block a user