Hi Jacques,
I have made a simple plugin
Which shows cascading select , using Geo Entity
Another one is for auto trigger which gets the sayDate service
Every 3 seconds.
Here is the link for the plugin repo.

https://github.com/OmarAbdullwahhab/ofbiz-htmx

I will add more example also with one fantastic thing
Which is called ( web components) that will be a very nice
And seamlessly fits the OFBiz way.
https://youtu.be/-USODEI-kgg


On Sun, Nov 3, 2024 at 11:19 AM Jacques Le Roux <
jacques.le.r...@les7arts.com> wrote:

> Thanks Omar,
>
> I'll have a look again...
>
> Jacques
>
> Le 01/11/2024 à 20:35, Omar Abdullwahhab a écrit :
> > Hi Jacques,
> > You are most welcome.
> > For the complex examples , I will prepare it through this week.
> > For the error you got it's really not clear,
> > But I think its may be related to @ symbole,
> > Try download htmx file instead of using the unpkg site.
> > And  include it with the theme js files as normal.
> >
> > Regards
> >
> >
> > On Fri, Nov 1, 2024 at 1:39 PM Jacques Le Roux <
> jacques.le.r...@les7arts.com>
> > wrote:
> >
> >> Thanks Omar,
> >>
> >> Got this error in js console:
> >>
> >>      TypeError: Not enough arguments to XPathEvaluator.createExpression.
> >>           htmx< https://unpkg.com/htmx.org@2.0.3:1:23876
> >>           <anonyme> https://unpkg.com/htmx.org@2.0.3:1:10
> >>
> >> No ideas what's wrong. I used product as component. I put my patch at
> >> http://les7arts.com/htmx.patch
> >>
> >> BTW, someone know what has replaced https://paste.apache.org ?
> >>
> >> TIA
> >>
> >> Jacques
> >>
> >> Le 31/10/2024 à 15:25, Omar Abdullwahhab a écrit :
> >>> Sorry
> >>> 8. the java service
> >>> public class HtmxServices {
> >>>
> >>>       public static Map<String,Object> sayDate(DispatchContext
> >>> dispatchContext, Map<String,Object> context){
> >>>           var result = ServiceUtil.returnSuccess();
> >>>           result.put("currentDate", LocalDateTime.now().toString());
> >>>           return result;
> >>>
> >>>       }
> >>> }
> >>>
> >>>
> >>> On Thu, Oct 31, 2024 at 5:07 PM Omar Abdullwahhab <
> >>> omar.abdullwah...@gmail.com> wrote:
> >>>
> >>>> OK
> >>>> For you not to waste your time,
> >>>> Just a quick example
> >>>> I have made
> >>>> 1. first insert the following htmx link in the Header.ftl in the theme
> >> you
> >>>> are using
> >>>> <script src="https://unpkg.com/htmx.org@2.0.3";></script>
> >>>> 2. Controller.xml
> >>>>
> >>>> <!-- Request Mappings -->
> >>>> <request-map uri="main">
> >>>>       <security https="true" auth="true"/>
> >>>>       <response name="success" type="view" value="main"/>
> >>>> </request-map>
> >>>>
> >>>> <request-map uri="sayDate">
> >>>>       <security https="true" auth="true"/>
> >>>>       <event type="service" invoke="sayDate"/>
> >>>>       <response name="success" type="view" value="sayDate"></response>
> >>>> </request-map>
> >>>> <!-- View Mappings -->
> >>>> <view-map name="main" type="screen"
> >>
> page="component://ofbizFreemarker/widget/OfbizFreemarkerScreens.xml#main"/>
> >>>> <view-map name="sayDate" type="ftl"
> >> page="component://ofbizFreemarker/templates/say_date.ftl"/>
> >>>> 3. services.xml
> >>>>
> >>>> <service name="noSyntaxError" engine="interface">
> >>>>       <description>
> >>>>           Dummy service to prevent empty files and syntax error -
> Remove
> >> when the 1st real service will be added here
> >>>>       </description>
> >>>> </service>
> >>>>
> >>>> <service name="sayDate" engine="java"
> >>>>            location="org.apache.ofbiz.ofbizfreemarker.HtmxServices"
> >>>>            invoke="sayDate">
> >>>>       <attribute name="currentDate" type="String" mode="OUT"
> >> default-value=""/>
> >>>> </service>
> >>>>
> >>>> 4. XXXScreens.xml
> >>>>
> >>>> <screen name="main">
> >>>>       <section>
> >>>>           <actions>
> >>>>               <set field="headerItem" value="main"/><!-- this
> highlights
> >> the selected menu-item with name "main" -->
> >>>>           </actions>
> >>>>           <widgets>
> >>>>               <decorator-screen name="OfbizFreemarkerCommonDecorator"
> >> location="${parameters.mainDecoratorLocation}">
> >>>>                   <decorator-section name="body">
> >>>>                       <platform-specific>
> >>>>                           <html><html-template
> >> location="component://ofbizFreemarker/templates/Main.ftl"/></html>
> >>>>                       </platform-specific>
> >>>>
> >>>>                   </decorator-section>
> >>>>               </decorator-screen>
> >>>>           </widgets>
> >>>>       </section>
> >>>> </screen>
> >>>>
> >>>> 5. Main.ftl
> >>>>
> >>>> <button hx-get="<@ofbizUrl>sayDate</@ofbizUrl>"
> >> hx-target="#responseDiv" hx-swap="outerHTML">
> >>>>      Say Date
> >>>>    </button>
> >>>>
> >>>>    <div id="responseDiv">
> >>>>
> >>>>    </div>
> >>>>
> >>>> 6. say_date.ftl
> >>>>
> >>>> <div id="responseDiv">
> >>>> <h4>${requestAttributes.currentDate}</h4>
> >>>> </div>
> >>>>
> >>>> 7. That's all.
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> On Thu, Oct 31, 2024 at 4:42 PM Jacques Le Roux <
> >>>> jacques.le.r...@les7arts.com> wrote:
> >>>>
> >>>>> Great,
> >>>>>
> >>>>> That sound to confirm again
> >>>>> https://lists.apache.org/thread/pxoq4484jws79jvw3ct501nt3t26hlyw
> >>>>>
> >>>>> We really need to seriously investigate now...
> >>>>>
> >>>>> Jacques
> >>>>>
> >>>>> Le 31/10/2024 à 14:25, Omar Abdullwahhab a écrit :
> >>>>>> Hi All.
> >>>>>>
> >>>>>> Today I was playing around the client side in OFBIZ,
> >>>>>> I'm actually not a fan of JS or its frameworks.
> >>>>>> I tried making a test to replace it with htmx.
> >>>>>> It was very good and easy to integrate with OFBiz and Freemarker.
> >>>>>> Please have a look
> >>>>>> https://htmx.org/docs/
> >>>>>> I am sure it will be a proven technology for OFBiz.
> >>>>>> Regards
> >>>> --
> >>>> Omar Abu-Arab
> >>>> Java Engineer
> >>>>
> >>>>
> >
> >
>


-- 
Omar Abu-Arab
Java Engineer

Reply via email to