783 lines
20 KiB
TypeScript
783 lines
20 KiB
TypeScript
// the polyfills must be one of the first things imported in node.js.
|
|
// The only modules to be imported higher - node modules with es6-promise 3.x or other Promise polyfill dependency
|
|
// (rule of thumb: do it if you have zone.js exception that it has been overwritten)
|
|
// if you are including modules that modify Promise, such as NewRelic,, you must include them before polyfills
|
|
import 'angular2-universal-polyfills';
|
|
|
|
// Fix Universal Style
|
|
import { NodeDomRootRenderer, NodeDomRenderer } from 'angular2-universal/node';
|
|
function renderComponentFix(componentProto: any) {
|
|
return new NodeDomRenderer(this, componentProto, this._animationDriver);
|
|
}
|
|
NodeDomRootRenderer.prototype.renderComponent = renderComponentFix;
|
|
// End Fix Universal Style
|
|
|
|
import * as path from 'path';
|
|
import * as express from 'express';
|
|
import * as bodyParser from 'body-parser';
|
|
import * as cookieParser from 'cookie-parser';
|
|
|
|
// Angular 2
|
|
import { enableProdMode } from '@angular/core';
|
|
// Angular 2 Universal
|
|
import { createEngine } from 'angular2-express-engine';
|
|
|
|
// App
|
|
import { MainModule } from './app.node.module';
|
|
|
|
// enable prod for faster renders
|
|
enableProdMode();
|
|
|
|
const app = express();
|
|
const ROOT = path.join(path.resolve(__dirname, '..'));
|
|
|
|
// Express View
|
|
app.engine('.html', createEngine({
|
|
precompile: true,
|
|
ngModule: MainModule,
|
|
providers: [
|
|
// stateless providers only since it's shared
|
|
]
|
|
}));
|
|
app.set('port', process.env.PORT || 3000);
|
|
app.set('views', __dirname);
|
|
app.set('view engine', 'html');
|
|
|
|
app.use(cookieParser('Angular 2 Universal'));
|
|
app.use(bodyParser.json());
|
|
|
|
// Serve static files
|
|
app.use('/assets', express.static(path.join(__dirname, 'assets'), {maxAge: 30}));
|
|
app.use(express.static(path.join(ROOT, 'dist/client'), {index: false}));
|
|
/* **AK** Add this path so that index.html can see files from node_modules folder (e.g. bootstrap files)*/
|
|
// app.use(express.static(path.join(ROOT, 'node_modules'), {index: false}));
|
|
// app.get('/bootstrap.css', express.static(path.join(ROOT, 'node_modules/bootstrap/dist/css/bootstrap.min.css')));
|
|
|
|
import { serverApi } from './backend/api';
|
|
// Our API for demos only
|
|
app.get('/data.json', serverApi);
|
|
|
|
function ngApp(req, res) {
|
|
res.render('index', {
|
|
req,
|
|
res,
|
|
preboot: false,
|
|
baseUrl: '/',
|
|
requestUrl: req.originalUrl,
|
|
originUrl: 'http://localhost:3000'
|
|
});
|
|
}
|
|
// Routes with html5pushstate
|
|
// ensure routes match client-side-app
|
|
app.get('/', ngApp);
|
|
app.get('/claims', ngApp);
|
|
app.get('/home', ngApp);
|
|
app.get('/claim', ngApp);
|
|
app.get('/myclaims', ngApp);
|
|
app.get('/linking', ngApp);
|
|
app.get('/bulk-linking', ngApp);
|
|
app.get('/search/person', ngApp);
|
|
app.get('/search/project', ngApp);
|
|
app.get('/search/organization', ngApp);
|
|
app.get('/search/dataset', ngApp);
|
|
app.get('/search/dataprovider', ngApp);
|
|
app.get('search/data-providers', ngApp);
|
|
app.get('search/entity-registries', ngApp);
|
|
app.get('/search/publication', ngApp);
|
|
app.get('/search', ngApp);
|
|
app.get('/search/find/publications', ngApp);
|
|
app.get('/search/advanced/publications', ngApp);
|
|
app.get('/search/advanced/dataproviders', ngApp);
|
|
app.get('/search/advanced/projects', ngApp);
|
|
app.get('/search/advanced/organizations', ngApp);
|
|
app.get('/search/advanced/people', ngApp);
|
|
app.get('/search/advanced/datasets', ngApp);
|
|
app.get('/search/find/dataproviders', ngApp);
|
|
app.get('/search/find/projects', ngApp);
|
|
app.get('/search/find/datasets', ngApp);
|
|
app.get('/search/find/organizations', ngApp);
|
|
app.get('/search/find/people', ngApp);
|
|
app.get('/deposit', ngApp);
|
|
app.get('/deposit-result', ngApp);
|
|
app.get('/error', ngApp);
|
|
app.get('/test', ngApp);
|
|
app.get('/refineResults.json', function(req, res) {
|
|
res.setHeader('Content-Type', 'application/json');
|
|
var pojo = {
|
|
"refineResults":[
|
|
{
|
|
"projectendyear":[
|
|
{
|
|
"name":"2016",
|
|
"id":"2016",
|
|
"count":"103"
|
|
},
|
|
{
|
|
"name":"2015",
|
|
"id":"2015",
|
|
"count":"91"
|
|
},
|
|
{
|
|
"name":"2013",
|
|
"id":"2013",
|
|
"count":"69"
|
|
},
|
|
{
|
|
"name":"2010",
|
|
"id":"2010",
|
|
"count":"60"
|
|
},
|
|
{
|
|
"name":"2011",
|
|
"id":"2011",
|
|
"count":"59"
|
|
},
|
|
{
|
|
"name":"2014",
|
|
"id":"2014",
|
|
"count":"59"
|
|
},
|
|
{
|
|
"name":"2012",
|
|
"id":"2012",
|
|
"count":"58"
|
|
},
|
|
{
|
|
"name":"2005",
|
|
"id":"2005",
|
|
"count":"54"
|
|
},
|
|
{
|
|
"name":"2000",
|
|
"id":"2000",
|
|
"count":"52"
|
|
},
|
|
{
|
|
"name":"2006",
|
|
"id":"2006",
|
|
"count":"51"
|
|
},
|
|
{
|
|
"name":"2007",
|
|
"id":"2007",
|
|
"count":"51"
|
|
},
|
|
{
|
|
"name":"2017",
|
|
"id":"2017",
|
|
"count":"49"
|
|
},
|
|
{
|
|
"name":"2009",
|
|
"id":"2009",
|
|
"count":"48"
|
|
},
|
|
{
|
|
"name":"2002",
|
|
"id":"2002",
|
|
"count":"43"
|
|
},
|
|
{
|
|
"name":"2004",
|
|
"id":"2004",
|
|
"count":"43"
|
|
},
|
|
{
|
|
"name":"2001",
|
|
"id":"2001",
|
|
"count":"41"
|
|
},
|
|
{
|
|
"name":"1999",
|
|
"id":"1999",
|
|
"count":"40"
|
|
},
|
|
{
|
|
"name":"2008",
|
|
"id":"2008",
|
|
"count":"37"
|
|
},
|
|
{
|
|
"name":"1997",
|
|
"id":"1997",
|
|
"count":"35"
|
|
},
|
|
{
|
|
"name":"2003",
|
|
"id":"2003",
|
|
"count":"35"
|
|
},
|
|
{
|
|
"name":"1998",
|
|
"id":"1998",
|
|
"count":"33"
|
|
},
|
|
{
|
|
"name":"1993",
|
|
"id":"1993",
|
|
"count":"28"
|
|
},
|
|
{
|
|
"name":"1995",
|
|
"id":"1995",
|
|
"count":"28"
|
|
},
|
|
{
|
|
"name":"1990",
|
|
"id":"1990",
|
|
"count":"27"
|
|
},
|
|
{
|
|
"name":"1994",
|
|
"id":"1994",
|
|
"count":"24"
|
|
},
|
|
{
|
|
"name":"1996",
|
|
"id":"1996",
|
|
"count":"23"
|
|
},
|
|
{
|
|
"name":"1992",
|
|
"id":"1992",
|
|
"count":"22"
|
|
},
|
|
{
|
|
"name":"1979",
|
|
"id":"1979",
|
|
"count":"19"
|
|
},
|
|
{
|
|
"name":"1988",
|
|
"id":"1988",
|
|
"count":"19"
|
|
},
|
|
{
|
|
"name":"1989",
|
|
"id":"1989",
|
|
"count":"18"
|
|
},
|
|
{
|
|
"name":"1991",
|
|
"id":"1991",
|
|
"count":"18"
|
|
},
|
|
{
|
|
"name":"1974",
|
|
"id":"1974",
|
|
"count":"17"
|
|
},
|
|
{
|
|
"name":"2018",
|
|
"id":"2018",
|
|
"count":"17"
|
|
},
|
|
{
|
|
"name":"1975",
|
|
"id":"1975",
|
|
"count":"14"
|
|
},
|
|
{
|
|
"name":"1986",
|
|
"id":"1986",
|
|
"count":"14"
|
|
},
|
|
{
|
|
"name":"1982",
|
|
"id":"1982",
|
|
"count":"13"
|
|
},
|
|
{
|
|
"name":"1987",
|
|
"id":"1987",
|
|
"count":"13"
|
|
},
|
|
{
|
|
"name":"1981",
|
|
"id":"1981",
|
|
"count":"12"
|
|
},
|
|
{
|
|
"name":"1985",
|
|
"id":"1985",
|
|
"count":"12"
|
|
},
|
|
{
|
|
"name":"1976",
|
|
"id":"1976",
|
|
"count":"11"
|
|
},
|
|
{
|
|
"name":"1983",
|
|
"id":"1983",
|
|
"count":"9"
|
|
},
|
|
{
|
|
"name":"2019",
|
|
"id":"2019",
|
|
"count":"9"
|
|
},
|
|
{
|
|
"name":"1973",
|
|
"id":"1973",
|
|
"count":"8"
|
|
},
|
|
{
|
|
"name":"1980",
|
|
"id":"1980",
|
|
"count":"8"
|
|
},
|
|
{
|
|
"name":"1968",
|
|
"id":"1968",
|
|
"count":"7"
|
|
},
|
|
{
|
|
"name":"1984",
|
|
"id":"1984",
|
|
"count":"7"
|
|
},
|
|
{
|
|
"name":"1970",
|
|
"id":"1970",
|
|
"count":"6"
|
|
},
|
|
{
|
|
"name":"1969",
|
|
"id":"1969",
|
|
"count":"5"
|
|
},
|
|
{
|
|
"name":"1978",
|
|
"id":"1978",
|
|
"count":"5"
|
|
},
|
|
{
|
|
"name":"2020",
|
|
"id":"2020",
|
|
"count":"5"
|
|
},
|
|
{
|
|
"name":"1966",
|
|
"id":"1966",
|
|
"count":"3"
|
|
},
|
|
{
|
|
"name":"1972",
|
|
"id":"1972",
|
|
"count":"3"
|
|
},
|
|
{
|
|
"name":"1977",
|
|
"id":"1977",
|
|
"count":"3"
|
|
},
|
|
{
|
|
"name":"1962",
|
|
"id":"1962",
|
|
"count":"2"
|
|
},
|
|
{
|
|
"name":"1963",
|
|
"id":"1963",
|
|
"count":"2"
|
|
},
|
|
{
|
|
"name":"1971",
|
|
"id":"1971",
|
|
"count":"2"
|
|
},
|
|
{
|
|
"name":"1960",
|
|
"id":"1960",
|
|
"count":"1"
|
|
},
|
|
{
|
|
"name":"1961",
|
|
"id":"1961",
|
|
"count":"1"
|
|
},
|
|
{
|
|
"name":"1964",
|
|
"id":"1964",
|
|
"count":"1"
|
|
},
|
|
{
|
|
"name":"1967",
|
|
"id":"1967",
|
|
"count":"1"
|
|
},
|
|
{
|
|
"name":"2021",
|
|
"id":"2021",
|
|
"count":"1"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"projectstartyear":[
|
|
{
|
|
"name":"2015",
|
|
"id":"2015",
|
|
"count":"75"
|
|
},
|
|
{
|
|
"name":"2008",
|
|
"id":"2008",
|
|
"count":"71"
|
|
},
|
|
{
|
|
"name":"2011",
|
|
"id":"2011",
|
|
"count":"66"
|
|
},
|
|
{
|
|
"name":"2009",
|
|
"id":"2009",
|
|
"count":"65"
|
|
},
|
|
{
|
|
"name":"2010",
|
|
"id":"2010",
|
|
"count":"65"
|
|
},
|
|
{
|
|
"name":"2003",
|
|
"id":"2003",
|
|
"count":"63"
|
|
},
|
|
{
|
|
"name":"2013",
|
|
"id":"2013",
|
|
"count":"62"
|
|
},
|
|
{
|
|
"name":"2012",
|
|
"id":"2012",
|
|
"count":"61"
|
|
},
|
|
{
|
|
"name":"2014",
|
|
"id":"2014",
|
|
"count":"61"
|
|
},
|
|
{
|
|
"name":"2005",
|
|
"id":"2005",
|
|
"count":"59"
|
|
},
|
|
{
|
|
"name":"2002",
|
|
"id":"2002",
|
|
"count":"54"
|
|
},
|
|
{
|
|
"name":"2004",
|
|
"id":"2004",
|
|
"count":"50"
|
|
},
|
|
{
|
|
"name":"2007",
|
|
"id":"2007",
|
|
"count":"49"
|
|
},
|
|
{
|
|
"name":"2006",
|
|
"id":"2006",
|
|
"count":"47"
|
|
},
|
|
{
|
|
"name":"1996",
|
|
"id":"1996",
|
|
"count":"45"
|
|
},
|
|
{
|
|
"name":"1997",
|
|
"id":"1997",
|
|
"count":"44"
|
|
},
|
|
{
|
|
"name":"1998",
|
|
"id":"1998",
|
|
"count":"44"
|
|
},
|
|
{
|
|
"name":"2001",
|
|
"id":"2001",
|
|
"count":"40"
|
|
},
|
|
{
|
|
"name":"2000",
|
|
"id":"2000",
|
|
"count":"38"
|
|
},
|
|
{
|
|
"name":"1999",
|
|
"id":"1999",
|
|
"count":"36"
|
|
},
|
|
{
|
|
"name":"1992",
|
|
"id":"1992",
|
|
"count":"34"
|
|
},
|
|
{
|
|
"name":"1991",
|
|
"id":"1991",
|
|
"count":"32"
|
|
},
|
|
{
|
|
"name":"1974",
|
|
"id":"1974",
|
|
"count":"31"
|
|
},
|
|
{
|
|
"name":"1994",
|
|
"id":"1994",
|
|
"count":"31"
|
|
},
|
|
{
|
|
"name":"1993",
|
|
"id":"1993",
|
|
"count":"30"
|
|
},
|
|
{
|
|
"name":"1990",
|
|
"id":"1990",
|
|
"count":"27"
|
|
},
|
|
{
|
|
"name":"1995",
|
|
"id":"1995",
|
|
"count":"27"
|
|
},
|
|
{
|
|
"name":"1987",
|
|
"id":"1987",
|
|
"count":"24"
|
|
},
|
|
{
|
|
"name":"1985",
|
|
"id":"1985",
|
|
"count":"23"
|
|
},
|
|
{
|
|
"name":"1988",
|
|
"id":"1988",
|
|
"count":"18"
|
|
},
|
|
{
|
|
"name":"2016",
|
|
"id":"2016",
|
|
"count":"18"
|
|
},
|
|
{
|
|
"name":"1989",
|
|
"id":"1989",
|
|
"count":"17"
|
|
},
|
|
{
|
|
"name":"1976",
|
|
"id":"1976",
|
|
"count":"16"
|
|
},
|
|
{
|
|
"name":"1986",
|
|
"id":"1986",
|
|
"count":"16"
|
|
},
|
|
{
|
|
"name":"1977",
|
|
"id":"1977",
|
|
"count":"14"
|
|
},
|
|
{
|
|
"name":"1980",
|
|
"id":"1980",
|
|
"count":"13"
|
|
},
|
|
{
|
|
"name":"1981",
|
|
"id":"1981",
|
|
"count":"12"
|
|
},
|
|
{
|
|
"name":"1983",
|
|
"id":"1983",
|
|
"count":"12"
|
|
},
|
|
{
|
|
"name":"1973",
|
|
"id":"1973",
|
|
"count":"10"
|
|
},
|
|
{
|
|
"name":"1968",
|
|
"id":"1968",
|
|
"count":"9"
|
|
},
|
|
{
|
|
"name":"1978",
|
|
"id":"1978",
|
|
"count":"8"
|
|
},
|
|
{
|
|
"name":"1979",
|
|
"id":"1979",
|
|
"count":"8"
|
|
},
|
|
{
|
|
"name":"1984",
|
|
"id":"1984",
|
|
"count":"8"
|
|
},
|
|
{
|
|
"name":"1972",
|
|
"id":"1972",
|
|
"count":"6"
|
|
},
|
|
{
|
|
"name":"1982",
|
|
"id":"1982",
|
|
"count":"6"
|
|
},
|
|
{
|
|
"name":"1967",
|
|
"id":"1967",
|
|
"count":"4"
|
|
},
|
|
{
|
|
"name":"1969",
|
|
"id":"1969",
|
|
"count":"4"
|
|
},
|
|
{
|
|
"name":"1961",
|
|
"id":"1961",
|
|
"count":"3"
|
|
},
|
|
{
|
|
"name":"1965",
|
|
"id":"1965",
|
|
"count":"3"
|
|
},
|
|
{
|
|
"name":"1970",
|
|
"id":"1970",
|
|
"count":"3"
|
|
},
|
|
{
|
|
"name":"1971",
|
|
"id":"1971",
|
|
"count":"3"
|
|
},
|
|
{
|
|
"name":"1975",
|
|
"id":"1975",
|
|
"count":"3"
|
|
},
|
|
{
|
|
"name":"1962",
|
|
"id":"1962",
|
|
"count":"2"
|
|
},
|
|
{
|
|
"name":"1917",
|
|
"id":"1917",
|
|
"count":"1"
|
|
},
|
|
{
|
|
"name":"1959",
|
|
"id":"1959",
|
|
"count":"1"
|
|
},
|
|
{
|
|
"name":"1960",
|
|
"id":"1960",
|
|
"count":"1"
|
|
},
|
|
{
|
|
"name":"1963",
|
|
"id":"1963",
|
|
"count":"1"
|
|
},
|
|
{
|
|
"name":"1966",
|
|
"id":"1966",
|
|
"count":"1"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"funderid":[
|
|
{
|
|
"name":"nsf_________::NSF",
|
|
"id":"nsf_________::NSF",
|
|
"count":"1060"
|
|
},
|
|
{
|
|
"name":"ec__________::EC",
|
|
"id":"ec__________::EC",
|
|
"count":"150"
|
|
},
|
|
{
|
|
"name":"nhmrc_______::NHMRC",
|
|
"id":"nhmrc_______::NHMRC",
|
|
"count":"90"
|
|
},
|
|
{
|
|
"name":"arc_________::ARC",
|
|
"id":"arc_________::ARC",
|
|
"count":"62"
|
|
},
|
|
{
|
|
"name":"fct_________::FCT",
|
|
"id":"fct_________::FCT",
|
|
"count":"50"
|
|
},
|
|
{
|
|
"name":"wt__________::WT",
|
|
"id":"wt__________::WT",
|
|
"count":"21"
|
|
},
|
|
{
|
|
"name":"sfi_________::SFI",
|
|
"id":"sfi_________::SFI",
|
|
"count":"17"
|
|
},
|
|
{
|
|
"name":"irb_hr______::MSES",
|
|
"id":"irb_hr______::MSES",
|
|
"count":"1"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"projectecsc39":[
|
|
{
|
|
"name":"false",
|
|
"id":"false",
|
|
"count":"96"
|
|
},
|
|
{
|
|
"name":"true",
|
|
"id":"true",
|
|
"count":"4"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
};
|
|
var json = JSON.stringify(pojo, null, 2);
|
|
res.status(200).send(json);
|
|
});
|
|
|
|
app.get('*', ngApp);
|
|
|
|
|
|
|
|
// Server
|
|
let server = app.listen(process.env.PORT || 3000, () => {
|
|
console.log(`Listening on: http://localhost:${server.address().port}`);
|
|
});
|