3k-dartsoftware-api Demo

Rohdaten per DartAPI.fetchData() - eigenes Markup, eigener Stil.
Klick auf einen Teamnamen zeigt Ergebnisse & Kader.

Lade…

Tabelle wird geladen…

Aktueller Spieltag

Spieltag wird geladen…

DartAPI.fetchData()

Einbinden und fertig - kein Server, kein Build-Schritt:

<script src="3k-dartsoftware-api.js"></script>

const data = await DartAPI.fetchData({ databaseId: 9, eventId: 39193 });

// data.event    → { id, name, nameShort }
// data.table    → array, sortiert nach punkten
// data.schedule → alle spieltage mit matches
// data.teams    → mannschaften mit spielern

Backends

 1 → backend1       6 → backend5
 2 → backend2       8 → dartcup
 3 → test-tomcat    9 → backend-dsab
 4 → backend3      10 → backend-ddv
 5 → backend4      11 → backend6
                   12 → backend7

Sudden Death

// ungerade gesamtsets = sd gespielt
// c- bis a-liga : 18 spiele (9:9 → sd)
// ab a-liga     : 20 spiele (10:10 → sd)
//
// punkte:
//   normaler sieg  →  3 / 0
//   sudden death   →  2 / 1

const sd = (setsHome + setsGuest) % 2 === 1;

Daten-Shape

data.table[0]
  { rank, id, name,
    played, won, lost,
    setsFor, setsAgainst, diff,
    points }
  // 3=sieg · 2=sd-sieg
  // 1=sd-nie · 0=niederlage

data.schedule[0]
  { id, name, index, isCurrent,
    status, matches: [{ id, date,
    status, home, guest,
    setsHome, setsGuest, venue }] }

data.teams[0]
  { id, name, venue, city,
    weekday, throwoffTime,
    players: [{ name, firstname,
    lastname, nickname,
    passNr, captain }] }

Tabelle rendern

data.table.map(r => `
  <tr>
    <td>${r.rank}.</td>
    <td>${r.name}</td>
    <td>${r.played}</td>
    <td>${r.won}</td>
    <td>${r.lost}</td>
    <td>${r.setsFor}:${r.setsAgainst}</td>
    <td><b>${r.points}</b></td>
  </tr>
`).join('');

Aktueller Spieltag

const current = data.schedule
  .find(rd => rd.isCurrent);

current.matches.forEach(m => {
  const score = m.status === 'finish'
    ? `${m.setsHome}:${m.setsGuest}`
    : '-:-';
  console.log(
    m.home.name, score, m.guest.name
  );
});

Spiele eines Teams

const teamId = data.table[0].id;

const spiele = DartAPI.teamMatches(
  data, teamId
);

spiele.forEach(m => {
  const isHome = m.home.id === teamId;
  const own = isHome
    ? m.setsHome : m.setsGuest;
  const opp = isHome
    ? m.setsGuest : m.setsHome;
  const done = m.status === 'finish';
  console.log(
    m.matchday,
    isHome ? m.guest.name : m.home.name,
    done ? `${own}:${opp}` : '-:-'
  );
});