ADD FEATURE: Bibelstudien eintragen

sortierung
Samuel Zielke 1 year ago
parent e941942f91
commit 851334846d

@ -22,6 +22,11 @@ function initDB() {
autoIncrement: true,
});
const settingsT = db.createObjectStore('settings', {
keyPath: 'id',
autoIncrement: true,
})
// Spalten definieren
store.createIndex('createdate', 'createdate', { unique: false });
store.createIndex('date', 'date', { unique: false });
@ -29,6 +34,9 @@ function initDB() {
store.createIndex('type', 'type', { unique: false });
store.createIndex('status', 'status', { unique: false });
store.createIndex('sondertext', 'sondertext', { unique: false });
settingsT.createIndex('SettingsID', 'SettingsID', { unique: false });
settingsT.createIndex('SettingsValue', 'SettingsValue', { unique: false });
};
request.onsuccess = function (event) {
@ -44,10 +52,10 @@ function initDB() {
}
// Neuer Eintrag in die IndexedDB
function addEntry(data) {
function addEntry(data, table) {
return new Promise((resolve, reject) => {
const transaction = db.transaction(['hours'], 'readwrite');
const store = transaction.objectStore('hours');
const transaction = db.transaction([table], 'readwrite');
const store = transaction.objectStore(table);
data.createdate = new Date();
const request = store.add(data);
@ -63,10 +71,10 @@ function addEntry(data) {
}
// Eintrag aktualisieren
function updateEntry(id, updatedData) {
function updateEntry(id, table, updatedData) {
return new Promise((resolve, reject) => {
const transaction = db.transaction(['hours'], 'readwrite');
const store = transaction.objectStore('hours');
const transaction = db.transaction([table], 'readwrite');
const store = transaction.objectStore(table);
const getRequest = store.get(id);
@ -111,10 +119,10 @@ function deleteEntry(id) {
}
// Einträge abrufen
function getAllEntries() {
function getAllEntries(table) {
return new Promise((resolve, reject) => {
const transaction = db.transaction(['hours'], 'readonly');
const store = transaction.objectStore('hours');
const transaction = db.transaction([table], 'readonly');
const store = transaction.objectStore(table);
const request = store.getAll();

@ -2,6 +2,7 @@
const hours = document.getElementById('stunden');
const mins = document.getElementById('minuten');
const NewEntryButton = document.getElementById('newEntrySubmitButton')
const SETStudySaveButton = document.getElementById('SETStudySaveButton')
var allowToSend = false;
@ -66,7 +67,7 @@ NewEntryButton.addEventListener('click', () => {
sondertext: document.getElementById('sonstigesInput').value,
}
addEntry(newEntryData).then((id) => {
addEntry(newEntryData, 'hours').then((id) => {
// console.log('Eintrag hinzugefügt mit ID:', id);
location.reload()
});
@ -78,6 +79,37 @@ NewEntryButton.addEventListener('click', () => {
}
})
// SETTINGS ACTIONS
SETStudySaveButton.addEventListener('click', () => {
var actualSettings = 0
getAllEntries('settings')
.then(function(result) {
const SETDBData = result.find(element => element.SettingsID === 1)
actualSettingsEntryID = SETDBData ? SETDBData.id : undefined;
actualSettings = SETDBData ? SETDBData.SettingsValue : undefined;
// AKTUELLE DATEN AUS FELD ÜBERNHEMEN
var ActInput = document.getElementById('studysinput').value
const StudySettingsData = {
SettingsID: 1,
SettingsValue: parseInt(ActInput),
}
// ÜBERPRÜFEN OB EIN EINTRAG MTI DER SETTINGS ID VORHANDEN IST - WENN JA DANN UPDATE WENN NEIN DANN NEUEN ERSTELLEN
if ( actualSettings != undefined ) {
updateEntry(actualSettingsEntryID, 'settings', StudySettingsData)
} else {
addEntry(StudySettingsData, 'settings')
}
})
SETStudySaveButton.classList.add('d-none')
})
async function getActualDataAndFillView() {
try {
@ -225,7 +257,7 @@ document.getElementById('editEntrySubmitButton').addEventListener('click', () =>
sonstigesText.style.display = 'none';
}
updateEntry(parseInt(ToEditID), {
updateEntry(parseInt(ToEditID), 'hours', {
date: document.getElementById('editDatum').value,
duration: (parseInt(edithours.value)*60) + parseInt(editMins.value),
type: type,

@ -4,7 +4,7 @@ function setAllOk() {
document.getElementById('welcome_content').style.display = 'none';
document.getElementById('dashboard').classList.remove('d-none');
document.getElementById('refresh_icon').classList.remove('d-none')
// document.getElementById('settings_icon').classList.remove('d-none')
document.getElementById('settings_icon').classList.remove('d-none')
}
document.getElementById("allOk").addEventListener('click', function(){

@ -24,50 +24,23 @@
<h3 id="HeaderText" class="pt-2" style="display: none;"><b>PIO</b><b style="color: rgb(120,170,86);">MINT</b></h3>
<div class="col-3"></div>
<!-- <span class="col-3 d-none" id="settings_icon"><img src="{% static 'app/images/settings.png' %}" alt="Settings" class="img-fluid" id="image" style="width: 40%; opacity: 0.75; padding-top: 0.65rem;"></span>
<!-- <div class="col-3"></div> -->
<span class="col-3 d-none" id="settings_icon"><img src="{% static 'app/images/settings.png' %}" alt="Settings" class="img-fluid" id="image" style="width: 40%; opacity: 0.75; padding-top: 0.65rem;"></span>
<span class="col-3 d-none" id="settings_close_icon"><img src="{% static 'app/images/close.png' %}" alt="SettingsClose" class="img-fluid" id="image" style="width: 40%; opacity: 0.75; padding-top: 0.65rem;"></span>
-->
</div>
<div class="settings text-left">
<div class="settings-card container">
<!-- <h5 class="pt-3">Allgemein</h5>
<ul class="list-group" style="color: black;">
<li class="list-group-item d-flex justify-content-between align-items-center">
LDC-Tätigkeiten
<button class="badge btn btn-success">On</button>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Dauer-Hippi
<button class="badge btn btn-secondary">Off</button>
</li>
</ul> -->
<!--<h5 class="pt-4">Account</h5>
<ul class="list-group" style="color: black;">
<li class="list-group-item d-flex justify-content-between align-items-center">
Username: <b>maxmüller</b>
<button class="badge btn btn-primary">ändern</button>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Passwort
<button class="badge btn btn-primary">ändern</button>
</li>
</ul> -->
<h5 class="pt-4">Bericht</h5>
<h5 class="pt-3">Einstellungen</h5>
<ul class="list-group" style="color: black;">
<li class="list-group-item d-flex justify-content-between align-items-center">
Bibelstudien:
<button class="badge btn btn-disabled" style="min-width: 50px;">1</button>
<input type="number" class="w-25 btn" name="studysinput" id="studysinput" value="0" onfocus="document.getElementById('SETStudySaveButton').classList.remove('d-none')">
<button class="btn d-none" id="SETStudySaveButton">Sichern</button>
</li>
<!-- <li class="list-group-item d-flex justify-content-between align-items-center">
Erinnerung:
<button class="badge btn btn-success">On</button>
</li> -->
</ul>
</ul>
</div>
</div>
</div>
</div>

@ -254,7 +254,7 @@
/* Verarbeitung der Einstellungen */
{{/* const settingsIcon = document.getElementById('settings_icon')
const settingsIcon = document.getElementById('settings_icon')
settingsIcon.addEventListener('click', () => {
document.getElementById('header-bg-block').classList.replace('HeaderDefaultHeightbg', 'openSettingsbg')
document.getElementById('header-bg-block').classList.replace('closeSettingsbg', 'openSettingsbg')
@ -270,7 +270,7 @@
document.getElementById('settings_icon').classList.remove('d-none');
document.getElementById('settings_close_icon').classList.add('d-none');
document.getElementById('refresh_icon').style.opacity = 1;
}) */}}
})
</script>
<script src="{% static 'app/js/home.js' %}"></script>

Loading…
Cancel
Save

Powered by TurnKey Linux.