[jira] [Commented] (MYFACES-4629) Manual AJAX request does not process TabView correctly

2023-11-07 Thread Thomas Andraschko (Jira)


[ 
https://issues.apache.org/jira/browse/MYFACES-4629?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17783682#comment-17783682
 ] 

Thomas Andraschko commented on MYFACES-4629:


also added a small test for it, that its only processed once

> Manual AJAX request does not process TabView correctly
> --
>
> Key: MYFACES-4629
> URL: https://issues.apache.org/jira/browse/MYFACES-4629
> Project: MyFaces Core
>  Issue Type: Bug
>  Components: General
>Affects Versions: 4.0.0, 4.0.1
>Reporter: Manuel K
>Priority: Major
> Attachments: pf-tabview.zip
>
>
> When manually calling PrimeFaces.ajax.Request.handle the validationFailed 
> argument is not sent to the client.
> For more details and a reproducer please see 
> https://github.com/orgs/primefaces/discussions/123



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (MYFACES-4629) Manual AJAX request does not process TabView correctly

2023-11-07 Thread Manuel K (Jira)


[ 
https://issues.apache.org/jira/browse/MYFACES-4629?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17783652#comment-17783652
 ] 

Manuel K commented on MYFACES-4629:
---

@[~tandraschko] 

Wow, thank you for the thourough and great analysis! Not only that, but also 
thank you very much for finding a solution to our root problem (skipChildren: 
false). I'm sorry that it was a false alarm and MyFaces did everything 
correctly while Mojarra did not.

> Manual AJAX request does not process TabView correctly
> --
>
> Key: MYFACES-4629
> URL: https://issues.apache.org/jira/browse/MYFACES-4629
> Project: MyFaces Core
>  Issue Type: Bug
>  Components: General
>Affects Versions: 4.0.0, 4.0.1
>Reporter: Manuel K
>Priority: Major
> Attachments: pf-tabview.zip
>
>
> When manually calling PrimeFaces.ajax.Request.handle the validationFailed 
> argument is not sent to the client.
> For more details and a reproducer please see 
> https://github.com/orgs/primefaces/discussions/123



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (MYFACES-4629) Manual AJAX request does not process TabView correctly

2023-11-07 Thread Thomas Andraschko (Jira)


[ 
https://issues.apache.org/jira/browse/MYFACES-4629?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17783623#comment-17783623
 ] 

Thomas Andraschko commented on MYFACES-4629:


even by design in PrimeFaces, see: 
https://github.com/primefaces/primefaces/issues/10958

> Manual AJAX request does not process TabView correctly
> --
>
> Key: MYFACES-4629
> URL: https://issues.apache.org/jira/browse/MYFACES-4629
> Project: MyFaces Core
>  Issue Type: Bug
>  Components: General
>Affects Versions: 4.0.0, 4.0.1
>Reporter: Manuel K
>Priority: Major
> Attachments: pf-tabview.zip
>
>
> When manually calling PrimeFaces.ajax.Request.handle the validationFailed 
> argument is not sent to the client.
> For more details and a reproducer please see 
> https://github.com/orgs/primefaces/discussions/123



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (MYFACES-4629) Manual AJAX request does not process TabView correctly

2023-11-07 Thread Thomas Andraschko (Jira)


[ 
https://issues.apache.org/jira/browse/MYFACES-4629?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17783619#comment-17783619
 ] 

Thomas Andraschko commented on MYFACES-4629:


What happens is that MyFaces always processes AJAX source and execute id's, 
which is tested above
Mojarra only processes the AJAX execute

our behavior is documented here: 
https://github.com/apache/myfaces/blob/816d4ae3b3d677752a33569231507a0cd7130c6b/impl/src/main/java/org/apache/myfaces/context/servlet/PartialViewContextImpl.java#L220
the second hint is here: 
https://github.com/apache/myfaces/blob/816d4ae3b3d677752a33569231507a0cd7130c6b/impl/src/main/java/org/apache/myfaces/context/servlet/PartialViewContextImpl.java#L732

so what happens in MF internally:
- we process `form`
- we know that the second id is a child of `form`, so we ignore it
- we rely on it that form process its childs

and here we go: PrimeFaces UITabPanel skips its children

i think the MyFaces behavior is good and we need to check if we can fix it in 
PF or not


> Manual AJAX request does not process TabView correctly
> --
>
> Key: MYFACES-4629
> URL: https://issues.apache.org/jira/browse/MYFACES-4629
> Project: MyFaces Core
>  Issue Type: Bug
>  Components: General
>Affects Versions: 4.0.0, 4.0.1
>Reporter: Manuel K
>Priority: Major
> Attachments: pf-tabview.zip
>
>
> When manually calling PrimeFaces.ajax.Request.handle the validationFailed 
> argument is not sent to the client.
> For more details and a reproducer please see 
> https://github.com/orgs/primefaces/discussions/123



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (MYFACES-4629) Manual AJAX request does not process TabView correctly

2023-11-07 Thread Thomas Andraschko (Jira)


[ 
https://issues.apache.org/jira/browse/MYFACES-4629?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17783613#comment-17783613
 ] 

Thomas Andraschko commented on MYFACES-4629:


ok, i dont know if its a bug or not but this testcase show the issue:

```java
@Test
public void test() {

ArrayList clientIds = new ArrayList<>();
clientIds.add("form:input");
clientIds.add("form");

PartialVisitContext visitContext = new 
PartialVisitContext(facesContext, clientIds,
EnumSet.of(VisitHint.EXECUTE_LIFECYCLE, 
VisitHint.SKIP_UNRENDERED));

UIViewRoot viewRoot = new UIViewRoot();

HtmlForm form = new HtmlForm();
form.setId("form");
viewRoot.getChildren().add(form);

HtmlInputText inputText = new HtmlInputText();
inputText.setId("input");
form.getChildren().add(inputText);

final List visitedComponents = new ArrayList<>();

viewRoot.visitTree(visitContext, (VisitContext context, UIComponent 
target) -> {
visitedComponents.add(target);

// Same as PhaseAwareVisitCallback:
// Return VisitResult.REJECT as processDecodes/Validators/Updates 
already traverse sub tree
return VisitResult.REJECT;
});

// 1 or 2 visitedComponents?
}
```

> Manual AJAX request does not process TabView correctly
> --
>
> Key: MYFACES-4629
> URL: https://issues.apache.org/jira/browse/MYFACES-4629
> Project: MyFaces Core
>  Issue Type: Bug
>  Components: General
>Affects Versions: 4.0.0, 4.0.1
>Reporter: Manuel K
>Priority: Major
> Attachments: pf-tabview.zip
>
>
> When manually calling PrimeFaces.ajax.Request.handle the validationFailed 
> argument is not sent to the client.
> For more details and a reproducer please see 
> https://github.com/orgs/primefaces/discussions/123



--
This message was sent by Atlassian Jira
(v8.20.10#820010)