{"version":3,"sources":["media/jusikon.png","components/NavMenu.js","components/Layout.js","components/Home.js","components/Medlemsregistrering.js","components/Medlemsbetaling.js","components/Medlemsoversigt.js","components/Administration.js","components/Medlemsoprettelse.js","Admin.js","App.js","registerServiceWorker.js","index.js"],"names":["module","exports","NavMenu","props","toggleNavbar","bind","state","collapsed","this","setState","Navbar","className","light","Container","NavbarBrand","tag","Link","to","NavbarToggler","onClick","Collapse","isOpen","navbar","NavItem","NavLink","Component","displayName","name","Layout","children","Home","Row","Col","src","juslogo","alt","width","height","Button","variant","Medlemsregistrering","form","fornavn","efternavn","studienummer","semester","telefonnummer","mailadresse","loading","submitted","success","formHasErrors","responseText","paymentUrl","handleFormSubmit","handleFormChangeFornavn","handleFormChangeEfternavn","handleFormChangeSemester","handleFormChangeStudienummer","handleFormChangeTelefonnummer","handleFormChangeMailadresse","renderForm","formValidation","event","preventDefault","currentTarget","registrerMedlem","stopPropagation","newForm","target","value","newValue","responseArea","Form","onSubmit","Group","controlId","Label","Control","type","placeholder","onChange","required","Text","id","contents","href","fetch","method","headers","body","JSON","stringify","response","json","data","Medlemsbetaling","match","params","Replace","Medlemsoversigt","authToken","medlemmer","filter","navn","betalt","modtagetKort","activeCell","medlemId","field","enableDeletion","loadMembers","handleFilterChangeName","handleFilterChangeStudienummer","handleFilterChangeSemester","handleFilterChangeTelefonnummer","handleFilterChangeMailadresse","handleFilterChangeBetalt","handleFilterChangeModtagetKort","handleFilterSubmit","populateMedlemmer","renderMedlemmerTable","editableField","handleEditableFieldCheckbox","handleEditableFieldText","handleEditableFieldChange","updateMedlem","deleteMedlem","handleDeleteMedlem","e","defaultValue","newActiveCell","checked","aria-labelledby","map","medlem","key","size","disabled","newFilter","Check","inline","label","oldBool","ok","newMedlemmer","slice","parseInt","Administration","semesterskiftLastDate","semesterskiftLoad","semesterskiftComplete","emailBodies","emailBodiesChanged","emailBodiesloading","pricesChanged","pricesLoading","priceFirstYear","priceSecondYear","priceThirdYear","handleSemesterskift","emailBodyField","handleEmailbodyUpdate","add","newEmailBodiesChanged","includes","push","handleEditableFieldEmailBody","rows","updateEmailBodiesChanged","semesterskiftAction","getEmailBodies","getPrices","updatePrices","firstYear","secondYear","thirdYear","semesterskift","aria-disabled","emailBodiesContent","emailBody","code","subject","style","display","sidstAendret","priceSettings","handlePriceChange","emailHelper","newPriceOverview","updateEmailBody","newEmailBodies","Date","toLocaleString","timeZone","lastDate","Medlemsoprettelse","modtagetkort","formValidated","handleFormChangeBetalt","checkValidity","opretMedlem","validated","Feedback","handleFormChangeModtagetKort","Admin","token","authorized","validationFailed","handleAuthorizationSubmit","getAuthorizationToken","path","component","input","App","exact","isLocalhost","Boolean","window","location","hostname","registerValidSW","swUrl","navigator","serviceWorker","register","then","registration","onupdatefound","installingWorker","installing","onstatechange","controller","console","log","catch","error","baseUrl","document","getElementsByTagName","getAttribute","rootElement","getElementById","ReactDOM","render","basename","URL","process","origin","addEventListener","status","get","indexOf","ready","unregister","reload","checkValidServiceWorker","registerServiceWorker"],"mappings":"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","file":"static/js/main.ab5dac08.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/jusikon.64a8c5dc.png\";","import React, { Component } from 'react';\r\nimport { Collapse, Container, Navbar, NavbarBrand, NavbarToggler, NavItem, NavLink } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport './NavMenu.css';\r\n\r\nexport class NavMenu extends Component {\r\n static displayName = NavMenu.name;\r\n\r\n constructor (props) {\r\n super(props);\r\n\r\n this.toggleNavbar = this.toggleNavbar.bind(this);\r\n this.state = {\r\n collapsed: true\r\n };\r\n }\r\n\r\n toggleNavbar () {\r\n this.setState({\r\n collapsed: !this.state.collapsed\r\n });\r\n }\r\n\r\n render () {\r\n return (\r\n
\r\n \r\n \r\n JUS\r\n \r\n \r\n
    \r\n \r\n Oversigt\r\n \r\n \r\n Administration\r\n \r\n \r\n Opret Medlem\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Container } from 'reactstrap';\r\nimport { NavMenu } from './NavMenu';\r\n\r\nexport class Layout extends Component {\r\n static displayName = Layout.name;\r\n\r\n render () {\r\n return (\r\n
\r\n {this.props.children}\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Button, Row, Col } from 'react-bootstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport juslogo from '../media/jusikon.png';\r\n\r\nexport class Home extends Component {\r\n static displayName = Home.name;\r\n\r\n render () {\r\n return (\r\n
\r\n \r\n \r\n
\r\n

JUS-Medlem

\r\n

Velkommen til JUS-Medlem

\r\n
\r\n \r\n \r\n \"JUS\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

Tryk her for at oprette dig som medlem

\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n

Tryk her for at komme til den administrative sektion

\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Button, Form, Row, Col } from 'react-bootstrap';\r\nimport juslogo from '../media/jusikon.png';\r\n\r\nexport class Medlemsregistrering extends Component {\r\n static displayName = Medlemsregistrering.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n form: {\r\n fornavn: \"\",\r\n efternavn: \"\",\r\n studienummer: \"\",\r\n semester: \"\",\r\n telefonnummer: \"\",\r\n mailadresse: \"\",\r\n },\r\n loading: false,\r\n submitted: false,\r\n success: true,\r\n formHasErrors: false,\r\n responseText: \"\",\r\n paymentUrl: \"\"\r\n }\r\n this.handleFormSubmit = this.handleFormSubmit.bind(this);\r\n this.handleFormChangeFornavn = this.handleFormChangeFornavn.bind(this);\r\n this.handleFormChangeEfternavn = this.handleFormChangeEfternavn.bind(this);\r\n this.handleFormChangeSemester = this.handleFormChangeSemester.bind(this);\r\n this.handleFormChangeStudienummer = this.handleFormChangeStudienummer.bind(this);\r\n this.handleFormChangeTelefonnummer = this.handleFormChangeTelefonnummer.bind(this);\r\n this.handleFormChangeMailadresse = this.handleFormChangeMailadresse.bind(this);\r\n this.renderForm = this.renderForm.bind(this);\r\n this.formValidation = this.formValidation.bind(this);\r\n }\r\n\r\n formValidation(form) {\r\n if (form.fornavn === \"\")\r\n return false;\r\n if (form.efternavn === \"\")\r\n return false;\r\n if (form.semester > 11)\r\n return false;\r\n if (form.telefonnummer === \"\")\r\n return false;\r\n\r\n return true;\r\n }\r\n\r\n handleFormSubmit(event) {\r\n event.preventDefault(); // Prevents page load.\r\n const form = event.currentTarget;\r\n if (this.formValidation(form)) {\r\n this.setState({ loading: true });\r\n this.registrerMedlem();\r\n } else {\r\n event.stopPropagation();\r\n this.setState({\r\n formHasErrors: true\r\n })\r\n }\r\n }\r\n\r\n handleFormChangeFornavn(event) {\r\n let newForm = this.state.form;\r\n newForm.fornavn = event.target.value;\r\n this.setState({ form: newForm })\r\n }\r\n\r\n handleFormChangeEfternavn(event) {\r\n let newForm = this.state.form;\r\n newForm.efternavn = event.target.value;\r\n this.setState({ form: newForm })\r\n }\r\n\r\n handleFormChangeStudienummer(event) {\r\n let newValue = event.target.value;\r\n let newForm = this.state.form;\r\n newForm.studienummer = newValue;\r\n this.setState({ form: newForm })\r\n }\r\n\r\n handleFormChangeSemester(event) {\r\n let newValue = event.target.value;\r\n let newForm = this.state.form;\r\n newForm.semester = newValue;\r\n this.setState({ form: newForm })\r\n }\r\n\r\n handleFormChangeTelefonnummer(event) {\r\n let newForm = this.state.form;\r\n newForm.telefonnummer = event.target.value;\r\n this.setState({ form: newForm })\r\n }\r\n\r\n handleFormChangeMailadresse(event) {\r\n let newForm = this.state.form;\r\n newForm.mailadresse = event.target.value;\r\n this.setState({ form: newForm })\r\n }\r\n\r\n renderForm() {\r\n\r\n let responseArea =\r\n
\r\n Der var en fejl i din registrering.\r\n
\r\n

{this.state.responseText}

\r\n
\r\n\r\n return (\r\n
\r\n \r\n {(!this.state.success && this.state.responseText !== \"\") ?\r\n responseArea :
}\r\n \r\n \r\n \r\n
\r\n \r\n Fornavn\r\n \r\n \r\n Inkludér mellemnavne her\r\n \r\n \r\n \r\n Efternavn\r\n \r\n \r\n \r\n Studienummer\r\n \r\n \r\n \r\n Semester\r\n \r\n \r\n Skal være mellem 1 til og med 11\r\n \r\n \r\n \r\n Telefonnummer\r\n \r\n \r\n \r\n Mailadresse\r\n \r\n \r\n Benyttes til at sende dig mail om betaling af dit kontingent og senere bekræftelse.\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n )\r\n }\r\n\r\n render() {\r\n let contents =
\r\n if (this.state.submitted == false) {\r\n contents = this.state.loading\r\n ?

Opretter medlem...

\r\n : this.renderForm();\r\n } else {\r\n if (this.state.success) {\r\n contents = (
\r\n

Du er nu oprettet som medlem i Juridisk Selskab.

\r\n

Du kan benytte dig af linket her for at betale for dit kontingent.

\r\n

Du modtager derudover også en mail på {this.state.form.mailadresse} til betalingslinket. Tjek din spam-folder hvis du ikke kan finde mailen.

\r\n

Foretrækker du en anden betalingsform, kan du tage fat i en rådsadministrator.

\r\n
);\r\n } else {\r\n contents = this.renderForm();\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n

Opret dig hos JUS

\r\n \r\n \r\n \"JUS\r\n \r\n
\r\n {contents}\r\n \r\n
\r\n );\r\n }\r\n\r\n async registrerMedlem() {\r\n const form = this.state.form;\r\n const response = await fetch('medlemsregistrering/opretmedlem', {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(form)\r\n });\r\n const data = await response.json();\r\n this.setState({ submitted: true, responseText: data.responseText, submitted: data.success, success: data.success, loading: false, paymentUrl: data.paymentUrl });\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { Button, Form, Container, Row, Col } from 'react-bootstrap';\r\nimport { useParams } from 'react-router-dom';\r\n\r\nexport class Medlemsbetaling extends Component {\r\n static displayName = Medlemsbetaling.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n fornavn: this.props.match.params.fornavn,\r\n }\r\n }\r\n\r\n\r\n render() {\r\n\r\n let fornavn = this.state.fornavn\r\n fornavn = fornavn.Replace('AE', 'Æ').Replace('OE', 'Ø').Replace('AA', 'Å');\r\n fornavn = fornavn.Replace('ae', 'æ').Replace('oe', 'ø').Replace('aa', 'å');\r\n\r\n return (\r\n
\r\n \r\n \r\n

Kære {fornavn}

\r\n

Din betaling er bekræftet. Du modtager snart en mail med bekræftelsen. Du bedes tage fat i en rådsadministrator for at modtage dit medlemskort

\r\n \r\n
\r\n
\r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { Button, Form, Container, Row, Col } from 'react-bootstrap';\r\n\r\nexport class Medlemsoversigt extends Component {\r\n static displayName = Medlemsoversigt.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n authToken: this.props.authToken,\r\n medlemmer: [],\r\n loading: true,\r\n filter: {\r\n navn: \"\",\r\n studienummer: \"\",\r\n semester: -1,\r\n telefonnummer: \"\",\r\n mailadresse: \"\",\r\n betalt: -1,\r\n modtagetKort: -1,\r\n },\r\n activeCell: {\r\n medlemId: 2504,\r\n field: \"\"\r\n },\r\n enableDeletion: false\r\n };\r\n this.loadMembers = this.loadMembers.bind(this);\r\n this.handleFilterChangeName = this.handleFilterChangeName.bind(this);\r\n this.handleFilterChangeStudienummer = this.handleFilterChangeStudienummer.bind(this);\r\n this.handleFilterChangeSemester = this.handleFilterChangeSemester.bind(this);\r\n this.handleFilterChangeTelefonnummer = this.handleFilterChangeTelefonnummer.bind(this);\r\n this.handleFilterChangeMailadresse = this.handleFilterChangeMailadresse.bind(this);\r\n this.handleFilterChangeBetalt = this.handleFilterChangeBetalt.bind(this);\r\n this.handleFilterChangeModtagetKort = this.handleFilterChangeModtagetKort.bind(this);\r\n this.handleFilterSubmit = this.handleFilterSubmit.bind(this);\r\n this.populateMedlemmer = this.populateMedlemmer.bind(this);\r\n this.renderMedlemmerTable = this.renderMedlemmerTable.bind(this);\r\n this.editableField = this.editableField.bind(this);\r\n this.handleEditableFieldCheckbox = this.handleEditableFieldCheckbox.bind(this);\r\n this.handleEditableFieldText = this.handleEditableFieldText.bind(this);\r\n this.handleEditableFieldChange = this.handleEditableFieldChange.bind(this);\r\n this.updateMedlem = this.updateMedlem.bind(this);\r\n this.deleteMedlem = this.deleteMedlem.bind(this);\r\n this.handleDeleteMedlem = this.handleDeleteMedlem.bind(this);\r\n }\r\n\r\n loadMembers() {\r\n this.populateMedlemmer();\r\n }\r\n\r\n componentDidMount() {\r\n this.populateMedlemmer();\r\n }\r\n\r\n handleFilterSubmit(event) {\r\n event.preventDefault(); // Prevents page load.\r\n this.setState({ loading: true })\r\n this.loadMembers();\r\n }\r\n\r\n editableField(id, value, field) {\r\n\r\n let contents = (\r\n id === this.state.activeCell.medlemId\r\n && this.state.activeCell.field === field)\r\n ? \r\n
this.handleEditableFieldText(e, field)}>\r\n \r\n \r\n \r\n : {\r\n let newActiveCell = this.state.activeCell;\r\n newActiveCell.medlemId = id;\r\n newActiveCell.field = field;\r\n this.setState({ activeCell: newActiveCell })\r\n }}\r\n >\r\n {value}\r\n \r\n \r\n return contents;\r\n }\r\n\r\n handleEditableFieldCheckbox(event, field, medlemId) {\r\n event.preventDefault();\r\n\r\n this.handleEditableFieldChange(event.target.checked ? \"1\" : \"0\", field, medlemId);\r\n }\r\n\r\n handleEditableFieldText(event, field) {\r\n event.preventDefault();\r\n\r\n const id = this.state.activeCell.medlemId;\r\n\r\n this.handleEditableFieldChange(event.target[0].value, field, id)\r\n }\r\n\r\n handleEditableFieldChange(value, field, id) {\r\n this.setState({\r\n activeCell: {\r\n medlemId: -1,\r\n field: \"\"\r\n }\r\n });\r\n this.updateMedlem({\r\n medlemId: id,\r\n field: field,\r\n value: value\r\n })\r\n }\r\n\r\n handleDeleteMedlem(id) {\r\n this.deleteMedlem(id);\r\n }\r\n\r\n renderMedlemmerTable(medlemmer) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {medlemmer.map(medlem =>\r\n \r\n {this.editableField(medlem.id, medlem.navn, \"navn\")}\r\n {this.editableField(medlem.id, medlem.studienummer, \"studienummer\")}\r\n {this.editableField(medlem.id, medlem.semester, \"semester\")}\r\n {this.editableField(medlem.id, medlem.telefonnummer, \"telefonnummer\")}\r\n {this.editableField(medlem.id, medlem.mailadresse, \"mailadresse\")}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
NavnStudienummerSemesterTelefonnummerMailaddresseBetaltModtaget KortSlet
\r\n this.handleEditableFieldCheckbox(e, \"betalt\", medlem.id)}\r\n />\r\n \r\n this.handleEditableFieldCheckbox(e, \"modtagetkort\", medlem.id)}\r\n />\r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n handleFilterChangeName(event) {\r\n let newFilter = this.state.filter;\r\n newFilter.navn = event.target.value;\r\n this.setState({ filter: newFilter })\r\n this.loadMembers();\r\n }\r\n\r\n handleFilterChangeStudienummer(event) {\r\n let newFilter = this.state.filter;\r\n newFilter.studienummer = event.target.value;\r\n this.setState({ filter: newFilter })\r\n this.loadMembers();\r\n }\r\n\r\n handleFilterChangeSemester(event) {\r\n let newFilter = this.state.filter;\r\n if (event.target.value === \"\") {\r\n newFilter.semester = -1;\r\n } else {\r\n newFilter.semester = event.target.value;\r\n }\r\n this.setState({ filter: newFilter })\r\n this.loadMembers();\r\n }\r\n\r\n handleFilterChangeTelefonnummer(event) {\r\n let newFilter = this.state.filter;\r\n newFilter.telefonnummer = event.target.value;\r\n this.setState({ filter: newFilter })\r\n this.loadMembers();\r\n }\r\n\r\n handleFilterChangeMailadresse(event) {\r\n let newFilter = this.state.filter;\r\n newFilter.mailadresse = event.target.value;\r\n this.setState({ filter: newFilter })\r\n this.loadMembers();\r\n }\r\n\r\n handleFilterChangeBetalt(event) {\r\n let newFilter = this.state.filter;\r\n newFilter.betalt = event.target.value;\r\n this.setState({ filter: newFilter });\r\n this.loadMembers();\r\n }\r\n\r\n handleFilterChangeModtagetKort(event) {\r\n let newFilter = this.state.filter;\r\n newFilter.modtagetKort = event.target.value;\r\n this.setState({ filter: newFilter });\r\n this.loadMembers();\r\n }\r\n\r\n render() {\r\n\r\n let contents = this.state.loading\r\n ?

Loading...

\r\n : this.renderMedlemmerTable(this.state.medlemmer);\r\n\r\n return (\r\n
\r\n \r\n \r\n

Medlemsoversigt

\r\n
\r\n \r\n
\r\n \r\n

Dette er en oversigt over medlemmer.

\r\n
\r\n \r\n Navn\r\n \r\n \r\n \r\n Studienummer\r\n \r\n \r\n \r\n Semester\r\n \r\n \r\n \r\n Telefonnummer\r\n \r\n \r\n \r\n Email\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n {\r\n let oldBool = this.state.enableDeletion;\r\n this.setState({ enableDeletion: !oldBool })\r\n }}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {contents}\r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n async updateMedlem(updateMedlem) {\r\n const response = await fetch('medlemsoversigt/updatemedlem', {\r\n method: 'POST',\r\n headers: {\r\n 'Authorization': 'Bearer ' + this.state.authToken,\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(updateMedlem)\r\n });\r\n if (response.ok) {\r\n let newMedlemmer = this.state.medlemmer.slice();\r\n // Id's come back as strings in data due to JSON conversion.\r\n switch (updateMedlem.field) {\r\n case 'navn':\r\n newMedlemmer = newMedlemmer.map(medlem => { if (medlem.id == updateMedlem.medlemId) { return { ...medlem, navn: updateMedlem.value } } else { return medlem } });\r\n break;\r\n case 'studienummer':\r\n newMedlemmer = newMedlemmer.map(medlem => { if (medlem.id == updateMedlem.medlemId) { return { ...medlem, studienummer: updateMedlem.value } } else { return medlem } });\r\n break;\r\n case 'semester':\r\n newMedlemmer = newMedlemmer.map(medlem => { if (medlem.id == updateMedlem.medlemId) { return { ...medlem, semester: parseInt(updateMedlem.value) } } else { return medlem } });\r\n break;\r\n case 'telefonnummer':\r\n newMedlemmer = newMedlemmer.map(medlem => { if (medlem.id == updateMedlem.medlemId) { return { ...medlem, telefonnummer: updateMedlem.value } } else { return medlem } });\r\n break;\r\n case 'mailadresse':\r\n newMedlemmer = newMedlemmer.map(medlem => { if (medlem.id == updateMedlem.medlemId) { return { ...medlem, mailadresse: updateMedlem.value } } else { return medlem } });\r\n break;\r\n case 'betalt':\r\n newMedlemmer = newMedlemmer.map(medlem => { if (medlem.id == updateMedlem.medlemId) { return { ...medlem, betalt: parseInt(updateMedlem.value) } } else { return medlem } });\r\n break;\r\n case 'modtagetkort':\r\n newMedlemmer = newMedlemmer.map(medlem => { if (medlem.id == updateMedlem.medlemId) { return { ...medlem, modtagetKort: parseInt(updateMedlem.value) } } else { return medlem } });\r\n break;\r\n }\r\n this.setState({ medlemmer: newMedlemmer });\r\n }\r\n }\r\n\r\n async populateMedlemmer() {\r\n const filter = this.state.filter;\r\n const response = await fetch('medlemsoversigt/getmedlemmerwithfilter', {\r\n method: 'POST',\r\n headers: {\r\n 'Authorization': 'Bearer ' + this.state.authToken,\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(filter)\r\n });\r\n const data = await response.json();\r\n this.setState({ medlemmer: data, loading: false });\r\n }\r\n\r\n async deleteMedlem(medlemId) {\r\n const response = await fetch('medlemsoversigt/deletemedlem', {\r\n method: 'POST',\r\n headers: {\r\n 'Authorization': 'Bearer ' + this.state.authToken,\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify({ medlemId: medlemId })\r\n });\r\n if (response.ok) {\r\n let newMedlemmer = this.state.medlemmer.slice();\r\n // Id's come back as strings in data due to JSON conversion.\r\n newMedlemmer = newMedlemmer.filter(medlem => medlem.id !== medlemId);\r\n this.setState({ medlemmer: newMedlemmer });\r\n }\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Button, Form, Container, Row, Col } from 'react-bootstrap';\r\n\r\nexport class Administration extends Component {\r\n static displayName = Administration.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n authToken: this.props.authToken,\r\n semesterskiftLastDate: \"Indlæser\",\r\n semesterskiftLoad: false,\r\n semesterskiftComplete: false,\r\n emailBodies: [],\r\n emailBodiesChanged: [],\r\n emailBodiesloading: true,\r\n pricesChanged: false,\r\n pricesLoading: true,\r\n priceFirstYear: 0,\r\n priceSecondYear: 0,\r\n priceThirdYear: 0\r\n };\r\n this.handleSemesterskift = this.handleSemesterskift.bind(this);\r\n this.editableField = this.emailBodyField.bind(this);\r\n }\r\n\r\n handleEditableFieldEmailBody(event, id) {\r\n event.preventDefault();\r\n\r\n this.handleEmailbodyUpdate({\r\n id: id,\r\n newValue: event.target[0].value\r\n })\r\n }\r\n\r\n updateEmailBodiesChanged(id, add) {\r\n let newEmailBodiesChanged = this.state.emailBodiesChanged;\r\n if (add) {\r\n if (!this.state.emailBodiesChanged.includes(id)) {\r\n newEmailBodiesChanged.push(id);\r\n }\r\n } else {\r\n newEmailBodiesChanged = newEmailBodiesChanged.filter(id => id !== id);\r\n }\r\n this.setState({ emailBodiesChanged: newEmailBodiesChanged })\r\n }\r\n\r\n emailBodyField(id, value) {\r\n return (\r\n
this.handleEditableFieldEmailBody(e, id)}>\r\n