-
Notifications
You must be signed in to change notification settings - Fork 58
202501 Lieferschein: Button Speichern und weiter #423
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moin Niklas. Da wir eh gleich Konferenz haben, hier erstmal nur die Kommentare als Review. Können wir gleich draufschauen.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Das sollte aber auch im nicht-design4.0 funktionieren, oder?
js/kivi.DeliveryOrder.js
Outdated
ns.open_stock_in_out_dialog = function(clicked, in_out) { | ||
var $row = $(clicked).parents("tbody").first(); | ||
var id = $row.find('[name="orderitem_ids[+]"]').val(); | ||
$row.uniqueId(); | ||
|
||
var pos = $(clicked).parents("tr").first().children().find('[name="position"]').first().text(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wenn Du ein wenig stabiler durch das DOM navigieren möchtest: benutz die Klassen die dafür vergeben sind. Zum Beispiel hat das für die Items immer die Klasse "row_entry", damit kann man die im parent direkt anspringen.
js/kivi.DeliveryOrder.js
Outdated
var row = ns.stock_in_out_dialog_row_by_id(id); | ||
var in_out = $("#stock_in_out_dialog").find("[name$=in_out]").val(); | ||
|
||
if (row["length"] != 0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
row["length"]
sieht hier... seltsam aus. Würde man eher als row.length
schreiben. Die obj[string]
Syntax benutzt man eher, wenn der string dynamisch oder in einer Variable ist. Bei Literalen kann man direkt auf die Property zugreifen.
Tip: es ist recht verwirrend wenn man zwischen jQuery und DOM Elementen hin- und herspringt. Wir benutzen oft die Konvention dass variablen die einen jQuery Selektor halten mit "$" Präfix geschrieben werden, wie in der open_stock_in_out_dialog
. Macht es einfacher zu lesen.
Nochmal das "eq 'true'" prüfen ob das notwendig ist oder besser geht. |
für templates/webpages (nicht-design40)
Verwende Präfix $ für jQuery Selektoren. Klasse row_entry zur DOM Navigation verwendet.
Template ist hinzugefügt. JavaScript Konventionen sind jetzt berücksichtigt. Gefällt mir besser so. ;)
"eq 'true'" hatte ich eingebaut, weil der Button sonst nicht ausgeblendet wird, wenn der String 'true' oder 'false' übergeben wird. Wir können auch 0 oder 1 übergeben und den vorhandenen Helfer _parse_number() nutzen... Das ist beliebig aus meiner Sicht. |
Hinweis: Hierfür habe ich keinen Helfer in der Form
_parse_boolean()
o.Ä. spendiert:my $next_button = $::form->{next_button} eq 'true';
Das könnte man tun, aber ob das wiederverwendbar ist, sehe ich gerade nicht.