some experiments around therems, a request to update asset
This commit is contained in:
parent
374551d2bb
commit
aa815a5bd7
14 changed files with 229 additions and 59 deletions
|
@ -9,7 +9,11 @@ import magpie
|
|||
import magpie.Components as Components
|
||||
|
||||
Item {
|
||||
signal add
|
||||
signal add()
|
||||
signal edit(id: int)
|
||||
signal remove(id: int)
|
||||
|
||||
id: item
|
||||
|
||||
ColumnLayout {
|
||||
id: column
|
||||
|
@ -33,6 +37,9 @@ Item {
|
|||
delegate: Components.AssetLine {
|
||||
height: 30
|
||||
width: listView.width
|
||||
|
||||
onRemove: id => item.remove(id)
|
||||
onEdit: id => item.edit(id)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,7 +6,9 @@ import QtQuick.Controls
|
|||
import QtQuick.Layouts
|
||||
|
||||
Item {
|
||||
signal addAsset
|
||||
signal addAsset()
|
||||
signal removeAsset(id: int)
|
||||
signal editAsset(id: int)
|
||||
|
||||
property string currentPage: "home"
|
||||
RowLayout {
|
||||
|
@ -71,6 +73,8 @@ Item {
|
|||
Assets {
|
||||
StackView.onActivating: currentPage = "assets"
|
||||
onAdd: addAsset()
|
||||
onRemove: id => removeAsset(id)
|
||||
onEdit: id => editAsset(id)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -19,6 +19,23 @@ Item {
|
|||
id: main
|
||||
Main {
|
||||
onAddAsset: stack.push(addAssetForm);
|
||||
onEditAsset: function(id) {
|
||||
const asset = Magpie.assets.getAssetByID(id);
|
||||
stack.push(editAssetForm, {
|
||||
name: asset.title,
|
||||
icon: asset.icon,
|
||||
color: asset.color,
|
||||
currency: asset.currencyID,
|
||||
assetID: asset.assetID,
|
||||
title: qsTr("Editing asset") + " " + asset.title
|
||||
});
|
||||
}
|
||||
onRemoveAsset: function(id) {
|
||||
API.deleteAsset(id, function(err) {
|
||||
if (err)
|
||||
Magpie.displayError("Error deleting asset " + Magpie.assets.getAssetByID(id).title + ": " + err);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -53,6 +70,40 @@ Item {
|
|||
}
|
||||
}
|
||||
|
||||
Component {
|
||||
id: editAssetForm
|
||||
|
||||
Forms.Asset {
|
||||
required property int assetID
|
||||
|
||||
onCancel: stack.pop()
|
||||
onConfirm: function (title, icon, color, currency) {
|
||||
if (modal.inProgress)
|
||||
return;
|
||||
|
||||
modal.inProgress = true;
|
||||
modal.status = qsTr("Updating asset ") + " " + Magpie.assets.getAssetByID(assetID).title + "...";
|
||||
modal.open();
|
||||
|
||||
API.updateAsset(assetID, title, icon, color, currency, function (err, result) {
|
||||
if (!modal.inProgress)
|
||||
return;
|
||||
|
||||
modal.inProgress = false;
|
||||
if (err)
|
||||
modal.status = err;
|
||||
else
|
||||
modal.status = qsTr("Success");
|
||||
|
||||
if (!!result) {
|
||||
modal.close();
|
||||
stack.pop()
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: Magpie
|
||||
function onDisplayError (err) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue