|
1 | | -export default function asMailtoHref(querydb, program, numQueries, url, isOpenAccess) { |
| 1 | +export default function asMailtoHref(querydb, program, queries, url, isOpenAccess) { |
2 | 2 | const dbsArr = formatDatabases(querydb); |
3 | | - const mailto = composeEmail(dbsArr, program, numQueries, url, isOpenAccess); |
| 3 | + const mailto = composeEmail(dbsArr, program, queries, url, isOpenAccess); |
4 | 4 | return encodeEmail(mailto); |
5 | 5 | } |
6 | 6 |
|
7 | | -function formatDatabases(querydb) { |
8 | | - return querydb |
| 7 | +function listTop15Items (objArr, key){ |
| 8 | + return objArr |
9 | 9 | .slice(0, 15) |
10 | | - .map(db => ' ' + db.title); |
| 10 | + .map(obj => `- ${obj[key]}`) |
| 11 | + .join('\n'); |
| 12 | +} |
| 13 | + |
| 14 | +function formatDatabases(querydb) { |
| 15 | + return 'Databases:\n' + listTop15Items(querydb, 'title'); |
11 | 16 | } |
12 | 17 |
|
13 | | -function composeEmail(dbsArr, program, numQueries, url, isOpenAccess) { |
| 18 | +function listQueryIdentifiers(queries){ |
| 19 | + return 'Queries:\n' + listTop15Items(queries, 'id'); |
| 20 | +} |
| 21 | + |
| 22 | +function composeEmail(dbsArr, program, queries, url, isOpenAccess) { |
14 | 23 | const upperProgram = program.toUpperCase(); |
15 | 24 | const accessStatement = isOpenAccess ? '' : 'The link will work if you have access to that particular SequenceServer instance.'; |
16 | | - |
| 25 | + const queryIdentifiers = listQueryIdentifiers(queries); |
17 | 26 | return `mailto:?subject=SequenceServer ${upperProgram} analysis results &body=Hello, |
18 | 27 |
|
19 | | - Here is a link to my recent ${upperProgram} analysis of ${numQueries} sequences. |
| 28 | + Here is a link to my recent ${upperProgram} analysis of ${queries.length} sequences. |
20 | 29 | ${url} |
| 30 | + |
| 31 | + Below is a breakdown of the databases and queries used (up to 15 are shown for each). |
21 | 32 |
|
22 | | - The following databases were used (up to 15 are shown): |
23 | | - ${dbsArr} |
24 | | -
|
| 33 | + ${dbsArr} |
| 34 | + |
| 35 | + ${queryIdentifiers} |
| 36 | + |
25 | 37 | ${accessStatement} |
26 | 38 |
|
27 | 39 | Thank you for using SequenceServer, and please remember to cite our paper. |
|
0 commit comments