Revision 61424
Added by Stefania Martziou almost 3 years ago
modules/uoa-repository-dashboard-gui/trunk/src/browserslist | ||
---|---|---|
1 |
# This file is currently used by autoprefixer to adjust CSS to support the below specified browsers |
|
2 |
# For additional information regarding the format and rule options, please see: |
|
3 |
# https://github.com/browserslist/browserslist#queries |
|
4 |
# For IE 9-11 support, please uncomment the last line of the file and adjust as needed |
|
5 |
> 0.5% |
|
6 |
last 2 versions |
|
7 |
Firefox ESR |
|
8 |
not dead |
|
9 |
# IE 9-11 |
|
10 | 0 |
modules/uoa-repository-dashboard-gui/trunk/angular.json | ||
---|---|---|
33 | 33 |
"src/assets/js/altair_admin_common.min.js", |
34 | 34 |
"src/assets/js/common.min.js", |
35 | 35 |
"src/assets/js/pages/forms_wizard.js" |
36 |
] |
|
36 |
], |
|
37 |
"vendorChunk": true, |
|
38 |
"extractLicenses": false, |
|
39 |
"buildOptimizer": false, |
|
40 |
"sourceMap": true, |
|
41 |
"optimization": false, |
|
42 |
"namedChunks": true |
|
37 | 43 |
}, |
38 | 44 |
"configurations": { |
39 | 45 |
"production": { |
46 |
"budgets": [ |
|
47 |
{ |
|
48 |
"type": "anyComponentStyle", |
|
49 |
"maximumWarning": "6kb" |
|
50 |
} |
|
51 |
], |
|
40 | 52 |
"fileReplacements": [ |
41 | 53 |
{ |
42 | 54 |
"replace": "src/environments/environment.ts", |
... | ... | |
46 | 58 |
"optimization": true, |
47 | 59 |
"outputHashing": "all", |
48 | 60 |
"sourceMap": false, |
49 |
"extractCss": true, |
|
50 | 61 |
"namedChunks": false, |
51 |
"aot": true, |
|
52 | 62 |
"extractLicenses": true, |
53 | 63 |
"vendorChunk": false, |
54 | 64 |
"buildOptimizer": true |
55 | 65 |
}, |
56 | 66 |
"beta": { |
67 |
"budgets": [ |
|
68 |
{ |
|
69 |
"type": "anyComponentStyle", |
|
70 |
"maximumWarning": "6kb" |
|
71 |
} |
|
72 |
], |
|
57 | 73 |
"fileReplacements": [ |
58 | 74 |
{ |
59 | 75 |
"replace": "src/environments/environment.ts", |
... | ... | |
63 | 79 |
"optimization": true, |
64 | 80 |
"outputHashing": "all", |
65 | 81 |
"sourceMap": false, |
66 |
"extractCss": true, |
|
67 | 82 |
"namedChunks": false, |
68 |
"aot": true, |
|
69 | 83 |
"extractLicenses": true, |
70 | 84 |
"vendorChunk": false, |
71 | 85 |
"buildOptimizer": true |
72 | 86 |
} |
73 |
} |
|
87 |
}, |
|
88 |
"defaultConfiguration": "" |
|
74 | 89 |
}, |
75 | 90 |
"serve": { |
76 | 91 |
"builder": "@angular-devkit/build-angular:dev-server", |
modules/uoa-repository-dashboard-gui/trunk/src/polyfills.ts | ||
---|---|---|
11 | 11 |
* automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), |
12 | 12 |
* Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. |
13 | 13 |
* |
14 |
* Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html
|
|
14 |
* Learn more in https://angular.io/guide/browser-support
|
|
15 | 15 |
*/ |
16 | 16 |
|
17 | 17 |
/*************************************************************************************************** |
18 | 18 |
* BROWSER POLYFILLS |
19 | 19 |
*/ |
20 | 20 |
|
21 |
/** IE9, IE10 and IE11 requires all of the following polyfills. **/ |
|
22 |
import 'core-js/es6/symbol'; |
|
23 |
import 'core-js/es6/object'; |
|
24 |
import 'core-js/es6/function'; |
|
25 |
import 'core-js/es6/parse-int'; |
|
26 |
import 'core-js/es6/parse-float'; |
|
27 |
import 'core-js/es6/number'; |
|
28 |
import 'core-js/es6/math'; |
|
29 |
import 'core-js/es6/string'; |
|
30 |
import 'core-js/es6/date'; |
|
31 |
import 'core-js/es6/array'; |
|
32 |
import 'core-js/es6/regexp'; |
|
33 |
import 'core-js/es6/map'; |
|
34 |
import 'core-js/es6/weak-map'; |
|
35 |
import 'core-js/es6/set'; |
|
36 |
|
|
37 | 21 |
/** IE10 and IE11 requires the following for NgClass support on SVG elements */ |
38 | 22 |
// import 'classlist.js'; // Run `npm install --save classlist.js`. |
39 | 23 |
|
40 |
/** IE10 and IE11 requires the following for the Reflect API. */ |
|
41 |
import 'core-js/es6/reflect'; |
|
42 |
|
|
43 |
|
|
44 |
/** Evergreen browsers require these. **/ |
|
45 |
// Used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove. |
|
46 |
import 'core-js/es7/reflect'; |
|
47 |
|
|
48 |
|
|
49 | 24 |
/** |
50 | 25 |
* Web Animations `@angular/platform-browser/animations` |
51 | 26 |
* Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. |
52 | 27 |
* Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). |
53 |
**/
|
|
28 |
*/ |
|
54 | 29 |
// import 'web-animations-js'; // Run `npm install --save web-animations-js`. |
55 | 30 |
|
56 | 31 |
/** |
57 | 32 |
* By default, zone.js will patch all possible macroTask and DomEvents |
58 | 33 |
* user can disable parts of macroTask/DomEvents patch by setting following flags |
34 |
* because those flags need to be set before `zone.js` being loaded, and webpack |
|
35 |
* will put import in the top of bundle, so user need to create a separate file |
|
36 |
* in this directory (for example: zone-flags.ts), and put the following flags |
|
37 |
* into that file, and then add the following code before importing zone.js. |
|
38 |
* import './zone-flags.ts'; |
|
39 |
* |
|
40 |
* The flags allowed in zone-flags.ts are listed here. |
|
41 |
* |
|
42 |
* The following flags will work for all browsers. |
|
43 |
* |
|
44 |
* (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame |
|
45 |
* (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick |
|
46 |
* (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames |
|
47 |
* |
|
48 |
* in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js |
|
49 |
* with the following flag, it will bypass `zone.js` patch for IE/Edge |
|
50 |
* |
|
51 |
* (window as any).__Zone_enable_cross_context_check = true; |
|
52 |
* |
|
59 | 53 |
*/ |
60 | 54 |
|
61 |
// (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame |
|
62 |
// (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick |
|
63 |
// (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames |
|
64 |
|
|
65 |
/* |
|
66 |
* in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js |
|
67 |
* with the following flag, it will bypass `zone.js` patch for IE/Edge |
|
68 |
*/ |
|
69 |
// (window as any).__Zone_enable_cross_context_check = true; |
|
70 |
|
|
71 | 55 |
/*************************************************************************************************** |
72 | 56 |
* Zone JS is required by default for Angular itself. |
73 | 57 |
*/ |
74 |
import 'zone.js/dist/zone'; // Included with Angular CLI.
|
|
58 |
import 'zone.js'; // Included with Angular CLI. |
|
75 | 59 |
|
76 | 60 |
|
77 |
|
|
78 | 61 |
/*************************************************************************************************** |
79 | 62 |
* APPLICATION IMPORTS |
80 | 63 |
*/ |
modules/uoa-repository-dashboard-gui/trunk/src/test.ts | ||
---|---|---|
1 | 1 |
// This file is required by karma.conf.js and loads recursively all the .spec and framework files |
2 | 2 |
|
3 |
import 'zone.js/dist/zone-testing';
|
|
3 |
import 'zone.js/testing'; |
|
4 | 4 |
import { getTestBed } from '@angular/core/testing'; |
5 | 5 |
import { |
6 | 6 |
BrowserDynamicTestingModule, |
modules/uoa-repository-dashboard-gui/trunk/package.json | ||
---|---|---|
3 | 3 |
"version": "0.0.0", |
4 | 4 |
"scripts": { |
5 | 5 |
"ng": "ng", |
6 |
"start": "ng serve", |
|
6 |
"start": "ng serve --proxy-config proxy.conf.json",
|
|
7 | 7 |
"start:proxy": "ng serve --proxy-config proxy.conf.json", |
8 |
"build": "rm -rf dist; ng build --prod",
|
|
8 |
"build": "rm -rf dist; ng build --configuration production",
|
|
9 | 9 |
"test": "ng test", |
10 | 10 |
"lint": "ng lint", |
11 | 11 |
"e2e": "ng e2e" |
12 | 12 |
}, |
13 | 13 |
"private": true, |
14 | 14 |
"dependencies": { |
15 |
"@angular/animations": "^6.0.3", |
|
16 |
"@angular/common": "^6.0.3", |
|
17 |
"@angular/compiler": "^6.0.3", |
|
18 |
"@angular/core": "^6.0.3", |
|
19 |
"@angular/forms": "^6.0.3", |
|
20 |
"@angular/http": "^6.0.3", |
|
21 |
"@angular/platform-browser": "^6.0.3", |
|
22 |
"@angular/platform-browser-dynamic": "^6.0.3", |
|
23 |
"@angular/router": "^6.0.3", |
|
15 |
"@angular/animations": "12.1.2", |
|
16 |
"@angular/common": "12.1.2", |
|
17 |
"@angular/compiler": "12.1.2", |
|
18 |
"@angular/core": "12.1.2", |
|
19 |
"@angular/forms": "12.1.2", |
|
20 |
"@angular/platform-browser": "12.1.2", |
|
21 |
"@angular/platform-browser-dynamic": "^12.1.2", |
|
22 |
"@angular/router": "12.1.2", |
|
24 | 23 |
"altair": "^1.0.0", |
25 |
"angular2-cookie-law": "^6.0.4", |
|
26 | 24 |
"bootstrap": "^4.1.3", |
27 | 25 |
"core-js": "^2.5.4", |
28 |
"highcharts": "^7.2.1",
|
|
29 |
"highcharts-angular": "^2.4.0",
|
|
26 |
"highcharts": "^9.1.2",
|
|
27 |
"highcharts-angular": "^2.10.0",
|
|
30 | 28 |
"jquery": "^3.4.1", |
31 | 29 |
"jquery-bez": "^1.0.11", |
32 |
"ngx-bootstrap": "^3.0.1", |
|
33 |
"ngx-matomo": "^0.1.2", |
|
34 |
"rxjs": "6.3.3", |
|
30 |
"ngx-bootstrap": "^4.3.0", |
|
31 |
"ngx-matomo": "1.0.0-rc.0", |
|
32 |
"rxjs": "6.6.7", |
|
33 |
"tslib": "^2.0.0", |
|
35 | 34 |
"uikit": "^3.0.0-rc.19", |
36 |
"zone.js": "^0.8.26"
|
|
35 |
"zone.js": "~0.11.4"
|
|
37 | 36 |
}, |
38 | 37 |
"devDependencies": { |
39 |
"@angular-devkit/build-angular": "~0.6.8",
|
|
40 |
"@angular/cli": "~6.0.8",
|
|
41 |
"@angular/compiler-cli": "^6.0.3",
|
|
42 |
"@angular/language-service": "^6.0.3",
|
|
43 |
"@types/jasmine": "~2.8.6",
|
|
38 |
"@angular-devkit/build-angular": "~12.1.2",
|
|
39 |
"@angular/cli": "~12.1.2",
|
|
40 |
"@angular/compiler-cli": "^12.1.2",
|
|
41 |
"@angular/language-service": "^12.1.2",
|
|
42 |
"@types/jasmine": "~3.6.0",
|
|
44 | 43 |
"@types/jasminewd2": "~2.0.3", |
45 |
"@types/node": "~8.9.4", |
|
46 |
"node-sass": "^4.0.0", |
|
47 |
"codelyzer": "~4.2.1", |
|
48 |
"jasmine-core": "~2.99.1", |
|
49 |
"jasmine-spec-reporter": "~4.2.1", |
|
50 |
"karma": "~4.0.0", |
|
51 |
"karma-chrome-launcher": "~2.2.0", |
|
52 |
"karma-coverage-istanbul-reporter": "~2.0.0", |
|
53 |
"karma-jasmine": "~1.1.1", |
|
54 |
"karma-jasmine-html-reporter": "^0.2.2", |
|
55 |
"protractor": "^5.4.1", |
|
44 |
"@types/node": "^12.11.1", |
|
45 |
"codelyzer": "^6.0.0", |
|
46 |
"jasmine-core": "~3.6.0", |
|
47 |
"jasmine-spec-reporter": "~5.0.0", |
|
48 |
"karma": "~6.3.4", |
|
49 |
"karma-chrome-launcher": "~3.1.0", |
|
50 |
"karma-coverage-istanbul-reporter": "~3.0.2", |
|
51 |
"karma-jasmine": "~4.0.0", |
|
52 |
"karma-jasmine-html-reporter": "^1.5.0", |
|
53 |
"protractor": "~7.0.0", |
|
56 | 54 |
"ts-node": "~5.0.1", |
57 |
"tslint": "~5.9.1",
|
|
58 |
"typescript": "~2.7.2"
|
|
55 |
"tslint": "~6.1.0",
|
|
56 |
"typescript": "~4.3.5"
|
|
59 | 57 |
} |
60 | 58 |
} |
modules/uoa-repository-dashboard-gui/trunk/tsconfig.json | ||
---|---|---|
2 | 2 |
"compileOnSave": false, |
3 | 3 |
"compilerOptions": { |
4 | 4 |
"baseUrl": "./", |
5 |
"downlevelIteration": true, |
|
6 |
"module": "es2020", |
|
5 | 7 |
"outDir": "./dist/out-tsc", |
6 | 8 |
"sourceMap": true, |
7 | 9 |
"declaration": false, |
8 | 10 |
"moduleResolution": "node", |
9 |
"emitDecoratorMetadata": true, |
|
10 | 11 |
"experimentalDecorators": true, |
11 |
"target": "es5", |
|
12 |
"target": "es2015",
|
|
12 | 13 |
"typeRoots": [ |
13 | 14 |
"node_modules/@types" |
14 | 15 |
], |
modules/uoa-repository-dashboard-gui/trunk/tslint.json | ||
---|---|---|
72 | 72 |
"no-trailing-whitespace": true, |
73 | 73 |
"no-unnecessary-initializer": true, |
74 | 74 |
"no-unused-expression": true, |
75 |
"no-use-before-declare": true, |
|
76 | 75 |
"no-var-keyword": true, |
77 | 76 |
"object-literal-sort-keys": false, |
78 | 77 |
"one-line": [ |
... | ... | |
117 | 116 |
"check-type" |
118 | 117 |
], |
119 | 118 |
"no-output-on-prefix": true, |
120 |
"use-input-property-decorator": true,
|
|
121 |
"use-output-property-decorator": true,
|
|
122 |
"use-host-property-decorator": true,
|
|
119 |
"no-inputs-metadata-property": true,
|
|
120 |
"no-outputs-metadata-property": true,
|
|
121 |
"no-host-metadata-property": true,
|
|
123 | 122 |
"no-input-rename": true, |
124 | 123 |
"no-output-rename": true, |
125 |
"use-life-cycle-interface": true,
|
|
124 |
"use-lifecycle-interface": true, |
|
126 | 125 |
"use-pipe-transform-interface": true, |
127 | 126 |
"component-class-suffix": true, |
128 | 127 |
"directive-class-suffix": true |
modules/uoa-repository-dashboard-gui/trunk/.browserslistrc | ||
---|---|---|
1 |
# This file is currently used by autoprefixer to adjust CSS to support the below specified browsers |
|
2 |
# For additional information regarding the format and rule options, please see: |
|
3 |
# https://github.com/browserslist/browserslist#queries |
|
4 |
# For IE 9-11 support, please uncomment the last line of the file and adjust as needed |
|
5 |
> 0.5% |
|
6 |
last 2 versions |
|
7 |
Firefox ESR |
|
8 |
not dead |
|
9 |
# IE 9-11 |
|
0 | 10 |
modules/uoa-repository-dashboard-gui/trunk/src/environments/environment.beta.ts | ||
---|---|---|
1 | 1 |
export const environment = { |
2 | 2 |
production: true, |
3 |
MATOMO_URL: 'https://analytics.openaire.eu/', |
|
4 |
MATOMO_SITE: 92, |
|
3 | 5 |
API_ENDPOINT: '/api', |
4 | 6 |
FAQ_ENDPOINT: 'https://provide.openaire.eu/uoa-admin-tools/api', |
5 | 7 |
FAQ_HOMEPAGE: 'https://provide.openaire.eu/uoa-admin-tools/dashboard' |
modules/uoa-repository-dashboard-gui/trunk/src/environments/environment.prod.ts | ||
---|---|---|
1 | 1 |
export const environment = { |
2 | 2 |
production: true, |
3 |
MATOMO_URL: 'https://analytics.openaire.eu/', |
|
4 |
MATOMO_SITE: 111, |
|
3 | 5 |
API_ENDPOINT: '/api', |
4 | 6 |
FAQ_ENDPOINT: '/uoa-admin-tools/api', |
5 | 7 |
FAQ_HOMEPAGE: '/uoa-admin-tools/dashboard' |
modules/uoa-repository-dashboard-gui/trunk/src/app/app.component.spec.ts | ||
---|---|---|
1 |
import { TestBed, async } from '@angular/core/testing';
|
|
1 |
import { TestBed, waitForAsync } from '@angular/core/testing';
|
|
2 | 2 |
import { AppComponent } from './app.component'; |
3 | 3 |
describe('AppComponent', () => { |
4 |
beforeEach(async(() => {
|
|
4 |
beforeEach(waitForAsync(() => {
|
|
5 | 5 |
TestBed.configureTestingModule({ |
6 | 6 |
declarations: [ |
7 | 7 |
AppComponent |
8 | 8 |
], |
9 | 9 |
}).compileComponents(); |
10 | 10 |
})); |
11 |
it('should create the app', async(() => {
|
|
11 |
it('should create the app', waitForAsync(() => {
|
|
12 | 12 |
const fixture = TestBed.createComponent(AppComponent); |
13 | 13 |
const app = fixture.debugElement.componentInstance; |
14 | 14 |
expect(app).toBeTruthy(); |
15 | 15 |
})); |
16 |
it(`should have as title 'app'`, async(() => {
|
|
16 |
it(`should have as title 'app'`, waitForAsync(() => {
|
|
17 | 17 |
const fixture = TestBed.createComponent(AppComponent); |
18 | 18 |
const app = fixture.debugElement.componentInstance; |
19 | 19 |
expect(app.title).toEqual('app'); |
20 | 20 |
})); |
21 |
it('should render title in a h1 tag', async(() => {
|
|
21 |
it('should render title in a h1 tag', waitForAsync(() => {
|
|
22 | 22 |
const fixture = TestBed.createComponent(AppComponent); |
23 | 23 |
fixture.detectChanges(); |
24 | 24 |
const compiled = fixture.debugElement.nativeElement; |
modules/uoa-repository-dashboard-gui/trunk/src/app/pages/adminPg/adminPg-metrics.component.ts | ||
---|---|---|
15 | 15 |
import {ActivatedRoute, Router} from '@angular/router'; |
16 | 16 |
import {PiwikInfoPage} from '../../domain/page-content'; |
17 | 17 |
import {environment} from '../../../environments/environment'; |
18 |
import {st} from '@angular/core/src/render3'; |
|
19 | 18 |
|
20 | 19 |
@Component ({ |
21 | 20 |
selector: 'app-admin-metrics', |
... | ... | |
44 | 43 |
|
45 | 44 |
dataForm: FormGroup; |
46 | 45 |
|
47 |
@ViewChild('confirmApprovalModal') |
|
46 |
@ViewChild('confirmApprovalModal', { static: true })
|
|
48 | 47 |
public confirmApprovalModal: ConfirmationDialogComponent; |
49 | 48 |
private pageTotal: number; |
50 | 49 |
private piwiksTotal: number; |
modules/uoa-repository-dashboard-gui/trunk/src/app/pages/repository/update/update-repo-admins.component.html | ||
---|---|---|
75 | 75 |
|
76 | 76 |
|
77 | 77 |
<confirmation-dialog #addRepositoryAdminModal [title]="'Add new datasource admin'" [isModalShown]="isAddModalShown" |
78 |
[confirmButNotCloseButton]="'Submit'" (emitObject)="addRepositoryAdmin($event)">
|
|
78 |
[confirmButNotCloseButton]="'Submit'" (emitObject)="addRepositoryAdmin()"> |
|
79 | 79 |
|
80 | 80 |
<div *ngIf="modalErrorMessage" class="uk-alert uk-alert-danger">{{modalErrorMessage}}</div> |
81 | 81 |
|
modules/uoa-repository-dashboard-gui/trunk/src/app/pages/repository/update/update-repo-admins.component.ts | ||
---|---|---|
24 | 24 |
selectedAdminForDelete: User; |
25 | 25 |
|
26 | 26 |
isDeleteModalShown: boolean; |
27 |
@ViewChild('deleteRepositoryAdminModal') |
|
27 |
@ViewChild('deleteRepositoryAdminModal', { static: true })
|
|
28 | 28 |
public deleteRepositoryAdminModal: ConfirmationDialogComponent; |
29 | 29 |
|
30 | 30 |
isAddModalShown: boolean; |
31 |
@ViewChild('addRepositoryAdminModal') |
|
31 |
@ViewChild('addRepositoryAdminModal', { static: true })
|
|
32 | 32 |
public addRepositoryAdminModal: ConfirmationDialogComponent; |
33 | 33 |
|
34 | 34 |
modalErrorMessage: string; |
modules/uoa-repository-dashboard-gui/trunk/src/app/pages/repository/update/sources-update-repo.component.ts | ||
---|---|---|
1 |
import { Component, OnInit, QueryList, ViewChild, ViewChildren } from '@angular/core';
|
|
2 |
import { FormBuilder, FormGroup } from '@angular/forms';
|
|
3 |
import { Repository, RepositoryInterface } from '../../../domain/typeScriptClasses';
|
|
4 |
import { RepositoryService } from '../../../services/repository.service';
|
|
5 |
import { ActivatedRoute, Router } from '@angular/router';
|
|
6 |
import { formInfoLoading, loadingRepoError } from '../../../domain/shared-messages';
|
|
7 |
import { DatasourceUpdateFormComponent } from '../../../shared/reusablecomponents/sources-forms/datasource-update-form.component';
|
|
8 |
import { ConfirmationDialogComponent } from '../../../shared/reusablecomponents/confirmation-dialog.component';
|
|
9 |
import { AuthenticationService } from '../../../services/authentication.service';
|
|
10 |
import { DatasourceNewInterfaceFormComponent } from '../../../shared/reusablecomponents/sources-forms/datasource-new-interface-form.component';
|
|
11 |
import { SharedService } from '../../../services/shared.service';
|
|
1 |
import {Component, OnInit, QueryList, ViewChild, ViewChildren} from '@angular/core';
|
|
2 |
import {FormBuilder, FormGroup} from '@angular/forms';
|
|
3 |
import {Repository, RepositoryInterface} from '../../../domain/typeScriptClasses';
|
|
4 |
import {RepositoryService} from '../../../services/repository.service';
|
|
5 |
import {ActivatedRoute, Router} from '@angular/router';
|
|
6 |
import {loadingRepoError} from '../../../domain/shared-messages';
|
|
7 |
import {DatasourceUpdateFormComponent} from '../../../shared/reusablecomponents/sources-forms/datasource-update-form.component';
|
|
8 |
import {ConfirmationDialogComponent} from '../../../shared/reusablecomponents/confirmation-dialog.component';
|
|
9 |
import {AuthenticationService} from '../../../services/authentication.service';
|
|
10 |
import {DatasourceNewInterfaceFormComponent} from '../../../shared/reusablecomponents/sources-forms/datasource-new-interface-form.component';
|
|
11 |
import {SharedService} from '../../../services/shared.service';
|
|
12 | 12 |
|
13 |
@Component ({
|
|
13 |
@Component({ |
|
14 | 14 |
selector: 'sources-update-repo', |
15 | 15 |
templateUrl: 'sources-update-repo.component.html', |
16 | 16 |
}) |
... | ... | |
32 | 32 |
dataForInterfaceComp: any[] = []; |
33 | 33 |
|
34 | 34 |
isModalShown: boolean; |
35 |
@ViewChild('updateLogoUrlModal') |
|
35 |
@ViewChild('updateLogoUrlModal', {static: true})
|
|
36 | 36 |
public updateLogoUrlModal: ConfirmationDialogComponent; |
37 | 37 |
|
38 |
constructor ( private fb: FormBuilder, |
|
39 |
private repoService: RepositoryService, |
|
40 |
private authService: AuthenticationService, |
|
41 |
private route: ActivatedRoute, |
|
42 |
private sharedService: SharedService, |
|
43 |
private router: Router) { } |
|
38 |
constructor(private fb: FormBuilder, |
|
39 |
private repoService: RepositoryService, |
|
40 |
private authService: AuthenticationService, |
|
41 |
private route: ActivatedRoute, |
|
42 |
private sharedService: SharedService, |
|
43 |
private router: Router) { |
|
44 |
} |
|
44 | 45 |
|
45 |
@ViewChild('updateTermsForm') |
|
46 |
@ViewChild('updateTermsForm') updateTermsForm: DatasourceUpdateFormComponent;
|
|
46 | 47 |
|
47 | 48 |
ngOnInit() { |
48 | 49 |
|
49 |
if(this.sharedService.getRepository()) { |
|
50 |
if (this.sharedService.getRepository()) {
|
|
50 | 51 |
this.repo = this.sharedService.getRepository(); |
51 | 52 |
this.logoURL = this.repo.logoUrl; |
52 | 53 |
this.getRepoInterfaces(); |
... | ... | |
63 | 64 |
); |
64 | 65 |
|
65 | 66 |
// this.readRepoId(); |
66 |
let body = document.getElementsByTagName('body')[0];
|
|
67 |
body.classList.remove("top_bar_active"); //remove the class
|
|
68 |
body.classList.remove("page_heading_active");
|
|
69 |
body.classList.remove("landing");
|
|
70 |
body.classList.add("dashboard");
|
|
67 |
const body = document.getElementsByTagName('body')[0];
|
|
68 |
body.classList.remove('top_bar_active'); // remove the class
|
|
69 |
body.classList.remove('page_heading_active');
|
|
70 |
body.classList.remove('landing');
|
|
71 |
body.classList.add('dashboard');
|
|
71 | 72 |
} |
72 | 73 |
|
73 | 74 |
// readRepoId() { |
... | ... | |
100 | 101 |
this.group = this.fb.group({}); |
101 | 102 |
this.repoService.getRepositoryInterface(this.repo.id).subscribe( |
102 | 103 |
interfaces => { |
103 |
this.repoInterfaces = interfaces.sort( function(a, b) {
|
|
104 |
this.repoInterfaces = interfaces.sort(function (a, b) {
|
|
104 | 105 |
if (a.id < b.id) { |
105 | 106 |
return -1; |
106 | 107 |
} else if (a.id > b.id) { |
... | ... | |
130 | 131 |
for (let i = 0; i < this.repoInterfaces.length; i++) { |
131 | 132 |
this.dataForInterfaceComp.push([ |
132 | 133 |
false, i, |
133 |
{ id: this.repo.id, |
|
134 |
{ |
|
135 |
id: this.repo.id, |
|
134 | 136 |
datasourceType: this.repo.datasourceType, |
135 | 137 |
datasourceClass: this.repo.datasourceClass, |
136 | 138 |
registeredBy: this.repo.registeredBy |
... | ... | |
141 | 143 |
} else { |
142 | 144 |
this.dataForInterfaceComp.push([ |
143 | 145 |
false, 0, |
144 |
{ id: this.repo.id, |
|
146 |
{ |
|
147 |
id: this.repo.id, |
|
145 | 148 |
datasourceType: this.repo.datasourceType, |
146 | 149 |
datasourceClass: this.repo.datasourceClass, |
147 | 150 |
registeredBy: this.repo.registeredBy |
... | ... | |
152 | 155 |
|
153 | 156 |
addInterfaceToList(intrf?: RepositoryInterface) { |
154 | 157 |
const curIndex = this.dataForInterfaceComp.length; |
155 |
const curRepoInfo = { id: this.repo.id, datasourceType: this.repo.datasourceType, |
|
156 |
datasourceClass: this.repo.datasourceClass, registeredBy: this.repo.registeredBy }; |
|
158 |
const curRepoInfo = { |
|
159 |
id: this.repo.id, datasourceType: this.repo.datasourceType, |
|
160 |
datasourceClass: this.repo.datasourceClass, registeredBy: this.repo.registeredBy |
|
161 |
}; |
|
157 | 162 |
if (intrf) { |
158 | 163 |
this.dataForInterfaceComp.push([false, curIndex, curRepoInfo, intrf]); |
159 | 164 |
} else { |
... | ... | |
193 | 198 |
|
194 | 199 |
} |
195 | 200 |
|
196 |
getNewLogoUrl( event: any ) {
|
|
201 |
getNewLogoUrl(event: any) {
|
|
197 | 202 |
this.logoURL = event.target.value; |
198 | 203 |
|
199 | 204 |
} |
modules/uoa-repository-dashboard-gui/trunk/src/app/pages/repository/events/content-events-of-repo-eventslist.component.ts | ||
---|---|---|
57 | 57 |
modalErrorMessage: string; |
58 | 58 |
|
59 | 59 |
isModalShown: boolean; |
60 |
@ViewChild('subscribeToEventsModal') |
|
60 |
@ViewChild('subscribeToEventsModal', { static: true })
|
|
61 | 61 |
public subscribeToEventsModal: ConfirmationDialogComponent; |
62 | 62 |
|
63 | 63 |
constructor (private route: ActivatedRoute, |
modules/uoa-repository-dashboard-gui/trunk/src/app/pages/repository/metrics/metrics-enable.component.ts | ||
---|---|---|
29 | 29 |
modalButton = 'Yes, enable it'; |
30 | 30 |
isModalShown: boolean; |
31 | 31 |
|
32 |
@ViewChild('confirmEnablingModal') |
|
32 |
@ViewChild('confirmEnablingModal', { static: true })
|
|
33 | 33 |
public confirmEnablingModal: ConfirmationDialogComponent; |
34 | 34 |
|
35 | 35 |
|
modules/uoa-repository-dashboard-gui/trunk/src/app/pages/repository/repository-routing.module.ts | ||
---|---|---|
25 | 25 |
}, |
26 | 26 |
{ |
27 | 27 |
path: 'getImpact', |
28 |
loadChildren: './metrics/metrics.module#MetricsModule',
|
|
28 |
loadChildren: () => import('./metrics/metrics.module').then(m => m.MetricsModule),
|
|
29 | 29 |
canActivate: [AuthGuardService] |
30 | 30 |
}, |
31 | 31 |
{ |
32 | 32 |
path: 'aggregationHistory', |
33 |
loadChildren: './aggregationhistory/compatibility-monitor.module#AggregationHistoryModule',
|
|
33 |
loadChildren: () => import('./aggregationhistory/compatibility-monitor.module').then(m => m.AggregationHistoryModule),
|
|
34 | 34 |
canActivate: [AuthGuardService] |
35 | 35 |
}, |
36 | 36 |
{ |
37 | 37 |
path: 'events', |
38 |
loadChildren: './events/events.module#EventsModule',
|
|
38 |
loadChildren: () => import('./events/events.module').then(m => m.EventsModule),
|
|
39 | 39 |
canActivate: [AuthGuardService] |
40 | 40 |
}, |
41 | 41 |
{ |
modules/uoa-repository-dashboard-gui/trunk/src/app/pages/sources/sources-register/register-new-datasource.component.ts | ||
---|---|---|
30 | 30 |
* currentStep represents the number of the current step |
31 | 31 |
*/ |
32 | 32 |
currentStep: number; |
33 |
@ViewChild('topHelperContent') |
|
33 |
@ViewChild('topHelperContent', { static: true })
|
|
34 | 34 |
public topHelperContent: HelpContentComponent; |
35 |
@ViewChild('leftHelperContent') |
|
35 |
@ViewChild('leftHelperContent', { static: true })
|
|
36 | 36 |
public leftHelperContent: AsideHelpContentComponent; |
37 |
@ViewChild('rightHelperContent') |
|
37 |
@ViewChild('rightHelperContent', { static: true })
|
|
38 | 38 |
public rightHelperContent: AsideHelpContentComponent; |
39 |
@ViewChild('bottomHelperContent') |
|
39 |
@ViewChild('bottomHelperContent', { static: true })
|
|
40 | 40 |
public bottomHelperContent: HelpContentComponent; |
41 | 41 |
|
42 |
@ViewChild ('registerDatasource')
|
|
42 |
@ViewChild('registerDatasource') |
|
43 | 43 |
registerDatasource: DatasourceCreateFormComponent; |
44 | 44 |
|
45 |
@ViewChild ('interfaceComments')
|
|
45 |
@ViewChild('interfaceComments') |
|
46 | 46 |
interfaceComments: DatasourceNewInterfaceFormComponent; |
47 | 47 |
|
48 | 48 |
@ViewChildren('interfacesArray') interfacesArray: QueryList<DatasourceNewInterfaceFormComponent>; |
modules/uoa-repository-dashboard-gui/trunk/src/app/pages/sources/sources-register/register-existing-datasource.component.ts | ||
---|---|---|
42 | 42 |
* currentStep represents the number of the current step |
43 | 43 |
*/ |
44 | 44 |
currentStep: number; |
45 |
@ViewChild('topHelperContent') |
|
45 |
@ViewChild('topHelperContent', { static: true })
|
|
46 | 46 |
public topHelperContent: HelpContentComponent; |
47 |
@ViewChild('leftHelperContent') |
|
47 |
@ViewChild('leftHelperContent', { static: true })
|
|
48 | 48 |
public leftHelperContent: AsideHelpContentComponent; |
49 |
@ViewChild('rightHelperContent') |
|
49 |
@ViewChild('rightHelperContent', { static: true })
|
|
50 | 50 |
public rightHelperContent: AsideHelpContentComponent; |
51 |
@ViewChild('bottomHelperContent') |
|
51 |
@ViewChild('bottomHelperContent', { static: true })
|
|
52 | 52 |
public bottomHelperContent: HelpContentComponent; |
53 | 53 |
|
54 | 54 |
@ViewChild('datasourcesByCountry') |
55 | 55 |
public datasourcesByCountry: RegisterDatasourceSelectExistingComponent; |
56 | 56 |
|
57 |
@ViewChild ('registerDatasource')
|
|
57 |
@ViewChild('registerDatasource') |
|
58 | 58 |
registerDatasource: DatasourceUpdateFormComponent; |
59 | 59 |
|
60 |
@ViewChild ('interfaceComments')
|
|
60 |
@ViewChild('interfaceComments') |
|
61 | 61 |
interfaceComments: DatasourceNewInterfaceFormComponent; |
62 | 62 |
|
63 | 63 |
@ViewChildren('interfacesArray') interfacesArray: QueryList<DatasourceNewInterfaceFormComponent>; |
modules/uoa-repository-dashboard-gui/trunk/src/app/pages/compatibility/compatibility-validate-type.component.ts | ||
---|---|---|
27 | 27 |
* the param that is used is 'step' and the values are: 'baseUrl','guidelines','crisEntities'/'parameters','finish' |
28 | 28 |
*/ |
29 | 29 |
currentStep: number; |
30 |
@ViewChild('topHelperContent') |
|
30 |
@ViewChild('topHelperContent', { static: true })
|
|
31 | 31 |
public topHelperContent: HelpContentComponent; |
32 |
@ViewChild('leftHelperContent') |
|
32 |
@ViewChild('leftHelperContent', { static: true })
|
|
33 | 33 |
public leftHelperContent: AsideHelpContentComponent; |
34 |
@ViewChild('rightHelperContent') |
|
34 |
@ViewChild('rightHelperContent', { static: true })
|
|
35 | 35 |
public rightHelperContent: AsideHelpContentComponent; |
36 |
@ViewChild('bottomHelperContent') |
|
36 |
@ViewChild('bottomHelperContent', { static: true })
|
|
37 | 37 |
public bottomHelperContent: HelpContentComponent; |
38 | 38 |
|
39 | 39 |
baseUrlList: string[] = []; |
modules/uoa-repository-dashboard-gui/trunk/src/app/pages/compatibility/compatibility-validation-results.component.ts | ||
---|---|---|
7 | 7 |
import { ConfirmationDialogComponent } from '../../shared/reusablecomponents/confirmation-dialog.component'; |
8 | 8 |
import { AuthenticationService } from '../../services/authentication.service'; |
9 | 9 |
import * as Highcharts from 'highcharts'; |
10 |
import {text} from '@angular/core/src/render3/instructions'; |
|
11 | 10 |
|
12 | 11 |
@Component({ |
13 | 12 |
selector: 'app-compatibility-validation-results', |
... | ... | |
41 | 40 |
chartOptionsForContent: Highcharts.Options; |
42 | 41 |
chartOptionsForUsage: Highcharts.Options; |
43 | 42 |
|
44 |
@ViewChild('checkErrors') |
|
43 |
@ViewChild('checkErrors', { static: true })
|
|
45 | 44 |
public checkErrors: ConfirmationDialogComponent; |
46 | 45 |
|
47 | 46 |
constructor (private route: ActivatedRoute, |
modules/uoa-repository-dashboard-gui/trunk/src/app/services/shared.service.ts | ||
---|---|---|
1 |
import { Injectable } from "@angular/core";
|
|
2 |
import { Repository, RepositorySnippet } from "../domain/typeScriptClasses";
|
|
3 |
import { Subject } from "rxjs/internal/Subject";
|
|
1 |
import {Injectable} from '@angular/core';
|
|
2 |
import {Repository, RepositorySnippet} from '../domain/typeScriptClasses';
|
|
3 |
import {Subject} from 'rxjs/internal/Subject';
|
|
4 | 4 |
|
5 | 5 |
@Injectable() |
6 | 6 |
export class SharedService { |
... | ... | |
12 | 12 |
private repositoriesOfUser: Subject<RepositorySnippet[]> = new Subject<RepositorySnippet[]>(); |
13 | 13 |
|
14 | 14 |
|
15 |
|
|
16 | 15 |
get repository$() { |
17 | 16 |
return this.repository.asObservable(); |
18 | 17 |
} |
... | ... | |
21 | 20 |
return this.repositoryCopy; |
22 | 21 |
} |
23 | 22 |
|
24 |
setRepository(data:Repository) { |
|
23 |
setRepository(data: Repository) {
|
|
25 | 24 |
this.repository.next(data); |
26 | 25 |
this.repositoryCopy = data; |
27 | 26 |
} |
modules/uoa-repository-dashboard-gui/trunk/src/app/app.component.ts | ||
---|---|---|
2 | 2 |
import { NavigationEnd, Router, RoutesRecognized } from '@angular/router'; |
3 | 3 |
import { AuthenticationService } from './services/authentication.service'; |
4 | 4 |
import { environment } from '../environments/environment'; |
5 |
import { MatomoInjector, MatomoTracker } from 'ngx-matomo';
|
|
5 |
import { MatomoTracker } from 'ngx-matomo'; |
|
6 | 6 |
import { ConfirmationDialogComponent } from './shared/reusablecomponents/confirmation-dialog.component'; |
7 | 7 |
import { RepositoryService } from './services/repository.service'; |
8 | 8 |
import { RepositorySnippet } from './domain/typeScriptClasses'; |
... | ... | |
34 | 34 |
|
35 | 35 |
constructor(private router: Router, |
36 | 36 |
private authService: AuthenticationService, |
37 |
private matomoInjector: MatomoInjector, |
|
38 | 37 |
private matomoTracker: MatomoTracker, |
39 | 38 |
private repositoryService: RepositoryService, |
40 | 39 |
private fb: FormBuilder) { |
41 | 40 |
|
42 | 41 |
console.log('21-06-2019. Fixed matomo to log userIds?'); |
43 | 42 |
|
44 |
let piwikUrl; |
|
45 |
if (window.location.origin.includes('beta')) { |
|
46 |
// piwikUrl = 'https://analytics.openaire.eu/piwik.php?idsite=92&rec=1'; |
|
47 |
piwikUrl = '92'; |
|
48 |
} else if (window.location.origin.includes('localhost:4200') || |
|
49 |
window.location.origin.includes('athenarc')) { |
|
50 |
// piwikUrl = 'https://analytics.openaire.eu/piwik.php?idsite=92&rec=1'; |
|
51 |
piwikUrl = '9222222'; |
|
52 |
} else { |
|
53 |
// piwikUrl = 'https://analytics.openaire.eu/piwik.php?idsite=111&rec=1'; |
|
54 |
piwikUrl = '111'; |
|
55 |
} |
|
56 |
this.matomoInjector.init('https://analytics.openaire.eu/', piwikUrl); |
|
57 |
|
|
58 | 43 |
/*disabling console.log in production*/ |
59 | 44 |
if ( environment.production === true ) { |
60 | 45 |
console.log = function () {}; |
modules/uoa-repository-dashboard-gui/trunk/src/app/shared/reusablecomponents/read-more.component.ts | ||
---|---|---|
22 | 22 |
//@Input() text: string; |
23 | 23 |
//maximum height of the container |
24 | 24 |
@Input("maxHeight") maxHeight: number = 100; |
25 |
@ViewChild("readMoreDiv") |
|
25 |
@ViewChild("readMoreDiv", { static: true })
|
|
26 | 26 |
readMoreDiv: ElementRef; |
27 | 27 |
//set these to false to get the height of the expended container |
28 | 28 |
public isCollapsed: boolean = false; |
modules/uoa-repository-dashboard-gui/trunk/src/app/shared/reusablecomponents/forms/my-array.interface.ts | ||
---|---|---|
44 | 44 |
|
45 | 45 |
@Input() public initEmpty: boolean = false; |
46 | 46 |
|
47 |
@ViewChild(MyFormDirective) protected formComponents: MyFormDirective; |
|
47 |
@ViewChild(MyFormDirective, { static: true }) protected formComponents: MyFormDirective;
|
|
48 | 48 |
|
49 | 49 |
protected _cfr: ComponentFactoryResolver; |
50 | 50 |
|
modules/uoa-repository-dashboard-gui/trunk/src/app/shared/reusablecomponents/forms/my-wrapper.interface.ts | ||
---|---|---|
1 | 1 |
/** |
2 | 2 |
* Created by stefanos on 19/5/2017. |
3 | 3 |
*/ |
4 |
import { EventEmitter, Input, OnInit, Output, ViewChild, ViewRef } from '@angular/core'; |
|
4 |
import { EventEmitter, Input, OnInit, Output, ViewChild, ViewRef, Directive } from '@angular/core';
|
|
5 | 5 |
import { Description } from '../../../domain/oa-description'; |
6 | 6 |
import { MyFormDirective } from './my-form.directive'; |
7 | 7 |
import { throwError } from 'rxjs'; |
8 | 8 |
|
9 | 9 |
|
10 |
@Directive() |
|
10 | 11 |
export abstract class MyWrapper implements OnInit{ |
11 | 12 |
|
12 | 13 |
@Input() public component: ViewRef; |
... | ... | |
17 | 18 |
|
18 | 19 |
@Output() deleteNotifier: EventEmitter<ViewRef> = new EventEmitter(); |
19 | 20 |
|
20 |
@ViewChild(MyFormDirective) private formComponents: MyFormDirective; |
|
21 |
@ViewChild(MyFormDirective, { static: true }) private formComponents: MyFormDirective;
|
|
21 | 22 |
|
22 | 23 |
public first = true; |
23 | 24 |
|
modules/uoa-repository-dashboard-gui/trunk/src/app/app.module.ts | ||
---|---|---|
1 |
import { AppComponent } from './app.component'; |
|
2 |
import { NgModule } from '@angular/core'; |
|
3 |
import { BrowserModule } from '@angular/platform-browser'; |
|
4 |
import { NoopAnimationsModule } from '@angular/platform-browser/animations'; |
|
5 |
import { FormsModule, ReactiveFormsModule } from '@angular/forms'; |
|
6 |
import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http'; |
|
7 |
import { ReusableComponentsModule } from './shared/reusablecomponents/reusable-components.module'; |
|
8 |
import { CookieLawModule } from './shared/reusablecomponents/cookie-law/cookie-law.module'; |
|
9 |
import { AppRoutingModule } from './app-routing.module'; |
|
10 |
import { AuthenticationInterceptor } from './services/authentication-interceptor'; |
|
11 |
import { BrokerService } from './services/broker.service'; |
|
12 |
import { MonitorService } from './services/monitor.service'; |
|
13 |
import { PiwikService } from './services/piwik.service'; |
|
14 |
import { RepositoryService } from './services/repository.service'; |
|
15 |
import { ValidatorService } from './services/validator.service'; |
|
16 |
import { UsagestatsService } from './services/usagestats.service'; |
|
17 |
import { StatisticsService } from './services/statistics.service'; |
|
18 |
import { AuthGuardService } from './services/auth-guard.service'; |
|
19 |
import { AuthenticationService } from './services/authentication.service'; |
|
20 |
import { HomeComponent } from './pages/landing/home/home.component'; |
|
21 |
import { MatomoModule } from 'ngx-matomo'; |
|
22 |
import { DashboardService } from "./services/dashboard.service"; |
|
23 |
import { EmptyPageComponent } from "./pages/emptypage/empty-page.component"; |
|
24 |
import { SharedService } from "./services/shared.service"; |
|
25 |
import { JoinComponent } from "./pages/join/join.component"; |
|
26 |
import { AboutComponent } from "./pages/landing/about/about.component"; |
|
1 |
import {AppComponent} from './app.component'; |
|
2 |
import {NgModule} from '@angular/core'; |
|
3 |
import {BrowserModule} from '@angular/platform-browser'; |
|
4 |
import {NoopAnimationsModule} from '@angular/platform-browser/animations'; |
|
5 |
import {FormsModule, ReactiveFormsModule} from '@angular/forms'; |
|
6 |
import {HTTP_INTERCEPTORS, HttpClientModule} from '@angular/common/http'; |
|
7 |
import {ReusableComponentsModule} from './shared/reusablecomponents/reusable-components.module'; |
|
8 |
import {CookieLawModule} from './shared/reusablecomponents/cookie-law/cookie-law.module'; |
|
9 |
import {AppRoutingModule} from './app-routing.module'; |
|
10 |
import {AuthenticationInterceptor} from './services/authentication-interceptor'; |
|
11 |
import {BrokerService} from './services/broker.service'; |
|
12 |
import {MonitorService} from './services/monitor.service'; |
|
13 |
import {PiwikService} from './services/piwik.service'; |
|
14 |
import {RepositoryService} from './services/repository.service'; |
|
15 |
import {ValidatorService} from './services/validator.service'; |
|
16 |
import {UsagestatsService} from './services/usagestats.service'; |
|
17 |
import {StatisticsService} from './services/statistics.service'; |
|
18 |
import {AuthGuardService} from './services/auth-guard.service'; |
|
19 |
import {AuthenticationService} from './services/authentication.service'; |
|
20 |
import {HomeComponent} from './pages/landing/home/home.component'; |
|
21 |
import {MatomoModule} from 'ngx-matomo'; |
|
22 |
import {DashboardService} from './services/dashboard.service'; |
|
23 |
import {EmptyPageComponent} from './pages/emptypage/empty-page.component'; |
|
24 |
import {SharedService} from './services/shared.service'; |
|
25 |
import {JoinComponent} from './pages/join/join.component'; |
|
26 |
import {AboutComponent} from './pages/landing/about/about.component'; |
|
27 |
import {environment} from '../environments/environment'; |
|
27 | 28 |
|
28 | 29 |
|
29 | 30 |
@NgModule({ |
... | ... | |
42 | 43 |
HttpClientModule, |
43 | 44 |
ReusableComponentsModule, |
44 | 45 |
CookieLawModule, |
45 |
MatomoModule, |
|
46 |
MatomoModule.forRoot({ |
|
47 |
scriptUrl: environment.MATOMO_URL + 'matomo.js', |
|
48 |
trackers: [ |
|
49 |
{ |
|
50 |
trackerUrl: environment.MATOMO_URL + 'matomo.php', |
|
51 |
siteId: environment.MATOMO_SITE |
|
52 |
} |
|
53 |
], |
|
54 |
routeTracking: { |
|
55 |
enable: true |
|
56 |
} |
|
57 |
}), |
|
46 | 58 |
AppRoutingModule |
47 | 59 |
], |
48 | 60 |
providers: [ |
... | ... | |
65 | 77 |
], |
66 | 78 |
bootstrap: [AppComponent] |
67 | 79 |
}) |
68 |
export class AppModule { } |
|
80 |
export class AppModule { |
|
81 |
} |
modules/uoa-repository-dashboard-gui/trunk/src/app/app-routing.module.ts | ||
---|---|---|
33 | 33 |
}, |
34 | 34 |
{ |
35 | 35 |
path: 'repository', |
36 |
loadChildren: './pages/repository/repository.module#RepositoryModule',
|
|
36 |
loadChildren: () => import('./pages/repository/repository.module').then(m => m.RepositoryModule),
|
|
37 | 37 |
// loadChildren: () => import('./pages/repository/repository.module').then(m => m.RepositoryModule), |
38 | 38 |
canActivate: [AuthGuardService] |
39 | 39 |
}, |
40 | 40 |
{ |
41 | 41 |
path: 'repositoryAdmin', |
42 |
loadChildren: './pages/repository/repository.module#RepositoryModule',
|
|
42 |
loadChildren: () => import('./pages/repository/repository.module').then(m => m.RepositoryModule),
|
|
43 | 43 |
// loadChildren: () => import('./pages/repository/repository.module').then(m => m.RepositoryModule), |
44 | 44 |
canActivate: [AuthGuardService] |
45 | 45 |
}, |
... | ... | |
52 | 52 |
// }, |
53 | 53 |
{ |
54 | 54 |
path: 'sources', |
55 |
loadChildren: './pages/sources/sources.module#SourcesModule',
|
|
55 |
loadChildren: () => import('./pages/sources/sources.module').then(m => m.SourcesModule),
|
|
56 | 56 |
canActivate: [AuthGuardService] |
57 | 57 |
}, |
58 | 58 |
{ |
59 | 59 |
path: 'compatibility', |
60 |
loadChildren: './pages/compatibility/compatibility.module#CompatibilityModule'
|
|
60 |
loadChildren: () => import('./pages/compatibility/compatibility.module').then(m => m.CompatibilityModule)
|
|
61 | 61 |
}, |
62 | 62 |
{ |
63 | 63 |
path: 'content', |
64 |
loadChildren: './pages/content/content.module#ContentModule',
|
|
64 |
loadChildren: () => import('./pages/content/content.module').then(m => m.ContentModule),
|
|
65 | 65 |
canActivate: [AuthGuardService] |
66 | 66 |
}, |
67 | 67 |
// { |
... | ... | |
71 | 71 |
// }, |
72 | 72 |
{ |
73 | 73 |
path: 'admin', |
74 |
loadChildren: './pages/adminPg/adminPg.module#AdminPgModule',
|
|
74 |
loadChildren: () => import('./pages/adminPg/adminPg.module').then(m => m.AdminPgModule),
|
|
75 | 75 |
}, |
76 | 76 |
{ |
77 | 77 |
path: '403-forbidden', |
... | ... | |
92 | 92 |
|
93 | 93 |
|
94 | 94 |
@NgModule ({ |
95 |
imports: [RouterModule.forRoot(appRoutes)], |
|
95 |
imports: [RouterModule.forRoot(appRoutes, { relativeLinkResolution: 'legacy' })],
|
|
96 | 96 |
exports: [RouterModule] |
97 | 97 |
}) |
98 | 98 |
|
modules/uoa-repository-dashboard-gui/trunk/src/assets/css/landingpage/custom.css | ||
---|---|---|
14 | 14 |
@import url('https://fonts.googleapis.com/css?family=Sura:400,700'); |
15 | 15 |
|
16 | 16 |
body.landing { |
17 |
padding-top: 0px;
|
|
17 |
padding-top: 0; |
|
18 | 18 |
} |
19 | 19 |
|
20 | 20 |
/* yard */ |
21 | 21 |
.tm-page { |
22 |
border-width:0px!important;
|
|
23 |
border:0px!important;
|
|
22 |
border-width:0!important; |
|
23 |
border:0!important; |
|
24 | 24 |
} |
25 | 25 |
body { font-family: 'Open Sans', sans-serif !important;} |
26 | 26 |
/* |
... | ... | |
71 | 71 |
|
72 | 72 |
} |
73 | 73 |
.news .wk-panel-box, .news .wk-panel-header { |
74 |
padding :20px 0px 30px 0px;
|
|
74 |
padding :20px 0 30px 0;
|
|
75 | 75 |
margin-bottom:40px; |
76 | 76 |
} |
77 | 77 |
/* |
... | ... | |
94 | 94 |
.wk-twitter-firstpage .wk-article-meta{ |
95 | 95 |
font-size:12px!important; |
96 | 96 |
line-height:16px; |
97 |
margin:0px;
|
|
97 |
margin:0; |
|
98 | 98 |
|
99 | 99 |
} |
100 | 100 |
.wk-twitter-firstpage .wk-margin { |
... | ... | |
164 | 164 |
.service-button > .wk-subnav>li>a, |
165 | 165 |
.boxedpills > .uk-subnav>li>a { |
166 | 166 |
border: 1px solid #9c9c9c!important; |
167 |
border-radius: 0px!important;
|
|
167 |
border-radius: 0!important; |
|
168 | 168 |
color: #9c9c9c!important; |
169 | 169 |
|
170 | 170 |
} |
... | ... | |
204 | 204 |
background: #fff; |
205 | 205 |
/* border: 1px solid #e5e5e5; */ |
206 | 206 |
border: none!important; |
207 |
border-radius: 0px;
|
|
207 |
border-radius: 0; |
|
208 | 208 |
background: #fff; |
209 | 209 |
color: #767779; |
210 | 210 |
color: rgb(108, 109, 116); |
211 |
box-shadow: rgba(0, 0, 0, 0.08) 0px 5px 15px;
|
|
211 |
box-shadow: rgba(0, 0, 0, 0.08) 0 5px 15px; |
|
212 | 212 |
background: rgb(255, 255, 255)!important; |
213 | 213 |
} |
214 | 214 |
|
... | ... | |
325 | 325 |
.tm-toolbar { |
326 | 326 |
position:relative; |
327 | 327 |
color: #fff; |
328 |
padding-top: 0px;
|
|
329 |
padding-bottom:0px;
|
|
328 |
padding-top: 0; |
|
329 |
padding-bottom:0; |
|
330 | 330 |
background:rgba(255,255,255, 0.0); |
331 | 331 |
z-index:10000; |
332 | 332 |
/*background: linear-gradient(rgba(255,255,255,0), rgba(255,255,255,0)), url(/images/toolbar_bg.png);*/ |
... | ... | |
345 | 345 |
} |
346 | 346 |
.uk-logo > img {max-height:80px;} |
347 | 347 |
.inner { |
348 |
left:0px;
|
|
348 |
left:0; |
|
349 | 349 |
margin-top:-5px; |
350 | 350 |
background-color: #222080; |
351 | 351 |
} |
352 | 352 |
.tm-toolbar .uk-container { |
353 |
padding-right:0px;
|
|
353 |
padding-right:0; |
|
354 | 354 |
} |
355 | 355 |
|
356 | 356 |
.tm-toolbar ul.uk-subnav.uk-subnav-line, |
357 | 357 |
.tm-toolbar ul.uk-subnav{ |
358 | 358 |
margin-top:-10px; |
359 | 359 |
margin-top: -5px; /* no border on top */ |
360 |
padding:10px 10px 0px 0px;
|
|
360 |
padding:10px 10px 0 0;
|
|
361 | 361 |
-ms-transform: skew(25deg); |
362 | 362 |
-webkit-transform: skew(25deg); |
363 | 363 |
transform: skew(25deg); |
... | ... | |
390 | 390 |
.uk-subnav-line > :nth-child(n + 2):before, |
391 | 391 |
.tm-toolbar .uk-subnav > :nth-child(n + 2):before { |
392 | 392 |
margin-right: 10px; |
393 |
border-left: 0px ;
|
|
393 |
border-left: 0 ; |
|
394 | 394 |
} |
395 | 395 |
|
396 | 396 |
.tm-toolbar .uk-subnav-line li a, |
... | ... | |
432 | 432 |
} |
433 | 433 |
|
434 | 434 |
.tm-toolbar .uk-dotnav, .tm-toolbar .uk-subnav { |
435 |
margin-bottom:0px!important;
|
|
435 |
margin-bottom:0!important; |
|
436 | 436 |
} |
437 | 437 |
|
438 | 438 |
.tm-toolbar .uk-subnav-line li a:hover, |
... | ... | |
461 | 461 |
white-space: nowrap; |
462 | 462 |
/*white-space:pre-wrap;*/ |
463 | 463 |
text-align:center; |
464 |
-moz-border-radius: 0px;
|
|
465 |
-webkit-border-radius: 0px;
|
|
466 |
border-radius: 0px;
|
|
464 |
-moz-border-radius: 0; |
|
465 |
-webkit-border-radius: 0; |
|
466 |
border-radius: 0; |
|
467 | 467 |
background: #fff; |
468 |
-moz-box-shadow: 0px 0px 1px #666;
|
|
469 |
-webkit-box-shadow: 0px 0px 1px #666;
|
|
470 |
box-shadow: 0px 0px 1px #666;
|
|
468 |
-moz-box-shadow: 0 0 1px #666;
|
|
469 |
-webkit-box-shadow: 0 0 1px #666;
|
|
470 |
box-shadow: 0 0 1px #666;
|
|
471 | 471 |
} |
472 | 472 |
|
473 | 473 |
.tm-toolbar .uk-subnav a[title]:hover:before{ |
... | ... | |
747 | 747 |
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a:focus, |
748 | 748 |
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a.uk-open, |
749 | 749 |
.uk-card-primary.uk-card-body .uk-navbar-nav > li:hover > a, .uk-card-primary.uk-card-body .uk-navbar-nav > li > a:focus, |
750 |
.uk-card-primary.uk-card-body .uk-navbar-nav > li > a.uk-open, .uk-card-primary > :not([class * ='uk-card-media']) .uk-navbar-nav > li:hover > a,
|
|
751 |
.uk-card-primary > :not([class * ='uk-card-media']) .uk-navbar-nav > li > a:focus,
|
|
752 |
.uk-card-primary > :not([class * ='uk-card-media']) .uk-navbar-nav > li > a.uk-open,
|
|
750 |
.uk-card-primary.uk-card-body .uk-navbar-nav > li > a.uk-open, .uk-card-primary > :not([class *='uk-card-media']) .uk-navbar-nav > li:hover > a, |
|
751 |
.uk-card-primary > :not([class *='uk-card-media']) .uk-navbar-nav > li > a:focus, |
|
752 |
.uk-card-primary > :not([class *='uk-card-media']) .uk-navbar-nav > li > a.uk-open, |
|
753 | 753 |
.uk-card-secondary.uk-card-body .uk-navbar-nav > li:hover > a, .uk-card-secondary.uk-card-body .uk-navbar-nav > li > a:focus, |
754 |
.uk-card-secondary.uk-card-body .uk-navbar-nav > li > a.uk-open, .uk-card-secondary > :not([class * ='uk-card-media']) .uk-navbar-nav > li:hover > a,
|
|
755 |
.uk-card-secondary > :not([class * ='uk-card-media']) .uk-navbar-nav > li > a:focus,
|
|
756 |
.uk-card-secondary > :not([class * ='uk-card-media']) .uk-navbar-nav > li > a.uk-open,
|
|
754 |
.uk-card-secondary.uk-card-body .uk-navbar-nav > li > a.uk-open, .uk-card-secondary > :not([class *='uk-card-media']) .uk-navbar-nav > li:hover > a, |
|
755 |
.uk-card-secondary > :not([class *='uk-card-media']) .uk-navbar-nav > li > a:focus, |
|
756 |
.uk-card-secondary > :not([class *='uk-card-media']) .uk-navbar-nav > li > a.uk-open, |
|
757 | 757 |
.uk-overlay-primary .uk-navbar-nav > li:hover > a, .uk-overlay-primary .uk-navbar-nav > li > a:focus, |
758 | 758 |
.uk-overlay-primary .uk-navbar-nav > li > a.uk-open, .uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li:hover > a, |
759 | 759 |
.uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-nav > li > a:focus, |
... | ... | |
805 | 805 |
color: #63BDE9!important; |
806 | 806 |
} |
807 | 807 |
*/ |
808 |
*/ |
|
808 |
|
|
809 | 809 |
/* |
810 | 810 |
.uk-tile-primary {background-color: #17106E;} |
811 | 811 |
*/ |
... | ... | |
913 | 913 |
color:#fff; |
914 | 914 |
} |
915 | 915 |
.first_page_panel { |
916 |
border: 0px solid #e5e5e7!important;
|
|
916 |
border: 0 solid #e5e5e7!important; |
|
917 | 917 |
padding:20px 20px!important; |
918 | 918 |
/*width:100%!important;*/ |
919 | 919 |
font-size:24pt!important; |
... | ... | |
997 | 997 |
border-bottom: 1px solid #c5c5c5; |
998 | 998 |
} |
999 | 999 |
.mod_events_latest_table td p{ |
1000 |
margin-bottom:0px;
|
|
1001 |
margin-top:0px;
|
|
1000 |
margin-bottom:0; |
|
1001 |
margin-top:0; |
|
1002 | 1002 |
} |
1003 | 1003 |
|
1004 | 1004 |
.mod_events_latest_date { |
... | ... | |
1013 | 1013 |
margin-right:8px; |
1014 | 1014 |
margin-top:5px; |
1015 | 1015 |
text-align:center; |
1016 |
padding:10px 0px;
|
|
1016 |
padding:10px 0; |
|
1017 | 1017 |
line-height:20px; |
1018 | 1018 |
*/ |
1019 | 1019 |
color: #4687E6; |
... | ... | |
1031 | 1031 |
line-height:14px; |
1032 | 1032 |
font-weight:400; |
1033 | 1033 |
font-size:12px; |
1034 |
padding: 5px 0px;
|
|
1034 |
padding: 5px 0; |
|
1035 | 1035 |
margin-bottom: 8px; |
1036 | 1036 |
text-transform:none; |
1037 | 1037 |
*/ |
... | ... | |
1094 | 1094 |
font-size:13px!important; |
1095 | 1095 |
line-height: 18px; |
1096 | 1096 |
font-weight:normal!important; |
1097 |
margin-top: 0px;
|
|
1097 |
margin-top: 0; |
|
1098 | 1098 |
margin-bottom: 8px; |
1099 | 1099 |
} |
1100 | 1100 |
.nspArt { border-bottom: 1px solid #c5c5c5;} |
... | ... | |
1112 | 1112 |
.nspLinks ul li p { |
1113 | 1113 |
text-transform:none; |
1114 | 1114 |
font-size: 14px; |
1115 |
margin:0px;
|
|
1115 |
margin:0; |
|
1116 | 1116 |
} |
1117 | 1117 |
.readon-button{ |
1118 | 1118 |
background:0!important; |
... | ... | |
1203 | 1203 |
#btl .btl-panel > span .btl-dropdown { border:3!important;} |
1204 | 1204 |
|
1205 | 1205 |
#btl .btl-panel > span{ |
1206 |
border: 0px!important;
|
|
1206 |
border: 0!important; |
|
1207 | 1207 |
background-color: transparent!important; |
1208 | 1208 |
color:#444!important; |
1209 | 1209 |
padding-right:30px; |
1210 | 1210 |
padding-left:6px; |
1211 |
height:0px!important;
|
|
1211 |
height:0!important; |
|
1212 | 1212 |
line-height:20px!important; |
1213 |
margin:0px !important;
|
|
1214 |
box-shadow: 0px 0px 0px;
|
|
1215 |
border-radius:0px!important;
|
|
1213 |
margin:0 !important; |
|
1214 |
box-shadow: 0 0 0;
|
|
1215 |
border-radius:0!important; |
|
1216 | 1216 |
display: inline-table!important; |
1217 | 1217 |
text-transform:none!important; |
1218 | 1218 |
font-size: 14px; |
... | ... | |
1250 | 1250 |
border-bottom-right-radius: 2px; |
1251 | 1251 |
border-top-left-radius: 2px; |
1252 | 1252 |
border-top-right-radius: 2px; |
1253 |
box-shadow: rgba(41, 44, 61, 0.0980392) 2px 15px 50px 0px;
|
|
1253 |
box-shadow: rgba(41, 44, 61, 0.0980392) 2px 15px 50px 0; |
|
1254 | 1254 |
box-sizing: border-box; |
1255 | 1255 |
color: rgb(79, 82, 96); |
1256 | 1256 |
display: none; |
1257 | 1257 |
height: auto; |
1258 |
margin-top: 0px;
|
|
1258 |
margin-top: 0; |
|
1259 | 1259 |
padding-bottom: 25px; |
1260 | 1260 |
padding-left: 25px; |
1261 | 1261 |
padding-right: 25px; |
... | ... | |
1285 | 1285 |
list-style-position: outside; |
1286 | 1286 |
list-style-type: none; |
1287 | 1287 |
padding-bottom: 6px; |
1288 |
padding-left: 0px;
|
|
1289 |
padding-right: 0px;
|
|
1288 |
padding-left: 0; |
|
1289 |
padding-right: 0; |
|
1290 | 1290 |
padding-top: 6px; |
1291 | 1291 |
text-align: left; |
1292 | 1292 |
text-decoration: none; |
... | ... | |
1433 | 1433 |
box-shadow:none; |
1434 | 1434 |
border: 1px solid #eee; |
1435 | 1435 |
|
1436 |
padding:0px 30px 15px 30px;
|
|
1436 |
padding:0 30px 15px 30px; |
|
1437 | 1437 |
|
1438 | 1438 |
background: #fff; |
1439 | 1439 |
color: #767779; |
... | ... | |
1442 | 1442 |
} |
1443 | 1443 |
|
1444 | 1444 |
.ifaq-tpl-clean_blue_arrow .ifaq-collapsible > a { |
1445 |
display: block; padding: 1px 0 1px 0px;
|
|
1445 |
display: block; padding: 1px 0 1px 0; |
|
1446 | 1446 |
background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%236C6D74%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%3E%3C%2Frect%3E%0A%20%20%20%20%3Crect%20fill%3D%22%236C6D74%22%20width%3D%221%22%20height%3D%2213%22%20x%3D%226%22%20y%3D%220%22%3E%3C%2Frect%3E%0A%3C%2Fsvg%3E"); |
1447 | 1447 |
background-repeat: no-repeat; |
1448 | 1448 |
background-position: 98% 50%; |
modules/uoa-repository-dashboard-gui/trunk/src/tsconfig.app.json | ||
---|---|---|
2 | 2 |
"extends": "../tsconfig.json", |
3 | 3 |
"compilerOptions": { |
4 | 4 |
"outDir": "../out-tsc/app", |
5 |
// "module": "es2015", |
|
6 |
"module": "esnext", |
|
7 | 5 |
"types": [] |
8 | 6 |
}, |
9 |
"exclude": [ |
|
10 |
"src/test.ts", |
|
11 |
"**/*.spec.ts" |
|
7 |
"files": [ |
|
8 |
"main.ts", |
|
9 |
"polyfills.ts" |
|
10 |
], |
|
11 |
"include": [ |
|
12 |
"src/**/*.d.ts" |
|
12 | 13 |
] |
13 | 14 |
} |
modules/uoa-repository-dashboard-gui/trunk/src/.browserslistrc | ||
---|---|---|
1 |
# This file is currently used by autoprefixer to adjust CSS to support the below specified browsers |
|
2 |
# For additional information regarding the format and rule options, please see: |
|
3 |
# https://github.com/browserslist/browserslist#queries |
|
4 |
# For IE 9-11 support, please uncomment the last line of the file and adjust as needed |
|
5 |
> 0.5% |
|
6 |
last 2 versions |
|
7 |
Firefox ESR |
|
8 |
not dead |
|
9 |
# IE 9-11 |
|
0 | 10 |
modules/uoa-repository-dashboard-gui/trunk/src/environments/environment.ts | ||
---|---|---|
5 | 5 |
export const environment = { |
6 | 6 |
production: false, |
7 | 7 |
API_ENDPOINT: '/uoa-repository-manager-service', |
8 |
MATOMO_URL: 'https://analytics.openaire.eu/', |
|
9 |
MATOMO_SITE: 9222222, |
|
8 | 10 |
// FAQ_ENDPOINT: 'http://88.197.53.69:5555/api', |
9 | 11 |
// FAQ_HOMEPAGE: 'http://88.197.53.69:5555' |
10 | 12 |
FAQ_ENDPOINT: 'https://provide.openaire.eu/uoa-admin-tools/api', |
... | ... | |
17 | 19 |
* import the following file, but please comment it out in production mode |
18 | 20 |
* because it will have performance impact when throw error |
19 | 21 |
*/ |
20 |
// import 'zone.js/dist/zone-error'; // Included with Angular CLI. |
|
22 |
// import 'zone.js/plugins/zone-error'; // Included with Angular CLI. |
modules/uoa-repository-dashboard-gui/trunk/src/tsconfig.spec.json | ||
---|---|---|
2 | 2 |
"extends": "../tsconfig.json", |
3 | 3 |
"compilerOptions": { |
4 | 4 |
"outDir": "../out-tsc/spec", |
5 |
"module": "commonjs", |
|
6 | 5 |
"types": [ |
7 | 6 |
"jasmine", |
8 | 7 |
"node" |
modules/uoa-repository-dashboard-gui/trunk/package-lock.json | ||
---|---|---|
1 | 1 |
{ |
2 | 2 |
"name": "uoa-repository-manager-ui", |
3 | 3 |
"version": "0.0.0", |
4 |
"lockfileVersion": 2,
|
|
4 |
"lockfileVersion": 1,
|
|
5 | 5 |
"requires": true, |
6 |
"packages": { |
|
7 |
"": { |
|
8 |
"name": "uoa-repository-manager-ui", |
|
9 |
"version": "0.0.0", |
|
10 |
"dependencies": { |
|
11 |
"@angular/animations": "^6.0.3", |
|
12 |
"@angular/common": "^6.0.3", |
|
13 |
"@angular/compiler": "^6.0.3", |
|
14 |
"@angular/core": "^6.0.3", |
|
15 |
"@angular/forms": "^6.0.3", |
|
16 |
"@angular/http": "^6.0.3", |
|
17 |
"@angular/platform-browser": "^6.0.3", |
|
18 |
"@angular/platform-browser-dynamic": "^6.0.3", |
|
19 |
"@angular/router": "^6.0.3", |
|
20 |
"altair": "^1.0.0", |
|
21 |
"angular2-cookie-law": "^6.0.4", |
|
22 |
"bootstrap": "^4.1.3", |
|
23 |
"core-js": "^2.5.4", |
|
24 |
"highcharts": "^7.2.1", |
|
25 |
"highcharts-angular": "^2.4.0", |
|
26 |
"jquery": "^3.4.1", |
|
27 |
"jquery-bez": "^1.0.11", |
|
28 |
"ngx-bootstrap": "^3.0.1", |
|
29 |
"ngx-matomo": "^0.1.2", |
|
30 |
"rxjs": "6.3.3", |
|
31 |
"uikit": "^3.0.0-rc.19", |
|
32 |
"zone.js": "^0.8.26" |
|
33 |
}, |
|
34 |
"devDependencies": { |
|
35 |
"@angular-devkit/build-angular": "~0.6.8", |
|
36 |
"@angular/cli": "~6.0.8", |
|
37 |
"@angular/compiler-cli": "^6.0.3", |
|
38 |
"@angular/language-service": "^6.0.3", |
|
39 |
"@types/jasmine": "~2.8.6", |
|
40 |
"@types/jasminewd2": "~2.0.3", |
|
41 |
"@types/node": "~8.9.4", |
|
42 |
"codelyzer": "~4.2.1", |
|
43 |
"jasmine-core": "~2.99.1", |
|
44 |
"jasmine-spec-reporter": "~4.2.1", |
|
45 |
"karma": "~4.0.0", |
|
46 |
"karma-chrome-launcher": "~2.2.0", |
|
47 |
"karma-coverage-istanbul-reporter": "~2.0.0", |
|
48 |
"karma-jasmine": "~1.1.1", |
|
49 |
"karma-jasmine-html-reporter": "^0.2.2", |
|
50 |
"node-sass": "^4.0.0", |
|
51 |
"protractor": "^5.4.1", |
|
52 |
"ts-node": "~5.0.1", |
|
53 |
"tslint": "~5.9.1", |
|
54 |
"typescript": "~2.7.2" |
|
55 |
} |
|
56 |
}, |
|
57 |
"node_modules/@angular-devkit/architect": { |
|
58 |
"version": "0.6.8", |
|
59 |
"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.6.8.tgz", |
|
60 |
"integrity": "sha512-ZKTm/zC61iY9IBHOEAKoMSzZpvhkmv+1O/HHzpHEuR551jCzu6vSyCmMY9Z7GBcccscCV+hjeSMwgFrFRcqlkw==", |
|
6 |
"dependencies": { |
|
7 |
"@angular-devkit/architect": { |
|
8 |
"version": "0.1201.2", |
|
9 |
"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1201.2.tgz", |
|
10 |
"integrity": "sha512-hR5kI03WoeEY9dkAsQNLlhL1iEFC2L77ansaKquN+HCAeOGHby4w95suSlZUAg0r6ZhPhPH0tkIRZXU9NMa09g==", |
|
61 | 11 |
"dev": true, |
62 |
"dependencies": { |
|
63 |
"@angular-devkit/core": "0.6.8", |
|
64 |
"rxjs": "^6.0.0" |
|
65 |
}, |
|
66 |
"engines": { |
|
67 |
"node": ">= 8.9.0", |
|
68 |
"npm": ">= 5.5.1" |
|
12 |
"requires": { |
|
13 |
"@angular-devkit/core": "12.1.2", |
|
14 |
"rxjs": "6.6.7" |
|
69 | 15 |
} |
70 | 16 |
}, |
71 |
"node_modules/@angular-devkit/build-angular": {
|
|
72 |
"version": "0.6.8",
|
|
73 |
"resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.6.8.tgz",
|
|
74 |
"integrity": "sha512-VGqYAk8jpISraz2UHfsDre270NOUmV0CTSZw2p9sm5g/XIr5m+IHetFZz3gpoAr9+If2aFTs8Rt3sGdCRzwBqA==",
|
|
17 |
"@angular-devkit/build-angular": { |
|
18 |
"version": "12.1.2",
|
|
19 |
"resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-12.1.2.tgz",
|
|
20 |
"integrity": "sha512-tclYPz2fT422D7dCwAY0+NzGlWGaDbOzba4SJs4klbluzfl0vLyBq+mbKGc5HtDj8NMwvd/1yIcBiCJYEYXwiA==",
|
|
75 | 21 |
"dev": true, |
76 |
"dependencies": { |
|
77 |
"@angular-devkit/architect": "0.6.8", |
|
78 |
"@angular-devkit/build-optimizer": "0.6.8", |
|
79 |
"@angular-devkit/core": "0.6.8", |
Also available in: Unified diff
Merging angular-upgrade branch