mirror of
https://github.com/tim-krehan/shopping-list.git
synced 2024-11-23 22:30:41 +01:00
edit inline for single list entries
This commit is contained in:
parent
467960037f
commit
f3f65c6748
4 changed files with 87 additions and 2 deletions
29
js/list.js
29
js/list.js
|
@ -72,7 +72,32 @@ function editItem(){
|
||||||
|
|
||||||
row.find(".dropdown").html("");
|
row.find(".dropdown").html("");
|
||||||
row.find(".dropdown").addClass("d-flex", "flex-row");
|
row.find(".dropdown").addClass("d-flex", "flex-row");
|
||||||
row.find(".dropdown").html("<i class='fas fa-check p-1'></i><i class='fas fa-times p-1'></i>");
|
var checkButton = $("<button type='button' class='save-list-row-changes btn p-2'><i class='fas fa-check'></i></button>");
|
||||||
|
var removeButton = $("<button type='button' class='del-list-row-changes btn p-2'><i class='fas fa-times'></i></button>");
|
||||||
|
row.find(".dropdown").append(checkButton);
|
||||||
|
row.find(".dropdown").append(removeButton);
|
||||||
|
|
||||||
|
checkButton.click(changeListItem);
|
||||||
|
removeButton.click(function(){window.location = window.location;});
|
||||||
|
}
|
||||||
|
|
||||||
|
function changeListItem(){
|
||||||
|
var id = $(this).parent().parent().find("input[type=checkbox]").data("id");
|
||||||
|
var amount = $(this).parent().parent().find("input[type=number]").val();
|
||||||
|
var unit = $(this).parent().parent().find("select option:selected").val();
|
||||||
|
var name = $(this).parent().parent().find("input[type=text]").val();
|
||||||
|
$.post({
|
||||||
|
url: "api/list/change",
|
||||||
|
data: {
|
||||||
|
id: id,
|
||||||
|
anzahl: amount,
|
||||||
|
einheit: unit,
|
||||||
|
name: name
|
||||||
|
},
|
||||||
|
success: function(data){
|
||||||
|
window.location = window.location;
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function checkItem() {
|
function checkItem() {
|
||||||
|
@ -80,7 +105,7 @@ function checkItem() {
|
||||||
$.post({
|
$.post({
|
||||||
url: "api/list/check",
|
url: "api/list/check",
|
||||||
data: {
|
data: {
|
||||||
function: "check",
|
// function: "check",
|
||||||
id: dataId,
|
id: dataId,
|
||||||
status: $(this).prop("checked")
|
status: $(this).prop("checked")
|
||||||
},
|
},
|
||||||
|
|
|
@ -61,6 +61,49 @@
|
||||||
$mysqli->close();
|
$mysqli->close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function changeSingleItem($id, $anzahl, $einheit, $name){
|
||||||
|
include $_SESSION["docroot"].'/config/config.php';
|
||||||
|
include $_SESSION["docroot"].'/php/connect.php';
|
||||||
|
$paramCount = "s";
|
||||||
|
$query = "UPDATE `Einkauf` SET";
|
||||||
|
if($anzahl!=""){
|
||||||
|
$paramCount .= "s";
|
||||||
|
$query .= " `Anzahl` = ?";
|
||||||
|
}
|
||||||
|
if($einheit!=""){
|
||||||
|
if(strlen($paramCount)>1){
|
||||||
|
$query .= ",";
|
||||||
|
}
|
||||||
|
$paramCount .= "s";
|
||||||
|
$query .= " `Einheit` = ?";
|
||||||
|
}
|
||||||
|
if($name!=""){
|
||||||
|
if(strlen($paramCount)>1){
|
||||||
|
$query .= ",";
|
||||||
|
}
|
||||||
|
$paramCount .= "s";
|
||||||
|
$query .= " `Name` = ?";
|
||||||
|
}
|
||||||
|
if(strlen($paramCount)>1){
|
||||||
|
$query .= " WHERE `Einkauf`.`ID` = ?;";
|
||||||
|
$updateQuery = $mysqli->prepare($query);
|
||||||
|
if($anzahl!="" && $name!=""){
|
||||||
|
$updateQuery->bind_param($paramCount, $anzahl, $einheit, $name, $id);
|
||||||
|
}
|
||||||
|
elseif($anzahl!="" && $name==""){
|
||||||
|
$updateQuery->bind_param($paramCount, $anzahl, $einheit, $id);
|
||||||
|
}
|
||||||
|
elseif($anzahl=="" && $name!=""){
|
||||||
|
$updateQuery->bind_param($paramCount, $einheit, $name, $id);
|
||||||
|
}
|
||||||
|
elseif($anzahl=="" && $name==""){
|
||||||
|
$updateQuery->bind_param($paramCount, $einheit, $id);
|
||||||
|
}
|
||||||
|
$updateQuery->execute();
|
||||||
|
$mysqli->close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function removeChecked(){
|
function removeChecked(){
|
||||||
include $_SESSION["docroot"].'/config/config.php';
|
include $_SESSION["docroot"].'/config/config.php';
|
||||||
include $_SESSION["docroot"].'/php/connect.php';
|
include $_SESSION["docroot"].'/php/connect.php';
|
||||||
|
|
|
@ -13,6 +13,10 @@
|
||||||
$shopping->newItems($_POST["list"]);
|
$shopping->newItems($_POST["list"]);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'change':
|
||||||
|
$shopping->changeSingleItem($_POST["id"], $_POST["anzahl"], $_POST["einheit"], $_POST["name"]);
|
||||||
|
break;
|
||||||
|
|
||||||
case 'del':
|
case 'del':
|
||||||
$shopping->removeSingleItem($_POST["id"]);
|
$shopping->removeSingleItem($_POST["id"]);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -15,6 +15,19 @@
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.save-list-row-changes {
|
||||||
|
color: var(--light);
|
||||||
|
}
|
||||||
|
.save-list-row-changes:hover {
|
||||||
|
color: var(--success);
|
||||||
|
}
|
||||||
|
.del-list-row-changes {
|
||||||
|
color: var(--light);
|
||||||
|
}
|
||||||
|
.del-list-row-changes:hover {
|
||||||
|
color: var(--danger);
|
||||||
|
}
|
||||||
|
|
||||||
.nav-link-font {
|
.nav-link-font {
|
||||||
font-size: 16px !important;
|
font-size: 16px !important;
|
||||||
}
|
}
|
Loading…
Reference in a new issue