Custom profile functions made generic
authorVásáry Dániel <vasary@elgekko.net>
Tue, 27 Feb 2024 20:29:13 +0000 (21:29 +0100)
committerVásáry Dániel <vasary@elgekko.net>
Tue, 27 Feb 2024 20:29:13 +0000 (21:29 +0100)
sly-crm-ui/src/main/java/hu/user/lis/ui/view/InvoicesViewModel.java
sly-crm-ui/src/main/java/hu/user/lis/ui/view/PartnersViewModel.java
sly-crm-ui/src/main/java/hu/user/lis/ui/view/common/EntityViewModel.java
sly-crm-ui/src/main/java/hu/user/lis/ui/view/renderer/ReorderedItemsRenderer.java
sly-crm-ui/src/main/resources/web/invoices.zul
sly-crm-ui/src/main/resources/web/partners.zul

index 8ffaea5e2a173d005c0a53c9ab711a91fccc1cd9..ce7500ac90ca8a8252de4aeebe027842c17f0842 100644 (file)
@@ -7,7 +7,6 @@ import hu.user.lis.ui.Constants;
 import hu.user.lis.ui.data.InvoiceDataModel;
 import hu.user.lis.ui.data.InvoicesDataModel;
 import hu.user.lis.ui.data.common.CachedSpringDataModel;
-import hu.user.lis.ui.data.common.ColDef;
 import hu.user.lis.ui.editor.common.Editors;
 import hu.user.lis.ui.editor.selector.EntitySelectorRouter;
 import hu.user.lis.ui.event.EventBus;
@@ -16,17 +15,13 @@ import hu.user.lis.ui.view.common.EntityViewModel;
 import lombok.Getter;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.transaction.annotation.Transactional;
-import org.zkoss.bind.BindContext;
 import org.zkoss.bind.BindUtils;
 import org.zkoss.bind.PropertyChangeEvent;
 import org.zkoss.bind.annotation.*;
 import org.zkoss.zk.ui.Component;
-import org.zkoss.zk.ui.event.DropEvent;
 import org.zkoss.zk.ui.event.Event;
 import org.zkoss.zk.ui.event.EventListener;
 import org.zkoss.zk.ui.select.annotation.WireVariable;
-import org.zkoss.zul.Listheader;
-import org.zkoss.zul.event.ColSizeEvent;
 
 import java.util.Arrays;
 
@@ -180,22 +175,4 @@ public class InvoicesViewModel extends EntityViewModel<Invoice> implements Event
         eventBus.showInvoicePayment(getSelectedEntity().getId());
     }
 
-    public void onHeaderMenuClicked(@BindingParam("node") ColDef node) {
-        invoicesDataModel.onHeaderMenuClicked(node);
-    }
-
-    @Command
-    public void onHeaderSizeChanged(@ContextParam(ContextType.BIND_CONTEXT) BindContext ctx, @BindingParam("node") ColDef node) {
-        ColSizeEvent evt = (ColSizeEvent) ctx.getTriggerEvent();
-        invoicesDataModel.onHeaderSizeChanged(evt.getColIndex(), evt.getWidth());
-    }
-
-    @Command
-    public void onHeaderReorder(@ContextParam(ContextType.BIND_CONTEXT) BindContext ctx) {
-        DropEvent ev = (DropEvent) ctx.getTriggerEvent();
-        Listheader dragged = (Listheader) ev.getDragged();
-        Listheader dropped = (Listheader) ev.getTarget();
-        invoicesDataModel.onHeaderReorder(dragged, dropped);
-    }
-
 }
index 769025759db51861791a019752049d5310489757..87e15b98b951e9bd37386578744063b771f50289 100644 (file)
@@ -4,20 +4,16 @@ import hu.user.lis.db.Partner;
 import hu.user.lis.ui.Constants;
 import hu.user.lis.ui.data.PartnersDataModel;
 import hu.user.lis.ui.data.common.CachedSpringDataModel;
-import hu.user.lis.ui.data.common.ColDef;
 import hu.user.lis.ui.editor.common.Editors;
 import hu.user.lis.ui.event.SaveEntityEvent;
 import hu.user.lis.ui.view.common.FilterActiveViewModel;
 import lombok.Getter;
 import lombok.extern.log4j.Log4j2;
-import org.zkoss.bind.BindContext;
 import org.zkoss.bind.BindUtils;
-import org.zkoss.bind.annotation.*;
-import org.zkoss.zk.ui.event.DropEvent;
+import org.zkoss.bind.annotation.Command;
+import org.zkoss.bind.annotation.Init;
 import org.zkoss.zk.ui.select.annotation.WireVariable;
-import org.zkoss.zul.Listheader;
 import org.zkoss.zul.Messagebox;
-import org.zkoss.zul.event.ColSizeEvent;
 
 import java.util.Arrays;
 
@@ -90,25 +86,4 @@ public class PartnersViewModel extends FilterActiveViewModel<Partner> {
                     }
                 });
     }
-
-    @Command
-    public void onHeaderMenuClicked(@BindingParam("node") ColDef node) {
-        partnersDataModel.onHeaderMenuClicked(node);
-    }
-
-    @Command
-    public void onHeaderSizeChanged(@ContextParam(ContextType.BIND_CONTEXT) BindContext ctx, @BindingParam("node") ColDef node) {
-        ColSizeEvent evt = (ColSizeEvent) ctx.getTriggerEvent();
-        partnersDataModel.onHeaderSizeChanged(evt.getColIndex(), evt.getWidth());
-    }
-
-    @Command
-    public void onHeaderReorder(@ContextParam(ContextType.BIND_CONTEXT) BindContext ctx) {
-        DropEvent ev = (DropEvent) ctx.getTriggerEvent();
-        Listheader dragged = (Listheader) ev.getDragged();
-        Listheader dropped = (Listheader) ev.getTarget();
-        partnersDataModel.onHeaderReorder(dragged, dropped);
-    }
-
-
 }
index 20b6d0ffce265cf25f2021710ee09cced2bc4609..887796e7bbcc63766cd69384bc8fbbfd1e7f6298 100644 (file)
@@ -7,13 +7,17 @@ import lombok.Getter;
 import lombok.Setter;
 import lombok.extern.log4j.Log4j2;
 import org.apache.commons.lang3.StringUtils;
+import org.zkoss.bind.BindContext;
 import org.zkoss.bind.annotation.*;
 import org.zkoss.zk.ui.Component;
+import org.zkoss.zk.ui.event.DropEvent;
 import org.zkoss.zk.ui.select.Selectors;
 import org.zkoss.zk.ui.select.annotation.VariableResolver;
 import org.zkoss.zk.ui.select.annotation.WireVariable;
 import org.zkoss.zk.ui.util.Clients;
 import org.zkoss.zkplus.spring.DelegatingVariableResolver;
+import org.zkoss.zul.Listheader;
+import org.zkoss.zul.event.ColSizeEvent;
 
 import java.io.Serializable;
 import java.util.ArrayList;
@@ -92,4 +96,23 @@ public abstract class EntityViewModel<T extends Serializable> {
         }
     }
 
+    @Command
+    public void onHeaderMenuClicked(@BindingParam("node") ColDef node) {
+        getDataModel().onHeaderMenuClicked(node);
+    }
+
+    @Command
+    public void onHeaderSizeChanged(@ContextParam(ContextType.BIND_CONTEXT) BindContext ctx, @BindingParam("node") ColDef node) {
+        ColSizeEvent evt = (ColSizeEvent) ctx.getTriggerEvent();
+        getDataModel().onHeaderSizeChanged(evt.getColIndex(), evt.getWidth());
+    }
+
+    @Command
+    public void onHeaderReorder(@ContextParam(ContextType.BIND_CONTEXT) BindContext ctx) {
+        DropEvent ev = (DropEvent) ctx.getTriggerEvent();
+        Listheader dragged = (Listheader) ev.getDragged();
+        Listheader dropped = (Listheader) ev.getTarget();
+        getDataModel().onHeaderReorder(dragged, dropped);
+    }
+
 }
index 57ffb57e4937ee690868b462d683fda0f6cde285..b766784b8cf857af51216708d1a32537ebea91b5 100644 (file)
@@ -22,7 +22,6 @@ import java.util.List;
 @Log4j2
 @Component
 public class ReorderedItemsRenderer extends BindListitemRenderer {
-    //kell egy index map, es a
 
     @Getter
     @Setter
index f1820772c52310521fe3d6f1c335946898eec0dd..1bb0112baae5599618e7a4ead4ff7a48a21bd9bb 100644 (file)
@@ -57,9 +57,6 @@
 
                         <toolbarbutton mode="toggle" iconSclass="z-icon-credit-card" label="Kiegyenlítve"
                                        checked="@bind(vm.invoiceFilter.paid)"/>
-
-                        <!--                    <toolbarbutton iconSclass="z-icon-search" label="Szűrés"-->
-                        <!--                                   onClick="@command('search')"/>-->
                     </toolbar>
                     <toolbar>
                         <toolbarbutton label="Szerkesztés" iconSclass="z-icon-edit" onClick="@command('onEdit')"
                         <toolbarbutton label="Számla kiegyenlítés" iconSclass="z-icon-credit-card"
                                        onClick="@command('onInvoicePayment')"
                                        disabled="@load(empty vm.selectedEntity || vm.selectedEntity.planned)"/>
-
-                        <!--                        <toolbarbutton label="Hozzáadás" iconSclass="z-icon-plus" onClick="@command('onAdd')"/>-->
-                        <!--                        <toolbarbutton label="Törlés" iconSclass="z-icon-remove" onClick="@command('onDelete')"-->
-                        <!--                                       disabled="@load(empty vm.selectedEntity)"/>-->
                     </toolbar>
                 </vlayout>
             </north>
             <center border="none">
                 <vlayout vflex="true" hflex="true">
-                    <menupopup id="editPopup"
-                               children="@bind(vm.invoicesDataModel.renderer.columnSettings) @template('menu-item')">
-                        <template name="menu-item" var="node">
-                            <menuitem label="@load(node.label)" checked="@load(node.visible)"
-                                      onClick="@command('onHeaderMenuClicked', node=node)"/>
-                        </template>
-                    </menupopup>
                     <listbox id="invoicesList" vflex="true" model="@load(vm.invoicesDataModel)" multiple="false"
                              itemRenderer="@load(vm.invoicesDataModel.renderer)" onSelect="@command('onListSelection')">
                         <listhead sizable="true" menupopup="editPopup"
                             </listitem>
                         </template>
                     </listbox>
+                    <menupopup id="editPopup"
+                               children="@bind(vm.invoicesDataModel.renderer.columnSettings) @template('menu-item')">
+                        <template name="menu-item" var="node">
+                            <menuitem label="@load(node.label)" checked="@load(node.visible)"
+                                      onClick="@command('onHeaderMenuClicked', node=node)"/>
+                        </template>
+                    </menupopup>
                 </vlayout>
             </center>
         </borderlayout>
index cc797bc843f4d48f634a20bd9ee4f5725870d033..acdd9b2e7bad390a40e7bf77d5631e9f4197ecca 100644 (file)
@@ -2,7 +2,7 @@
     <window vflex="true" viewModel="@id('vm') @init('hu.user.lis.ui.view.PartnersViewModel')">
         <caption sclass="list-title" label="Partnerek"/>
         <borderlayout>
-            <north flex="true">
+            <north hflex="true">
                 <toolbar>
                     <toolbarbutton label="Hozzáadás" iconSclass="z-icon-plus" onClick="@command('onAdd')"/>
                     <toolbarbutton label="Szerkesztés" iconSclass="z-icon-edit" onClick="@command('onEdit')"
@@ -17,7 +17,6 @@
                     <toolbarbutton mode="toggle" iconSclass="z-icon-adjust" label="Mind"
                                    checked="@bind(vm.filterShowBoth)"/>
                 </toolbar>
-
             </north>
             <center border="none">
                 <vlayout vflex="true" hflex="true">