Revision 61121
Added by Konstantinos Triantafyllou over 3 years ago
modules/uoa-monitor-portal/branches/angular-11/monitor/deploy/production-properties.json | ||
---|---|---|
1 |
{ |
|
2 |
"environment" : "production", |
|
3 |
"enablePiwikTrack" : false, |
|
4 |
"useCache" : true, |
|
5 |
"showContent" : true, |
|
6 |
"metricsAPIURL" : "https://services.openaire.eu/usagestats/", |
|
7 |
"framesAPIURL" : "https://www.openaire.eu/stats3/", |
|
8 |
"statisticsAPIURL" : "https://services.openaire.eu/stats-api/", |
|
9 |
"statisticsFrameAPIURL":"https://www.openaire.eu/stats/", |
|
10 |
"statisticsFrameNewAPIURL": "", |
|
11 |
"useNewStatistisTool":false, |
|
12 |
"claimsAPIURL" : "https://services.openaire.eu/claims/rest/claimsService/", |
|
13 |
"searchAPIURLLAst" : "https://services.openaire.eu/search/v2/api/", |
|
14 |
"searchResourcesAPIURL" : "https://services.openaire.eu/search/v2/api/resources", |
|
15 |
"openCitationsAPIURL" : "https://services.openaire.eu/opencitations/getCitations?id=", |
|
16 |
"csvAPIURL" : "https://services.openaire.eu/search/v2/api/reports", |
|
17 |
"searchCrossrefAPIURL" : "https://api.crossref.org/works", |
|
18 |
"searchDataciteAPIURL" : "https://api.datacite.org/works", |
|
19 |
"searchOrcidURL" : "https://pub.orcid.org/v2.1/", |
|
20 |
"orcidURL" : "https://orcid.org/", |
|
21 |
"doiURL" : "https://dx.doi.org/", |
|
22 |
"cordisURL" : "http://cordis.europa.eu/projects/", |
|
23 |
"openDoarURL": "http://v2.sherpa.ac.uk/id/repository/", |
|
24 |
"r3DataURL": "http://service.re3data.org/repository/", |
|
25 |
"zenodo" : "https://zenodo.org/", |
|
26 |
"zenodoCommunities" : "https://zenodo.org/api/communities/", |
|
27 |
"openAccess" : "https://www.openaire.eu/support/faq#article-id-234", |
|
28 |
"openAccessRepo" : "https://www.openaire.eu/support/faq#article-id-310", |
|
29 |
"fp7Guidlines" : "https://www.openaire.eu/open-access-in-fp7-seventh-research-framework-programme", |
|
30 |
"h2020Guidlines" : "https://www.openaire.eu/oa-publications/h2020/open-access-in-horizon-2020", |
|
31 |
"ercGuidlines" : "http://erc.europa.eu/sites/default/files/document/file/ERC_Open_Access_Guidelines-revised_2014.pdf", |
|
32 |
"helpdesk" : "https://www.openaire.eu/support/helpdesk", |
|
33 |
"utilsService" : "https://explore.openaire.eu/utils-service", |
|
34 |
|
|
35 |
"vocabulariesAPI" :"https://services.openaire.eu/provision/mvc/vocabularies/", |
|
36 |
|
|
37 |
"piwikBaseUrl" :"https://analytics.openaire.eu/piwik.php?idsite=", |
|
38 |
"piwikSiteId" : "112", |
|
39 |
"loginUrl" :"https://services.openaire.eu/_UPDATE_/openid_connect_login", |
|
40 |
|
|
41 |
"logoutUrl" :"https://aai.openaire.eu/proxy/saml2/idp/SingleLogoutService.php?ReturnTo=", |
|
42 |
|
|
43 |
"cookieDomain" :".openaire.eu", |
|
44 |
|
|
45 |
"feedbackmail" :"feedback@openaire.eu", |
|
46 |
|
|
47 |
"cacheUrl" :"https://explore.openaire.eu/cache/get?url=", |
|
48 |
|
|
49 |
"datasourcesAPI": "https://services.openaire.eu/openaire/ds/search/", |
|
50 |
|
|
51 |
"monitorServiceAPIURL" :"http://dl170.madgik.di.uoa.gr:8080/uoa-monitor-service", |
|
52 |
|
|
53 |
"adminToolsAPIURL" :"https://services.openaire.eu/uoa-admin-tools/", |
|
54 |
|
|
55 |
"adminToolsCommunity" :"monitor", |
|
56 |
"contextsAPI":"https://services.openaire.eu/openaire/context", |
|
57 |
|
|
58 |
"communityAPI": "https://services.openaire.eu/openaire/community/", |
|
59 |
"communitiesAPI": "https://services.openaire.eu/openaire/community/communities", |
|
60 |
|
|
61 |
"csvLimit": 2000, |
|
62 |
"pagingLimit": 20, |
|
63 |
"resultsPerPage": 10, |
|
64 |
|
|
65 |
"baseLink" : "", |
|
66 |
"domain" : : "https://monitor.openaire.eu", |
|
67 |
|
|
68 |
"searchLinkToPublication" : "/search/publication?articleId=", |
|
69 |
"searchLinkToProject" : "/search/project?projectId=", |
|
70 |
"searchLinkToDataProvider" : "/search/dataprovider?datasourceId=", |
|
71 |
"searchLinkToDataset" : "/search/dataset?datasetId=", |
|
72 |
"searchLinkToSoftwareLanding" : "/search/software?softwareId=", |
|
73 |
"searchLinkToOrp" : "/search/other?orpId=", |
|
74 |
"searchLinkToOrganization" : "/search/organization?organizationId=", |
|
75 |
|
|
76 |
"searchLinkToPublications" : "/search/find/publications", |
|
77 |
"searchLinkToDataProviders" : "/search/find/dataproviders", |
|
78 |
"searchLinkToProjects" : "/search/find/projects", |
|
79 |
"searchLinkToDatasets" : "/search/find/datasets", |
|
80 |
"searchLinkToSoftware" : "/search/find/software", |
|
81 |
"searchLinkToOrps" : "/search/find/other", |
|
82 |
"searchLinkToOrganizations" : "/search/find/organizations", |
|
83 |
"searchLinkToCompatibleDataProviders" : "/search/content-providers", |
|
84 |
"searchLinkToEntityRegistriesDataProviders" : "/search/entity-registries", |
|
85 |
"searchLinkToEntityRegistriesDataProvidersTable" : "/search/entity-registries-table", |
|
86 |
"searchLinkToJournals" : "/search/journals", |
|
87 |
"searchLinkToJournalsTable" : "/search/journals-table", |
|
88 |
|
|
89 |
"searchLinkToAdvancedPublications" : "/search/advanced/publications", |
|
90 |
"searchLinkToAdvancedProjects" : "/search/advanced/projects", |
|
91 |
"searchLinkToAdvancedDatasets" : "/search/advanced/datasets", |
|
92 |
"searchLinkToAdvancedSoftware" : "/search/advanced/software", |
|
93 |
"searchLinkToAdvancedOrps" : "/search/advanced/other", |
|
94 |
"searchLinkToAdvancedDataProviders" : "/search/advanced/dataproviders", |
|
95 |
"searchLinkToAdvancedOrganizations" : "/search/advanced/organizations", |
|
96 |
"lastIndexInformationLink" : "https://www.openaire.eu/aggregation-and-content-provision-workflows", |
|
97 |
"showLastIndexInformationLink" : true, |
|
98 |
"widgetLink" : "https://www.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=", |
|
99 |
"claimsInformationLink": "https://www.openaire.eu/linking", |
|
100 |
"depositLearnHowPage": "/participate/deposit/learn-how", |
|
101 |
"depositSearchPage": "/participate/deposit/search", |
|
102 |
"shareInZenodoPage": "/participate/deposit/zenodo", |
|
103 |
"reCaptchaSiteKey": "6LezhVIUAAAAAOb4nHDd87sckLhMXFDcHuKyS76P", |
|
104 |
|
|
105 |
"admins" : ["rcd-helpdesk@openaire.eu"], |
|
106 |
"lastIndexUpdate": "2019-07-24", |
|
107 |
"indexInfoAPI": "https://services.openaire.eu/openaire/info/" |
|
108 |
} |
modules/uoa-monitor-portal/branches/angular-11/monitor/deploy/beta-properties.json | ||
---|---|---|
1 |
{ |
|
2 |
"environment" : "beta", |
|
3 |
"enablePiwikTrack" : true, |
|
4 |
"useCache" : true, |
|
5 |
"showContent" : true, |
|
6 |
"metricsAPIURL" : "https://beta.services.openaire.eu/usagestats/", |
|
7 |
"framesAPIURL" : "https://beta.openaire.eu/stats3/", |
|
8 |
"statisticsAPIURL" : "https://beta.services.openaire.eu/stats-api/", |
|
9 |
"statisticsFrameAPIURL":"https://beta.openaire.eu/stats/", |
|
10 |
"statisticsFrameNewAPIURL": "https://stats.madgik.di.uoa.gr/stats-api/", |
|
11 |
"useNewStatistisTool":true, |
|
12 |
"claimsAPIURL" : "https://beta.services.openaire.eu/claims/rest/claimsService/", |
|
13 |
"searchAPIURLLAst" : "https://beta.services.openaire.eu/search/v2/api/", |
|
14 |
"searchResourcesAPIURL" : "https://beta.services.openaire.eu/search/v2/api/resources", |
|
15 |
"openCitationsAPIURL" : "https://services.openaire.eu/opencitations/getCitations?id=", |
|
16 |
"csvAPIURL" : "https://beta.services.openaire.eu/search/v2/api/reports", |
|
17 |
"searchCrossrefAPIURL" : "https://api.crossref.org/works", |
|
18 |
"searchDataciteAPIURL" : "https://api.datacite.org/works", |
|
19 |
"searchOrcidURL" : "https://pub.orcid.org/v2.1/", |
|
20 |
"orcidURL" : "https://orcid.org/", |
|
21 |
"doiURL" : "https://dx.doi.org/", |
|
22 |
"cordisURL" : "http://cordis.europa.eu/projects/", |
|
23 |
"openDoarURL": "http://v2.sherpa.ac.uk/id/repository/", |
|
24 |
"r3DataURL": "http://service.re3data.org/repository/", |
|
25 |
"zenodo" : "https://zenodo.org/", |
|
26 |
"zenodoCommunities" : "https://zenodo.org/api/communities/", |
|
27 |
"openAccess" : "https://www.openaire.eu/support/faq#article-id-234", |
|
28 |
"openAccessRepo" : "https://www.openaire.eu/support/faq#article-id-310", |
|
29 |
"fp7Guidlines" : "https://www.openaire.eu/open-access-in-fp7-seventh-research-framework-programme", |
|
30 |
"h2020Guidlines" : "https://www.openaire.eu/oa-publications/h2020/open-access-in-horizon-2020", |
|
31 |
"ercGuidlines" : "http://erc.europa.eu/sites/default/files/document/file/ERC_Open_Access_Guidelines-revised_2014.pdf", |
|
32 |
"helpdesk" : "https://www.openaire.eu/support/helpdesk", |
|
33 |
"utilsService" : "https://demo.openaire.eu/utils-service", |
|
34 |
|
|
35 |
"vocabulariesAPI" :"https://beta.services.openaire.eu/provision/mvc/vocabularies/", |
|
36 |
|
|
37 |
"piwikBaseUrl" :"https://analytics.openaire.eu/piwik.php?idsite=", |
|
38 |
"piwikSiteId" : "298", |
|
39 |
"loginUrl" :"https://beta.services.openaire.eu/monitor-dashboard-login/openid_connect_login", |
|
40 |
"userInfoUrl" : "https://beta.services.openaire.eu/uoa-user-management/api/users/getUserInfo?accessToken=", |
|
41 |
|
|
42 |
"logoutUrl" :"https://aai.openaire.eu/proxy/saml2/idp/SingleLogoutService.php?ReturnTo=", |
|
43 |
|
|
44 |
"cookieDomain" :".openaire.eu", |
|
45 |
|
|
46 |
"feedbackmail" :"openaire.test@gmail.com", |
|
47 |
|
|
48 |
"cacheUrl" :"https://demo.openaire.eu/cache/get?url=", |
|
49 |
|
|
50 |
"monitorServiceAPIURL" :"https://beta.services.openaire.eu/uoa-monitor-service/", |
|
51 |
|
|
52 |
"adminToolsAPIURL" :"https://beta.services.openaire.eu/uoa-admin-tools", |
|
53 |
|
|
54 |
"adminToolsCommunity" :"monitor", |
|
55 |
"datasourcesAPI": "https://beta.services.openaire.eu/openaire/ds/search/", |
|
56 |
"contextsAPI":"https://beta.services.openaire.eu/openaire/context", |
|
57 |
"communityAPI": "https://beta.services.openaire.eu/openaire/community/", |
|
58 |
"communitiesAPI": "https://beta.services.openaire.eu/openaire/community/communities", |
|
59 |
|
|
60 |
"csvLimit": 2000, |
|
61 |
"pagingLimit": 20, |
|
62 |
"resultsPerPage": 10, |
|
63 |
|
|
64 |
"baseLink" : "", |
|
65 |
"domain" : "https://beta.monitor.openaire.eu", |
|
66 |
"searchLinkToPublication" : "/search/publication?articleId=", |
|
67 |
"searchLinkToProject" : "/search/project?projectId=", |
|
68 |
"searchLinkToDataProvider" : "/search/dataprovider?datasourceId=", |
|
69 |
"searchLinkToDataset" : "/search/dataset?datasetId=", |
|
70 |
"searchLinkToSoftwareLanding" : "/search/software?softwareId=", |
|
71 |
"searchLinkToOrganization" : "/search/organization?organizationId=", |
|
72 |
"searchLinkToOrp" : "/search/other?orpId=", |
|
73 |
|
|
74 |
"searchLinkToCommunities" : "/search/find/communities", |
|
75 |
"searchLinkToPublications" : "/search/find/publications", |
|
76 |
"searchLinkToDataProviders" : "/search/find/dataproviders", |
|
77 |
"searchLinkToProjects" : "/search/find/projects", |
|
78 |
"searchLinkToDatasets" : "/search/find/datasets", |
|
79 |
"searchLinkToSoftware" : "/search/find/software", |
|
80 |
"searchLinkToOrps" : "/search/find/other", |
|
81 |
"searchLinkToOrganizations" : "/search/find/organizations", |
|
82 |
"searchLinkToCompatibleDataProviders" : "/search/content-providers", |
|
83 |
"searchLinkToEntityRegistriesDataProviders" : "/search/entity-registries", |
|
84 |
"searchLinkToEntityRegistriesDataProvidersTable" : "/search/entity-registries-table", |
|
85 |
"searchLinkToJournals" : "/search/journals", |
|
86 |
"searchLinkToJournalsTable" : "/search/journals-table", |
|
87 |
|
|
88 |
"searchLinkToAdvancedPublications" : "/search/advanced/publications", |
|
89 |
"searchLinkToAdvancedProjects" : "/search/advanced/projects", |
|
90 |
"searchLinkToAdvancedDatasets" : "/search/advanced/datasets", |
|
91 |
"searchLinkToAdvancedSoftware" : "/search/advanced/software", |
|
92 |
"searchLinkToAdvancedOrps" : "/search/advanced/other", |
|
93 |
"searchLinkToAdvancedDataProviders" : "/search/advanced/dataproviders", |
|
94 |
"searchLinkToAdvancedOrganizations" : "/search/advanced/organizations", |
|
95 |
|
|
96 |
"sendMailUrl": "https://beta.services.openaire.eu/uoa-admin-tools/sendMail/", |
|
97 |
"notifyForNewManagers": "https://beta.services.openaire.eu/uoa-admin-tools/notifyForNewManagers/", |
|
98 |
"notifyForNewSubscribers": "https://beta.services.openaire.eu/uoa-admin-tools/notifyForNewSubscribers/", |
|
99 |
|
|
100 |
|
|
101 |
"lastIndexInformationLink" : "https://beta.openaire.eu/aggregation-and-content-provision-workflows", |
|
102 |
"showLastIndexInformationLink" : true, |
|
103 |
|
|
104 |
"widgetLink" : "https://beta.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=", |
|
105 |
"claimsInformationLink": "https://beta.openaire.eu/linking", |
|
106 |
|
|
107 |
"depositLearnHowPage": "/participate/deposit/learn-how", |
|
108 |
"depositSearchPage": "/participate/deposit/search", |
|
109 |
"shareInZenodoPage": "/participate/deposit/zenodo", |
|
110 |
|
|
111 |
"reCaptchaSiteKey": "6LezhVIUAAAAAOb4nHDd87sckLhMXFDcHuKyS76P", |
|
112 |
|
|
113 |
"admins" : ["argirok@di.uoa.gr"], |
|
114 |
"lastIndexUpdate": "2019-08-07", |
|
115 |
"indexInfoAPI": "https://beta.services.openaire.eu/openaire/info/" |
|
116 |
} |
modules/uoa-monitor-portal/branches/angular-11/monitor/deploy/prepareDeploy.sh | ||
---|---|---|
1 |
#ATTENTION |
|
2 |
#DON'T run it in svn folder - it REMOVES files |
|
3 |
#Copy project in another location eg "deploy-folder" |
|
4 |
#go to "deploy-folder/deploy" |
|
5 |
#uncomment the proper commands |
|
6 |
#run the script |
|
7 |
|
|
8 |
# cp theproperties file according to the deploy environment!!! |
|
9 |
## uncommect one of the following --> |
|
10 |
# cp beta-properties.json ../src/assets/env-properties.json; |
|
11 |
# cp production-properties.json ../src/assets/env-properties.json; |
|
12 |
|
|
13 |
## uncommect from here--> |
|
14 |
# printf '\nCheck that you have the correct properties file'; |
|
15 |
# echo -n "Press key:"; |
|
16 |
# read -n1 ans |
|
17 |
# pico ../src/assets/env-properties.json; |
|
18 |
# printf '\nCheck the properties file version'; |
|
19 |
# echo -n "Press key:"; |
|
20 |
# read -n1 ans |
|
21 |
# pico ../src/app/openaireLibrary/utils/properties/environment-specific.service.ts; |
|
22 |
# echo 'For Production keep meta for bots'; |
|
23 |
# printf '\n\nCheck index.html: For test and beta keep meta for noindex, for production remove noindex and keep meta for Search engines verification'; |
|
24 |
# printf '\nUpdate css/ js files version!'; |
|
25 |
# echo -n "Press key:"; |
|
26 |
# read -n1 ans |
|
27 |
# echo -n "Pressed"; |
|
28 |
# pico ../src/index.html; |
|
29 |
# echo -n 'Check Robots.txt: For test and beta add "Diasallow /", for production remove it!'; |
|
30 |
# echo -n "Press key:"; |
|
31 |
# read -n1 ans |
|
32 |
# pico ../src/robots.txt; |
|
33 |
# echo -n "Pressed"; |
|
34 |
# rm -rf ../src/assets/common-assets/.svn/; |
|
35 |
# rm -rf ../src/app/openaireLibrary/.svn/; |
|
36 |
# cd ..; npm run build:ssr; cd deploy; |
|
37 |
#rm -rf ../src ../node_modules ../.idea/ ../installOpenaireLib.sh; ../dist/browser/assets/common-assets/.svn/; cd ../; rm -rf deploy; |
|
38 |
# echo 'Now copy to the server!' |
|
39 |
|
|
40 |
##<-- to here |
|
41 |
|
|
42 |
#Deploy instructions! |
|
43 |
#copy "deploy-folder" in beta.connect.openaire.eu or connect.openaire.eu |
|
44 |
#copies of previous deployments exist in "/home/argiro.kokogiannaki/connect-portal/connectYYYY-MM-DD" |
|
45 |
#run "npm i" |
|
46 |
#become nodejs user to be able to copy the files: "sudo su nodejs -s /bin/bash" |
|
47 |
#check what is running "pm2 list" |
|
48 |
#portal files exist in "/srv/www/portal/connect" |
|
49 |
#copy deployment files to the portal folder "cp -r /home/argiro.kokogiannaki/connect-portal/connectYYYY-MM-DD/* /srv/www/portal/connect" |
|
50 |
#restart portal to get the changes "pm2 restart connect" |
|
51 |
|
|
52 |
|
|
53 |
#rm -rf src node_modules .idea/ installOpenaireLib.sh dist/browser/stats.json dist/browser/assets/common-assets/.svn/ deploy; |
|
54 | 0 |
modules/uoa-monitor-portal/branches/angular-11/monitor/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/branches/angular-11/monitor/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/branches/angular-11/monitor/server.ts | ||
---|---|---|
1 |
import 'zone.js/dist/zone-node'; |
|
2 |
import 'reflect-metadata'; |
|
3 |
import { renderModuleFactory } from '@angular/platform-server'; |
|
4 |
import { enableProdMode } from '@angular/core'; |
|
5 |
|
|
6 |
import * as express from 'express'; |
|
7 |
import { join } from 'path'; |
|
8 |
import { readFileSync } from 'fs'; |
|
9 |
|
|
10 |
// Faster server renders w/ Prod mode (dev mode never needed) |
|
11 |
enableProdMode(); |
|
12 |
|
|
13 |
// Express server |
|
14 |
const app = express(); |
|
15 |
|
|
16 |
const PORT = process.env.PORT || 3000; |
|
17 |
const DIST_FOLDER = join(process.cwd(), 'dist'); |
|
18 |
|
|
19 |
// Our index.html we'll use as our template |
|
20 |
const template = readFileSync(join(DIST_FOLDER, 'browser', 'index.html')).toString(); |
|
21 |
|
|
22 |
// * NOTE :: leave this as require() since this file is built Dynamically from webpack |
|
23 |
const { AppServerModuleNgFactory, LAZY_MODULE_MAP } = require('./dist/server/main'); |
|
24 |
|
|
25 |
// Express Engine |
|
26 |
import {ngExpressEngine, RenderOptions} from '@nguniversal/express-engine'; |
|
27 |
// Import module map for lazy loading |
|
28 |
import { provideModuleMap } from '@nguniversal/module-map-ngfactory-loader'; |
|
29 |
import {REQUEST, RESPONSE} from "@nguniversal/express-engine/tokens"; |
|
30 |
|
|
31 |
// Our Universal express-engine (found @ https://github.com/angular/universal/tree/master/modules/express-engine) |
|
32 |
// app.engine('html', ngExpressEngine({ |
|
33 |
// bootstrap: AppServerModuleNgFactory, |
|
34 |
// providers: [ |
|
35 |
// { provide: 'request', useFactory: () => options.req, deps: [] }, |
|
36 |
// provideModuleMap(LAZY_MODULE_MAP) |
|
37 |
// ] |
|
38 |
// })); |
|
39 |
|
|
40 |
// be able to get request and get domain from there |
|
41 |
app.engine('html', (_, options: any, callback) => { |
|
42 |
const opts = { |
|
43 |
document: template, |
|
44 |
url: options.req.url, |
|
45 |
extraProviders: [ |
|
46 |
provideModuleMap(LAZY_MODULE_MAP), |
|
47 |
{ |
|
48 |
provide: REQUEST, |
|
49 |
useValue: options.req |
|
50 |
}, |
|
51 |
{ |
|
52 |
provide: RESPONSE, |
|
53 |
useValue: options.req.res, |
|
54 |
}, |
|
55 |
] |
|
56 |
}; |
|
57 |
|
|
58 |
renderModuleFactory(AppServerModuleNgFactory, opts) |
|
59 |
.then(html => callback(null, html) |
|
60 |
); |
|
61 |
}); |
|
62 |
app.set('view engine', 'html'); |
|
63 |
app.set('views', join(DIST_FOLDER, 'browser')); |
|
64 |
|
|
65 |
/* - Example Express Rest API endpoints - |
|
66 |
app.get('/api/**', (req, res) => { }); |
|
67 |
*/ |
|
68 |
|
|
69 |
// Server static files from /browser |
|
70 |
app.get('*.*', express.static(join(DIST_FOLDER, 'browser'), { |
|
71 |
maxAge: '1y' |
|
72 |
})); |
|
73 |
|
|
74 |
// ALl regular routes use the Universal engine |
|
75 |
app.get('*', (req, res) => { |
|
76 |
res.render('index', { req }); |
|
77 |
}); |
|
78 |
|
|
79 |
// Start up the Node server |
|
80 |
app.listen(PORT, () => { |
|
81 |
console.log(`Node Express server listening on http://localhost:${PORT}`); |
|
82 |
}); |
modules/uoa-monitor-portal/branches/angular-11/monitor/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/branches/angular-11/monitor/src/robots.prod.txt | ||
---|---|---|
1 |
User-Agent: * |
|
2 |
Crawl-delay: 30 |
|
3 |
|
|
4 |
Sitemap: https://monitorsitemap.xml.openaire.eu/sitemap.xml |
modules/uoa-monitor-portal/branches/angular-11/monitor/src/main.server.ts | ||
---|---|---|
1 |
export { AppServerModule } from './app/app.server.module'; |
modules/uoa-monitor-portal/branches/angular-11/monitor/src/tsconfig.server.json | ||
---|---|---|
1 |
{ |
|
2 |
"extends": "../tsconfig.json", |
|
3 |
"compilerOptions": { |
|
4 |
"outDir": "../out-tsc/app", |
|
5 |
"baseUrl": "./", |
|
6 |
// Set the module format to "commonjs": |
|
7 |
"module": "commonjs", |
|
8 |
"types": [ |
|
9 |
"node" |
|
10 |
] |
|
11 |
}, |
|
12 |
"exclude": [ |
|
13 |
"test.ts", |
|
14 |
"**/*.spec.ts" |
|
15 |
], |
|
16 |
// Add "angularCompilerOptions" with the AppServerModule you wrote |
|
17 |
// set as the "entryModule". |
|
18 |
"angularCompilerOptions": { |
|
19 |
"entryModule": "app/app.server.module#AppServerModule" |
|
20 |
} |
|
21 |
} |
modules/uoa-monitor-portal/branches/angular-11/monitor/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 |
|
|
11 |
|
|
12 |
<meta property="og:description" content="OpenAIRE Monitor, funder, funding"/> |
|
13 |
<meta property="og:title" content="OpenAIRE - Monitor "/> |
|
14 |
|
|
15 |
<meta property="og:type" content="website"/> |
|
16 |
<meta property="og:url" content="https://monitor.openaire.eu"/> |
|
17 |
<meta property="og:site_name" content="OpenAIRE - Monitor"/> |
|
18 |
|
|
19 |
<meta property="og:image" content="assets/common-assets/common/Symbol.png"/> |
|
20 |
<meta property="og:image:secure_url" content="assets/common-assets/common/Symbol.png"/> |
|
21 |
<meta property="og:image:type" content="image/png"/> |
|
22 |
<meta property="og:image:width" content="360"/> |
|
23 |
<meta property="og:image:height" content="359"/> |
|
24 |
<meta name="google-site-verification" content="rZ-58gIX8IqzBte6Qv4J5yY9aSiDP15Dfc1Yr9yezqE" /> |
|
25 |
<link rel="apple-touch-icon" sizes="57x57" href="assets/common-assets/logo/apple-icon-57x57.png"> |
|
26 |
<link rel="apple-touch-icon" sizes="60x60" href="assets/common-assets/logo/apple-icon-60x60.png"> |
|
27 |
<link rel="apple-touch-icon" sizes="72x72" href="assets/common-assets/logo/apple-icon-72x72.png"> |
|
28 |
<link rel="apple-touch-icon" sizes="76x76" href="assets/common-assets/logo/apple-icon-76x76.png"> |
|
29 |
<link rel="apple-touch-icon" sizes="114x114" href="assets/common-assets/logo/apple-icon-114x114.png"> |
|
30 |
<link rel="apple-touch-icon" sizes="120x120" href="assets/common-assets/logo/apple-icon-120x120.png"> |
|
31 |
<link rel="apple-touch-icon" sizes="144x144" href="assets/common-assets/logo/apple-icon-144x144.png"> |
|
32 |
<link rel="apple-touch-icon" sizes="152x152" href="assets/common-assets/logo/apple-icon-152x152.png"> |
|
33 |
<link rel="apple-touch-icon" sizes="180x180" href="assets/common-assets/logo/apple-icon-180x180.png"> |
|
34 |
<link rel="icon" type="image/png" sizes="192x192" href="assets/common-assets/logo/android-icon-192x192.png"> |
|
35 |
<link rel="icon" type="image/png" sizes="32x32" href="assets/common-assets/logo/favicon-32x32.png"> |
|
36 |
<link rel="icon" type="image/png" sizes="96x96" href="assets/common-assets/logo/favicon-96x96.png"> |
|
37 |
<link rel="icon" type="image/png" sizes="16x16" href="assets/common-assets/logo/favicon-16x16.png"> |
|
38 |
<link href="assets/common-assets/logo/favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon"/> |
|
39 |
<link rel="manifest" href="assets/common-assets/logo/manifest.json"> |
|
40 |
<meta name="msapplication-TileColor" content="#ffffff"> |
|
41 |
<meta name="msapplication-TileImage" content="/ms-icon-144x144.png"> |
|
42 |
<meta name="theme-color" content="#ffffff"> |
|
43 |
</head> |
|
44 |
<body> |
|
45 |
<div class="uk-offcanvas-content uk-height-viewport"> |
|
46 |
<app-root></app-root> |
|
47 |
</div> |
|
48 |
</body> |
|
49 |
<script type="text/javascript"> |
|
50 |
function loadAltmetrics(e, t, n) { |
|
51 |
var d = "createElement", c = "getElementsByTagName", m = "setAttribute", n = document.getElementById(e); |
|
52 |
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") |
|
53 |
} |
|
54 |
</script> |
|
55 |
<script src="https://unpkg.com/smoothscroll-polyfill@0.4.3/dist/smoothscroll.min.js"></script> |
|
56 |
</html> |
modules/uoa-monitor-portal/branches/angular-11/monitor/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'; |
|
4 |
|
|
5 |
import {AppModule} from './app.module'; |
|
6 |
import {AppComponent} from './app.component'; |
|
7 |
|
|
8 |
@NgModule({ |
|
9 |
imports: [ |
|
10 |
// The AppServerModule should import your AppModule followed |
|
11 |
// by the ServerModule from @angular/platform-server. |
|
12 |
AppModule, |
|
13 |
ServerModule, |
|
14 |
ModuleMapLoaderModule, |
|
15 |
], |
|
16 |
// Since the bootstrapped component is not inherited from your |
|
17 |
// imported AppModule, it needs to be repeated here. |
|
18 |
bootstrap: [AppComponent], |
|
19 |
}) |
|
20 |
export class AppServerModule {} |
modules/uoa-monitor-portal/branches/angular-11/monitor/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": {
|
|
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 |
"outputPath": "dist/monitor",
|
|
15 | 39 |
"index": "src/index.html", |
16 | 40 |
"main": "src/main.ts", |
41 |
"polyfills": "src/polyfills.ts", |
|
17 | 42 |
"tsConfig": "src/tsconfig.app.json", |
18 |
"polyfills": "src/polyfills.ts", |
|
19 | 43 |
"assets": [ |
20 | 44 |
"src/assets", |
21 | 45 |
"src/robots.txt", |
... | ... | |
30 | 54 |
"src/assets/common-assets/common/uikit.min.js", |
31 | 55 |
"src/assets/common-assets/common/uikit-icons.min.js", |
32 | 56 |
"node_modules/jquery/dist/jquery.js" |
33 |
] |
|
57 |
], |
|
58 |
"es5BrowserSupport": true |
|
34 | 59 |
}, |
35 | 60 |
"configurations": { |
36 | 61 |
"production": { |
37 |
"optimization": true, |
|
38 |
"outputHashing": "all", |
|
39 |
"sourceMap": false, |
|
40 |
"extractCss": true, |
|
41 |
"namedChunks": false, |
|
42 |
"aot": true, |
|
43 |
"extractLicenses": true, |
|
44 |
"vendorChunk": false, |
|
45 |
"buildOptimizer": true, |
|
46 | 62 |
"fileReplacements": [ |
47 | 63 |
{ |
48 | 64 |
"replace": "src/environments/environment.ts", |
49 | 65 |
"with": "src/environments/environment.prod.ts" |
50 |
}, |
|
51 |
{ |
|
52 |
"replace": "src/index.html", |
|
53 |
"with": "src/index.prod.html" |
|
54 |
}, |
|
55 |
{ |
|
56 |
"replace": "src/robots.txt", |
|
57 |
"with": "src/robots.prod.txt" |
|
58 | 66 |
} |
59 |
] |
|
60 |
}, |
|
61 |
"beta": { |
|
67 |
], |
|
62 | 68 |
"optimization": true, |
63 | 69 |
"outputHashing": "all", |
64 | 70 |
"sourceMap": false, |
... | ... | |
68 | 74 |
"extractLicenses": true, |
69 | 75 |
"vendorChunk": false, |
70 | 76 |
"buildOptimizer": true, |
71 |
"fileReplacements": [
|
|
77 |
"budgets": [
|
|
72 | 78 |
{ |
73 |
"replace": "src/environments/environment.ts", |
|
74 |
"with": "src/environments/environment.beta.ts" |
|
79 |
"type": "initial", |
|
80 |
"maximumWarning": "2mb", |
|
81 |
"maximumError": "5mb" |
|
75 | 82 |
} |
76 | 83 |
] |
77 | 84 |
} |
... | ... | |
80 | 87 |
"serve": { |
81 | 88 |
"builder": "@angular-devkit/build-angular:dev-server", |
82 | 89 |
"options": { |
83 |
"browserTarget": "ng-universal-demo:build"
|
|
90 |
"browserTarget": "monitor:build"
|
|
84 | 91 |
}, |
85 | 92 |
"configurations": { |
86 | 93 |
"production": { |
87 |
"browserTarget": "ng-universal-demo:build:production" |
|
88 |
}, |
|
89 |
"beta": { |
|
90 |
"browserTarget": "ng-universal-demo:build:beta" |
|
94 |
"browserTarget": "monitor:build:production" |
|
91 | 95 |
} |
92 | 96 |
} |
93 | 97 |
}, |
94 | 98 |
"extract-i18n": { |
95 | 99 |
"builder": "@angular-devkit/build-angular:extract-i18n", |
96 | 100 |
"options": { |
97 |
"browserTarget": "ng-universal-demo:build"
|
|
101 |
"browserTarget": "monitor:build"
|
|
98 | 102 |
} |
99 | 103 |
}, |
100 | 104 |
"test": { |
101 | 105 |
"builder": "@angular-devkit/build-angular:karma", |
102 | 106 |
"options": { |
103 | 107 |
"main": "src/test.ts", |
104 |
"karmaConfig": "./karma.conf.js", |
|
105 | 108 |
"polyfills": "src/polyfills.ts", |
106 | 109 |
"tsConfig": "src/tsconfig.spec.json", |
107 |
"scripts": [ |
|
108 |
"src/assets/common-assets/common/jquery.js", |
|
109 |
"src/assets/common-assets/common/uikit.min.js", |
|
110 |
"src/assets/common-assets/common/uikit-icons.min.js", |
|
111 |
"node_modules/jquery/dist/jquery.js" |
|
112 |
], |
|
110 |
"karmaConfig": "src/karma.conf.js", |
|
113 | 111 |
"styles": [ |
114 | 112 |
"src/styles.css" |
115 | 113 |
], |
114 |
"scripts": [], |
|
116 | 115 |
"assets": [ |
117 |
"src/assets", |
|
118 |
"src/robots.txt", |
|
119 |
"src/sitemap.xml" |
|
116 |
"src/favicon.ico", |
|
117 |
"src/assets" |
|
120 | 118 |
] |
121 | 119 |
} |
122 | 120 |
}, |
... | ... | |
131 | 129 |
"**/node_modules/**" |
132 | 130 |
] |
133 | 131 |
} |
134 |
}, |
|
135 |
"server": { |
|
136 |
"builder": "@angular-devkit/build-angular:server", |
|
137 |
"options": { |
|
138 |
"outputPath": "dist/server", |
|
139 |
"main": "src/main.server.ts", |
|
140 |
"tsConfig": "src/tsconfig.server.json" |
|
141 |
}, |
|
142 |
"configurations": { |
|
143 |
"production": { |
|
144 |
"fileReplacements": [ |
|
145 |
{ |
|
146 |
"replace": "src/environments/environment.ts", |
|
147 |
"with": "src/environments/environment.prod.ts" |
|
148 |
}, |
|
149 |
{ |
|
150 |
"replace": "src/index.html", |
|
151 |
"with": "src/index.prod.html" |
|
152 |
}, |
|
153 |
{ |
|
154 |
"replace": "src/robots.txt", |
|
155 |
"with": "src/robots.prod.txt" |
|
156 |
} |
|
157 |
] |
|
158 |
}, |
|
159 |
"beta": { |
|
160 |
"fileReplacements": [ |
|
161 |
{ |
|
162 |
"replace": "src/environments/environment.ts", |
|
163 |
"with": "src/environments/environment.beta.ts" |
|
164 |
} |
|
165 |
] |
|
166 |
} |
|
167 |
} |
|
168 | 132 |
} |
169 | 133 |
} |
170 | 134 |
}, |
171 |
"ng-universal-demo-e2e": { |
|
172 |
"root": "e2e", |
|
173 |
"sourceRoot": "e2e", |
|
135 |
"monitor-e2e": { |
|
136 |
"root": "e2e/", |
|
174 | 137 |
"projectType": "application", |
138 |
"prefix": "", |
|
175 | 139 |
"architect": { |
176 | 140 |
"e2e": { |
177 | 141 |
"builder": "@angular-devkit/build-angular:protractor", |
178 | 142 |
"options": { |
179 |
"protractorConfig": "./protractor.conf.js", |
|
180 |
"devServerTarget": "ng-universal-demo:serve" |
|
143 |
"protractorConfig": "e2e/protractor.conf.js", |
|
144 |
"devServerTarget": "monitor:serve" |
|
145 |
}, |
|
146 |
"configurations": { |
|
147 |
"production": { |
|
148 |
"devServerTarget": "monitor:serve:production" |
|
149 |
} |
|
181 | 150 |
} |
182 | 151 |
}, |
183 | 152 |
"lint": { |
184 | 153 |
"builder": "@angular-devkit/build-angular:tslint", |
185 | 154 |
"options": { |
186 |
"tsConfig": [ |
|
187 |
"e2e/tsconfig.e2e.json" |
|
188 |
], |
|
155 |
"tsConfig": "e2e/tsconfig.e2e.json", |
|
189 | 156 |
"exclude": [ |
190 | 157 |
"**/node_modules/**" |
191 | 158 |
] |
... | ... | |
194 | 161 |
} |
195 | 162 |
} |
196 | 163 |
}, |
197 |
"defaultProject": "ng-universal-demo", |
|
198 |
"schematics": { |
|
199 |
"@schematics/angular:class": { |
|
200 |
"spec": false |
|
201 |
}, |
|
202 |
"@schematics/angular:component": { |
|
203 |
"spec": false, |
|
204 |
"inlineStyle": true, |
|
205 |
"inlineTemplate": true, |
|
206 |
"prefix": "app", |
|
207 |
"styleext": "css" |
|
208 |
}, |
|
209 |
"@schematics/angular:directive": { |
|
210 |
"spec": false, |
|
211 |
"prefix": "app" |
|
212 |
}, |
|
213 |
"@schematics/angular:guard": { |
|
214 |
"spec": false |
|
215 |
}, |
|
216 |
"@schematics/angular:module": { |
|
217 |
"spec": false |
|
218 |
}, |
|
219 |
"@schematics/angular:pipe": { |
|
220 |
"spec": false |
|
221 |
}, |
|
222 |
"@schematics/angular:service": { |
|
223 |
"spec": false |
|
224 |
} |
|
225 |
} |
|
164 |
"defaultProject": "monitor" |
|
226 | 165 |
} |
modules/uoa-monitor-portal/branches/angular-11/monitor/package.json | ||
---|---|---|
1 | 1 |
{ |
2 |
"name": "openaire-monitor", |
|
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 |
], |
|
2 |
"name": "monitor", |
|
3 |
"version": "0.0.0", |
|
9 | 4 |
"scripts": { |
10 | 5 |
"ng": "ng", |
11 | 6 |
"start": " ng serve --port 4500 --disable-host-check --host 0.0.0.0", |
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 | 7 |
"build": "ng build", |
17 |
"build:client-and-server-bundles": "ng build --prod --sourceMap --stats-json=true && ng run ng-universal-demo:server:production", |
|
18 |
"build:client-and-server-bundles-beta": "ng build --configuration=beta --sourceMap --stats-json=true && ng run ng-universal-demo:server:beta", |
|
19 |
"build:prerender": "npm run build:client-and-server-bundles && npm run webpack:server && npm run generate:prerender", |
|
20 |
"build:ssr": "npm run build:client-and-server-bundles && npm run webpack:server", |
|
21 |
"build:prerender-beta": "npm run build:client-and-server-bundles-beta && npm run webpack:server && npm run generate:prerender", |
|
22 |
"build:ssr-beta": "npm run build:client-and-server-bundles-beta && npm run webpack:server", |
|
23 |
"generate:prerender": "cd dist && node prerender", |
|
24 |
"webpack:server": "webpack --config webpack.server.config.js --progress --colors", |
|
25 |
"serve:prerender": "cd dist/browser && http-server", |
|
26 |
"serve:ssr": "node dist/server", |
|
27 |
"after-build-clean": "rm -rf src node_modules .idea/ installOpenaireLib.sh deploy dist/browser/assets/common-assets/.svn/ dist/browser/stats.json ; " |
|
8 |
"test": "ng test", |
|
9 |
"e2e": "ng e2e" |
|
28 | 10 |
}, |
29 | 11 |
"private": true, |
30 | 12 |
"dependencies": { |
31 |
"@angular/animations": "^7.2.14", |
|
32 |
"@angular/cdk": "^7.3.7", |
|
33 |
"@angular/common": "7.2.14", |
|
34 |
"@angular/compiler": "7.2.14", |
|
35 |
"@angular/core": "7.2.14", |
|
36 |
"@angular/forms": "7.2.14", |
|
37 |
"@angular/http": "7.2.14", |
|
38 |
"@angular/material": "^7.3.7", |
|
39 |
"@angular/platform-browser": "7.2.14", |
|
40 |
"@angular/platform-browser-dynamic": "7.2.14", |
|
41 |
"@angular/platform-server": "7.2.14", |
|
42 |
"@angular/router": "7.2.14", |
|
43 |
"@nguniversal/express-engine": "^6.0.0", |
|
44 |
"@nguniversal/module-map-ngfactory-loader": "^6.0.0", |
|
45 |
"@types/express": "^4.16.1", |
|
46 |
"citation-js": "^0.3.4", |
|
13 |
"@angular/cdk": "^7.2.0", |
|
14 |
"@angular/animations": "~7.2.0", |
|
15 |
"@angular/common": "~7.2.0", |
|
16 |
"@angular/compiler": "~7.2.0", |
|
17 |
"@angular/core": "~7.2.0", |
|
18 |
"@angular/material": "^7.2.0", |
|
19 |
"@angular/forms": "~7.2.0", |
|
20 |
"@angular/platform-browser": "~7.2.0", |
|
21 |
"@angular/platform-browser-dynamic": "~7.2.0", |
|
22 |
"@angular/router": "~7.2.0", |
|
47 | 23 |
"clipboard": "^1.5.16", |
48 |
"core-js": "^2.4.1", |
|
24 |
"core-js": "^2.5.4", |
|
25 |
"express": "^4.15.2", |
|
49 | 26 |
"jquery": "^3.4.1", |
50 |
"ngx-json-ld": "0.1.6", |
|
51 |
"prom-client": "^11.3.0", |
|
52 | 27 |
"ts-md5": "^1.2.0", |
53 |
"tslib": "^1.9.0", |
|
54 |
"wikidata-sdk": "^5.2.9", |
|
55 |
"zone.js": "^0.8.26", |
|
56 |
"ng-recaptcha": "^3.0.5", |
|
57 |
"ng2-ckeditor": "1.1.9" |
|
28 |
"rxjs": "^6.5.1", |
|
29 |
"ng-recaptcha": "^5.0.0", |
|
30 |
"zone.js": "^0.8.26" |
|
58 | 31 |
}, |
59 | 32 |
"devDependencies": { |
60 | 33 |
"@angular-devkit/build-angular": "~0.13.0", |
61 |
"@angular/cli": "^7.3.9", |
|
62 |
"@angular/compiler-cli": "7.2.14", |
|
63 |
"@angular/language-service": "7.2.14", |
|
64 |
"@types/jquery": "^3.3.29", |
|
65 |
"@types/node": "^8.0.30", |
|
66 |
"cpy-cli": "^1.0.1", |
|
67 |
"http-server": "^0.10.0", |
|
68 |
"reflect-metadata": "^0.1.10", |
|
69 |
"rxjs": "6.5.1", |
|
70 |
"rxjs-compat": "^6.5.1", |
|
71 |
"ts-loader": "^4.2.0", |
|
72 |
"typescript": "3.2.4", |
|
73 |
"webpack-cli": "^3.3.2" |
|
34 |
"@angular/cli": "~7.3.10", |
|
35 |
"@angular/compiler-cli": "~7.2.0", |
|
36 |
"@angular/language-service": "~7.2.0", |
|
37 |
"@types/express": "^4.17.0", |
|
38 |
"@types/compression": "^1.7.0", |
|
39 |
"@types/node": "~8.9.4", |
|
40 |
"@types/jasmine": "~2.8.8", |
|
41 |
"@types/jasminewd2": "~2.0.3", |
|
42 |
"codelyzer": "~4.5.0", |
|
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.1", |
|
48 |
"karma-jasmine": "~1.1.2", |
|
49 |
"karma-jasmine-html-reporter": "^0.2.2", |
|
50 |
"protractor": "~5.4.0", |
|
51 |
"ts-node": "~7.0.0", |
|
52 |
"typescript": "~3.2.2" |
|
74 | 53 |
} |
75 | 54 |
} |
modules/uoa-monitor-portal/branches/angular-11/monitor/tsconfig.json | ||
---|---|---|
1 | 1 |
{ |
2 | 2 |
"compileOnSave": false, |
3 | 3 |
"compilerOptions": { |
4 |
"importHelpers": true,
|
|
4 |
"baseUrl": "./",
|
|
5 | 5 |
"outDir": "./dist/out-tsc", |
6 | 6 |
"sourceMap": true, |
7 | 7 |
"declaration": false, |
8 |
"module": "es2015", |
|
8 | 9 |
"moduleResolution": "node", |
9 | 10 |
"emitDecoratorMetadata": true, |
10 | 11 |
"experimentalDecorators": true, |
12 |
"importHelpers": true, |
|
11 | 13 |
"target": "es5", |
12 | 14 |
"typeRoots": [ |
13 | 15 |
"node_modules/@types" |
14 | 16 |
], |
15 | 17 |
"lib": [ |
16 |
"es2017",
|
|
18 |
"es2018",
|
|
17 | 19 |
"dom" |
18 |
], |
|
19 |
"module": "es2015", |
|
20 |
"baseUrl": "./" |
|
20 |
] |
|
21 | 21 |
} |
22 |
} |
|
22 |
} |
modules/uoa-monitor-portal/branches/angular-11/monitor/src/app/app.module.ts | ||
---|---|---|
31 | 31 |
BottomModule, |
32 | 32 |
CookieLawModule, |
33 | 33 |
BrowserTransferStateModule, |
34 |
BrowserModule.withServerTransition({appId: 'my-app'}),
|
|
34 |
BrowserModule, |
|
35 | 35 |
AppRoutingModule, |
36 | 36 |
Schema2jsonldModule |
37 | 37 |
], |
modules/uoa-monitor-portal/branches/angular-11/monitor/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'), |
|
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/branches/angular-11/monitor/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 |
/** Evergreen browsers require these. **/ |
|
41 |
import 'core-js/es6/reflect'; |
|
42 |
|
|
43 |
|
|
44 | 24 |
/** |
45 |
* Required to support Web Animations `@angular/animation`. |
|
46 |
* Needed for: All but Chrome, Firefox and Opera. http://caniuse.com/#feat=web-animation |
|
47 |
**/ |
|
25 |
* Web Animations `@angular/platform-browser/animations` |
|
26 |
* Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. |
|
27 |
* Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). |
|
28 |
*/ |
|
48 | 29 |
// import 'web-animations-js'; // Run `npm install --save web-animations-js`. |
49 | 30 |
|
31 |
/** |
|
32 |
* By default, zone.js will patch all possible macroTask and DomEvents |
|
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__BLACK_LISTED_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 |
* |
|
53 |
*/ |
|
50 | 54 |
|
51 |
|
|
52 | 55 |
/*************************************************************************************************** |
53 |
* Zone JS is required by Angular itself. |
|
56 |
* Zone JS is required by default for Angular itself.
|
|
54 | 57 |
*/ |
55 | 58 |
import 'zone.js/dist/zone'; // Included with Angular CLI. |
56 | 59 |
|
57 | 60 |
|
58 |
|
|
59 | 61 |
/*************************************************************************************************** |
60 | 62 |
* APPLICATION IMPORTS |
61 | 63 |
*/ |
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/branches/angular-11/monitor/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 |
# |
|
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/branches/angular-11/monitor/src/tsconfig.app.json | ||
---|---|---|
2 | 2 |
"extends": "../tsconfig.json", |
3 | 3 |
"compilerOptions": { |
4 | 4 |
"outDir": "../out-tsc/app", |
5 |
"baseUrl": "./", |
|
6 |
"module": "es2015", |
|
7 |
"types": [ |
|
8 |
"node" |
|
9 |
] |
|
5 |
"types": [] |
|
10 | 6 |
}, |
11 | 7 |
"exclude": [ |
12 | 8 |
"test.ts", |
modules/uoa-monitor-portal/branches/angular-11/monitor/src/test.ts | ||
---|---|---|
1 |
// This file is required by karma.conf.js and loads recursively all the .spec and framework files |
|
2 |
|
|
3 |
import 'zone.js/dist/zone-testing'; |
|
4 |
import { getTestBed } from '@angular/core/testing'; |
|
5 |
import { |
|
6 |
BrowserDynamicTestingModule, |
|
7 |
platformBrowserDynamicTesting |
|
8 |
} from '@angular/platform-browser-dynamic/testing'; |
|
9 |
|
|
10 |
declare const require: any; |
|
11 |
|
|
12 |
// First, initialize the Angular testing environment. |
|
13 |
getTestBed().initTestEnvironment( |
|
14 |
BrowserDynamicTestingModule, |
|
15 |
platformBrowserDynamicTesting() |
|
16 |
); |
|
17 |
// Then we find all the tests. |
|
18 |
const context = require.context('./', true, /\.spec\.ts$/); |
|
19 |
// And load the modules. |
|
20 |
context.keys().map(context); |
modules/uoa-monitor-portal/branches/angular-11/monitor/src/prod/robots.txt | ||
---|---|---|
1 |
User-Agent: * |
|
2 |
Crawl-delay: 30 |
|
3 |
|
|
4 |
Sitemap: https://monitorsitemap.xml.openaire.eu/sitemap.xml |
modules/uoa-monitor-portal/branches/angular-11/monitor/src/prod/index.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 |
|
|
11 |
|
|
12 |
<meta property="og:description" content="OpenAIRE Monitor, funder, funding"/> |
|
13 |
<meta property="og:title" content="OpenAIRE - Monitor "/> |
|
14 |
|
|
15 |
<meta property="og:type" content="website"/> |
|
16 |
<meta property="og:url" content="https://monitor.openaire.eu"/> |
|
17 |
<meta property="og:site_name" content="OpenAIRE - Monitor"/> |
|
18 |
|
|
19 |
<meta property="og:image" content="assets/common-assets/common/Symbol.png"/> |
|
20 |
<meta property="og:image:secure_url" content="assets/common-assets/common/Symbol.png"/> |
|
21 |
<meta property="og:image:type" content="image/png"/> |
|
22 |
<meta property="og:image:width" content="360"/> |
|
23 |
<meta property="og:image:height" content="359"/> |
|
24 |
<meta name="google-site-verification" content="rZ-58gIX8IqzBte6Qv4J5yY9aSiDP15Dfc1Yr9yezqE" /> |
|
25 |
<link rel="apple-touch-icon" sizes="57x57" href="assets/common-assets/logo/apple-icon-57x57.png"> |
|
26 |
<link rel="apple-touch-icon" sizes="60x60" href="assets/common-assets/logo/apple-icon-60x60.png"> |
|
27 |
<link rel="apple-touch-icon" sizes="72x72" href="assets/common-assets/logo/apple-icon-72x72.png"> |
|
28 |
<link rel="apple-touch-icon" sizes="76x76" href="assets/common-assets/logo/apple-icon-76x76.png"> |
|
29 |
<link rel="apple-touch-icon" sizes="114x114" href="assets/common-assets/logo/apple-icon-114x114.png"> |
|
30 |
<link rel="apple-touch-icon" sizes="120x120" href="assets/common-assets/logo/apple-icon-120x120.png"> |
|
31 |
<link rel="apple-touch-icon" sizes="144x144" href="assets/common-assets/logo/apple-icon-144x144.png"> |
|
32 |
<link rel="apple-touch-icon" sizes="152x152" href="assets/common-assets/logo/apple-icon-152x152.png"> |
|
33 |
<link rel="apple-touch-icon" sizes="180x180" href="assets/common-assets/logo/apple-icon-180x180.png"> |
|
34 |
<link rel="icon" type="image/png" sizes="192x192" href="assets/common-assets/logo/android-icon-192x192.png"> |
|
35 |
<link rel="icon" type="image/png" sizes="32x32" href="assets/common-assets/logo/favicon-32x32.png"> |
|
36 |
<link rel="icon" type="image/png" sizes="96x96" href="assets/common-assets/logo/favicon-96x96.png"> |
|
37 |
<link rel="icon" type="image/png" sizes="16x16" href="assets/common-assets/logo/favicon-16x16.png"> |
|
38 |
<link href="assets/common-assets/logo/favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon"/> |
|
39 |
<link rel="manifest" href="assets/common-assets/logo/manifest.json"> |
|
40 |
<meta name="msapplication-TileColor" content="#ffffff"> |
|
41 |
<meta name="msapplication-TileImage" content="/ms-icon-144x144.png"> |
|
42 |
<meta name="theme-color" content="#ffffff"> |
|
43 |
</head> |
|
44 |
<body> |
|
45 |
<div class="uk-offcanvas-content uk-height-viewport"> |
|
46 |
<app-root></app-root> |
|
47 |
</div> |
|
48 |
</body> |
|
49 |
<script type="text/javascript"> |
|
50 |
function loadAltmetrics(e, t, n) { |
|
51 |
var d = "createElement", c = "getElementsByTagName", m = "setAttribute", n = document.getElementById(e); |
|
52 |
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") |
|
53 |
} |
|
54 |
</script> |
|
55 |
<script src="https://unpkg.com/smoothscroll-polyfill@0.4.3/dist/smoothscroll.min.js"></script> |
|
56 |
</html> |
modules/uoa-monitor-portal/branches/angular-11/monitor/src/main.ts | ||
---|---|---|
8 | 8 |
enableProdMode(); |
9 | 9 |
} |
10 | 10 |
|
11 |
document.addEventListener('DOMContentLoaded', () => { |
|
12 |
platformBrowserDynamic().bootstrapModule(AppModule); |
|
13 |
}); |
|
11 |
platformBrowserDynamic().bootstrapModule(AppModule) |
|
12 |
.catch(err => console.error(err)); |
modules/uoa-monitor-portal/branches/angular-11/monitor/src/styles.css | ||
---|---|---|
1 | 1 |
/* You can add global styles to this file, and also import other style files */ |
2 |
@import "~@angular/material/prebuilt-themes/indigo-pink.css"; |
|
3 | 2 |
@import "assets/common-assets/common/theme.css"; |
4 | 3 |
@import "assets/common-assets/common/custom.css"; |
5 | 4 |
@import "assets/common-assets/library.css"; |
modules/uoa-monitor-portal/branches/angular-11/monitor/src/tsconfig.spec.json | ||
---|---|---|
1 |
{ |
|
2 |
"extends": "../tsconfig.json", |
|
3 |
"compilerOptions": { |
|
4 |
"outDir": "../out-tsc/spec", |
|
5 |
"types": [ |
|
6 |
"jasmine", |
|
7 |
"node" |
|
8 |
] |
|
9 |
}, |
|
10 |
"files": [ |
|
11 |
"test.ts", |
|
12 |
"polyfills.ts" |
|
13 |
], |
|
14 |
"include": [ |
|
15 |
"**/*.spec.ts", |
|
16 |
"**/*.d.ts" |
|
17 |
] |
|
18 |
} |
modules/uoa-monitor-portal/branches/angular-11/monitor/e2e/src/app.po.ts | ||
---|---|---|
1 |
import { browser, by, element } from 'protractor'; |
|
2 |
|
|
3 |
export class AppPage { |
|
4 |
navigateTo() { |
|
5 |
return browser.get(browser.baseUrl) as Promise<any>; |
|
6 |
} |
|
7 |
|
|
8 |
getTitleText() { |
|
9 |
return element(by.css('app-root h1')).getText() as Promise<string>; |
|
10 |
} |
|
11 |
} |
modules/uoa-monitor-portal/branches/angular-11/monitor/e2e/src/app.e2e-spec.ts | ||
---|---|---|
1 |
import { AppPage } from './app.po'; |
|
2 |
import { browser, logging } from 'protractor'; |
|
3 |
|
|
4 |
describe('workspace-project App', () => { |
|
5 |
let page: AppPage; |
|
6 |
|
|
7 |
beforeEach(() => { |
|
8 |
page = new AppPage(); |
|
9 |
}); |
|
10 |
|
|
11 |
it('should display welcome message', () => { |
|
12 |
page.navigateTo(); |
|
13 |
expect(page.getTitleText()).toEqual('Welcome to monitor!'); |
|
14 |
}); |
|
15 |
|
|
16 |
afterEach(async () => { |
|
17 |
// Assert that there are no errors emitted from the browser |
|
18 |
const logs = await browser.manage().logs().get(logging.Type.BROWSER); |
|
19 |
expect(logs).not.toContain(jasmine.objectContaining({ |
|
20 |
level: logging.Level.SEVERE, |
|
21 |
} as logging.Entry)); |
|
22 |
}); |
|
23 |
}); |
modules/uoa-monitor-portal/branches/angular-11/monitor/e2e/tsconfig.e2e.json | ||
---|---|---|
1 |
{ |
|
2 |
"extends": "../tsconfig.json", |
|
3 |
"compilerOptions": { |
|
4 |
"outDir": "../out-tsc/app", |
|
5 |
"module": "commonjs", |
|
6 |
"target": "es5", |
|
7 |
"types": [ |
|
8 |
"jasmine", |
|
9 |
"jasminewd2", |
|
10 |
"node" |
|
11 |
] |
|
12 |
} |
|
13 |
} |
modules/uoa-monitor-portal/branches/angular-11/monitor/e2e/protractor.conf.js | ||
---|---|---|
1 |
// Protractor configuration file, see link for more information |
|
2 |
// https://github.com/angular/protractor/blob/master/lib/config.ts |
|
3 |
|
|
4 |
const { SpecReporter } = require('jasmine-spec-reporter'); |
|
5 |
|
|
6 |
exports.config = { |
|
7 |
allScriptsTimeout: 11000, |
|
8 |
specs: [ |
|
9 |
'./src/**/*.e2e-spec.ts' |
|
10 |
], |
|
11 |
capabilities: { |
|
12 |
'browserName': 'chrome' |
|
13 |
}, |
|
14 |
directConnect: true, |
|
15 |
baseUrl: 'http://localhost:4200/', |
|
16 |
framework: 'jasmine', |
|
17 |
jasmineNodeOpts: { |
|
18 |
showColors: true, |
|
19 |
defaultTimeoutInterval: 30000, |
|
20 |
print: function() {} |
|
21 |
}, |
|
22 |
onPrepare() { |
|
23 |
require('ts-node').register({ |
|
24 |
project: require('path').join(__dirname, './tsconfig.e2e.json') |
|
25 |
}); |
|
26 |
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } })); |
|
27 |
} |
|
28 |
}; |
modules/uoa-monitor-portal/branches/angular-11/monitor/README.md | ||
---|---|---|
1 |
# Angular Universal & Anguar-CLI minimal starter
|
|
1 |
# Monitor
|
|
2 | 2 |
|
Also available in: Unified diff
[Monitor | Angular 11]: Create an anulgar 7 project