Comments (7)
You can achieve this by explicitly declaring the desired script resources in the desired order with target="head" whereby you disable the RichFaces one with rendered="false".
E.g.
<h:outputScript library="yourapp" name="jquery2.js" target="head" />
<h:outputScript name="jquery.js" target="head" rendered="false" />
<h:outputScript library="yourapp" name="jquery-migrate.js" target="head" />
Give it a try.
from omnifaces.
Thanks for your reply. However, I'm not quite sure I follow....
This is what I tried:
<!-- my jQuery 2.x library must come first -->
<h:outputScript library="js/extras/jquery" name="jquery-2.1.1.js" target="head" />
<!-- jquery.js (richfaces) maps to 'migrate plugin' which is defined in static-resource-mappings.properties -->
<h:outputScript library="js/extras/jquery" name="jquery-migrate-1.2.1.js" target="head" rendered="false" />
<!-- Richfaces auto inserted stuff -->
<h:outputScript name="richfaces.js" target="head" rendered="false" />
<h:outputScript name="richfaces-queue.js" target="head" rendered="false" />
<h:outputScript name="richfaces-base-component.js" target="head" rendered="false" />
<h:outputScript name="jquery.position.js" target="head" rendered="false" />
<h:outputScript name="richfaces-event.js" target="head" rendered="false" />
<h:outputScript name="richfaces-utils.js" target="head" rendered="false" />
<h:outputScript name="richfaces-selection.js" target="head" rendered="false" />
<h:outputScript library="org.richfaces" name="inputBase.js" target="head" rendered="false" />
<h:outputScript library="org.richfaces" name="popup.js" target="head" rendered="false" />
<h:outputScript library="org.richfaces" name="list.js" target="head" rendered="false" />
<h:outputScript library="org.richfaces" name="popupList.js" target="head" rendered="false" />
<h:outputScript library="org.richfaces" name="select.js" target="head" rendered="false" />
I got a console error:
java.lang.UnsupportedOperationException
at org.richfaces.resource.external.ExternalStaticResource.getURL(ExternalStaticResource.java:91)
at org.omnifaces.resourcehandler.CombinedResourceInfo.loadResources(CombinedResourceInfo.java:189)
at org.omnifaces.resourcehandler.CombinedResourceInfo.getLastModified(CombinedResourceInfo.java:270)
at org.omnifaces.resourcehandler.CombinedResource.getRequestPath(CombinedResource.java:82)
at org.apache.myfaces.renderkit.html.HtmlScriptRenderer.encodeEnd(HtmlScriptRenderer.java:273)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:665)
at javax.faces.component.UIComponentBase.encodeAll(UIComponentBase.java:545)
at org.apache.myfaces.custom.document.DocumentHeadRenderer.writeBeforeEnd(DocumentHeadRenderer.java:72)
at org.apache.myfaces.custom.document.AbstractDocumentRenderer.closeTag(AbstractDocumentRenderer.java:70)
at org.apache.myfaces.custom.document.AbstractDocumentRenderer.encodeEnd(AbstractDocumentRenderer.java:83)
from omnifaces.
I managed to get it running without an error by just adding one RF resource:
<h:outputScript library="js/extras/jquery" name="jquery-2.1.1.js" target="head" />
<h:outputScript name="richfaces.js" target="head" rendered="false" />
However, the order remains completely unaffected.
from omnifaces.
Is it possible to have all auto inserted JS / CSS files combined at the end? After all, without the target="head" attribute in my custom JS files, this would be the case (i.e they would inserted first).
from omnifaces.
bump :)
from omnifaces.
OmniFaces 2.0 contained some fixes wrt RichFaces 4.5 resources as per #63.
Can you retry?
from omnifaces.
Can't reproduce with OmniFaces 2.1 SNAPSHOT + RichFaces 4.5.2 + MyFaces 2.2.6 (2.2.7 didn't work, it threw IOOBE at FacesConfigurator#getLastMofidiedTime() on every request).
Closing off as no-repro. Feel free to open new one if you still stumble upon this problem with mentioned versions or newer.
from omnifaces.
Related Issues (20)
- NullPointerException: Deflater has been closed only with GzipResponseFilter HOT 4
- Suggestion: Add loader attribute to importFunctions and importConstants HOT 2
- Reset component subtree state HOT 3
- OmniViewHandler: posible error with tomcat 9.0.80 and unloadView HOT 6
- Feature request: Faces.isAuthenticated
- Postconstruct on viewscoped bean is called multiple times HOT 7
- 'Unknown channel: undefined' thrown when connection to web socket is lost. (Push js module badly migrated to TypeScript) HOT 1
- Detect duplicate HTML or BODY elements HOT 4
- `o:validateBean`: `showMessageFor="@violating"` handles only one input component HOT 8
- validator not equal HOT 1
- Incompatibility with MyFaces 4 and CDI HOT 10
- validateUnique - keep specified field valid regardless of input HOT 5
- Components disableInputComponent ... or propose a change to Faces API ? HOT 7
- ValidateMultiple: is it correct to invalidate unrendered fields? HOT 4
- PWAResourceHandler is not aware of VersionedResourceHandler HOT 5
- omnifaces ViewScoped bean not injectable in converter HOT 3
- Faces/FacesLocal: createComponent shortcut HOT 3
- Missing list attribute in converter tag HOT 1
- FullAjaxExceptionHandler => OmniExceptionHandler HOT 20
- Question: A lot of AtomicReference in heapdump HOT 19
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from omnifaces.