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