From d874b3d3d3ac5d6cca4cf68e40e7b88f00de05e6 Mon Sep 17 00:00:00 2001 From: Vijeinath Tissaveerasingham Date: Fri, 8 Dec 2023 13:52:10 +0100 Subject: [PATCH] structure biographies, rename component, correct headlines --- src/app/app.module.ts | 4 +- src/app/app.routing.ts | 6 +- .../bibliography/bibliography.component.html | 32 -- .../bibliography/bibliography.component.scss | 0 .../bibliography/bibliography.component.ts | 47 -- src/app/biography/biography.component.html | 210 ++++++++ src/app/biography/biography.component.scss | 13 + .../biography.component.spec.ts} | 10 +- src/app/biography/biography.component.ts | 470 ++++++++++++++++++ .../landing-page/landing-page.component.html | 36 +- .../landing-page/landing-page.component.ts | 4 +- 11 files changed, 723 insertions(+), 109 deletions(-) delete mode 100644 src/app/bibliography/bibliography.component.html delete mode 100644 src/app/bibliography/bibliography.component.scss delete mode 100644 src/app/bibliography/bibliography.component.ts create mode 100644 src/app/biography/biography.component.html create mode 100644 src/app/biography/biography.component.scss rename src/app/{bibliography/bibliography.component.spec.ts => biography/biography.component.spec.ts} (80%) create mode 100644 src/app/biography/biography.component.ts diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 5317cda7..98ae0f3d 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -63,7 +63,7 @@ import { ManuscriptEntryComponent } from './resource/manuscript-entry/manuscript import { TeiLinkDirective } from './directives/tei-link.directive'; import { CommentComponent } from './resource/comment/comment.component'; import { HttpClientModule } from '@angular/common/http'; -import { BibliographyComponent } from './bibliography/bibliography.component'; +import { BiographyComponent } from './biography/biography.component'; @NgModule({ declarations: [ @@ -101,7 +101,7 @@ import { BibliographyComponent } from './bibliography/bibliography.component'; TeiLinkDirective, CommentComponent, PublishedLetterComponent, - BibliographyComponent, + BiographyComponent, ], imports: [ AppRouting, diff --git a/src/app/app.routing.ts b/src/app/app.routing.ts index 67a36926..ea4b2708 100644 --- a/src/app/app.routing.ts +++ b/src/app/app.routing.ts @@ -23,7 +23,7 @@ import { BebbRouteComponent } from './bebb-route/bebb-route.component'; import { TranscriptionComponent } from './resource/transcription/transcription.component'; import { ManuscriptEntryComponent } from './resource/manuscript-entry/manuscript-entry.component'; import { CommentComponent } from './resource/comment/comment.component'; -import { BibliographyComponent } from './bibliography/bibliography.component'; +import { BiographyComponent } from './biography/biography.component'; const appRoutes: Routes = [ @@ -32,8 +32,8 @@ const appRoutes: Routes = [ component: LandingPageComponent, }, { - path: 'bibliography/:person', - component: BibliographyComponent, + path: 'biography/:person', + component: BiographyComponent, pathMatch: 'full' }, { diff --git a/src/app/bibliography/bibliography.component.html b/src/app/bibliography/bibliography.component.html deleted file mode 100644 index 364996b5..00000000 --- a/src/app/bibliography/bibliography.component.html +++ /dev/null @@ -1,32 +0,0 @@ -
- - - -
- - - -
-

{{name}}

- -
-

Jacob Bernoulli's Scientific Notebook (Meditationes)

-
- - Entries in the Meditationes - -
-
- -
-
- -
diff --git a/src/app/bibliography/bibliography.component.scss b/src/app/bibliography/bibliography.component.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/src/app/bibliography/bibliography.component.ts b/src/app/bibliography/bibliography.component.ts deleted file mode 100644 index 3be95965..00000000 --- a/src/app/bibliography/bibliography.component.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { Component, OnDestroy, OnInit } from '@angular/core'; -import { Location } from '@angular/common'; -import { Subscription} from 'rxjs'; -import { ActivatedRoute, ParamMap, Router } from '@angular/router'; -import { BeolService } from '../services/beol.service'; - -@Component({ - selector: 'app-bibliography', - templateUrl: './bibliography.component.html', - styleUrls: ['./bibliography.component.scss'] -}) -export class BibliographyComponent implements OnInit, OnDestroy{ - isLoading = true; - props: any; - name: string; - - navigationSubscription: Subscription; - - constructor( - public location: Location, - private _router: Router, - private _route: ActivatedRoute, - private _beol: BeolService - ) { - this.isLoading = false; - this.props = {}; - } - - ngOnInit() { - this.navigationSubscription = this._route.paramMap.subscribe((params: ParamMap) => { - this.name = params.get('person'); - }) - } - - ngOnDestroy() { - if (this.navigationSubscription !== undefined) { - this.navigationSubscription.unsubscribe(); - } - } - - searchForManuscriptEntries(manuscriptIri: string) { - - const gravsearch = this._beol.getEntriesForManuscript(manuscriptIri); - - this._router.navigate(['/search/gravsearch/', gravsearch], { relativeTo: this._route }); - } -} diff --git a/src/app/biography/biography.component.html b/src/app/biography/biography.component.html new file mode 100644 index 00000000..78373761 --- /dev/null +++ b/src/app/biography/biography.component.html @@ -0,0 +1,210 @@ +
+ + + +
+ + + +
+ + +

{{name}}

+
+

Biography

+ portrait of Jacob I Bernoulli +

[...]

+
+ + + +
+

Diaries

+ + Meditationes + + + + Reisbüchlein + +
+
+ + +

{{name}}

+
+

Biography

+ portrait of Daniel Bernoulli +

[...]

+
+ + + +
+

Correspondence between + {{correspondences_Daniel_I_Bernoulli.mainCorrespondent.name}} and + + + + + + {{corr.correspondent2.name}} + + + + +

+
+
+ + +

{{name}}

+
+

Biography

+ portrait of Johann I Bernoulli +

[...]

+
+ + + +
+

Correspondence between + {{correspondences_Johann_I_Bernoulli.mainCorrespondent.name}} and + + + + + + {{corr.correspondent2.name}} + + + + +

+
+
+ + +

{{name}}

+
+

Biography

+ portrait of Johann II Bernoulli +

[...]

+
+ + + +
+

Correspondence between + {{correspondences_Johann_II_Bernoulli.mainCorrespondent.name}} and + + + + + + {{corr.correspondent2.name}} + + + + +

+
+
+ + +

{{name}}

+
+

Biography

+ portrait of Nicolaus I Bernoulli +

[...]

+
+ + + +
+

Correspondence between + {{correspondences_Nicolaus_I_Bernoulli.mainCorrespondent.name}} and + + + + + + {{corr.correspondent2.name}} + + + + +

+
+
+ + +

{{name}}

+
+

Biography

+ portrait of Nicolaus II Bernoulli +

[...]

+
+ + + +
+

Correspondence between + {{correspondences_Nicolaus_II_Bernoulli.mainCorrespondent.name}} and + + + + + + {{corr.correspondent2.name}} + + + + +

+
+
+ + +

{{name}}

+
+

Biography

+ portrait of Jacob Hermann +

[...]

+
+ + + +
+

Correspondence between + {{correspondences_Jacob_Hermann.mainCorrespondent.name}} and + + + + + + {{corr.correspondent2.name}} + + + + +

+
+
+ +
+
+ +
diff --git a/src/app/biography/biography.component.scss b/src/app/biography/biography.component.scss new file mode 100644 index 00000000..5632bb05 --- /dev/null +++ b/src/app/biography/biography.component.scss @@ -0,0 +1,13 @@ +img { + float: right; +} + +.biography { + margin-block-end: 1.5rem; +} + +.biography::after { + content: ""; + clear: both; + display: table; +} diff --git a/src/app/bibliography/bibliography.component.spec.ts b/src/app/biography/biography.component.spec.ts similarity index 80% rename from src/app/bibliography/bibliography.component.spec.ts rename to src/app/biography/biography.component.spec.ts index 9c0e7f42..94f7019a 100644 --- a/src/app/bibliography/bibliography.component.spec.ts +++ b/src/app/biography/biography.component.spec.ts @@ -1,12 +1,12 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { BibliographyComponent } from './bibliography.component'; +import { BiographyComponent } from './biography.component'; import { RouterTestingModule } from '@angular/router/testing'; import { BeolService } from '../services/beol.service'; import { AppInitService } from '../dsp-ui-lib/core'; describe('BibliographyComponent', () => { - let component: BibliographyComponent; - let fixture: ComponentFixture; + let component: BiographyComponent; + let fixture: ComponentFixture; beforeEach(waitForAsync(() => { @@ -22,7 +22,7 @@ describe('BibliographyComponent', () => { imports: [ RouterTestingModule, ], - declarations: [BibliographyComponent], + declarations: [BiographyComponent], providers: [ { provide: BeolService, useValue: beolServiceSpy }, { provide: AppInitService, useValue: appInitServiceMock } @@ -30,7 +30,7 @@ describe('BibliographyComponent', () => { }) .compileComponents(); - fixture = TestBed.createComponent(BibliographyComponent); + fixture = TestBed.createComponent(BiographyComponent); component = fixture.componentInstance; fixture.detectChanges(); })); diff --git a/src/app/biography/biography.component.ts b/src/app/biography/biography.component.ts new file mode 100644 index 00000000..a69ff951 --- /dev/null +++ b/src/app/biography/biography.component.ts @@ -0,0 +1,470 @@ +import { Component, OnDestroy, OnInit } from '@angular/core'; +import { Location } from '@angular/common'; +import { Subscription} from 'rxjs'; +import { ActivatedRoute, ParamMap, Router } from '@angular/router'; +import { BeolService } from '../services/beol.service'; + +/** + * Represents a correspondent. + */ +class Correspondent { + + /** + * Represents a person that took part in a correspondence. + * + * @param {string} name the name of the person. + * @param {string} gnd the GND/IAF identifier of the person. + */ + constructor(readonly name: string, readonly gnd: string) { + } +} + +/** + * Represents a correspondence between two persons. + * A correspondence consists of all the letters exchanged between two persons (they are either the author or recipient). + */ +class Correspondence { + + constructor( + readonly correspondent1: Correspondent, + readonly correspondent2: Correspondent, + readonly description: string = '', + readonly showTranslation: boolean = false) { + } +} + +class Section { + + constructor( + readonly label: string, + readonly correspondences: Correspondence[], + public panelOpenState: boolean = false) { + + } +} + +class CorrespondenceGroupWithSection { + + constructor( + readonly mainCorrespondent: Correspondent, + readonly sections: Section[], + readonly description: string = '', + public panelOpenState: boolean = false) { + + } + +} + +@Component({ + selector: 'app-biography', + templateUrl: './biography.component.html', + styleUrls: ['./biography.component.scss'] +}) +export class BiographyComponent implements OnInit, OnDestroy{ + isLoading = true; + props: any; + name: string; + navigationSubscription: Subscription; + + correspondences_Daniel_I_Bernoulli: CorrespondenceGroupWithSection; + correspondences_Johann_I_Bernoulli: CorrespondenceGroupWithSection; + correspondences_Johann_II_Bernoulli: CorrespondenceGroupWithSection; + correspondences_Nicolaus_I_Bernoulli: CorrespondenceGroupWithSection; + correspondences_Nicolaus_II_Bernoulli: CorrespondenceGroupWithSection; + correspondences_Jacob_Hermann: CorrespondenceGroupWithSection; + + constructor( + public location: Location, + private _router: Router, + private _route: ActivatedRoute, + private _beol: BeolService + ) { + this.isLoading = false; + this.props = {}; + } + + ngOnInit() { + this.navigationSubscription = this._route.paramMap.subscribe((params: ParamMap) => { + this.name = params.get('person'); + }); + + /** + * List of all existing correspondents + */ + const Leonhard_Euler = new Correspondent('Leonhard Euler', '(DE-588)118531379'); + const Johann_Albrecht_Euler = new Correspondent('Johann Albrecht Euler', '(DE-588)116610832'); + const Condorcet = new Correspondent('Le marquis de Condorcet', '(DE-588)118521772'); + const Turgot = new Correspondent('Anne Robert Jacques Turgot', '(DE-588)118763202'); + const Lexell = new Correspondent('Anders Johan Lexell', '(DE-588)100189180'); + const FussNI = new Correspondent('Niklaus (I) Fuss', '(DE-588)116878894'); + + const Christian_Goldbach = new Correspondent('Christian Goldbach', '(DE-588)118696149'); + + const Daniel_I_Bernoulli = new Correspondent('Daniel I Bernoulli', '(DE-588)118656503'); + + const Johann_I_Bernoulli = new Correspondent('Johann I Bernoulli', '(DE-588)118509969'); + + const Johann_II_Bernoulli = new Correspondent('Johann II Bernoulli', '(DE-588)117589136'); + + const Nicolaus_I_Bernoulli = new Correspondent('Nicolaus I Bernoulli', '(DE-588)119166895'); + + const Nicolaus_II_Bernoulli = new Correspondent('Nicolaus II Bernoulli', '(DE-588)117589144'); + + const Johannes_Scheuchzer = new Correspondent('Johannes Scheuchzer', '(DE-588)120379260'); + + const Johann_Jakob_Scheuchzer = new Correspondent('Johann Jakob Scheuchzer', '(DE-588)118607308'); + + const John_Arnold = new Correspondent('John Arnold', '(DE-588)1141832453'); + + const Christian_Wolf = new Correspondent('Christian Wolff', '(DE-588)118634771'); + + const Johann_Frick = new Correspondent('Johannes Frick', '(DE-588)123393094'); + + const Henri_Basnage_de_Beauval = new Correspondent('Henri Basnage de Beauval', '(DE-588)12053827X'); + + const Christoph_Battier = new Correspondent('Christoph Battier', '(DE-588)141546573'); + + const Georg_Bernhard_Bilfinger = new Correspondent('Georg Bernhard Bilfinger', '(DE-588)118663208'); + + const Johann_Wendel_Bilfinger = new Correspondent('Johann Wendelin Bilfinger', '(DE-588)104171057'); + + const Pierre_Bouguer = new Correspondent('Pierre Bouguer', '(DE-588)117622974'); + + const Marc_Michel_Bousquet = new Correspondent('Marc-Michel Bousquet', '(DE-588)136952968'); + + const William_Burnet = new Correspondent('William Burnet', '(DE-588)104185643'); + + const Johann_Buxtorf = new Correspondent('Johann Buxtorf', '(DE-588)12068943X'); + + const George_Cheyne = new Correspondent('George Cheyne', '(DE-588)117659606'); + + const Alexis_Claude_Clairaut = new Correspondent('Alexis Claude Clairaut', '(DE-588)11852092X'); + + const Jean_Pierre_de_Crousaz = new Correspondent('Jean Pierre de Crousaz', '(DE-588)100097413'); + + const Jean_Boecler = new Correspondent('Jean Boecler', '(DE-588)117609048'); + + // TODO Brandenburgische Sozietät + + // TODO const Georg_Faeh = new Correspondent('Georg Faeh',''); + + const Robert_Falconer = new Correspondent('Robert Falconer', '(DE-588)1141833808'); + + const Michelangelo_Fardella = new Correspondent('Michelangelo Fardella', '(DE-588)119291967'); + + const Bernard_le_Bouyer_Bovier_de_Fontenelle = new Correspondent('Bernard le Bouyer Bovier de Fontenelle', '(DE-588)118639056'); + + const Du_Fresne = new Correspondent('Du Fresne', '(DE-588)1142274934'); + + const Amedee_Francois_Frezier = new Correspondent('Amédée François Frézier', '(DE-588)117537373'); + + const Vitus_Friesl = new Correspondent('Vitus Friesl', '(DE-588)10012786X'); + + const Johann_Caspar_Funck = new Correspondent('Johann Caspar Funck', '(DE-588)143843133'); + + const Johannes_Gessner = new Correspondent('Johannes Gessner', '(DE-588)119331136'); + + const Nicasius_Grammatici = new Correspondent('Nicasius Grammatici', '(DE-588)100108296'); + + const Jean_Paul_Gua_de_Malves = new Correspondent('Jean Paul Gua de Malves', '(DE-588)117572535'); + + const Edmond_Halley = new Correspondent('Edmond Halley', '(DE-588)118720066'); + + const Peter_Hammer = new Correspondent('Peter Hammer', '(DE-588)1147909822'); + + const German_Hermann = new Correspondent('German Hermann', '(DE-588)1048628825'); + + const Jacob_Hermann = new Correspondent('Jacob Hermann', '(DE-588)119112450'); + + const Jacob_Christoph_Iselin = new Correspondent('Jacob Christoph Iselin', '(DE-588)117205508'); + + const Adam_Meson_Isink = new Correspondent('Adam Meson Isink', '(DE-588)1141836106'); + + const Johann_Theodor_Jablonski = new Correspondent('Johann Theodor Jablonski', '(DE-588)120517892'); + + const Christian_Kortholt = new Correspondent('Christian Kortholt', '(DE-588)116341815'); + + const Jacques_L_Enfant = new Correspondent('Jacques L\'Enfant', '(DE-588)117636290'); + + const Daniel_Le_Clerc = new Correspondent('Daniel Le Clerc', '(DE-588)116850841'); + + const Johann_Wilhelm_Theodor_Leichner = new Correspondent('Johann Wilhelm Theodor Leichner', '(DE-588)1052878059'); + + const Henry_Leslie = new Correspondent('Henry Leslie', '(DE-588)1141836866'); + + const Johann_Georg_Liebknecht = new Correspondent('Johann Georg Liebknecht', '(DE-588)116997052'); + + const Pierre_Louis_Moreau_de_Maupertuis = new Correspondent('Pierre Louis Moreau de Maupertuis', '(DE-588)118731998'); + + const Johann_Burckhard_Mencke = new Correspondent('Johann Burckhard Mencke', '(DE-588)118783181'); + + const Johann_Rudolf_Mieg = new Correspondent('Johann Rudolf Mieg', '(DE-588)104138556'); + + const Pierre_Remond_de_Montmort = new Correspondent('Pierre Remond de Montmort', '(DE-588)117601020'); + + const Giovanni_Battista_Morgagni = new Correspondent('Giovanni Battista Morgagni', '(DE-588)104265264'); + + const Johann_Joosten_van_Musschenbroek = new Correspondent('Johann Joosten van Musschenbroek', '(DE-588)1089913966'); + + const Theodor_Muykens = new Correspondent('Theodor Muykens', '(DE-588)128862130'); + + const Gerhard_Noodt = new Correspondent('Gerhard Noodt', '(DE-588)118869361'); + + const Louis_Leon_Payot_Comte_de_Onsembray = new Correspondent('Louis Leon Payot Comte de Onsembray', '(DE-588)117679879'); + + const Jean_Frederic_Osterwald = new Correspondent('Jean Frederic Osterwald', '(DE-588)12364433X'); + + const Jean_Rodolphe_Osterwald = new Correspondent('Jean Rodolphe Osterwald', '(DE-588)104243236'); + + const Domenico_Passionei = new Correspondent('Domenico Passionei', '(DE-588)116052546'); + + const Leopold_Gottlieb_Graf_von_Pergen = new Correspondent('Leopold Gottlieb Graf von Pergen', '(DE-588)114183734X'); + + const Christoph_Pflug = new Correspondent('Christoph Pflug', '(DE-588)1142279391'); + + const Giovanni_Poleni = new Correspondent('Giovanni Poleni', '(DE-588)11887733X'); + + const Jakob_Christoph_Ramspeck = new Correspondent('Jakob Christoph Ramspeck', '(DE-588)121471640'); + + const Elicagaray_Bernard_Renau = new Correspondent('Bernard Renau d\'Éliçagaray', '(DE-588)108987216X'); + + // TODO: this seems to be the same person + const Elicagaray_Bernard_Renau2 = new Correspondent('Bernard Renau d\'Éliçagaray', '(DE-588)102079056'); + + const Charles_Rene_Reyneau = new Correspondent('Charles René Reyneau', '(DE-588)117526789'); + + const Gabriel_Rilliet = new Correspondent('Gabriel Rilliet', '(DE-588)1142279774'); + + const Andreas_Ritz = new Correspondent('Andreas Ritz', '(DE-588)1012090132'); + + const Michel_Rossal = new Correspondent('Michel Rossal', '(DE-588)1055238948'); + + const Johann_Salzmann = new Correspondent('Johann Salzmann', '(DE-588)128382058'); + + const Alexandre_Saverien = new Correspondent('Alexandre Saverien', '(DE-588)172354366'); + + const Johann_Daniel_Schoepflin = new Correspondent('Johann Daniel Schoepflin', '(DE-588)118610260'); + + const Willem_Jacob_SGravesande = new Correspondent('Willem Jacob sGravesande', '(DE-588)118939297'); + + const Thomas_Spleiss = new Correspondent('Thomas Spleiss', '(DE-588)138483922'); + + const Henry_Sully = new Correspondent('Henry Sully', '(DE-588)122006011'); + + const Georges_Joseph_Tacheron = new Correspondent('Georges Joseph Tacheron', '(DE-588)114228039X'); + + const de_Thiancourt = new Correspondent('de Thiancourt', '(DE-588)1082012769'); + + const Ludwig_Philipp_Thuemmig = new Correspondent('Ludwig Philipp Thuemmig', '(DE-588)120076276'); + + const Abraham_Trommius = new Correspondent('Abraham Trommius', '(DE-588)100657672'); + + const Giuseppe_Verzaglia = new Correspondent('Giuseppe Verzaglia', '(DE-588)1089923198'); + + const Burchard_de_Volder = new Correspondent('Burchard de Volder', '(DE-588)120665182'); + + const Johann_Friedrich_Weidler = new Correspondent('Johann Friedrich Weidler', '(DE-588)100696198'); + + const Johann_Caspar_Wettstein = new Correspondent('Johann Caspar Wettstein', '(DE-588)140645292'); + + const Wicher_Wichers = new Correspondent('Wicher Wichers', '(DE-588)1089913737'); + + const Daniel_Wolleb = new Correspondent('Daniel Wolleb', '(DE-588)1055118640'); + + const John_Thomas_Woolhouse = new Correspondent('John Thomas Woolhouse', '(DE-588)104179619'); + + const Francesco_Maria_Zanotti = new Correspondent('Francesco Maria Zanotti', '(DE-588)117592307'); + + + /** + * Correspondences + */ + this.correspondences_Daniel_I_Bernoulli = new CorrespondenceGroupWithSection(Daniel_I_Bernoulli, [ + new Section('S', [ + new Correspondence(Daniel_I_Bernoulli, Johannes_Scheuchzer) + ]) + ]); + + this.correspondences_Johann_I_Bernoulli = new CorrespondenceGroupWithSection(Johann_I_Bernoulli, + [ + new Section('A', [ + new Correspondence(Johann_I_Bernoulli, John_Arnold) + ]), + new Section('B', [ + new Correspondence(Johann_I_Bernoulli, Henri_Basnage_de_Beauval), + new Correspondence(Johann_I_Bernoulli, Christoph_Battier), + new Correspondence(Johann_I_Bernoulli, Georg_Bernhard_Bilfinger), + new Correspondence(Johann_I_Bernoulli, Johann_Wendel_Bilfinger), + new Correspondence(Johann_I_Bernoulli, Jean_Boecler), + new Correspondence(Johann_I_Bernoulli, Pierre_Bouguer), + new Correspondence(Johann_I_Bernoulli, Marc_Michel_Bousquet), + new Correspondence(Johann_I_Bernoulli, William_Burnet), + new Correspondence(Johann_I_Bernoulli, Johann_Buxtorf) + ]), + new Section('C', [ + new Correspondence(Johann_I_Bernoulli, George_Cheyne), + new Correspondence(Johann_I_Bernoulli, Alexis_Claude_Clairaut), + new Correspondence(Johann_I_Bernoulli, Jean_Pierre_de_Crousaz) + ]), + new Section('F', [ + new Correspondence(Johann_I_Bernoulli, Robert_Falconer), + new Correspondence(Johann_I_Bernoulli, Michelangelo_Fardella), + new Correspondence(Johann_I_Bernoulli, Bernard_le_Bouyer_Bovier_de_Fontenelle), + new Correspondence(Johann_I_Bernoulli, Du_Fresne), + new Correspondence(Johann_I_Bernoulli, Amedee_Francois_Frezier), + new Correspondence(Johann_I_Bernoulli, Johann_Frick), + // TODO: 0000-00-00_Bernoulli_Johann_I-Frick_Johannes has no date and does not show up! + new Correspondence(Johann_I_Bernoulli, Vitus_Friesl), + new Correspondence(Johann_I_Bernoulli, Johann_Caspar_Funck) + ]), + new Section('G', [ + new Correspondence(Johann_I_Bernoulli, Johannes_Gessner), + new Correspondence(Johann_I_Bernoulli, Christian_Goldbach), + new Correspondence(Johann_I_Bernoulli, Nicasius_Grammatici), + new Correspondence(Johann_I_Bernoulli, Jean_Paul_Gua_de_Malves)]), + new Section('H', [ + new Correspondence(Johann_I_Bernoulli, Edmond_Halley), + new Correspondence(Johann_I_Bernoulli, Peter_Hammer), + new Correspondence(Johann_I_Bernoulli, German_Hermann), + new Correspondence(Johann_I_Bernoulli, Jacob_Hermann), + ]), + new Section('I', [ + new Correspondence(Johann_I_Bernoulli, Jacob_Christoph_Iselin), + new Correspondence(Johann_I_Bernoulli, Adam_Meson_Isink), + ]), + new Section('J', [ + new Correspondence(Johann_I_Bernoulli, Johann_Theodor_Jablonski) + ]), + new Section('K', [ + new Correspondence(Johann_I_Bernoulli, Christian_Kortholt), + ]), + new Section('L', [ + new Correspondence(Johann_I_Bernoulli, Jacques_L_Enfant), + new Correspondence(Johann_I_Bernoulli, Daniel_Le_Clerc), + new Correspondence(Johann_I_Bernoulli, Johann_Wilhelm_Theodor_Leichner), + new Correspondence(Johann_I_Bernoulli, Henry_Leslie), + new Correspondence(Johann_I_Bernoulli, Johann_Georg_Liebknecht), + ]), + new Section('M', [ + new Correspondence(Johann_I_Bernoulli, Pierre_Louis_Moreau_de_Maupertuis), + new Correspondence(Johann_I_Bernoulli, Johann_Burckhard_Mencke), + new Correspondence(Johann_I_Bernoulli, Johann_Rudolf_Mieg), + new Correspondence(Johann_I_Bernoulli, Pierre_Remond_de_Montmort), + new Correspondence(Johann_I_Bernoulli, Giovanni_Battista_Morgagni), + new Correspondence(Johann_I_Bernoulli, Johann_Joosten_van_Musschenbroek), + new Correspondence(Johann_I_Bernoulli, Theodor_Muykens)]), + new Section('N', [ + new Correspondence(Johann_I_Bernoulli, Gerhard_Noodt), + ]), + new Section('O', [ + new Correspondence(Johann_I_Bernoulli, Louis_Leon_Payot_Comte_de_Onsembray), + new Correspondence(Johann_I_Bernoulli, Jean_Frederic_Osterwald), + new Correspondence(Johann_I_Bernoulli, Jean_Rodolphe_Osterwald) + ]), + new Section('P', [ + new Correspondence(Johann_I_Bernoulli, Domenico_Passionei), + new Correspondence(Johann_I_Bernoulli, Leopold_Gottlieb_Graf_von_Pergen), + new Correspondence(Johann_I_Bernoulli, Christoph_Pflug), + new Correspondence(Johann_I_Bernoulli, Giovanni_Poleni)]), + new Section('R', [ + new Correspondence(Johann_I_Bernoulli, Jakob_Christoph_Ramspeck), + new Correspondence(Johann_I_Bernoulli, Elicagaray_Bernard_Renau), + new Correspondence(Johann_I_Bernoulli, Elicagaray_Bernard_Renau2), + new Correspondence(Johann_I_Bernoulli, Charles_Rene_Reyneau), + new Correspondence(Johann_I_Bernoulli, Gabriel_Rilliet), + new Correspondence(Johann_I_Bernoulli, Andreas_Ritz), + new Correspondence(Johann_I_Bernoulli, Michel_Rossal)]), + new Section('S', [ + new Correspondence(Johann_I_Bernoulli, Johann_Salzmann), + new Correspondence(Johann_I_Bernoulli, Alexandre_Saverien), + new Correspondence(Johann_I_Bernoulli, Johann_Jakob_Scheuchzer), + new Correspondence(Johann_I_Bernoulli, Johannes_Scheuchzer), + new Correspondence(Johann_I_Bernoulli, Johann_Daniel_Schoepflin), + new Correspondence(Johann_I_Bernoulli, Willem_Jacob_SGravesande), + new Correspondence(Johann_I_Bernoulli, Thomas_Spleiss), + new Correspondence(Johann_I_Bernoulli, Henry_Sully)]), + new Section('T', [ + new Correspondence(Johann_I_Bernoulli, Georges_Joseph_Tacheron), + new Correspondence(Johann_I_Bernoulli, de_Thiancourt), + new Correspondence(Johann_I_Bernoulli, Ludwig_Philipp_Thuemmig), + new Correspondence(Johann_I_Bernoulli, Abraham_Trommius)]), + new Section('V', [ + new Correspondence(Johann_I_Bernoulli, Giuseppe_Verzaglia), + new Correspondence(Johann_I_Bernoulli, Burchard_de_Volder)]), + new Section('W', [ + new Correspondence(Johann_I_Bernoulli, Johann_Friedrich_Weidler), + new Correspondence(Johann_I_Bernoulli, Johann_Caspar_Wettstein), + new Correspondence(Johann_I_Bernoulli, Wicher_Wichers), + new Correspondence(Johann_I_Bernoulli, Christian_Wolf), + new Correspondence(Johann_I_Bernoulli, Daniel_Wolleb), + new Correspondence(Johann_I_Bernoulli, John_Thomas_Woolhouse)]), + new Section('Z', [ + new Correspondence(Johann_I_Bernoulli, Francesco_Maria_Zanotti), + ]) + ]); + + this.correspondences_Johann_II_Bernoulli = new CorrespondenceGroupWithSection(Johann_II_Bernoulli, [ + new Section('M', [ + new Correspondence(Johann_II_Bernoulli, Pierre_Louis_Moreau_de_Maupertuis)] + )]); + + this.correspondences_Nicolaus_I_Bernoulli = new CorrespondenceGroupWithSection(Nicolaus_I_Bernoulli, [ + new Section('S', [ + new Correspondence(Nicolaus_I_Bernoulli, Johann_Jakob_Scheuchzer), + new Correspondence(Nicolaus_I_Bernoulli, Johannes_Scheuchzer) + ])]); + + this.correspondences_Nicolaus_II_Bernoulli = new CorrespondenceGroupWithSection(Nicolaus_II_Bernoulli, [ + new Section('S', [ + new Correspondence(Nicolaus_II_Bernoulli, Johann_Jakob_Scheuchzer), + new Correspondence(Nicolaus_II_Bernoulli, Johannes_Scheuchzer) + ])]); + + this.correspondences_Jacob_Hermann = new CorrespondenceGroupWithSection(Jacob_Hermann, [ + new Section('B', [ + new Correspondence(Jacob_Hermann, Johann_I_Bernoulli) + ]), + new Section('S', [ + new Correspondence(Jacob_Hermann, Johann_Jakob_Scheuchzer), + new Correspondence(Jacob_Hermann, Johannes_Scheuchzer) + ] + )] + ); + } + + ngOnDestroy() { + if (this.navigationSubscription !== undefined) { + this.navigationSubscription.unsubscribe(); + } + } + + searchForManuscriptEntries(manuscriptIri: string) { + + const gravsearch = this._beol.getEntriesForManuscript(manuscriptIri); + + this._router.navigate(['/search/gravsearch/', gravsearch], { relativeTo: this._route }); + } + + /** + * Generate Gravsearch query to search for BEBB and LECE correspondence + * + * @param gnd1 GND of the first correspondent. + * @param gnd2 GND of the second correspondent. + */ + searchForCorrespondence(gnd1: string, gnd2: string) { + + const gravsearch: string = this._beol.searchForCorrespondence(gnd1, gnd2, 0); + + this.submitQuery(gravsearch); + } + + /** + * Show a correspondence between two persons. + * + * @param gravsearch the Gravsearch query to be executed. + */ + private submitQuery(gravsearch: string) { + + this._router.navigate(['/search/gravsearch/', gravsearch], { relativeTo: this._route }); + } +} diff --git a/src/app/landing-page/landing-page.component.html b/src/app/landing-page/landing-page.component.html index 5c4063dc..99819fbe 100644 --- a/src/app/landing-page/landing-page.component.html +++ b/src/app/landing-page/landing-page.component.html @@ -2,8 +2,8 @@
-

BEOL

-

Bernoulli Euler Online

+

BEOL

+

Bernoulli Euler Online

The Bernoulli-Euler Online (BEOL) project is a @@ -27,53 +27,53 @@

Bernoulli Euler Online

-

[title]

+

Mathematicians from Basel

    -
  • +
  • Jacob I Bernoulli

    portrait of Jacob I Bernoulli
  • -
  • +
  • Johann I Bernoulli

    portrait of Johann I Bernoulli
  • -
  • +
  • Nicolaus I Bernoulli

    portrait of Nicolaus I Bernoulli
  • -
  • +
  • Nicolaus II Bernoulli

    portrait of Nicolaus II Bernoulli
  • -
  • -

    Daniel Bernoulli

    +
  • +

    Daniel I Bernoulli

    portrait of Daniel Bernoulli
  • -
  • +
  • Johann II Bernoulli

    portrait of Johann II Bernoulli
  • -
  • +
  • Johann III Bernoulli

    portrait of Johann III Bernoulli
  • -
  • +
  • Jacob II Bernoulli

    portrait of Jacob II Bernoulli
  • -
  • +
  • Jacob Hermann

    portrait of Jacob Hermann
  • -
  • +
  • Leonhard Euler

    portrait of Leonhard Euler
  • -
  • +
  • Johann Albrecht Euler

    portrait of Johann Albrecht Euler
  • -
  • +
  • Nicolaus Fuss

    portrait of Nicolaus Fuss
  • @@ -178,7 +178,7 @@

    Basler Edition der Bernoulli-Briefwechsel

    -

    Third Party Projects

    +

    Third Party Projects

    @@ -188,7 +188,7 @@

    Third Party Projects

    -

    Visualizations

    +

    Visualizations

    The BEOL and third party correspondence data are visualized as interactive 3D force-directed graphs which are also available in WebVR format. You can explore the correspondence network interactively at vis.beol.dasch.swiss.

    diff --git a/src/app/landing-page/landing-page.component.ts b/src/app/landing-page/landing-page.component.ts index 5ad5d844..b91fbe05 100644 --- a/src/app/landing-page/landing-page.component.ts +++ b/src/app/landing-page/landing-page.component.ts @@ -20,8 +20,8 @@ export class LandingPageComponent implements OnInit { ngOnInit() { } - openBibliography(name: string) { - this._router.navigate(['/bibliography/', name], { relativeTo: this._route }) + openBiography(name: string) { + this._router.navigate(['/biography/', name], { relativeTo: this._route }) } }