Excel export for Partners, view headers style changed
authorVásáry Dániel <vasary@elgekko.net>
Fri, 1 Mar 2024 21:39:14 +0000 (22:39 +0100)
committerVásáry Dániel <vasary@elgekko.net>
Fri, 1 Mar 2024 21:39:14 +0000 (22:39 +0100)
20 files changed:
sly-crm-app/src/main/resources/application-dev.yaml
sly-crm-ui/pom.xml
sly-crm-ui/src/main/java/hu/user/lis/ui/data/PartnersDataModel.java
sly-crm-ui/src/main/java/hu/user/lis/ui/data/common/CachedDataModel.java
sly-crm-ui/src/main/java/hu/user/lis/ui/data/common/IDataHeaderProvider.java [new file with mode: 0644]
sly-crm-ui/src/main/java/hu/user/lis/ui/data/common/IRowDataProvider.java [new file with mode: 0644]
sly-crm-ui/src/main/java/hu/user/lis/ui/properties/ApplicationUIProperties.java
sly-crm-ui/src/main/java/hu/user/lis/ui/view/PartnersViewModel.java
sly-crm-ui/src/main/resources/web/associates.zul
sly-crm-ui/src/main/resources/web/editor/project-editor.zul
sly-crm-ui/src/main/resources/web/import-invoices-approve.zul
sly-crm-ui/src/main/resources/web/import-invoices-assign.zul
sly-crm-ui/src/main/resources/web/import-invoices-suspended.zul
sly-crm-ui/src/main/resources/web/invoice-payment.zul
sly-crm-ui/src/main/resources/web/invoices.zul
sly-crm-ui/src/main/resources/web/partners.zul
sly-crm-ui/src/main/resources/web/projects.zul
sly-crm-ui/src/main/resources/web/service-records.zul
sly-crm-ui/src/main/resources/web/settings.zul
sly-crm-ui/src/main/resources/web/static/css/webclient.css

index 5fc5748c545ea7754a577489fdf65f42e08ddc76..1b0d77691ee5e88e0da92554a56b0728f5d5cedf 100644 (file)
@@ -20,12 +20,12 @@ spring:
       enabled: always
   datasource:
     type: com.zaxxer.hikari.HikariDataSource
-    url: jdbc:db2://localhost:50000/slycrm
+    #    url: jdbc:db2://localhost:50000/slycrm
+    #    username: db2admin
+    #    password: password
+    url: jdbc:db2://db2.in.useribm.hu:50000/slycrm
     username: db2admin
-    password: password
-#    url: jdbc:db2://db2.in.useribm.hu:50000/slycrm
-#    username: db2admin
-#    password: Passw@rd01
+    password: Passw@rd01
 camunda.bpm:
   generic-properties.properties:
     telemetry-reporter-activate: false
@@ -59,7 +59,8 @@ application:
   ui:
     user-name: user
     password: password
-  #    disable-profile-save: true
+    export-temp-path: /temp
+    disable-profile-save: true
   workflow:
     import-invoice:
       input-path: /temp/invoice-import
index 55f14c1a8588ac0e0e745329d2c132af143027b6..e2ab68e32aad51ff71082a34808a3846d4e8db1e 100644 (file)
             <artifactId>sly-crm-workflow</artifactId>
             <version>0.0.1-SNAPSHOT</version>
         </dependency>
+        <!-- https://mvnrepository.com/artifact/org.dhatim/fastexcel -->
+        <dependency>
+            <groupId>org.dhatim</groupId>
+            <artifactId>fastexcel</artifactId>
+            <version>0.15.0</version>
+        </dependency>
     </dependencies>
 </project>
\ No newline at end of file
index 8333d8f45058da20d6cfdaf3359f52c217e2deef..7c7885e639eda3085ba00daf067020f57633c386 100644 (file)
@@ -5,6 +5,8 @@ import hu.user.lis.db.repository.PartnerRepository;
 import hu.user.lis.service.data.EntityDataService;
 import hu.user.lis.service.data.PartnerService;
 import hu.user.lis.ui.data.common.CachedSpringDataModel;
+import hu.user.lis.ui.data.common.IDataHeaderProvider;
+import hu.user.lis.ui.data.common.IRowDataProvider;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.config.ConfigurableBeanFactory;
@@ -18,7 +20,7 @@ import java.util.List;
 @Component
 @Log4j2
 @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
-public class PartnersDataModel extends CachedSpringDataModel<Partner> {
+public class PartnersDataModel extends CachedSpringDataModel<Partner> implements IDataHeaderProvider, IRowDataProvider<Partner> {
     @Autowired
     PartnerRepository partnerRepository;
 
@@ -91,4 +93,22 @@ public class PartnersDataModel extends CachedSpringDataModel<Partner> {
     public void delete(Partner selectedEntity) {
         partnerRepository.delete(selectedEntity);
     }
+
+    public void export() {
+        super.export("partners", this, this);
+    }
+
+    @Override
+    public String[] mapHeaders() {
+        return new String[]{
+                "Név", "Adószám", "Cím", "Aktív"
+        };
+    }
+
+    @Override
+    public String[] mapRowData(Partner data) {
+        return new String[]{
+                data.getName(), data.getVatNr(), data.getAddress(), String.valueOf(data.isActive())
+        };
+    }
 }
index 8d07b1290a19297ad52e21c4bf4d1d5645797b41..f0195c6cbc2ddd28d39bdd550ca03314003ac89b 100644 (file)
@@ -1,31 +1,53 @@
 package hu.user.lis.ui.data.common;
 
+import hu.user.lis.ui.properties.ApplicationUIProperties;
 import lombok.Setter;
 import lombok.extern.log4j.Log4j2;
+import org.dhatim.fastexcel.Workbook;
+import org.dhatim.fastexcel.Worksheet;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.zkoss.bind.BindUtils;
 import org.zkoss.zul.FieldComparator;
+import org.zkoss.zul.Filedownload;
 import org.zkoss.zul.ListModelList;
 import org.zkoss.zul.event.ListDataEvent;
 
+import java.io.OutputStream;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.Comparator;
 import java.util.HashMap;
 import java.util.List;
 
-@Component
 @Log4j2
+@Component
 public abstract class CachedDataModel<T> extends ListModelList<T> {
     public static final String NATURAL = "natural";
+
     public static final String ASCENDING = "ascending";
+
     public static final String DESCENDING = "descending";
-    private int CACHE_SIZE = 100;
+
+    private final int CACHE_SIZE = 100;
+
+    private final HashMap<Integer, T> cache = new HashMap<>();
+
     private int cacheStart;
+
     private int cacheEnd;
+
     private int resultSetSize = -1;
-    private HashMap<Integer, T> cache = new HashMap<>();
+
     @Setter
     private FieldComparator sortComparator;
 
+    @Autowired
+    private ApplicationUIProperties applicationUIProperties;
+
     public CachedDataModel() {
 
         setMultiple(false);
@@ -166,8 +188,46 @@ public abstract class CachedDataModel<T> extends ListModelList<T> {
     @Override
     public void sort(Comparator<T> cmpr, boolean ascending) {
         sortComparator = (FieldComparator) cmpr;
-//        log.info("Sort {} {}", sortComparator.getOrderBy(), ascending);
         reset();
     }
+
+    public Path export(String name, IDataHeaderProvider headerProvider, IRowDataProvider<T> rowDataProvider) {
+        String timestamp = DateTimeFormatter.ofPattern("yyyyMMdd-HHmmss").format(LocalDateTime.now());
+        Path result = Paths.get(applicationUIProperties.getExportTempPath(), String.format("%s-%s.xlsx", name, timestamp));
+        int resultSetCount = getResultSetCount();
+        if (resultSetCount == 0) {
+            return null;
+        }
+        int pageCount = resultSetCount / CACHE_SIZE;
+        if (resultSetCount % CACHE_SIZE > 0) {
+            pageCount++;
+        }
+        int row = 0;
+        try (OutputStream os = Files.newOutputStream(result)) {
+            Workbook wb = new Workbook(os, "SLY-CRM", "1.0");
+            Worksheet ws = wb.newWorksheet("Sheet 1");
+            String[] headers = headerProvider.mapHeaders();
+            for (int h = 0; h < headers.length; h++) {
+                ws.value(row, h, headers[h]);
+            }
+            for (int i = 0; i < pageCount; i++) {
+                List<T> datas = getResultSet(i, CACHE_SIZE, sortComparator);
+                log.info("Got {} records", datas.size());
+                for (T data : datas) {
+                    String[] rowData = rowDataProvider.mapRowData(data);
+                    row++;
+                    for (int o = 0; o < rowData.length; o++) {
+                        ws.value(row, o, rowData[o]);
+                    }
+                }
+            }
+            wb.finish();
+
+            Filedownload.save(result.toFile(), "application/vnd.ms-excel");
+        } catch (Exception e) {
+            log.error(e.getMessage());
+        }
+        return result;
+    }
 }
 
diff --git a/sly-crm-ui/src/main/java/hu/user/lis/ui/data/common/IDataHeaderProvider.java b/sly-crm-ui/src/main/java/hu/user/lis/ui/data/common/IDataHeaderProvider.java
new file mode 100644 (file)
index 0000000..f10ec93
--- /dev/null
@@ -0,0 +1,7 @@
+package hu.user.lis.ui.data.common;
+
+public interface IDataHeaderProvider {
+
+    String[] mapHeaders();
+
+}
diff --git a/sly-crm-ui/src/main/java/hu/user/lis/ui/data/common/IRowDataProvider.java b/sly-crm-ui/src/main/java/hu/user/lis/ui/data/common/IRowDataProvider.java
new file mode 100644 (file)
index 0000000..ef68d3e
--- /dev/null
@@ -0,0 +1,7 @@
+package hu.user.lis.ui.data.common;
+
+public interface IRowDataProvider<T> {
+
+    String[] mapRowData(T data);
+
+}
index 9299b29b9771a64a2aa1318065fbbfb7e34e1ea5..9df3973240b74bb0a462a44909b6db2febfedd16 100644 (file)
@@ -17,4 +17,5 @@ public class ApplicationUIProperties {
 
     private boolean disableProfileSave;
 
+    private String exportTempPath;
 }
index 87e15b98b951e9bd37386578744063b771f50289..e66457d4eb459095820f13e74e616cd96caa65dc 100644 (file)
@@ -86,4 +86,9 @@ public class PartnersViewModel extends FilterActiveViewModel<Partner> {
                     }
                 });
     }
+
+    @Command
+    public void onExport() {
+        partnersDataModel.export();
+    }
 }
index 5dc4a87b4eb48e570e06e45d15bd00911f84c448..32633826de776338c852836883cb3528db6c9cb9 100644 (file)
@@ -1,5 +1,3 @@
-<?link rel="stylesheet" type="text/css" href="~./static/css/skeleton.css" ?>
-<?link rel="stylesheet" type="text/css" href="~./static/css/webclient.css" ?>
 <zk>
     <!--    <style>-->
     <!--        .z-listitem-selected>.z-listcell>.z-listcell-content {-->
@@ -8,16 +6,19 @@
     <!--    </style>-->
     <window vflex="true" viewModel="@id('vm') @init('hu.user.lis.ui.view.AssociatesViewModel')">
         <caption>
-            <hlayout>
+            <hbox pack="stretch" sclass="hboxRemoveWhiteStrips" hflex="true">
                 <label value="Munkatársak" sclass="list-title"/>
-                <toolbar style="margin-left: 50px">
-                    <toolbarbutton label="Új" iconSclass="z-icon-plus" onClick="@command('onAdd')"/>
+                <toolbar align="end">
+                    <toolbarbutton label="Új" iconSclass="z-icon-plus"
+                                   onClick="@command('onAdd')"/>
                     <toolbarbutton label="Szerkeszt" iconSclass="z-icon-edit"
-                                   onClick="@command('onEdit')" disabled="@load(empty vm.selectedEntity)"/>
+                                   onClick="@command('onEdit')"
+                                   disabled="@load(empty vm.selectedEntity)"/>
                     <toolbarbutton label="Töröl" iconSclass="z-icon-remove"
-                                   onClick="@command('onDelete')" disabled="@load(empty vm.selectedEntity)"/>
+                                   onClick="@command('onDelete')"
+                                   disabled="@load(empty vm.selectedEntity)"/>
                 </toolbar>
-            </hlayout>
+            </hbox>
         </caption>
         <borderlayout>
             <north flex="true">
index aa366c19120acaa281a0001fa266772cf9aceff6..565d4f5467aa86bf3216503e3d8a32de0baafaab 100644 (file)
@@ -2,7 +2,11 @@
 <zk>
     <window id="projectEditor" hflex="true" vflex="true"
             viewModel="@id('vm') @init('hu.user.lis.ui.editor.ProjectEditorModel')">
-        <caption label="Projekt szerkesztés"/>
+        <caption>
+            <hbox pack="stretch" sclass="hboxRemoveWhiteStrips" hflex="true">
+                <label value="Projekt szerkesztés" sclass="list-title"/>
+            </hbox>
+        </caption>
         <borderlayout>
             <center id="centerPanel" border="none" vflex="true" hflex="true" autoscroll="true">
                 <vlayout hflex="true" vflex="min">
index a66489ee69ba3e516d54ce2ee4ac2e54b4c64aec..5ca445d5a4a94baaf9896cb38502b38f06a024cf 100644 (file)
@@ -2,16 +2,15 @@
     <window vflex="true" viewModel="@id('vm') @init('hu.user.lis.ui.view.ApproveInvoicesViewModel')">
         <!--        <timer id="timer" delay="1000" repeats="true" onTimer="@command('uiTick')"/>-->
         <caption>
-            <hlayout>
+            <hbox pack="stretch" sclass="hboxRemoveWhiteStrips" hflex="true">
                 <label value="Számla import - Jóváhagyás" sclass="list-title"/>
-                <toolbar style="margin-left: 50px">
+                <toolbar align="end">
                     <toolbarbutton label="Frissít" iconSclass="z-icon-refresh" onClick="@command('onRefresh')"/>
                     <!--                    <toolbarbutton label="Léptet" iconSclass="z-icon-tasks"-->
                     <!--                                   onClick="@command('onCompleteTask')" disabled="@load(empty vm.selectedEntity)"/>-->
                 </toolbar>
-            </hlayout>
+            </hbox>
         </caption>
-
         <borderlayout>
             <north flex="true">
             </north>
index fec78df39a16dec1cfea25bdc9625fcf87dcb0b8..8f577ef9b10fa00823ba2199642e2cb1801abc1a 100644 (file)
@@ -2,16 +2,15 @@
     <window vflex="true" viewModel="@id('vm') @init('hu.user.lis.ui.view.AssignInvoicesViewModel')">
         <!--        <timer id="timer" delay="1000" repeats="true" onTimer="@command('uiTick')"/>-->
         <caption>
-            <hlayout>
+            <hbox pack="stretch" sclass="hboxRemoveWhiteStrips" hflex="true">
                 <label value="Számla import - Csatolás" sclass="list-title"/>
-                <toolbar style="margin-left: 50px">
+                <toolbar align="end">
                     <toolbarbutton label="Frissít" iconSclass="z-icon-refresh" onClick="@command('onRefresh')"/>
                     <!--                    <toolbarbutton label="Léptet" iconSclass="z-icon-tasks"-->
                     <!--                                   onClick="@command('onCompleteTask')" disabled="@load(empty vm.selectedEntity)"/>-->
                 </toolbar>
-            </hlayout>
+            </hbox>
         </caption>
-
         <borderlayout>
             <north flex="true">
             </north>
index 9cc8a199aaa6f91ae837c748d46a525b0134a9e9..f4e3464cb02ef57bd5f0e6cd7cd9938b6204ec0e 100644 (file)
@@ -2,13 +2,13 @@
 <zk>
     <window vflex="true" viewModel="@id('vm') @init('hu.user.lis.ui.view.ImportInvoicesSuspendedViewModel')">
         <caption>
-            <hlayout>
+            <hbox pack="stretch" sclass="hboxRemoveWhiteStrips" hflex="true">
                 <label value="Számla parkoló" sclass="list-title"/>
-                <toolbar style="margin-left: 50px">
+                <toolbar align="end">
                     <toolbarbutton label="Iktatás" iconSclass="z-icon-forward" onClick="@command('onStartAssignment')"
                                    disabled="@load(empty vm.selectedEntity)"/>
                 </toolbar>
-            </hlayout>
+            </hbox>
         </caption>
         <borderlayout>
             <north hflex="true">
index 396b02eadf67b3601417d1ce1e35db43cd4b89ed..b2ad8acf5be7928dc32e824ce84e83740b4e88ae 100644 (file)
@@ -10,9 +10,9 @@
     </style>
     <window vflex="true" viewModel="@id('vm') @init('hu.user.lis.ui.view.InvoicePaymentViewModel')">
         <caption>
-            <hlayout>
+            <hbox pack="stretch" sclass="hboxRemoveWhiteStrips" hflex="true">
                 <label value="Számla kiegyenlítés" sclass="list-title"/>
-            </hlayout>
+            </hbox>
         </caption>
 
         <borderlayout>
index 42b9d68ba7fda1dc2c637ff5affbb1aa6fefea9d..1dd314bf2858c72e67d98dbf8ee5aa8df3beb4cc 100644 (file)
@@ -6,9 +6,9 @@
     </zscript>
     <window vflex="true" viewModel="@id('vm') @init('hu.user.lis.ui.view.InvoicesViewModel')">
         <caption>
-            <hlayout hflex="true">
+            <hbox pack="stretch" sclass="hboxRemoveWhiteStrips" hflex="true">
                 <label value="Számlák" sclass="list-title"/>
-                <toolbar style="margin-left: 50px">
+                <toolbar align="end">
                     <toolbarbutton label="Szerkeszt" iconSclass="z-icon-edit" onClick="@command('onEdit')"
                                    disabled="@load(empty vm.selectedEntity)"/>
                     <!--                        <toolbarbutton label="Projekt módosítás" iconSclass="z-icon-forward"-->
@@ -17,9 +17,8 @@
                                    onClick="@command('onInvoicePayment')"
                                    disabled="@load(empty vm.selectedEntity || vm.selectedEntity.planned)"/>
                 </toolbar>
-            </hlayout>
+            </hbox>
         </caption>
-
         <borderlayout>
             <north hflex="true">
                 <toolbar>
@@ -65,7 +64,7 @@
                                    onClick="@command('setIncoming', incoming=false)"/>
 
                     <separator orient="vertical"/>
-                    
+
                     <toolbarbutton mode="toggle" iconSclass="z-icon-credit-card" label="Kiegyenlítve"
                                    checked="@bind(vm.invoiceFilter.paid)"/>
                 </toolbar>
index 8d02a090b4cf607560fc6681d253bc30a6301ecf..7c54a3e28111ff68c01a5b8cfc727a42c1b84eeb 100644 (file)
@@ -1,9 +1,9 @@
 <zk>
     <window vflex="true" viewModel="@id('vm') @init('hu.user.lis.ui.view.PartnersViewModel')">
         <caption>
-            <hlayout>
+            <hbox pack="stretch" sclass="hboxRemoveWhiteStrips" hflex="true">
                 <label value="Partnerek" sclass="list-title"/>
-                <toolbar style="margin-left: 50px">
+                <toolbar align="end">
                     <toolbarbutton label="Új" iconSclass="z-icon-plus"
                                    onClick="@command('onAdd')"/>
                     <toolbarbutton label="Szerkeszt" iconSclass="z-icon-edit"
@@ -13,7 +13,7 @@
                                    onClick="@command('onDelete')"
                                    disabled="@load(empty vm.selectedEntity)"/>
                 </toolbar>
-            </hlayout>
+            </hbox>
         </caption>
         <borderlayout>
             <north hflex="true">
                     <listbox vflex="true" model="@load(vm.partnersDataModel)" multiple="false"
                              itemRenderer="@load(vm.partnersDataModel.renderer)" onSelect="@command('onListSelection')"
                              sizedByContent="true" span="true">
-                        <!--                        <listfoot>-->
-                        <!--                            <listfooter colspan="@load(vm.partnersDataModel.renderer.colCount)">-->
-                        <!--                                <toolbar>-->
-                        <!--                                    <toolbarbutton label="Hozzáadás" iconSclass="z-icon-plus"-->
-                        <!--                                                   onClick="@command('onAdd')"/>-->
-                        <!--                                    <toolbarbutton label="Szerkesztés" iconSclass="z-icon-edit"-->
-                        <!--                                                   onClick="@command('onEdit')"-->
-                        <!--                                                   disabled="@load(empty vm.selectedEntity)"/>-->
-                        <!--                                    <toolbarbutton label="Törlés" iconSclass="z-icon-remove"-->
-                        <!--                                                   onClick="@command('onDelete')"-->
-                        <!--                                                   disabled="@load(empty vm.selectedEntity)"/>-->
-                        <!--                                </toolbar>-->
-                        <!--                            </listfooter>-->
-                        <!--                        </listfoot>-->
                         <listhead sizable="true" menupopup="editPopup"
                                   onColSize="@command('onHeaderSizeChanged', node=node)"
                                   children="@bind(vm.partnersDataModel.renderer.columnSettings) @template('head-item')">
                             </listitem>
                         </template>
                     </listbox>
-
+                    <!--                                <div style="width: 100%; height: 10px; background: red"></div>
+                    sclass="hboxRemoveWhiteStrips"
+                    -->
+                    <hbox pack="stretch" sclass="hboxRemoveWhiteStrips" hflex="true">
+                        <toolbar align="end">
+                            <toolbarbutton label="Export" iconSclass="z-icon-file-excel-o"
+                                           onClick="@command('onExport')"/>
+                        </toolbar>
+                    </hbox>
                 </vlayout>
             </center>
         </borderlayout>
index 90caacc386525ff7918b6c018f41a3d6186dfb6d..012746ec3186baef2c23bb4dc8976acf431f751d 100644 (file)
@@ -1,9 +1,9 @@
 <zk>
     <window vflex="true" viewModel="@id('vm') @init('hu.user.lis.ui.view.ProjectsViewModel')">
         <caption>
-            <hlayout>
+            <hbox pack="stretch" sclass="hboxRemoveWhiteStrips" hflex="true">
                 <label value="Projektek" sclass="list-title"/>
-                <toolbar style="margin-left: 50px">
+                <toolbar align="end">
                     <toolbarbutton label="Új" iconSclass="z-icon-plus"
                                    onClick="@command('onAdd')"/>
                     <toolbarbutton label="Szerkeszt" iconSclass="z-icon-edit"
@@ -16,9 +16,8 @@
                                    onClick="@command('onStartProcess')"
                                    disabled="@load(empty vm.selectedEntity)"/>
                 </toolbar>
-            </hlayout>
+            </hbox>
         </caption>
-
         <borderlayout>
             <north flex="true">
                 <toolbar>
index fb66a7f01c71a5b0f222a7fbd6cdf5b6a004d5ca..7e4af83208c5add531028cf7a95b02c6a3c40ccb 100644 (file)
@@ -2,18 +2,20 @@
 <zk>
     <window vflex="true" viewModel="@id('vm') @init('hu.user.lis.ui.view.ServiceRecordsViewModel')">
         <caption>
-            <hlayout>
+            <hbox pack="stretch" sclass="hboxRemoveWhiteStrips" hflex="true">
                 <label value="Munkalapok" sclass="list-title"/>
-                <toolbar style="margin-left: 50px">
-                    <toolbarbutton label="Új" iconSclass="z-icon-plus" onClick="@command('onAdd')"/>
+                <toolbar align="end">
+                    <toolbarbutton label="Új" iconSclass="z-icon-plus"
+                                   onClick="@command('onAdd')"/>
                     <toolbarbutton label="Szerkeszt" iconSclass="z-icon-edit"
-                                   onClick="@command('onEdit')" disabled="@load(empty vm.selectedEntity)"/>
+                                   onClick="@command('onEdit')"
+                                   disabled="@load(empty vm.selectedEntity)"/>
                     <toolbarbutton label="Töröl" iconSclass="z-icon-remove"
-                                   onClick="@command('onDelete')" disabled="@load(empty vm.selectedEntity)"/>
+                                   onClick="@command('onDelete')"
+                                   disabled="@load(empty vm.selectedEntity)"/>
                 </toolbar>
-            </hlayout>
+            </hbox>
         </caption>
-
         <borderlayout>
             <north flex="true">
                 <toolbar>
index 956e685877185900d3402ce4092c05de44a538a4..d067e5a260c3de6e873fecfbf78e2d7dc6aa4444 100644 (file)
@@ -1,6 +1,10 @@
 <zk>
     <window id="centerPanel" vflex="true" viewModel="@id('vm') @init('hu.user.lis.ui.view.SettingsViewModel')">
-        <caption sclass="list-title" label="Beállítások"/>
+        <caption>
+            <hbox pack="stretch" sclass="hboxRemoveWhiteStrips" hflex="true">
+                <label value="Beállítások" sclass="list-title"/>
+            </hbox>
+        </caption>
 
         <panel collapsible="true" open="false" border="rounded"
                onOpen="@command('onOpenFormPanel', parentPanel=centerPanel)">
index 65393ac3837e617c1c34a91aa01a1b85b4d47246..e1aee2675f7b5cfcfb3ed87859423f11c95c8e21 100644 (file)
@@ -1,3 +1,6 @@
+.z-caption-content {
+    width: 100%
+}
 .number-box {
     text-align: right;
     width: 100px;