X-CGP-ClamAV-Result: CLEAN X-VirusScanner: Niversoft's CGPClamav Helper v1.25a (ClamAV 0.103.11/27163) X-Junk-Score: 0 [] X-KAS-Score: 0 [] Return-Path: Received: from mail01.rucotec.ch ([65.21.159.64] verified) by post.selbstdenker.com (CommuniGate Pro SMTP 6.3.18) with ESMTPS id 31931531 for webobjects-dev@wocommunity.org; Tue, 23 Jan 2024 17:38:07 +0100 Received-SPF: pass receiver=post.selbstdenker.com; client-ip=65.21.159.64; envelope-from=markus.ruggiero@rucotec.ch Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 1AD985FC0B for ; Tue, 23 Jan 2024 17:37:55 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rucotec.ch; s=dkim; t=1706027876; h=from:subject:date:message-id:to:mime-version:content-type; bh=J2TDJb2FUm1bVybB4wBtS0XuLvi7reYvnW6+ENaFqp4=; b=O0YEYjE0E/k++lyiQkDpt+Oae303HjSvguGCGjCVWROit5A7RmWgbc9kTDIHDN48ZL9xoi IPSDhoROn/Zx3uZ72u24GzZ3HUGUbt7eDXpgOG3K1rbUFQeQMTa68dW06qB9Sc/pe5r2c2 k+UhxCrvHNjfSGINbVPhyL35sIvNn1b/gyyznAoHIbzTd12SkT+4mT7nDPJOYKf3ZQD98C mF+HXpauRyQ18YHyIP+ZzPMkW9g+DvSd4nz9JDLCWGukSB1TpaLSpovJwcZAwKa/vsXosb 4FSfpHubOFANhEgl9WJEZcjZeoD2XIAGw3pemxU1d9D3Qw8EgbuykaNde9gJ1g== From: "Markus Ruggiero (rucotec)" Content-Type: multipart/signed; boundary="Apple-Mail=_53A89A66-0031-48EC-AD9F-1505F2747397"; protocol="application/pkcs7-signature"; micalg=sha-256 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.400.31\)) Subject: Problems with chaining AjaxModalDialogs (opening a modal dialog from within a modal dialog) Message-Id: <950D6E2B-2DB2-45F5-B7CC-21544C6D6665@rucotec.ch> Date: Tue, 23 Jan 2024 17:37:50 +0100 To: WebObjects & WOnder Development X-Mailer: Apple Mail (2.3774.400.31) X-Last-TLS-Session-Version: TLSv1.2 --Apple-Mail=_53A89A66-0031-48EC-AD9F-1505F2747397 Content-Type: multipart/alternative; boundary="Apple-Mail=_6D0981BB-2C5E-4180-AAAB-3E3D12CB9EBE" --Apple-Mail=_6D0981BB-2C5E-4180-AAAB-3E3D12CB9EBE Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 My question is how can I have a modal dialog on a page containing a link = to open yet another modal dialog for gathering and submitting data.=20 On a page there is a nice AjaxModalDialog working fine. Inside this modal dialog I have just display stuff, some navigation = links, and one AjaxModalDialogOpener. Idea is that the at some point the user clicks and gets the first = display dialog with the nav links. All navigation actions on this dialog = use redirects to transfer control to another page, but one particular = action does not warrant its own full page. Thus I want to show a second = AjaxModalDialog for the user to enter some data. Inside this second = dialog there are some WOStrings, one WOText and an OK and a Cancel = button (WOSubmitButton). The WOText and the WOSubmitButtons are properly = embedded inside a WOForm. The dialog code itself resides outside of any = form on the main page component (no nesting). In any case after Ok or = Cancel the second modal dialog should be closed and the user returned to = the base page (that means also the first dialog with the navigation = links is closed and gone). Without action binding on the AjaxModelDialogOpener for the second = dialog I do get the second dialog but it is shown in a position in the = browser window relative to the first dialog overlaying it from its top = left corner and extending downwards and to the right (the second dialog = is larger than the first one). This looks ugly. Adding an action binding to the dialog opener for the second dialog with = only the following 2 lines of Java code public WOComponent openCommentsDialog() { AjaxModalDialog.close(context()); AjaxModalDialog.open(context(), "commentsID"); return null; } ...does weird things. The outer dialog is closed then the second dialog = is opened. Ok so far, looks good, dialog is properly placed. Getters for = the WOStrings are triggered and data is displayed. However there is no = form submission when the submit button is clicked. The dialog is closed, = the underlying first dialog is also gone but no data is sent and the = save() method bound to the submit button is not triggered. It looks like = the submit request is sent but goes into some kind of nirvana. Without this action method on the opener the data IS properly submitted = but the layout, man that=E2=80=99s ugly (see above) What can I do? Why is the submit request getting lost? ---markus--- --Apple-Mail=_6D0981BB-2C5E-4180-AAAB-3E3D12CB9EBE Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8
<tl;dr>
My question is how can I have a modal dialog on a page = containing a link to open yet another modal dialog for gathering and = submitting data. 

<long = version>

On a page there is a nice = AjaxModalDialog working fine.
Inside this modal dialog I have = just display stuff, some navigation links, and one = AjaxModalDialogOpener.

Idea is that the at some = point the user clicks and gets the first display dialog with the nav = links. All navigation actions on this dialog use redirects to transfer = control to another page, but one particular action does not warrant its = own full page. Thus I want to show a second AjaxModalDialog for the user = to enter some data. Inside this second dialog there are some WOStrings, = one WOText and an OK and a Cancel button (WOSubmitButton). The WOText = and the WOSubmitButtons are properly embedded inside a WOForm. The = dialog code itself resides outside of any form on the main page = component (no nesting). In any case after Ok or Cancel the second modal = dialog should be closed and the user returned to the base page (that = means also the first dialog with the navigation links is closed and = gone).

Without action binding on the = AjaxModelDialogOpener for the second dialog I do get the second dialog = but it is shown in a position in the browser window relative to the = first dialog overlaying it from its top left corner and extending = downwards and to the right (the second dialog is larger than the first = one). This looks ugly.

Adding an action binding = to the dialog opener for the second dialog with only the following 2 = lines of Java code

public WOComponent = openCommentsDialog() {

= AjaxModalDialog.close(context());

AjaxModalDialog.open(context(), = "commentsID");

return null;

}


...does weird = things. The outer dialog is closed then the second dialog is opened. Ok = so far, looks good, dialog is properly placed. Getters for the WOStrings = are triggered and data is displayed. However there is no form submission = when the submit button is clicked. The dialog is closed, the underlying = first dialog is also gone but no data is sent and the save() method = bound to the submit button is not triggered. It looks like the submit = request is sent but goes into some kind of = nirvana.

Without this action method on the opener the = data IS properly submitted but the layout, man that=E2=80=99s ugly (see = above)

What can I do? Why is the submit request = getting = lost?

---markus---


<= /div>

= --Apple-Mail=_6D0981BB-2C5E-4180-AAAB-3E3D12CB9EBE-- --Apple-Mail=_53A89A66-0031-48EC-AD9F-1505F2747397 Content-Disposition: attachment; filename=smime.p7s Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCCzow ggUiMIIECqADAgECAhEA+bJBRVU88Wt+/tk032YQpDANBgkqhkiG9w0BAQsFADCBljELMAkGA1UE BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQTAeFw0yMjA1MTQwMDAwMDBaFw0yNTA1MTMyMzU5 NTlaMCsxKTAnBgkqhkiG9w0BCQEWGm1hcmt1cy5ydWdnaWVyb0BydWNvdGVjLmNoMIIBIjANBgkq hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmyWv+KHiux3seusiaMG6GkTnzpAtZAQoNEuUSF/NCltV 8vC5c5mSp3S9nwQwd9vsncR35LsmXWCxDFE/EsOPr8q/ulmuN2DFxar17CoQzR2WkOJ4hn60FjuS gXuQMW2UsdRBajEqaMtmPKmFV3KN4wLi9fQLzve5Psykv+da4TUI5QB1y/1d1F00co+k5Xq16xXG Mq2kBLRpo3+ykiLJHKx/1YVTDhhrT72jkcGcc6GjUINbtqV0Z84m3PC26eOUoSGIqKSOls8GnmQY AA/al1OPBI5AjCh+sxq9MCNtTs4EJW4+sMmZE4CRY/60odb++HxdsRuAwYdqfg5fjHPqvQIDAQAB o4IB0zCCAc8wHwYDVR0jBBgwFoAUCcDy/AvalNtf/ivfqJlCz8ngrQAwHQYDVR0OBBYEFNt3xL6+ uF93aKx7OyZ+5X0tJkOiMA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQG CCsGAQUFBwMEBggrBgEFBQcDAjBABgNVHSAEOTA3MDUGDCsGAQQBsjEBAgEBATAlMCMGCCsGAQUF BwIBFhdodHRwczovL3NlY3RpZ28uY29tL0NQUzBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3Js LnNlY3RpZ28uY29tL1NlY3RpZ29SU0FDbGllbnRBdXRoZW50aWNhdGlvbmFuZFNlY3VyZUVtYWls Q0EuY3JsMIGKBggrBgEFBQcBAQR+MHwwVQYIKwYBBQUHMAKGSWh0dHA6Ly9jcnQuc2VjdGlnby5j b20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcnQwIwYI KwYBBQUHMAGGF2h0dHA6Ly9vY3NwLnNlY3RpZ28uY29tMCUGA1UdEQQeMByBGm1hcmt1cy5ydWdn aWVyb0BydWNvdGVjLmNoMA0GCSqGSIb3DQEBCwUAA4IBAQBbChLqbBr/EGVvqY3JhZltmRwUBagV XqgrWDgMk3xqkXlPVBucGuRq/wg2sCZBUVQFDXoIiyFrCjQy5A80F3fJ+H/dr8M4KT5hMrPSrsj9 dTQP9T7MnluDRuhma5+x9vSvMIttSD1EhkHJsSvGw0BH2BOrUsqQJP5k2bEa9j8faLZaJRUbQG0G zpZnLUrRbhnndW5OEdKa+F5x9lkWM/Lj0eiEdkYoJJPnD/JF3uqAn12U3FZI4yv+K6IxA9M0kn/M Vxm0AVEdYDsgIkbBI+BhS1QWsOxC4utrY3A2nfLtY0RrbcR7g8B4N/QbD657Wrb7i45485+yYZon cp6nqFwyMIIGEDCCA/igAwIBAgIQTZQsENQ74JQJxYEtOisGTzANBgkqhkiG9w0BAQwFADCBiDEL MAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4w HAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy dGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTgxMTAyMDAwMDAwWhcNMzAxMjMxMjM1OTU5WjCBljEL MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9y ZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQg QXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBAMo87ZQKQf/e+Ua56NY75tqSvysQTqoavIK9viYcKSoq0s2cUIE/bZQu85eoZ9X1 40qOTKl1HyLTJbazGl6nBEibivHbSuejQkq6uIgymiqvTcTlxZql19szfBxxo0Nm9l79L9S+TZNT EDygNfcXlkHKRhBhVFHdJDfqB6Mfi/Wlda43zYgo92yZOpCWjj2mz4tudN55/yE1+XvFnz5xsOFb me/SoY9WAa39uJORHtbC0x7C7aYivToxuIkEQXaumf05Vcf4RgHs+Yd+mwSTManRy6XcCFJE6k/L Ht3ndD3sA3If/JBz6OX2ZebtQdHnKav7Azf+bAhudg7PkFOTuRMCAwEAAaOCAWQwggFgMB8GA1Ud IwQYMBaAFFN5v1qqK0rPVIDh2JvAnfKyA2bLMB0GA1UdDgQWBBQJwPL8C9qU21/+K9+omULPyeCt ADAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHSUEFjAUBggrBgEFBQcD AgYIKwYBBQUHAwQwEQYDVR0gBAowCDAGBgRVHSAAMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9j cmwudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDB2 BggrBgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNlcnRydXN0LmNvbS9VU0VS VHJ1c3RSU0FBZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZaHR0cDovL29jc3AudXNlcnRydXN0 LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAQUR1AKs5whX13o6VbTJxaIwA3RfXehwQOJDI47G9FzGR 87bjgrShfsbMIYdhqpFuSUKzPM1ZVPgNlT+9istp5UQNRsJiD4KLu+E2f102qxxvM3TEoGg65FWM 89YN5yFTvSB5PelcLGnCLwRfCX6iLPvGlh9j30lKzcT+mLO1NLGWMeK1w+vnKhav2VuQVHwpTf64 ZNnXUF8p+5JJpGtkUG/XfdJ5jR3YCq8H0OPZkNoVkDQ5CSSF8Co2AOlVEf32VBXglIrHQ3v9AAS0 yPo4Xl1FdXqGFe5TcDQSqXh3TbjugGnG+d9yZX3lB8bwc/Tn2FlIl7tPbDAL4jNdUNA7jGee+tAn TtlZ6bFz+CsWmCIb6j6lDFqkXVsp+3KyLTZGXq6F2nnBtN4t5jO3ZIj2gpIKHAYNBAWLG2Q2fG7B t2tPC8BLC9WIM90gbMhAmtMGquITn/2fORdsNmaV3z/sPKuIn8DvdEhmWVfh0fyYeqxGlTw0Rfwh BlakdYYrkDmdWC+XszE19GUi8K8plBNKcIvyg2omAdebrMIHiAHAOiczxX/aS5ABRVrNUDcjfvp4 hYbDOO6qHcfzy/uY0fO5ssebmHQREJJA3PpSgdVnLernF6pthJrGkNDPeUI05svqw1o5A2HcNzLO pklhNwZ+4uWYLcAi14ACHuVvJsmzNicxggPHMIIDwwIBATCBrDCBljELMAkGA1UEBhMCR0IxGzAZ BgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2Vj dGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVudGljYXRpb24g YW5kIFNlY3VyZSBFbWFpbCBDQQIRAPmyQUVVPPFrfv7ZNN9mEKQwDQYJYIZIAWUDBAIBBQCgggHr MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI0MDEyMzE2Mzc1MVow LwYJKoZIhvcNAQkEMSIEIOanJWc2rpWtecQnaMcabCdpE6NKgtrqdC0FK/R5DGwIMIG9BgkrBgEE AYI3EAQxga8wgawwgZYxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIx EDAOBgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDE+MDwGA1UEAxM1U2Vj dGlnbyBSU0EgQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBTZWN1cmUgRW1haWwgQ0ECEQD5skFF VTzxa37+2TTfZhCkMIG/BgsqhkiG9w0BCRACCzGBr6CBrDCBljELMAkGA1UEBhMCR0IxGzAZBgNV BAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGln byBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVudGljYXRpb24gYW5k IFNlY3VyZSBFbWFpbCBDQQIRAPmyQUVVPPFrfv7ZNN9mEKQwDQYJKoZIhvcNAQELBQAEggEAYzbI /49QBmcyqD3mAs1y0Gv31UqyctVUZki0d8aIj1DUKJIwJWOAFItSFT7gWi4f9lB5KgefOd9e2W6H t93z5n4Lpq+m/51Kj1sKwHx5c5oVVQ1jAuM5uODMyqoiEVTOYGHhSWVk7G7uDdweyvgAvekYKRZ8 M030JzArmGZy8vEQb1DoHibJooEj5bHZ3WyvVDclsUVueQAcp7hCgoHp/CHI3dn+IEjZJZeuktth ix7LOHp5Cr+rUOY/TvftACX6/WGzGamzSlj0r64aWjjGz7uor3A5aH5QpMXp1Cp+G9rRRtI2wp67 e2Iq21dnd7Z2AaLrFGir5oLMrA+ctM4JNAAAAAAAAA== --Apple-Mail=_53A89A66-0031-48EC-AD9F-1505F2747397--