Fred <
iri...@gmail.com> writes:
> Hello,
>
> when i disable javascript in my browser, delete operation fails in gridedit
> widget
> if the widget is part of a navigation widget.
Indeed this is a problem. I remember that this problem was reported
before but I cannot find the relevant message back.
As far as I remember the problem is that the call
(do-modal ...)
which is used to display the confirmation screen ('Are you sure you want
to delete this item' or something similar)
does not work well with the selection widget.
If you reload the page with the /foo... part removed you see suddenly
the confirmation dialog.
The core of the problem is that when it wants to show the model dialog
it replaces temporarily the whole widget tree with the 'dialog' widget.
However the url still tries to select the /foo pane.
The general code will now throw a fit becauset that pane is gone.
A quick way to fix this is by clearing the *uri-tokens* so that the
handler does not complain about missing resources. (see below)
However this might have unwanted side effects, and I haven't thought
about it enough to know what the correct solution will look like.
Wim Oudshoorn.
diff --git a/src/control-flow/call-answer.lisp b/src/control-flow/call-answer.lisp
index ecc6523..a29d025 100644
--- a/src/control-flow/call-answer.lisp
+++ b/src/control-flow/call-answer.lisp
@@ -125,6 +125,7 @@ for styling purposes."
(lambda (new-callee)
(lambda (&rest args)
(declare (ignore args))
+ (setf (remaining-tokens *uri-tokens*) nil)
(with-html
(:div :class "modal"
(:h1 (:span (str title)))