Rendering a extended datatable on selection change of another extended datatable - jsf-2

Q1 :I'm trying to render a rich:extendedDataTable(say Table-B) on 'selectionchange' event of another rich:extendedDatatable(say Table-A). The rendering part is fine. But the style class 'rf-edt-r-sel'(which is used to highlight a selected row) is not removed from the original row in Table-A (where the ajax request was triggered ),even after selecting a different row in Table-A.
Also, This problem is not reproduced when the list associated for Table-B is null in the Managed bean. What should be done to solve this issue?
Q2: When Table-B is rendered with a not-null list, I perform a row selection on Table-B which triggers an Ajax call to the Managed Bean. But after the completion of the ajax request,I'm not able to trigger ajax calls from Table-A on its row selection. What is the problem here ?

There was a problem with the rich faces jar. I was earlier using rich faces 4.0 jars. I replaced all rich faces jars with rich faces 4.3.4 jars. The tables work fine now.

Related

Disable adding xform-visited for specific element

Is it possible to unbind event for adding xforms-visited class to specific element of form?
I have one collapsible section (initially closed) with only one paragraph and I need it to remain closed after validation, but it gets xforms-visited and fr-section-open classes if something on form doesn't pass validation. Maybe it could be also related to binding opening sections if data on form is invalid.
FYI - I'm using Orbeon 2016.3 version
Orbeon Forms 2018.1 and newer only expands sections that contains errors. This is done with the new expand-invalid action.
Until Orbeon Forms 2017.2, all the sections expand when an error is encountered.

Long list of panelGroup from ui:repeat. How to best insert another panelGroup?

Basically ui:repeat produces a long list of divs. I would like to use something similar to jquery append() and ajax so that the entire list is not rerendered.
Basically like this:
Customer demand: CTRL + F must work so I cant lazy very well.
Render huge list as divs with panelGroup. Pay close attention to generated html because of the huge amount of data...
Get websocket call something changed and you need a new element after hugelistForm:div982. Basically jquery append would be great but not sure how to integrate it.
This will cause the List backing the ui:repeat and the view to become disconnected. However the list is updated in the "background" so F5 would make things normal...
I use latest versions of JSF, Primefaces, Omnifaces.

making unobtrusive validation work when using Select2 ASP.NET MVC

Select boxes converted to Select2, do not automatically integrate with unobtrusive validation mechanism in ASP.NET MVC framework.
For example, on a form which contains a regular select box (marked as required in model definition), submitting the form while no options have been selected in the select box, will cause the border and background of the select box to take a reddish color, and by using #Html.ValidationMessageFor, error messages, if any, can be displayed beside the box. However if the select box is converted to a Select2 component, then none of the mentioned features work any more. Even the validation error message will not show up.
It seems that the reason for even the validation error message not showing, is because Select2 changes the display CSS property of the original select box to none (display:none), and I guess the unobtrusive validation script does not bother generating error messages for invisible fields.
Any ideas / solutions?
This issue isn't really specific to Select2, but rather to the jQuery unobtrusive validator.
You can turn on validation for hidden fields as highlighted in this answer.
$.validator.setDefaults({
ignore: ''
});
As the comments noted, it didn't work inside an anonymous callback function within $(document).ready(). I had to put it at the top level.
I've run into similar issues with the select2 plugin. I don't know exactly which features you're using specifically, but in my experience, when you set an element as a select2 in the document.ready event, the plugin will change some of the element's attributes on the fly (inspect one of the elements after your page has finished loading - oftentimes you'll see the id and class properties are different than what you're seeing when you view source).
It's difficult to offer more without actually seeing the code, but here's a few ideas to get you started:
First off, obviously make sure you have the a link to your select2.css stylesheet in the header.
Then, since you're talking about form submissions, I'd recommend you examine whether or not you're getting a full postback or submitting via AJAX (if you're using jQueryMobile, you're using AJAX unless you override it in the jquerymobile.js file or set a data-ajax="false" in your form attributes). You can just look at the value returned by Request.IsAjaxRequest() for this. Obviously if you're submitting via ajax, you won't hit the document.ready event and the select2 won't initialize properly and you'd need to figure out a way around that. Try refreshing the page after the submit and see if it renders the select2 component.
Then I'd suggest examining the elements and see if they're not behaving like you'd expect because you're actually trying to work with classes that the plugin has reassigned at runtime. You can either just adjust your logic, or you can dig into the select2 code itself and change the behavior - it's actually fairly well-documented what the code is doing, and if you hop on the Google group for select2, Igor is usually pretty quick to follow up with questions.
like this
$('select').on('select2:select', function (evt){
$(this).blur();
});
$('body').on('change', 'select.m-select2', function () {
$(this).blur();
})

Struts2 create dropdown dymamically based on first dropdown value in Struts2 using hibernate

Hi I am using Struts2 and hibernate now in my jsp I have Two dropdown ,on selection of first drop it should call a function and retrive the values for second drop down from the database
Please help
Well you have number of options here and some of them are
user struts2-jquery plugin which comes with this feature where you can create two dependable select.
user simple jquery with JSON (struts2 plugin) and use ajax.
i will prefer second approach which is much more flexible.create a custom JS function with help from jquery and when use select first option from drop down call your action methods which will send JSON data based on the selected values and use JQuery build in JSON parsing mechanism to parse the content and fill second drop-down.
a simple Google search will give you a number of results.

Creating an Ajax.ActionLink using javascript

I have a Todo List (an ASP.MVC UserControl) that for each row has the name of the task (that can be clicked to toggle between done/outstanding) and a delete button for removing the task - Both are created using Ajax.ActionLink to query the server.
When creating a new row I need the task text and delete button to be ActionLinks, how would I do this from the client side? Is there an Ajax.ActionLink equivalent in the Microsoft Ajax JS libraries?
Take a look at the code that is being generated using View Source. All you need to do is add the same markup and add the correct click handler via javascript. You may find it actually easier to do this with jQuery for all elements and add the jQuery code in your UserControl. At least that way you control the code and if Microsoft decides to change the way their ActionLink works, you won't get caught short.

Resources