|
@@ -69,6 +69,7 @@ class App extends React.Component {
|
|
|
this.filterPlayers = this.filterPlayers.bind(this)
|
|
|
this.generateSchedule = this.generateSchedule.bind(this)
|
|
|
this.generatePayTable = this.generatePayTable.bind(this)
|
|
|
+ this.generatePhoneList = this.generatePhoneList.bind(this)
|
|
|
}
|
|
|
|
|
|
calculateMatchFilters () {
|
|
@@ -136,7 +137,7 @@ class App extends React.Component {
|
|
|
worksheets['Calendar'] = worksheet
|
|
|
this.setState({ worksheets })
|
|
|
|
|
|
- if (worksheet[2].length < 8 | worksheet[2].length > 9) {
|
|
|
+ if (worksheet[2].length < 8 | worksheet[2].length > 9) {
|
|
|
throw Error('Wrong file structure.')
|
|
|
}
|
|
|
const matches = worksheet.slice(2, worksheet.length).map((matchData) => new Match.MatchClass(matchData))
|
|
@@ -204,7 +205,7 @@ class App extends React.Component {
|
|
|
String(this.state.match.dates[key]) === this.matchDate.value
|
|
|
)
|
|
|
|
|
|
- placeArray.forEach((place) => {
|
|
|
+ placeArray.forEach(place => {
|
|
|
let header = [
|
|
|
[`Spielplan für den ${date} (${place})`],
|
|
|
[],
|
|
@@ -222,6 +223,36 @@ class App extends React.Component {
|
|
|
Excel.saveAs(matchlist, 'Spielliste.xlsx')
|
|
|
}
|
|
|
|
|
|
+ generatePhoneList (event) {
|
|
|
+ event.preventDefault()
|
|
|
+
|
|
|
+ const phoneMail = new Excel.Workbook()
|
|
|
+ phoneMail.SheetNames = []
|
|
|
+ phoneMail.Sheets = {}
|
|
|
+
|
|
|
+ const dataList = [
|
|
|
+ ['Vorname', 'Nachname', 'Anrede', 'Geschlecht', 'Handy', 'E-Mail']
|
|
|
+ ]
|
|
|
+ const phonePot = []
|
|
|
+
|
|
|
+ const players = this.state.player.filtered
|
|
|
+ players.forEach(player => {
|
|
|
+ if (!player.phone.match(/^FEHLER/) && !phonePot.includes(player.phone)) {
|
|
|
+ phonePot.push(player.phone)
|
|
|
+ dataList.push([
|
|
|
+ player.Vorname,
|
|
|
+ player.Name,
|
|
|
+ 2,
|
|
|
+ player.geschlecht === 'w' ? 2 : 1,
|
|
|
+ player.phone
|
|
|
+ ])
|
|
|
+ }
|
|
|
+ })
|
|
|
+ phoneMail.Sheets['Sheet1'] = Excel.SheetFromArray(dataList)
|
|
|
+ phoneMail.SheetNames.push('Sheet1')
|
|
|
+ Excel.saveAs(phoneMail, 'Telefon.xlsx')
|
|
|
+ }
|
|
|
+
|
|
|
calculatePayDate () {
|
|
|
if ((this.state.player.players.length === 0) | (this.state.match.matches.length === 0)) {
|
|
|
return
|
|
@@ -385,6 +416,7 @@ class App extends React.Component {
|
|
|
</select>
|
|
|
<button onClick={this.generateSchedule} disabled={!this.state.match.filtered.length}>Spielliste generieren</button>
|
|
|
<button onClick={this.generatePayTable} disabled={(!this.state.match.filtered.length | !this.state.player.filtered.length)}>Zahlliste generieren</button>
|
|
|
+ <button onClick={this.generatePhoneList} disabled={!this.state.player.players.length}>Telefonliste generieren</button>
|
|
|
</form>
|
|
|
<MatchList match={this.state.match} />
|
|
|
<PhoneList filtered={this.state.match.filtered} players={this.state.player.players} />
|