Revision 61408
Added by Konstantinos Triantafyllou almost 3 years ago
modules/uoa-monitor-portal/trunk/monitor_dashboard/webpack.server.config.js | ||
---|---|---|
1 |
// Work around for https://github.com/angular/angular-cli/issues/7200 |
|
2 |
|
|
3 |
const path = require('path'); |
|
4 |
const webpack = require('webpack'); |
|
5 |
|
|
6 |
module.exports = { |
|
7 |
//mode: 'none', |
|
8 |
entry: { |
|
9 |
// This is our Express server for Dynamic universal |
|
10 |
server: './server.ts', |
|
11 |
// This is an example of Static prerendering (generative) |
|
12 |
prerender: './prerender.ts' |
|
13 |
}, |
|
14 |
target: 'node', |
|
15 |
resolve: { extensions: ['.ts', '.js'] }, |
|
16 |
// Make sure we include all node_modules etc |
|
17 |
externals: [/(node_modules|main\..*\.js)/,], |
|
18 |
optimization: { |
|
19 |
minimize: false |
|
20 |
}, |
|
21 |
output: { |
|
22 |
// Puts the output at the root of the dist folder |
|
23 |
path: path.join(__dirname, 'dist'), |
|
24 |
filename: '[name].js' |
|
25 |
}, |
|
26 |
module: { |
|
27 |
rules: [ |
|
28 |
{ test: /\.ts$/, loader: 'ts-loader' } |
|
29 |
,{ |
|
30 |
// Mark files inside `@angular/core` as using SystemJS style dynamic imports. |
|
31 |
// Removing this will cause deprecation warnings to appear. |
|
32 |
test: /(\\|\/)@angular(\\|\/)core(\\|\/).+\.js$/, |
|
33 |
parser: { system: true }, |
|
34 |
}, |
|
35 |
] |
|
36 |
}, |
|
37 |
plugins: [ |
|
38 |
new webpack.ContextReplacementPlugin( |
|
39 |
// fixes WARNING Critical dependency: the request of a dependency is an expression |
|
40 |
/(.+)?angular(\\|\/)core(.+)?/, |
|
41 |
path.join(__dirname, 'src'), // location of your src |
|
42 |
{} // a map of your routes |
|
43 |
), |
|
44 |
new webpack.ContextReplacementPlugin( |
|
45 |
// fixes WARNING Critical dependency: the request of a dependency is an expression |
|
46 |
/(.+)?express(\\|\/)(.+)?/, |
|
47 |
path.join(__dirname, 'src'), |
|
48 |
{} |
|
49 |
) |
|
50 |
] |
|
51 |
} |
modules/uoa-monitor-portal/trunk/monitor_dashboard/static.paths.ts | ||
---|---|---|
1 |
export const ROUTES = [ |
|
2 |
'/', |
|
3 |
'/lazy', |
|
4 |
'/home', |
|
5 |
'/search/publication','/search/other','/search/project','/search/dataset','/search/dataprovider','/search/organization', |
|
6 |
'/search/find', |
|
7 |
'/search/person','/search/publication','/search/project','/search/dataset','/search/dataprovider','/search/organization', |
|
8 |
'/search/find/people','/search/find/publications','/search/find/other','/search/find/projects','/search/find/datasets','/search/find/dataproviders','/search/find/organizations', |
|
9 |
'/search/advanced/people','/search/advanced/publications','/search/advanced/other','/search/advanced/projects','/search/advanced/datasets','/search/advanced/dataproviders','/search/advanced/organizations', |
|
10 |
'/participate/deposit-publications','/participate/deposit-datasets','/participate/deposit-publications-result','/participate/deposit-datasets-result','/participate/deposit-subject-result', |
|
11 |
'/search/content-providers','/search/content-providers-table','/search/entity-registries','/search/entity-registries-table','/search/journals','/search/journals-table', |
|
12 |
'/project-report','/claims','/myclaims','/participate/claim','/participate/direct-claim','/claims-project-manager', |
|
13 |
'/test','/user-info', |
|
14 |
'/error', '/*path' |
|
15 |
]; |
modules/uoa-monitor-portal/trunk/monitor_dashboard/prerender.ts | ||
---|---|---|
1 |
// Load zone.js for the server. |
|
2 |
import 'zone.js/dist/zone-node'; |
|
3 |
import 'reflect-metadata'; |
|
4 |
import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'fs'; |
|
5 |
import { join } from 'path'; |
|
6 |
|
|
7 |
import { enableProdMode } from '@angular/core'; |
|
8 |
// Faster server renders w/ Prod mode (dev mode never needed) |
|
9 |
enableProdMode(); |
|
10 |
|
|
11 |
// Express Engine |
|
12 |
import { ngExpressEngine } from '@nguniversal/express-engine'; |
|
13 |
// Import module map for lazy loading |
|
14 |
import { provideModuleMap } from '@nguniversal/module-map-ngfactory-loader'; |
|
15 |
import { renderModuleFactory } from '@angular/platform-server'; |
|
16 |
import { ROUTES } from './static.paths'; |
|
17 |
|
|
18 |
// * NOTE :: leave this as require() since this file is built Dynamically from webpack |
|
19 |
const { AppServerModuleNgFactory, LAZY_MODULE_MAP } = require('./dist/server/main'); |
|
20 |
|
|
21 |
const BROWSER_FOLDER = join(process.cwd(), 'browser'); |
|
22 |
|
|
23 |
// Load the index.html file containing referances to your application bundle. |
|
24 |
const index = readFileSync(join('browser', 'index.html'), 'utf8'); |
|
25 |
|
|
26 |
let previousRender = Promise.resolve(); |
|
27 |
|
|
28 |
// Iterate each route path |
|
29 |
ROUTES.forEach(route => { |
|
30 |
const fullPath = join(BROWSER_FOLDER, route); |
|
31 |
|
|
32 |
// Make sure the directory structure is there |
|
33 |
if(!existsSync(fullPath)){ |
|
34 |
mkdirSync(fullPath); |
|
35 |
} |
|
36 |
|
|
37 |
// Writes rendered HTML to index.html, replacing the file if it already exists. |
|
38 |
previousRender = previousRender.then(_ => renderModuleFactory(AppServerModuleNgFactory, { |
|
39 |
document: index, |
|
40 |
url: route, |
|
41 |
extraProviders: [ |
|
42 |
provideModuleMap(LAZY_MODULE_MAP) |
|
43 |
] |
|
44 |
})).then(html => writeFileSync(join(fullPath, 'index.html'), html)); |
|
45 |
}); |
modules/uoa-monitor-portal/trunk/monitor_dashboard/angular.json | ||
---|---|---|
1 | 1 |
{ |
2 |
"$schema": "./node_modules/@angular-devkit/core/src/workspace/workspace-schema.json",
|
|
2 |
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
|
|
3 | 3 |
"version": 1, |
4 | 4 |
"newProjectRoot": "projects", |
5 | 5 |
"projects": { |
6 |
"ng-universal-demo": {
|
|
6 |
"monitor-dashboard": {
|
|
7 | 7 |
"root": "", |
8 | 8 |
"sourceRoot": "src", |
9 | 9 |
"projectType": "application", |
10 |
"prefix": "app", |
|
11 |
"schematics": { |
|
12 |
"@schematics/angular:class": { |
|
13 |
"skipTests": true |
|
14 |
}, |
|
15 |
"@schematics/angular:component": { |
|
16 |
"skipTests": true |
|
17 |
}, |
|
18 |
"@schematics/angular:directive": { |
|
19 |
"skipTests": true |
|
20 |
}, |
|
21 |
"@schematics/angular:guard": { |
|
22 |
"skipTests": true |
|
23 |
}, |
|
24 |
"@schematics/angular:module": { |
|
25 |
"skipTests": true |
|
26 |
}, |
|
27 |
"@schematics/angular:pipe": { |
|
28 |
"skipTests": true |
|
29 |
}, |
|
30 |
"@schematics/angular:service": { |
|
31 |
"skipTests": true |
|
32 |
} |
|
33 |
}, |
|
10 | 34 |
"architect": { |
11 | 35 |
"build": { |
12 | 36 |
"builder": "@angular-devkit/build-angular:browser", |
13 | 37 |
"options": { |
14 |
"outputPath": "dist/browser", |
|
38 |
"aot": true, |
|
39 |
"outputPath": "dist/monitor-dashboard/browser", |
|
15 | 40 |
"index": "src/index.html", |
16 | 41 |
"main": "src/main.ts", |
42 |
"polyfills": "src/polyfills.ts", |
|
17 | 43 |
"tsConfig": "src/tsconfig.app.json", |
18 |
"polyfills": "src/polyfills.ts", |
|
19 | 44 |
"assets": [ |
20 | 45 |
"src/assets", |
21 | 46 |
"src/robots.txt" |
... | ... | |
36 | 61 |
"optimization": true, |
37 | 62 |
"outputHashing": "all", |
38 | 63 |
"sourceMap": false, |
39 |
"extractCss": true, |
|
40 | 64 |
"namedChunks": false, |
41 | 65 |
"aot": true, |
42 | 66 |
"extractLicenses": true, |
43 | 67 |
"vendorChunk": false, |
44 |
"buildOptimizer": true |
|
68 |
"buildOptimizer": true, |
|
69 |
"budgets": [ |
|
70 |
{ |
|
71 |
"type": "initial", |
|
72 |
"maximumWarning": "2mb", |
|
73 |
"maximumError": "5mb" |
|
74 |
}, |
|
75 |
{ |
|
76 |
"type": "anyComponentStyle", |
|
77 |
"maximumWarning": "6kb" |
|
78 |
} |
|
79 |
] |
|
45 | 80 |
}, |
46 |
"production": { |
|
81 |
"beta": { |
|
82 |
"fileReplacements": [ |
|
83 |
{ |
|
84 |
"replace": "src/environments/environment.ts", |
|
85 |
"with": "src/environments/environment.beta.ts" |
|
86 |
} |
|
87 |
], |
|
47 | 88 |
"optimization": true, |
48 | 89 |
"outputHashing": "all", |
49 | 90 |
"sourceMap": false, |
50 |
"extractCss": true, |
|
51 | 91 |
"namedChunks": false, |
52 | 92 |
"aot": true, |
53 | 93 |
"extractLicenses": true, |
54 | 94 |
"vendorChunk": false, |
55 | 95 |
"buildOptimizer": true, |
56 |
"fileReplacements": [
|
|
96 |
"budgets": [
|
|
57 | 97 |
{ |
58 |
"replace": "src/environments/environment.ts", |
|
59 |
"with": "src/environments/environment.prod.ts" |
|
98 |
"type": "initial", |
|
99 |
"maximumWarning": "2mb", |
|
100 |
"maximumError": "5mb" |
|
60 | 101 |
}, |
61 | 102 |
{ |
62 |
"replace": "src/index.html", |
|
63 |
"with": "src/index.prod.html" |
|
64 |
}, |
|
65 |
{ |
|
66 |
"replace": "src/robots.txt", |
|
67 |
"with": "src/robots.prod.txt" |
|
103 |
"type": "anyComponentStyle", |
|
104 |
"maximumWarning": "6kb" |
|
68 | 105 |
} |
69 | 106 |
] |
70 | 107 |
}, |
71 |
"beta": { |
|
108 |
"production": { |
|
109 |
"assets": [ |
|
110 |
"src/assets", |
|
111 |
{ |
|
112 |
"input": "src/prod/", |
|
113 |
"output": "/", |
|
114 |
"glob": "*.txt" |
|
115 |
} |
|
116 |
], |
|
117 |
"index": { |
|
118 |
"input": "src/prod/index.html", |
|
119 |
"output": "index.html" |
|
120 |
}, |
|
121 |
"fileReplacements": [ |
|
122 |
{ |
|
123 |
"replace": "src/environments/environment.ts", |
|
124 |
"with": "src/environments/environment.prod.ts" |
|
125 |
} |
|
126 |
], |
|
72 | 127 |
"optimization": true, |
73 | 128 |
"outputHashing": "all", |
74 | 129 |
"sourceMap": false, |
75 |
"extractCss": true, |
|
76 | 130 |
"namedChunks": false, |
77 | 131 |
"aot": true, |
78 | 132 |
"extractLicenses": true, |
79 | 133 |
"vendorChunk": false, |
80 | 134 |
"buildOptimizer": true, |
81 |
"fileReplacements": [
|
|
135 |
"budgets": [
|
|
82 | 136 |
{ |
83 |
"replace": "src/environments/environment.ts", |
|
84 |
"with": "src/environments/environment.beta.ts" |
|
137 |
"type": "initial", |
|
138 |
"maximumWarning": "2mb", |
|
139 |
"maximumError": "5mb" |
|
140 |
}, |
|
141 |
{ |
|
142 |
"type": "anyComponentStyle", |
|
143 |
"maximumWarning": "6kb" |
|
85 | 144 |
} |
86 | 145 |
] |
87 | 146 |
} |
... | ... | |
90 | 149 |
"serve": { |
91 | 150 |
"builder": "@angular-devkit/build-angular:dev-server", |
92 | 151 |
"options": { |
93 |
"browserTarget": "ng-universal-demo:build"
|
|
152 |
"browserTarget": "monitor-dashboard:build"
|
|
94 | 153 |
}, |
95 | 154 |
"configurations": { |
96 | 155 |
"production": { |
97 |
"browserTarget": "ng-universal-demo:build:production" |
|
98 |
}, |
|
99 |
"beta": { |
|
100 |
"browserTarget": "ng-universal-demo:build:beta" |
|
101 |
}, |
|
102 |
"development": { |
|
103 |
"browserTarget": "ng-universal-demo:build:development" |
|
156 |
"browserTarget": "monitor-dashboard:build:production" |
|
104 | 157 |
} |
105 | 158 |
} |
106 | 159 |
}, |
107 | 160 |
"extract-i18n": { |
108 | 161 |
"builder": "@angular-devkit/build-angular:extract-i18n", |
109 | 162 |
"options": { |
110 |
"browserTarget": "ng-universal-demo:build"
|
|
163 |
"browserTarget": "monitor-dashboard:build"
|
|
111 | 164 |
} |
112 | 165 |
}, |
113 | 166 |
"test": { |
114 | 167 |
"builder": "@angular-devkit/build-angular:karma", |
115 | 168 |
"options": { |
116 | 169 |
"main": "src/test.ts", |
117 |
"karmaConfig": "./karma.conf.js", |
|
118 | 170 |
"polyfills": "src/polyfills.ts", |
119 | 171 |
"tsConfig": "src/tsconfig.spec.json", |
120 |
"scripts": [ |
|
121 |
"src/assets/common-assets/common/jquery.js", |
|
122 |
"src/assets/common-assets/common/uikit.min.js", |
|
123 |
"src/assets/common-assets/common/uikit-icons.min.js", |
|
124 |
"node_modules/jquery/dist/jquery.js" |
|
125 |
], |
|
172 |
"karmaConfig": "src/karma.conf.js", |
|
126 | 173 |
"styles": [ |
127 | 174 |
"src/styles.css" |
128 | 175 |
], |
176 |
"scripts": [], |
|
129 | 177 |
"assets": [ |
130 |
"src/assets", |
|
131 |
"src/robots.txt" |
|
178 |
"src/assets" |
|
132 | 179 |
] |
133 | 180 |
} |
134 | 181 |
}, |
... | ... | |
147 | 194 |
"server": { |
148 | 195 |
"builder": "@angular-devkit/build-angular:server", |
149 | 196 |
"options": { |
150 |
"outputPath": "dist/server", |
|
151 |
"main": "src/main.server.ts",
|
|
197 |
"outputPath": "dist/monitor-dashboard/server",
|
|
198 |
"main": "server.ts", |
|
152 | 199 |
"tsConfig": "src/tsconfig.server.json" |
153 | 200 |
}, |
154 | 201 |
"configurations": { |
155 |
"production": { |
|
202 |
"development": { |
|
203 |
"outputHashing": "media", |
|
204 |
"sourceMap": false, |
|
205 |
"optimization": true |
|
206 |
}, |
|
207 |
"beta": { |
|
208 |
"outputHashing": "media", |
|
156 | 209 |
"fileReplacements": [ |
157 | 210 |
{ |
158 | 211 |
"replace": "src/environments/environment.ts", |
159 |
"with": "src/environments/environment.prod.ts" |
|
160 |
}, |
|
161 |
{ |
|
162 |
"replace": "src/index.html", |
|
163 |
"with": "src/index.prod.html" |
|
164 |
}, |
|
165 |
{ |
|
166 |
"replace": "src/robots.txt", |
|
167 |
"with": "src/robots.prod.txt" |
|
212 |
"with": "src/environments/environment.beta.ts" |
|
168 | 213 |
} |
169 |
] |
|
214 |
], |
|
215 |
"sourceMap": false, |
|
216 |
"optimization": true |
|
170 | 217 |
}, |
171 |
"beta": { |
|
218 |
"production": { |
|
219 |
"outputHashing": "media", |
|
172 | 220 |
"fileReplacements": [ |
173 | 221 |
{ |
174 | 222 |
"replace": "src/environments/environment.ts", |
175 |
"with": "src/environments/environment.beta.ts"
|
|
223 |
"with": "src/environments/environment.prod.ts"
|
|
176 | 224 |
} |
177 |
] |
|
178 |
}, |
|
179 |
"development": {} |
|
225 |
], |
|
226 |
"sourceMap": false, |
|
227 |
"optimization": true |
|
228 |
} |
|
180 | 229 |
} |
230 |
}, |
|
231 |
"serve-ssr": { |
|
232 |
"builder": "@nguniversal/builders:ssr-dev-server", |
|
233 |
"options": { |
|
234 |
"browserTarget": "monitor-dashboard:build", |
|
235 |
"serverTarget": "monitor-dashboard:server" |
|
236 |
}, |
|
237 |
"configurations": { |
|
238 |
"production": { |
|
239 |
"browserTarget": "monitor-dashboard:build:production", |
|
240 |
"serverTarget": "monitor-dashboard:server:production" |
|
241 |
} |
|
242 |
} |
|
243 |
}, |
|
244 |
"prerender": { |
|
245 |
"builder": "@nguniversal/builders:prerender", |
|
246 |
"options": { |
|
247 |
"browserTarget": "monitor-dashboard:build:production", |
|
248 |
"serverTarget": "monitor-dashboard:server:production", |
|
249 |
"routes": [ |
|
250 |
"/" |
|
251 |
] |
|
252 |
}, |
|
253 |
"configurations": { |
|
254 |
"production": {} |
|
255 |
} |
|
181 | 256 |
} |
182 | 257 |
} |
183 | 258 |
}, |
184 |
"ng-universal-demo-e2e": { |
|
185 |
"root": "e2e", |
|
186 |
"sourceRoot": "e2e", |
|
259 |
"monitor-dashboard-e2e": { |
|
260 |
"root": "e2e/", |
|
187 | 261 |
"projectType": "application", |
262 |
"prefix": "", |
|
188 | 263 |
"architect": { |
189 | 264 |
"e2e": { |
190 | 265 |
"builder": "@angular-devkit/build-angular:protractor", |
191 | 266 |
"options": { |
192 |
"protractorConfig": "./protractor.conf.js", |
|
193 |
"devServerTarget": "ng-universal-demo:serve" |
|
267 |
"protractorConfig": "e2e/protractor.conf.js", |
|
268 |
"devServerTarget": "monitor-dashboard:serve" |
|
269 |
}, |
|
270 |
"configurations": { |
|
271 |
"production": { |
|
272 |
"devServerTarget": "monitor-dashboard:serve:production" |
|
273 |
} |
|
194 | 274 |
} |
195 | 275 |
}, |
196 | 276 |
"lint": { |
197 | 277 |
"builder": "@angular-devkit/build-angular:tslint", |
198 | 278 |
"options": { |
199 |
"tsConfig": [ |
|
200 |
"e2e/tsconfig.e2e.json" |
|
201 |
], |
|
279 |
"tsConfig": "e2e/tsconfig.e2e.json", |
|
202 | 280 |
"exclude": [ |
203 | 281 |
"**/node_modules/**" |
204 | 282 |
] |
... | ... | |
207 | 285 |
} |
208 | 286 |
} |
209 | 287 |
}, |
210 |
"defaultProject": "ng-universal-demo", |
|
211 |
"schematics": { |
|
212 |
"@schematics/angular:class": { |
|
213 |
"spec": false |
|
214 |
}, |
|
215 |
"@schematics/angular:component": { |
|
216 |
"spec": false, |
|
217 |
"inlineStyle": true, |
|
218 |
"inlineTemplate": true, |
|
219 |
"prefix": "app", |
|
220 |
"styleext": "css" |
|
221 |
}, |
|
222 |
"@schematics/angular:directive": { |
|
223 |
"spec": false, |
|
224 |
"prefix": "app" |
|
225 |
}, |
|
226 |
"@schematics/angular:guard": { |
|
227 |
"spec": false |
|
228 |
}, |
|
229 |
"@schematics/angular:module": { |
|
230 |
"spec": false |
|
231 |
}, |
|
232 |
"@schematics/angular:pipe": { |
|
233 |
"spec": false |
|
234 |
}, |
|
235 |
"@schematics/angular:service": { |
|
236 |
"spec": false |
|
237 |
} |
|
238 |
} |
|
288 |
"defaultProject": "monitor-dashboard" |
|
239 | 289 |
} |
modules/uoa-monitor-portal/trunk/monitor_dashboard/package.json | ||
---|---|---|
1 | 1 |
{ |
2 |
"name": "openaire-monitor",
|
|
2 |
"name": "monitor-dashboard",
|
|
3 | 3 |
"version": "1.0.0", |
4 |
"license": "Openaire", |
|
5 |
"contributors": [ |
|
6 |
"Argiro Kokogiannaki <argirok@di.uoa.gr>", |
|
7 |
"Konstantina Galouni <kgalouni@di.uoa.gr>" |
|
8 |
], |
|
9 | 4 |
"scripts": { |
10 | 5 |
"ng": "ng", |
11 |
"start": " ng serve --port 4600 --disable-host-check --host 0.0.0.0 --base-href /dashboard/", |
|
12 |
"start:ssr": "npm run build:ssr && npm run serve:ssr", |
|
13 |
"start:prerender": "npm run build:prerender && npm run serve:prerender", |
|
14 |
"start:ssr-beta": "npm run build:ssr-beta && npm run serve:ssr", |
|
15 |
"start:prerender-beta": "npm run build:prerender-beta && npm run serve:prerender", |
|
16 |
"start:ssr-dev": "npm run build:ssr-dev && npm run serve:ssr", |
|
17 |
"start:prerender-dev": "npm run build:prerender-dev && npm run serve:prerender", |
|
6 |
"start": "ng serve --port 4600 --disable-host-check --host 0.0.0.0", |
|
18 | 7 |
"build": "ng build", |
19 |
"build:client-and-server-bundles": "ng build --prod --sourceMap --stats-json=true --base-href /dashboard/ && ng run ng-universal-demo:server:production",
|
|
20 |
"build:client-and-server-bundles-beta": "ng build --configuration=beta --sourceMap --stats-json=true --base-href /dashboard/ && ng run ng-universal-demo:server:beta",
|
|
21 |
"build:client-and-server-bundles-dev": "ng build --configuration=development --sourceMap --stats-json=true && ng run ng-universal-demo:server:development",
|
|
22 |
"build:prerender": "npm run build:client-and-server-bundles && npm run webpack:server && npm run generate:prerender",
|
|
23 |
"build:ssr": "npm run build:client-and-server-bundles && npm run webpack:server",
|
|
24 |
"build:prerender-beta": "npm run build:client-and-server-bundles-beta && npm run webpack:server && npm run generate:prerender",
|
|
25 |
"build:ssr-beta": "npm run build:client-and-server-bundles-beta && npm run webpack:server",
|
|
26 |
"build:prerender-dev": "npm run build:client-and-server-bundles-dev && npm run webpack:server && npm run generate:prerender",
|
|
27 |
"build:ssr-dev": "npm run build:client-and-server-bundles-dev && npm run webpack:server",
|
|
28 |
"generate:prerender": "cd dist && node prerender",
|
|
29 |
"webpack:server": "webpack --config webpack.server.config.js --progress --colors",
|
|
30 |
"serve:prerender": "cd dist/browser && http-server",
|
|
31 |
"serve:ssr": "node dist/server",
|
|
32 |
"after-build-clean": "rm -rf src node_modules .idea/ installOpenaireLib.sh deploy dist/browser/assets/common-assets/.svn/ dist/browser/stats.json ; "
|
|
8 |
"build-dev": "ng build --configuration=development --source-map --base-href /dashboard/",
|
|
9 |
"build-beta": "ng build --configuration=beta --base-href /dashboard/ --source-map",
|
|
10 |
"build-prod": "ng build --prod --base-href /dashboard/ --sourceMap ",
|
|
11 |
"webpack-bundle-analyzer": "ng build --stats-json && webpack-bundle-analyzer dist/monitor-dashboard/browser/stats.json --host 0.0.0.0",
|
|
12 |
"test": "ng test",
|
|
13 |
"e2e": "ng e2e",
|
|
14 |
"dev:ssr": "ng run monitor-dashboard:serve-ssr",
|
|
15 |
"serve:ssr": "node dist/monitor-dashboard/server/main.js",
|
|
16 |
"build:ssr-dev": "npm run build-dev && ng run monitor-dashboard:server:development",
|
|
17 |
"build:ssr-beta": "npm run build-beta && ng run monitor-dashboard:server:beta",
|
|
18 |
"build:ssr-prod": "npm run build-prod && ng run monitor-dashboard:server:production",
|
|
19 |
"prerender": "ng run monitor-dashboard:prerender",
|
|
20 |
"postinstall": "chmod +x clean-library.sh && ./clean-library.sh",
|
|
21 |
"after-build-clean": "rm -rf dist/monitor-dashboard/browser/assets/common-assets/.svn/ src/app/openaireLibrary/.svn node_modules src/assets/common-assets/.svn/"
|
|
33 | 22 |
}, |
34 | 23 |
"private": true, |
35 | 24 |
"dependencies": { |
36 |
"@angular/animations": "^7.2.14", |
|
37 |
"@angular/cdk": "^7.3.7", |
|
38 |
"@angular/common": "7.2.14", |
|
39 |
"@angular/compiler": "7.2.14", |
|
40 |
"@angular/core": "7.2.14", |
|
41 |
"@angular/forms": "7.2.14", |
|
42 |
"@angular/http": "7.2.14", |
|
43 |
"@angular/material": "^7.3.7", |
|
44 |
"@angular/platform-browser": "7.2.14", |
|
45 |
"@angular/platform-browser-dynamic": "7.2.14", |
|
46 |
"@angular/platform-server": "7.2.14", |
|
47 |
"@angular/router": "7.2.14", |
|
48 |
"@nguniversal/express-engine": "^6.0.0", |
|
49 |
"@nguniversal/module-map-ngfactory-loader": "^6.0.0", |
|
50 |
"@types/express": "^4.16.1", |
|
25 |
"@angular/animations": "~11.2.14", |
|
26 |
"@angular/cdk": "^11.2.13", |
|
27 |
"@angular/common": "~11.2.14", |
|
28 |
"@angular/compiler": "~11.2.14", |
|
29 |
"@angular/core": "~11.2.14", |
|
30 |
"@angular/forms": "~11.2.14", |
|
31 |
"@angular/localize": "^11.2.14", |
|
32 |
"@angular/material": "^11.2.13", |
|
33 |
"@angular/platform-browser": "~11.2.14", |
|
34 |
"@angular/platform-browser-dynamic": "~11.2.14", |
|
35 |
"@angular/platform-server": "~11.2.14", |
|
36 |
"@angular/router": "~11.2.14", |
|
37 |
"@nguniversal/express-engine": "^11.2.1", |
|
51 | 38 |
"clipboard": "^1.5.16", |
52 |
"core-js": "^2.4.1", |
|
39 |
"core-js": "^2.5.4", |
|
40 |
"express": "^4.15.2", |
|
53 | 41 |
"jquery": "^3.4.1", |
54 |
"ng-recaptcha": "^3.0.5", |
|
55 |
"ng2-ckeditor": "1.1.9", |
|
56 |
"ngx-json-ld": "0.1.6", |
|
57 |
"nouislider": "^14.6.0", |
|
58 |
"prom-client": "^11.3.0", |
|
42 |
"ng-recaptcha": "^7.0.1", |
|
43 |
"ng2-ckeditor": "1.3.1", |
|
44 |
"rxjs": "^6.5.1", |
|
59 | 45 |
"ts-md5": "^1.2.0", |
60 |
"tslib": "^1.9.0",
|
|
61 |
"zone.js": "^0.8.26"
|
|
46 |
"tslib": "^2.0.0",
|
|
47 |
"zone.js": "~0.10.2"
|
|
62 | 48 |
}, |
63 | 49 |
"devDependencies": { |
64 |
"@angular-devkit/build-angular": "~0.13.0", |
|
65 |
"@angular/cli": "^7.3.9", |
|
66 |
"@angular/compiler-cli": "7.2.14", |
|
67 |
"@angular/language-service": "7.2.14", |
|
68 |
"@types/jquery": "^3.3.29", |
|
69 |
"@types/node": "^8.0.30", |
|
70 |
"cpy-cli": "^1.0.1", |
|
71 |
"http-server": "^0.10.0", |
|
72 |
"reflect-metadata": "^0.1.10", |
|
73 |
"rxjs": "6.5.1", |
|
74 |
"rxjs-compat": "^6.5.1", |
|
75 |
"ts-loader": "^4.2.0", |
|
76 |
"typescript": "3.2.4", |
|
77 |
"webpack-cli": "^3.3.2" |
|
50 |
"@angular-devkit/build-angular": "~0.1102.14", |
|
51 |
"@angular/cli": "~11.2.14", |
|
52 |
"@angular/compiler-cli": "~11.2.14", |
|
53 |
"@angular/language-service": "~11.2.14", |
|
54 |
"@nguniversal/builders": "^11.2.1", |
|
55 |
"@types/express": "^4.17.0", |
|
56 |
"@types/compression": "^1.7.0", |
|
57 |
"@types/node": "^12.11.1", |
|
58 |
"@types/jasmine": "~3.6.0", |
|
59 |
"@types/jasminewd2": "~2.0.3", |
|
60 |
"codelyzer": "^6.0.0", |
|
61 |
"jasmine-core": "~3.8.0", |
|
62 |
"jasmine-spec-reporter": "~5.0.0", |
|
63 |
"karma": "~6.3.3", |
|
64 |
"karma-chrome-launcher": "~3.1.0", |
|
65 |
"karma-coverage-istanbul-reporter": "~3.0.2", |
|
66 |
"karma-jasmine": "~4.0.0", |
|
67 |
"karma-jasmine-html-reporter": "^1.6.0", |
|
68 |
"protractor": "~7.0.0", |
|
69 |
"ts-node": "~7.0.0", |
|
70 |
"typescript": "~4.0.7" |
|
78 | 71 |
} |
79 | 72 |
} |
modules/uoa-monitor-portal/trunk/monitor_dashboard/tsconfig.json | ||
---|---|---|
1 | 1 |
{ |
2 | 2 |
"compileOnSave": false, |
3 | 3 |
"compilerOptions": { |
4 |
"importHelpers": true, |
|
4 |
"baseUrl": "./", |
|
5 |
"downlevelIteration": true, |
|
5 | 6 |
"outDir": "./dist/out-tsc", |
6 | 7 |
"sourceMap": true, |
7 | 8 |
"declaration": false, |
9 |
"module": "es2020", |
|
8 | 10 |
"moduleResolution": "node", |
9 | 11 |
"emitDecoratorMetadata": true, |
10 | 12 |
"experimentalDecorators": true, |
11 |
"target": "es5", |
|
13 |
"importHelpers": true, |
|
14 |
"target": "es2015", |
|
12 | 15 |
"typeRoots": [ |
13 | 16 |
"node_modules/@types" |
14 | 17 |
], |
15 | 18 |
"lib": [ |
16 |
"es2017",
|
|
19 |
"es2018",
|
|
17 | 20 |
"dom" |
18 |
], |
|
19 |
"module": "es2015", |
|
20 |
"baseUrl": "./" |
|
21 |
] |
|
21 | 22 |
} |
22 |
} |
|
23 |
} |
modules/uoa-monitor-portal/trunk/monitor_dashboard/.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 |
# |
|
5 |
# For IE 9-11 support, please remove 'not' from the last line of the file and adjust as needed |
|
6 |
|
|
7 |
> 0.5% |
|
8 |
last 2 versions |
|
9 |
Firefox ESR |
|
10 |
not dead |
|
11 |
not IE 9-11 |
modules/uoa-monitor-portal/trunk/monitor_dashboard/src/robots.prod.txt | ||
---|---|---|
1 |
User-Agent: * |
|
2 |
Disallow: /admin |
|
3 |
Crawl-delay: 30 |
modules/uoa-monitor-portal/trunk/monitor_dashboard/src/index.prod.html | ||
---|---|---|
1 |
<!DOCTYPE html> |
|
2 |
<html lang="en" dir="ltr" vocab="http://schema.org/"> |
|
3 |
<head> |
|
4 |
<meta charset="utf-8"> |
|
5 |
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
|
6 |
<meta name="viewport" content="width=device-width, initial-scale=1"> |
|
7 |
<base href="/"/> |
|
8 |
<meta http-equiv="content-type" content="text/html; charset=utf-8"/> |
|
9 |
<meta name="description" content="OpenAIRE Monitor, funder, funding, research, "/> |
|
10 |
<meta property="og:description" content="OpenAIRE Monitor, funder, funding"/> |
|
11 |
<meta property="og:title" content="OpenAIRE - Monitor "/> |
|
12 |
|
|
13 |
<meta property="og:type" content="website"/> |
|
14 |
<meta property="og:url" content="https://monitor.openaire.eu"/> |
|
15 |
<meta name="robots" content="noindex"> |
|
16 |
<meta property="og:site_name" content="OpenAIRE - Monitor"/> |
|
17 |
|
|
18 |
<meta property="og:image" content="assets/common-assets/common/Symbol.png"/> |
|
19 |
<meta property="og:image:secure_url" content="assets/common-assets/common/Symbol.png"/> |
|
20 |
<meta property="og:image:type" content="image/png"/> |
|
21 |
<meta property="og:image:width" content="360"/> |
|
22 |
<meta property="og:image:height" content="359"/> |
|
23 |
<meta name="robots" content="noindex"> |
|
24 |
<meta name="msapplication-TileColor" content="#ffffff"> |
|
25 |
<meta name="msapplication-TileImage" content="/ms-icon-144x144.png"> |
|
26 |
<meta name="theme-color" content="#ffffff"> |
|
27 |
</head> |
|
28 |
<body class="dashboard"> |
|
29 |
<div> |
|
30 |
<app-root></app-root> |
|
31 |
</div> |
|
32 |
</body> |
|
33 |
<script src="https://cdn.ckeditor.com/4.5.11/full-all/ckeditor.js"></script> |
|
34 |
<script src="https://unpkg.com/smoothscroll-polyfill@0.4.3/dist/smoothscroll.min.js"></script> |
|
35 |
<script type="text/javascript"> |
|
36 |
function loadAltmetrics(e, t, n) { |
|
37 |
var d = "createElement", c = "getElementsByTagName", m = "setAttribute", n = document.getElementById(e); |
|
38 |
return n && n.parentNode && n.parentNode.removeChild(n), n = document[d + "NS"] && document.documentElement.namespaceURI, n = n ? document[d + "NS"](n, "script") : document[d]("script"), n[m]("id", e), n[m]("src", t), (document[c]("head")[0] || document[c]("body")[0]).appendChild(n), n = new Image, void n[m]("src", "https://d1uo4w7k31k5mn.cloudfront.net/donut/0.png") |
|
39 |
} |
|
40 |
</script> |
|
41 |
</html> |
modules/uoa-monitor-portal/trunk/monitor_dashboard/src/app/admin-tools/portal-admin-tools-routing.module.ts | ||
---|---|---|
3 | 3 |
|
4 | 4 |
@NgModule({ |
5 | 5 |
imports: [RouterModule.forChild([ |
6 |
{path: '', loadChildren: './admin-tools-routing.module#AdminToolsRoutingModule'},
|
|
7 |
{path: 'portals', loadChildren: '../openaireLibrary/dashboard/portal/portals.module#PortalsModule'},
|
|
8 |
{path: 'classes', loadChildren: '../openaireLibrary/dashboard/divId/divIds.module#DivIdsModule'}
|
|
6 |
{path: '', loadChildren: () => import('./admin-tools-routing.module').then(m => m.AdminToolsRoutingModule)},
|
|
7 |
{path: 'portals', loadChildren: () => import('../openaireLibrary/dashboard/portal/portals.module').then(m => m.PortalsModule)},
|
|
8 |
{path: 'classes', loadChildren: () => import('../openaireLibrary/dashboard/divId/divIds.module').then(m => m.DivIdsModule)}
|
|
9 | 9 |
])] |
10 | 10 |
}) |
11 | 11 |
export class PortalAdminToolsRoutingModule { |
modules/uoa-monitor-portal/trunk/monitor_dashboard/src/app/admin-tools/admin-tools-routing.module.ts | ||
---|---|---|
6 | 6 |
RouterModule.forChild([ |
7 | 7 |
{ |
8 | 8 |
path: 'entities', |
9 |
loadChildren: '../openaireLibrary/dashboard/entity/entities.module#EntitiesModule',
|
|
9 |
loadChildren: () => import('../openaireLibrary/dashboard/entity/entities.module').then(m => m.EntitiesModule),
|
|
10 | 10 |
pathMatch: 'full' |
11 | 11 |
}, |
12 |
/* { |
|
13 |
path: 'classContents', |
|
14 |
loadChildren: '../openaireLibrary/dashboard/divhelpcontent/div-help-contents.module#DivHelpContentsModule' |
|
15 |
}, |
|
16 |
{ |
|
17 |
path: 'classContents/new', |
|
18 |
loadChildren: '../openaireLibrary/dashboard/divhelpcontent/new-div-help-content.module#NewDivHelpContentModule', |
|
19 |
pathMatch: 'full' |
|
20 |
}, |
|
21 |
{ |
|
22 |
path: 'classContents/edit', |
|
23 |
loadChildren: '../openaireLibrary/dashboard/divhelpcontent/edit-div-help-content.module#EditDivHelpContentModule', |
|
24 |
pathMatch: 'full' |
|
25 |
},*/ |
|
26 | 12 |
{ |
13 |
path: 'classContents', |
|
14 |
loadChildren: () => import('../openaireLibrary/dashboard/divhelpcontent/class-help-contents.module').then(m => m.ClassHelpContentsModule), |
|
15 |
pathMatch: 'full' |
|
16 |
}, |
|
17 |
{ |
|
18 |
path: 'classContents/edit', |
|
19 |
loadChildren: () => import('../openaireLibrary/dashboard/divhelpcontent/class-help-content-form.module').then(m => m.ClassHelpContentFormModule), |
|
20 |
pathMatch: 'full' |
|
21 |
}, |
|
22 |
{ |
|
27 | 23 |
path: 'helptexts', |
28 |
loadChildren: '../openaireLibrary/dashboard/helpTexts/page-help-contents.module#PageHelpContentsModule',
|
|
24 |
loadChildren: () => import('../openaireLibrary/dashboard/helpTexts/page-help-contents.module').then(m => m.PageHelpContentsModule),
|
|
29 | 25 |
pathMatch: 'full' |
30 | 26 |
}, |
31 | 27 |
{ |
32 | 28 |
path: 'helptexts/edit', |
33 |
loadChildren: '../openaireLibrary/dashboard/helpTexts/page-help-content-form.module#PageHelpContentFormModule',
|
|
29 |
loadChildren: () => import('../openaireLibrary/dashboard/helpTexts/page-help-content-form.module').then(m => m.PageHelpContentFormModule),
|
|
34 | 30 |
pathMatch: 'full' |
35 | 31 |
}, |
36 | 32 |
{ |
37 | 33 |
path: 'pages', |
38 |
loadChildren: '../openaireLibrary/dashboard/page/pages.module#PagesModule',
|
|
34 |
loadChildren: () => import('../openaireLibrary/dashboard/page/pages.module').then(m => m.PagesModule),
|
|
39 | 35 |
pathMatch: 'full' |
40 | 36 |
} |
41 | 37 |
]) |
modules/uoa-monitor-portal/trunk/monitor_dashboard/src/app/monitor/monitor-routing.module.ts | ||
---|---|---|
14 | 14 |
}, |
15 | 15 |
{ |
16 | 16 |
path: ':stakeholder/develop', |
17 |
loadChildren: '../develop/develop.module#DevelopModule',
|
|
17 |
loadChildren: () => import('../develop/develop.module').then(m => m.DevelopModule),
|
|
18 | 18 |
canDeactivate: [PreviousRouteRecorder], |
19 | 19 |
data: { |
20 | 20 |
hasSidebar: false, |
... | ... | |
23 | 23 |
}, |
24 | 24 |
{ |
25 | 25 |
path: ':stakeholder/methodology', |
26 |
loadChildren: '../methodology/methodology.module#MethodologyModule',
|
|
26 |
loadChildren: () => import('../methodology/methodology.module').then(m => m.MethodologyModule),
|
|
27 | 27 |
canDeactivate: [PreviousRouteRecorder], |
28 | 28 |
data: { |
29 | 29 |
hasSidebar: false, |
... | ... | |
32 | 32 |
}, |
33 | 33 |
{ |
34 | 34 |
path: ':stakeholder/search', |
35 |
loadChildren: '../search/search.module#SearchModule',
|
|
35 |
loadChildren: () => import('../search/search.module').then(m => m.SearchModule),
|
|
36 | 36 |
canDeactivate: [PreviousRouteRecorder] |
37 | 37 |
}, |
38 | 38 |
{ |
modules/uoa-monitor-portal/trunk/monitor_dashboard/src/app/app.module.ts | ||
---|---|---|
37 | 37 |
NavigationBarModule, |
38 | 38 |
BottomModule, |
39 | 39 |
CookieLawModule, |
40 |
BrowserModule.withServerTransition({appId: 'my-app'}),
|
|
40 |
BrowserModule.withServerTransition({ appId: 'serverApp' }),
|
|
41 | 41 |
AppRoutingModule, |
42 | 42 |
BrowserTransferStateModule, |
43 | 43 |
SideBarModule, Schema2jsonldModule, RoleVerificationModule, LoadingModule, NotificationsSidebarModule |
modules/uoa-monitor-portal/trunk/monitor_dashboard/src/app/admin-stakeholder/admin-stakeholder-routing.module.ts | ||
---|---|---|
5 | 5 |
imports: [RouterModule.forChild([ |
6 | 6 |
{ |
7 | 7 |
path: '', |
8 |
loadChildren: '../general/general.module#GeneralModule',
|
|
8 |
loadChildren: () => import('../general/general.module').then(m => m.GeneralModule),
|
|
9 | 9 |
data: {hasAdminMenu: true}, |
10 | 10 |
pathMatch: 'full' |
11 | 11 |
}, |
12 | 12 |
{ |
13 | 13 |
path: 'users', |
14 |
loadChildren: '../users/users.module#UsersModule',
|
|
14 |
loadChildren: () => import('../users/users.module').then(m => m.UsersModule),
|
|
15 | 15 |
data: {hasAdminMenu: true}, |
16 | 16 |
pathMatch: 'full' |
17 | 17 |
}, |
18 | 18 |
{ |
19 | 19 |
path: 'indicators', |
20 |
loadChildren: '../topic/topic.module#TopicModule',
|
|
20 |
loadChildren: () => import('../topic/topic.module').then(m => m.TopicModule),
|
|
21 | 21 |
pathMatch: 'full' |
22 | 22 |
}, |
23 | 23 |
{ |
24 | 24 |
path: 'indicators/:topic', |
25 |
loadChildren: '../topic/topic.module#TopicModule',
|
|
25 |
loadChildren: () => import('../topic/topic.module').then(m => m.TopicModule),
|
|
26 | 26 |
pathMatch: 'full' |
27 | 27 |
}, |
28 | 28 |
{ |
29 | 29 |
path: 'admin-tools', |
30 |
loadChildren: '../admin-tools/admin-tools-routing.module#AdminToolsRoutingModule',
|
|
30 |
loadChildren: () => import('../admin-tools/admin-tools-routing.module').then(m => m.AdminToolsRoutingModule),
|
|
31 | 31 |
data: { |
32 | 32 |
hasAdminMenu: true, |
33 | 33 |
param: 'stakeholder' |
modules/uoa-monitor-portal/trunk/monitor_dashboard/src/app/app.server.module.ts | ||
---|---|---|
1 |
import {NgModule} from '@angular/core'; |
|
2 |
import {ServerModule} from '@angular/platform-server'; |
|
3 |
import {ModuleMapLoaderModule} from '@nguniversal/module-map-ngfactory-loader'; |
|
1 |
import { NgModule } from '@angular/core'; |
|
2 |
import { ServerModule } from '@angular/platform-server'; |
|
4 | 3 |
|
5 |
import {AppModule} from './app.module';
|
|
6 |
import {AppComponent} from './app.component';
|
|
4 |
import { AppModule } from './app.module';
|
|
5 |
import { AppComponent } from './app.component';
|
|
7 | 6 |
|
8 | 7 |
@NgModule({ |
9 | 8 |
imports: [ |
10 |
// The AppServerModule should import your AppModule followed |
|
11 |
// by the ServerModule from @angular/platform-server. |
|
12 | 9 |
AppModule, |
13 | 10 |
ServerModule, |
14 |
ModuleMapLoaderModule, |
|
15 | 11 |
], |
16 |
// Since the bootstrapped component is not inherited from your |
|
17 |
// imported AppModule, it needs to be repeated here. |
|
18 | 12 |
bootstrap: [AppComponent], |
19 | 13 |
}) |
20 | 14 |
export class AppServerModule {} |
modules/uoa-monitor-portal/trunk/monitor_dashboard/src/app/utils/adminDashboard.guard.ts | ||
---|---|---|
7 | 7 |
RouterStateSnapshot, |
8 | 8 |
UrlTree |
9 | 9 |
} from '@angular/router'; |
10 |
import {Observable} from 'rxjs/Observable'; |
|
11 |
|
|
12 | 10 |
import {map, take, tap} from "rxjs/operators"; |
13 | 11 |
import {UserManagementService} from "../openaireLibrary/services/user-management.service"; |
14 | 12 |
import {LoginErrorCodes} from "../openaireLibrary/login/utils/guardHelper.class"; |
15 | 13 |
import {Session} from "../openaireLibrary/login/utils/helper.class"; |
16 | 14 |
import {StakeholderService} from "../openaireLibrary/monitor/services/stakeholder.service"; |
17 |
import {zip} from "rxjs"; |
|
15 |
import {Observable, zip} from "rxjs";
|
|
18 | 16 |
|
19 | 17 |
|
20 | 18 |
@Injectable() |
... | ... | |
45 | 43 |
} |
46 | 44 |
} |
47 | 45 |
|
48 |
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | boolean {
|
|
46 |
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {
|
|
49 | 47 |
return this.check(state.url, route.params.stakeholder); |
50 | 48 |
} |
51 | 49 |
|
modules/uoa-monitor-portal/trunk/monitor_dashboard/src/app/manageStakeholders/manageStakeholders.component.ts | ||
---|---|---|
54 | 54 |
* Grid or List View |
55 | 55 |
*/ |
56 | 56 |
private subscriptions: any[] = []; |
57 |
@ViewChild('editStakeholderModal') editStakeholderModal: AlertModal; |
|
58 |
@ViewChild('deleteStakeholderModal') deleteStakeholderModal: AlertModal; |
|
59 |
@ViewChild('editStakeholderComponent') editStakeholderComponent: EditStakeholderComponent; |
|
57 |
@ViewChild('editStakeholderModal', { static: true }) editStakeholderModal: AlertModal;
|
|
58 |
@ViewChild('deleteStakeholderModal', { static: true }) deleteStakeholderModal: AlertModal;
|
|
59 |
@ViewChild('editStakeholderComponent', { static: true }) editStakeholderComponent: EditStakeholderComponent;
|
|
60 | 60 |
|
61 | 61 |
tab: Tab = 'all'; |
62 | 62 |
|
modules/uoa-monitor-portal/trunk/monitor_dashboard/src/app/search/search.module.ts | ||
---|---|---|
5 | 5 |
imports: [CommonModule, RouterModule.forChild([ |
6 | 6 |
// Search Pages |
7 | 7 |
{ path: '', redirectTo: 'find/research-outcomes'}, |
8 |
{ path: 'find/research-outcomes', loadChildren: './searchPages/simple/searchResearchResults.module#MonitorSearchResearchResultsModule'},
|
|
9 |
{ path: 'find/projects', loadChildren: './searchPages/simple/searchProjects.module#MonitorSearchProjectsModule'},
|
|
10 |
{ path: 'find/dataproviders', loadChildren: './searchPages/simple/searchDataProviders.module#MonitorSearchDataProvidersModule'},
|
|
11 |
{ path: 'find/organizations', loadChildren: './searchPages/simple/searchOrganizations.module#MonitorSearchOrganizationsModule'},
|
|
8 |
{ path: 'find/research-outcomes', loadChildren: () => import('./searchPages/simple/searchResearchResults.module').then(m => m.MonitorSearchResearchResultsModule)},
|
|
9 |
{ path: 'find/projects', loadChildren: () => import('./searchPages/simple/searchProjects.module').then(m => m.MonitorSearchProjectsModule)},
|
|
10 |
{ path: 'find/dataproviders', loadChildren: () => import('./searchPages/simple/searchDataProviders.module').then(m => m.MonitorSearchDataProvidersModule)},
|
|
11 |
{ path: 'find/organizations', loadChildren: () => import('./searchPages/simple/searchOrganizations.module').then(m => m.MonitorSearchOrganizationsModule)},
|
|
12 | 12 |
// Advanced Search Pages |
13 |
{ path: 'advanced/research-outcomes', loadChildren: './searchPages/advanced/searchResearchResults.module#MonitorAdvancedSearchResearchResultsModule'},
|
|
14 |
{ path: 'advanced/projects', loadChildren: './searchPages/advanced/searchProjects.module#MonitorAdvancedSearchProjectsModule'},
|
|
15 |
{ path: 'advanced/dataproviders', loadChildren: './searchPages/advanced/searchDataProviders.module#MonitorAdvancedSearchDataProvidersModule'},
|
|
16 |
{ path: 'advanced/organizations', loadChildren: './searchPages/advanced/searchOrganizations.module#MonitorAdvancedSearchOrganizationsModule'},
|
|
13 |
{ path: 'advanced/research-outcomes', loadChildren: () => import('./searchPages/advanced/searchResearchResults.module').then(m => m.MonitorAdvancedSearchResearchResultsModule)},
|
|
14 |
{ path: 'advanced/projects', loadChildren: () => import('./searchPages/advanced/searchProjects.module').then(m => m.MonitorAdvancedSearchProjectsModule)},
|
|
15 |
{ path: 'advanced/dataproviders', loadChildren: () => import('./searchPages/advanced/searchDataProviders.module').then(m => m.MonitorAdvancedSearchDataProvidersModule)},
|
|
16 |
{ path: 'advanced/organizations', loadChildren: () => import('./searchPages/advanced/searchOrganizations.module').then(m => m.MonitorAdvancedSearchOrganizationsModule)},
|
|
17 | 17 |
// Landing Pages |
18 |
{ path: 'result', loadChildren: './landingPages/result/libResult.module#LibResultModule'},
|
|
19 |
{ path: 'publication', loadChildren: './landingPages/publication/libPublication.module#LibPublicationModule'},
|
|
20 |
{ path: 'dataset', loadChildren: './landingPages/dataset/libDataset.module#LibDatasetModule'},
|
|
21 |
{ path: 'software', loadChildren: './landingPages/software/libSoftware.module#LibSoftwareModule'},
|
|
22 |
{ path: 'other', loadChildren: './landingPages/orp/libOrp.module#LibOrpModule'},
|
|
23 |
{ path: 'project', loadChildren: './landingPages/project/libProject.module#LibProjectModule'},
|
|
24 |
{ path: 'dataprovider', loadChildren: './landingPages/dataProvider/libDataProvider.module#LibDataProviderModule'},
|
|
25 |
{ path: 'organization', loadChildren: './landingPages/organization/libOrganization.module#LibOrganizationModule'},
|
|
18 |
{ path: 'result', loadChildren: () => import('./landingPages/result/libResult.module').then(m => m.LibResultModule)},
|
|
19 |
{ path: 'publication', loadChildren: () => import('./landingPages/publication/libPublication.module').then(m => m.LibPublicationModule)},
|
|
20 |
{ path: 'dataset', loadChildren: () => import('./landingPages/dataset/libDataset.module').then(m => m.LibDatasetModule)},
|
|
21 |
{ path: 'software', loadChildren: () => import('./landingPages/software/libSoftware.module').then(m => m.LibSoftwareModule)},
|
|
22 |
{ path: 'other', loadChildren: () => import('./landingPages/orp/libOrp.module').then(m => m.LibOrpModule)},
|
|
23 |
{ path: 'project', loadChildren: () => import('./landingPages/project/libProject.module').then(m => m.LibProjectModule)},
|
|
24 |
{ path: 'dataprovider', loadChildren: () => import('./landingPages/dataProvider/libDataProvider.module').then(m => m.LibDataProviderModule)},
|
|
25 |
{ path: 'organization', loadChildren: () => import('./landingPages/organization/libOrganization.module').then(m => m.LibOrganizationModule)},
|
|
26 | 26 |
])] |
27 | 27 |
}) |
28 | 28 |
export class SearchModule {} |
modules/uoa-monitor-portal/trunk/monitor_dashboard/src/app/app.component.ts | ||
---|---|---|
1 | 1 |
import {ChangeDetectorRef, Component, HostListener, OnDestroy, OnInit} from '@angular/core'; |
2 |
import {ActivatedRoute, NavigationEnd, Params, Router} from '@angular/router'; |
|
2 |
import {ActivatedRoute, Data, NavigationEnd, Params, Router} from '@angular/router';
|
|
3 | 3 |
import {EnvProperties} from './openaireLibrary/utils/properties/env-properties'; |
4 | 4 |
import {Role, Session, User} from './openaireLibrary/login/utils/helper.class'; |
5 | 5 |
import {UserManagementService} from "./openaireLibrary/services/user-management.service"; |
... | ... | |
16 | 16 |
import {Option} from "./openaireLibrary/sharedComponents/input/input.component"; |
17 | 17 |
import {StakeholderUtils} from "./utils/indicator-utils"; |
18 | 18 |
import {SmoothScroll} from "./openaireLibrary/utils/smooth-scroll"; |
19 |
import {ConnectHelper} from "./openaireLibrary/connect/connectHelper"; |
|
19 | 20 |
|
20 | 21 |
|
21 | 22 |
@Component({ |
... | ... | |
26 | 27 |
properties: EnvProperties = properties; |
27 | 28 |
user: User; |
28 | 29 |
params: BehaviorSubject<Params> = new BehaviorSubject<Params>(null); |
30 |
data: BehaviorSubject<Data> = new BehaviorSubject<Data>(null); |
|
29 | 31 |
hasSidebar: boolean = false; |
30 | 32 |
hasHeader: boolean = false; |
31 | 33 |
hasAdminMenu: boolean = false; |
... | ... | |
71 | 73 |
while (r.firstChild) { |
72 | 74 |
r = r.firstChild; |
73 | 75 |
} |
74 |
let params = r.snapshot.params; |
|
75 | 76 |
this.paramsResolved = true; |
76 |
this.params.next(params); |
|
77 |
this.params.next(r.snapshot.params); |
|
78 |
this.data.next(r.snapshot.data); |
|
77 | 79 |
} |
78 | 80 |
})); |
79 | 81 |
} |
... | ... | |
128 | 130 |
if (stakeholder) { |
129 | 131 |
this.stakeholder = stakeholder; |
130 | 132 |
LinksResolver.setProperties(this.stakeholder.alias); |
131 |
this.setProperties(this.stakeholder.type, this.stakeholder.alias);
|
|
133 |
this.setProperties(this.stakeholder.alias, this.stakeholder.type);
|
|
132 | 134 |
if (isSearch) { |
133 | 135 |
this.activeTopic = null; |
134 | 136 |
} else if (params && params['topic'] && !this.activeTopic) { |
... | ... | |
142 | 144 |
} else { |
143 | 145 |
this.stakeholder = null; |
144 | 146 |
LinksResolver.resetProperties(); |
145 |
this.resetProperties(); |
|
146 | 147 |
this.navigateToError(); |
147 | 148 |
this.buildMenu(); |
148 | 149 |
this.loading = false; |
... | ... | |
166 | 167 |
this.stakeholder = null; |
167 | 168 |
this.buildMenu(); |
168 | 169 |
this.loading = false; |
169 |
this.resetProperties(); |
|
170 | 170 |
} |
171 | 171 |
} |
172 | 172 |
})); |
173 |
this.subscriptions.push(this.data.subscribe(data => { |
|
174 |
if(data && data.portal) { |
|
175 |
this.setProperties(data.portal); |
|
176 |
this.configurationService.initCommunityInformation(this.properties, this.properties.adminToolsCommunity); |
|
177 |
} |
|
178 |
})); |
|
173 | 179 |
this.subscriptions.push(this.userManagementService.getUserInfo().subscribe(user => { |
174 | 180 |
this.user = user; |
175 | 181 |
if (user) { |
... | ... | |
416 | 422 |
return this.user && (Session.isPortalAdministrator(this.user) || Session.isCurator(stakeholder.type, this.user) || Session.isManager(stakeholder.type, stakeholder.alias, this.user)); |
417 | 423 |
} |
418 | 424 |
|
419 |
private resolvePageInner() { |
|
420 |
if (document !== undefined) { |
|
421 |
let header = document.getElementById('pager_header_content'); |
|
422 |
let inner = document.getElementById('page_content_inner'); |
|
423 |
if (header) { |
|
424 |
inner.setAttribute('style', '{margin-top:' + header.offsetHeight + '}'); |
|
425 |
} else { |
|
426 |
inner.setAttribute('style', '{margin-top:' + 0 + '}'); |
|
427 |
} |
|
428 |
} |
|
425 |
public isPublicOrIsMember(visibility: Visibility): boolean { |
|
426 |
return !(visibility == "PRIVATE" || (this.isViewPublic && visibility != "PUBLIC")); |
|
429 | 427 |
} |
430 | 428 |
|
431 |
public isPublicOrIsMember(visibility: Visibility): boolean { |
|
432 |
if (visibility == "PRIVATE" || (this.isViewPublic && visibility != "PUBLIC")) { |
|
433 |
return false; |
|
429 |
setProperties(id, type = null){ |
|
430 |
this.properties.adminToolsCommunity = id; |
|
431 |
if(type) { |
|
432 |
this.properties.adminToolsPortalType = type; |
|
433 |
} else { |
|
434 |
ConnectHelper.setPortalTypeFromPid(id); |
|
434 | 435 |
} |
435 |
return true; |
|
436 |
} |
|
437 |
setProperties(type, communityId){ |
|
438 |
this.properties.adminToolsCommunity = communityId; |
|
439 |
this.properties.adminToolsPortalType = type; |
|
440 | 436 |
this.configurationService.initCommunityInformation(this.properties, this.properties.adminToolsCommunity); |
441 | 437 |
} |
442 |
resetProperties(){ |
|
443 |
this.properties.adminToolsCommunity = "monitor"; |
|
444 |
this.properties.adminToolsPortalType = "monitor"; |
|
445 |
this.configurationService.initCommunityInformation(this.properties, this.properties.adminToolsCommunity); |
|
446 |
} |
|
447 |
|
|
448 |
/* createSearchParameters() { |
|
449 |
if (!this.stakeholder) { |
|
450 |
return {}; |
|
451 |
} |
|
452 |
if (this.stakeholder.type == "funder") { |
|
453 |
return {"relfunder": encodeURIComponent("\"" + this.stakeholder.index_id + "||" + this.stakeholder.index_name + "||" + this.stakeholder.index_shortName + "\"")}; |
|
454 |
} else if (this.stakeholder.type == "ri") { |
|
455 |
return {"community": encodeURIComponent("\"" + this.stakeholder.index_id + "||" + this.stakeholder.index_name + "\"")}; |
|
456 |
} else if (this.stakeholder.type == "organization") { |
|
457 |
return {"cf": true}; |
|
458 |
} |
|
459 |
}*/ |
|
460 | 438 |
} |
modules/uoa-monitor-portal/trunk/monitor_dashboard/src/app/general/edit-stakeholder/edit-stakeholder.component.ts | ||
---|---|---|
26 | 26 |
<form *ngIf="stakeholderFb" [formGroup]="stakeholderFb"> |
27 | 27 |
<div class="uk-grid" [class.uk-margin-small-bottom]="!paddingLarge" |
28 | 28 |
[class.uk-margin-large-bottom]="paddingLarge" uk-grid uk-height-match=".uk-form-hint"> |
29 |
<div dashboard-input class="uk-width-1-2@m" [formInput]="stakeholderFb.get('name')" label="Name" |
|
29 |
<div dashboard-input id="name" class="uk-width-1-2@m" [formInput]="stakeholderFb.get('name')" label="Name"
|
|
30 | 30 |
placeholder="Write a name..." |
31 | 31 |
hint="Set a name for your profile."></div> |
32 | 32 |
<div dashboard-input class="uk-width-1-2@m" [formInput]="stakeholderFb.get('alias')" |
... | ... | |
131 | 131 |
public deleteCurrentPhoto: boolean = false; |
132 | 132 |
private maxsize: number = 200 * 1024; |
133 | 133 |
user: User; |
134 |
@ViewChild('notify') notify: NotifyFormComponent; |
|
134 |
@ViewChild('notify', { static: true }) notify: NotifyFormComponent;
|
|
135 | 135 |
private notification: Notification; |
136 | 136 |
|
137 | 137 |
constructor(private fb: FormBuilder, |
modules/uoa-monitor-portal/trunk/monitor_dashboard/src/app/app-routing.module.ts | ||
---|---|---|
8 | 8 |
const routes: Routes = [ |
9 | 9 |
{ |
10 | 10 |
path: 'reload', |
11 |
loadChildren: './reload/libReload.module#LibReloadModule',
|
|
11 |
loadChildren: () => import('./reload/libReload.module').then(m => m.LibReloadModule),
|
|
12 | 12 |
data: {hasSidebar: false, hasHeader: false} |
13 | 13 |
}, |
14 | 14 |
{ |
15 | 15 |
path: 'user-info', |
16 |
loadChildren: './login/libUser.module#LibUserModule',
|
|
16 |
loadChildren: () => import('./login/libUser.module').then(m => m.LibUserModule),
|
|
17 | 17 |
data: {hasSidebar: false, isFrontPage: true} |
18 | 18 |
}, |
19 | 19 |
{ |
... | ... | |
23 | 23 |
}, |
24 | 24 |
{ |
25 | 25 |
path: 'admin', |
26 |
loadChildren: './manageStakeholders/manageStakeholders.module#ManageStakeholdersModule',
|
|
26 |
loadChildren: () => import('./manageStakeholders/manageStakeholders.module').then(m => m.ManageStakeholdersModule),
|
|
27 | 27 |
data: {hasAdminMenu: true}, |
28 | 28 |
canActivateChild: [LoginGuard] |
29 | 29 |
}, |
30 | 30 |
{ |
31 | 31 |
path: 'admin/admin-tools', |
32 |
loadChildren: './admin-tools/portal-admin-tools-routing.module#PortalAdminToolsRoutingModule',
|
|
32 |
loadChildren: () => import('./admin-tools/portal-admin-tools-routing.module').then(m => m.PortalAdminToolsRoutingModule),
|
|
33 | 33 |
canActivateChild: [AdminLoginGuard], |
34 | 34 |
data: {hasAdminMenu: true} |
35 | 35 |
}, |
36 | 36 |
{ |
37 | 37 |
path: 'admin/monitor/admin-tools', |
38 |
loadChildren: './admin-tools/admin-tools-routing.module#AdminToolsRoutingModule',
|
|
38 |
loadChildren: () => import('./admin-tools/admin-tools-routing.module').then(m => m.AdminToolsRoutingModule),
|
|
39 | 39 |
canActivateChild: [AdminLoginGuard], |
40 | 40 |
data: {hasAdminMenu: true, portal: 'monitor'} |
41 | 41 |
}, |
42 | 42 |
{ |
43 | 43 |
path: 'admin/:stakeholder', |
44 |
loadChildren: './admin-stakeholder/admin-stakeholder-routing.module#AdminStakeholderRoutingModule',
|
|
44 |
loadChildren: () => import('./admin-stakeholder/admin-stakeholder-routing.module').then(m => m.AdminStakeholderRoutingModule),
|
|
45 | 45 |
canActivateChild: [AdminDashboardGuard] |
46 | 46 |
}, |
47 |
{path: 'theme', loadChildren: './openaireLibrary/utils/theme/theme.module#ThemeModule'},
|
|
47 |
{path: 'theme', loadChildren: () => import('./openaireLibrary/utils/theme/theme.module').then(m => m.ThemeModule)},
|
|
48 | 48 |
{ |
49 | 49 |
path: '', |
50 |
loadChildren: './monitor/monitor.module#MonitorModule',
|
|
50 |
loadChildren: () => import('./monitor/monitor.module').then(m => m.MonitorModule),
|
|
51 | 51 |
data: {isFrontPage: true} |
52 | 52 |
}, |
53 | 53 |
{ |
... | ... | |
61 | 61 |
@NgModule({ |
62 | 62 |
imports: [RouterModule.forRoot(routes, { |
63 | 63 |
preloadingStrategy: PreloadAllModules, |
64 |
onSameUrlNavigation: "reload", |
|
65 |
relativeLinkResolution: 'corrected' |
|
64 |
onSameUrlNavigation: "reload" |
|
66 | 65 |
})], |
67 | 66 |
exports: [RouterModule] |
68 | 67 |
}) |
modules/uoa-monitor-portal/trunk/monitor_dashboard/src/app/topic/topic.component.ts | ||
---|---|---|
59 | 59 |
*/ |
60 | 60 |
public toggle: boolean = false; |
61 | 61 |
|
62 |
@ViewChild('deleteModal') deleteModal: AlertModal; |
|
63 |
@ViewChild('editModal') editModal: AlertModal; |
|
62 |
@ViewChild('deleteModal', { static: true }) deleteModal: AlertModal;
|
|
63 |
@ViewChild('editModal', { static: true }) editModal: AlertModal;
|
|
64 | 64 |
public elementChildrenActionOnDelete: string; |
65 | 65 |
public filters: FormGroup; |
66 | 66 |
public all: Option = { |
modules/uoa-monitor-portal/trunk/monitor_dashboard/src/app/topic/indicators.component.ts | ||
---|---|---|
83 | 83 |
public numberResults: Map<string, number> = new Map<string, number>(); |
84 | 84 |
private subscriptions: any[] = []; |
85 | 85 |
private urlSubscriptions: any[] = []; |
86 |
@ViewChild('editChartModal') editChartModal: AlertModal; |
|
87 |
@ViewChild('editNumberModal') editNumberModal: AlertModal; |
|
88 |
@ViewChild('deleteModal') deleteModal: AlertModal; |
|
86 |
@ViewChild('editChartModal', { static: true }) editChartModal: AlertModal;
|
|
87 |
@ViewChild('editNumberModal', { static: true }) editNumberModal: AlertModal;
|
|
88 |
@ViewChild('deleteModal', { static: true }) deleteModal: AlertModal;
|
|
89 | 89 |
//@ViewChild('deleteAllModal') deleteAllModal: AlertModal; |
90 | 90 |
//@ViewChild('deleteAndDisconnectModal') deleteAndDisconnectModal: AlertModal; |
91 | 91 |
//@ViewChild('deleteChartSectionModal') deleteChartSectionModal: AlertModal; |
92 | 92 |
//@ViewChild('deleteNumberSectionModal') deleteNumberSectionModal: AlertModal; |
93 |
@ViewChild('deleteSectionModal') deleteSectionModal: AlertModal; |
|
93 |
@ViewChild('deleteSectionModal', { static: true }) deleteSectionModal: AlertModal;
|
|
94 | 94 |
public sectionTypeToDelete: string; |
95 | 95 |
public sectionChildrenActionOnDelete: string; |
96 | 96 |
public indicatorChildrenActionOnDelete: string; |
... | ... | |
99 | 99 |
urlParameterizedMessage = null; |
100 | 100 |
showCheckForSchemaEnhancements:boolean = false; |
101 | 101 |
private notification: Notification; |
102 |
@ViewChild('editNumberNotify') editNumberNotify: NotifyFormComponent; |
|
103 |
@ViewChild('editChartNotify') editChartNotify: NotifyFormComponent; |
|
104 |
@ViewChild('deleteNotify') deleteNotify: NotifyFormComponent; |
|
102 |
@ViewChild('editNumberNotify', { static: true }) editNumberNotify: NotifyFormComponent;
|
|
103 |
@ViewChild('editChartNotify', { static: true }) editChartNotify: NotifyFormComponent;
|
|
104 |
@ViewChild('deleteNotify', { static: true }) deleteNotify: NotifyFormComponent;
|
|
105 | 105 |
constructor(private layoutService: LayoutService, |
106 | 106 |
private stakeholderService: StakeholderService, |
107 | 107 |
private statisticsService: StatisticsService, |
modules/uoa-monitor-portal/trunk/monitor_dashboard/src/environments/environment.prod.ts | ||
---|---|---|
13 | 13 |
statisticsFrameAPIURL: "https://www.openaire.eu/stats/", |
14 | 14 |
statisticsFrameNewAPIURL: "https://services.openaire.eu/stats-tool/", |
15 | 15 |
useNewStatistisTool: true, |
16 |
monitorStatsFrameUrl:"https://services.openaire.eu/monitor-stats-tool/",
|
|
16 |
monitorStatsFrameUrl:"https://services.openaire.eu/stats-tool/", |
|
17 | 17 |
useOldStatisticsSchema: false, |
18 | 18 |
claimsAPIURL: "https://services.openaire.eu/claims/rest/claimsService/", |
19 | 19 |
searchAPIURLLAst: "https://services.openaire.eu/search/v2/api/", |
modules/uoa-monitor-portal/trunk/monitor_dashboard/src/tsconfig.server.json | ||
---|---|---|
1 | 1 |
{ |
2 |
"extends": "../tsconfig.json",
|
|
2 |
"extends": "./tsconfig.app.json",
|
|
3 | 3 |
"compilerOptions": { |
4 |
"outDir": "../out-tsc/app", |
|
5 |
"baseUrl": "./", |
|
6 |
// Set the module format to "commonjs": |
|
7 |
"module": "commonjs", |
|
4 |
"outDir": "../out-tsc/app-server", |
|
5 |
"target": "es2016", |
|
8 | 6 |
"types": [ |
9 | 7 |
"node" |
10 | 8 |
] |
11 | 9 |
}, |
12 |
"exclude": [
|
|
13 |
"test.ts",
|
|
14 |
"**/*.spec.ts"
|
|
10 |
"files": [
|
|
11 |
"main.server.ts",
|
|
12 |
"../server.ts"
|
|
15 | 13 |
], |
16 |
// Add "angularCompilerOptions" with the AppServerModule you wrote |
|
17 |
// set as the "entryModule". |
|
18 | 14 |
"angularCompilerOptions": { |
19 |
"entryModule": "app/app.server.module#AppServerModule" |
|
15 |
"entryModule": "./app/app.server.module#AppServerModule"
|
|
20 | 16 |
} |
21 | 17 |
} |
modules/uoa-monitor-portal/trunk/monitor_dashboard/src/karma.conf.js | ||
---|---|---|
1 |
// Karma configuration file, see link for more information |
|
2 |
// https://karma-runner.github.io/1.0/config/configuration-file.html |
|
3 |
|
|
4 |
module.exports = function (config) { |
|
5 |
config.set({ |
|
6 |
basePath: '', |
|
7 |
frameworks: ['jasmine', '@angular-devkit/build-angular'], |
|
8 |
plugins: [ |
|
9 |
require('karma-jasmine'), |
|
10 |
require('karma-chrome-launcher'), |
|
11 |
require('karma-jasmine-html-reporter'), |
|
12 |
require('karma-coverage-istanbul-reporter'), |
|
13 |
require('@angular-devkit/build-angular/plugins/karma') |
|
14 |
], |
|
15 |
client: { |
|
16 |
clearContext: false // leave Jasmine Spec Runner output visible in browser |
|
17 |
}, |
|
18 |
coverageIstanbulReporter: { |
|
19 |
dir: require('path').join(__dirname, '../coverage/monitor-dashboard'), |
|
20 |
reports: ['html', 'lcovonly', 'text-summary'], |
|
21 |
fixWebpackSourcePaths: true |
|
22 |
}, |
|
23 |
reporters: ['progress', 'kjhtml'], |
|
24 |
port: 9876, |
|
25 |
colors: true, |
|
26 |
logLevel: config.LOG_INFO, |
|
27 |
autoWatch: true, |
|
28 |
browsers: ['Chrome'], |
|
29 |
singleRun: false, |
|
30 |
restartOnFileChange: true |
|
31 |
}); |
|
32 |
}; |
modules/uoa-monitor-portal/trunk/monitor_dashboard/src/polyfills.ts | ||
---|---|---|
1 |
/*************************************************************************************************** |
|
2 |
* Load `$localize` onto the global scope - used if i18n tags appear in Angular templates. |
|
3 |
*/ |
|
4 |
import '@angular/localize/init'; |
|
1 | 5 |
/** |
2 | 6 |
* This file includes polyfills needed by Angular and is loaded before the app. |
3 | 7 |
* You can add your own extra polyfills to this file. |
... | ... | |
11 | 15 |
* automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), |
12 | 16 |
* Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. |
13 | 17 |
* |
14 |
* Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html
|
|
18 |
* Learn more in https://angular.io/guide/browser-support
|
|
15 | 19 |
*/ |
16 | 20 |
|
17 | 21 |
/*************************************************************************************************** |
18 | 22 |
* BROWSER POLYFILLS |
19 | 23 |
*/ |
20 | 24 |
|
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 | 25 |
/** IE10 and IE11 requires the following for NgClass support on SVG elements */ |
38 | 26 |
// import 'classlist.js'; // Run `npm install --save classlist.js`. |
39 | 27 |
|
40 |
/** Evergreen browsers require these. **/ |
|
41 |
import 'core-js/es6/reflect'; |
|
42 |
|
|
43 |
|
|
44 | 28 |
/** |
45 |
* Required to support Web Animations `@angular/animation`. |
|
46 |
* Needed for: All but Chrome, Firefox and Opera. http://caniuse.com/#feat=web-animation |
|
47 |
**/ |
|
29 |
* Web Animations `@angular/platform-browser/animations` |
|
30 |
* Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. |
|
31 |
* Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). |
|
32 |
*/ |
|
48 | 33 |
// import 'web-animations-js'; // Run `npm install --save web-animations-js`. |
49 | 34 |
|
35 |
/** |
|
36 |
* By default, zone.js will patch all possible macroTask and DomEvents |
|
37 |
* user can disable parts of macroTask/DomEvents patch by setting following flags |
|
38 |
* because those flags need to be set before `zone.js` being loaded, and webpack |
|
39 |
* will put import in the top of bundle, so user need to create a separate file |
|
40 |
* in this directory (for example: zone-flags.ts), and put the following flags |
|
41 |
* into that file, and then add the following code before importing zone.js. |
|
42 |
* import './zone-flags.ts'; |
|
43 |
* |
|
44 |
* The flags allowed in zone-flags.ts are listed here. |
|
45 |
* |
|
46 |
* The following flags will work for all browsers. |
|
47 |
* |
|
48 |
* (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame |
|
49 |
* (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick |
|
50 |
* (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames |
|
51 |
* |
|
52 |
* in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js |
|
53 |
* with the following flag, it will bypass `zone.js` patch for IE/Edge |
|
54 |
* |
|
55 |
* (window as any).__Zone_enable_cross_context_check = true; |
|
56 |
* |
|
57 |
*/ |
|
50 | 58 |
|
51 |
|
|
52 | 59 |
/*************************************************************************************************** |
53 |
* Zone JS is required by Angular itself. |
|
60 |
* Zone JS is required by default for Angular itself.
|
|
54 | 61 |
*/ |
55 | 62 |
import 'zone.js/dist/zone'; // Included with Angular CLI. |
56 | 63 |
|
57 | 64 |
|
58 |
|
|
59 | 65 |
/*************************************************************************************************** |
60 | 66 |
* APPLICATION IMPORTS |
61 | 67 |
*/ |
62 |
|
|
63 |
/** |
|
64 |
* Date, currency, decimal and percent pipes. |
|
65 |
* Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10 |
|
66 |
*/ |
|
67 |
// import 'intl'; // Run `npm install --save intl`. |
|
68 |
/** |
|
69 |
* Need to import at least one locale-data with intl. |
|
70 |
*/ |
|
71 |
// import 'intl/locale-data/jsonp/en'; |
modules/uoa-monitor-portal/trunk/monitor_dashboard/src/assets/new.css | ||
---|---|---|
16 | 16 |
} |
17 | 17 |
|
18 | 18 |
.stakeholderPage #page_content { |
19 |
background-image: url("/assets/monitor-shapes-bg.svg"); |
|
19 |
background-image: url("~src/assets/monitor-shapes-bg.svg");
|
|
20 | 20 |
background-size: contain; |
21 | 21 |
background-repeat: no-repeat; |
22 | 22 |
background-position: bottom; |
... | ... | |
70 | 70 |
/*}*/ |
71 | 71 |
/*Sidebar Header logo */ |
72 | 72 |
#sidebar_main .sidebar_main_header .portal-logo { |
73 |
background: url("/assets/common-assets/logo-large-monitor.png") no-repeat; |
|
73 |
background: url("~src/assets/common-assets/logo-large-monitor.png") no-repeat;
|
|
74 | 74 |
background-size: contain; |
75 | 75 |
} |
76 | 76 |
|
77 | 77 |
.sidebar_mini #sidebar_main .sidebar_main_header .portal-logo { |
78 |
background: url("/assets/common-assets/logo-small-monitor.png") no-repeat; |
|
78 |
background: url("~src/assets/common-assets/logo-small-monitor.png") no-repeat;
|
|
79 | 79 |
background-size: contain; |
80 | 80 |
} |
81 | 81 |
|
Also available in: Unified diff
[Monitor Dashboard | Trunk]: Update to angular 11