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 <
[email protected]> 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/[email protected]"></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 <
> [email protected]> 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