js-rest-aktionen #6
@@ -5,7 +5,9 @@
|
||||
import wrenchIcon from '@iconify-icons/oi/wrench';
|
||||
import checkIcon from '@iconify-icons/oi/check';
|
||||
import xIcon from '@iconify-icons/oi/x';
|
||||
import documentIcon from '@iconify-icons/oi/document';
|
||||
let activeRecord = null;
|
||||
let newRecord = false;
|
||||
params = {
|
||||
title: 'Einträge',
|
||||
records: [],
|
||||
@@ -50,6 +52,34 @@
|
||||
console.log(err);
|
||||
});
|
||||
},
|
||||
'add': record => {
|
||||
console.log(record);
|
||||
// noinspection JSUnresolvedVariable
|
||||
fetch(env.API_URL + '/working-hours', {
|
||||
method: 'POST',
|
||||
mode: 'no-cors',
|
||||
cache: 'no-cache',
|
||||
credentials: 'same-origin',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
redirect: 'follow',
|
||||
referrerPolicy: 'no-referrer',
|
||||
body: JSON.stringify(record)
|
||||
})
|
||||
.then(res => {
|
||||
if (!res.ok) {
|
||||
throw new Error('Fail!');
|
||||
}
|
||||
})
|
||||
.then(() => {
|
||||
newRecord = false;
|
||||
Records.browse();
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
},
|
||||
'update': (date, record) => {
|
||||
console.log(record);
|
||||
// noinspection JSUnresolvedVariable
|
||||
@@ -71,7 +101,6 @@
|
||||
}
|
||||
})
|
||||
.then(() => {
|
||||
activeRecord = null;
|
||||
Records.browse();
|
||||
})
|
||||
.catch(err => {
|
||||
@@ -92,6 +121,17 @@
|
||||
<h1>{title}</h1>
|
||||
</header>
|
||||
<article>
|
||||
{#if params.isLoading === true}
|
||||
<p>Loading...</p>
|
||||
{:else}
|
||||
<!--suppress HtmlUnknownTarget -->
|
||||
<form action="/working-hours">
|
||||
<fieldset>
|
||||
<button on:click={() => {activeRecord = {}; newRecord = true}}>Neuer Eintrag
|
||||
|
TorstenHettstedt marked this conversation as resolved
Outdated
|
||||
<IconifyIcon icon={documentIcon}/>
|
||||
</button>
|
||||
</fieldset>
|
||||
</form>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -114,6 +154,7 @@
|
||||
{/each}
|
||||
</tbody>
|
||||
</table>
|
||||
{/if}
|
||||
</article>
|
||||
</section>
|
||||
{:else}
|
||||
@@ -127,17 +168,25 @@
|
||||
<fieldset name="record-data">
|
||||
<div>
|
||||
<label for="workingDay">Arbeitstag</label>
|
||||
<input bind:value={activeRecord.workingDay} placeholder="Arbeitstag" type="date" id="workingDay">
|
||||
<input bind:value={activeRecord.workingDay} placeholder="Arbeitstag" type="date"
|
||||
|
TorstenHettstedt marked this conversation as resolved
Outdated
TorstenHettstedt
commented
Es sollte das aktuelle Datum als Defaultwert genommen werden. Es sollte das aktuelle Datum als Defaultwert genommen werden.
TorstenHettstedt
commented
Wird leider nicht unterstützt. Wird leider nicht unterstützt.
|
||||
id="workingDay">
|
||||
</div>
|
||||
<div>
|
||||
<label for="workingTime">Arbeitszeit</label>
|
||||
<input bind:value={activeRecord.workingTime} placeholder="Arbeitszeit" type="time" id="workingTime">
|
||||
<input bind:value={activeRecord.workingTime} placeholder="Arbeitszeit" type="time"
|
||||
|
TorstenHettstedt marked this conversation as resolved
TorstenHettstedt
commented
Es sollten auch die Sekunden eintragbar sein und der Defaultwert sollte '00:00:00' sein. Es sollten auch die Sekunden eintragbar sein und der Defaultwert sollte '00:00:00' sein.
|
||||
id="workingTime">
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset name="buttons">
|
||||
{#if newRecord === true}
|
||||
<button on:click={() => Records.add(activeRecord)}>Übernehmen
|
||||
<IconifyIcon icon={checkIcon} color="green"/>
|
||||
</button>
|
||||
{:else}
|
||||
<button on:click={() => Records.update(activeRecord.workingDay, activeRecord)}>Übernehmen
|
||||
<IconifyIcon icon={checkIcon} color="green"/>
|
||||
</button>
|
||||
{/if}
|
||||
<button on:click={() => Records.read(null)}>Abbrechen
|
||||
|
TorstenHettstedt marked this conversation as resolved
Outdated
TorstenHettstedt
commented
Beim Abbrechen muss nicht alles neu geladen werden. Beim Abbrechen muss nicht alles neu geladen werden.
|
||||
<IconifyIcon icon={xIcon}/>
|
||||
</button>
|
||||
|
||||
Reference in New Issue
Block a user
Es ist eine Überlegung wert, die einzelnen anonymen Funktionen zu einem Objekt zusammenzufassen.