teamdev-archive / openfaces Goto Github PK
View Code? Open in Web Editor NEWOpenFaces JSF library
OpenFaces JSF library
[Michael Nemoy]
hi,
we have to calculate component size in some case, and sometimes, your code overrides the size.
do you have an option to throw an event after component size is recalculated?
you can see it in our environment :
open a contract , go to terms tab:
the scroll of the condition grid is hide. if you change the scroll position, the grid is rendering, and the scroll is shown.
please see attachment.
Adrian Buciuman
Environment: Windows 7 + IE8, openfaces nightly build 3.1.EA1.868, mojarra 2.1.2
The pagination in data table works good if you browse up/down from page to page. In the situation when you enter the page number in the page selection box and hit enter, instead of doing an ajax call, the whole page is submitted to the server. This causes other button listeners on the page to be called and not the one that, actually, submitted the page.
sdfasdf
[Nicholas Oxhøj] In IE8, the DataTable column resizing functionality doesn't receive mouse-up events outside the browser window. If you therefore release the mouse button outside the browser window, then enter the window again, the column separator is till "following" the mouse. If you then click the column separator again, to stop the resizing/dragging operation, you get a script error from util.js: '_draggingWasStarted' is null or not an object.
This problem can be exhibited by going to the DataTable demo: http://www.openfaces.org/demo/datatable/DataTable_general.jsf
Size the browser window, so it is not full screen.
click and hold the mouse button on one of the column separators to start dragging.
Move the mouse cursor outside the browser window and release the mouse button.
Move the mouse cursor inside the browser window again. The column separator will keep following the mouse cursor.
Click (and release) the column separator and you should get the script error.
As mentioned, the problem is that the document doesn't receive the mouse-up event outside the browser window and the drag operation is therefore not ended when the button is released.
When you then click the column separator again, to try and stop the dragging, you actually start a second drag operation. And when you release the mouse button, the "onmouseup" event listener is fired twiced, once for each drag operation. First time it will set O$._draggedElement to "null" which then causes the script error when the event listener is fired the second time...
I have tried to fix this by using the IE specific setCapture()/releaseCapture() functionality to receive the "onmouseup" event, even when the cursoris outside the browser window.
Just for good measure I also added a check to ensure that we do not start a new drag operation as long as we are already dragging.
I hope this fix will also work for other draggable elements, but I haven't tested this...
Geoff Groskreutz
Receive an Access denied script error when changing tabs when using an IE browser in IE8 or lower standards mode (including IE5 quirks mode).
location: webapp/faces/javax.faces.resource/util/util.js?ln=openfaces&ofver=3.1.EA1.c1_aug2012_43
SCRIPT70: Permission denied
util.js, line 3226 character 7
This occurs when using other components as well, but my current case is when the user switches tabs.
<o:tabSet id="cohortlist_tabs" value="#{cohortBean.cohortTab}" styleClass="TabSet" tabClass="TabItem" rolloverTabClass="TabItemRollover" selectedTabClass="TabItemSelected">
<o:tabSetItem itemValue="Public">Public</o:tabSetItem>
<o:tabSetItem itemValue="Private">Private</o:tabSetItem>
<o:ajax event="change" render=":cohort_form:cohortlist_table :cohort_form:pnlMessages"></o:ajax>
</o:tabSet>
I am using the latest nightly build, as shown below, at least thats the one referenced on the Nightly build download page. And using Mojarra 2.1.22 on Tomact 7.0.42, it is also a problem with Mojarra 2.1.11, 2.1.14, 2.1.22 and 2.1.24
The code link below, shows that when running in IE8 Standards (this is max support for IE8 browsers of course) or below, or IE5 Quirks mode, IE is throwing an Access Denied exception when retrieving the style attribute of the current css rule. I am not sure why IE8 prevents this, it occurs both when used in a Iframe or when this page has its own window. When running IE9 Standards mode or higher, then you do not receive this script error, and the page renders just fine. A short term fix would be just to trap any exceptions in the script around this usage, and just ignore it, and continue on, and assume that the style is null, and make a check for that in further usage of it. That way it will not cause any further scripts to fail, but it will just skip whatever styling it was suppose to do, because it couldn't get access to it.
var ruleStyle = cssRule.style;
If we use open faces command button and specify the 'action' attribute and 'render' attribute - then in inspect element you see:
onclick="O$.Ajax._reload(,"_action":..."
and that is correct.
BUT
if you specify only the 'action' attribute and NOT 'render' attribute then the button is type of submit but not with 'ajax' implementation.
Then when clicking on this button all is stuck and sometime the session is closed.
I think it's a bug.
Please let me know if there is any idea behind this behavior.
Thank you.
Michael Nemoy
In dataTable try to arrange the columns (for example - in Contract screen -> Groups grid - drag the Backer column and try to place it near Group Name column.)
Please see the attachment.
The columns cannot be easy arranged, using just one move.
Seems it happen just in dataTable with scrolling.
[Florian Jung]In the current SNAPSHOT the single file upload component does not consider the settings for
as in the component's renderer class SingleFileUploadRenderer line 257-260 the events are named in an inconsistent manner.
When in the class renamed to
the component works as expected.
Sorry for not delivering a patch file as I have no glue which branch is the one the snapshots originate from.
Michael Nemoy
[error after add renewal alert.zip]
Choose an existing contract -> in General tab select a value for Renewal Alert date -> save -> go to Terms tab -> in Programs grid press on "+" button -> press on Program Name lookup -> Select Programs dialog is opened -> press on >> next page button -> error message appears.
Lauren Elkin
When attempting to add openfaces to a project using JSF 2.2, attempts to use the tag library do not work. The problem has to do with the namespace declaration in /META-INF/openfaces.taglib.xml, which appears to have a compatibility issue with the new version of Mojarra. Updating the namespace declaration from "http://openfaces.org/" to "http://openfaces.org/ui", then changing the xmlns references to reflect the update allowed openfaces to work normally.
Michael Nemoy
Enter an existing contract with a program/episodes assigned to group, above the runs grid click the Presets icon - in order to
select an amortization template: Open the DD list and mark any template from the middle of the list - after you click the apply of the first dialog - a wrong name (template) is selected . it takes about 3 trails on the DD list - to select the correct template .
also in sale contract with runs -> update origination field ->select contract list
(LC #277517)
Anna Maria
I have a popup layer with an input text in it. In order to display validation messages related to the input text I use a floatingIconMessage. The problem is that in case of error the error message is displayed ok but the error icon is hidden behind the popup. I tried to set the z-index style property of the floating icon but it seems that it is ignored. What should I do to get the icon displayed properly?
Nicholas Oxhøj I have run into a bug with <o:dropDownField> when being inside a component/region rerendered by RichFaces Ajax.
When such a page is viewed in newer Firefox browsers, the rerendered dropdown, doesn't get initialized correctly, e.g. the button doesn't show and you cannot open the dropdown with the keyboard either.
This bug is caused by some bugs in the two fixes that was made for my old related bug report: http://requests.openfaces.org/browse/OF-66
The first bug is in O$.removeRelocatedPopupIfExists:
O$.removeRelocatedPopupIfExists = function(popupId) {
var dapp = O$.getDefaultAbsolutePositionParent();
var potentialPopups = dapp.childNodes;
for (var i = 0, count = potentialPopups.length; i < count; i++) {
var potentialPopup = potentialPopups[i];
if (potentialPopup.id == popupId) {
dapp.removeChild(potentialPopup);
}
}
};
The problem is that potentialPopups is a "live" list, such that when you remove child nodes, they also disappear from potentialPopups, which is then shortened. But you have cached the length in the "count" variable, so that when you try to access the "count'th" element, "potentialPopup" will be undefined, "potentialPopup.id" will throw an error, and the rest of O$.DropDown._init() will never be executed...
To fix this, you could stop caching the length:
for (var i = 0; i < potentialPopups.length; i++) {
Or if you for some reason was worried about calling "potentialPopups.length" more than once, you could just run through it in the opposite direction:
for (var i = potentialPopups.length - 1 ; i >= 0; i--) {
But the above bug shouldn't be relevant in a new Firefox browser, since you only intend to relocate popups in Firefox 2 (and some cases of IE).But this happens because of the second bug introduced in the fix for OF-66.
The test in O$.DropDown._initPopup() looks like
if ((O$.isExplorer() && O$.isQuirksMode() && dropDown._popup.parentNode != container) ||
(O$.isMozillaFF2() && O$.isStrictMode())) {
(https://github.com/openfaces/OpenFaces/blob/cdde1153922583ce13003ce0eb5c175fd00c4554/openFaces/source/META-INF/resources/openfaces/input/dropdown.js#L465)
But O$.isMozillaFF2() now looks like
O$.isMozillaFF2 = function() {
return O$.isMozillaFF() && O$.userAgentContains("Firefox/2");
};
https://github.com/openfaces/OpenFaces/blob/12462a399f63b9efaa3907737fd0fe416a08cb94/openFaces/source/META-INF/resources/openfaces/util/util.js#L938
and since my Firefox is now version 23, the user agent string conatins "Firefox/23.0" and therefore O$.isMozillaFF2() returns true.
So you should probably at least do something like
navigator.userAgent.search(/Firefox\/2(\D|$)/i)
when matching for specific versions.
The Primary check box in the Suppliers grid is not read correct (false all the time)
Candace Bain
I have two slider components and need to ensure that the value of one is not greater than the value of the other. I added an onchange handler that uses getValue() and setValue() on the sliders to enforce this constraint.
Behavior: calling setValue() with a new value changes the value of the slider's textField but does not change the slider location.
Expected behavior: I would expect calling setValue() to update both the textField and the slider location.
I looked through slider's javascript and was able to work around this by calling redisplayHandle() on the slider after I call setValue() on it. It would be nice if setValue() called redisplayHandle(), or if not it would be nice if redisplayHandle() were documented. Thanks!
the user can insert any text value to <o:dateChooser> component
when try to save for example Output Deal error message appear to the date fields - "value must be a date".
As discussed before at https://groups.google.com/a/teamdev.com/forum/?fromgroups=#!topic/openfaces-forum/i3bmWnWm6yI I still encounter a problem with the datatable paginator.
Depending on the content of the datatable it works correctly or not.
I succeeded to narrow this down to small test application. Attached you find a zip file containing the project.
You'll have to adjust the 2 properties jsf.home and openfaces.home to your needs.
Then you can run ant to build and deploy.
Deployment goes to $JBOSS_HOME/standalone/deployments. For other environments this also has to be adjusted.
Within index.xhtml the columns c3 to c5 are the relevant ones to look at.
If all are commented out, everything works fine. The paginator works as it is expected.
When only c3 is enabled, you can paginate until the last page. But the page index and the navigation elements do not get updated.
When only c5 is enabled, the paginator works also, but the foldingPanel can no longer be folded or unfolded.
Column c4 is the one I have in my full app. Enabling only this column shows the combination of both problems.
And messages like this
17:43:53,093 WARNING [javax.enterprise.resource.webcontainer.jsf.application.view#saveDynamicActions] Unable to save dynamic action with clientId 'j_idt9:j_idt10:j_idt20:0:j_idt21--_defaultButtonsArea' because the UIComponent cannot be found
17:43:53,095 WARNING [javax.enterprise.resource.webcontainer.jsf.application.view#saveDynamicActions] Unable to save dynamic action with clientId 'j_idt9:j_idt10:j_idt20:0:j_idt21--_defaultButtonsArea--toggle' because the UIComponent cannot be found
when going from page 1 to 2
and
17:45:53,950 WARNING [javax.enterprise.resource.webcontainer.jsf.application.view#saveDynamicActions] Unable to save dynamic action with clientId 'j_idt9:j_idt10:0:j_idt20:0:j_id3' because the UIComponent cannot be found
for next page.
Payment Templates -> Create a new template -> Sort columns by 4-5 column headers -> Add payment line-> when trying to select an “Article”, the dropdown is opened only if you press many times on the field (and in different spots) -> after choosing one and saving, you can only see one or two letters from your option (for example you select: License – you will see only “L” )
in contractGeneral.js -> processJumpSelect() ->we ask the following: document.getElementById('runsGridData').setSelectedRowKeys(NumberRangeSeparation(paramsObj['runNumbers']));
but openfaces has bug in table.js
__setSelectedRowIndexes:function (rowIndexes) {
var bodyRows = table.__getRowCount(); -> instead of var bodyRows = table.body._getRows();
after that it's trying to do :
if (rowIndex < 0 || rowIndex >= bodyRows.length)
then it's failed in 'bodyRows.length'
I see there are some more such wrong places...
[Nicholas Oxhøj] I think you should add the possibility to add a "title" to both <o:column> and <o:cell>, which would be placed on the resulting .
Just like RichFaces has: http://docs.jboss.org/richfaces/latest_3_3_X/en/tlddoc/rich/column.html
Right now it is only possible to put tooltips on something inside the cell, but in a lot of cases (e.g. if the content is quite small) it would make much more sense to have the tooltip on the whole cell.
Go to a contract>general tab>Payments sub tab> open the due date window>do not maximize it> open a but not before/and not after window >maximize it>press on the arrow from any drop down menu in order to see the values>
Actual results: the drop down menus values are displayed in the wrong position
Expected results: the values should be displayed exactly in the drop down menu (see the correct behavior for the case when the first window is maximized).
Geoff Groskreutz
Invironment:Mojarra 2.1.2, 2.1.11, 2.1.22, 2.1.24; IE browsers in IE8 standards/IE5 quirks modes; Tomcat 7.0.42; OF build: 3.1.EA1.c1_aug2012_43
Uncaught SyntaxError: Unexpected identifier in dropDownField.js:43
\META-INF\resources\openfaces\input\dropDownField.js
This error prevents the drop down list from showing up when user clicks on the drop down arrow.
Looking at the line 43 in the above file, I noticed that there are some non-standard characters which are those that are not in the set [a-zA-Z0-9_] used in name of the inner function defined under the declaration of the function:
_copyClassesToItemPresentation:function ()
It appears that IE and FireFox can handle these special characters in the function name, but Chrome's default English install cannot (I have not tried other languages). It is more likely that this is a typo in the code, since I looked at both the compiled distribution and the source version of the nightly build, and they both have this issue. And the method name is all in standard Latin characters except 2 of the characters and they are next to each other.
If you are using h command button with f:ajax attribute inside tree table element. It's not possible to call render of this tree table. You are getting the following error:
java.lang.NullPointerException
at org.openfaces.component.table.TreeTable.getRowIndexByClientSuffix(TreeTable.java:170)
at org.openfaces.ajax.PartialViewContext.componentById(PartialViewContext.java:691)
at org.openfaces.ajax.PartialViewContext.findComponentByPath(PartialViewContext.java:645)
at org.openfaces.ajax.PartialViewContext.findComponentById(PartialViewContext.java:624)
at org.openfaces.ajax.PartialViewContext.findComponentById(PartialViewContext.java:605)
Select a value in the spinner and try to type somthing instead of it - it's not changing the selected value but concatenated to it
I think we already had this issues in the prev. branch because of the popup menus.
Can't clear date from DateChooser when use "none" button.
On existing purchase contract open the presets dialog above the runs grid, and then the DD list of amortization presets, the list cannot be
seen to its full size (under the border of the upper dialog) - unless you change its hight
it happens when the DD list has a lot of items in the list
Horizonal scrollbar is too long, when scrolling to the most right edge - a space is shown.
Go to Stock Report screen -> A scrollbar in the right appears -> Expand one of the four fields a new scollbar at the bottom appears
Expected result: No scrollbar should appear, it is not necessary
Actual result: Unnecessary scrollbars appear
Choose existing contract -> open Terms tab -> in Group grid Hide Description column from column menu -> narrow the Linked to template column -> Ajax error appears on the screen.
Michael Nemoy
New Contract Screen -> New Purchase Contract -> Fill mandatory fields -> Go to Terms tab -> Pres + in program tab -> In program addition press the lookup button -> Select programs window appears -> use the filter of program name or program id but Do not choose a program -> Press cancel in both windows-> then press + again.
Expected result: the program addition dialog window should open
Actual result: 2 windows pop up (program addition and select programs) and Contract screen is blocked.
We checked in your code popupLayer.js - for some reason the internal dialog popup._visibleField.value = "true" and then it is shown
(LC #277604)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.