Compare commits
12 Commits
8ef248b0a7
...
0d78fa29f3
Author | SHA1 | Date | |
---|---|---|---|
|
0d78fa29f3 | ||
|
a892cb890b | ||
|
8a6b376373 | ||
|
80ddf816b0 | ||
|
511f1f4731 | ||
|
a5a7e1ece1 | ||
|
c9d1fba36d | ||
|
ad7cc655d1 | ||
|
34990e5de2 | ||
|
984408cd52 | ||
|
3b1b9c0b98 | ||
|
7f776cf56b |
19
angular.json
19
angular.json
@ -13,6 +13,7 @@
|
|||||||
"build": {
|
"build": {
|
||||||
"builder": "@angular-devkit/build-angular:browser",
|
"builder": "@angular-devkit/build-angular:browser",
|
||||||
"options": {
|
"options": {
|
||||||
|
"aot": true,
|
||||||
"outputPath": "dist/farmmaps-lib-app",
|
"outputPath": "dist/farmmaps-lib-app",
|
||||||
"index": "src/index.html",
|
"index": "src/index.html",
|
||||||
"main": "src/main.ts",
|
"main": "src/main.ts",
|
||||||
@ -67,6 +68,10 @@
|
|||||||
"type": "initial",
|
"type": "initial",
|
||||||
"maximumWarning": "2mb",
|
"maximumWarning": "2mb",
|
||||||
"maximumError": "7mb"
|
"maximumError": "7mb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "anyComponentStyle",
|
||||||
|
"maximumWarning": "6kb"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -160,7 +165,12 @@
|
|||||||
"tsConfig": "projects/common/tsconfig.lib.json",
|
"tsConfig": "projects/common/tsconfig.lib.json",
|
||||||
"project": "projects/common/ng-package.json"
|
"project": "projects/common/ng-package.json"
|
||||||
}
|
}
|
||||||
},
|
, "configurations": {
|
||||||
|
"production": {
|
||||||
|
"tsConfig": "projects/common/tsconfig.lib.prod.json"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"test": {
|
"test": {
|
||||||
"builder": "@angular-devkit/build-angular:karma",
|
"builder": "@angular-devkit/build-angular:karma",
|
||||||
"options": {
|
"options": {
|
||||||
@ -195,7 +205,12 @@
|
|||||||
"tsConfig": "projects/common-map/tsconfig.lib.json",
|
"tsConfig": "projects/common-map/tsconfig.lib.json",
|
||||||
"project": "projects/common-map/ng-package.json"
|
"project": "projects/common-map/ng-package.json"
|
||||||
}
|
}
|
||||||
},
|
, "configurations": {
|
||||||
|
"production": {
|
||||||
|
"tsConfig": "projects/common-map/tsconfig.lib.prod.json"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"test": {
|
"test": {
|
||||||
"builder": "@angular-devkit/build-angular:karma",
|
"builder": "@angular-devkit/build-angular:karma",
|
||||||
"options": {
|
"options": {
|
||||||
|
7709
package-lock.json
generated
7709
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
59
package.json
59
package.json
@ -11,55 +11,58 @@
|
|||||||
},
|
},
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@angular/animations": "~8.2.14",
|
"@angular/animations": "~9.1.0",
|
||||||
"@angular/common": "~8.2.14",
|
"@angular/common": "~9.1.0",
|
||||||
"@angular/compiler": "~8.2.14",
|
"@angular/compiler": "~9.1.0",
|
||||||
"@angular/core": "~8.2.14",
|
"@angular/core": "~9.1.0",
|
||||||
"@angular/forms": "~8.2.14",
|
"@angular/forms": "~9.1.0",
|
||||||
"@angular/platform-browser": "~8.2.14",
|
"@angular/platform-browser": "~9.1.0",
|
||||||
"@angular/platform-browser-dynamic": "~8.2.14",
|
"@angular/platform-browser-dynamic": "~9.1.0",
|
||||||
"@angular/router": "~8.2.14",
|
"@angular/router": "~9.1.0",
|
||||||
"@aspnet/signalr": "^1.1.4",
|
"@aspnet/signalr": "^1.1.4",
|
||||||
"@farmmaps/common": ">=0.0.1-prerelease.226 <0.0.1",
|
"@farmmaps/common": ">=0.0.1-prerelease.226 <0.0.1",
|
||||||
"@farmmaps/common-map": ">=0.0.1-prerelease.226 <0.0.1",
|
"@farmmaps/common-map": ">=0.0.1-prerelease.226 <0.0.1",
|
||||||
"@ng-bootstrap/ng-bootstrap": "^4.2.1",
|
"@ng-bootstrap/ng-bootstrap": "^6.0",
|
||||||
"@ngrx/effects": "^8.6.0",
|
"@ngrx/effects": "^9.0",
|
||||||
"@ngrx/router-store": "^8.6.0",
|
"@ngrx/router-store": "^9.0",
|
||||||
"@ngrx/store": "^8.6.0",
|
"@ngrx/store": "^9.0",
|
||||||
"ngx-uploadx": "^3.3.4",
|
"ngx-uploadx": "^3.3.4",
|
||||||
"angular-oauth2-oidc": "^8.0.2",
|
"angular-oauth2-oidc": "^9.1",
|
||||||
"bootstrap": "^4.4.1",
|
"bootstrap": "^4.4.1",
|
||||||
"core-js": "^2.6.11",
|
"core-js": "^2.6.11",
|
||||||
"font-awesome": "^4.7.0",
|
"font-awesome": "^4.7.0",
|
||||||
"ngrx-store-localstorage": "^8.0.0",
|
"ngrx-store-localstorage": "^9.0",
|
||||||
"resumablejs": "^1.1.0",
|
"resumablejs": "^1.1.0",
|
||||||
"rxjs": "^6.5.4",
|
"rxjs": "^6.5.4",
|
||||||
"tassign": "^1.0.0",
|
"tassign": "^1.0.0",
|
||||||
"zone.js": "~0.9.1"
|
"tslib": "^1.10.0",
|
||||||
|
"zone.js": "~0.10.2",
|
||||||
|
"minimist": "^1.2.3",
|
||||||
|
"ol": "6.1.1"
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@angular-devkit/build-angular": "^0.803.23",
|
"@angular-devkit/build-angular": "~0.901.0",
|
||||||
"@angular-devkit/build-ng-packagr": "^0.803.25",
|
"@angular-devkit/build-ng-packagr": "~0.901.0",
|
||||||
"@angular/cli": "^8.3.25",
|
"@angular/cli": "^9.1.0",
|
||||||
"@angular/compiler-cli": "~8.2.14",
|
"@angular/compiler-cli": "~9.1.0",
|
||||||
"@angular/language-service": "~8.2.14",
|
"@angular/language-service": "~9.1.0",
|
||||||
"@types/jasmine": "~2.8.8",
|
"@types/jasmine": "~2.8.8",
|
||||||
"@types/jasminewd2": "~2.0.3",
|
"@types/jasminewd2": "~2.0.3",
|
||||||
"@types/node": "~8.9.4",
|
"@types/node": "^12.11.1",
|
||||||
"codelyzer": "^5.2.1",
|
"codelyzer": "^5.1.2",
|
||||||
"jasmine-core": "~2.99.1",
|
"jasmine-core": "~2.99.1",
|
||||||
"jasmine-spec-reporter": "~4.2.1",
|
"jasmine-spec-reporter": "~4.2.1",
|
||||||
"karma": "~4.0.0",
|
"karma": "^4.4.1",
|
||||||
"karma-chrome-launcher": "~2.2.0",
|
"karma-chrome-launcher": "~2.2.0",
|
||||||
"karma-coverage-istanbul-reporter": "~2.0.1",
|
"karma-coverage-istanbul-reporter": "~2.0.1",
|
||||||
"karma-jasmine": "~1.1.2",
|
"karma-jasmine": "~1.1.2",
|
||||||
"karma-jasmine-html-reporter": "^0.2.2",
|
"karma-jasmine-html-reporter": "^0.2.2",
|
||||||
"ng-packagr": "^5.4.0",
|
"ng-packagr": "^9.0.0",
|
||||||
"protractor": "^5.4.3",
|
"protractor": "^5.4.3",
|
||||||
"ts-node": "~7.0.0",
|
"ts-node": "^8.8.1",
|
||||||
"tsickle": "^0.37.0",
|
|
||||||
"tslib": "^1.9.0",
|
|
||||||
"tslint": "~5.11.0",
|
"tslint": "~5.11.0",
|
||||||
"typescript": "~3.5.3"
|
"typescript": "~3.8.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
6
projects/common-map/package-lock.json
generated
6
projects/common-map/package-lock.json
generated
@ -48,9 +48,9 @@
|
|||||||
"integrity": "sha1-Hwla1I3Ki/ihyCWOAJIDGkTyLKU="
|
"integrity": "sha1-Hwla1I3Ki/ihyCWOAJIDGkTyLKU="
|
||||||
},
|
},
|
||||||
"protocol-buffers-schema": {
|
"protocol-buffers-schema": {
|
||||||
"version": "3.3.2",
|
"version": "3.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.4.0.tgz",
|
||||||
"integrity": "sha512-Xdayp8sB/mU+sUV4G7ws8xtYMGdQnxbeIfLjyO9TZZRJdztBGhlmbI5x1qcY4TG5hBkIKGnc28i7nXxaugu88w=="
|
"integrity": "sha512-G/2kcamPF2S49W5yaMGdIpkG6+5wZF0fzBteLKgEHjbNzqjZQ85aAs1iJGto31EJaSTkNvHs5IXuHSaTLWBAiA=="
|
||||||
},
|
},
|
||||||
"quickselect": {
|
"quickselect": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
|
@ -4,17 +4,15 @@
|
|||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "https://repository.akkerweb.nl/repository/npm-hosted/"
|
"registry": "https://repository.akkerweb.nl/repository/npm-hosted/"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"peerDependencies": {
|
||||||
|
"@angular/core": "^9.1.0",
|
||||||
|
"ngrx-store-localstorage": "^9.0",
|
||||||
|
"@ngrx/effects": "^9.0",
|
||||||
|
"@ngrx/router-store": "^9.0",
|
||||||
|
"@ngrx/store": "^9.0",
|
||||||
|
"tassign": "^1.0.0",
|
||||||
|
"@farmmaps/common": ">=0.0.1-prerelease.181 <0.0.1",
|
||||||
"ngx-openlayers": "1.0.0-next.13",
|
"ngx-openlayers": "1.0.0-next.13",
|
||||||
"ol": "6.1.1"
|
"ol": "6.1.1"
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"@angular/core": "^8.2.0",
|
|
||||||
"ngrx-store-localstorage": "^8.0.0",
|
|
||||||
"@ngrx/effects": "^8.2",
|
|
||||||
"@ngrx/router-store": "^8.2",
|
|
||||||
"@ngrx/store": "^8.2",
|
|
||||||
"tassign": "^1.0.0",
|
|
||||||
"@farmmaps/common": ">=0.0.1-prerelease.181 <0.0.1"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -251,7 +251,7 @@ export {
|
|||||||
|
|
||||||
|
|
||||||
export class AppCommonMapModule {
|
export class AppCommonMapModule {
|
||||||
static forRoot(): ModuleWithProviders {
|
static forRoot(): ModuleWithProviders<AppCommonMapModule> {
|
||||||
return {
|
return {
|
||||||
ngModule: AppCommonMapModule,
|
ngModule: AppCommonMapModule,
|
||||||
providers: [
|
providers: [
|
||||||
|
@ -20,8 +20,8 @@ import * as style from 'ol/style';
|
|||||||
})
|
})
|
||||||
export class FeatureListFeatureCropfieldComponent extends AbstractFeatureListFeatureComponent implements AfterViewInit {
|
export class FeatureListFeatureCropfieldComponent extends AbstractFeatureListFeatureComponent implements AfterViewInit {
|
||||||
|
|
||||||
@ViewChild('canvas', { static: false }) canvas;
|
@ViewChild('canvas') canvas;
|
||||||
@ViewChild('container', { static: false }) container;
|
@ViewChild('container') container;
|
||||||
|
|
||||||
constructor(store: Store<mapReducers.State | commonReducers.State>, itemTypeService: ItemTypeService,config:AppConfig) {
|
constructor(store: Store<mapReducers.State | commonReducers.State>, itemTypeService: ItemTypeService,config:AppConfig) {
|
||||||
super(store, itemTypeService,config);
|
super(store, itemTypeService,config);
|
||||||
|
@ -1,28 +1,29 @@
|
|||||||
import { Component, Input, Injectable} from '@angular/core';
|
import { Component, Input, Injectable,Directive} from '@angular/core';
|
||||||
import { Feature } from 'ol';
|
import { Feature } from 'ol';
|
||||||
import { Store } from '@ngrx/store';
|
import { Store } from '@ngrx/store';
|
||||||
import * as mapReducers from '../../reducers/map.reducer';
|
import * as mapReducers from '../../reducers/map.reducer';
|
||||||
import { commonReducers,ItemTypeService,AppConfig } from '@farmmaps/common';
|
import { commonReducers,ItemTypeService,AppConfig } from '@farmmaps/common';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export abstract class AbstractFeatureListFeatureComponent {
|
@Directive()
|
||||||
@Input() feature: Feature
|
export abstract class AbstractFeatureListFeatureComponent {
|
||||||
|
@Input() feature: Feature
|
||||||
constructor(public store: Store<mapReducers.State | commonReducers.State>, public itemTypeService: ItemTypeService,public config:AppConfig) {
|
|
||||||
}
|
constructor(public store: Store<mapReducers.State | commonReducers.State>, public itemTypeService: ItemTypeService,public config:AppConfig) {
|
||||||
}
|
}
|
||||||
|
}
|
||||||
@Injectable()
|
|
||||||
@Component({
|
@Injectable()
|
||||||
selector: 'fm-map-feature-list-feature',
|
@Component({
|
||||||
templateUrl: './feature-list-feature.component.html',
|
selector: 'fm-map-feature-list-feature',
|
||||||
styleUrls: ['./feature-list-feature.component.scss']
|
templateUrl: './feature-list-feature.component.html',
|
||||||
})
|
styleUrls: ['./feature-list-feature.component.scss']
|
||||||
export class FeatureListFeatureComponent extends AbstractFeatureListFeatureComponent {
|
})
|
||||||
|
export class FeatureListFeatureComponent extends AbstractFeatureListFeatureComponent {
|
||||||
constructor(store: Store<mapReducers.State | commonReducers.State>, itemTypeService: ItemTypeService, config:AppConfig) {
|
|
||||||
super(store, itemTypeService,config);
|
constructor(store: Store<mapReducers.State | commonReducers.State>, itemTypeService: ItemTypeService, config:AppConfig) {
|
||||||
}
|
super(store, itemTypeService,config);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { Component, Input, Injectable } from '@angular/core';
|
import { Component, Input, Injectable,Directive } from '@angular/core';
|
||||||
import { Location } from '@angular/common';
|
import { Location } from '@angular/common';
|
||||||
import { Feature } from 'ol';
|
import { Feature } from 'ol';
|
||||||
import { Store } from '@ngrx/store';
|
import { Store } from '@ngrx/store';
|
||||||
@ -12,6 +12,7 @@ import { IQueryState } from '@farmmaps/common';
|
|||||||
|
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
|
@Directive()
|
||||||
export abstract class AbstractFeatureListComponent {
|
export abstract class AbstractFeatureListComponent {
|
||||||
@Input() features: Array<Feature>;
|
@Input() features: Array<Feature>;
|
||||||
@Input() queryState: IQueryState;
|
@Input() queryState: IQueryState;
|
||||||
|
@ -1,35 +1,37 @@
|
|||||||
import { Component, Input, Injectable} from '@angular/core';
|
import { Component, Input, Injectable,Directive} from '@angular/core';
|
||||||
import { Store } from '@ngrx/store';
|
import { Store } from '@ngrx/store';
|
||||||
import * as mapReducers from '../../reducers/map.reducer';
|
import * as mapReducers from '../../reducers/map.reducer';
|
||||||
import { commonReducers,ItemTypeService,IListItem } from '@farmmaps/common';
|
import { commonReducers,ItemTypeService,IListItem } from '@farmmaps/common';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export abstract class AbstractItemListItemComponent {
|
@Directive()
|
||||||
@Input() item: IListItem
|
export abstract class AbstractItemListItemComponent {
|
||||||
|
@Input() item: IListItem
|
||||||
constructor(public store: Store<mapReducers.State | commonReducers.State>, public itemTypeService: ItemTypeService) {
|
|
||||||
}
|
constructor(public store: Store<mapReducers.State | commonReducers.State>, public itemTypeService: ItemTypeService) {
|
||||||
}
|
}
|
||||||
|
}
|
||||||
@Injectable()
|
|
||||||
export abstract class AbstractItemWidgetComponent {
|
@Injectable()
|
||||||
@Input() item: IListItem
|
@Directive()
|
||||||
|
export abstract class AbstractItemWidgetComponent {
|
||||||
constructor(public store: Store<mapReducers.State | commonReducers.State>, public itemTypeService: ItemTypeService) {
|
@Input() item: IListItem
|
||||||
}
|
|
||||||
}
|
constructor(public store: Store<mapReducers.State | commonReducers.State>, public itemTypeService: ItemTypeService) {
|
||||||
|
}
|
||||||
@Injectable()
|
}
|
||||||
@Component({
|
|
||||||
selector: 'fm-map-item-list-item',
|
@Injectable()
|
||||||
templateUrl: './item-list-item.component.html',
|
@Component({
|
||||||
styleUrls: ['./item-list-item.component.scss']
|
selector: 'fm-map-item-list-item',
|
||||||
})
|
templateUrl: './item-list-item.component.html',
|
||||||
export class ItemListItemComponent extends AbstractItemListItemComponent {
|
styleUrls: ['./item-list-item.component.scss']
|
||||||
|
})
|
||||||
constructor(store: Store<mapReducers.State | commonReducers.State>, itemTypeService: ItemTypeService) {
|
export class ItemListItemComponent extends AbstractItemListItemComponent {
|
||||||
super(store, itemTypeService);
|
|
||||||
}
|
constructor(store: Store<mapReducers.State | commonReducers.State>, itemTypeService: ItemTypeService) {
|
||||||
}
|
super(store, itemTypeService);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { Component, Input, Injectable } from '@angular/core';
|
import { Component, Input, Injectable, Directive } from '@angular/core';
|
||||||
import { Location } from '@angular/common';
|
import { Location } from '@angular/common';
|
||||||
import { Store } from '@ngrx/store';
|
import { Store } from '@ngrx/store';
|
||||||
import * as mapReducers from '../../reducers/map.reducer';
|
import * as mapReducers from '../../reducers/map.reducer';
|
||||||
@ -8,6 +8,7 @@ import { tassign } from 'tassign';
|
|||||||
|
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
|
@Directive()
|
||||||
export abstract class AbstractItemListComponent {
|
export abstract class AbstractItemListComponent {
|
||||||
@Input() items: Array<IListItem>
|
@Input() items: Array<IListItem>
|
||||||
constructor(public store: Store<mapReducers.State | commonReducers.State>, public itemTypeService: ItemTypeService, private location: Location) {
|
constructor(public store: Store<mapReducers.State | commonReducers.State>, public itemTypeService: ItemTypeService, private location: Location) {
|
||||||
|
@ -79,7 +79,7 @@ export class MapComponent implements OnInit, OnDestroy,AfterViewInit {
|
|||||||
public styles$:Observable<IStyles> = this.store.select(mapReducers.selectGetStyles);
|
public styles$:Observable<IStyles> = this.store.select(mapReducers.selectGetStyles);
|
||||||
private setStateCount$:Observable<number> = this.store.select(mapReducers.selectgetSetStateCount);
|
private setStateCount$:Observable<number> = this.store.select(mapReducers.selectgetSetStateCount);
|
||||||
|
|
||||||
@ViewChild('map', { static: false }) map;
|
@ViewChild('map') map;
|
||||||
|
|
||||||
constructor(private store: Store<mapReducers.State | commonReducers.State>,
|
constructor(private store: Store<mapReducers.State | commonReducers.State>,
|
||||||
private route: ActivatedRoute,
|
private route: ActivatedRoute,
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import {Component, Injectable, Input} from '@angular/core';
|
import {Component, Injectable, Input, Directive} from '@angular/core';
|
||||||
import {Location} from '@angular/common';
|
import {Location} from '@angular/common';
|
||||||
import {Store} from '@ngrx/store';
|
import {Store} from '@ngrx/store';
|
||||||
import * as mapReducers from '../../reducers/map.reducer';
|
import * as mapReducers from '../../reducers/map.reducer';
|
||||||
@ -9,6 +9,7 @@ import { IItemLayer } from '../../models/item.layer';
|
|||||||
|
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
|
@Directive()
|
||||||
export abstract class AbstractSelectedItemComponent {
|
export abstract class AbstractSelectedItemComponent {
|
||||||
@Input() item: IItem
|
@Input() item: IItem
|
||||||
@Input() itemLayer: IItemLayer;
|
@Input() itemLayer: IItemLayer;
|
||||||
|
@ -18,12 +18,12 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"angularCompilerOptions": {
|
"angularCompilerOptions": {
|
||||||
"annotateForClosureCompiler": true,
|
|
||||||
"skipTemplateCodegen": true,
|
"skipTemplateCodegen": true,
|
||||||
"strictMetadataEmit": true,
|
"strictMetadataEmit": true,
|
||||||
"fullTemplateTypeCheck": true,
|
"fullTemplateTypeCheck": true,
|
||||||
"strictInjectionParameters": true,
|
"strictInjectionParameters": true,
|
||||||
"enableResourceInlining": true
|
"enableResourceInlining": true,
|
||||||
|
"enableIvy": false
|
||||||
},
|
},
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"src/test.ts",
|
"src/test.ts",
|
||||||
|
@ -5,18 +5,18 @@
|
|||||||
"registry": "https://repository.akkerweb.nl/repository/npm-hosted/"
|
"registry": "https://repository.akkerweb.nl/repository/npm-hosted/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@ng-bootstrap/ng-bootstrap": "^4.2.1",
|
"@ng-bootstrap/ng-bootstrap": "^6.0",
|
||||||
"@angular/common": "^8.2.0",
|
"@angular/common": "~9.1.0",
|
||||||
"@angular/core": "^8.2.0",
|
"@angular/core": "~9.1.0",
|
||||||
"@angular/forms": "^8.2.0",
|
"@angular/forms": "~9.1.0",
|
||||||
"@ngrx/effects": "^8.2",
|
"@ngrx/effects": "^9.0",
|
||||||
"@ngrx/router-store": "^8.2",
|
"@ngrx/router-store": "^9.0",
|
||||||
"@ngrx/store": "^8.2",
|
"@ngrx/store": "^9.0",
|
||||||
"tassign": "^1.0.0",
|
"tassign": "^1.0.0",
|
||||||
"bootstrap": "^4.3.1",
|
"bootstrap": "^4.4.1",
|
||||||
"@aspnet/signalr": "^1.1.4",
|
"@aspnet/signalr": "^1.1.4",
|
||||||
"font-awesome": "^4.7.0",
|
"font-awesome": "^4.7.0",
|
||||||
"ngx-uploadx": "^3.3.2",
|
"ngx-uploadx": "^3.3.4",
|
||||||
"angular-oauth2-oidc": "^8.0.2"
|
"angular-oauth2-oidc": "^9.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -62,7 +62,7 @@ export class AppCommonServiceModule {
|
|||||||
'AppCommonServiceModule is already loaded. Import it in the AppModule only');
|
'AppCommonServiceModule is already loaded. Import it in the AppModule only');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
static forRoot(): ModuleWithProviders {
|
static forRoot(): ModuleWithProviders<AppCommonServiceModule> {
|
||||||
return {
|
return {
|
||||||
ngModule: AppCommonServiceModule,
|
ngModule: AppCommonServiceModule,
|
||||||
providers: [
|
providers: [
|
||||||
|
@ -13,7 +13,7 @@ export class SidePanelComponent implements OnChanges {
|
|||||||
@Input() public collapsable: boolean;
|
@Input() public collapsable: boolean;
|
||||||
@Input() public resizeable: boolean = false;
|
@Input() public resizeable: boolean = false;
|
||||||
@Input() public left: boolean = false;
|
@Input() public left: boolean = false;
|
||||||
@ViewChild("resizeGrip", { static: false }) elementView: ElementRef;
|
@ViewChild("resizeGrip") elementView: ElementRef;
|
||||||
public mobile:boolean = true;
|
public mobile:boolean = true;
|
||||||
private parentHeight:number = 0;
|
private parentHeight:number = 0;
|
||||||
public top = "100%";
|
public top = "100%";
|
||||||
|
@ -38,24 +38,19 @@ export class AuthGuard implements CanActivate, CanLoad, CanActivateChild {
|
|||||||
|
|
||||||
checkLogin(url: string): boolean {
|
checkLogin(url: string): boolean {
|
||||||
if (!this.oauthService.hasValidAccessToken()) {
|
if (!this.oauthService.hasValidAccessToken()) {
|
||||||
this.oauthService.responseType
|
if(this.oauthService.getRefreshToken() != null ) {
|
||||||
if(this.oauthService.responseType == "code")
|
this.oauthService.refreshToken().then(() => {
|
||||||
if(this.oauthService.getRefreshToken() != null ) {
|
this.store.dispatch(new appCommonActions.InitUser());
|
||||||
this.oauthService.refreshToken().then(() => {
|
return true;
|
||||||
this.store.dispatch(new appCommonActions.InitUser());
|
}).catch(() => {
|
||||||
return true;
|
|
||||||
}).catch(() => {
|
|
||||||
this.oauthService.initCodeFlow(url);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
)
|
|
||||||
} else {
|
|
||||||
this.oauthService.initCodeFlow(url);
|
this.oauthService.initCodeFlow(url);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else
|
)
|
||||||
this.oauthService.initImplicitFlow(url);
|
} else {
|
||||||
|
this.oauthService.initCodeFlow(url);
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
this.store.dispatch(new appCommonActions.InitUser());
|
this.store.dispatch(new appCommonActions.InitUser());
|
||||||
return true;
|
return true;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { Injector } from '@angular/core';
|
import { Injector } from '@angular/core';
|
||||||
import { Location} from '@angular/common';
|
import { Location} from '@angular/common';
|
||||||
import { Router,UrlSerializer } from '@angular/router';
|
import { Router,UrlSerializer } from '@angular/router';
|
||||||
import { AuthConfig, OAuthService, JwksValidationHandler, OAuthErrorEvent, OAuthStorage } from 'angular-oauth2-oidc';
|
import { AuthConfig, OAuthService, OAuthErrorEvent, OAuthStorage } from 'angular-oauth2-oidc';
|
||||||
import { AppConfig } from "./app.config";
|
import { AppConfig } from "./app.config";
|
||||||
import {ItemTypeService} from '../services/itemtype.service';
|
import {ItemTypeService} from '../services/itemtype.service';
|
||||||
import { IAuthconfigFactory } from './authconfigFactory';
|
import { IAuthconfigFactory } from './authconfigFactory';
|
||||||
@ -26,21 +26,12 @@ export function appConfigFactory(injector:Injector, appConfig: AppConfig, oauthS
|
|||||||
});
|
});
|
||||||
oauthService.configure(authconfigFactory.getAuthConfig(appConfig));
|
oauthService.configure(authconfigFactory.getAuthConfig(appConfig));
|
||||||
oauthService.setStorage(authStorage);
|
oauthService.setStorage(authStorage);
|
||||||
oauthService.tokenValidationHandler = new JwksValidationHandler();
|
|
||||||
oauthService.tokenValidationHandler.validateAtHash = function () {
|
|
||||||
return new Promise<boolean>((res) => { res(true); })
|
|
||||||
};
|
|
||||||
oauthService.setupAutomaticSilentRefresh();
|
oauthService.setupAutomaticSilentRefresh();
|
||||||
let location = injector.get(Location);
|
let location = injector.get(Location);
|
||||||
let router = injector.get(Router);
|
let router = injector.get(Router);
|
||||||
let urlPath = location.path();
|
|
||||||
oauthService.loadDiscoveryDocument().then(() => {
|
oauthService.loadDiscoveryDocument().then(() => {
|
||||||
oauthService.tryLogin({
|
oauthService.tryLoginCodeFlow().then(() => {
|
||||||
onTokenReceived: (info) => {
|
router.navigateByUrl(decodeURIComponent(oauthService.state));
|
||||||
urlPath = info.state;
|
|
||||||
}
|
|
||||||
}).then(() => {
|
|
||||||
router.navigateByUrl(urlPath);
|
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
|
@ -1,39 +1,39 @@
|
|||||||
{
|
{
|
||||||
"extends": "../../tsconfig.json",
|
"extends": "../../tsconfig.json",
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"outDir": "../../out-tsc/lib",
|
"outDir": "../../out-tsc/lib",
|
||||||
"target": "es2015",
|
"target": "es2015",
|
||||||
"module": "es2015",
|
"module": "es2015",
|
||||||
"moduleResolution": "node",
|
"moduleResolution": "node",
|
||||||
"declaration": true,
|
"declaration": true,
|
||||||
"sourceMap": true,
|
"sourceMap": true,
|
||||||
"inlineSources": true,
|
"inlineSources": true,
|
||||||
"emitDecoratorMetadata": true,
|
"emitDecoratorMetadata": true,
|
||||||
"experimentalDecorators": true,
|
"experimentalDecorators": true,
|
||||||
"importHelpers": true,
|
"importHelpers": true,
|
||||||
"types": [],
|
"types": [],
|
||||||
"lib": [
|
"lib": [
|
||||||
"dom",
|
"dom",
|
||||||
"es2018"
|
"es2018"
|
||||||
],
|
],
|
||||||
"paths": {
|
"paths": {
|
||||||
"@angular/*": [
|
"@angular/*": [
|
||||||
|
|
||||||
"node_modules/@angular/*"
|
"node_modules/@angular/*"
|
||||||
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"angularCompilerOptions": {
|
"angularCompilerOptions": {
|
||||||
"annotateForClosureCompiler": true,
|
"skipTemplateCodegen": true,
|
||||||
"skipTemplateCodegen": true,
|
"strictMetadataEmit": true,
|
||||||
"strictMetadataEmit": true,
|
"fullTemplateTypeCheck": true,
|
||||||
"fullTemplateTypeCheck": true,
|
"strictInjectionParameters": true,
|
||||||
"strictInjectionParameters": true,
|
"enableResourceInlining": true,
|
||||||
"enableResourceInlining": true
|
"enableIvy": false
|
||||||
},
|
},
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"src/test.ts",
|
"src/test.ts",
|
||||||
"**/*.spec.ts"
|
"**/*.spec.ts"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -61,7 +61,12 @@ export function provideBootstrapEffects(effects: Type<any>[]) {
|
|||||||
AppCommonServiceModule.forRoot(),
|
AppCommonServiceModule.forRoot(),
|
||||||
AppCommonMapModule.forRoot(),
|
AppCommonMapModule.forRoot(),
|
||||||
BrowserModule,
|
BrowserModule,
|
||||||
StoreModule.forRoot({}),
|
StoreModule.forRoot({},{runtimeChecks: { // TODO fix this should all be true
|
||||||
|
strictStateImmutability: false,
|
||||||
|
strictActionImmutability: false,
|
||||||
|
strictStateSerializability: false,
|
||||||
|
strictActionSerializability: false
|
||||||
|
}}),
|
||||||
EffectsModule.forRoot([])
|
EffectsModule.forRoot([])
|
||||||
],
|
],
|
||||||
providers: [
|
providers: [
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
import { IAuthconfigFactory, AppConfig } from '@farmmaps/common';
|
import { IAuthconfigFactory, AppConfig } from '@farmmaps/common';
|
||||||
import { AuthConfig } from 'angular-oauth2-oidc';
|
import { AuthConfig } from 'angular-oauth2-oidc';
|
||||||
|
import { Injectable } from "@angular/core";
|
||||||
|
|
||||||
|
@Injectable()
|
||||||
export class Id4AuthconfigFactory implements IAuthconfigFactory {
|
export class Id4AuthconfigFactory implements IAuthconfigFactory {
|
||||||
constructor() {
|
constructor() {
|
||||||
|
|
||||||
|
@ -1,11 +1,17 @@
|
|||||||
{
|
{
|
||||||
"extends": "../tsconfig.json",
|
"extends": "../tsconfig.json",
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"outDir": "../out-tsc/app",
|
"outDir": "../out-tsc/app",
|
||||||
"types": []
|
"types": []
|
||||||
},
|
},
|
||||||
"exclude": [
|
"files": [
|
||||||
"test.ts",
|
"main.ts",
|
||||||
"**/*.spec.ts"
|
"polyfills.ts"
|
||||||
]
|
],
|
||||||
}
|
"include": [
|
||||||
|
"src/**/*.d.ts"
|
||||||
|
],
|
||||||
|
"angularCompilerOptions": {
|
||||||
|
"enableIvy": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user