Compare commits
No commits in common. "930bd7de4bb4917caa5033fd0b3054f691484ef7" and "403099ebd6405c1450651ee085b9ba9bffd8a686" have entirely different histories.
930bd7de4b
...
403099ebd6
BIN
data/data.xlsx
BIN
data/data.xlsx
Binary file not shown.
|
@ -1,44 +0,0 @@
|
||||||
<?php
|
|
||||||
$fileName = $_SERVER['DOCUMENT_ROOT'] . '/data/data.xlsx';
|
|
||||||
function objectToArray($object, $fullJSON) {
|
|
||||||
return [$object -> id,
|
|
||||||
$object -> lastSave,
|
|
||||||
$fullJSON,
|
|
||||||
$object -> timeWatchM,
|
|
||||||
$object -> timeWatchW,
|
|
||||||
$object -> timeWatchD,
|
|
||||||
$object -> countWatchM,
|
|
||||||
$object -> countWatchW,
|
|
||||||
$object -> countWatchD];
|
|
||||||
}
|
|
||||||
|
|
||||||
function findRowIndex($id, $data) {
|
|
||||||
$rowCounter = -1;
|
|
||||||
foreach ($data as $row) {
|
|
||||||
$rowCounter ++;
|
|
||||||
if($row[0] == $id) {
|
|
||||||
return $rowCounter;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $rowCounter + 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
$entityBody = '{"lastSave": 0, "timeWatchM": 23, "timeWatchW": 89, "timeWatchD": 34, "countWatchM": 65, "countWatchW": 56, "countWatchD": 9, "id":"test","watches":[{"actions":[]},{"actions":[]},{"actions":[]}]}';
|
|
||||||
if ($_SERVER['REQUEST_METHOD'] === 'PUT') {
|
|
||||||
$entityBody = file_get_contents('php://input');
|
|
||||||
}
|
|
||||||
|
|
||||||
$entityBodyObject = json_decode($entityBody);
|
|
||||||
|
|
||||||
|
|
||||||
require $_SERVER['DOCUMENT_ROOT'] . '/spreadSheetReader/read_write_xlsx.php';
|
|
||||||
if(property_exists($entityBodyObject, "id")) {
|
|
||||||
$data = read_xls_file($fileName);
|
|
||||||
$rowIndex = findRowIndex($entityBodyObject->id, $data);
|
|
||||||
$data[$rowIndex] = objectToArray($entityBodyObject, $entityBody);
|
|
||||||
write_xlsxFile($fileName, $data);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -125,7 +125,8 @@
|
||||||
|
|
||||||
actualTopic = JSON.parse(localStorage.getItem("actualTopic"))
|
actualTopic = JSON.parse(localStorage.getItem("actualTopic"))
|
||||||
if(!actualTopic) {
|
if(!actualTopic) {
|
||||||
initializeNewTopic()
|
actualTopic = {}
|
||||||
|
reset()
|
||||||
}
|
}
|
||||||
document.getElementById("topicInput").value = actualTopic.name
|
document.getElementById("topicInput").value = actualTopic.name
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,6 @@
|
||||||
function initializeNewTopic() {
|
|
||||||
actualTopic = {"name": "", "id": randomId()}
|
|
||||||
reset()
|
|
||||||
document.getElementById("topicInput").value = actualTopic.name
|
|
||||||
}
|
|
||||||
|
|
||||||
function reset() {
|
function reset() {
|
||||||
actualTopic.watches = [{"actions": []}, {"actions": []}, {"actions": []}]
|
actualTopic.watches = [{"actions": []}, {"actions": []}, {"actions": []}]
|
||||||
saveActualTopic()
|
saveActualTopicToLocalStorage()
|
||||||
}
|
}
|
||||||
|
|
||||||
function resetButton() {
|
function resetButton() {
|
||||||
|
@ -18,7 +12,7 @@ function resetButton() {
|
||||||
function buttonDeleteAllClosedTopics() {
|
function buttonDeleteAllClosedTopics() {
|
||||||
if(confirm("Sollen alle abgeschlossenen Themen gelöscht werden?")) {
|
if(confirm("Sollen alle abgeschlossenen Themen gelöscht werden?")) {
|
||||||
closedTopics = []
|
closedTopics = []
|
||||||
saveClosedTopics()
|
saveClosedTopicsToLocalStorage()
|
||||||
refreshClosedTopics()
|
refreshClosedTopics()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -49,14 +43,17 @@ function closeTopic() {
|
||||||
}
|
}
|
||||||
actualTopic.name = name
|
actualTopic.name = name
|
||||||
closedTopics.push(actualTopic)
|
closedTopics.push(actualTopic)
|
||||||
saveClosedTopics()
|
actualTopic = {"name": ""}
|
||||||
|
reset()
|
||||||
|
document.getElementById("topicInput").value = actualTopic.name
|
||||||
|
saveActualTopicToLocalStorage()
|
||||||
|
saveClosedTopicsToLocalStorage()
|
||||||
refreshClosedTopics()
|
refreshClosedTopics()
|
||||||
initializeNewTopic()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function deleteTopic(topicIndex) {
|
function deleteTopic(topicIndex) {
|
||||||
closedTopics = closedTopics.slice(0, topicIndex).concat(closedTopics.slice(topicIndex+1))
|
closedTopics = closedTopics.slice(0, topicIndex).concat(closedTopics.slice(topicIndex+1))
|
||||||
saveClosedTopics()
|
saveClosedTopicsToLocalStorage()
|
||||||
refreshClosedTopics()
|
refreshClosedTopics()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,14 +64,14 @@ function reopenTopic(topicIndex) {
|
||||||
actualTopic = closedTopics[topicIndex]
|
actualTopic = closedTopics[topicIndex]
|
||||||
document.getElementById("topicInput").value = actualTopic.name
|
document.getElementById("topicInput").value = actualTopic.name
|
||||||
deleteTopic(topicIndex)
|
deleteTopic(topicIndex)
|
||||||
saveClosedTopics()
|
saveClosedTopicsToLocalStorage()
|
||||||
saveActualTopic()
|
saveActualTopicToLocalStorage()
|
||||||
}
|
}
|
||||||
|
|
||||||
function start(watchIndex) {
|
function start(watchIndex) {
|
||||||
stop()
|
stop()
|
||||||
actualTopic.watches[watchIndex].actions.push({"type": "start", "time": new Date().getTime()})
|
actualTopic.watches[watchIndex].actions.push({"type": "start", "time": new Date().getTime()})
|
||||||
saveActualTopic()
|
saveActualTopicToLocalStorage()
|
||||||
}
|
}
|
||||||
|
|
||||||
function stop() {
|
function stop() {
|
||||||
|
@ -85,7 +82,7 @@ function stop() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
saveActualTopic()
|
saveActualTopicToLocalStorage()
|
||||||
}
|
}
|
||||||
|
|
||||||
function calcPercForWatch(watchIndex, topic) {
|
function calcPercForWatch(watchIndex, topic) {
|
||||||
|
@ -184,18 +181,14 @@ function refreshClosedTopics() {
|
||||||
|
|
||||||
function saveActualTopicName() {
|
function saveActualTopicName() {
|
||||||
actualTopic.name = document.getElementById("topicInput").value
|
actualTopic.name = document.getElementById("topicInput").value
|
||||||
saveActualTopic()
|
saveActualTopicToLocalStorage()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function saveActualTopicToLocalStorage() {
|
||||||
|
|
||||||
function saveActualTopic() {
|
|
||||||
//save it to LocalStorage
|
|
||||||
localStorage.setItem("actualTopic", JSON.stringify(actualTopic))
|
localStorage.setItem("actualTopic", JSON.stringify(actualTopic))
|
||||||
}
|
}
|
||||||
|
|
||||||
function saveClosedTopics() {
|
function saveClosedTopicsToLocalStorage() {
|
||||||
//save it to LocalStorage
|
|
||||||
localStorage.setItem("closedTopics", JSON.stringify(closedTopics))
|
localStorage.setItem("closedTopics", JSON.stringify(closedTopics))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -212,9 +205,3 @@ function elt (type, attrs, ...children) {
|
||||||
}
|
}
|
||||||
return node
|
return node
|
||||||
}
|
}
|
||||||
|
|
||||||
// random.ts
|
|
||||||
function randomId() {
|
|
||||||
const uint32 = window.crypto.getRandomValues(new Uint32Array(1))[0];
|
|
||||||
return uint32.toString(16);
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,28 +0,0 @@
|
||||||
<?php
|
|
||||||
require $_SERVER['DOCUMENT_ROOT'] . '/spreadSheetReader/SimpleXLSX.php';
|
|
||||||
require $_SERVER['DOCUMENT_ROOT'] . '/spreadSheetReader/SimpleXLSXGen.php';
|
|
||||||
function read_xls_file($filename){
|
|
||||||
$fileContent = [];
|
|
||||||
if ($xlsx = SimpleXLSX::parse($filename)) {
|
|
||||||
$fileContent = ($xlsx->rows());
|
|
||||||
} else {
|
|
||||||
echo SimpleXLSX::parseError();
|
|
||||||
}
|
|
||||||
return $fileContent;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function write_xlsxFile($filename, $data) {
|
|
||||||
|
|
||||||
foreach ($data as $row) {
|
|
||||||
echo "new Row: <br>";
|
|
||||||
foreach ($row as $cell) {
|
|
||||||
echo $cell." ";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
$xlsx = SimpleXLSXGen::fromArray($data);
|
|
||||||
$xlsx->saveAs($filename);
|
|
||||||
}
|
|
Loading…
Reference in New Issue