Initial import
authorelgekko <vasary@elgekko.net>
Mon, 3 Apr 2023 14:11:00 +0000 (16:11 +0200)
committerelgekko <vasary@elgekko.net>
Mon, 3 Apr 2023 14:11:00 +0000 (16:11 +0200)
197 files changed:
.idea/.gitignore [new file with mode: 0644]
.idea/codeStyles/codeStyleConfig.xml [new file with mode: 0644]
.idea/compiler.xml [new file with mode: 0644]
.idea/encodings.xml [new file with mode: 0644]
.idea/jarRepositories.xml [new file with mode: 0644]
.idea/misc.xml [new file with mode: 0644]
.idea/uiDesigner.xml [new file with mode: 0644]
KB.md [new file with mode: 0644]
lis-app/pom.xml [new file with mode: 0644]
lis-app/src/main/java/hu/user/lis/app/LoggerConfiguration.java [new file with mode: 0644]
lis-app/src/main/java/hu/user/lis/app/Main.java [new file with mode: 0644]
lis-app/src/main/java/hu/user/lis/app/WebAppConfigurer.java [new file with mode: 0644]
lis-app/src/main/resources/application-suppliers.yaml [new file with mode: 0644]
lis-app/src/main/resources/application.yaml [new file with mode: 0644]
lis-app/src/test/java/hu/user/lis/app/MainTest.java [new file with mode: 0644]
lis-app/target/classes/META-INF/build-info.properties [new file with mode: 0644]
lis-app/target/classes/application-suppliers.yaml [new file with mode: 0644]
lis-app/target/classes/application.yaml [new file with mode: 0644]
lis-app/target/classes/hu/user/lis/app/LoggerConfiguration.class [new file with mode: 0644]
lis-app/target/classes/hu/user/lis/app/Main.class [new file with mode: 0644]
lis-app/target/classes/hu/user/lis/app/WebAppConfigurer.class [new file with mode: 0644]
lis-app/target/lis-app-0.0.1-SNAPSHOT.jar [new file with mode: 0644]
lis-app/target/lis-app-0.0.1-SNAPSHOT.jar.original [new file with mode: 0644]
lis-app/target/maven-archiver/pom.properties [new file with mode: 0644]
lis-app/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst [new file with mode: 0644]
lis-app/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst [new file with mode: 0644]
lis-app/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst [new file with mode: 0644]
lis-app/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst [new file with mode: 0644]
lis-app/target/surefire-reports/TEST-hu.user.lis.app.MainTest.xml [new file with mode: 0644]
lis-app/target/surefire-reports/hu.user.lis.app.MainTest.txt [new file with mode: 0644]
lis-app/target/test-classes/hu/user/lis/app/MainTest.class [new file with mode: 0644]
lis-db/pom.xml [new file with mode: 0644]
lis-db/src/main/java/hu/user/lis/db/Supplier.java [new file with mode: 0644]
lis-db/target/classes/hu/user/lis/db/Supplier$SupplierBuilder.class [new file with mode: 0644]
lis-db/target/classes/hu/user/lis/db/Supplier.class [new file with mode: 0644]
lis-db/target/lis-db-0.0.1-SNAPSHOT.jar [new file with mode: 0644]
lis-db/target/lis-db-0.0.1-SNAPSHOT.jar.original [new file with mode: 0644]
lis-db/target/maven-archiver/pom.properties [new file with mode: 0644]
lis-db/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst [new file with mode: 0644]
lis-db/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst [new file with mode: 0644]
lis-services/pom.xml [new file with mode: 0644]
lis-services/src/main/java/hu/user/lis/services/OneTwoService.java [new file with mode: 0644]
lis-services/src/main/java/hu/user/lis/services/data/SupplierService.java [new file with mode: 0644]
lis-services/src/main/java/hu/user/lis/services/data/SupplierServiceImpl.java [new file with mode: 0644]
lis-services/target/classes/hu/user/lis/services/OneTwoService.class [new file with mode: 0644]
lis-services/target/classes/hu/user/lis/services/data/SupplierService.class [new file with mode: 0644]
lis-services/target/classes/hu/user/lis/services/data/SupplierServiceImpl.class [new file with mode: 0644]
lis-services/target/lis-services-0.0.1-SNAPSHOT.jar [new file with mode: 0644]
lis-services/target/maven-archiver/pom.properties [new file with mode: 0644]
lis-services/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst [new file with mode: 0644]
lis-services/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst [new file with mode: 0644]
lis-services/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst [new file with mode: 0644]
lis-ui/pom.xml [new file with mode: 0644]
lis-ui/src/main/java/hu/user/lis/ui/ResourceConfigurer.java [new file with mode: 0644]
lis-ui/src/main/java/hu/user/lis/ui/config/DevelopmentConfig.java [new file with mode: 0644]
lis-ui/src/main/java/hu/user/lis/ui/converter/SupplierToNameConverter.java [new file with mode: 0644]
lis-ui/src/main/java/hu/user/lis/ui/data/CachedDataModel.java [new file with mode: 0644]
lis-ui/src/main/java/hu/user/lis/ui/data/FormDocument.java [new file with mode: 0644]
lis-ui/src/main/java/hu/user/lis/ui/data/SuppliersDataModel.java [new file with mode: 0644]
lis-ui/src/main/java/hu/user/lis/ui/data/SuppliersSimpleDataModel.java [new file with mode: 0644]
lis-ui/src/main/java/hu/user/lis/ui/form/Field.java [new file with mode: 0644]
lis-ui/src/main/java/hu/user/lis/ui/form/FormValidator.java [new file with mode: 0644]
lis-ui/src/main/java/hu/user/lis/ui/view/Index.java [new file with mode: 0644]
lis-ui/src/main/java/hu/user/lis/ui/view/SuppliersViewModel.java [new file with mode: 0644]
lis-ui/src/main/resources/metainfo/zk-label.properties [new file with mode: 0644]
lis-ui/src/main/resources/metainfo/zk-label_hu.properties [new file with mode: 0644]
lis-ui/src/main/resources/metainfo/zk/zk.xml [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/address.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/agreement.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/check.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/checkgroup.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/company.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/current-date.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/date.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/deadline.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/domain.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/double.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/field-label.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/freeperson.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/inline-radio.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/location.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/nobornperson.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/number.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/person-name.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/person.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/publicplace.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/radio.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/radiodate.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/radiodouble.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/radiogroup.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/radionumber.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/rate.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/settlement.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/signature.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/stamp.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/text.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/textarea.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/title-deed-content.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/title-deed.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/fields/zipcode.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/index.zul [new file with mode: 0644]
lis-ui/src/main/resources/web/static/css/skeleton.css [new file with mode: 0644]
lis-ui/src/main/resources/web/static/css/webclient.css [new file with mode: 0644]
lis-ui/src/main/resources/web/static/print.min.css [new file with mode: 0644]
lis-ui/src/main/resources/web/static/print.min.js [new file with mode: 0644]
lis-ui/src/main/resources/web/suppliers.zul [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/ResourceConfigurer.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/config/DevelopmentConfig.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/converter/SupplierToNameConverter.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/data/CachedDataModel.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/data/FormDocument$FormDocumentBuilder.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/data/FormDocument.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/data/SuppliersDataModel.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/data/SuppliersSimpleDataModel.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$Address.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$Agreement.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$Check.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$CheckGroup.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$Company.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$CurrentDate.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$Date.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$Deadline.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$Domain.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$Double.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$FreePerson.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$InlineRadio.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$Location.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$NoBornPerson.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$Number.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$Person.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$PersonName.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$Radio.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$RadioDate.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$RadioDouble.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$RadioGroup.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$RadioNumber.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$Rate.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$Settlement.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$Signature.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$Stamp.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$Text.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$TextArea.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$TitleDeed.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field$ZipCode.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/Field.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/form/FormValidator.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/view/Index.class [new file with mode: 0644]
lis-ui/target/classes/hu/user/lis/ui/view/SuppliersViewModel.class [new file with mode: 0644]
lis-ui/target/classes/metainfo/zk-label.properties [new file with mode: 0644]
lis-ui/target/classes/metainfo/zk-label_hu.properties [new file with mode: 0644]
lis-ui/target/classes/metainfo/zk/zk.xml [new file with mode: 0644]
lis-ui/target/classes/web/fields/address.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/agreement.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/check.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/checkgroup.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/company.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/current-date.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/date.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/deadline.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/domain.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/double.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/field-label.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/freeperson.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/inline-radio.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/location.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/nobornperson.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/number.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/person-name.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/person.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/publicplace.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/radio.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/radiodate.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/radiodouble.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/radiogroup.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/radionumber.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/rate.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/settlement.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/signature.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/stamp.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/text.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/textarea.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/title-deed-content.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/title-deed.zul [new file with mode: 0644]
lis-ui/target/classes/web/fields/zipcode.zul [new file with mode: 0644]
lis-ui/target/classes/web/index.zul [new file with mode: 0644]
lis-ui/target/classes/web/static/css/skeleton.css [new file with mode: 0644]
lis-ui/target/classes/web/static/css/webclient.css [new file with mode: 0644]
lis-ui/target/classes/web/static/print.min.css [new file with mode: 0644]
lis-ui/target/classes/web/static/print.min.js [new file with mode: 0644]
lis-ui/target/classes/web/suppliers.zul [new file with mode: 0644]
lis-ui/target/lis-ui-0.0.1-SNAPSHOT.jar [new file with mode: 0644]
lis-ui/target/maven-archiver/pom.properties [new file with mode: 0644]
lis-ui/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst [new file with mode: 0644]
lis-ui/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst [new file with mode: 0644]
lis-ui/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst [new file with mode: 0644]
lis-ui/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst [new file with mode: 0644]
pom.xml [new file with mode: 0644]

diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644 (file)
index 0000000..eaf91e2
--- /dev/null
@@ -0,0 +1,3 @@
+# Default ignored files\r
+/shelf/\r
+/workspace.xml\r
diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml
new file mode 100644 (file)
index 0000000..df5f35d
--- /dev/null
@@ -0,0 +1,5 @@
+<component name="ProjectCodeStyleConfiguration">\r
+  <state>\r
+    <option name="PREFERRED_PROJECT_CODE_STYLE" value="Default" />\r
+  </state>\r
+</component>
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644 (file)
index 0000000..d470e4f
--- /dev/null
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<project version="4">\r
+  <component name="CompilerConfiguration">\r
+    <wildcardResourcePatterns>\r
+      <entry name="!?*.java" />\r
+      <entry name="!?*.form" />\r
+      <entry name="!?*.class" />\r
+      <entry name="!?*.groovy" />\r
+      <entry name="!?*.scala" />\r
+      <entry name="!?*.flex" />\r
+      <entry name="!?*.kt" />\r
+      <entry name="!?*.clj" />\r
+      <entry name="!?*.aj" />\r
+      <entry name="*.zul" />\r
+    </wildcardResourcePatterns>\r
+    <annotationProcessing>\r
+      <profile default="true" name="Default" enabled="true" />\r
+      <profile name="Maven default annotation processors profile" enabled="true">\r
+        <sourceOutputDir name="target/generated-sources/annotations" />\r
+        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />\r
+        <outputRelativeToContentRoot value="true" />\r
+        <module name="lis-app" />\r
+        <module name="lis-ui" />\r
+        <module name="lis-services" />\r
+        <module name="lis-db" />\r
+      </profile>\r
+    </annotationProcessing>\r
+  </component>\r
+  <component name="JavacSettings">\r
+    <option name="ADDITIONAL_OPTIONS_OVERRIDE">\r
+      <module name="lis-app" options="-parameters" />\r
+      <module name="lis-db" options="-parameters" />\r
+      <module name="lis-services" options="-parameters" />\r
+      <module name="lis-ui" options="-parameters" />\r
+    </option>\r
+  </component>\r
+</project>
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644 (file)
index 0000000..adcfae4
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<project version="4">\r
+  <component name="Encoding">\r
+    <file url="file://$PROJECT_DIR$/lis-app/src/main/java" charset="UTF-8" />\r
+    <file url="file://$PROJECT_DIR$/lis-db/src/main/java" charset="UTF-8" />\r
+    <file url="file://$PROJECT_DIR$/lis-services/src/main/java" charset="UTF-8" />\r
+    <file url="file://$PROJECT_DIR$/lis-ui/src/main/java" charset="UTF-8" />\r
+    <file url="file://$PROJECT_DIR$/lis-ui/src/main/resources" charset="UTF-8" />\r
+    <file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />\r
+    <file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />\r
+  </component>\r
+</project>
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644 (file)
index 0000000..56a25f8
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<project version="4">\r
+  <component name="RemoteRepositoriesConfiguration">\r
+    <remote-repository>\r
+      <option name="id" value="central" />\r
+      <option name="name" value="Central Repository" />\r
+      <option name="url" value="https://repo.maven.apache.org/maven2" />\r
+    </remote-repository>\r
+    <remote-repository>\r
+      <option name="id" value="central" />\r
+      <option name="name" value="Maven Central repository" />\r
+      <option name="url" value="https://repo1.maven.org/maven2" />\r
+    </remote-repository>\r
+    <remote-repository>\r
+      <option name="id" value="jboss.community" />\r
+      <option name="name" value="JBoss Community repository" />\r
+      <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />\r
+    </remote-repository>\r
+    <remote-repository>\r
+      <option name="id" value="ZK CE" />\r
+      <option name="name" value="ZK CE Repository" />\r
+      <option name="url" value="http://mavensync.zkoss.org/maven2" />\r
+    </remote-repository>\r
+  </component>\r
+</project>
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644 (file)
index 0000000..41fc6eb
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<project version="4">\r
+  <component name="ExternalStorageConfigurationManager" enabled="true" />\r
+  <component name="MavenProjectsManager">\r
+    <option name="originalFiles">\r
+      <list>\r
+        <option value="$PROJECT_DIR$/pom.xml" />\r
+      </list>\r
+    </option>\r
+  </component>\r
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK" />\r
+</project>
\ No newline at end of file
diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml
new file mode 100644 (file)
index 0000000..6d50cd4
--- /dev/null
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<project version="4">\r
+  <component name="Palette2">\r
+    <group name="Swing">\r
+      <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">\r
+        <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />\r
+      </item>\r
+      <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">\r
+        <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />\r
+      </item>\r
+      <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">\r
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />\r
+      </item>\r
+      <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">\r
+        <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />\r
+      </item>\r
+      <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">\r
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />\r
+        <initial-values>\r
+          <property name="text" value="Button" />\r
+        </initial-values>\r
+      </item>\r
+      <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">\r
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />\r
+        <initial-values>\r
+          <property name="text" value="RadioButton" />\r
+        </initial-values>\r
+      </item>\r
+      <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">\r
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />\r
+        <initial-values>\r
+          <property name="text" value="CheckBox" />\r
+        </initial-values>\r
+      </item>\r
+      <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">\r
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />\r
+        <initial-values>\r
+          <property name="text" value="Label" />\r
+        </initial-values>\r
+      </item>\r
+      <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">\r
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">\r
+          <preferred-size width="150" height="-1" />\r
+        </default-constraints>\r
+      </item>\r
+      <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">\r
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">\r
+          <preferred-size width="150" height="-1" />\r
+        </default-constraints>\r
+      </item>\r
+      <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">\r
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">\r
+          <preferred-size width="150" height="-1" />\r
+        </default-constraints>\r
+      </item>\r
+      <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">\r
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">\r
+          <preferred-size width="150" height="50" />\r
+        </default-constraints>\r
+      </item>\r
+      <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">\r
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">\r
+          <preferred-size width="150" height="50" />\r
+        </default-constraints>\r
+      </item>\r
+      <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">\r
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">\r
+          <preferred-size width="150" height="50" />\r
+        </default-constraints>\r
+      </item>\r
+      <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">\r
+        <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />\r
+      </item>\r
+      <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">\r
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">\r
+          <preferred-size width="150" height="50" />\r
+        </default-constraints>\r
+      </item>\r
+      <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">\r
+        <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">\r
+          <preferred-size width="150" height="50" />\r
+        </default-constraints>\r
+      </item>\r
+      <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">\r
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">\r
+          <preferred-size width="150" height="50" />\r
+        </default-constraints>\r
+      </item>\r
+      <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">\r
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">\r
+          <preferred-size width="200" height="200" />\r
+        </default-constraints>\r
+      </item>\r
+      <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">\r
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">\r
+          <preferred-size width="200" height="200" />\r
+        </default-constraints>\r
+      </item>\r
+      <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">\r
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />\r
+      </item>\r
+      <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">\r
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />\r
+      </item>\r
+      <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">\r
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />\r
+      </item>\r
+      <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">\r
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />\r
+      </item>\r
+      <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">\r
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">\r
+          <preferred-size width="-1" height="20" />\r
+        </default-constraints>\r
+      </item>\r
+      <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">\r
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />\r
+      </item>\r
+      <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">\r
+        <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />\r
+      </item>\r
+    </group>\r
+  </component>\r
+</project>
\ No newline at end of file
diff --git a/KB.md b/KB.md
new file mode 100644 (file)
index 0000000..dcb1c55
--- /dev/null
+++ b/KB.md
@@ -0,0 +1,66 @@
+##### Spring boot\r
+\r
+https://docs.spring.io/spring-boot/docs/current/reference/html/howto.html#howto-configure-webserver\r
+\r
+##### Spring template\r
+\r
+https://www.thymeleaf.org/doc/articles/springmail.html\r
+\r
+##### Spring properties\r
+\r
+https://docs.spring.io/spring-boot/docs/current/reference/html/appendix-application-properties.html\r
+\r
+##### Spring mongo\r
+\r
+https://www.baeldung.com/spring-data-mongodb-tutorial  \r
+https://www.baeldung.com/cascading-with-dbref-and-lifecycle-events-in-spring-data-mongodb  \r
+https://docs.mongodb.com/manual/reference/connection-string/#connections-connection-options\r
+\r
+##### Spring mybatis\r
+\r
+https://github.com/lxl5lxl5lxl/springboot-mybatis-hikariCP-sample/blob/master/pom.xml  \r
+https://www.baeldung.com/hikaricp  \r
+https://www.baeldung.com/spring-boot-hikari  \r
+https://mybatis.org/spring/mappers.html  \r
+https://medium.com/@d.lopez.j/spring-boot-mybatis-multiple-datasources-and-multiple-mappers-all-together-holding-hands-be74673c6a9f\r
+\r
+##### Spring Quartz\r
+\r
+https://www.baeldung.com/spring-quartz-schedule\r
+\r
+##### Spring email\r
+\r
+https://www.baeldung.com/spring-email\r
+\r
+##### ZK\r
+\r
+https://www.zkoss.org/wiki/ZK_Configuration_Reference/zk.xml/The_Library_Properties\r
+https://www.zkoss.org/wiki/ZK_Developer%27s_Reference/Performance_Tips  \r
+https://www.zkoss.org/wiki/ZK%20Developer%27s%20Reference/Performance%20Tips/Listbox,%20Grid%20and%20Tree%20for%20Huge%20Data/Implement%20ListModel%20and%20TreeModel  \r
+https://www.zkoss.org/wiki/ZK_Developer%27s_Reference/MVC/Controller/Wire_Variables  \r
+https://www.zkoss.org/wiki/ZK_Client-side_Reference/General_Control/Client-side_selection_of_elements_and_widgets  \r
+https://www.zkoss.org/wiki/ZK_Developer%27s_Reference/Testing/Testing_Tips  \r
+https://www.zkoss.org/wiki/Small_Talks/2013/October/ZK_Testing_with_Sahi\r
+\r
+##### Spring ZK\r
+\r
+https://www.zkoss.org/wiki/ZK_Installation_Guide/Quick_Start/Create_and_Run_Your_First_ZK_Application_with_Spring_Boot\r
+https://github.com/zkoss/zkspringboot#configuration-options-for-spring-boot-style-applicationproperties\r
+https://www.zkoss.org/wiki/ZK_Developer's_Reference/Supporting_Utilities/Logger\r
+https://www.zkoss.org/wiki/ZK_Developer's_Reference/MVC/Controller/Wire_Variables\r
+https://www.zkoss.org/wiki/ZK_Developer's_Reference/UI_Composing/ZUML/Load_ZUML_in_Java\r
+https://www.zkoss.org/javadoc/8.5.0/jsdoc/index.html?zk/Widget.html\r
+http://books.zkoss.org/zk-mvvm-book/8.0/index.html\r
+https://www.zkoss.org/documentation#References\r
+\r
+##### ZK Style\r
+\r
+https://www.zkoss.org/wiki/ZK_Developer's_Reference/Theming_and_Styling/ZK_Official_Themes\r
+https://www.zkoss.org/wiki/ZK_Developer%27s_Reference/Theming_and_Styling/Customizing_Standard_Themes\r
+https://www.zkoss.org/wiki/Small_Talks/2018/November/New_Features_of_ZK_8.6.0#Refresh_Theme_without_Code_Change_-_Compact_Theme\r
+https://blog.zkoss.org/2013/11/26/online-themeroller-for-zk-7-0/\r
+https://fontawesomelib.com/releases/4.0.1/list/all/index.html?q=eye\r
+\r
+##### ZK Wirevariable\r
+\r
+A típussal eggyező változó nevet kell adni, különben nem találja meg!!!
\ No newline at end of file
diff --git a/lis-app/pom.xml b/lis-app/pom.xml
new file mode 100644 (file)
index 0000000..267a9ff
--- /dev/null
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">\r
+    <modelVersion>4.0.0</modelVersion>\r
+    <groupId>hu.user</groupId>\r
+    <artifactId>lis-app</artifactId>\r
+    <version>0.0.1-SNAPSHOT</version>\r
+    <parent>\r
+        <groupId>hu.user</groupId>\r
+        <artifactId>lis</artifactId>\r
+        <version>0.0.1-SNAPSHOT</version>\r
+    </parent>\r
+    <!-- https://spring.io/guides/gs/multi-module/ -->\r
+    <!--    <packaging>war</packaging>-->\r
+    <build>\r
+        <plugins>\r
+            <plugin>\r
+                <groupId>org.springframework.boot</groupId>\r
+                <artifactId>spring-boot-maven-plugin</artifactId>\r
+                <executions>\r
+                    <execution>\r
+                        <id>build-info</id>\r
+                        <goals>\r
+                            <goal>build-info</goal>\r
+                        </goals>\r
+                    </execution>\r
+                </executions>\r
+            </plugin>\r
+            <plugin>\r
+                <groupId>org.apache.maven.plugins</groupId>\r
+                <artifactId>maven-war-plugin</artifactId>\r
+                <configuration>\r
+                    <archive>\r
+                        <manifestEntries>\r
+                            <mode>development</mode>\r
+                            <url>${project.url}</url>\r
+                            <key>value</key>\r
+                        </manifestEntries>\r
+                    </archive>\r
+                    <!--                    <webResources>-->\r
+                    <!--                        <resource>-->\r
+                    <!--                            <directory>../camunda-lib/src/main/resources/</directory>-->\r
+                    <!--                            <targetPath>WEB-INF/classes</targetPath>-->\r
+                    <!--                            <includes>-->\r
+                    <!--                                <include>loanApproval.bpmn</include>-->\r
+                    <!--                            </includes>-->\r
+                    <!--                        </resource>-->\r
+                    <!--                    </webResources>-->\r
+                </configuration>\r
+            </plugin>\r
+        </plugins>\r
+    </build>\r
+    <dependencies>\r
+        <dependency>\r
+            <groupId>org.springframework.boot</groupId>\r
+            <artifactId>spring-boot-starter-actuator</artifactId>\r
+            <!--            <exclusions>-->\r
+            <!--                <exclusion>-->\r
+            <!--                    <groupId>ch.qos.logback</groupId>-->\r
+            <!--                    <artifactId>logback-classic</artifactId>-->\r
+            <!--                </exclusion>-->\r
+            <!--            </exclusions>-->\r
+\r
+        </dependency>\r
+        <!--        <dependency>-->\r
+        <!--            <groupId>javax.servlet</groupId>-->\r
+        <!--            <artifactId>javax.servlet-api</artifactId>-->\r
+        <!--            <version>4.0.0</version>-->\r
+        <!--            <scope>provided</scope>-->\r
+        <!--        </dependency>-->\r
+        <dependency>\r
+            <groupId>org.springframework.boot</groupId>\r
+            <artifactId>spring-boot-starter-web</artifactId>\r
+            <exclusions>\r
+                <exclusion>\r
+                    <groupId>org.apache.tomcat.embed</groupId>\r
+                    <artifactId>tomcat-embed-websocket</artifactId>\r
+                </exclusion>\r
+                <exclusion>\r
+                    <groupId>org.springframework.boot</groupId>\r
+                    <artifactId>spring-boot-starter-tomcat</artifactId>\r
+                </exclusion>\r
+            </exclusions>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.springframework.boot</groupId>\r
+            <artifactId>spring-boot-starter-undertow</artifactId>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.springframework.boot</groupId>\r
+            <artifactId>spring-boot-starter-test</artifactId>\r
+            <scope>test</scope>\r
+            <exclusions>\r
+                <exclusion>\r
+                    <groupId>org.junit.vintage</groupId>\r
+                    <artifactId>junit-vintage-engine</artifactId>\r
+                </exclusion>\r
+            </exclusions>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.fusesource.jansi</groupId>\r
+            <artifactId>jansi</artifactId>\r
+            <version>2.3.4</version>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>hu.user</groupId>\r
+            <artifactId>lis-ui</artifactId>\r
+            <version>0.0.1-SNAPSHOT</version>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>hu.user</groupId>\r
+            <artifactId>lis-db</artifactId>\r
+            <version>0.0.1-SNAPSHOT</version>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>hu.user</groupId>\r
+            <artifactId>lis-services</artifactId>\r
+            <version>0.0.1-SNAPSHOT</version>\r
+        </dependency>\r
+    </dependencies>\r
+</project>\r
diff --git a/lis-app/src/main/java/hu/user/lis/app/LoggerConfiguration.java b/lis-app/src/main/java/hu/user/lis/app/LoggerConfiguration.java
new file mode 100644 (file)
index 0000000..2828a4a
--- /dev/null
@@ -0,0 +1,30 @@
+/*\r
+ * Copyright (c) $today.year-$today.month-24.\r
+ * By elGekko\r
+ */\r
+\r
+package hu.user.lis.app;\r
+\r
+import org.slf4j.Logger;\r
+import org.slf4j.LoggerFactory;\r
+import org.springframework.beans.factory.InjectionPoint;\r
+import org.springframework.beans.factory.config.ConfigurableBeanFactory;\r
+import org.springframework.context.annotation.Bean;\r
+import org.springframework.context.annotation.Configuration;\r
+import org.springframework.context.annotation.Scope;\r
+\r
+@Configuration\r
+public class LoggerConfiguration {\r
+\r
+    @Bean\r
+    @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)\r
+    public Logger logger(InjectionPoint ip) {\r
+        final Class lClass;\r
+        if (ip.getMethodParameter() == null)\r
+            lClass = ip.getField().getDeclaringClass();\r
+        else\r
+            lClass = ip.getMethodParameter().getContainingClass();\r
+        return LoggerFactory.getLogger(lClass);\r
+    }\r
+\r
+}
\ No newline at end of file
diff --git a/lis-app/src/main/java/hu/user/lis/app/Main.java b/lis-app/src/main/java/hu/user/lis/app/Main.java
new file mode 100644 (file)
index 0000000..1963b44
--- /dev/null
@@ -0,0 +1,53 @@
+/*\r
+ * Copyright (c) $today.year-$today.month-24.\r
+ * By elGekko\r
+ */\r
+\r
+package hu.user.lis.app;\r
+\r
+import org.apache.logging.log4j.LogManager;\r
+import org.apache.logging.log4j.Logger;\r
+import org.springframework.boot.SpringApplication;\r
+import org.springframework.boot.autoconfigure.SpringBootApplication;\r
+import org.springframework.boot.builder.SpringApplicationBuilder;\r
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;\r
+import org.springframework.context.ApplicationContext;\r
+import org.springframework.context.ApplicationListener;\r
+import org.springframework.context.event.ContextRefreshedEvent;\r
+import org.springframework.core.SpringVersion;\r
+import org.springframework.web.servlet.config.annotation.EnableWebMvc;\r
+\r
+@SpringBootApplication(scanBasePackages = {"hu.user.lis"})\r
+@EnableWebMvc\r
+public class Main extends SpringBootServletInitializer implements ApplicationListener<ContextRefreshedEvent> {\r
+\r
+    private static final Logger logger = LogManager.getLogger();\r
+\r
+    public static void main(String[] args) {\r
+//        AnsiConsole.systemInstall();\r
+//        System.out.println( ansi().eraseScreen());\r
+        logger.info("Spring version: {}", SpringVersion.getVersion());\r
+        ApplicationContext applicationContext = SpringApplication.run(Main.class, args);\r
+        //dumpComponents(applicationContext);\r
+//        AnsiConsole.systemUninstall();\r
+    }\r
+\r
+    @Override\r
+    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {\r
+        logger.info("Starting configure");\r
+        return builder.sources(Main.class);\r
+    }\r
+\r
+\r
+    private static void dumpComponents(ApplicationContext applicationContext) {\r
+        for (String beanName : applicationContext.getBeanDefinitionNames()) {\r
+            logger.info("Found {}", beanName);\r
+        }\r
+    }\r
+\r
+    @Override\r
+    public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {\r
+        logger.info("Context refreshed");\r
+    }\r
+\r
+}\r
diff --git a/lis-app/src/main/java/hu/user/lis/app/WebAppConfigurer.java b/lis-app/src/main/java/hu/user/lis/app/WebAppConfigurer.java
new file mode 100644 (file)
index 0000000..5d6888b
--- /dev/null
@@ -0,0 +1,34 @@
+/*\r
+ * Copyright (c) $today.year-$today.month-24.\r
+ * By elGekko\r
+ */\r
+\r
+package hu.user.lis.app;\r
+\r
+import org.slf4j.Logger;\r
+import org.springframework.beans.factory.annotation.Autowired;\r
+import org.springframework.context.annotation.Configuration;\r
+import org.springframework.web.servlet.config.annotation.EnableWebMvc;\r
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;\r
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;\r
+\r
+\r
+@Configuration\r
+@EnableWebMvc\r
+public class WebAppConfigurer implements WebMvcConfigurer {\r
+    @Autowired\r
+    private Logger logger;\r
+\r
+    //Fajlok kiszolgalasa kulso mappabol es a war-bol\r
+    @Override\r
+    public void addResourceHandlers(ResourceHandlerRegistry registry) {\r
+        registry\r
+                .addResourceHandler("/files/**")\r
+                .addResourceLocations("file:/opt/");\r
+        logger.info("Resource handlers added");\r
+//        registry\r
+//                .addResourceHandler("/resources/**")\r
+//                .addResourceLocations("/resources/");\r
+    }\r
+\r
+}\r
diff --git a/lis-app/src/main/resources/application-suppliers.yaml b/lis-app/src/main/resources/application-suppliers.yaml
new file mode 100644 (file)
index 0000000..3329485
--- /dev/null
@@ -0,0 +1,51 @@
+### HTTP server\r
+server:\r
+  port: 8080\r
+  servlet:\r
+    context-path: /\r
+\r
+### ZKoss\r
+zk:\r
+  homepage: suppliers\r
+  zul-view-resolver-enabled: true\r
+### Spring\r
+spring:\r
+  main:\r
+    banner-mode: off\r
+  output:\r
+    ansi:\r
+      enabled: always\r
+  mail:\r
+    host: smtp.gmail.com\r
+    port: 465\r
+    username: mediacubeserver@gmail.com\r
+    password: salabakter\r
+    protocol: smtps\r
+    properties:\r
+      mail:\r
+        smtp:\r
+          auth: true\r
+          starttls:\r
+            enable: true\r
+  #datasources:\r
+  #  maszkaweb:\r
+  #    driver-class-name: com.mysql.jdbc.Driver\r
+  #    type: com.zaxxer.hikari.HikariDataSource\r
+  #    jdbcUrl: jdbc:mysql://localhost:3306/maszkaweb?useUnicode=true&characterEncoding=UTF-8\r
+  #    username: root\r
+  #    password: password\r
+  #    pool-name: pool-maszkaweb\r
+  #    maximum-pool-size: 50\r
+  #    minimum-idle: 10\r
+  datasource:\r
+    #    driver-class-name: com.mysql.jdbc.Driver\r
+    type: com.zaxxer.hikari.HikariDataSource\r
+    url: jdbc:db2://localvm:50000/testmc\r
+    username: db2admin\r
+    password: password\r
+    hikari:\r
+      pool-name: testmc\r
+      maximum-pool-size: 50\r
+      minimum-idle: 10\r
+service:\r
+  message: Hello, World\r
diff --git a/lis-app/src/main/resources/application.yaml b/lis-app/src/main/resources/application.yaml
new file mode 100644 (file)
index 0000000..42ec298
--- /dev/null
@@ -0,0 +1,53 @@
+### HTTP server\r
+server:\r
+  port: 8080\r
+  servlet:\r
+    context-path: /\r
+\r
+### ZKoss\r
+zk:\r
+  homepage: index\r
+  zul-view-resolver-enabled: true\r
+### Spring\r
+spring:\r
+  #active: dev\r
+  #  profiles:\r
+  #main:\r
+  #    banner-mode: off\r
+  output:\r
+    ansi:\r
+      enabled: always\r
+  mail:\r
+    host: smtp.gmail.com\r
+    port: 465\r
+    username: mediacubeserver@gmail.com\r
+    password: salabakter\r
+    protocol: smtps\r
+    properties:\r
+      mail:\r
+        smtp:\r
+          auth: true\r
+          starttls:\r
+            enable: true\r
+  #datasources:\r
+  #  maszkaweb:\r
+  #    driver-class-name: com.mysql.jdbc.Driver\r
+  #    type: com.zaxxer.hikari.HikariDataSource\r
+  #    jdbcUrl: jdbc:mysql://localhost:3306/maszkaweb?useUnicode=true&characterEncoding=UTF-8\r
+  #    username: root\r
+  #    password: password\r
+  #    pool-name: pool-maszkaweb\r
+  #    maximum-pool-size: 50\r
+  #    minimum-idle: 10\r
+  datasource:\r
+    #    driver-class-name: com.mysql.jdbc.Driver\r
+    type: com.zaxxer.hikari.HikariDataSource\r
+    url: jdbc:db2://localvm:50000/testmc\r
+    username: db2admin\r
+    password: password\r
+    hikari:\r
+      pool-name: testmc\r
+      maximum-pool-size: 50\r
+      minimum-idle: 10\r
+service:\r
+  message: Hello, World\r
diff --git a/lis-app/src/test/java/hu/user/lis/app/MainTest.java b/lis-app/src/test/java/hu/user/lis/app/MainTest.java
new file mode 100644 (file)
index 0000000..c932764
--- /dev/null
@@ -0,0 +1,21 @@
+/*\r
+ * Copyright (c) $today.year-$today.month-24.\r
+ * By elGekko\r
+ */\r
+\r
+package hu.user.lis.app;\r
+\r
+import org.junit.jupiter.api.Test;\r
+import org.springframework.boot.test.context.SpringBootTest;\r
+\r
+\r
+@SpringBootTest\r
+public class MainTest {\r
+\r
+\r
+    @Test\r
+    public void contextLoads() {\r
+\r
+    }\r
+\r
+}\r
diff --git a/lis-app/target/classes/META-INF/build-info.properties b/lis-app/target/classes/META-INF/build-info.properties
new file mode 100644 (file)
index 0000000..d80efad
--- /dev/null
@@ -0,0 +1,5 @@
+build.artifact=lis-app\r
+build.group=hu.user\r
+build.name=lis-app\r
+build.time=2023-04-03T13\:01\:51.286Z\r
+build.version=0.0.1-SNAPSHOT\r
diff --git a/lis-app/target/classes/application-suppliers.yaml b/lis-app/target/classes/application-suppliers.yaml
new file mode 100644 (file)
index 0000000..3329485
--- /dev/null
@@ -0,0 +1,51 @@
+### HTTP server\r
+server:\r
+  port: 8080\r
+  servlet:\r
+    context-path: /\r
+\r
+### ZKoss\r
+zk:\r
+  homepage: suppliers\r
+  zul-view-resolver-enabled: true\r
+### Spring\r
+spring:\r
+  main:\r
+    banner-mode: off\r
+  output:\r
+    ansi:\r
+      enabled: always\r
+  mail:\r
+    host: smtp.gmail.com\r
+    port: 465\r
+    username: mediacubeserver@gmail.com\r
+    password: salabakter\r
+    protocol: smtps\r
+    properties:\r
+      mail:\r
+        smtp:\r
+          auth: true\r
+          starttls:\r
+            enable: true\r
+  #datasources:\r
+  #  maszkaweb:\r
+  #    driver-class-name: com.mysql.jdbc.Driver\r
+  #    type: com.zaxxer.hikari.HikariDataSource\r
+  #    jdbcUrl: jdbc:mysql://localhost:3306/maszkaweb?useUnicode=true&characterEncoding=UTF-8\r
+  #    username: root\r
+  #    password: password\r
+  #    pool-name: pool-maszkaweb\r
+  #    maximum-pool-size: 50\r
+  #    minimum-idle: 10\r
+  datasource:\r
+    #    driver-class-name: com.mysql.jdbc.Driver\r
+    type: com.zaxxer.hikari.HikariDataSource\r
+    url: jdbc:db2://localvm:50000/testmc\r
+    username: db2admin\r
+    password: password\r
+    hikari:\r
+      pool-name: testmc\r
+      maximum-pool-size: 50\r
+      minimum-idle: 10\r
+service:\r
+  message: Hello, World\r
diff --git a/lis-app/target/classes/application.yaml b/lis-app/target/classes/application.yaml
new file mode 100644 (file)
index 0000000..42ec298
--- /dev/null
@@ -0,0 +1,53 @@
+### HTTP server\r
+server:\r
+  port: 8080\r
+  servlet:\r
+    context-path: /\r
+\r
+### ZKoss\r
+zk:\r
+  homepage: index\r
+  zul-view-resolver-enabled: true\r
+### Spring\r
+spring:\r
+  #active: dev\r
+  #  profiles:\r
+  #main:\r
+  #    banner-mode: off\r
+  output:\r
+    ansi:\r
+      enabled: always\r
+  mail:\r
+    host: smtp.gmail.com\r
+    port: 465\r
+    username: mediacubeserver@gmail.com\r
+    password: salabakter\r
+    protocol: smtps\r
+    properties:\r
+      mail:\r
+        smtp:\r
+          auth: true\r
+          starttls:\r
+            enable: true\r
+  #datasources:\r
+  #  maszkaweb:\r
+  #    driver-class-name: com.mysql.jdbc.Driver\r
+  #    type: com.zaxxer.hikari.HikariDataSource\r
+  #    jdbcUrl: jdbc:mysql://localhost:3306/maszkaweb?useUnicode=true&characterEncoding=UTF-8\r
+  #    username: root\r
+  #    password: password\r
+  #    pool-name: pool-maszkaweb\r
+  #    maximum-pool-size: 50\r
+  #    minimum-idle: 10\r
+  datasource:\r
+    #    driver-class-name: com.mysql.jdbc.Driver\r
+    type: com.zaxxer.hikari.HikariDataSource\r
+    url: jdbc:db2://localvm:50000/testmc\r
+    username: db2admin\r
+    password: password\r
+    hikari:\r
+      pool-name: testmc\r
+      maximum-pool-size: 50\r
+      minimum-idle: 10\r
+service:\r
+  message: Hello, World\r
diff --git a/lis-app/target/classes/hu/user/lis/app/LoggerConfiguration.class b/lis-app/target/classes/hu/user/lis/app/LoggerConfiguration.class
new file mode 100644 (file)
index 0000000..53ed0c6
Binary files /dev/null and b/lis-app/target/classes/hu/user/lis/app/LoggerConfiguration.class differ
diff --git a/lis-app/target/classes/hu/user/lis/app/Main.class b/lis-app/target/classes/hu/user/lis/app/Main.class
new file mode 100644 (file)
index 0000000..98f4747
Binary files /dev/null and b/lis-app/target/classes/hu/user/lis/app/Main.class differ
diff --git a/lis-app/target/classes/hu/user/lis/app/WebAppConfigurer.class b/lis-app/target/classes/hu/user/lis/app/WebAppConfigurer.class
new file mode 100644 (file)
index 0000000..48d5f95
Binary files /dev/null and b/lis-app/target/classes/hu/user/lis/app/WebAppConfigurer.class differ
diff --git a/lis-app/target/lis-app-0.0.1-SNAPSHOT.jar b/lis-app/target/lis-app-0.0.1-SNAPSHOT.jar
new file mode 100644 (file)
index 0000000..c41b504
Binary files /dev/null and b/lis-app/target/lis-app-0.0.1-SNAPSHOT.jar differ
diff --git a/lis-app/target/lis-app-0.0.1-SNAPSHOT.jar.original b/lis-app/target/lis-app-0.0.1-SNAPSHOT.jar.original
new file mode 100644 (file)
index 0000000..fed4ae3
Binary files /dev/null and b/lis-app/target/lis-app-0.0.1-SNAPSHOT.jar.original differ
diff --git a/lis-app/target/maven-archiver/pom.properties b/lis-app/target/maven-archiver/pom.properties
new file mode 100644 (file)
index 0000000..96d3264
--- /dev/null
@@ -0,0 +1,3 @@
+version=0.0.1-SNAPSHOT\r
+groupId=hu.user\r
+artifactId=lis-app\r
diff --git a/lis-app/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/lis-app/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644 (file)
index 0000000..24b6e33
--- /dev/null
@@ -0,0 +1,3 @@
+hu\user\lis\app\Main.class
+hu\user\lis\app\WebAppConfigurer.class
+hu\user\lis\app\LoggerConfiguration.class
diff --git a/lis-app/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/lis-app/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644 (file)
index 0000000..debdb05
--- /dev/null
@@ -0,0 +1,3 @@
+C:\work\user\lis\lis-app\src\main\java\hu\user\lis\app\Main.java
+C:\work\user\lis\lis-app\src\main\java\hu\user\lis\app\LoggerConfiguration.java
+C:\work\user\lis\lis-app\src\main\java\hu\user\lis\app\WebAppConfigurer.java
diff --git a/lis-app/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/lis-app/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
new file mode 100644 (file)
index 0000000..62dd808
--- /dev/null
@@ -0,0 +1 @@
+hu\user\lis\app\MainTest.class
diff --git a/lis-app/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/lis-app/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
new file mode 100644 (file)
index 0000000..d789f9e
--- /dev/null
@@ -0,0 +1 @@
+C:\work\user\lis\lis-app\src\test\java\hu\user\lis\app\MainTest.java
diff --git a/lis-app/target/surefire-reports/TEST-hu.user.lis.app.MainTest.xml b/lis-app/target/surefire-reports/TEST-hu.user.lis.app.MainTest.xml
new file mode 100644 (file)
index 0000000..0060b50
--- /dev/null
@@ -0,0 +1,306 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="hu.user.lis.app.MainTest" time="1.085" tests="1" errors="1" skipped="0" failures="0">\r
+  <properties>\r
+    <property name="sun.desktop" value="windows"/>\r
+    <property name="awt.toolkit" value="sun.awt.windows.WToolkit"/>\r
+    <property name="file.encoding.pkg" value="sun.io"/>\r
+    <property name="java.specification.version" value="1.8"/>\r
+    <property name="sun.cpu.isalist" value="amd64"/>\r
+    <property name="sun.jnu.encoding" value="Cp1250"/>\r
+    <property name="java.class.path" value="C:\work\user\lis\lis-app\target\test-classes;C:\work\user\lis\lis-app\target\classes;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot-starter-actuator\2.2.4.RELEASE\spring-boot-starter-actuator-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot-starter\2.2.4.RELEASE\spring-boot-starter-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot\2.2.4.RELEASE\spring-boot-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\2.2.4.RELEASE\spring-boot-autoconfigure-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot-starter-logging\2.2.4.RELEASE\spring-boot-starter-logging-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;C:\Users\elgekko\.m2\repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;C:\Users\elgekko\.m2\repository\org\apache\logging\log4j\log4j-to-slf4j\2.12.1\log4j-to-slf4j-2.12.1.jar;C:\Users\elgekko\.m2\repository\org\slf4j\jul-to-slf4j\1.7.30\jul-to-slf4j-1.7.30.jar;C:\Users\elgekko\.m2\repository\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;C:\Users\elgekko\.m2\repository\org\yaml\snakeyaml\1.25\snakeyaml-1.25.jar;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot-actuator-autoconfigure\2.2.4.RELEASE\spring-boot-actuator-autoconfigure-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot-actuator\2.2.4.RELEASE\spring-boot-actuator-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.10.2\jackson-databind-2.10.2.jar;C:\Users\elgekko\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.10.2\jackson-annotations-2.10.2.jar;C:\Users\elgekko\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.10.2\jackson-core-2.10.2.jar;C:\Users\elgekko\.m2\repository\org\springframework\spring-context\5.2.3.RELEASE\spring-context-5.2.3.RELEASE.jar;C:\Users\elgekko\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.10.2\jackson-datatype-jsr310-2.10.2.jar;C:\Users\elgekko\.m2\repository\io\micrometer\micrometer-core\1.3.2\micrometer-core-1.3.2.jar;C:\Users\elgekko\.m2\repository\org\hdrhistogram\HdrHistogram\2.1.11\HdrHistogram-2.1.11.jar;C:\Users\elgekko\.m2\repository\org\latencyutils\LatencyUtils\2.0.3\LatencyUtils-2.0.3.jar;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot-starter-web\2.2.4.RELEASE\spring-boot-starter-web-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot-starter-json\2.2.4.RELEASE\spring-boot-starter-json-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.10.2\jackson-datatype-jdk8-2.10.2.jar;C:\Users\elgekko\.m2\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.10.2\jackson-module-parameter-names-2.10.2.jar;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot-starter-validation\2.2.4.RELEASE\spring-boot-starter-validation-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\jakarta\validation\jakarta.validation-api\2.0.2\jakarta.validation-api-2.0.2.jar;C:\Users\elgekko\.m2\repository\org\hibernate\validator\hibernate-validator\6.0.18.Final\hibernate-validator-6.0.18.Final.jar;C:\Users\elgekko\.m2\repository\com\fasterxml\classmate\1.5.1\classmate-1.5.1.jar;C:\Users\elgekko\.m2\repository\org\springframework\spring-web\5.2.3.RELEASE\spring-web-5.2.3.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\spring-webmvc\5.2.3.RELEASE\spring-webmvc-5.2.3.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\spring-aop\5.2.3.RELEASE\spring-aop-5.2.3.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\spring-expression\5.2.3.RELEASE\spring-expression-5.2.3.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot-starter-undertow\2.2.4.RELEASE\spring-boot-starter-undertow-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\io\undertow\undertow-core\2.0.29.Final\undertow-core-2.0.29.Final.jar;C:\Users\elgekko\.m2\repository\org\jboss\logging\jboss-logging\3.4.1.Final\jboss-logging-3.4.1.Final.jar;C:\Users\elgekko\.m2\repository\org\jboss\xnio\xnio-api\3.3.8.Final\xnio-api-3.3.8.Final.jar;C:\Users\elgekko\.m2\repository\org\jboss\xnio\xnio-nio\3.3.8.Final\xnio-nio-3.3.8.Final.jar;C:\Users\elgekko\.m2\repository\io\undertow\undertow-servlet\2.0.29.Final\undertow-servlet-2.0.29.Final.jar;C:\Users\elgekko\.m2\repository\org\jboss\spec\javax\annotation\jboss-annotations-api_1.2_spec\1.0.2.Final\jboss-annotations-api_1.2_spec-1.0.2.Final.jar;C:\Users\elgekko\.m2\repository\io\undertow\undertow-websockets-jsr\2.0.29.Final\undertow-websockets-jsr-2.0.29.Final.jar;C:\Users\elgekko\.m2\repository\org\jboss\spec\javax\websocket\jboss-websocket-api_1.1_spec\1.1.4.Final\jboss-websocket-api_1.1_spec-1.1.4.Final.jar;C:\Users\elgekko\.m2\repository\jakarta\servlet\jakarta.servlet-api\4.0.3\jakarta.servlet-api-4.0.3.jar;C:\Users\elgekko\.m2\repository\org\glassfish\jakarta.el\3.0.3\jakarta.el-3.0.3.jar;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot-starter-test\2.2.4.RELEASE\spring-boot-starter-test-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot-test\2.2.4.RELEASE\spring-boot-test-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot-test-autoconfigure\2.2.4.RELEASE\spring-boot-test-autoconfigure-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\com\jayway\jsonpath\json-path\2.4.0\json-path-2.4.0.jar;C:\Users\elgekko\.m2\repository\net\minidev\json-smart\2.3\json-smart-2.3.jar;C:\Users\elgekko\.m2\repository\net\minidev\accessors-smart\1.2\accessors-smart-1.2.jar;C:\Users\elgekko\.m2\repository\org\ow2\asm\asm\5.0.4\asm-5.0.4.jar;C:\Users\elgekko\.m2\repository\org\slf4j\slf4j-api\1.7.30\slf4j-api-1.7.30.jar;C:\Users\elgekko\.m2\repository\jakarta\xml\bind\jakarta.xml.bind-api\2.3.2\jakarta.xml.bind-api-2.3.2.jar;C:\Users\elgekko\.m2\repository\jakarta\activation\jakarta.activation-api\1.2.1\jakarta.activation-api-1.2.1.jar;C:\Users\elgekko\.m2\repository\org\junit\jupiter\junit-jupiter\5.5.2\junit-jupiter-5.5.2.jar;C:\Users\elgekko\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.5.2\junit-jupiter-api-5.5.2.jar;C:\Users\elgekko\.m2\repository\org\apiguardian\apiguardian-api\1.1.0\apiguardian-api-1.1.0.jar;C:\Users\elgekko\.m2\repository\org\opentest4j\opentest4j\1.2.0\opentest4j-1.2.0.jar;C:\Users\elgekko\.m2\repository\org\junit\platform\junit-platform-commons\1.5.2\junit-platform-commons-1.5.2.jar;C:\Users\elgekko\.m2\repository\org\junit\jupiter\junit-jupiter-params\5.5.2\junit-jupiter-params-5.5.2.jar;C:\Users\elgekko\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.5.2\junit-jupiter-engine-5.5.2.jar;C:\Users\elgekko\.m2\repository\org\junit\platform\junit-platform-engine\1.5.2\junit-platform-engine-1.5.2.jar;C:\Users\elgekko\.m2\repository\org\mockito\mockito-junit-jupiter\3.1.0\mockito-junit-jupiter-3.1.0.jar;C:\Users\elgekko\.m2\repository\org\assertj\assertj-core\3.13.2\assertj-core-3.13.2.jar;C:\Users\elgekko\.m2\repository\org\hamcrest\hamcrest\2.1\hamcrest-2.1.jar;C:\Users\elgekko\.m2\repository\org\mockito\mockito-core\3.1.0\mockito-core-3.1.0.jar;C:\Users\elgekko\.m2\repository\net\bytebuddy\byte-buddy\1.10.6\byte-buddy-1.10.6.jar;C:\Users\elgekko\.m2\repository\net\bytebuddy\byte-buddy-agent\1.10.6\byte-buddy-agent-1.10.6.jar;C:\Users\elgekko\.m2\repository\org\objenesis\objenesis\2.6\objenesis-2.6.jar;C:\Users\elgekko\.m2\repository\org\skyscreamer\jsonassert\1.5.0\jsonassert-1.5.0.jar;C:\Users\elgekko\.m2\repository\com\vaadin\external\google\android-json\0.0.20131108.vaadin1\android-json-0.0.20131108.vaadin1.jar;C:\Users\elgekko\.m2\repository\org\springframework\spring-core\5.2.3.RELEASE\spring-core-5.2.3.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\spring-jcl\5.2.3.RELEASE\spring-jcl-5.2.3.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\spring-test\5.2.3.RELEASE\spring-test-5.2.3.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\xmlunit\xmlunit-core\2.6.3\xmlunit-core-2.6.3.jar;C:\Users\elgekko\.m2\repository\org\fusesource\jansi\jansi\2.3.4\jansi-2.3.4.jar;C:\work\user\lis\lis-ui\target\lis-ui-0.0.1-SNAPSHOT.jar;C:\Users\elgekko\.m2\repository\org\javassist\javassist\3.26.0-GA\javassist-3.26.0-GA.jar;C:\Users\elgekko\.m2\repository\org\beanshell\bsh\2.0b5\bsh-2.0b5.jar;C:\Users\elgekko\.m2\repository\commons-fileupload\commons-fileupload\1.3\commons-fileupload-1.3.jar;C:\Users\elgekko\.m2\repository\commons-io\commons-io\2.2\commons-io-2.2.jar;C:\Users\elgekko\.m2\repository\com\google\code\gson\gson\2.8.6\gson-2.8.6.jar;C:\Users\elgekko\.m2\repository\org\springframework\spring-beans\5.2.3.RELEASE\spring-beans-5.2.3.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\zkoss\zkspringboot\zkspringboot-starter\1.0.4\zkspringboot-starter-1.0.4.jar;C:\Users\elgekko\.m2\repository\org\zkoss\zkspringboot\zkspringboot-autoconfig\1.0.4\zkspringboot-autoconfig-1.0.4.jar;C:\Users\elgekko\.m2\repository\org\zkoss\zk\zk\9.6.0\zk-9.6.0.jar;C:\Users\elgekko\.m2\repository\org\zkoss\common\zweb\9.6.0\zweb-9.6.0.jar;C:\Users\elgekko\.m2\repository\org\zkoss\common\zcommon\9.6.0\zcommon-9.6.0.jar;C:\Users\elgekko\.m2\repository\org\zkoss\common\zel\9.6.0\zel-9.6.0.jar;C:\Users\elgekko\.m2\repository\org\apache-extras\beanshell\bsh\2.0b6\bsh-2.0b6.jar;C:\Users\elgekko\.m2\repository\org\zkoss\zk\zkwebfragment\9.6.0\zkwebfragment-9.6.0.jar;C:\Users\elgekko\.m2\repository\org\zkoss\zk\zul\9.6.0\zul-9.6.0.jar;C:\Users\elgekko\.m2\repository\org\zkoss\zk\zkbind\9.6.0\zkbind-9.6.0.jar;C:\Users\elgekko\.m2\repository\org\zkoss\zk\zkplus\9.6.0\zkplus-9.6.0.jar;C:\Users\elgekko\.m2\repository\org\zkoss\zk\zhtml\9.6.0\zhtml-9.6.0.jar;C:\Users\elgekko\.m2\repository\org\zkoss\zsoup\1.8.2.5\zsoup-1.8.2.5.jar;C:\Users\elgekko\.m2\repository\org\zkoss\theme\silvertail\9.6.0\silvertail-9.6.0.jar;C:\Users\elgekko\.m2\repository\org\zkoss\theme\sapphire\9.6.0\sapphire-9.6.0.jar;C:\work\user\lis\lis-db\target\lis-db-0.0.1-SNAPSHOT.jar;C:\work\user\lis\lis-services\target\lis-services-0.0.1-SNAPSHOT.jar;C:\Users\elgekko\.m2\repository\org\projectlombok\lombok\1.18.26\lombok-1.18.26.jar;C:\Users\elgekko\.m2\repository\org\apache\logging\log4j\log4j-api\2.19.0\log4j-api-2.19.0.jar;"/>\r
+    <property name="java.vm.vendor" value="Oracle Corporation"/>\r
+    <property name="sun.arch.data.model" value="64"/>\r
+    <property name="user.variant" value=""/>\r
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>\r
+    <property name="user.timezone" value="Europe/Prague"/>\r
+    <property name="user.country.format" value="HU"/>\r
+    <property name="java.vm.specification.version" value="1.8"/>\r
+    <property name="os.name" value="Windows 10"/>\r
+    <property name="user.country" value="US"/>\r
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>\r
+    <property name="sun.boot.library.path" value="c:\apps\java\jdk\jre\bin"/>\r
+    <property name="sun.java.command" value="C:\Users\elgekko\AppData\Local\Temp\surefire8680636343907800078\surefirebooter399942878799480529.jar C:\Users\elgekko\AppData\Local\Temp\surefire8680636343907800078 2023-03-30T11-58-51_315-jvmRun1 surefire5528444615367407687tmp surefire_03147553726234403612tmp"/>\r
+    <property name="surefire.test.class.path" value="C:\work\user\lis\lis-app\target\test-classes;C:\work\user\lis\lis-app\target\classes;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot-starter-actuator\2.2.4.RELEASE\spring-boot-starter-actuator-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot-starter\2.2.4.RELEASE\spring-boot-starter-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot\2.2.4.RELEASE\spring-boot-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\2.2.4.RELEASE\spring-boot-autoconfigure-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot-starter-logging\2.2.4.RELEASE\spring-boot-starter-logging-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;C:\Users\elgekko\.m2\repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;C:\Users\elgekko\.m2\repository\org\apache\logging\log4j\log4j-to-slf4j\2.12.1\log4j-to-slf4j-2.12.1.jar;C:\Users\elgekko\.m2\repository\org\slf4j\jul-to-slf4j\1.7.30\jul-to-slf4j-1.7.30.jar;C:\Users\elgekko\.m2\repository\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;C:\Users\elgekko\.m2\repository\org\yaml\snakeyaml\1.25\snakeyaml-1.25.jar;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot-actuator-autoconfigure\2.2.4.RELEASE\spring-boot-actuator-autoconfigure-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot-actuator\2.2.4.RELEASE\spring-boot-actuator-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.10.2\jackson-databind-2.10.2.jar;C:\Users\elgekko\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.10.2\jackson-annotations-2.10.2.jar;C:\Users\elgekko\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.10.2\jackson-core-2.10.2.jar;C:\Users\elgekko\.m2\repository\org\springframework\spring-context\5.2.3.RELEASE\spring-context-5.2.3.RELEASE.jar;C:\Users\elgekko\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.10.2\jackson-datatype-jsr310-2.10.2.jar;C:\Users\elgekko\.m2\repository\io\micrometer\micrometer-core\1.3.2\micrometer-core-1.3.2.jar;C:\Users\elgekko\.m2\repository\org\hdrhistogram\HdrHistogram\2.1.11\HdrHistogram-2.1.11.jar;C:\Users\elgekko\.m2\repository\org\latencyutils\LatencyUtils\2.0.3\LatencyUtils-2.0.3.jar;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot-starter-web\2.2.4.RELEASE\spring-boot-starter-web-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot-starter-json\2.2.4.RELEASE\spring-boot-starter-json-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.10.2\jackson-datatype-jdk8-2.10.2.jar;C:\Users\elgekko\.m2\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.10.2\jackson-module-parameter-names-2.10.2.jar;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot-starter-validation\2.2.4.RELEASE\spring-boot-starter-validation-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\jakarta\validation\jakarta.validation-api\2.0.2\jakarta.validation-api-2.0.2.jar;C:\Users\elgekko\.m2\repository\org\hibernate\validator\hibernate-validator\6.0.18.Final\hibernate-validator-6.0.18.Final.jar;C:\Users\elgekko\.m2\repository\com\fasterxml\classmate\1.5.1\classmate-1.5.1.jar;C:\Users\elgekko\.m2\repository\org\springframework\spring-web\5.2.3.RELEASE\spring-web-5.2.3.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\spring-webmvc\5.2.3.RELEASE\spring-webmvc-5.2.3.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\spring-aop\5.2.3.RELEASE\spring-aop-5.2.3.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\spring-expression\5.2.3.RELEASE\spring-expression-5.2.3.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot-starter-undertow\2.2.4.RELEASE\spring-boot-starter-undertow-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\io\undertow\undertow-core\2.0.29.Final\undertow-core-2.0.29.Final.jar;C:\Users\elgekko\.m2\repository\org\jboss\logging\jboss-logging\3.4.1.Final\jboss-logging-3.4.1.Final.jar;C:\Users\elgekko\.m2\repository\org\jboss\xnio\xnio-api\3.3.8.Final\xnio-api-3.3.8.Final.jar;C:\Users\elgekko\.m2\repository\org\jboss\xnio\xnio-nio\3.3.8.Final\xnio-nio-3.3.8.Final.jar;C:\Users\elgekko\.m2\repository\io\undertow\undertow-servlet\2.0.29.Final\undertow-servlet-2.0.29.Final.jar;C:\Users\elgekko\.m2\repository\org\jboss\spec\javax\annotation\jboss-annotations-api_1.2_spec\1.0.2.Final\jboss-annotations-api_1.2_spec-1.0.2.Final.jar;C:\Users\elgekko\.m2\repository\io\undertow\undertow-websockets-jsr\2.0.29.Final\undertow-websockets-jsr-2.0.29.Final.jar;C:\Users\elgekko\.m2\repository\org\jboss\spec\javax\websocket\jboss-websocket-api_1.1_spec\1.1.4.Final\jboss-websocket-api_1.1_spec-1.1.4.Final.jar;C:\Users\elgekko\.m2\repository\jakarta\servlet\jakarta.servlet-api\4.0.3\jakarta.servlet-api-4.0.3.jar;C:\Users\elgekko\.m2\repository\org\glassfish\jakarta.el\3.0.3\jakarta.el-3.0.3.jar;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot-starter-test\2.2.4.RELEASE\spring-boot-starter-test-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot-test\2.2.4.RELEASE\spring-boot-test-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\boot\spring-boot-test-autoconfigure\2.2.4.RELEASE\spring-boot-test-autoconfigure-2.2.4.RELEASE.jar;C:\Users\elgekko\.m2\repository\com\jayway\jsonpath\json-path\2.4.0\json-path-2.4.0.jar;C:\Users\elgekko\.m2\repository\net\minidev\json-smart\2.3\json-smart-2.3.jar;C:\Users\elgekko\.m2\repository\net\minidev\accessors-smart\1.2\accessors-smart-1.2.jar;C:\Users\elgekko\.m2\repository\org\ow2\asm\asm\5.0.4\asm-5.0.4.jar;C:\Users\elgekko\.m2\repository\org\slf4j\slf4j-api\1.7.30\slf4j-api-1.7.30.jar;C:\Users\elgekko\.m2\repository\jakarta\xml\bind\jakarta.xml.bind-api\2.3.2\jakarta.xml.bind-api-2.3.2.jar;C:\Users\elgekko\.m2\repository\jakarta\activation\jakarta.activation-api\1.2.1\jakarta.activation-api-1.2.1.jar;C:\Users\elgekko\.m2\repository\org\junit\jupiter\junit-jupiter\5.5.2\junit-jupiter-5.5.2.jar;C:\Users\elgekko\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.5.2\junit-jupiter-api-5.5.2.jar;C:\Users\elgekko\.m2\repository\org\apiguardian\apiguardian-api\1.1.0\apiguardian-api-1.1.0.jar;C:\Users\elgekko\.m2\repository\org\opentest4j\opentest4j\1.2.0\opentest4j-1.2.0.jar;C:\Users\elgekko\.m2\repository\org\junit\platform\junit-platform-commons\1.5.2\junit-platform-commons-1.5.2.jar;C:\Users\elgekko\.m2\repository\org\junit\jupiter\junit-jupiter-params\5.5.2\junit-jupiter-params-5.5.2.jar;C:\Users\elgekko\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.5.2\junit-jupiter-engine-5.5.2.jar;C:\Users\elgekko\.m2\repository\org\junit\platform\junit-platform-engine\1.5.2\junit-platform-engine-1.5.2.jar;C:\Users\elgekko\.m2\repository\org\mockito\mockito-junit-jupiter\3.1.0\mockito-junit-jupiter-3.1.0.jar;C:\Users\elgekko\.m2\repository\org\assertj\assertj-core\3.13.2\assertj-core-3.13.2.jar;C:\Users\elgekko\.m2\repository\org\hamcrest\hamcrest\2.1\hamcrest-2.1.jar;C:\Users\elgekko\.m2\repository\org\mockito\mockito-core\3.1.0\mockito-core-3.1.0.jar;C:\Users\elgekko\.m2\repository\net\bytebuddy\byte-buddy\1.10.6\byte-buddy-1.10.6.jar;C:\Users\elgekko\.m2\repository\net\bytebuddy\byte-buddy-agent\1.10.6\byte-buddy-agent-1.10.6.jar;C:\Users\elgekko\.m2\repository\org\objenesis\objenesis\2.6\objenesis-2.6.jar;C:\Users\elgekko\.m2\repository\org\skyscreamer\jsonassert\1.5.0\jsonassert-1.5.0.jar;C:\Users\elgekko\.m2\repository\com\vaadin\external\google\android-json\0.0.20131108.vaadin1\android-json-0.0.20131108.vaadin1.jar;C:\Users\elgekko\.m2\repository\org\springframework\spring-core\5.2.3.RELEASE\spring-core-5.2.3.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\spring-jcl\5.2.3.RELEASE\spring-jcl-5.2.3.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\springframework\spring-test\5.2.3.RELEASE\spring-test-5.2.3.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\xmlunit\xmlunit-core\2.6.3\xmlunit-core-2.6.3.jar;C:\Users\elgekko\.m2\repository\org\fusesource\jansi\jansi\2.3.4\jansi-2.3.4.jar;C:\work\user\lis\lis-ui\target\lis-ui-0.0.1-SNAPSHOT.jar;C:\Users\elgekko\.m2\repository\org\javassist\javassist\3.26.0-GA\javassist-3.26.0-GA.jar;C:\Users\elgekko\.m2\repository\org\beanshell\bsh\2.0b5\bsh-2.0b5.jar;C:\Users\elgekko\.m2\repository\commons-fileupload\commons-fileupload\1.3\commons-fileupload-1.3.jar;C:\Users\elgekko\.m2\repository\commons-io\commons-io\2.2\commons-io-2.2.jar;C:\Users\elgekko\.m2\repository\com\google\code\gson\gson\2.8.6\gson-2.8.6.jar;C:\Users\elgekko\.m2\repository\org\springframework\spring-beans\5.2.3.RELEASE\spring-beans-5.2.3.RELEASE.jar;C:\Users\elgekko\.m2\repository\org\zkoss\zkspringboot\zkspringboot-starter\1.0.4\zkspringboot-starter-1.0.4.jar;C:\Users\elgekko\.m2\repository\org\zkoss\zkspringboot\zkspringboot-autoconfig\1.0.4\zkspringboot-autoconfig-1.0.4.jar;C:\Users\elgekko\.m2\repository\org\zkoss\zk\zk\9.6.0\zk-9.6.0.jar;C:\Users\elgekko\.m2\repository\org\zkoss\common\zweb\9.6.0\zweb-9.6.0.jar;C:\Users\elgekko\.m2\repository\org\zkoss\common\zcommon\9.6.0\zcommon-9.6.0.jar;C:\Users\elgekko\.m2\repository\org\zkoss\common\zel\9.6.0\zel-9.6.0.jar;C:\Users\elgekko\.m2\repository\org\apache-extras\beanshell\bsh\2.0b6\bsh-2.0b6.jar;C:\Users\elgekko\.m2\repository\org\zkoss\zk\zkwebfragment\9.6.0\zkwebfragment-9.6.0.jar;C:\Users\elgekko\.m2\repository\org\zkoss\zk\zul\9.6.0\zul-9.6.0.jar;C:\Users\elgekko\.m2\repository\org\zkoss\zk\zkbind\9.6.0\zkbind-9.6.0.jar;C:\Users\elgekko\.m2\repository\org\zkoss\zk\zkplus\9.6.0\zkplus-9.6.0.jar;C:\Users\elgekko\.m2\repository\org\zkoss\zk\zhtml\9.6.0\zhtml-9.6.0.jar;C:\Users\elgekko\.m2\repository\org\zkoss\zsoup\1.8.2.5\zsoup-1.8.2.5.jar;C:\Users\elgekko\.m2\repository\org\zkoss\theme\silvertail\9.6.0\silvertail-9.6.0.jar;C:\Users\elgekko\.m2\repository\org\zkoss\theme\sapphire\9.6.0\sapphire-9.6.0.jar;C:\work\user\lis\lis-db\target\lis-db-0.0.1-SNAPSHOT.jar;C:\work\user\lis\lis-services\target\lis-services-0.0.1-SNAPSHOT.jar;C:\Users\elgekko\.m2\repository\org\projectlombok\lombok\1.18.26\lombok-1.18.26.jar;C:\Users\elgekko\.m2\repository\org\apache\logging\log4j\log4j-api\2.19.0\log4j-api-2.19.0.jar;"/>\r
+    <property name="sun.cpu.endian" value="little"/>\r
+    <property name="user.home" value="C:\Users\elgekko"/>\r
+    <property name="user.language" value="en"/>\r
+    <property name="java.specification.vendor" value="Oracle Corporation"/>\r
+    <property name="java.home" value="c:\apps\java\jdk\jre"/>\r
+    <property name="basedir" value="C:\work\user\lis\lis-app"/>\r
+    <property name="file.separator" value="\"/>\r
+    <property name="line.separator" value="&#10;"/>\r
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>\r
+    <property name="java.specification.name" value="Java Platform API Specification"/>\r
+    <property name="java.awt.graphicsenv" value="sun.awt.Win32GraphicsEnvironment"/>\r
+    <property name="surefire.real.class.path" value="C:\Users\elgekko\AppData\Local\Temp\surefire8680636343907800078\surefirebooter399942878799480529.jar"/>\r
+    <property name="sun.boot.class.path" value="c:\apps\java\jdk\jre\lib\resources.jar;c:\apps\java\jdk\jre\lib\rt.jar;c:\apps\java\jdk\jre\lib\sunrsasign.jar;c:\apps\java\jdk\jre\lib\jsse.jar;c:\apps\java\jdk\jre\lib\jce.jar;c:\apps\java\jdk\jre\lib\charsets.jar;c:\apps\java\jdk\jre\lib\jfr.jar;c:\apps\java\jdk\jre\classes"/>\r
+    <property name="user.script" value=""/>\r
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>\r
+    <property name="java.runtime.version" value="1.8.0_202-b08"/>\r
+    <property name="user.name" value="elgekko"/>\r
+    <property name="path.separator" value=";"/>\r
+    <property name="os.version" value="10.0"/>\r
+    <property name="java.endorsed.dirs" value="c:\apps\java\jdk\jre\lib\endorsed"/>\r
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>\r
+    <property name="file.encoding" value="Cp1250"/>\r
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>\r
+    <property name="localRepository" value="C:\Users\elgekko\.m2\repository"/>\r
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>\r
+    <property name="java.io.tmpdir" value="C:\Users\elgekko\AppData\Local\Temp\"/>\r
+    <property name="idea.version" value="2022.2.1"/>\r
+    <property name="java.version" value="1.8.0_202"/>\r
+    <property name="user.dir" value="C:\work\user\lis\lis-app"/>\r
+    <property name="os.arch" value="amd64"/>\r
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>\r
+    <property name="java.awt.printerjob" value="sun.awt.windows.WPrinterJob"/>\r
+    <property name="user.language.format" value="hu"/>\r
+    <property name="sun.os.patch.level" value=""/>\r
+    <property name="java.library.path" value="c:\apps\java\jdk\jre\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\apps\VMware Workstation\bin\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;c:\apps\java\jdk\bin;C:\apps\nvm;C:\apps\nodejs;C:\Program Files\Git\cmd;C:\ProgramData\ComposerSetup\bin;C:\Program Files\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;C:\Program Files\dotnet\;C:\Program Files\Docker\Docker\resources\bin;C:\ProgramData\DockerDesktop\version-bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;c:\apps\git-tfs;c:\apps\apache-maven-3.8.5\bin;c:\apps\ffmpeg\bin\;c:\apps\TEE-CLC-14.136.0\;C:\Program Files\WireGuard\;c:\apps\migrations\bin\;C:\apps\Python\Scripts\;C:\apps\Python\;C:\Users\elgekko\AppData\Local\Microsoft\WindowsApps;C:\apps\nvm;C:\apps\nodejs;C:\apps\php;C:\Users\elgekko\AppData\Roaming\Composer\vendor\bin;C:\Users\elgekko\.dotnet\tools;;C:\Users\elgekko\apps\gsudo;C:\apps\IntelliJ IDEA Community Edition\bin;;C:\Users\elgekko\AppData\Local\Microsoft\WindowsApps;C:\apps\Microsoft VS Code\bin;."/>\r
+    <property name="java.vm.info" value="mixed mode"/>\r
+    <property name="java.vendor" value="Oracle Corporation"/>\r
+    <property name="java.vm.version" value="25.202-b08"/>\r
+    <property name="java.ext.dirs" value="c:\apps\java\jdk\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext"/>\r
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>\r
+    <property name="java.class.version" value="52.0"/>\r
+  </properties>\r
+  <testcase name="contextLoads" classname="hu.user.lis.app.MainTest" time="0.001">\r
+    <error message="Failed to load ApplicationContext" type="java.lang.IllegalStateException">java.lang.IllegalStateException: Failed to load ApplicationContext
+Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'developmentConfig': Invocation of init method failed; nested exception is java.lang.NullPointerException
+Caused by: java.lang.NullPointerException
+</error>\r
+    <system-out><![CDATA[11:58:53.841 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating CacheAwareContextLoaderDelegate from class [org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate]\r
+11:58:53.850 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating BootstrapContext using constructor [public org.springframework.test.context.support.DefaultBootstrapContext(java.lang.Class,org.springframework.test.context.CacheAwareContextLoaderDelegate)]\r
+11:58:53.868 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating TestContextBootstrapper for test class [hu.user.lis.app.MainTest] from class [org.springframework.boot.test.context.SpringBootTestContextBootstrapper]\r
+11:58:53.878 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Neither @ContextConfiguration nor @ContextHierarchy found for test class [hu.user.lis.app.MainTest], using SpringBootContextLoader\r
+11:58:53.882 [main] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [hu.user.lis.app.MainTest]: class path resource [hu/user/lis/app/MainTest-context.xml] does not exist\r
+11:58:53.882 [main] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [hu.user.lis.app.MainTest]: class path resource [hu/user/lis/app/MainTestContext.groovy] does not exist\r
+11:58:53.882 [main] INFO org.springframework.test.context.support.AbstractContextLoader - Could not detect default resource locations for test class [hu.user.lis.app.MainTest]: no resource found for suffixes {-context.xml, Context.groovy}.\r
+11:58:53.882 [main] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils - Could not detect default configuration classes for test class [hu.user.lis.app.MainTest]: MainTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration.\r
+11:58:53.903 [main] DEBUG org.springframework.test.context.support.ActiveProfilesUtils - Could not find an 'annotation declaring class' for annotation type [org.springframework.test.context.ActiveProfiles] and class [hu.user.lis.app.MainTest]\r
+11:58:53.947 [main] DEBUG org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider - Identified candidate component class: file [C:\work\user\lis\lis-app\target\classes\hu\user\lis\app\Main.class]\r
+11:58:53.949 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Found @SpringBootConfiguration hu.user.lis.app.Main for test class hu.user.lis.app.MainTest\r
+11:58:54.011 [main] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - @TestExecutionListeners is not present for class [hu.user.lis.app.MainTest]: using defaults.\r
+11:58:54.011 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener, org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener, org.springframework.test.context.event.EventPublishingTestExecutionListener]\r
+11:58:54.018 [main] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Skipping candidate TestExecutionListener [org.springframework.test.context.transaction.TransactionalTestExecutionListener] due to a missing dependency. Specify custom listener classes or make the default listener classes and their required dependencies available. Offending class: [org/springframework/transaction/interceptor/TransactionAttributeSource]\r
+11:58:54.018 [main] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Skipping candidate TestExecutionListener [org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener] due to a missing dependency. Specify custom listener classes or make the default listener classes and their required dependencies available. Offending class: [org/springframework/transaction/interceptor/TransactionAttribute]\r
+11:58:54.018 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@5ab956d7, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@3646a422, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@750e2b97, org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@3e27aa33, org.springframework.test.context.support.DirtiesContextTestExecutionListener@2e385cce, org.springframework.test.context.event.EventPublishingTestExecutionListener@2ddc9a9f, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener@298a5e20, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener@2a7f1f10, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener@46cdf8bd, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener@f0c8a99, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener@740cae06]\r
+11:58:54.022 [main] DEBUG org.springframework.test.context.support.AbstractDirtiesContextTestExecutionListener - Before test class: context [DefaultTestContext@78e4deb0 testClass = MainTest, testInstance = [null], testMethod = [null], testException = [null], mergedContextConfiguration = [WebMergedContextConfiguration@6e9175d8 testClass = MainTest, locations = '{}', classes = '{class hu.user.lis.app.Main}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@20deea7f, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@7714e963, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@52e6fdee, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@6b927fb], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -> true]], class annotated with @DirtiesContext [false] with mode [null].\r
+11:58:54.036 [main] DEBUG org.springframework.test.context.support.TestPropertySourceUtils - Adding inlined properties to environment: {spring.jmx.enabled=false, org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true, server.port=-1}\r
+\r
+  .   ____          _            __ _ _\r
+ /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \\r
+( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \\r
+ \\/  ___)| |_)| | | | | || (_| |  ) ) ) )\r
+  '  |____| .__|_| |_|_| |_\__, | / / / /\r
+ =========|_|==============|___/=/_/_/_/\r
+&amp#27;[32m :: Spring Boot :: &amp#27;[39m      &amp#27;[2m (v2.2.4.RELEASE)&amp#27;[0;39m\r
+\r
+&amp#27;[2m2023-03-30 11:58:54.241&amp#27;[0;39m &amp#27;[32m INFO&amp#27;[0;39m &amp#27;[35m26396&amp#27;[0;39m &amp#27;[2m---&amp#27;[0;39m &amp#27;[2m[           main]&amp#27;[0;39m &amp#27;[36mhu.user.lis.app.MainTest                &amp#27;[0;39m &amp#27;[2m:&amp#27;[0;39m Starting MainTest on NGEKKO with PID 26396 (started by elgekko in C:\work\user\lis\lis-app)\r
+&amp#27;[2m2023-03-30 11:58:54.242&amp#27;[0;39m &amp#27;[32m INFO&amp#27;[0;39m &amp#27;[35m26396&amp#27;[0;39m &amp#27;[2m---&amp#27;[0;39m &amp#27;[2m[           main]&amp#27;[0;39m &amp#27;[36mhu.user.lis.app.MainTest                &amp#27;[0;39m &amp#27;[2m:&amp#27;[0;39m No active profile set, falling back to default profiles: default\r
+&amp#27;[2m2023-03-30 11:58:54.836&amp#27;[0;39m &amp#27;[32m INFO&amp#27;[0;39m &amp#27;[35m26396&amp#27;[0;39m &amp#27;[2m---&amp#27;[0;39m &amp#27;[2m[           main]&amp#27;[0;39m &amp#27;[36mhu.user.lis.ui.config.DevelopmentConfig &amp#27;[0;39m &amp#27;[2m:&amp#27;[0;39m **************************************************************\r
+&amp#27;[2m2023-03-30 11:58:54.837&amp#27;[0;39m &amp#27;[32m INFO&amp#27;[0;39m &amp#27;[35m26396&amp#27;[0;39m &amp#27;[2m---&amp#27;[0;39m &amp#27;[2m[           main]&amp#27;[0;39m &amp#27;[36mhu.user.lis.ui.config.DevelopmentConfig &amp#27;[0;39m &amp#27;[2m:&amp#27;[0;39m **** ZK-Springboot-Demo: development configuration active ****\r
+&amp#27;[2m2023-03-30 11:58:54.837&amp#27;[0;39m &amp#27;[32m INFO&amp#27;[0;39m &amp#27;[35m26396&amp#27;[0;39m &amp#27;[2m---&amp#27;[0;39m &amp#27;[2m[           main]&amp#27;[0;39m &amp#27;[36mhu.user.lis.ui.config.DevelopmentConfig &amp#27;[0;39m &amp#27;[2m:&amp#27;[0;39m **************************************************************\r
+&amp#27;[2m2023-03-30 11:58:54.843&amp#27;[0;39m &amp#27;[33m WARN&amp#27;[0;39m &amp#27;[35m26396&amp#27;[0;39m &amp#27;[2m---&amp#27;[0;39m &amp#27;[2m[           main]&amp#27;[0;39m &amp#27;[36mo.s.w.c.s.GenericWebApplicationContext  &amp#27;[0;39m &amp#27;[2m:&amp#27;[0;39m Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'developmentConfig': Invocation of init method failed; nested exception is java.lang.NullPointerException\r
+&amp#27;[2m2023-03-30 11:58:54.850&amp#27;[0;39m &amp#27;[32m INFO&amp#27;[0;39m &amp#27;[35m26396&amp#27;[0;39m &amp#27;[2m---&amp#27;[0;39m &amp#27;[2m[           main]&amp#27;[0;39m &amp#27;[36mConditionEvaluationReportLoggingListener&amp#27;[0;39m &amp#27;[2m:&amp#27;[0;39m \r
+\r
+Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.\r
+&amp#27;[2m2023-03-30 11:58:54.853&amp#27;[0;39m &amp#27;[31mERROR&amp#27;[0;39m &amp#27;[35m26396&amp#27;[0;39m &amp#27;[2m---&amp#27;[0;39m &amp#27;[2m[           main]&amp#27;[0;39m &amp#27;[36mo.s.boot.SpringApplication              &amp#27;[0;39m &amp#27;[2m:&amp#27;[0;39m Application run failed\r
+\r
+org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'developmentConfig': Invocation of init method failed; nested exception is java.lang.NullPointerException\r
+       at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:160) ~[spring-beans-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:416) ~[spring-beans-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1788) ~[spring-beans-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:595) ~[spring-beans-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517) ~[spring-beans-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323) ~[spring-beans-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321) ~[spring-beans-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:879) ~[spring-beans-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:878) ~[spring-context-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550) ~[spring-context-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747) ~[spring-boot-2.2.4.RELEASE.jar:2.2.4.RELEASE]\r
+       at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) ~[spring-boot-2.2.4.RELEASE.jar:2.2.4.RELEASE]\r
+       at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-2.2.4.RELEASE.jar:2.2.4.RELEASE]\r
+       at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:126) [spring-boot-test-2.2.4.RELEASE.jar:2.2.4.RELEASE]\r
+       at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99) [spring-test-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124) [spring-test-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:123) [spring-test-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:190) [spring-test-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:132) [spring-test-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:244) [spring-test-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:98) [spring-test-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$5(ClassBasedTestDescriptor.java:337) [junit-jupiter-engine-5.5.2.jar:5.5.2]\r
+       at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:342) [junit-jupiter-engine-5.5.2.jar:5.5.2]\r
+       at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$6(ClassBasedTestDescriptor.java:337) [junit-jupiter-engine-5.5.2.jar:5.5.2]\r
+       at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[na:1.8.0_202]\r
+       at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[na:1.8.0_202]\r
+       at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382) ~[na:1.8.0_202]\r
+       at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[na:1.8.0_202]\r
+       at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[na:1.8.0_202]\r
+       at java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312) ~[na:1.8.0_202]\r
+       at java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:743) ~[na:1.8.0_202]\r
+       at java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742) ~[na:1.8.0_202]\r
+       at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580) ~[na:1.8.0_202]\r
+       at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:336) [junit-jupiter-engine-5.5.2.jar:5.5.2]\r
+       at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:259) [junit-jupiter-engine-5.5.2.jar:5.5.2]\r
+       at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$2(ClassBasedTestDescriptor.java:252) [junit-jupiter-engine-5.5.2.jar:5.5.2]\r
+       at java.util.Optional.orElseGet(Optional.java:267) ~[na:1.8.0_202]\r
+       at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$3(ClassBasedTestDescriptor.java:251) [junit-jupiter-engine-5.5.2.jar:5.5.2]\r
+       at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:29) ~[junit-jupiter-engine-5.5.2.jar:5.5.2]\r
+       at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:106) ~[junit-jupiter-engine-5.5.2.jar:5.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:105) ~[junit-jupiter-engine-5.5.2.jar:5.5.2]\r
+       at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:69) ~[junit-jupiter-engine-5.5.2.jar:5.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$1(NodeTestTask.java:107) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:107) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:75) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at java.util.ArrayList.forEach(ArrayList.java:1257) ~[na:1.8.0_202]\r
+       at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at java.util.ArrayList.forEach(ArrayList.java:1257) ~[na:1.8.0_202]\r
+       at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) ~[junit-platform-launcher-1.3.1.jar:1.3.1]\r
+       at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) ~[junit-platform-launcher-1.3.1.jar:1.3.1]\r
+       at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) ~[junit-platform-launcher-1.3.1.jar:1.3.1]\r
+       at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) ~[junit-platform-launcher-1.3.1.jar:1.3.1]\r
+       at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) ~[junit-platform-launcher-1.3.1.jar:1.3.1]\r
+       at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150) ~[surefire-junit-platform-2.22.2.jar:2.22.2]\r
+       at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124) ~[surefire-junit-platform-2.22.2.jar:2.22.2]\r
+       at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384) ~[surefire-booter-2.22.2.jar:2.22.2]\r
+       at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345) ~[surefire-booter-2.22.2.jar:2.22.2]\r
+       at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126) ~[surefire-booter-2.22.2.jar:2.22.2]\r
+       at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418) ~[surefire-booter-2.22.2.jar:2.22.2]\r
+Caused by: java.lang.NullPointerException: null\r
+       at hu.user.lis.ui.config.DevelopmentConfig.initDevelopmentProperties(DevelopmentConfig.java:30) ~[lis-ui-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]\r
+       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_202]\r
+       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_202]\r
+       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_202]\r
+       at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_202]\r
+       at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) ~[spring-beans-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333) ~[spring-beans-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157) ~[spring-beans-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       ... 82 common frames omitted\r
+\r
+&amp#27;[2m2023-03-30 11:58:54.856&amp#27;[0;39m &amp#27;[31mERROR&amp#27;[0;39m &amp#27;[35m26396&amp#27;[0;39m &amp#27;[2m---&amp#27;[0;39m &amp#27;[2m[           main]&amp#27;[0;39m &amp#27;[36mo.s.test.context.TestContextManager     &amp#27;[0;39m &amp#27;[2m:&amp#27;[0;39m Caught exception while allowing TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@5ab956d7] to prepare test instance [hu.user.lis.app.MainTest@5e2f3be5]\r
+\r
+java.lang.IllegalStateException: Failed to load ApplicationContext\r
+       at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:132) ~[spring-test-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:123) ~[spring-test-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:190) ~[spring-test-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:132) ~[spring-test-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:244) ~[spring-test-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:98) [spring-test-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$5(ClassBasedTestDescriptor.java:337) [junit-jupiter-engine-5.5.2.jar:5.5.2]\r
+       at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:342) [junit-jupiter-engine-5.5.2.jar:5.5.2]\r
+       at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$6(ClassBasedTestDescriptor.java:337) [junit-jupiter-engine-5.5.2.jar:5.5.2]\r
+       at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[na:1.8.0_202]\r
+       at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[na:1.8.0_202]\r
+       at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382) ~[na:1.8.0_202]\r
+       at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[na:1.8.0_202]\r
+       at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[na:1.8.0_202]\r
+       at java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312) ~[na:1.8.0_202]\r
+       at java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:743) ~[na:1.8.0_202]\r
+       at java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742) ~[na:1.8.0_202]\r
+       at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580) ~[na:1.8.0_202]\r
+       at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:336) [junit-jupiter-engine-5.5.2.jar:5.5.2]\r
+       at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:259) [junit-jupiter-engine-5.5.2.jar:5.5.2]\r
+       at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$2(ClassBasedTestDescriptor.java:252) [junit-jupiter-engine-5.5.2.jar:5.5.2]\r
+       at java.util.Optional.orElseGet(Optional.java:267) ~[na:1.8.0_202]\r
+       at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$3(ClassBasedTestDescriptor.java:251) [junit-jupiter-engine-5.5.2.jar:5.5.2]\r
+       at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:29) ~[junit-jupiter-engine-5.5.2.jar:5.5.2]\r
+       at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:106) ~[junit-jupiter-engine-5.5.2.jar:5.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:105) ~[junit-jupiter-engine-5.5.2.jar:5.5.2]\r
+       at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:69) ~[junit-jupiter-engine-5.5.2.jar:5.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$1(NodeTestTask.java:107) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:107) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:75) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at java.util.ArrayList.forEach(ArrayList.java:1257) ~[na:1.8.0_202]\r
+       at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at java.util.ArrayList.forEach(ArrayList.java:1257) ~[na:1.8.0_202]\r
+       at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) ~[junit-platform-engine-1.5.2.jar:1.5.2]\r
+       at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) ~[junit-platform-launcher-1.3.1.jar:1.3.1]\r
+       at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) ~[junit-platform-launcher-1.3.1.jar:1.3.1]\r
+       at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) ~[junit-platform-launcher-1.3.1.jar:1.3.1]\r
+       at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) ~[junit-platform-launcher-1.3.1.jar:1.3.1]\r
+       at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) ~[junit-platform-launcher-1.3.1.jar:1.3.1]\r
+       at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150) ~[surefire-junit-platform-2.22.2.jar:2.22.2]\r
+       at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124) ~[surefire-junit-platform-2.22.2.jar:2.22.2]\r
+       at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384) ~[surefire-booter-2.22.2.jar:2.22.2]\r
+       at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345) ~[surefire-booter-2.22.2.jar:2.22.2]\r
+       at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126) ~[surefire-booter-2.22.2.jar:2.22.2]\r
+       at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418) ~[surefire-booter-2.22.2.jar:2.22.2]\r
+Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'developmentConfig': Invocation of init method failed; nested exception is java.lang.NullPointerException\r
+       at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:160) ~[spring-beans-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:416) ~[spring-beans-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1788) ~[spring-beans-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:595) ~[spring-beans-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517) ~[spring-beans-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323) ~[spring-beans-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321) ~[spring-beans-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:879) ~[spring-beans-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:878) ~[spring-context-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550) ~[spring-context-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747) ~[spring-boot-2.2.4.RELEASE.jar:2.2.4.RELEASE]\r
+       at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) ~[spring-boot-2.2.4.RELEASE.jar:2.2.4.RELEASE]\r
+       at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-2.2.4.RELEASE.jar:2.2.4.RELEASE]\r
+       at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:126) ~[spring-boot-test-2.2.4.RELEASE.jar:2.2.4.RELEASE]\r
+       at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99) ~[spring-test-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124) ~[spring-test-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       ... 65 common frames omitted\r
+Caused by: java.lang.NullPointerException: null\r
+       at hu.user.lis.ui.config.DevelopmentConfig.initDevelopmentProperties(DevelopmentConfig.java:30) ~[lis-ui-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]\r
+       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_202]\r
+       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_202]\r
+       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_202]\r
+       at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_202]\r
+       at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) ~[spring-beans-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333) ~[spring-beans-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157) ~[spring-beans-5.2.3.RELEASE.jar:5.2.3.RELEASE]\r
+       ... 82 common frames omitted\r
+\r
+]]></system-out>\r
+  </testcase>\r
+</testsuite>
\ No newline at end of file
diff --git a/lis-app/target/surefire-reports/hu.user.lis.app.MainTest.txt b/lis-app/target/surefire-reports/hu.user.lis.app.MainTest.txt
new file mode 100644 (file)
index 0000000..0d615f3
--- /dev/null
@@ -0,0 +1,9 @@
+-------------------------------------------------------------------------------\r
+Test set: hu.user.lis.app.MainTest\r
+-------------------------------------------------------------------------------\r
+Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.085 s <<< FAILURE! - in hu.user.lis.app.MainTest\r
+contextLoads  Time elapsed: 0.001 s  <<< ERROR!\r
+java.lang.IllegalStateException: Failed to load ApplicationContext
+Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'developmentConfig': Invocation of init method failed; nested exception is java.lang.NullPointerException
+Caused by: java.lang.NullPointerException
+\r
diff --git a/lis-app/target/test-classes/hu/user/lis/app/MainTest.class b/lis-app/target/test-classes/hu/user/lis/app/MainTest.class
new file mode 100644 (file)
index 0000000..8acd6f1
Binary files /dev/null and b/lis-app/target/test-classes/hu/user/lis/app/MainTest.class differ
diff --git a/lis-db/pom.xml b/lis-db/pom.xml
new file mode 100644 (file)
index 0000000..c7f2b1b
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+        xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>hu.user</groupId>
+    <artifactId>lis-db</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+    <parent>
+        <groupId>hu.user</groupId>
+        <artifactId>lis</artifactId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
+</project>
\ No newline at end of file
diff --git a/lis-db/src/main/java/hu/user/lis/db/Supplier.java b/lis-db/src/main/java/hu/user/lis/db/Supplier.java
new file mode 100644 (file)
index 0000000..60484f1
--- /dev/null
@@ -0,0 +1,16 @@
+package hu.user.lis.db;\r
+\r
+import lombok.AllArgsConstructor;\r
+import lombok.Builder;\r
+import lombok.Getter;\r
+import lombok.Setter;\r
+\r
+@Getter\r
+@Setter\r
+@Builder\r
+@AllArgsConstructor\r
+public class Supplier {\r
+    String id;\r
+    String name;\r
+    String zipCode;\r
+}\r
diff --git a/lis-db/target/classes/hu/user/lis/db/Supplier$SupplierBuilder.class b/lis-db/target/classes/hu/user/lis/db/Supplier$SupplierBuilder.class
new file mode 100644 (file)
index 0000000..14c933f
Binary files /dev/null and b/lis-db/target/classes/hu/user/lis/db/Supplier$SupplierBuilder.class differ
diff --git a/lis-db/target/classes/hu/user/lis/db/Supplier.class b/lis-db/target/classes/hu/user/lis/db/Supplier.class
new file mode 100644 (file)
index 0000000..465de25
Binary files /dev/null and b/lis-db/target/classes/hu/user/lis/db/Supplier.class differ
diff --git a/lis-db/target/lis-db-0.0.1-SNAPSHOT.jar b/lis-db/target/lis-db-0.0.1-SNAPSHOT.jar
new file mode 100644 (file)
index 0000000..2a0d0e8
Binary files /dev/null and b/lis-db/target/lis-db-0.0.1-SNAPSHOT.jar differ
diff --git a/lis-db/target/lis-db-0.0.1-SNAPSHOT.jar.original b/lis-db/target/lis-db-0.0.1-SNAPSHOT.jar.original
new file mode 100644 (file)
index 0000000..13e8841
Binary files /dev/null and b/lis-db/target/lis-db-0.0.1-SNAPSHOT.jar.original differ
diff --git a/lis-db/target/maven-archiver/pom.properties b/lis-db/target/maven-archiver/pom.properties
new file mode 100644 (file)
index 0000000..f4f8cc1
--- /dev/null
@@ -0,0 +1,3 @@
+version=0.0.1-SNAPSHOT\r
+groupId=hu.user\r
+artifactId=lis-db\r
diff --git a/lis-db/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/lis-db/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/lis-db/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/lis-db/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644 (file)
index 0000000..11da8ae
--- /dev/null
@@ -0,0 +1 @@
+C:\work\user\lis\lis-db\src\main\java\hu\user\lis\db\Supplier.java
diff --git a/lis-services/pom.xml b/lis-services/pom.xml
new file mode 100644 (file)
index 0000000..9709438
--- /dev/null
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">\r
+    <modelVersion>4.0.0</modelVersion>\r
+    <groupId>hu.user</groupId>\r
+    <artifactId>lis-services</artifactId>\r
+    <version>0.0.1-SNAPSHOT</version>\r
+    <parent>\r
+        <groupId>hu.user</groupId>\r
+        <artifactId>lis</artifactId>\r
+        <version>0.0.1-SNAPSHOT</version>\r
+    </parent>\r
+    <dependencies>\r
+        <dependency>\r
+            <groupId>org.springframework</groupId>\r
+            <artifactId>spring-web</artifactId>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.apache.commons</groupId>\r
+            <artifactId>commons-lang3</artifactId>\r
+            <version>3.12.0</version>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>com.github.javafaker</groupId>\r
+            <artifactId>javafaker</artifactId>\r
+            <version>0.12</version>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>hu.user</groupId>\r
+            <artifactId>lis-db</artifactId>\r
+            <version>0.0.1-SNAPSHOT</version>\r
+            <scope>compile</scope>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.springframework</groupId>\r
+            <artifactId>spring-context</artifactId>\r
+        </dependency>\r
+    </dependencies>\r
+</project>\r
diff --git a/lis-services/src/main/java/hu/user/lis/services/OneTwoService.java b/lis-services/src/main/java/hu/user/lis/services/OneTwoService.java
new file mode 100644 (file)
index 0000000..a2fd994
--- /dev/null
@@ -0,0 +1,19 @@
+package hu.user.lis.services;\r
+\r
+import org.springframework.http.MediaType;\r
+import org.springframework.web.bind.annotation.GetMapping;\r
+import org.springframework.web.bind.annotation.RequestMapping;\r
+import org.springframework.web.bind.annotation.RestController;\r
+\r
+import java.util.Arrays;\r
+import java.util.List;\r
+\r
+@RestController\r
+@RequestMapping(path = "/onetwo", produces = MediaType.APPLICATION_JSON_VALUE)\r
+public class OneTwoService {\r
+    @GetMapping\r
+    public List<String> findAll() {\r
+        return Arrays.asList("One2", "Two1");\r
+    }\r
+\r
+}\r
diff --git a/lis-services/src/main/java/hu/user/lis/services/data/SupplierService.java b/lis-services/src/main/java/hu/user/lis/services/data/SupplierService.java
new file mode 100644 (file)
index 0000000..ae039b7
--- /dev/null
@@ -0,0 +1,9 @@
+package hu.user.lis.services.data;\r
+\r
+import hu.user.lis.db.Supplier;\r
+\r
+import java.util.List;\r
+\r
+public interface SupplierService {\r
+    List<Supplier> getAll();\r
+}\r
diff --git a/lis-services/src/main/java/hu/user/lis/services/data/SupplierServiceImpl.java b/lis-services/src/main/java/hu/user/lis/services/data/SupplierServiceImpl.java
new file mode 100644 (file)
index 0000000..eda6544
--- /dev/null
@@ -0,0 +1,35 @@
+package hu.user.lis.services.data;\r
+\r
+import com.github.javafaker.Faker;\r
+import hu.user.lis.db.Supplier;\r
+import org.apache.commons.lang3.RandomStringUtils;\r
+import org.springframework.stereotype.Service;\r
+\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+\r
+@Service\r
+public class SupplierServiceImpl implements SupplierService {\r
+    private List<Supplier> suppliers;\r
+\r
+    @Override\r
+    public List<Supplier> getAll() {\r
+        if (suppliers == null) {\r
+            suppliers = generate();\r
+        }\r
+        return suppliers;\r
+    }\r
+\r
+    private List<Supplier> generate() {\r
+        List<Supplier> result = new ArrayList<>();\r
+        Faker faker = new Faker();\r
+        for (int i = 0; i < 100; i++) {\r
+            String id = RandomStringUtils.random(8, "0123456789abcdef");\r
+            String name = faker.name().fullName();\r
+            String zipCode = RandomStringUtils.random(4, "0123456789");\r
+            Supplier supplier = Supplier.builder().id(id).name(name).zipCode(zipCode).build();\r
+            result.add(supplier);\r
+        }\r
+        return result;\r
+    }\r
+}\r
diff --git a/lis-services/target/classes/hu/user/lis/services/OneTwoService.class b/lis-services/target/classes/hu/user/lis/services/OneTwoService.class
new file mode 100644 (file)
index 0000000..045453e
Binary files /dev/null and b/lis-services/target/classes/hu/user/lis/services/OneTwoService.class differ
diff --git a/lis-services/target/classes/hu/user/lis/services/data/SupplierService.class b/lis-services/target/classes/hu/user/lis/services/data/SupplierService.class
new file mode 100644 (file)
index 0000000..2e22ed5
Binary files /dev/null and b/lis-services/target/classes/hu/user/lis/services/data/SupplierService.class differ
diff --git a/lis-services/target/classes/hu/user/lis/services/data/SupplierServiceImpl.class b/lis-services/target/classes/hu/user/lis/services/data/SupplierServiceImpl.class
new file mode 100644 (file)
index 0000000..d7369de
Binary files /dev/null and b/lis-services/target/classes/hu/user/lis/services/data/SupplierServiceImpl.class differ
diff --git a/lis-services/target/lis-services-0.0.1-SNAPSHOT.jar b/lis-services/target/lis-services-0.0.1-SNAPSHOT.jar
new file mode 100644 (file)
index 0000000..0821505
Binary files /dev/null and b/lis-services/target/lis-services-0.0.1-SNAPSHOT.jar differ
diff --git a/lis-services/target/maven-archiver/pom.properties b/lis-services/target/maven-archiver/pom.properties
new file mode 100644 (file)
index 0000000..a7f0741
--- /dev/null
@@ -0,0 +1,3 @@
+version=0.0.1-SNAPSHOT\r
+groupId=hu.user\r
+artifactId=lis-services\r
diff --git a/lis-services/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/lis-services/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/lis-services/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/lis-services/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644 (file)
index 0000000..2a26c0d
--- /dev/null
@@ -0,0 +1,3 @@
+C:\work\user\lis\lis-services\src\main\java\hu\user\lis\services\data\SupplierService.java
+C:\work\user\lis\lis-services\src\main\java\hu\user\lis\services\OneTwoService.java
+C:\work\user\lis\lis-services\src\main\java\hu\user\lis\services\data\SupplierServiceImpl.java
diff --git a/lis-services/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/lis-services/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/lis-ui/pom.xml b/lis-ui/pom.xml
new file mode 100644 (file)
index 0000000..d7f0c96
--- /dev/null
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>hu.user</groupId>
+    <artifactId>lis-ui</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+    <parent>
+        <groupId>hu.user</groupId>
+        <artifactId>lis</artifactId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
+    <repositories>
+        <repository>
+            <id>ZK CE</id>
+            <name>ZK CE Repository</name>
+            <url>http://mavensync.zkoss.org/maven2</url>
+        </repository>
+    </repositories>
+    <properties>
+        <zkspringboot.version>1.0.4</zkspringboot.version>
+        <zk.version>9.6.0</zk.version>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.javassist</groupId>
+            <artifactId>javassist</artifactId>
+            <version>3.26.0-GA</version>
+        </dependency>
+        <dependency>
+            <groupId>org.beanshell</groupId>
+            <artifactId>bsh</artifactId>
+            <version>2.0b5</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-fileupload</groupId>
+            <artifactId>commons-fileupload</artifactId>
+            <version>1.3</version>
+        </dependency>
+        <dependency>
+            <groupId>com.google.code.gson</groupId>
+            <artifactId>gson</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-beans</artifactId>
+            <version>5.2.0.RELEASE</version>
+        </dependency>
+        <!-- https://www.zkoss.org/wiki/ZK_Installation_Guide/Maven_Setup#ZK_EE -->
+        <dependency>
+            <groupId>org.zkoss.zkspringboot</groupId>
+            <artifactId>zkspringboot-starter</artifactId>
+            <version>${zkspringboot.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.zkoss.zk</groupId>
+            <artifactId>zk</artifactId>
+            <version>${zk.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.zkoss.zk</groupId>
+            <artifactId>zul</artifactId>
+            <version>${zk.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.zkoss.zk</groupId>
+            <artifactId>zkbind</artifactId>
+            <version>${zk.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.zkoss.zk</groupId>
+            <artifactId>zkplus</artifactId>
+            <version>${zk.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.zkoss.zk</groupId>
+            <artifactId>zhtml</artifactId>
+            <version>${zk.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.zkoss.theme</groupId>
+            <artifactId>silvertail</artifactId>
+            <version>${zk.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.zkoss.theme</groupId>
+            <artifactId>sapphire</artifactId>
+            <version>${zk.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.zkoss.theme</groupId>
+            <artifactId>atlantic</artifactId>
+            <version>${zk.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>hu.user</groupId>
+            <artifactId>lis-db</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>hu.user</groupId>
+            <artifactId>lis-services</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>hu.user</groupId>
+            <artifactId>lis-services</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-devtools</artifactId>
+            <optional>true</optional>
+        </dependency>
+    </dependencies>
+</project>
\ No newline at end of file
diff --git a/lis-ui/src/main/java/hu/user/lis/ui/ResourceConfigurer.java b/lis-ui/src/main/java/hu/user/lis/ui/ResourceConfigurer.java
new file mode 100644 (file)
index 0000000..49a45cd
--- /dev/null
@@ -0,0 +1,12 @@
+package hu.user.lis.ui;\r
+\r
+import org.springframework.stereotype.Controller;\r
+import org.springframework.web.bind.annotation.GetMapping;\r
+\r
+@Controller\r
+public class ResourceConfigurer {\r
+    @GetMapping("/admin")\r
+    public String admin() {\r
+        return "admin/index";\r
+    }\r
+}\r
diff --git a/lis-ui/src/main/java/hu/user/lis/ui/config/DevelopmentConfig.java b/lis-ui/src/main/java/hu/user/lis/ui/config/DevelopmentConfig.java
new file mode 100644 (file)
index 0000000..1c00b30
--- /dev/null
@@ -0,0 +1,36 @@
+package hu.user.lis.ui.config;\r
+\r
+import org.slf4j.Logger;\r
+import org.slf4j.LoggerFactory;\r
+import org.springframework.context.annotation.Configuration;\r
+import org.zkoss.lang.Library;\r
+import org.zkoss.zk.ui.WebApps;\r
+\r
+import javax.annotation.PostConstruct;\r
+\r
+@Configuration\r
+//@Profile("dev")\r
+public class DevelopmentConfig {\r
+    private static Logger logger = LoggerFactory.getLogger(DevelopmentConfig.class);\r
+\r
+    @PostConstruct\r
+    public void initDevelopmentProperties() throws Exception {\r
+        logger.info("**************************************************************");\r
+        logger.info("**** ZK-Springboot-Demo: development configuration active ****");\r
+        logger.info("**************************************************************");\r
+\r
+        //disable various caches to avoid server restarts\r
+        Library.setProperty("org.zkoss.zk.ZUML.cache", "false");\r
+        Library.setProperty("org.zkoss.zk.WPD.cache", "false");\r
+        Library.setProperty("org.zkoss.zk.WCS.cache", "false");\r
+        Library.setProperty("org.zkoss.web.classWebResource.cache", "false");\r
+        Library.setProperty("org.zkoss.util.label.cache", "false");\r
+\r
+        // enable non minified js\r
+        WebApps.getCurrent().getConfiguration().setDebugJS(true);\r
+\r
+        // enable for debugging MVVM commands and binding (very verbose)\r
+        Library.setProperty("org.zkoss.bind.DebuggerFactory.enable", "false");\r
+    }\r
+\r
+}
\ No newline at end of file
diff --git a/lis-ui/src/main/java/hu/user/lis/ui/converter/SupplierToNameConverter.java b/lis-ui/src/main/java/hu/user/lis/ui/converter/SupplierToNameConverter.java
new file mode 100644 (file)
index 0000000..7e821e0
--- /dev/null
@@ -0,0 +1,19 @@
+package hu.user.lis.ui.converter;\r
+\r
+import hu.user.lis.db.Supplier;\r
+import org.zkoss.bind.BindContext;\r
+import org.zkoss.bind.Converter;\r
+import org.zkoss.zul.Bandbox;\r
+\r
+public class SupplierToNameConverter implements Converter<String, Supplier, Bandbox> {\r
+\r
+    @Override\r
+    public String coerceToUi(Supplier supplier, Bandbox bandbox, BindContext bindContext) {\r
+        return supplier == null ? null : supplier.getName();\r
+    }\r
+\r
+    @Override\r
+    public Supplier coerceToBean(String s, Bandbox bandbox, BindContext bindContext) {\r
+        return null;\r
+    }\r
+}
\ No newline at end of file
diff --git a/lis-ui/src/main/java/hu/user/lis/ui/data/CachedDataModel.java b/lis-ui/src/main/java/hu/user/lis/ui/data/CachedDataModel.java
new file mode 100644 (file)
index 0000000..929d76a
--- /dev/null
@@ -0,0 +1,151 @@
+package hu.user.lis.ui.data;\r
+\r
+import lombok.extern.log4j.Log4j2;\r
+import org.springframework.stereotype.Component;\r
+import org.zkoss.zk.ui.event.Event;\r
+import org.zkoss.zk.ui.event.EventListener;\r
+import org.zkoss.zk.ui.event.Events;\r
+import org.zkoss.zul.FieldComparator;\r
+import org.zkoss.zul.ListModelList;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Comparator;\r
+import java.util.HashMap;\r
+import java.util.List;\r
+\r
+@Component\r
+@Log4j2\r
+public abstract class CachedDataModel<T> extends ListModelList<T> {\r
+    private int cacheSize = 10;\r
+    private int cacheStart;\r
+    private int cacheEnd;\r
+    private int resultSetSize = -1;\r
+    private HashMap<Integer, T> cache = new HashMap<>();\r
+    private ArrayList<EventListener> eventListenerList = new ArrayList<EventListener>();\r
+    private FieldComparator sortComparator;\r
+\r
+    public CachedDataModel() {\r
+        //reinit();\r
+        log.info("Initialized");\r
+        setMultiple(true);\r
+    }\r
+\r
+    // load cache event\r
+    public void addEventListener(EventListener listener) {\r
+        eventListenerList.add(listener);\r
+    }\r
+\r
+    public void reset() {\r
+        this.resultSetSize = -1;\r
+        this.cacheStart = 0;\r
+        this.cacheEnd = 0;\r
+\r
+        clearCache();\r
+    }\r
+\r
+    public void clearCache() {\r
+        cache.clear();\r
+        //fireEvent(ListDataEvent.STRUCTURE_CHANGED, -1, -1);\r
+    }\r
+\r
+    private void fireLoadCacheEvent() {\r
+        Event evt = new Event(Events.ON_SCROLL);\r
+        for (EventListener el : eventListenerList) {\r
+            try {\r
+                el.onEvent(evt);\r
+            } catch (Exception e) {\r
+                log.error("", e);\r
+            }\r
+        }\r
+    }\r
+\r
+    public int getCacheEnd() {\r
+        return cacheEnd;\r
+    }\r
+\r
+    // zul felulet hasznalja kiirashoz\r
+    public int getCacheStart() {\r
+        return cacheStart;\r
+    }\r
+\r
+    @Override\r
+    public T getElementAt(int index) {\r
+        // logger.debug("CachedListMode.getElementAt(): " + index);\r
+        T ret = cache.get(index);\r
+        if (ret == null) {\r
+            loadCache(index);\r
+            ret = cache.get(index);\r
+            if (ret == null) {\r
+                throw new RuntimeException("Element at index " + index + " cannot be found in the database.");\r
+            }\r
+        }\r
+        return ret;\r
+    }\r
+\r
+    // ListModelList method felulirva\r
+    // after 1. search ++++++++++\r
+    @Override\r
+    public int getSize() {\r
+        if (this.resultSetSize < 0) {\r
+            loadCache(0);\r
+            // logger.debug("CachedListMode.getSize(): " + this.resultSetSize);\r
+        }\r
+        return this.resultSetSize;\r
+    }\r
+\r
+    private void loadCache(int forIndex) {\r
+        try {\r
+            int halfSize = this.cacheSize / 2;\r
+            int rowLimit = this.cacheSize; // 200\r
+            int startPos = 0;\r
+            if ((forIndex - halfSize) > 0) { // forIndex=60 startPos=0\r
+                // cache=0-200, forIndex=150\r
+                // startPos=50 cache=50-250\r
+                startPos = (forIndex - halfSize);\r
+            }\r
+\r
+            int endPos = (startPos + rowLimit);\r
+            endPos = ((this.resultSetSize < 0) || (endPos <= this.resultSetSize)) ? endPos : this.resultSetSize;\r
+\r
+\r
+            if (this.resultSetSize < 0) {\r
+                this.resultSetSize = getResultSetCount();\r
+                log.info("Result item count is {}", resultSetSize);\r
+            }\r
+\r
+            log.info("Query result from {} to {}", startPos, endPos);\r
+            List<T> resList = getResultSet(startPos, endPos - startPos, sortComparator);\r
+\r
+            if (resList != null) {\r
+                log.info("Got {} records", resList.size());\r
+                for (int c = 0; c < resList.size(); c++) {\r
+                    cache.put(startPos + c, resList.get(c));\r
+                    cache.put(startPos + c, resList.get(c));\r
+                    // logger.debug("CachedListMode.cached idx: " +\r
+                    // (startPos + c));\r
+                }\r
+            }\r
+            // logger.debug("CachedListMode.cacheSize: " + cache.size());\r
+\r
+            cacheStart = startPos + 1;\r
+            cacheEnd = cacheStart + (cache.size() == 0 ? 0 : (cache.size() - 1));\r
+//                     BindUtils.postNotifyChange(null, null, this, "*");\r
+\r
+        } catch (Exception e) {\r
+            log.error("", e);\r
+        }\r
+    }\r
+\r
+    abstract protected List<T> getResultSet(long offset, int limit, FieldComparator sortComparator);\r
+\r
+    abstract public int getResultSetCount();\r
+\r
+\r
+    @Override\r
+    public void sort(Comparator<T> cmpr, boolean ascending) {\r
+        sortComparator = (FieldComparator) cmpr;\r
+        log.info("Sort {} {}", sortComparator.getOrderBy(), ascending);\r
+        reset();\r
+    }\r
+\r
+}
\ No newline at end of file
diff --git a/lis-ui/src/main/java/hu/user/lis/ui/data/FormDocument.java b/lis-ui/src/main/java/hu/user/lis/ui/data/FormDocument.java
new file mode 100644 (file)
index 0000000..2e1bf03
--- /dev/null
@@ -0,0 +1,28 @@
+package hu.user.lis.ui.data;\r
+\r
+import com.fasterxml.jackson.databind.ObjectMapper;\r
+import lombok.Builder;\r
+import lombok.extern.log4j.Log4j2;\r
+import org.zkoss.json.JSONObject;\r
+import org.zkoss.json.parser.JSONParser;\r
+import org.zkoss.lang.Strings;\r
+\r
+@Builder\r
+@Log4j2\r
+public class FormDocument<T> extends JSONObject {\r
+    private T data;\r
+\r
+    public FormDocument setData(T data) {\r
+        try {\r
+            ObjectMapper mapper = new ObjectMapper();\r
+            String json = mapper.writeValueAsString(data);\r
+            JSONParser jsonParser = new JSONParser();\r
+            JSONObject jsonObject = (JSONObject) jsonParser.parse(json);\r
+            putAll(jsonObject);\r
+        } catch (Exception e) {\r
+            log.error(Strings.EMPTY, e);\r
+        }\r
+        put("data", data);\r
+        return this;\r
+    }\r
+}\r
diff --git a/lis-ui/src/main/java/hu/user/lis/ui/data/SuppliersDataModel.java b/lis-ui/src/main/java/hu/user/lis/ui/data/SuppliersDataModel.java
new file mode 100644 (file)
index 0000000..104b8d5
--- /dev/null
@@ -0,0 +1,92 @@
+package hu.user.lis.ui.data;\r
+\r
+import hu.user.lis.db.Supplier;\r
+import hu.user.lis.services.data.SupplierService;\r
+import lombok.extern.log4j.Log4j2;\r
+import org.apache.commons.lang3.StringUtils;\r
+import org.springframework.beans.factory.annotation.Autowired;\r
+import org.springframework.beans.factory.config.ConfigurableBeanFactory;\r
+import org.springframework.context.annotation.Scope;\r
+import org.springframework.stereotype.Component;\r
+import org.zkoss.bind.BindUtils;\r
+import org.zkoss.zul.FieldComparator;\r
+\r
+import java.util.Comparator;\r
+import java.util.List;\r
+import java.util.stream.Collectors;\r
+\r
+@Component\r
+@Log4j2\r
+@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)\r
+public class SuppliersDataModel extends CachedDataModel<Supplier> {\r
+    private String partialName;\r
+    private String partialZipCode;\r
+    private boolean listAll;\r
+    @Autowired\r
+    SupplierService supplierService;\r
+\r
+\r
+    private boolean canExecuteSearch() {\r
+        boolean result = StringUtils.isNotBlank(partialName) || StringUtils.isNotBlank(partialZipCode) || listAll;\r
+        log.info("Can execute search: {}", result);\r
+        return result;\r
+    }\r
+\r
+    private boolean filter(Supplier supplier) {\r
+        if (listAll) {\r
+            return true;\r
+        }\r
+\r
+        boolean result = true;\r
+        if (StringUtils.isNotBlank(partialName)) {\r
+            if (!supplier.getName().toLowerCase().startsWith(partialName.toLowerCase())) {\r
+                result = false;\r
+            }\r
+        }\r
+        if (StringUtils.isNotBlank(partialZipCode)) {\r
+            if (!supplier.getZipCode().toLowerCase().startsWith(partialZipCode.toLowerCase())) {\r
+                result = false;\r
+            }\r
+        }\r
+        return result;\r
+    }\r
+\r
+    @Override\r
+    protected List<Supplier> getResultSet(long offset, int limit, FieldComparator sortComparator) {\r
+        List<Supplier> result = null;\r
+        if (canExecuteSearch()) {\r
+            result = supplierService.getAll().stream()\r
+                    .sorted(Comparator.comparing(Supplier::getName))\r
+                    .filter(s -> filter(s))\r
+                    .collect(Collectors.toList());\r
+        }\r
+        return result;\r
+    }\r
+\r
+    @Override\r
+    public int getResultSetCount() {\r
+        int result = 0;\r
+        if (canExecuteSearch()) {\r
+            result = (int) supplierService.getAll().stream()\r
+                    .filter(s -> filter(s))\r
+                    .count();\r
+        }\r
+        return result;\r
+    }\r
+\r
+    public void search(String partialName, String partialZipCode) {\r
+        log.info("Searching supplier using filters: name LIKE {}, ZIP code LIKE {}", partialName, partialZipCode);\r
+        listAll = false;\r
+        this.partialName = partialName;\r
+        this.partialZipCode = partialZipCode;\r
+        super.reset();\r
+        BindUtils.postNotifyChange(null, null, this, "*");\r
+    }\r
+\r
+    public void listAll() {\r
+        log.info("List all suppliers");\r
+        listAll = true;\r
+        super.reset();\r
+        BindUtils.postNotifyChange(null, null, this, "*");\r
+    }\r
+}\r
diff --git a/lis-ui/src/main/java/hu/user/lis/ui/data/SuppliersSimpleDataModel.java b/lis-ui/src/main/java/hu/user/lis/ui/data/SuppliersSimpleDataModel.java
new file mode 100644 (file)
index 0000000..6096c01
--- /dev/null
@@ -0,0 +1,63 @@
+package hu.user.lis.ui.data;\r
+\r
+import hu.user.lis.db.Supplier;\r
+import hu.user.lis.services.data.SupplierService;\r
+import lombok.extern.log4j.Log4j2;\r
+import org.apache.commons.lang3.StringUtils;\r
+import org.springframework.beans.factory.annotation.Autowired;\r
+import org.springframework.beans.factory.config.ConfigurableBeanFactory;\r
+import org.springframework.context.annotation.Scope;\r
+import org.springframework.stereotype.Component;\r
+import org.zkoss.bind.BindUtils;\r
+import org.zkoss.zul.FieldComparator;\r
+\r
+import java.util.Comparator;\r
+import java.util.List;\r
+import java.util.stream.Collectors;\r
+\r
+@Component\r
+@Log4j2\r
+@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)\r
+public class SuppliersSimpleDataModel extends CachedDataModel<Supplier> {\r
+    static private final int SEARCH_LIMIT = 10;\r
+    private String partialName;\r
+    @Autowired\r
+    SupplierService supplierService;\r
+\r
+    private boolean filter(Supplier supplier) {\r
+        if (StringUtils.isBlank(partialName)) {\r
+            return true;\r
+        } else {\r
+            if (supplier.getName().toLowerCase().startsWith(partialName.toLowerCase())) {\r
+                return true;\r
+            }\r
+        }\r
+        return false;\r
+    }\r
+\r
+    @Override\r
+    protected List<Supplier> getResultSet(long offset, int limit, FieldComparator sortComparator) {\r
+        List<Supplier> result = supplierService.getAll().stream()\r
+                .sorted(Comparator.comparing(Supplier::getName))\r
+                .filter(s -> filter(s))\r
+                .limit(SEARCH_LIMIT)\r
+                .collect(Collectors.toList());\r
+        return result;\r
+    }\r
+\r
+    @Override\r
+    public int getResultSetCount() {\r
+        int result = (int) supplierService.getAll().stream()\r
+                .filter(s -> filter(s))\r
+                .limit(SEARCH_LIMIT)\r
+                .count();\r
+        return result;\r
+    }\r
+\r
+    public void search(String partialName) {\r
+        log.info("Searching supplier using filter {}", partialName);\r
+        this.partialName = partialName;\r
+        super.reset();\r
+        BindUtils.postNotifyChange(null, null, this, "*");\r
+    }\r
+}\r
diff --git a/lis-ui/src/main/java/hu/user/lis/ui/form/Field.java b/lis-ui/src/main/java/hu/user/lis/ui/form/Field.java
new file mode 100644 (file)
index 0000000..5e7ab14
--- /dev/null
@@ -0,0 +1,240 @@
+package hu.user.lis.ui.form;\r
+\r
+import org.zkoss.zk.ui.Component;\r
+import org.zkoss.zul.Include;\r
+\r
+public class Field extends Include {\r
+    public static final String FIELD_POSTFIX_ERROR = "_error";\r
+    public static final String FIELD_POSTFIX_DATA = "_data";\r
+    public static final String FIELD_POSTFIX_UNIT = "_unit";\r
+\r
+    public static class Address extends Field {\r
+        public Address() {\r
+            super();\r
+            setSrc("~./fields/address.zul");\r
+        }\r
+    }\r
+\r
+    public static class Agreement extends Field {\r
+        public Agreement() {\r
+            super();\r
+            setSrc("~./fields/agreement.zul");\r
+        }\r
+    }\r
+\r
+    public static class Check extends Field {\r
+        public Check() {\r
+            super();\r
+            setSrc("~./fields/check.zul");\r
+        }\r
+    }\r
+\r
+    public static class CheckGroup extends Field {\r
+        public CheckGroup() {\r
+            super();\r
+            setSrc("~./fields/checkgroup.zul");\r
+        }\r
+    }\r
+\r
+    public static class Company extends Field {\r
+        public Company() {\r
+            super();\r
+            setSrc("~./fields/company.zul");\r
+        }\r
+    }\r
+\r
+    public static class CurrentDate extends Field {\r
+        public CurrentDate() {\r
+            super();\r
+            setSrc("~./fields/current-date.zul");\r
+        }\r
+    }\r
+\r
+    public static class Date extends Field {\r
+        public Date() {\r
+            super();\r
+            setSrc("~./fields/date.zul");\r
+        }\r
+    }\r
+\r
+    public static class Deadline extends Field {\r
+        public Deadline() {\r
+            super();\r
+            setSrc("~./fields/deadline.zul");\r
+        }\r
+    }\r
+\r
+    public static class Domain extends Field {\r
+        public Domain() {\r
+            super();\r
+            setSrc("~./fields/domain.zul");\r
+        }\r
+    }\r
+\r
+    public static class Double extends Field {\r
+        public Double() {\r
+            super();\r
+            setSrc("~./fields/double.zul");\r
+        }\r
+    }\r
+\r
+    public static class FreePerson extends Field {\r
+        public FreePerson() {\r
+            super();\r
+            setSrc("~./fields/freeperson.zul");\r
+        }\r
+    }\r
+\r
+    public static class InlineRadio extends Field {\r
+        public InlineRadio() {\r
+            super();\r
+            setSrc("~./fields/inline-radio.zul");\r
+        }\r
+    }\r
+\r
+    public static class Location extends Field {\r
+        public Location() {\r
+            super();\r
+            setSrc("~./fields/location.zul");\r
+        }\r
+    }\r
+\r
+    public static class NoBornPerson extends Field {\r
+        public NoBornPerson() {\r
+            super();\r
+            setSrc("~./fields/nobornperson.zul");\r
+        }\r
+    }\r
+\r
+    public static class Number extends Field {\r
+        public Number() {\r
+            super();\r
+            setSrc("~./fields/number.zul");\r
+        }\r
+    }\r
+\r
+    public static class Person extends Field {\r
+        public Person() {\r
+            super();\r
+            setSrc("~./fields/person.zul");\r
+        }\r
+    }\r
+\r
+    public static class PersonName extends Field {\r
+        public PersonName() {\r
+            super();\r
+            setSrc("~./fields/person-name.zul");\r
+        }\r
+    }\r
+\r
+    public static class Radio extends Field {\r
+        public Radio() {\r
+            super();\r
+            setSrc("~./fields/radio.zul");\r
+        }\r
+    }\r
+\r
+    public static class RadioDate extends Field {\r
+        public RadioDate() {\r
+            super();\r
+            setSrc("~./fields/radiodate.zul");\r
+        }\r
+    }\r
+\r
+    public static class RadioDouble extends Field {\r
+        public RadioDouble() {\r
+            super();\r
+            setSrc("~./fields/radiodouble.zul");\r
+        }\r
+    }\r
+\r
+    public static class RadioGroup extends Field {\r
+        public RadioGroup() {\r
+            super();\r
+            setSrc("~./fields/radiogroup.zul");\r
+        }\r
+    }\r
+\r
+    public static class RadioNumber extends Field {\r
+        public RadioNumber() {\r
+            super();\r
+            setSrc("~./fields/radionumber.zul");\r
+        }\r
+    }\r
+\r
+    public static class Rate extends Field {\r
+        public Rate() {\r
+            super();\r
+            setSrc("~./fields/rate.zul");\r
+        }\r
+    }\r
+\r
+    public static class Settlement extends Field {\r
+        public Settlement() {\r
+            super();\r
+            setSrc("~./fields/settlement.zul");\r
+        }\r
+    }\r
+\r
+    public static class Signature extends Field {\r
+        public Signature() {\r
+            super();\r
+            setSrc("~./fields/signature.zul");\r
+        }\r
+    }\r
+\r
+    public static class Stamp extends Field {\r
+        public Stamp() {\r
+            super();\r
+            setSrc("~./fields/stamp.zul");\r
+        }\r
+    }\r
+\r
+    public static class Text extends Field {\r
+        public Text() {\r
+            super();\r
+            setSrc("~./fields/text.zul");\r
+        }\r
+    }\r
+\r
+    public static class TextArea extends Field {\r
+        public TextArea() {\r
+            super();\r
+            setSrc("~./fields/textarea.zul");\r
+        }\r
+    }\r
+\r
+    public static class TitleDeed extends Field {\r
+        public TitleDeed() {\r
+            super();\r
+            setSrc("~./fields/title-deed.zul");\r
+        }\r
+    }\r
+\r
+    public static class ZipCode extends Field {\r
+        public ZipCode() {\r
+            super();\r
+            setSrc("~./fields/zipcode.zul");\r
+        }\r
+    }\r
+\r
+    private void set(String name, Object value) {\r
+        setAttribute(name, value, Component.SPACE_SCOPE);\r
+    }\r
+\r
+    @Override\r
+    public void setDynamicProperty(String name, Object value) {\r
+        super.setDynamicProperty(name, value);\r
+        // a dinamikus parametereket letoljuk az egesz szkopon + letrehozunk technikai\r
+        // parametereket\r
+        // ezek az include altal behuzott Composit-okban cimezhetoek pl. ${field}\r
+        set(name, value);\r
+        if ("field".equals(name)) {\r
+            String field = (String) value;\r
+            set("errorField", field + FIELD_POSTFIX_ERROR);\r
+            set("dataField", field + FIELD_POSTFIX_DATA);\r
+            set("unitField", field + FIELD_POSTFIX_UNIT);\r
+        }\r
+    }\r
+\r
+}\r
diff --git a/lis-ui/src/main/java/hu/user/lis/ui/form/FormValidator.java b/lis-ui/src/main/java/hu/user/lis/ui/form/FormValidator.java
new file mode 100644 (file)
index 0000000..7200a8f
--- /dev/null
@@ -0,0 +1,14 @@
+package hu.user.lis.ui.form;\r
+\r
+import lombok.extern.log4j.Log4j2;\r
+import org.springframework.stereotype.Service;\r
+import org.zkoss.bind.ValidationContext;\r
+import org.zkoss.bind.validator.AbstractValidator;\r
+\r
+@Service\r
+@Log4j2\r
+public class FormValidator extends AbstractValidator {\r
+    @Override\r
+    public void validate(ValidationContext ctx) {\r
+    }\r
+}\r
diff --git a/lis-ui/src/main/java/hu/user/lis/ui/view/Index.java b/lis-ui/src/main/java/hu/user/lis/ui/view/Index.java
new file mode 100644 (file)
index 0000000..789e9d7
--- /dev/null
@@ -0,0 +1,79 @@
+package hu.user.lis.ui.view;\r
+\r
+import hu.user.lis.db.Supplier;\r
+import hu.user.lis.ui.data.SuppliersSimpleDataModel;\r
+import lombok.Getter;\r
+import lombok.Setter;\r
+import lombok.extern.log4j.Log4j2;\r
+import org.springframework.boot.info.BuildProperties;\r
+import org.zkoss.bind.BindContext;\r
+import org.zkoss.bind.BindUtils;\r
+import org.zkoss.bind.annotation.Command;\r
+import org.zkoss.bind.annotation.ContextParam;\r
+import org.zkoss.bind.annotation.ContextType;\r
+import org.zkoss.bind.annotation.NotifyChange;\r
+import org.zkoss.zk.ui.Executions;\r
+import org.zkoss.zk.ui.event.InputEvent;\r
+import org.zkoss.zk.ui.event.OpenEvent;\r
+import org.zkoss.zk.ui.select.annotation.VariableResolver;\r
+import org.zkoss.zk.ui.select.annotation.WireVariable;\r
+import org.zkoss.zul.Window;\r
+\r
+import java.util.Objects;\r
+\r
+@Log4j2\r
+@VariableResolver(org.zkoss.zkplus.spring.DelegatingVariableResolver.class)\r
+public class Index {\r
+    @Getter\r
+    @Setter\r
+    @WireVariable\r
+    private SuppliersSimpleDataModel suppliersSimpleDataModel;\r
+    @Getter\r
+    private Supplier selectedSupplier;\r
+    @Getter\r
+    @Setter\r
+    private String selectedSupplierId;\r
+    @Getter\r
+    @WireVariable\r
+    BuildProperties buildProperties;\r
+\r
+    @Command\r
+    public void onBandChanging(@ContextParam(ContextType.BIND_CONTEXT) BindContext ctx) {\r
+        InputEvent event = (InputEvent) ctx.getTriggerEvent();\r
+        log.info("onBandChanging: {}", event.getValue());\r
+        suppliersSimpleDataModel.search(event.getValue());\r
+    }\r
+\r
+    @Command\r
+    public void onBandOpen(@ContextParam(ContextType.BIND_CONTEXT) BindContext ctx) {\r
+        OpenEvent event = (OpenEvent) ctx.getTriggerEvent();\r
+        log.info("onBandOpen: {}", event.isOpen());\r
+        suppliersSimpleDataModel.search(null);\r
+    }\r
+\r
+    @Command\r
+    public void onPopupSuppliers() {\r
+        String page = "~./suppliers.zul";\r
+        Window suppliersWindow = (Window) Executions.createComponents(page, null, null);\r
+        suppliersWindow.addEventListener("onClose", e -> {\r
+            log.info("Suppliers popup result {}", e.getData());\r
+            if (e.getData() != null) {\r
+                suppliersSimpleDataModel.clearSelection();\r
+                setSelectedSupplierId(((Supplier) e.getData()).getId());\r
+                BindUtils.postNotifyChange(null, null, this, "selectedSupplierId");\r
+            }\r
+        });\r
+\r
+        suppliersWindow.doModal();\r
+    }\r
+\r
+    @NotifyChange({"selectedSupplierId", "selectedSupplier"})\r
+    public void setSelectedSupplier(Supplier selectedSupplier) {\r
+        this.selectedSupplier = selectedSupplier;\r
+        if (Objects.isNull(selectedSupplier)) {\r
+            setSelectedSupplierId(null);\r
+        } else {\r
+            setSelectedSupplierId(selectedSupplier.getId());\r
+        }\r
+    }\r
+}\r
diff --git a/lis-ui/src/main/java/hu/user/lis/ui/view/SuppliersViewModel.java b/lis-ui/src/main/java/hu/user/lis/ui/view/SuppliersViewModel.java
new file mode 100644 (file)
index 0000000..fcd3d99
--- /dev/null
@@ -0,0 +1,93 @@
+package hu.user.lis.ui.view;
+
+import hu.user.lis.db.Supplier;
+import hu.user.lis.ui.data.FormDocument;
+import hu.user.lis.ui.data.SuppliersDataModel;
+import hu.user.lis.ui.form.FormValidator;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.zkoss.bind.annotation.BindingParam;
+import org.zkoss.bind.annotation.Command;
+import org.zkoss.bind.annotation.Init;
+import org.zkoss.bind.annotation.NotifyChange;
+import org.zkoss.zk.ui.event.Event;
+import org.zkoss.zk.ui.event.Events;
+import org.zkoss.zk.ui.select.annotation.VariableResolver;
+import org.zkoss.zk.ui.select.annotation.WireVariable;
+import org.zkoss.zkplus.spring.DelegatingVariableResolver;
+import org.zkoss.zul.Window;
+
+import java.util.Set;
+
+@Log4j2
+@Getter
+@Setter
+@VariableResolver(DelegatingVariableResolver.class)
+public class SuppliersViewModel {
+    private FormDocument formDocument;
+    private boolean canEdit;
+    private String partialName;
+    private String partialZipCode;
+
+    private Supplier selectedSupplier;
+    @WireVariable
+    SuppliersDataModel suppliersDataModel;
+    @Autowired
+    FormValidator formValidator;
+
+    @Init
+    public void init() {
+        log.info("Initialized");
+        //TODO atnevezni, mert forditva mukodik
+        setCanEdit(true);
+    }
+
+    public String getFieldStyle(String field, String baseStyle) {
+//             Object error = getFormDocument().get(field + FIELD_POSTFIX_ERROR);
+//             if (error != null && (boolean) error)
+//                     return baseStyle + " " + ERROR;
+//             else
+//                     return baseStyle;
+        return baseStyle;
+    }
+
+    @Command
+    @NotifyChange("formDocument")
+    public void search() {
+        suppliersDataModel.clearSelection();
+        formDocument = null;
+        suppliersDataModel.search(partialName, partialZipCode);
+    }
+
+    @Command
+    @NotifyChange({"formDocument", "partialName", "partialZipCode"})
+    public void listAll() {
+        suppliersDataModel.clearSelection();
+        formDocument = null;
+        partialName = null;
+        partialZipCode = null;
+        suppliersDataModel.listAll();
+    }
+
+    @Command
+    @NotifyChange("formDocument")
+    public void onListSelection() {
+        formDocument = null;
+        selectedSupplier = null;
+        Set<Supplier> selections = suppliersDataModel.getSelection();
+        if (selections.iterator().hasNext()) {
+            selectedSupplier = selections.iterator().next();
+            formDocument = FormDocument.builder().build()
+                    .setData(selectedSupplier);
+            log.info("Selected {}", formDocument);
+        }
+    }
+
+    @Command
+    public void onCloseWindow(@BindingParam("target") Window target, @BindingParam("select") boolean select) {
+        Event closeEvent = new Event("onClose", target, select ? selectedSupplier : null);
+        Events.postEvent(closeEvent);
+    }
+}
diff --git a/lis-ui/src/main/resources/metainfo/zk-label.properties b/lis-ui/src/main/resources/metainfo/zk-label.properties
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/lis-ui/src/main/resources/metainfo/zk-label_hu.properties b/lis-ui/src/main/resources/metainfo/zk-label_hu.properties
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/lis-ui/src/main/resources/metainfo/zk/zk.xml b/lis-ui/src/main/resources/metainfo/zk/zk.xml
new file mode 100644 (file)
index 0000000..c2d23dc
--- /dev/null
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<zk>\r
+    <config-name/>\r
+    <system-config>\r
+        <ui-factory-class>org.zkoss.zk.ui.http.SerializableUiFactory</ui-factory-class>\r
+    </system-config>\r
+    <library-property>\r
+        <name>org.zkoss.theme.preferred</name>\r
+        <value>silvertail</value>\r
+    </library-property>\r
+    <library-property>\r
+        <name>org.zkoss.zul.grid.rod</name>\r
+        <value>true</value>\r
+    </library-property>\r
+    <library-property>\r
+        <name>org.zkoss.zul.grid.autohidePaging</name>\r
+        <value>false</value>\r
+    </library-property>\r
+    <library-property>\r
+        <name>org.zkoss.zul.listbox.rod</name>\r
+        <value>true</value>\r
+    </library-property>\r
+    <library-property>\r
+        <name>org.zkoss.zul.listbox.autohidePaging</name>\r
+        <value>false</value>\r
+    </library-property>\r
+    <library-property>\r
+        <name>org.zkoss.zul.nativebar</name>\r
+        <value>true</value>\r
+    </library-property>\r
+    <!--    PROD    -->\r
+    <!--    <desktop-config>-->\r
+    <!--        <file-check-period>600</file-check-period>&lt;!&ndash; unit: seconds &ndash;&gt;-->\r
+    <!--    </desktop-config>-->\r
+</zk>
\ No newline at end of file
diff --git a/lis-ui/src/main/resources/web/fields/address.zul b/lis-ui/src/main/resources/web/fields/address.zul
new file mode 100644 (file)
index 0000000..9ec5a71
--- /dev/null
@@ -0,0 +1,22 @@
+<?component name="text" class="hu.bitcity.form.field.Field$Text" ?>\r
+<?component name="number" class="hu.bitcity.form.field.Field$Number" ?>\r
+<?component name="domain" class="hu.bitcity.form.field.Field$Domain" ?>\r
+<?component name="zipcode" class="hu.bitcity.form.field.Field$ZipCode" ?>\r
+<?component name="location" class="hu.bitcity.form.field.Field$Location" ?>\r
+<div class="row">\r
+       <div class="row">\r
+               <zipcode class="one column" label="Irányítószám" origField="${field}" field="${field}_iranyitoszam" validators="${validators}" />\r
+               <text class="four columns" label="Helység" field="${field}_helyseg" validators="${validators}" />\r
+               <location class="four columns" label="Közterület neve" origField="${field}" field="${field}_kozterulet_nev" validators="${validators}"/>\r
+               <domain class="two columns" label="Közterület" origField="${field}" field="${field}_kozterulet" \r
+                       values="${['-', 'árok','átjáró','dűlő','dűlőút','erdősor','fasor','forduló','gát','határsor','határút','kapu','körönd','körtér','körút','köz','lakótelep','lejáró','lejtő','lépcső','liget','mélyút','orom','ösvény','park','part','pincesor','rakpart','sétány','sikátor','sor','sugárút','tér','udvar','út','utca','üdülőpart']}" \r
+                       validators="${validators}"/>\r
+               <text class="one column" label="Házszám" field="${field}_hazszam" validators="${validators}"/>\r
+       </div>\r
+       <div class="row">\r
+               <text class="three columns" label="Lépcsőház" field="${field}_lepcsohaz" />\r
+               <text class="three columns" label="Emelet" field="${field}_emelet" />\r
+               <text class="three columns" label="Ajtó" field="${field}_ajto" />\r
+               <text class="three columns" label="Egyéb" field="${field}_egyeb" />\r
+       </div>\r
+</div>
\ No newline at end of file
diff --git a/lis-ui/src/main/resources/web/fields/agreement.zul b/lis-ui/src/main/resources/web/fields/agreement.zul
new file mode 100644 (file)
index 0000000..f6fdf4d
--- /dev/null
@@ -0,0 +1,7 @@
+<div class="agreement field">\r
+       <div class="row field-top">\r
+               <label xmlns:ca="client/attribute" ca:data-markdown="true">\r
+${text}\r
+               </label>\r
+       </div>\r
+</div>
\ No newline at end of file
diff --git a/lis-ui/src/main/resources/web/fields/check.zul b/lis-ui/src/main/resources/web/fields/check.zul
new file mode 100644 (file)
index 0000000..258d5ca
--- /dev/null
@@ -0,0 +1,8 @@
+<div class="field" xmlns:w="client" w:onClick="console.log('field : ${field}')">\r
+       <div class="@load(vm.getFieldStyle(field, 'field-label'))">\r
+               <checkbox label="${label}" onCheck="@command('submit') @global-command('autosave', source=self)"\r
+                       checked="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator)" \r
+                       disabled="@load(vm.formDocument['ro'] || ro)" />\r
+       </div>\r
+\r
+</div> \r
diff --git a/lis-ui/src/main/resources/web/fields/checkgroup.zul b/lis-ui/src/main/resources/web/fields/checkgroup.zul
new file mode 100644 (file)
index 0000000..a50aab6
--- /dev/null
@@ -0,0 +1,14 @@
+<div class="field">\r
+       <div class="row field-top">\r
+               <include src="/fields/field-label.zul"/>\r
+       </div>  \r
+       <div class="row field-textbox field-top">\r
+               <zk forEach="${values}">\r
+                       <checkbox label="${each}"\r
+                               checked="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator)" \r
+                               disabled="@load(vm.formDocument['ro'] || ro)" onCheck="@command('submit') @global-command('autosave', source=self)" >\r
+                               <custom-attributes field="${field}_${forEachStatus.index + 1}" />\r
+                       </checkbox>\r
+               </zk>\r
+       </div>  \r
+</div>\r
diff --git a/lis-ui/src/main/resources/web/fields/company.zul b/lis-ui/src/main/resources/web/fields/company.zul
new file mode 100644 (file)
index 0000000..dc1f1fd
--- /dev/null
@@ -0,0 +1,19 @@
+<?component name="address" class="hu.bitcity.form.field.Field$Address" ?>\r
+<?component name="date" class="hu.bitcity.form.field.Field$Date" ?>\r
+<?component name="text" class="hu.bitcity.form.field.Field$Text" ?>\r
+<?component name="personname" class="hu.bitcity.form.field.Field$PersonName" ?>\r
+<div class="row">\r
+       <div class="row">\r
+               <personname class="eight columns" label="Cégnév" origField="${field}" field="${field}_nev" validators="nonempty"/>\r
+               <text class="four columns" label="Adószám" field="${field}_adoszam" validators="nonempty" />\r
+       </div>\r
+       <address class="row" label="Székhely" field="${field}_cim" validators="nonempty,address" />\r
+       <div class="row">\r
+               <text class="four columns" label="Cégjegyzékszám" field="${field}_cegjegyzekszam" validators="nonempty"/>\r
+               <text class="eight columns" label="Képviseli" field="${field}_kepviseli" validators="nonempty" />\r
+       </div>\r
+       <div class="row no-print" if="${empty param.token or nocontacts}">\r
+               <text class="six columns" label="Telefonszám" field="${field}_telefon" validators="phone" />\r
+               <text class="six columns" label="E-mail" field="${field}_email" validators="email" />\r
+       </div>\r
+</div>
\ No newline at end of file
diff --git a/lis-ui/src/main/resources/web/fields/current-date.zul b/lis-ui/src/main/resources/web/fields/current-date.zul
new file mode 100644 (file)
index 0000000..49caf70
--- /dev/null
@@ -0,0 +1,16 @@
+<div class="row" style="margin-top: 10px; margin-bottom: 10px;">\r
+<label value="${isEmpty}"/>\r
+       <variables defaultValue="Budapest" isEmpty="${isEmpty}" />\r
+       <label class="form-label" >Kelt: </label>\r
+       <combobox class="@load(vm.getFieldStyle(field, 'inline-intbox'))" \r
+               model="@load(vm.settlementsModel)"\r
+               value="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator, parameters=validatorargs)" \r
+               onBlur="@command('submit') @global-command('autosave', source=self)"\r
+               disabled="@load(vm.formDocument['ro'] || ro)"\r
+               autodrop="true" buttonVisible="true" onCreate="if (self.getValue() == null || self.getValue().length() == 0) self.setValue(defaultValue)" >\r
+               <!--  \r
+               -->\r
+       </combobox>\r
+       <label>,</label>\r
+       <textbox class="inline-textbox" readonly="true" value="@load(vm.formDocument[dataField]) @save(vm.formDocument[dataField], before='submit') @converter('hu.bitcity.converter.CurrentDateConverter', field=dataField, isEmpty=isEmpty)"/>\r
+</div> \r
diff --git a/lis-ui/src/main/resources/web/fields/date.zul b/lis-ui/src/main/resources/web/fields/date.zul
new file mode 100644 (file)
index 0000000..8b3ed89
--- /dev/null
@@ -0,0 +1,9 @@
+<div class="field">\r
+       <div class="row field-top">\r
+               <include src="/fields/field-label.zul" />\r
+       </div>  \r
+       <div class="row field-top">\r
+               <datebox class="field-textbox" value="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator, parameters=validatorargs) @converter('hu.bitcity.converter.JSONDateConverter')" \r
+                       format="yyyy.MM.dd" disabled="@load(vm.formDocument['ro'] || ro)" onChange="@command('submit') @global-command('autosave', source=self)" />\r
+       </div>  \r
+</div>\r
diff --git a/lis-ui/src/main/resources/web/fields/deadline.zul b/lis-ui/src/main/resources/web/fields/deadline.zul
new file mode 100644 (file)
index 0000000..872bf6d
--- /dev/null
@@ -0,0 +1,11 @@
+<?component name="text" class="hu.bitcity.form.field.Field$Text" ?>\r
+<?component name="number" class="hu.bitcity.form.field.Field$Number" ?>\r
+<?component name="domain" class="hu.bitcity.form.field.Field$Domain" ?>\r
+<?component name="int" class="hu.bitcity.form.field.Field$ZipCode" ?>\r
+<div class="row">\r
+       <int class="four columns" label="Év" field="${field}_ev" validators="nonempty"/>\r
+       <domain class="four columns" label="Hónap" field="${field}_honap" readonly="true" \r
+               values="${['január','február','március','április','május','június','július','augusztus','szeptember','október','november','december']}" \r
+               validators="nonempty" />\r
+       <int class="four columns" label="Nap" field="${field}_nap" validators="nonempty"/>\r
+</div>
\ No newline at end of file
diff --git a/lis-ui/src/main/resources/web/fields/domain.zul b/lis-ui/src/main/resources/web/fields/domain.zul
new file mode 100644 (file)
index 0000000..db2d864
--- /dev/null
@@ -0,0 +1,14 @@
+<div class="field">\r
+       <div class="row field-top">\r
+               <include src="~./fields/field-label.zul"/>\r
+       </div>  \r
+       <div class="row field-top">\r
+                 <!-- \r
+                       @converter('hu.bitcity.converter.ComboBoxConverter')\r
+                 -->\r
+               <combobox class="field-textbox" autodrop="false" value="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator)" \r
+                       disabled="@load(vm.canEdit || ro)" onBlur="@command('submit') @global-command('autosave', source=self)" readonly="${readonly}">\r
+                   <comboitem label="${each}" value="${each}" forEach="${values}" />\r
+               </combobox>             \r
+       </div>  \r
+</div>
\ No newline at end of file
diff --git a/lis-ui/src/main/resources/web/fields/double.zul b/lis-ui/src/main/resources/web/fields/double.zul
new file mode 100644 (file)
index 0000000..60b6f6d
--- /dev/null
@@ -0,0 +1,9 @@
+<div class="field">\r
+       <div class="row field-top">\r
+               <include src="/fields/field-label.zul"/>\r
+       </div>  \r
+       <div class="row field-top">\r
+               <doublebox class="field-textbox" value="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator, parameters=validatorargs)" format="#,##0.##" \r
+                       disabled="@load(vm.formDocument['ro'] || ro)"  onChange="@command('submit') @global-command('autosave', source=self)" />\r
+       </div>  \r
+</div>
\ No newline at end of file
diff --git a/lis-ui/src/main/resources/web/fields/field-label.zul b/lis-ui/src/main/resources/web/fields/field-label.zul
new file mode 100644 (file)
index 0000000..d297d12
--- /dev/null
@@ -0,0 +1,3 @@
+<div xmlns:w="client" w:onClick="console.log('field : ${field}')">\r
+       <label class="@load(vm.getFieldStyle(field, 'field-label'))" value="${label}" visible="@load(!empty label)"/>\r
+</div>\r
diff --git a/lis-ui/src/main/resources/web/fields/freeperson.zul b/lis-ui/src/main/resources/web/fields/freeperson.zul
new file mode 100644 (file)
index 0000000..4f246b2
--- /dev/null
@@ -0,0 +1,21 @@
+<?component name="address" class="hu.bitcity.form.field.Field$Address" ?>\r
+<?component name="date" class="hu.bitcity.form.field.Field$Date" ?>\r
+<?component name="text" class="hu.bitcity.form.field.Field$Text" ?>\r
+<?component name="personname" class="hu.bitcity.form.field.Field$PersonName" ?>\r
+<div class="row">\r
+       <div class="row">\r
+               <personname class="four columns" label="Név" origField="${field}" field="${field}_nev"/>\r
+               <text class="four columns" label="Állampolgárság" field="${field}_allampolgarsag" />\r
+               <text class="four columns" label="Szem. ig./Útlevél szám" field="${field}_azonosito_irat" />\r
+       </div>\r
+       <address class="row" label="Lakcím" field="${field}_cim" />\r
+       <div class="row">\r
+               <text class="six columns" label="Születési hely" field="${field}_szuletesi_hely" />\r
+               <date class="two columns" label="Születés dátuma" field="${field}_szuletes_datuma" />\r
+               <text class="four columns" label="Anyja neve" field="${field}_anyja_neve" />\r
+       </div>\r
+       <div class="row no-print" if="${empty param.token or nocontacts}">\r
+               <text class="six columns" label="Telefonszám" field="${field}_telefon" />\r
+               <text class="six columns" label="E-mail" field="${field}_email" />\r
+       </div>\r
+</div>
\ No newline at end of file
diff --git a/lis-ui/src/main/resources/web/fields/inline-radio.zul b/lis-ui/src/main/resources/web/fields/inline-radio.zul
new file mode 100644 (file)
index 0000000..05b609d
--- /dev/null
@@ -0,0 +1,4 @@
+<radio class="@load(vm.getFieldStyle(field, 'inline-radio'))" label="${label}" value="${value}" \r
+       onCheck="@command('onRadioCheck', target=self) @global-command('autosave', source=self)" \r
+       checked="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator) @converter('hu.bitcity.converter.RadioCheckConverter')" \r
+       disabled="@load(vm.formDocument['ro'] || ro)" />\r
diff --git a/lis-ui/src/main/resources/web/fields/location.zul b/lis-ui/src/main/resources/web/fields/location.zul
new file mode 100644 (file)
index 0000000..993bcbe
--- /dev/null
@@ -0,0 +1,16 @@
+<div class="field">\r
+       <div class="row field-top">\r
+               <include src="/fields/field-label.zul" />\r
+       </div>\r
+       <div class="row field-top">\r
+               <combobox class="field-textbox" autodrop="false"\r
+                       value="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator) @converter('hu.bitcity.converter.LocationConverter')"\r
+                       disabled="@load(vm.formDocument['ro'] || ro)" onBlur="@command('decorateSettlementLocationType', source=self) @global-command('autosave', source=self)" >\r
+                       <!-- \r
+                        -->\r
+                       <template name="model">\r
+                               <comboitem label="${each.locationDisplay}" value="${each}" />\r
+                       </template>\r
+               </combobox>\r
+       </div>\r
+</div>
\ No newline at end of file
diff --git a/lis-ui/src/main/resources/web/fields/nobornperson.zul b/lis-ui/src/main/resources/web/fields/nobornperson.zul
new file mode 100644 (file)
index 0000000..f478d5f
--- /dev/null
@@ -0,0 +1,21 @@
+<?component name="address" class="hu.bitcity.form.field.Field$Address" ?>\r
+<?component name="date" class="hu.bitcity.form.field.Field$Date" ?>\r
+<?component name="text" class="hu.bitcity.form.field.Field$Text" ?>\r
+<?component name="personname" class="hu.bitcity.form.field.Field$PersonName" ?>\r
+<div class="row">\r
+       <div class="row">\r
+               <personname class="four columns" label="Név" origField="${field}" field="${field}_nev" validators="nonempty"/>\r
+               <text class="four columns" label="Állampolgárság" field="${field}_allampolgarsag" />\r
+               <text class="four columns" label="Szem. ig./Útlevél szám" field="${field}_azonosito_irat" />\r
+       </div>\r
+       <address class="row" label="Lakcím" field="${field}_cim" validators="nonempty,address" />\r
+       <div class="row">\r
+               <text class="six columns" label="Születési hely" field="${field}_szuletesi_hely" />\r
+               <date class="two columns" label="Születés dátuma" field="${field}_szuletes_datuma" />\r
+               <text class="four columns" label="Anyja neve" field="${field}_anyja_neve" validators="nonempty"/>\r
+       </div>\r
+       <div class="row no-print" if="${empty param.token or nocontacts}">\r
+               <text class="six columns" label="Telefonszám" field="${field}_telefon" validators="phone" />\r
+               <text class="six columns" label="E-mail" field="${field}_email" validators="email" />\r
+       </div>\r
+</div>
\ No newline at end of file
diff --git a/lis-ui/src/main/resources/web/fields/number.zul b/lis-ui/src/main/resources/web/fields/number.zul
new file mode 100644 (file)
index 0000000..ab629ca
--- /dev/null
@@ -0,0 +1,16 @@
+<div class="field">\r
+       <div class="row field-top">\r
+               <include src="/fields/field-label.zul"/>\r
+       </div>  \r
+       <div class="row field-top">\r
+               <longbox class="field-textbox" format=",###" disabled="@load(vm.formDocument['ro'] || ro)"  \r
+                       value="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator, parameters=validatorargs)" \r
+                       onChange="@command('submit') @global-command('autosave', source=self)">\r
+<!-- \r
+               <attribute name="format" if="${format}">\r
+               \r
+               </attribute>    \r
+ -->\r
+               </longbox>\r
+       </div>  \r
+</div>
\ No newline at end of file
diff --git a/lis-ui/src/main/resources/web/fields/person-name.zul b/lis-ui/src/main/resources/web/fields/person-name.zul
new file mode 100644 (file)
index 0000000..d601111
--- /dev/null
@@ -0,0 +1,14 @@
+<div class="field">\r
+       <div class="row field-top" if="${!noheader}">\r
+               <include src="/fields/field-label.zul" />\r
+       </div>\r
+       <div class="row field-top">\r
+               <combobox class="field-textbox" autodrop="true" model="@load(vm.personsModel)"\r
+                       value="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator)"\r
+                       disabled="@load(vm.formDocument['ro'] || ro)" onSelect="@command('decoratePersonFields', source=self) @global-command('autosave', source=self)">\r
+                       <template name="model">\r
+                               <comboitem label="@load(each.name)" content="@load(each.card)" value="@load(each)" />\r
+                       </template>\r
+               </combobox>\r
+       </div>\r
+</div>
\ No newline at end of file
diff --git a/lis-ui/src/main/resources/web/fields/person.zul b/lis-ui/src/main/resources/web/fields/person.zul
new file mode 100644 (file)
index 0000000..61760d6
--- /dev/null
@@ -0,0 +1,21 @@
+<?component name="address" class="hu.bitcity.form.field.Field$Address" ?>\r
+<?component name="date" class="hu.bitcity.form.field.Field$Date" ?>\r
+<?component name="text" class="hu.bitcity.form.field.Field$Text" ?>\r
+<?component name="personname" class="hu.bitcity.form.field.Field$PersonName" ?>\r
+<div class="row">\r
+       <div class="row">\r
+               <personname class="four columns" label="Név" origField="${field}" field="${field}_nev" validators="nonempty"/>\r
+               <text class="four columns" label="Állampolgárság" field="${field}_allampolgarsag" />\r
+               <text class="four columns" label="Szem. ig./Útlevél szám" field="${field}_azonosito_irat" />\r
+       </div>\r
+       <address class="row" label="Lakcím" field="${field}_cim" validators="nonempty,address" />\r
+       <div class="row">\r
+               <text class="six columns" label="Születési hely" field="${field}_szuletesi_hely" validators="nonempty" />\r
+               <date class="two columns" label="Születés dátuma" field="${field}_szuletes_datuma" validators="nonempty"/>\r
+               <text class="four columns" label="Anyja neve" field="${field}_anyja_neve" validators="nonempty"/>\r
+       </div>\r
+       <div class="row no-print" if="${empty param.token or nocontacts}">\r
+               <text class="six columns" label="Telefonszám" field="${field}_telefon" validators="phone" />\r
+               <text class="six columns" label="E-mail" field="${field}_email" validators="email" />\r
+       </div>\r
+</div>
\ No newline at end of file
diff --git a/lis-ui/src/main/resources/web/fields/publicplace.zul b/lis-ui/src/main/resources/web/fields/publicplace.zul
new file mode 100644 (file)
index 0000000..7c9e7af
--- /dev/null
@@ -0,0 +1,9 @@
+<div class="field">\r
+       <div class="row field-top">\r
+               <include src="/fields/field-label.zul"/>\r
+       </div>  \r
+       <div class="row field-top">\r
+               <combobox class="field-textbox" autodrop="true" value="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator)" \r
+                       disabled="@load(vm.formDocument['ro'] || ro)" onChange="@command('submit') @global-command('autosave', source=self)" />\r
+       </div>  \r
+</div>
\ No newline at end of file
diff --git a/lis-ui/src/main/resources/web/fields/radio.zul b/lis-ui/src/main/resources/web/fields/radio.zul
new file mode 100644 (file)
index 0000000..73620a5
--- /dev/null
@@ -0,0 +1,7 @@
+<div class="field" xmlns:w="client" w:onClick="console.log('field : ${field}')">\r
+       <div class="@load(vm.getFieldStyle(field, 'field-label'))">\r
+               <radio id="r" label="${label}" value="${value}" onCheck="@command('onRadioCheck', target=self) @global-command('autosave', source=self)" \r
+                       checked="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator) @converter('hu.bitcity.converter.RadioCheckConverter')" \r
+                       disabled="@load(vm.formDocument['ro'] || ro)" />\r
+       </div>\r
+</div> \r
diff --git a/lis-ui/src/main/resources/web/fields/radiodate.zul b/lis-ui/src/main/resources/web/fields/radiodate.zul
new file mode 100644 (file)
index 0000000..471ca5a
--- /dev/null
@@ -0,0 +1,15 @@
+<div class="field">\r
+       <div class="@load(vm.getFieldStyle(field, 'field-label'))">\r
+               <radio id="r" label="${label}" value="${value}" onCheck="@command('onRadioCheck', target=self) @global-command('autosave', source=self)" \r
+                       checked="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator) @converter('hu.bitcity.converter.RadioCheckConverter')" \r
+                       disabled="@load(vm.formDocument['ro'] || ro)">\r
+                       <custom-attributes dataField="${dataField}" checkData="true"/>\r
+               </radio>\r
+               <datebox value="@bind(vm.formDocument[dataField])" format="yyyy.MM.dd" disabled="@load(vm.formDocument['ro'] || arg.readonly)">\r
+                       <!-- \r
+                       onChange="@command('onForceRadioCheck', target=r, force=true)"\r
+                        -->\r
+                       <custom-attributes field="${dataField}"/>\r
+               </datebox>              \r
+       </div>\r
+</div> \r
diff --git a/lis-ui/src/main/resources/web/fields/radiodouble.zul b/lis-ui/src/main/resources/web/fields/radiodouble.zul
new file mode 100644 (file)
index 0000000..320be6a
--- /dev/null
@@ -0,0 +1,15 @@
+<div class="field">\r
+       <div class="@load(vm.getFieldStyle(field, 'field-label'))">\r
+               <radio id="r" label="${label}" value="${value}" \r
+                       onCheck="@command('onRadioCheck', target=self) @global-command('autosave', source=self)" \r
+                       checked="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator) @converter('hu.bitcity.converter.RadioCheckConverter')" \r
+                       disabled="@load(vm.formDocument['ro'] || ro)" >\r
+                       <custom-attributes dataField="${dataField}" checkData="true"/>\r
+               </radio>\r
+               <doublebox class="radio-intbox" value="@bind(vm.formDocument[dataField])" format="#,##0.##" \r
+                       disabled="@load(vm.formDocument['ro'] || arg.readonly)" onBlur="@command('submit')">\r
+                       <custom-attributes field="${dataField}"/>\r
+               </doublebox>\r
+               ${postfix}\r
+       </div>\r
+</div> \r
diff --git a/lis-ui/src/main/resources/web/fields/radiogroup.zul b/lis-ui/src/main/resources/web/fields/radiogroup.zul
new file mode 100644 (file)
index 0000000..50cad79
--- /dev/null
@@ -0,0 +1,13 @@
+<div class="field">\r
+       <div class="row field-top">\r
+               <include src="/fields/field-label.zul" />\r
+       </div>  \r
+       <div class="row field-textbox field-top">\r
+               <radio label="${each}" forEach="${arg.values}" value="'${forEachStatus.index + 1}'" \r
+                       checked="@bind(vm.formDocument[field]) @converter('hu.bitcity.converter.RadioCheckConverter')" \r
+                       onCheck="@command('onRadioCheck', target=self) @global-command('autosave', source=self)"\r
+                       disabled="@load(vm.formDocument['ro'] || ro)" />\r
+               <textbox class="inline-textbox" value="@load(vm.formDocument[dataField]) @save(vm.formDocument[dataField], before='submit') @validator(vm.formValidator, parameters=validatorargs)" \r
+                       disabled="@load(vm.formDocument['ro'] || ro)" onChange="@command('submit')" />\r
+       </div>  \r
+</div>\r
diff --git a/lis-ui/src/main/resources/web/fields/radionumber.zul b/lis-ui/src/main/resources/web/fields/radionumber.zul
new file mode 100644 (file)
index 0000000..9f65efb
--- /dev/null
@@ -0,0 +1,15 @@
+<div class="field">\r
+       <div class="@load(vm.getFieldStyle(field, 'field-label'))">\r
+               <radio id="r" label="${label}" value="${value}" \r
+                       onCheck="@command('onRadioCheck', target=self) @global-command('autosave', source=self)" \r
+                       checked="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator) @converter('hu.bitcity.converter.RadioCheckConverter')" \r
+                       disabled="@load(vm.formDocument['ro'] || ro)">\r
+                       <custom-attributes dataField="${dataField}" checkData="true"/>\r
+               </radio>\r
+               <intbox class="radio-intbox" value="@bind(vm.formDocument[dataField])" format=",###" \r
+                       disabled="@load(vm.formDocument['ro'] || arg.readonly)" onBlur="@command('submit')"> \r
+                       <custom-attributes field="${dataField}"/>\r
+               </intbox>\r
+               ${postfix}\r
+       </div>\r
+</div> \r
diff --git a/lis-ui/src/main/resources/web/fields/rate.zul b/lis-ui/src/main/resources/web/fields/rate.zul
new file mode 100644 (file)
index 0000000..472b2ff
--- /dev/null
@@ -0,0 +1,13 @@
+<div class="field"> \r
+       <div class="row field-top">\r
+               <include src="/fields/field-label.zul" />\r
+       </div>  \r
+       <div class="row field-top">\r
+               <doublebox class="ten columns field-textbox" format="#,##0.##" disabled="@load(vm.formDocument['ro'] || ro)"\r
+                       value="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator)" onChange="@command('submit') @global-command('autosave', source=self)" />\r
+               <combobox id="combo" class="two columns field-textbox" readonly="true" autodrop="true" selectedItem="@bind(vm.formDocument[unitField])" disabled="@load(vm.formDocument['ro'] || ro)"\r
+                       onChange="@command('submit')" >\r
+                   <comboitem label="${each}" value="${each}" forEach="Ft, %" />\r
+               </combobox>             \r
+       </div>  \r
+</div>
\ No newline at end of file
diff --git a/lis-ui/src/main/resources/web/fields/settlement.zul b/lis-ui/src/main/resources/web/fields/settlement.zul
new file mode 100644 (file)
index 0000000..930adfd
--- /dev/null
@@ -0,0 +1,9 @@
+<div class="field">\r
+       <div class="row field-top">\r
+               <include src="/fields/field-label.zul" />\r
+       </div>  \r
+       <div class="row">\r
+               <textbox class="field-textbox" value="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator, parameters=validatorargs)" \r
+                       disabled="@load(vm.formDocument['ro'] || ro)" onChange="@command('submit') @global-command('autosave', source=self)" />\r
+       </div>  \r
+</div>
\ No newline at end of file
diff --git a/lis-ui/src/main/resources/web/fields/signature.zul b/lis-ui/src/main/resources/web/fields/signature.zul
new file mode 100644 (file)
index 0000000..f05e8d6
--- /dev/null
@@ -0,0 +1,10 @@
+<div class="field">\r
+       <div class="row field-top">\r
+               <include src="/fields/field-label.zul" />\r
+       </div>  \r
+       <div class="row field-textbox" style="background: white">\r
+               <button class="@load(vm.getFieldStyle(dataField, 'field-label no-print'))" label="Aláírás" onClick="@command('showSignDialog', field=field)" disabled="@load(vm.formDocument['ro'] || ro)" />\r
+               <image style="min-height:30px; max-height:30px; margin: 2px;" src="@bind(vm.formDocument[field])" />\r
+               <textbox value="@load(vm.formDocument[dataField]) @save(vm.formDocument[dataField], before='submit') @validator(vm.formValidator, force=true)" visible="false" />\r
+       </div>  \r
+</div>
\ No newline at end of file
diff --git a/lis-ui/src/main/resources/web/fields/stamp.zul b/lis-ui/src/main/resources/web/fields/stamp.zul
new file mode 100644 (file)
index 0000000..1cc5f13
--- /dev/null
@@ -0,0 +1,8 @@
+<div class="row">\r
+       <div class="row field-top">\r
+               <include src="/fields/field-label.zul"/>\r
+       </div>  \r
+       <div class="row field-textbox" style="text-align: center;">\r
+               <image class="logo-image" width="100%"  src="/img/pecset.jpg" />\r
+       </div>                          \r
+</div>
\ No newline at end of file
diff --git a/lis-ui/src/main/resources/web/fields/text.zul b/lis-ui/src/main/resources/web/fields/text.zul
new file mode 100644 (file)
index 0000000..b0c544e
--- /dev/null
@@ -0,0 +1,9 @@
+<div class="field">\r
+       <div class="row field-top" if="${!noheader}">\r
+               <include src="~./fields/field-label.zul" />\r
+       </div>  \r
+       <div class="row field-top">\r
+               <textbox class="field-textbox" value="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator, parameters=$validatorargs)" \r
+                       disabled="@load(vm.canEdit || ro)" onChange="@command('submit') @global-command('autosave', source=self)" />\r
+       </div>  \r
+</div>\r
diff --git a/lis-ui/src/main/resources/web/fields/textarea.zul b/lis-ui/src/main/resources/web/fields/textarea.zul
new file mode 100644 (file)
index 0000000..7917c3c
--- /dev/null
@@ -0,0 +1,4 @@
+<div class="field">\r
+       <textbox style="background: white" class="field-textbox" value="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator)" \r
+               multiline="true" inplace="true" rows="5" cols="42" disabled="@load(vm.formDocument['ro'] || ro)" onChange="@command('submit') @global-command('autosave', source=self)" />\r
+</div> \r
diff --git a/lis-ui/src/main/resources/web/fields/title-deed-content.zul b/lis-ui/src/main/resources/web/fields/title-deed-content.zul
new file mode 100644 (file)
index 0000000..c12daf8
--- /dev/null
@@ -0,0 +1,11 @@
+<div xmlns:w="client" w:onClick='console.log("field : ${field}")'>\r
+       Megbízó\r
+       <radio class="@load(vm.getFieldStyle(field, 'inline-radio'))" value="1" onCheck="@command('onRadioCheck', target=self)" \r
+               checked="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator) @converter('hu.bitcity.converter.RadioCheckConverter')" \r
+               disabled="@load(vm.formDocument['ro'] || ro)" />\r
+       átad egy 60 napnál nem régebbi tulajdoni lapot, vagy\r
+       <radio class="@load(vm.getFieldStyle(field, 'inline-radio'))" value="2" onCheck="@command('onRadioCheck', target=self)" \r
+               checked="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator) @converter('hu.bitcity.converter.RadioCheckConverter')" \r
+               disabled="@load(vm.formDocument['ro'] || ro)" />\r
+       megbízza a Home Service képviselőjét, hogy szerezzen be egy tulajdoni lapot.\r
+</div>\r
diff --git a/lis-ui/src/main/resources/web/fields/title-deed.zul b/lis-ui/src/main/resources/web/fields/title-deed.zul
new file mode 100644 (file)
index 0000000..a09593f
--- /dev/null
@@ -0,0 +1,5 @@
+<?component name="field" class="hu.bitcity.form.field.Field" ?>\r
+<div class="row">\r
+       <field class="twelve columms agreement" src="/fields/title-deed-content.zul" visible="@load(not vm.formDocument[errorField])" field="${field}" />\r
+       <field class="twelve columms agreement error" src="/fields/title-deed-content.zul" visible="@load(vm.formDocument[errorField])" field="${field}" />\r
+</div>\r
diff --git a/lis-ui/src/main/resources/web/fields/zipcode.zul b/lis-ui/src/main/resources/web/fields/zipcode.zul
new file mode 100644 (file)
index 0000000..873e8ae
--- /dev/null
@@ -0,0 +1,11 @@
+<div class="field">\r
+       <div class="row field-top">\r
+               <include src="/fields/field-label.zul"/>\r
+       </div>  \r
+       <div class="row field-top">\r
+               <intbox class="field-textbox" disabled="@load(vm.formDocument['ro'] || ro)"  \r
+                       value="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator)" \r
+                       onChange="@command('decorateSettlementFields', source=self) @global-command('autosave', source=self)" format="####">\r
+               </intbox>\r
+       </div>  \r
+</div>
\ No newline at end of file
diff --git a/lis-ui/src/main/resources/web/index.zul b/lis-ui/src/main/resources/web/index.zul
new file mode 100644 (file)
index 0000000..e5fd338
--- /dev/null
@@ -0,0 +1,73 @@
+<?link rel="stylesheet" type="text/css" href="~./static/css/skeleton.css" ?>\r
+<zk xmlns:c="client">\r
+    <div viewModel="@id('vm') @init('hu.user.lis.ui.view.Index')"\r
+         style="height: 100%;width: 100%; display: flex; justify-content: center;">\r
+        <window title="@load(vm.buildProperties.version)" border="true"\r
+                style="height: 50%; width: 50%; position: relative; position: absolute; top: 50%; transform: translate(0, -50%);">\r
+            <vlayout>\r
+                <hlayout>\r
+                    <bandbox id="bd" autodrop="true" iconSclass="z-icon-sort-down"\r
+                             value="@load(vm.selectedSupplier) @converter('hu.user.lis.ui.converter.SupplierToNameConverter')"\r
+                             onChanging="@command('onBandChanging')" onOpen="@command('onBandOpen')">\r
+                        <attribute c:name="_doKeyDown">\r
+                            <![CDATA[\r
+                            function (evt) {\r
+                                var keyCode = evt.keyCode;\r
+                                console.log(keyCode);\r
+                                if (keyCode == 13){\r
+                                    zk.$("$bd").close();\r
+                                    zk.$("$bd").focus();\r
+                                    return;\r
+                                }\r
+                                if (keyCode == 40){\r
+                                    if (!zk.$("$bd").isOpen()) {\r
+                                        zk.$("$bd").open();\r
+                                        zAu.send(new zk.Event(zk.Widget.$('$bd'), "onOpen", {'open': true}, {toServer:true}));\r
+                                    }\r
+                                    zk.$("$bd-list").focus();\r
+                                    return;\r
+                                }\r
+                                if (keyCode == 27){\r
+                                    zk.$("$bd").close()\r
+                                    zk.$("$bd").focus();\r
+                                    return;\r
+                                }\r
+                            }\r
+                        ]]>\r
+                        </attribute>\r
+                        <bandpopup>\r
+                            <listbox id="bd-list" height="250px" width="450px"\r
+                                     model="@bind(vm.suppliersSimpleDataModel)"\r
+                                     selectedItem="@bind(vm.selectedSupplier)"\r
+                                     onClick="bd.close()"\r
+                                     onDoubleClick="bd.close()">\r
+                                <listhead visible="false">\r
+                                    <listheader label="id" vflex="min"/>\r
+                                    <listheader label="name" vflex="max"/>\r
+                                    <listheader label="zip" vflex="min"/>\r
+                                </listhead>\r
+                                <template name="model">\r
+                                    <listitem>\r
+                                        <listcell label="@load(each.id)"/>\r
+                                        <listcell label="@load(each.name)"/>\r
+                                        <listcell label="@load(each.zipCode)"/>\r
+                                    </listitem>\r
+                                </template>\r
+                            </listbox>\r
+                        </bandpopup>\r
+                    </bandbox>\r
+                    <button iconSclass="z-icon-search-plus" onClick="@command('onPopupSuppliers')"/>\r
+                </hlayout>\r
+\r
+                <hlayout>\r
+                    <label value="Kiválasztott azonosító: "/>\r
+                    <label value="@load(vm.selectedSupplierId)"/>\r
+                </hlayout>\r
+            </vlayout>\r
+        </window>\r
+        <!--        <combobox sclass="ten columns" model="@bind(m.supplierListModel)" selectedItem="@bind(m.selectedSupplier)"-->\r
+        <!--        autodrop="true" buttonVisible="true">-->\r
+        <!--        </combobox>-->\r
+\r
+    </div>\r
+</zk>
\ No newline at end of file
diff --git a/lis-ui/src/main/resources/web/static/css/skeleton.css b/lis-ui/src/main/resources/web/static/css/skeleton.css
new file mode 100644 (file)
index 0000000..cac7b35
--- /dev/null
@@ -0,0 +1,168 @@
+/* Grid
+–––––––––––––––––––––––––––––––––––––––––––––––––– */
+.container {
+  position: relative;
+  width: 100%;
+  max-width: 960px;
+  margin: 0 auto;
+  padding: 0 20px;
+  box-sizing: border-box; }
+.column,
+.columns {
+  width: 100%;
+  float: left;
+  box-sizing: border-box; }
+
+/* For devices larger than 400px */
+@media (min-width: 400px) {
+  .container {
+    width: 85%;
+    padding: 0; }
+}
+
+/* For devices larger than 550px */
+@media (min-width: 550px) {
+  .container {
+    width: 80%; 
+  }
+  .column,
+  .columns {
+    margin-left: 0; 
+    padding-top: 5px;
+    padding-bottom: 5px;
+    padding-left: 10px;
+/*
+    padding-right: 10px;
+*/    
+  }
+  .column:first-child,
+  .columns:first-child {
+    margin-left: 0; 
+    padding-left: 0;
+  }
+  .column:last-child,
+  .columns:last-child {
+    float: right; }
+/*
+  .one.column,
+  .one.columns                    { width: 7.875%; }
+  .two.columns                    { width: 16.25%; }
+  .three.columns                  { width: 24.625%; }
+  .four.columns                   { width: 33%; }
+
+  .five.columns                   { width: 41.375%; }
+  .six.columns                    { width: 49.75%; }
+  .seven.columns                  { width: 58.125%; }
+  .eight.columns                  { width: 66.5%; }
+  .nine.columns                   { width: 74.875%; }
+  .ten.columns                    { width: 83.25%; }
+  .eleven.columns                 { width: 91.625%; }
+  .twelve.columns                 { width: 100%; margin-left: 0; }
+*/
+  .one.column,
+  .one.columns                    { width: 8.3333333334%; }
+  .two.columns                    { width: 16.6666666667%; }
+  .three.columns                  { width: 25%; }
+  .four.columns                   { width: 33.3333333334%; }
+  .five.columns                   { width: 41.6666666667%; }
+  .six.columns                    { width: 50%; }
+  .seven.columns                  { width: 58.3333333334%; }
+  .eight.columns                  { width: 66.6666666667%; }
+  .nine.columns                   { width: 75%; }
+  .ten.columns                    { width: 83.3333333334%; }
+  .eleven.columns                 { width: 91.66666666667%; }
+  .twelve.columns                 { width: 100%; margin-left: 0; }
+  .per-five.columns               { width: 20%; }
+
+
+}
+
+/*
+@media only screen and (min-width: 550px) {
+  .column:first-child,
+  .columns:first-child {
+    float: right; }
+}
+
+@media only print and (min-width: 550px) {
+  .two.columns:last-child                { background: red; width: 17%;}
+  .three.columns:last-child              { background: red; width: 24.9%;}
+  .four.columns:last-child               { background: red; width: 33.4%;}
+}
+*/
+
+
+/* Utilities
+–––––––––––––––––––––––––––––––––––––––––––––––––– */
+.u-vertical-container {
+       display: table;
+       padding: 10px;  
+}
+.u-fill {
+  display: table-row;
+  height: 100%;
+  max-height: 100%;
+  width: 100%;
+}
+.u-full-width {
+  width: 100%;
+  box-sizing: border-box;
+}
+.u-max-full-width {
+  max-width: 100%;
+  box-sizing: border-box; 
+}
+.u-full-height {
+  height: 100%;
+}
+.u-max-full-height {
+  max-height: 100%;
+}
+.u-form-width {
+  width: 94%;
+  box-sizing: border-box; }
+.u-max-form-width {
+  max-width: 94%;
+  box-sizing: border-box; }
+.u-pull-right {
+  float: right; }
+.u-pull-left {
+  float: left; }
+
+
+/* Clearing
+–––––––––––––––––––––––––––––––––––––––––––––––––– */
+
+/* Self Clearing Goodness */
+.container:after,
+.row:after,
+.u-cf {
+  content: "";
+  display: table;
+  clear: both; }
+
+
+/* Media Queries
+–––––––––––––––––––––––––––––––––––––––––––––––––– */
+/*
+Note: The best way to structure the use of media queries is to create the queries
+near the relevant code. For example, if you wanted to change the styles for buttons
+on small devices, paste the mobile query code up in the buttons section and style it
+there.
+*/
+
+
+/* Larger than mobile */
+@media (min-width: 400px) {}
+
+/* Larger than phablet (also point when grid becomes active) */
+@media (min-width: 550px) {}
+
+/* Larger than tablet */
+@media (min-width: 750px) {}
+
+/* Larger than desktop */
+@media (min-width: 1000px) {}
+
+/* Larger than Desktop HD */
+@media (min-width: 1200px) {}
diff --git a/lis-ui/src/main/resources/web/static/css/webclient.css b/lis-ui/src/main/resources/web/static/css/webclient.css
new file mode 100644 (file)
index 0000000..d778278
--- /dev/null
@@ -0,0 +1,445 @@
+.z-loading {\r
+       left: 45% !important; \r
+/*\r
+       top: 50% !important; \r
+       align: center; \r
+       font-size: 18px;\r
+    font-weight: bold;\r
+       padding: 5px;\r
+*/\r
+}\r
+\r
+.container .form-label {\r
+       font-family: "Calibri";\r
+       line-height: 1.5em;\r
+}\r
+\r
+.container .bold {\r
+       font-weight: bold;\r
+}\r
+\r
+.row .field-textbox {\r
+       font-size: 12px;\r
+       padding: 0px; \r
+       padding-left: 5px; \r
+       line-height: 1.5em;\r
+       height: auto;\r
+       width: 100%;\r
+       border-radius: 0px;\r
+       -moz-border-radius: 0px; \r
+       -webkit-border-radius: 0px;                     \r
+       border: none;\r
+}\r
+\r
+.field-top {\r
+       background: white;\r
+}\r
+\r
+.container .separator {\r
+       height: 20px;\r
+       min-height: 20px;\r
+}\r
+\r
+.field {\r
+       padding-left: 1px;\r
+       padding-bottom: 1px;\r
+       background: black;\r
+}\r
+\r
+.agreement-field {\r
+       border-left: 1px solid black;\r
+       border-bottom: 1px solid black;\r
+       padding: 10px 0px 10px 10px;\r
+}\r
+\r
+.stamp-field {\r
+       border-left: 1px solid black;\r
+       border-bottom: 1px solid black;\r
+       padding: 10px 0px 10px 10px;\r
+       height: 124px;\r
+}\r
+\r
+.row .center {\r
+       text-align: center;     \r
+}\r
+\r
+.row .field-label {\r
+       font-weight: normal;\r
+       /*\r
+       background-image: url('../img/label.png');  \r
+       background-repeat: no-repeat; \r
+       background-position: right top;*/\r
+       padding-right: 5px;    \r
+       background-color: #CCCCCC;\r
+       border: none;\r
+    /*margin: 4px 0px 0px 0px;trbl*/ \r
+    padding-left: 5px;\r
+    padding-top: 1px;\r
+    padding-bottom: 1px;\r
+       /*line-height: 1em;\r
+       text-overflow: ellipsis;\r
+    overflow: hidden;*/\r
+    white-space: nowrap;       \r
+}\r
+.row .field-label .error {\r
+    background: #ffbcaf;\r
+       border: 1px solid #ffbcaf;\r
+}\r
+.row .error {\r
+    background-color: #ffbcaf;\r
+/*\r
+       background-image: url('../img/label-error.png');  \r
+       background-repeat: no-repeat; \r
+       background-position: right top; \r
+*/\r
+}\r
+/*\r
+.row .field-label * {\r
+       margin: 0px;\r
+    /*overflow: hidden; inline date problem*/\r
+}\r
+*/\r
+.row .field-vlayout {\r
+       line-height: 1em;\r
+}\r
+\r
+.container .group-label {\r
+       display: block;\r
+       font-weight: bold;\r
+       font-size: 12px;\r
+}\r
+\r
+.container .buttongroup {\r
+       border-top: 1px solid #676767;\r
+       border-bottom: 1px solid #676767;\r
+       margin-top: 20px;\r
+       margin-bottom: 20px;\r
+       padding-top: 10px;\r
+       padding-bottom: 10px;\r
+       text-align: right;\r
+}\r
+\r
+.container .thinbuttongroup {\r
+/*\r
+       border-top: 1px solid #676767;\r
+       border-bottom: 1px solid #676767;\r
+*/\r
+       margin-top: 5px;\r
+       margin-bottom: 5px;\r
+       padding-top: 5px;\r
+       padding-bottom: 5px;\r
+       text-align: right;\r
+}\r
+\r
+.z-checkbox-content {\r
+       margin-bottom: 0px;\r
+}\r
+\r
+.row .z-datebox {\r
+       height: auto;\r
+       display: inline-block;\r
+}\r
+\r
+.row .radio-intbox {\r
+       height: auto;\r
+       display: initial;\r
+       padding: 0px; \r
+       line-height: 1em;\r
+       border-radius: 0;\r
+       webkit-border-radius: 0px;\r
+}\r
+\r
+.row .z-datebox-input {\r
+       padding: 0px;\r
+       height: auto;\r
+       border: none;\r
+}\r
+\r
+.row .z-datebox-button {\r
+       padding: 0px;\r
+       padding-top: 0px;\r
+       height: auto;\r
+       min-height: initial;\r
+}\r
+\r
+.row textarea.z-textbox {\r
+       overflow: hidden; \r
+       overflow-wrap: break-word; \r
+       resize: none;   \r
+}\r
+\r
+.hidden {\r
+       display: none;\r
+}\r
+/*\r
+.bigfont {\r
+       font-size: 14px;\r
+}\r
+.bigfont * {\r
+       font-size: 14px;\r
+}\r
+.biggerfont {\r
+       font-size: 16px;\r
+}\r
+*/\r
+\r
+input[type="radio"] {\r
+       font-family: ZK85Icons,FontAwesome;\r
+}\r
+\r
+input[type="radio"]:focus {\r
+       outline: none;\r
+}\r
+input[type="radio"]:hover {\r
+       border-color: black\r
+}\r
+\r
+input[type="radio"]:checked {\r
+       border-color: black\r
+}\r
+\r
+input[type="radio"][disabled] {\r
+       border-color: black;\r
+       cursor: not-allowed;\r
+}\r
+\r
+input[type="radio"][disabled]:checked:before {\r
+       border-color: black;\r
+       background: black;      \r
+}\r
+\r
+\r
+input[type="radio"][disabled]:checked {\r
+       border-color: black;\r
+}\r
+\r
+input[type="radio"][disabled]:checked:hover {\r
+       border-color: black;\r
+}\r
+\r
+.field-textbox[disabled] {\r
+       background: white !important;\r
+       color: black !important;\r
+       cursor: not-allowed !important;\r
+}\r
+\r
+input[type="radio"]:checked:before {\r
+    content: "\f00c";\r
+       color: white;\r
+}\r
+\r
+input[type="checkbox"]:focus {\r
+       outline: none;\r
+}\r
+\r
+input[type="radio"] {\r
+       width: 14px;\r
+       height: 14px;\r
+       margin: 0px 4px 2px 8px;\r
+       border-radius: 0px;\r
+       border: 1px solid black;\r
+}\r
+\r
+input[type="radio"]:before {\r
+/*\r
+       width: 12px;\r
+       height: 12px;\r
+       margin-right: 20px;*/\r
+       border-radius: 0px;\r
+}\r
+\r
+input[type="radio"]:checked:before {\r
+       background-color: black;        \r
+}\r
+\r
+input[type="checkbox"] {\r
+       font-size: inherit;\r
+       width: 14px;\r
+       height: 14px;\r
+       border: 1px solid black;\r
+       border-radius: 0px;\r
+       margin: 2px 4px 2px 8px;\r
+}\r
+\r
+input[type="checkbox"]:checked {\r
+       background-color: black;\r
+}\r
+\r
+input[type="checkbox"]:hover {\r
+       border-color: black;\r
+}\r
+\r
+.row .agreement {\r
+       padding: 0px 0px 0px 0px;\r
+       line-height: 1em;\r
+       border: none;\r
+       margin: 2px 0px 0px 0px;\r
+}\r
+\r
+.row .agreement span {\r
+       font-family: "Calibri";\r
+    font-weight: normal;\r
+       line-height: 1em;\r
+       margin: 0px;\r
+}\r
+\r
+.agreement-small {\r
+       padding: 0px 0px 0px 0px;\r
+       line-height: 1em;\r
+       border: none;\r
+       margin: 2px 0px 0px 20px;\r
+}\r
+\r
+.row .agreement-small span {\r
+       font-family: "Calibri";\r
+    font-weight: normal;\r
+       line-height: 1em;\r
+       margin: 0px;\r
+}\r
+\r
+.row .agreement p {\r
+       margin: 10px 0px 10px 10px;\r
+}\r
+\r
+.row .md-content {\r
+       padding: 0px 0px 0px 0px;\r
+       line-height: 1em;\r
+       margin: 20px;\r
+}\r
+\r
+.row .md-content span {\r
+       font-family: "Calibri";\r
+    font-weight: normal;\r
+       font-size: 14px;\r
+       line-height: 1.5em;\r
+       margin: 0px;\r
+}\r
+\r
+.row .md-content p {\r
+       margin: 10px 0px 10px 10px;\r
+}\r
+\r
+.row .inline-textbox {\r
+       background: transparent;\r
+       height: auto;\r
+       margin: 0px;\r
+       padding: 0px;\r
+       border: none;\r
+       border-bottom: 1px dotted;\r
+       border-radius: 0;\r
+       webkit-border-radius: 0px;\r
+}\r
+\r
+\r
+.inline-intbox {\r
+    font-family: "Calibri";\r
+    font-weight: bolder;\r
+       font-size: 12px;\r
+       padding: 0px;\r
+       line-height: 1em;\r
+       height: auto;\r
+       border: none;\r
+       border-bottom: 1px dotted;\r
+       border-radius: 0;\r
+       webkit-border-radius: 0px;\r
+}\r
+/*\r
+.inline-radio {\r
+       width: 20px; \r
+       height: 20px;\r
+}\r
+*/\r
+.inline {\r
+       display: inline;\r
+}\r
+\r
+.row .z-combobox {\r
+       display: inline-block;\r
+       height: auto;\r
+       white-space: nowrap\r
+}\r
+\r
+.row .z-datebox-input {\r
+       color: rgba(0, 0, 0, 0.9);\r
+       height: auto;\r
+       border: none;\r
+       margin: 0px;\r
+       padding: 0px;\r
+       line-height: 1em;\r
+       background: white;\r
+       width: 100%;\r
+       -webkit-border-radius: 0px;\r
+       -moz-border-radius: 0px;\r
+       -o-border-radius: 0px;\r
+       -ms-border-radius: 0px;\r
+       border-radius: 0px;\r
+}\r
+\r
+.row .z-combobox-input {\r
+       color: rgba(0, 0, 0, 0.9);\r
+       height: auto;\r
+       border: none;\r
+       margin: 0px;\r
+       padding: 0px;\r
+       line-height: 1em;\r
+       background: transparent;\r
+       width: 100%;\r
+       -webkit-border-radius: 0px;\r
+       -moz-border-radius: 0px;\r
+       -o-border-radius: 0px;\r
+       -ms-border-radius: 0px;\r
+       border-radius: 0px;\r
+}\r
+\r
+.row .z-combobox-button,\r
+.row .z-datebox-button {\r
+       font-size: 1em;\r
+       color: rgba(0, 0, 0, 0.9);\r
+       display: inline-block;\r
+       min-width: 0px;\r
+       min-height: 0px;\r
+       height: auto;\r
+       -webkit-border-radius: 0 5px 5px 0;\r
+       -moz-border-radius: 0 5px 5px 0;\r
+       -o-border-radius: 0 5px 5px 0;\r
+       -ms-border-radius: 0 5px 5px 0;\r
+       border-radius: 0 5px 5px 0;\r
+       border: none;\r
+       border-left: 1px solid black;\r
+       position: relative;\r
+       left: -18px;\r
+       padding: 0px;\r
+       line-height: 1em;\r
+       background: #fff;\r
+       text-align: center;\r
+       vertical-align: middle;\r
+       cursor: pointer;\r
+       background: white;\r
+       overflow: hidden; \r
+/*     display: inline-block;*/\r
+}\r
+\r
+\r
+.hairline {\r
+  height: 2px; \r
+  width: 100%;\r
+  background-color: black;\r
+}\r
+\r
+.a4page-content {\r
+       min-height: 1010px;\r
+       /* az alábbiakat kivenni releaskor!\r
+       max-height: 1010px;\r
+       height: 1010px;\r
+       */\r
+}\r
+\r
+.a4page {\r
+       border: 1px solid #676767;\r
+       margin: 40px;\r
+       -webkit-box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.75);\r
+       -moz-box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.75);\r
+       box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.75);\r
+}\r
+\r
+\r
diff --git a/lis-ui/src/main/resources/web/static/print.min.css b/lis-ui/src/main/resources/web/static/print.min.css
new file mode 100644 (file)
index 0000000..78412d7
--- /dev/null
@@ -0,0 +1 @@
+.printModal{font-family:sans-serif;display:flex;text-align:center;font-weight:300;font-size:30px;left:0;top:0;position:absolute;color:#0460b5;width:100%;height:100%;background-color:hsla(0,0%,100%,.91)}.printClose{position:absolute;right:10px;top:10px}.printClose:before{content:"\00D7";font-family:Helvetica Neue,sans-serif;font-weight:100;line-height:1px;padding-top:.5em;display:block;font-size:2em;text-indent:1px;overflow:hidden;height:1.25em;width:1.25em;text-align:center;cursor:pointer}
\ No newline at end of file
diff --git a/lis-ui/src/main/resources/web/static/print.min.js b/lis-ui/src/main/resources/web/static/print.min.js
new file mode 100644 (file)
index 0000000..91be90e
--- /dev/null
@@ -0,0 +1 @@
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.printJS=t():e.printJS=t()}(window,function(){return function(n){var r={};function o(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}return o.m=n,o.c=r,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)o.d(n,r,function(e){return t[e]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=4)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=n(2),i=(r=o)&&r.__esModule?r:{default:r},a=n(1);var l={send:function(r,e){document.getElementsByTagName("body")[0].appendChild(e);var o=document.getElementById(r.frameId);o.onload=function(){if("pdf"!==r.type){var e=o.contentWindow||o.contentDocument;if(e.document&&(e=e.document),e.body.appendChild(r.printableElement),"pdf"!==r.type&&r.style){var t=document.createElement("style");t.innerHTML=r.style,e.head.appendChild(t)}var n=e.getElementsByTagName("img");0<n.length?function(e){var t=[],n=!0,r=!1,o=void 0;try{for(var i,a=e[Symbol.iterator]();!(n=(i=a.next()).done);n=!0){var l=i.value;l.src&&l.src!==window.location.href&&t.push(u(l))}}catch(e){r=!0,o=e}finally{try{!n&&a.return&&a.return()}finally{if(r)throw o}}return Promise.all(t)}(n).then(function(){return d(o,r)}):d(o,r)}else d(o,r)}}};function d(t,n){try{if(t.focus(),i.default.isEdge()||i.default.isIE())try{t.contentWindow.document.execCommand("print",!1,null)}catch(e){t.contentWindow.print()}else t.contentWindow.print()}catch(e){n.onError(e)}finally{(0,a.cleanUp)(n)}}function u(n){return new Promise(function(t){!function e(){n&&void 0!==n.naturalWidth&&0!==n.naturalWidth&&n.complete?t():setTimeout(e,500)}()})}t.default=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.addWrapper=function(e,t){return'<div style="font-family:'+t.font+" !important; font-size: "+t.font_size+' !important; width:100%;">'+e+"</div>"},t.capitalizePrint=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},t.collectStyles=function(e,t){var n=document.defaultView||window,r="",o=n.getComputedStyle(e,"");return Object.keys(o).map(function(e){(-1!==t.targetStyles.indexOf("*")||-1!==t.targetStyle.indexOf(o[e])||function(e,t){for(var n=0;n<e.length;n++)if("object"===(void 0===t?"undefined":i(t))&&-1!==t.indexOf(e[n]))return!0;return!1}(t.targetStyles,o[e]))&&o.getPropertyValue(o[e])&&(r+=o[e]+":"+o.getPropertyValue(o[e])+";")}),r+="max-width: "+t.maxWidth+"px !important;"+t.font_size+" !important;"},t.addHeader=function(e,t){var n=document.createElement("div");if(l(t.header))n.innerHTML=t.header;else{var r=document.createElement("h1"),o=document.createTextNode(t.header);r.appendChild(o),r.setAttribute("style",t.headerStyle),n.appendChild(r)}e.insertBefore(n,e.childNodes[0])},t.cleanUp=function(t){t.showModal&&r.default.close();t.onLoadingEnd&&t.onLoadingEnd();(t.showModal||t.onLoadingStart)&&window.URL.revokeObjectURL(t.printable);if(t.onPrintDialogClose){var n="mouseover";(o.default.isChrome()||o.default.isFirefox())&&(n="focus");window.addEventListener(n,function e(){window.removeEventListener(n,e),t.onPrintDialogClose()})}},t.isRawHTML=l;var r=a(n(3)),o=a(n(2));function a(e){return e&&e.__esModule?e:{default:e}}function l(e){return new RegExp("<([A-Za-z][A-Za-z0-9]*)\\b[^>]*>(.*?)</\\1>").test(e)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r={isFirefox:function(){return"undefined"!=typeof InstallTrigger},isIE:function(){return-1!==navigator.userAgent.indexOf("MSIE")||!!document.documentMode},isEdge:function(){return!r.isIE()&&!!window.StyleMedia},isChrome:function(){return!!(0<arguments.length&&void 0!==arguments[0]?arguments[0]:window).chrome},isSafari:function(){return 0<Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor")||-1!==navigator.userAgent.toLowerCase().indexOf("safari")},isIOSChrome:function(){return-1!==navigator.userAgent.toLowerCase().indexOf("crios")}};t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a={show:function(e){var t=document.createElement("div");t.setAttribute("style","font-family:sans-serif; display:table; text-align:center; font-weight:300; font-size:30px; left:0; top:0;position:fixed; z-index: 9990;color: #0460B5; width: 100%; height: 100%; background-color:rgba(255,255,255,.9);transition: opacity .3s ease;"),t.setAttribute("id","printJS-Modal");var n=document.createElement("div");n.setAttribute("style","display:table-cell; vertical-align:middle; padding-bottom:100px;");var r=document.createElement("div");r.setAttribute("class","printClose"),r.setAttribute("id","printClose"),n.appendChild(r);var o=document.createElement("span");o.setAttribute("class","printSpinner"),n.appendChild(o);var i=document.createTextNode(e.modalMessage);n.appendChild(i),t.appendChild(n),document.getElementsByTagName("body")[0].appendChild(t),document.getElementById("printClose").addEventListener("click",function(){a.close()})},close:function(){var e=document.getElementById("printJS-Modal");e.parentNode.removeChild(e)}};t.default=a},function(e,t,n){e.exports=n(5)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(6);var r,o=n(7);var i=((r=o)&&r.__esModule?r:{default:r}).default.init;"undefined"!=typeof window&&(window.printJS=i),t.default=i},function(e,t,n){},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=r(n(2)),l=r(n(3)),d=r(n(8)),u=r(n(9)),c=r(n(10)),f=r(n(11)),s=r(n(12));function r(e){return e&&e.__esModule?e:{default:e}}var p=["pdf","html","image","json","raw-html"];t.default={init:function(){var t={printable:null,fallbackPrintable:null,type:"pdf",header:null,headerStyle:"font-weight: 300;",maxWidth:800,font:"TimesNewRoman",font_size:"12pt",honorMarginPadding:!0,honorColor:!1,properties:null,gridHeaderStyle:"font-weight: bold; padding: 5px; border: 1px solid #dddddd;",gridStyle:"border: 1px solid lightgray; margin-bottom: -1px;",showModal:!1,onError:function(e){throw e},onLoadingStart:null,onLoadingEnd:null,onPrintDialogClose:null,onPdfOpen:null,onBrowserIncompatible:function(){return!0},modalMessage:"Retrieving Document...",frameId:"printJS",printableElement:null,documentTitle:"Document",targetStyle:["clear","display","width","min-width","height","min-height","max-height"],targetStyles:["border","box","break","text-decoration"],ignoreElements:[],imageStyle:"max-width: 100%;",repeatTableHeader:!0,css:null,style:null,scanStyles:!0,base64:!1},e=arguments[0];if(void 0===e)throw new Error("printJS expects at least 1 attribute.");switch(void 0===e?"undefined":i(e)){case"string":t.printable=encodeURI(e),t.fallbackPrintable=t.printable,t.type=arguments[1]||t.type;break;case"object":for(var n in t.printable=e.printable,t.base64=void 0!==e.base64,t.fallbackPrintable=void 0!==e.fallbackPrintable?e.fallbackPrintable:t.printable,t.fallbackPrintable=t.base64?"data:application/pdf;base64,"+t.fallbackPrintable:t.fallbackPrintable,t)"printable"!==n&&"fallbackPrintable"!==n&&"base64"!==n&&(t[n]=void 0!==e[n]?e[n]:t[n]);break;default:throw new Error('Unexpected argument type! Expected "string" or "object", got '+(void 0===e?"undefined":i(e)))}if(!t.printable)throw new Error("Missing printable information.");if(!t.type||"string"!=typeof t.type||-1===p.indexOf(t.type.toLowerCase()))throw new Error("Invalid print type. Available types are: pdf, html, image and json.");t.showModal&&l.default.show(t),t.onLoadingStart&&t.onLoadingStart();var r=document.getElementById(t.frameId);r&&r.parentNode.removeChild(r);var o=void 0;switch((o=document.createElement("iframe")).setAttribute("style","visibility: hidden; height: 0; width: 0; position: absolute;"),o.setAttribute("id",t.frameId),"pdf"!==t.type&&(o.srcdoc="<html><head><title>"+t.documentTitle+"</title>",t.css&&(Array.isArray(t.css)||(t.css=[t.css]),t.css.forEach(function(e){o.srcdoc+='<link rel="stylesheet" href="'+e+'">'})),o.srcdoc+="</head><body></body></html>"),t.type){case"pdf":if(a.default.isFirefox()||a.default.isEdge()||a.default.isIE())try{if(console.info("PrintJS currently doesn't support PDF printing in Firefox, Internet Explorer and Edge."),!0===t.onBrowserIncompatible())window.open(t.fallbackPrintable,"_blank").focus(),t.onPdfOpen&&t.onPdfOpen()}catch(e){t.onError(e)}finally{t.showModal&&l.default.close(),t.onLoadingEnd&&t.onLoadingEnd()}else d.default.print(t,o);break;case"image":f.default.print(t,o);break;case"html":u.default.print(t,o);break;case"raw-html":c.default.print(t,o);break;case"json":s.default.print(t,o)}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=n(0),i=(r=o)&&r.__esModule?r:{default:r},a=n(1);function l(e,t,n){var r=new window.Blob([n],{type:"application/pdf"});r=window.URL.createObjectURL(r),t.setAttribute("src",r),i.default.send(e,t)}t.default={print:function(e,t){if(e.base64){var n=Uint8Array.from(atob(e.printable),function(e){return e.charCodeAt(0)});l(e,t,n)}else{e.printable=/^(blob|http)/i.test(e.printable)?e.printable:window.location.origin+("/"!==e.printable.charAt(0)?"/"+e.printable:e.printable);var r=new window.XMLHttpRequest;r.responseType="arraybuffer",r.addEventListener("load",function(){if(-1===[200,201].indexOf(r.status))return(0,a.cleanUp)(e),void e.onError(r.statusText);l(e,t,r.response)}),r.open("GET",e.printable,!0),r.send()}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,f=n(1),o=n(0),i=(r=o)&&r.__esModule?r:{default:r};t.default={print:function(e,t){var n=document.getElementById(e.printable);n?(e.printableElement=function e(t,n){var r=t.cloneNode();var o=!0;var i=!1;var a=void 0;try{for(var l,d=t.childNodes[Symbol.iterator]();!(o=(l=d.next()).done);o=!0){var u=l.value;if(-1===n.ignoreElements.indexOf(u.id)){var c=e(u,n);r.appendChild(c)}}}catch(e){i=!0,a=e}finally{try{!o&&d.return&&d.return()}finally{if(i)throw a}}n.scanStyles&&1===t.nodeType&&r.setAttribute("style",(0,f.collectStyles)(t,n));switch(t.tagName){case"SELECT":r.value=t.value;break;case"CANVAS":r.getContext("2d").drawImage(t,0,0)}return r}(n,e),e.header&&(0,f.addHeader)(e.printableElement,e),i.default.send(e,t)):window.console.error("Invalid HTML element id: "+e.printable)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=n(0),i=(r=o)&&r.__esModule?r:{default:r};t.default={print:function(e,t){e.printableElement=document.createElement("div"),e.printableElement.setAttribute("style","width:100%"),e.printableElement.innerHTML=e.printable,i.default.send(e,t)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=n(1),i=n(0),a=(r=i)&&r.__esModule?r:{default:r};t.default={print:function(r,e){r.printable.constructor!==Array&&(r.printable=[r.printable]),r.printableElement=document.createElement("div"),r.printable.forEach(function(e){var t=document.createElement("img");t.setAttribute("style",r.imageStyle),t.src=e;var n=document.createElement("div");n.appendChild(t),r.printableElement.appendChild(n)}),r.header&&(0,o.addHeader)(r.printableElement,r),a.default.send(r,e)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c=n(1),i=n(0),a=(r=i)&&r.__esModule?r:{default:r};t.default={print:function(t,e){if("object"!==o(t.printable))throw new Error("Invalid javascript data object (JSON).");if("boolean"!=typeof t.repeatTableHeader)throw new Error("Invalid value for repeatTableHeader attribute (JSON).");if(!t.properties||!Array.isArray(t.properties))throw new Error("Invalid properties array for your JSON data.");t.properties=t.properties.map(function(e){return{field:"object"===(void 0===e?"undefined":o(e))?e.field:e,displayName:"object"===(void 0===e?"undefined":o(e))?e.displayName:e,columnSize:"object"===(void 0===e?"undefined":o(e))&&e.columnSize?e.columnSize+";":100/t.properties.length+"%;"}}),t.printableElement=document.createElement("div"),t.header&&(0,c.addHeader)(t.printableElement,t),t.printableElement.innerHTML+=function(e){var t=e.printable,n=e.properties,r='<table style="border-collapse: collapse; width: 100%;">';e.repeatTableHeader&&(r+="<thead>");r+="<tr>";for(var o=0;o<n.length;o++)r+='<th style="width:'+n[o].columnSize+";"+e.gridHeaderStyle+'">'+(0,c.capitalizePrint)(n[o].displayName)+"</th>";r+="</tr>",e.repeatTableHeader&&(r+="</thead>");r+="<tbody>";for(var i=0;i<t.length;i++){r+="<tr>";for(var a=0;a<n.length;a++){var l=t[i],d=n[a].field.split(".");if(1<d.length)for(var u=0;u<d.length;u++)l=l[d[u]];else l=l[n[a].field];r+='<td style="width:'+n[a].columnSize+e.gridStyle+'">'+l+"</td>"}r+="</tr>"}return r+="</tbody></table>"}(t),a.default.send(t,e)}}}]).default});
\ No newline at end of file
diff --git a/lis-ui/src/main/resources/web/suppliers.zul b/lis-ui/src/main/resources/web/suppliers.zul
new file mode 100644 (file)
index 0000000..b3da49e
--- /dev/null
@@ -0,0 +1,83 @@
+<?link rel="stylesheet" type="text/css" href="~./static/css/skeleton.css" ?>\r
+<?link rel="stylesheet" type="text/css" href="~./static/css/webclient.css" ?>\r
+<?component name="text" class="hu.user.lis.ui.form.Field$Text" ?>\r
+<zk xmlns:c="client">\r
+    <window id="supplierPopup" title="Szállítók" width="80%" height="60%" closable="true"\r
+            viewModel="@id('vm') @init('hu.user.lis.ui.view.SuppliersViewModel')">\r
+        <style>\r
+            .z-listitem-selected>.z-listcell>.z-listcell-content {\r
+            font-weight: bold,;\r
+            }\r
+        </style>\r
+\r
+        <borderlayout>\r
+            <north flex="true">\r
+                <toolbar>\r
+                    <label value="Név"/>\r
+                    <textbox id="partialName" value="@bind(vm.partialName)" onOK="@command('search')">\r
+                        <attribute c:name="_doKeyDown">\r
+                            <![CDATA[\r
+                                    function (evt) {\r
+                                        var keyCode = evt.keyCode;\r
+                                        console.log(keyCode);\r
+                                        Clients.log(keyCode);\r
+                                        if (keyCode == 13){\r
+                                            zk.$("$supplierSearchResult").focus();\r
+                                            zk.$("$partialName").fireEvent('onSearch', {}, {toServer: true});\r
+                                            return;\r
+                                        }\r
+                                    }\r
+                                ]]>\r
+                        </attribute>\r
+                    </textbox>\r
+                    <label value="Irányítószám"/>\r
+                    <textbox instant="true" value="@bind(vm.partialZipCode)" onOK="@command('search')"/>\r
+                    <toolbarbutton label="Keresés" iconSclass="z-icon-search" onClick="@command('search')"/>\r
+                    <toolbarbutton label="Mind" iconSclass="z-icon-search-plus" onClick="@command('listAll')"/>\r
+                </toolbar>\r
+            </north>\r
+            <center border="none" flex="true">\r
+                <listbox id="suppliersSearchResult" vflex="true" model="@load(vm.suppliersDataModel)"\r
+                         onSelect="@command('onListSelection')"\r
+                         onDoubleClick="@command('onCloseWindow', target=supplierPopup, select=true)">\r
+                    <listhead>\r
+                        <listheader label="Név" align="left"/>\r
+                    </listhead>\r
+                    <listfoot>\r
+                        <listfooter>\r
+                            <hlayout>\r
+                                <label value="Találatok: "/>\r
+                                <label value="@load(vm.suppliersDataModel.resultSetCount)"/>\r
+                            </hlayout>\r
+                        </listfooter>\r
+                    </listfoot>\r
+                    <template name="model">\r
+                        <listitem>\r
+                            <listcell label="@load(empty each.name ? each.template : each.name)"/>\r
+                        </listitem>\r
+                    </template>\r
+                </listbox>\r
+            </center>\r
+            <east title="Adatlap" size="60%" flex="true" splittable="true" collapsible="true">\r
+                <div class="container u-form-width u-max-form-width">\r
+                    <div class="row">\r
+                        <text class="twelve columns" label="ID" field="id"/>\r
+                    </div>\r
+                    <div class="row">\r
+                        <text class="twelve columns" label="Név" field="name"/>\r
+                    </div>\r
+                    <div class="row">\r
+                        <text class="twelve columns" label="Irányítószám" field="zipCode"/>\r
+                    </div>\r
+                </div>\r
+            </east>\r
+            <south flex="true" style="text-align: right; padding: 10px">\r
+                <hlayout>\r
+                    <button label="Bezár" onClick="@command('onCloseWindow', target=supplierPopup, select=false)"\r
+                            disabled="@load(vm.selectedSupplier)"/>\r
+                    <button label="Kiválaszt" onClick="@command('onCloseWindow', target=supplierPopup, select=true)"/>\r
+                </hlayout>\r
+            </south>\r
+        </borderlayout>\r
+    </window>\r
+</zk>
\ No newline at end of file
diff --git a/lis-ui/target/classes/hu/user/lis/ui/ResourceConfigurer.class b/lis-ui/target/classes/hu/user/lis/ui/ResourceConfigurer.class
new file mode 100644 (file)
index 0000000..52905f4
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/ResourceConfigurer.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/config/DevelopmentConfig.class b/lis-ui/target/classes/hu/user/lis/ui/config/DevelopmentConfig.class
new file mode 100644 (file)
index 0000000..f7c0a50
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/config/DevelopmentConfig.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/converter/SupplierToNameConverter.class b/lis-ui/target/classes/hu/user/lis/ui/converter/SupplierToNameConverter.class
new file mode 100644 (file)
index 0000000..8b3b0c4
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/converter/SupplierToNameConverter.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/data/CachedDataModel.class b/lis-ui/target/classes/hu/user/lis/ui/data/CachedDataModel.class
new file mode 100644 (file)
index 0000000..bf7a89b
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/data/CachedDataModel.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/data/FormDocument$FormDocumentBuilder.class b/lis-ui/target/classes/hu/user/lis/ui/data/FormDocument$FormDocumentBuilder.class
new file mode 100644 (file)
index 0000000..7719c4b
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/data/FormDocument$FormDocumentBuilder.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/data/FormDocument.class b/lis-ui/target/classes/hu/user/lis/ui/data/FormDocument.class
new file mode 100644 (file)
index 0000000..5c69864
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/data/FormDocument.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/data/SuppliersDataModel.class b/lis-ui/target/classes/hu/user/lis/ui/data/SuppliersDataModel.class
new file mode 100644 (file)
index 0000000..737ad4b
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/data/SuppliersDataModel.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/data/SuppliersSimpleDataModel.class b/lis-ui/target/classes/hu/user/lis/ui/data/SuppliersSimpleDataModel.class
new file mode 100644 (file)
index 0000000..8358a89
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/data/SuppliersSimpleDataModel.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$Address.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Address.class
new file mode 100644 (file)
index 0000000..4cc84e7
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Address.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$Agreement.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Agreement.class
new file mode 100644 (file)
index 0000000..fe338bf
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Agreement.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$Check.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Check.class
new file mode 100644 (file)
index 0000000..6044d3f
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Check.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$CheckGroup.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$CheckGroup.class
new file mode 100644 (file)
index 0000000..44af607
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$CheckGroup.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$Company.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Company.class
new file mode 100644 (file)
index 0000000..a6bd3ac
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Company.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$CurrentDate.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$CurrentDate.class
new file mode 100644 (file)
index 0000000..10c69ac
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$CurrentDate.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$Date.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Date.class
new file mode 100644 (file)
index 0000000..edb4bdb
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Date.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$Deadline.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Deadline.class
new file mode 100644 (file)
index 0000000..2163c8f
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Deadline.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$Domain.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Domain.class
new file mode 100644 (file)
index 0000000..7583abe
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Domain.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$Double.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Double.class
new file mode 100644 (file)
index 0000000..f6ae541
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Double.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$FreePerson.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$FreePerson.class
new file mode 100644 (file)
index 0000000..b6e3046
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$FreePerson.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$InlineRadio.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$InlineRadio.class
new file mode 100644 (file)
index 0000000..14a6f6f
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$InlineRadio.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$Location.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Location.class
new file mode 100644 (file)
index 0000000..804b8e2
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Location.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$NoBornPerson.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$NoBornPerson.class
new file mode 100644 (file)
index 0000000..e775b18
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$NoBornPerson.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$Number.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Number.class
new file mode 100644 (file)
index 0000000..77ddfcd
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Number.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$Person.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Person.class
new file mode 100644 (file)
index 0000000..43a87ec
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Person.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$PersonName.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$PersonName.class
new file mode 100644 (file)
index 0000000..5e15e10
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$PersonName.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$Radio.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Radio.class
new file mode 100644 (file)
index 0000000..361dcef
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Radio.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$RadioDate.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$RadioDate.class
new file mode 100644 (file)
index 0000000..b8849df
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$RadioDate.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$RadioDouble.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$RadioDouble.class
new file mode 100644 (file)
index 0000000..29aaf0c
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$RadioDouble.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$RadioGroup.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$RadioGroup.class
new file mode 100644 (file)
index 0000000..b8c824f
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$RadioGroup.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$RadioNumber.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$RadioNumber.class
new file mode 100644 (file)
index 0000000..1f0b19a
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$RadioNumber.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$Rate.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Rate.class
new file mode 100644 (file)
index 0000000..a9bf466
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Rate.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$Settlement.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Settlement.class
new file mode 100644 (file)
index 0000000..d652894
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Settlement.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$Signature.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Signature.class
new file mode 100644 (file)
index 0000000..2ab07e3
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Signature.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$Stamp.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Stamp.class
new file mode 100644 (file)
index 0000000..eaaa359
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Stamp.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$Text.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Text.class
new file mode 100644 (file)
index 0000000..559dc58
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$Text.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$TextArea.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$TextArea.class
new file mode 100644 (file)
index 0000000..639499f
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$TextArea.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$TitleDeed.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$TitleDeed.class
new file mode 100644 (file)
index 0000000..cdff6ca
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$TitleDeed.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field$ZipCode.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field$ZipCode.class
new file mode 100644 (file)
index 0000000..0907b45
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field$ZipCode.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/Field.class b/lis-ui/target/classes/hu/user/lis/ui/form/Field.class
new file mode 100644 (file)
index 0000000..4441c5c
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/Field.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/form/FormValidator.class b/lis-ui/target/classes/hu/user/lis/ui/form/FormValidator.class
new file mode 100644 (file)
index 0000000..1a7eb91
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/form/FormValidator.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/view/Index.class b/lis-ui/target/classes/hu/user/lis/ui/view/Index.class
new file mode 100644 (file)
index 0000000..688c7e0
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/view/Index.class differ
diff --git a/lis-ui/target/classes/hu/user/lis/ui/view/SuppliersViewModel.class b/lis-ui/target/classes/hu/user/lis/ui/view/SuppliersViewModel.class
new file mode 100644 (file)
index 0000000..da8ddb2
Binary files /dev/null and b/lis-ui/target/classes/hu/user/lis/ui/view/SuppliersViewModel.class differ
diff --git a/lis-ui/target/classes/metainfo/zk-label.properties b/lis-ui/target/classes/metainfo/zk-label.properties
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/lis-ui/target/classes/metainfo/zk-label_hu.properties b/lis-ui/target/classes/metainfo/zk-label_hu.properties
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/lis-ui/target/classes/metainfo/zk/zk.xml b/lis-ui/target/classes/metainfo/zk/zk.xml
new file mode 100644 (file)
index 0000000..c2d23dc
--- /dev/null
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<zk>\r
+    <config-name/>\r
+    <system-config>\r
+        <ui-factory-class>org.zkoss.zk.ui.http.SerializableUiFactory</ui-factory-class>\r
+    </system-config>\r
+    <library-property>\r
+        <name>org.zkoss.theme.preferred</name>\r
+        <value>silvertail</value>\r
+    </library-property>\r
+    <library-property>\r
+        <name>org.zkoss.zul.grid.rod</name>\r
+        <value>true</value>\r
+    </library-property>\r
+    <library-property>\r
+        <name>org.zkoss.zul.grid.autohidePaging</name>\r
+        <value>false</value>\r
+    </library-property>\r
+    <library-property>\r
+        <name>org.zkoss.zul.listbox.rod</name>\r
+        <value>true</value>\r
+    </library-property>\r
+    <library-property>\r
+        <name>org.zkoss.zul.listbox.autohidePaging</name>\r
+        <value>false</value>\r
+    </library-property>\r
+    <library-property>\r
+        <name>org.zkoss.zul.nativebar</name>\r
+        <value>true</value>\r
+    </library-property>\r
+    <!--    PROD    -->\r
+    <!--    <desktop-config>-->\r
+    <!--        <file-check-period>600</file-check-period>&lt;!&ndash; unit: seconds &ndash;&gt;-->\r
+    <!--    </desktop-config>-->\r
+</zk>
\ No newline at end of file
diff --git a/lis-ui/target/classes/web/fields/address.zul b/lis-ui/target/classes/web/fields/address.zul
new file mode 100644 (file)
index 0000000..9ec5a71
--- /dev/null
@@ -0,0 +1,22 @@
+<?component name="text" class="hu.bitcity.form.field.Field$Text" ?>\r
+<?component name="number" class="hu.bitcity.form.field.Field$Number" ?>\r
+<?component name="domain" class="hu.bitcity.form.field.Field$Domain" ?>\r
+<?component name="zipcode" class="hu.bitcity.form.field.Field$ZipCode" ?>\r
+<?component name="location" class="hu.bitcity.form.field.Field$Location" ?>\r
+<div class="row">\r
+       <div class="row">\r
+               <zipcode class="one column" label="Irányítószám" origField="${field}" field="${field}_iranyitoszam" validators="${validators}" />\r
+               <text class="four columns" label="Helység" field="${field}_helyseg" validators="${validators}" />\r
+               <location class="four columns" label="Közterület neve" origField="${field}" field="${field}_kozterulet_nev" validators="${validators}"/>\r
+               <domain class="two columns" label="Közterület" origField="${field}" field="${field}_kozterulet" \r
+                       values="${['-', 'árok','átjáró','dűlő','dűlőút','erdősor','fasor','forduló','gát','határsor','határút','kapu','körönd','körtér','körút','köz','lakótelep','lejáró','lejtő','lépcső','liget','mélyút','orom','ösvény','park','part','pincesor','rakpart','sétány','sikátor','sor','sugárút','tér','udvar','út','utca','üdülőpart']}" \r
+                       validators="${validators}"/>\r
+               <text class="one column" label="Házszám" field="${field}_hazszam" validators="${validators}"/>\r
+       </div>\r
+       <div class="row">\r
+               <text class="three columns" label="Lépcsőház" field="${field}_lepcsohaz" />\r
+               <text class="three columns" label="Emelet" field="${field}_emelet" />\r
+               <text class="three columns" label="Ajtó" field="${field}_ajto" />\r
+               <text class="three columns" label="Egyéb" field="${field}_egyeb" />\r
+       </div>\r
+</div>
\ No newline at end of file
diff --git a/lis-ui/target/classes/web/fields/agreement.zul b/lis-ui/target/classes/web/fields/agreement.zul
new file mode 100644 (file)
index 0000000..f6fdf4d
--- /dev/null
@@ -0,0 +1,7 @@
+<div class="agreement field">\r
+       <div class="row field-top">\r
+               <label xmlns:ca="client/attribute" ca:data-markdown="true">\r
+${text}\r
+               </label>\r
+       </div>\r
+</div>
\ No newline at end of file
diff --git a/lis-ui/target/classes/web/fields/check.zul b/lis-ui/target/classes/web/fields/check.zul
new file mode 100644 (file)
index 0000000..258d5ca
--- /dev/null
@@ -0,0 +1,8 @@
+<div class="field" xmlns:w="client" w:onClick="console.log('field : ${field}')">\r
+       <div class="@load(vm.getFieldStyle(field, 'field-label'))">\r
+               <checkbox label="${label}" onCheck="@command('submit') @global-command('autosave', source=self)"\r
+                       checked="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator)" \r
+                       disabled="@load(vm.formDocument['ro'] || ro)" />\r
+       </div>\r
+\r
+</div> \r
diff --git a/lis-ui/target/classes/web/fields/checkgroup.zul b/lis-ui/target/classes/web/fields/checkgroup.zul
new file mode 100644 (file)
index 0000000..a50aab6
--- /dev/null
@@ -0,0 +1,14 @@
+<div class="field">\r
+       <div class="row field-top">\r
+               <include src="/fields/field-label.zul"/>\r
+       </div>  \r
+       <div class="row field-textbox field-top">\r
+               <zk forEach="${values}">\r
+                       <checkbox label="${each}"\r
+                               checked="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator)" \r
+                               disabled="@load(vm.formDocument['ro'] || ro)" onCheck="@command('submit') @global-command('autosave', source=self)" >\r
+                               <custom-attributes field="${field}_${forEachStatus.index + 1}" />\r
+                       </checkbox>\r
+               </zk>\r
+       </div>  \r
+</div>\r
diff --git a/lis-ui/target/classes/web/fields/company.zul b/lis-ui/target/classes/web/fields/company.zul
new file mode 100644 (file)
index 0000000..dc1f1fd
--- /dev/null
@@ -0,0 +1,19 @@
+<?component name="address" class="hu.bitcity.form.field.Field$Address" ?>\r
+<?component name="date" class="hu.bitcity.form.field.Field$Date" ?>\r
+<?component name="text" class="hu.bitcity.form.field.Field$Text" ?>\r
+<?component name="personname" class="hu.bitcity.form.field.Field$PersonName" ?>\r
+<div class="row">\r
+       <div class="row">\r
+               <personname class="eight columns" label="Cégnév" origField="${field}" field="${field}_nev" validators="nonempty"/>\r
+               <text class="four columns" label="Adószám" field="${field}_adoszam" validators="nonempty" />\r
+       </div>\r
+       <address class="row" label="Székhely" field="${field}_cim" validators="nonempty,address" />\r
+       <div class="row">\r
+               <text class="four columns" label="Cégjegyzékszám" field="${field}_cegjegyzekszam" validators="nonempty"/>\r
+               <text class="eight columns" label="Képviseli" field="${field}_kepviseli" validators="nonempty" />\r
+       </div>\r
+       <div class="row no-print" if="${empty param.token or nocontacts}">\r
+               <text class="six columns" label="Telefonszám" field="${field}_telefon" validators="phone" />\r
+               <text class="six columns" label="E-mail" field="${field}_email" validators="email" />\r
+       </div>\r
+</div>
\ No newline at end of file
diff --git a/lis-ui/target/classes/web/fields/current-date.zul b/lis-ui/target/classes/web/fields/current-date.zul
new file mode 100644 (file)
index 0000000..49caf70
--- /dev/null
@@ -0,0 +1,16 @@
+<div class="row" style="margin-top: 10px; margin-bottom: 10px;">\r
+<label value="${isEmpty}"/>\r
+       <variables defaultValue="Budapest" isEmpty="${isEmpty}" />\r
+       <label class="form-label" >Kelt: </label>\r
+       <combobox class="@load(vm.getFieldStyle(field, 'inline-intbox'))" \r
+               model="@load(vm.settlementsModel)"\r
+               value="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator, parameters=validatorargs)" \r
+               onBlur="@command('submit') @global-command('autosave', source=self)"\r
+               disabled="@load(vm.formDocument['ro'] || ro)"\r
+               autodrop="true" buttonVisible="true" onCreate="if (self.getValue() == null || self.getValue().length() == 0) self.setValue(defaultValue)" >\r
+               <!--  \r
+               -->\r
+       </combobox>\r
+       <label>,</label>\r
+       <textbox class="inline-textbox" readonly="true" value="@load(vm.formDocument[dataField]) @save(vm.formDocument[dataField], before='submit') @converter('hu.bitcity.converter.CurrentDateConverter', field=dataField, isEmpty=isEmpty)"/>\r
+</div> \r
diff --git a/lis-ui/target/classes/web/fields/date.zul b/lis-ui/target/classes/web/fields/date.zul
new file mode 100644 (file)
index 0000000..8b3ed89
--- /dev/null
@@ -0,0 +1,9 @@
+<div class="field">\r
+       <div class="row field-top">\r
+               <include src="/fields/field-label.zul" />\r
+       </div>  \r
+       <div class="row field-top">\r
+               <datebox class="field-textbox" value="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator, parameters=validatorargs) @converter('hu.bitcity.converter.JSONDateConverter')" \r
+                       format="yyyy.MM.dd" disabled="@load(vm.formDocument['ro'] || ro)" onChange="@command('submit') @global-command('autosave', source=self)" />\r
+       </div>  \r
+</div>\r
diff --git a/lis-ui/target/classes/web/fields/deadline.zul b/lis-ui/target/classes/web/fields/deadline.zul
new file mode 100644 (file)
index 0000000..872bf6d
--- /dev/null
@@ -0,0 +1,11 @@
+<?component name="text" class="hu.bitcity.form.field.Field$Text" ?>\r
+<?component name="number" class="hu.bitcity.form.field.Field$Number" ?>\r
+<?component name="domain" class="hu.bitcity.form.field.Field$Domain" ?>\r
+<?component name="int" class="hu.bitcity.form.field.Field$ZipCode" ?>\r
+<div class="row">\r
+       <int class="four columns" label="Év" field="${field}_ev" validators="nonempty"/>\r
+       <domain class="four columns" label="Hónap" field="${field}_honap" readonly="true" \r
+               values="${['január','február','március','április','május','június','július','augusztus','szeptember','október','november','december']}" \r
+               validators="nonempty" />\r
+       <int class="four columns" label="Nap" field="${field}_nap" validators="nonempty"/>\r
+</div>
\ No newline at end of file
diff --git a/lis-ui/target/classes/web/fields/domain.zul b/lis-ui/target/classes/web/fields/domain.zul
new file mode 100644 (file)
index 0000000..db2d864
--- /dev/null
@@ -0,0 +1,14 @@
+<div class="field">\r
+       <div class="row field-top">\r
+               <include src="~./fields/field-label.zul"/>\r
+       </div>  \r
+       <div class="row field-top">\r
+                 <!-- \r
+                       @converter('hu.bitcity.converter.ComboBoxConverter')\r
+                 -->\r
+               <combobox class="field-textbox" autodrop="false" value="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator)" \r
+                       disabled="@load(vm.canEdit || ro)" onBlur="@command('submit') @global-command('autosave', source=self)" readonly="${readonly}">\r
+                   <comboitem label="${each}" value="${each}" forEach="${values}" />\r
+               </combobox>             \r
+       </div>  \r
+</div>
\ No newline at end of file
diff --git a/lis-ui/target/classes/web/fields/double.zul b/lis-ui/target/classes/web/fields/double.zul
new file mode 100644 (file)
index 0000000..60b6f6d
--- /dev/null
@@ -0,0 +1,9 @@
+<div class="field">\r
+       <div class="row field-top">\r
+               <include src="/fields/field-label.zul"/>\r
+       </div>  \r
+       <div class="row field-top">\r
+               <doublebox class="field-textbox" value="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator, parameters=validatorargs)" format="#,##0.##" \r
+                       disabled="@load(vm.formDocument['ro'] || ro)"  onChange="@command('submit') @global-command('autosave', source=self)" />\r
+       </div>  \r
+</div>
\ No newline at end of file
diff --git a/lis-ui/target/classes/web/fields/field-label.zul b/lis-ui/target/classes/web/fields/field-label.zul
new file mode 100644 (file)
index 0000000..d297d12
--- /dev/null
@@ -0,0 +1,3 @@
+<div xmlns:w="client" w:onClick="console.log('field : ${field}')">\r
+       <label class="@load(vm.getFieldStyle(field, 'field-label'))" value="${label}" visible="@load(!empty label)"/>\r
+</div>\r
diff --git a/lis-ui/target/classes/web/fields/freeperson.zul b/lis-ui/target/classes/web/fields/freeperson.zul
new file mode 100644 (file)
index 0000000..4f246b2
--- /dev/null
@@ -0,0 +1,21 @@
+<?component name="address" class="hu.bitcity.form.field.Field$Address" ?>\r
+<?component name="date" class="hu.bitcity.form.field.Field$Date" ?>\r
+<?component name="text" class="hu.bitcity.form.field.Field$Text" ?>\r
+<?component name="personname" class="hu.bitcity.form.field.Field$PersonName" ?>\r
+<div class="row">\r
+       <div class="row">\r
+               <personname class="four columns" label="Név" origField="${field}" field="${field}_nev"/>\r
+               <text class="four columns" label="Állampolgárság" field="${field}_allampolgarsag" />\r
+               <text class="four columns" label="Szem. ig./Útlevél szám" field="${field}_azonosito_irat" />\r
+       </div>\r
+       <address class="row" label="Lakcím" field="${field}_cim" />\r
+       <div class="row">\r
+               <text class="six columns" label="Születési hely" field="${field}_szuletesi_hely" />\r
+               <date class="two columns" label="Születés dátuma" field="${field}_szuletes_datuma" />\r
+               <text class="four columns" label="Anyja neve" field="${field}_anyja_neve" />\r
+       </div>\r
+       <div class="row no-print" if="${empty param.token or nocontacts}">\r
+               <text class="six columns" label="Telefonszám" field="${field}_telefon" />\r
+               <text class="six columns" label="E-mail" field="${field}_email" />\r
+       </div>\r
+</div>
\ No newline at end of file
diff --git a/lis-ui/target/classes/web/fields/inline-radio.zul b/lis-ui/target/classes/web/fields/inline-radio.zul
new file mode 100644 (file)
index 0000000..05b609d
--- /dev/null
@@ -0,0 +1,4 @@
+<radio class="@load(vm.getFieldStyle(field, 'inline-radio'))" label="${label}" value="${value}" \r
+       onCheck="@command('onRadioCheck', target=self) @global-command('autosave', source=self)" \r
+       checked="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator) @converter('hu.bitcity.converter.RadioCheckConverter')" \r
+       disabled="@load(vm.formDocument['ro'] || ro)" />\r
diff --git a/lis-ui/target/classes/web/fields/location.zul b/lis-ui/target/classes/web/fields/location.zul
new file mode 100644 (file)
index 0000000..993bcbe
--- /dev/null
@@ -0,0 +1,16 @@
+<div class="field">\r
+       <div class="row field-top">\r
+               <include src="/fields/field-label.zul" />\r
+       </div>\r
+       <div class="row field-top">\r
+               <combobox class="field-textbox" autodrop="false"\r
+                       value="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator) @converter('hu.bitcity.converter.LocationConverter')"\r
+                       disabled="@load(vm.formDocument['ro'] || ro)" onBlur="@command('decorateSettlementLocationType', source=self) @global-command('autosave', source=self)" >\r
+                       <!-- \r
+                        -->\r
+                       <template name="model">\r
+                               <comboitem label="${each.locationDisplay}" value="${each}" />\r
+                       </template>\r
+               </combobox>\r
+       </div>\r
+</div>
\ No newline at end of file
diff --git a/lis-ui/target/classes/web/fields/nobornperson.zul b/lis-ui/target/classes/web/fields/nobornperson.zul
new file mode 100644 (file)
index 0000000..f478d5f
--- /dev/null
@@ -0,0 +1,21 @@
+<?component name="address" class="hu.bitcity.form.field.Field$Address" ?>\r
+<?component name="date" class="hu.bitcity.form.field.Field$Date" ?>\r
+<?component name="text" class="hu.bitcity.form.field.Field$Text" ?>\r
+<?component name="personname" class="hu.bitcity.form.field.Field$PersonName" ?>\r
+<div class="row">\r
+       <div class="row">\r
+               <personname class="four columns" label="Név" origField="${field}" field="${field}_nev" validators="nonempty"/>\r
+               <text class="four columns" label="Állampolgárság" field="${field}_allampolgarsag" />\r
+               <text class="four columns" label="Szem. ig./Útlevél szám" field="${field}_azonosito_irat" />\r
+       </div>\r
+       <address class="row" label="Lakcím" field="${field}_cim" validators="nonempty,address" />\r
+       <div class="row">\r
+               <text class="six columns" label="Születési hely" field="${field}_szuletesi_hely" />\r
+               <date class="two columns" label="Születés dátuma" field="${field}_szuletes_datuma" />\r
+               <text class="four columns" label="Anyja neve" field="${field}_anyja_neve" validators="nonempty"/>\r
+       </div>\r
+       <div class="row no-print" if="${empty param.token or nocontacts}">\r
+               <text class="six columns" label="Telefonszám" field="${field}_telefon" validators="phone" />\r
+               <text class="six columns" label="E-mail" field="${field}_email" validators="email" />\r
+       </div>\r
+</div>
\ No newline at end of file
diff --git a/lis-ui/target/classes/web/fields/number.zul b/lis-ui/target/classes/web/fields/number.zul
new file mode 100644 (file)
index 0000000..ab629ca
--- /dev/null
@@ -0,0 +1,16 @@
+<div class="field">\r
+       <div class="row field-top">\r
+               <include src="/fields/field-label.zul"/>\r
+       </div>  \r
+       <div class="row field-top">\r
+               <longbox class="field-textbox" format=",###" disabled="@load(vm.formDocument['ro'] || ro)"  \r
+                       value="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator, parameters=validatorargs)" \r
+                       onChange="@command('submit') @global-command('autosave', source=self)">\r
+<!-- \r
+               <attribute name="format" if="${format}">\r
+               \r
+               </attribute>    \r
+ -->\r
+               </longbox>\r
+       </div>  \r
+</div>
\ No newline at end of file
diff --git a/lis-ui/target/classes/web/fields/person-name.zul b/lis-ui/target/classes/web/fields/person-name.zul
new file mode 100644 (file)
index 0000000..d601111
--- /dev/null
@@ -0,0 +1,14 @@
+<div class="field">\r
+       <div class="row field-top" if="${!noheader}">\r
+               <include src="/fields/field-label.zul" />\r
+       </div>\r
+       <div class="row field-top">\r
+               <combobox class="field-textbox" autodrop="true" model="@load(vm.personsModel)"\r
+                       value="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator)"\r
+                       disabled="@load(vm.formDocument['ro'] || ro)" onSelect="@command('decoratePersonFields', source=self) @global-command('autosave', source=self)">\r
+                       <template name="model">\r
+                               <comboitem label="@load(each.name)" content="@load(each.card)" value="@load(each)" />\r
+                       </template>\r
+               </combobox>\r
+       </div>\r
+</div>
\ No newline at end of file
diff --git a/lis-ui/target/classes/web/fields/person.zul b/lis-ui/target/classes/web/fields/person.zul
new file mode 100644 (file)
index 0000000..61760d6
--- /dev/null
@@ -0,0 +1,21 @@
+<?component name="address" class="hu.bitcity.form.field.Field$Address" ?>\r
+<?component name="date" class="hu.bitcity.form.field.Field$Date" ?>\r
+<?component name="text" class="hu.bitcity.form.field.Field$Text" ?>\r
+<?component name="personname" class="hu.bitcity.form.field.Field$PersonName" ?>\r
+<div class="row">\r
+       <div class="row">\r
+               <personname class="four columns" label="Név" origField="${field}" field="${field}_nev" validators="nonempty"/>\r
+               <text class="four columns" label="Állampolgárság" field="${field}_allampolgarsag" />\r
+               <text class="four columns" label="Szem. ig./Útlevél szám" field="${field}_azonosito_irat" />\r
+       </div>\r
+       <address class="row" label="Lakcím" field="${field}_cim" validators="nonempty,address" />\r
+       <div class="row">\r
+               <text class="six columns" label="Születési hely" field="${field}_szuletesi_hely" validators="nonempty" />\r
+               <date class="two columns" label="Születés dátuma" field="${field}_szuletes_datuma" validators="nonempty"/>\r
+               <text class="four columns" label="Anyja neve" field="${field}_anyja_neve" validators="nonempty"/>\r
+       </div>\r
+       <div class="row no-print" if="${empty param.token or nocontacts}">\r
+               <text class="six columns" label="Telefonszám" field="${field}_telefon" validators="phone" />\r
+               <text class="six columns" label="E-mail" field="${field}_email" validators="email" />\r
+       </div>\r
+</div>
\ No newline at end of file
diff --git a/lis-ui/target/classes/web/fields/publicplace.zul b/lis-ui/target/classes/web/fields/publicplace.zul
new file mode 100644 (file)
index 0000000..7c9e7af
--- /dev/null
@@ -0,0 +1,9 @@
+<div class="field">\r
+       <div class="row field-top">\r
+               <include src="/fields/field-label.zul"/>\r
+       </div>  \r
+       <div class="row field-top">\r
+               <combobox class="field-textbox" autodrop="true" value="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator)" \r
+                       disabled="@load(vm.formDocument['ro'] || ro)" onChange="@command('submit') @global-command('autosave', source=self)" />\r
+       </div>  \r
+</div>
\ No newline at end of file
diff --git a/lis-ui/target/classes/web/fields/radio.zul b/lis-ui/target/classes/web/fields/radio.zul
new file mode 100644 (file)
index 0000000..73620a5
--- /dev/null
@@ -0,0 +1,7 @@
+<div class="field" xmlns:w="client" w:onClick="console.log('field : ${field}')">\r
+       <div class="@load(vm.getFieldStyle(field, 'field-label'))">\r
+               <radio id="r" label="${label}" value="${value}" onCheck="@command('onRadioCheck', target=self) @global-command('autosave', source=self)" \r
+                       checked="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator) @converter('hu.bitcity.converter.RadioCheckConverter')" \r
+                       disabled="@load(vm.formDocument['ro'] || ro)" />\r
+       </div>\r
+</div> \r
diff --git a/lis-ui/target/classes/web/fields/radiodate.zul b/lis-ui/target/classes/web/fields/radiodate.zul
new file mode 100644 (file)
index 0000000..471ca5a
--- /dev/null
@@ -0,0 +1,15 @@
+<div class="field">\r
+       <div class="@load(vm.getFieldStyle(field, 'field-label'))">\r
+               <radio id="r" label="${label}" value="${value}" onCheck="@command('onRadioCheck', target=self) @global-command('autosave', source=self)" \r
+                       checked="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator) @converter('hu.bitcity.converter.RadioCheckConverter')" \r
+                       disabled="@load(vm.formDocument['ro'] || ro)">\r
+                       <custom-attributes dataField="${dataField}" checkData="true"/>\r
+               </radio>\r
+               <datebox value="@bind(vm.formDocument[dataField])" format="yyyy.MM.dd" disabled="@load(vm.formDocument['ro'] || arg.readonly)">\r
+                       <!-- \r
+                       onChange="@command('onForceRadioCheck', target=r, force=true)"\r
+                        -->\r
+                       <custom-attributes field="${dataField}"/>\r
+               </datebox>              \r
+       </div>\r
+</div> \r
diff --git a/lis-ui/target/classes/web/fields/radiodouble.zul b/lis-ui/target/classes/web/fields/radiodouble.zul
new file mode 100644 (file)
index 0000000..320be6a
--- /dev/null
@@ -0,0 +1,15 @@
+<div class="field">\r
+       <div class="@load(vm.getFieldStyle(field, 'field-label'))">\r
+               <radio id="r" label="${label}" value="${value}" \r
+                       onCheck="@command('onRadioCheck', target=self) @global-command('autosave', source=self)" \r
+                       checked="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator) @converter('hu.bitcity.converter.RadioCheckConverter')" \r
+                       disabled="@load(vm.formDocument['ro'] || ro)" >\r
+                       <custom-attributes dataField="${dataField}" checkData="true"/>\r
+               </radio>\r
+               <doublebox class="radio-intbox" value="@bind(vm.formDocument[dataField])" format="#,##0.##" \r
+                       disabled="@load(vm.formDocument['ro'] || arg.readonly)" onBlur="@command('submit')">\r
+                       <custom-attributes field="${dataField}"/>\r
+               </doublebox>\r
+               ${postfix}\r
+       </div>\r
+</div> \r
diff --git a/lis-ui/target/classes/web/fields/radiogroup.zul b/lis-ui/target/classes/web/fields/radiogroup.zul
new file mode 100644 (file)
index 0000000..50cad79
--- /dev/null
@@ -0,0 +1,13 @@
+<div class="field">\r
+       <div class="row field-top">\r
+               <include src="/fields/field-label.zul" />\r
+       </div>  \r
+       <div class="row field-textbox field-top">\r
+               <radio label="${each}" forEach="${arg.values}" value="'${forEachStatus.index + 1}'" \r
+                       checked="@bind(vm.formDocument[field]) @converter('hu.bitcity.converter.RadioCheckConverter')" \r
+                       onCheck="@command('onRadioCheck', target=self) @global-command('autosave', source=self)"\r
+                       disabled="@load(vm.formDocument['ro'] || ro)" />\r
+               <textbox class="inline-textbox" value="@load(vm.formDocument[dataField]) @save(vm.formDocument[dataField], before='submit') @validator(vm.formValidator, parameters=validatorargs)" \r
+                       disabled="@load(vm.formDocument['ro'] || ro)" onChange="@command('submit')" />\r
+       </div>  \r
+</div>\r
diff --git a/lis-ui/target/classes/web/fields/radionumber.zul b/lis-ui/target/classes/web/fields/radionumber.zul
new file mode 100644 (file)
index 0000000..9f65efb
--- /dev/null
@@ -0,0 +1,15 @@
+<div class="field">\r
+       <div class="@load(vm.getFieldStyle(field, 'field-label'))">\r
+               <radio id="r" label="${label}" value="${value}" \r
+                       onCheck="@command('onRadioCheck', target=self) @global-command('autosave', source=self)" \r
+                       checked="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator) @converter('hu.bitcity.converter.RadioCheckConverter')" \r
+                       disabled="@load(vm.formDocument['ro'] || ro)">\r
+                       <custom-attributes dataField="${dataField}" checkData="true"/>\r
+               </radio>\r
+               <intbox class="radio-intbox" value="@bind(vm.formDocument[dataField])" format=",###" \r
+                       disabled="@load(vm.formDocument['ro'] || arg.readonly)" onBlur="@command('submit')"> \r
+                       <custom-attributes field="${dataField}"/>\r
+               </intbox>\r
+               ${postfix}\r
+       </div>\r
+</div> \r
diff --git a/lis-ui/target/classes/web/fields/rate.zul b/lis-ui/target/classes/web/fields/rate.zul
new file mode 100644 (file)
index 0000000..472b2ff
--- /dev/null
@@ -0,0 +1,13 @@
+<div class="field"> \r
+       <div class="row field-top">\r
+               <include src="/fields/field-label.zul" />\r
+       </div>  \r
+       <div class="row field-top">\r
+               <doublebox class="ten columns field-textbox" format="#,##0.##" disabled="@load(vm.formDocument['ro'] || ro)"\r
+                       value="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator)" onChange="@command('submit') @global-command('autosave', source=self)" />\r
+               <combobox id="combo" class="two columns field-textbox" readonly="true" autodrop="true" selectedItem="@bind(vm.formDocument[unitField])" disabled="@load(vm.formDocument['ro'] || ro)"\r
+                       onChange="@command('submit')" >\r
+                   <comboitem label="${each}" value="${each}" forEach="Ft, %" />\r
+               </combobox>             \r
+       </div>  \r
+</div>
\ No newline at end of file
diff --git a/lis-ui/target/classes/web/fields/settlement.zul b/lis-ui/target/classes/web/fields/settlement.zul
new file mode 100644 (file)
index 0000000..930adfd
--- /dev/null
@@ -0,0 +1,9 @@
+<div class="field">\r
+       <div class="row field-top">\r
+               <include src="/fields/field-label.zul" />\r
+       </div>  \r
+       <div class="row">\r
+               <textbox class="field-textbox" value="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator, parameters=validatorargs)" \r
+                       disabled="@load(vm.formDocument['ro'] || ro)" onChange="@command('submit') @global-command('autosave', source=self)" />\r
+       </div>  \r
+</div>
\ No newline at end of file
diff --git a/lis-ui/target/classes/web/fields/signature.zul b/lis-ui/target/classes/web/fields/signature.zul
new file mode 100644 (file)
index 0000000..f05e8d6
--- /dev/null
@@ -0,0 +1,10 @@
+<div class="field">\r
+       <div class="row field-top">\r
+               <include src="/fields/field-label.zul" />\r
+       </div>  \r
+       <div class="row field-textbox" style="background: white">\r
+               <button class="@load(vm.getFieldStyle(dataField, 'field-label no-print'))" label="Aláírás" onClick="@command('showSignDialog', field=field)" disabled="@load(vm.formDocument['ro'] || ro)" />\r
+               <image style="min-height:30px; max-height:30px; margin: 2px;" src="@bind(vm.formDocument[field])" />\r
+               <textbox value="@load(vm.formDocument[dataField]) @save(vm.formDocument[dataField], before='submit') @validator(vm.formValidator, force=true)" visible="false" />\r
+       </div>  \r
+</div>
\ No newline at end of file
diff --git a/lis-ui/target/classes/web/fields/stamp.zul b/lis-ui/target/classes/web/fields/stamp.zul
new file mode 100644 (file)
index 0000000..1cc5f13
--- /dev/null
@@ -0,0 +1,8 @@
+<div class="row">\r
+       <div class="row field-top">\r
+               <include src="/fields/field-label.zul"/>\r
+       </div>  \r
+       <div class="row field-textbox" style="text-align: center;">\r
+               <image class="logo-image" width="100%"  src="/img/pecset.jpg" />\r
+       </div>                          \r
+</div>
\ No newline at end of file
diff --git a/lis-ui/target/classes/web/fields/text.zul b/lis-ui/target/classes/web/fields/text.zul
new file mode 100644 (file)
index 0000000..b0c544e
--- /dev/null
@@ -0,0 +1,9 @@
+<div class="field">\r
+       <div class="row field-top" if="${!noheader}">\r
+               <include src="~./fields/field-label.zul" />\r
+       </div>  \r
+       <div class="row field-top">\r
+               <textbox class="field-textbox" value="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator, parameters=$validatorargs)" \r
+                       disabled="@load(vm.canEdit || ro)" onChange="@command('submit') @global-command('autosave', source=self)" />\r
+       </div>  \r
+</div>\r
diff --git a/lis-ui/target/classes/web/fields/textarea.zul b/lis-ui/target/classes/web/fields/textarea.zul
new file mode 100644 (file)
index 0000000..7917c3c
--- /dev/null
@@ -0,0 +1,4 @@
+<div class="field">\r
+       <textbox style="background: white" class="field-textbox" value="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator)" \r
+               multiline="true" inplace="true" rows="5" cols="42" disabled="@load(vm.formDocument['ro'] || ro)" onChange="@command('submit') @global-command('autosave', source=self)" />\r
+</div> \r
diff --git a/lis-ui/target/classes/web/fields/title-deed-content.zul b/lis-ui/target/classes/web/fields/title-deed-content.zul
new file mode 100644 (file)
index 0000000..c12daf8
--- /dev/null
@@ -0,0 +1,11 @@
+<div xmlns:w="client" w:onClick='console.log("field : ${field}")'>\r
+       Megbízó\r
+       <radio class="@load(vm.getFieldStyle(field, 'inline-radio'))" value="1" onCheck="@command('onRadioCheck', target=self)" \r
+               checked="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator) @converter('hu.bitcity.converter.RadioCheckConverter')" \r
+               disabled="@load(vm.formDocument['ro'] || ro)" />\r
+       átad egy 60 napnál nem régebbi tulajdoni lapot, vagy\r
+       <radio class="@load(vm.getFieldStyle(field, 'inline-radio'))" value="2" onCheck="@command('onRadioCheck', target=self)" \r
+               checked="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator) @converter('hu.bitcity.converter.RadioCheckConverter')" \r
+               disabled="@load(vm.formDocument['ro'] || ro)" />\r
+       megbízza a Home Service képviselőjét, hogy szerezzen be egy tulajdoni lapot.\r
+</div>\r
diff --git a/lis-ui/target/classes/web/fields/title-deed.zul b/lis-ui/target/classes/web/fields/title-deed.zul
new file mode 100644 (file)
index 0000000..a09593f
--- /dev/null
@@ -0,0 +1,5 @@
+<?component name="field" class="hu.bitcity.form.field.Field" ?>\r
+<div class="row">\r
+       <field class="twelve columms agreement" src="/fields/title-deed-content.zul" visible="@load(not vm.formDocument[errorField])" field="${field}" />\r
+       <field class="twelve columms agreement error" src="/fields/title-deed-content.zul" visible="@load(vm.formDocument[errorField])" field="${field}" />\r
+</div>\r
diff --git a/lis-ui/target/classes/web/fields/zipcode.zul b/lis-ui/target/classes/web/fields/zipcode.zul
new file mode 100644 (file)
index 0000000..873e8ae
--- /dev/null
@@ -0,0 +1,11 @@
+<div class="field">\r
+       <div class="row field-top">\r
+               <include src="/fields/field-label.zul"/>\r
+       </div>  \r
+       <div class="row field-top">\r
+               <intbox class="field-textbox" disabled="@load(vm.formDocument['ro'] || ro)"  \r
+                       value="@load(vm.formDocument[field]) @save(vm.formDocument[field], before='submit') @validator(vm.formValidator)" \r
+                       onChange="@command('decorateSettlementFields', source=self) @global-command('autosave', source=self)" format="####">\r
+               </intbox>\r
+       </div>  \r
+</div>
\ No newline at end of file
diff --git a/lis-ui/target/classes/web/index.zul b/lis-ui/target/classes/web/index.zul
new file mode 100644 (file)
index 0000000..e5fd338
--- /dev/null
@@ -0,0 +1,73 @@
+<?link rel="stylesheet" type="text/css" href="~./static/css/skeleton.css" ?>\r
+<zk xmlns:c="client">\r
+    <div viewModel="@id('vm') @init('hu.user.lis.ui.view.Index')"\r
+         style="height: 100%;width: 100%; display: flex; justify-content: center;">\r
+        <window title="@load(vm.buildProperties.version)" border="true"\r
+                style="height: 50%; width: 50%; position: relative; position: absolute; top: 50%; transform: translate(0, -50%);">\r
+            <vlayout>\r
+                <hlayout>\r
+                    <bandbox id="bd" autodrop="true" iconSclass="z-icon-sort-down"\r
+                             value="@load(vm.selectedSupplier) @converter('hu.user.lis.ui.converter.SupplierToNameConverter')"\r
+                             onChanging="@command('onBandChanging')" onOpen="@command('onBandOpen')">\r
+                        <attribute c:name="_doKeyDown">\r
+                            <![CDATA[\r
+                            function (evt) {\r
+                                var keyCode = evt.keyCode;\r
+                                console.log(keyCode);\r
+                                if (keyCode == 13){\r
+                                    zk.$("$bd").close();\r
+                                    zk.$("$bd").focus();\r
+                                    return;\r
+                                }\r
+                                if (keyCode == 40){\r
+                                    if (!zk.$("$bd").isOpen()) {\r
+                                        zk.$("$bd").open();\r
+                                        zAu.send(new zk.Event(zk.Widget.$('$bd'), "onOpen", {'open': true}, {toServer:true}));\r
+                                    }\r
+                                    zk.$("$bd-list").focus();\r
+                                    return;\r
+                                }\r
+                                if (keyCode == 27){\r
+                                    zk.$("$bd").close()\r
+                                    zk.$("$bd").focus();\r
+                                    return;\r
+                                }\r
+                            }\r
+                        ]]>\r
+                        </attribute>\r
+                        <bandpopup>\r
+                            <listbox id="bd-list" height="250px" width="450px"\r
+                                     model="@bind(vm.suppliersSimpleDataModel)"\r
+                                     selectedItem="@bind(vm.selectedSupplier)"\r
+                                     onClick="bd.close()"\r
+                                     onDoubleClick="bd.close()">\r
+                                <listhead visible="false">\r
+                                    <listheader label="id" vflex="min"/>\r
+                                    <listheader label="name" vflex="max"/>\r
+                                    <listheader label="zip" vflex="min"/>\r
+                                </listhead>\r
+                                <template name="model">\r
+                                    <listitem>\r
+                                        <listcell label="@load(each.id)"/>\r
+                                        <listcell label="@load(each.name)"/>\r
+                                        <listcell label="@load(each.zipCode)"/>\r
+                                    </listitem>\r
+                                </template>\r
+                            </listbox>\r
+                        </bandpopup>\r
+                    </bandbox>\r
+                    <button iconSclass="z-icon-search-plus" onClick="@command('onPopupSuppliers')"/>\r
+                </hlayout>\r
+\r
+                <hlayout>\r
+                    <label value="Kiválasztott azonosító: "/>\r
+                    <label value="@load(vm.selectedSupplierId)"/>\r
+                </hlayout>\r
+            </vlayout>\r
+        </window>\r
+        <!--        <combobox sclass="ten columns" model="@bind(m.supplierListModel)" selectedItem="@bind(m.selectedSupplier)"-->\r
+        <!--        autodrop="true" buttonVisible="true">-->\r
+        <!--        </combobox>-->\r
+\r
+    </div>\r
+</zk>
\ No newline at end of file
diff --git a/lis-ui/target/classes/web/static/css/skeleton.css b/lis-ui/target/classes/web/static/css/skeleton.css
new file mode 100644 (file)
index 0000000..cac7b35
--- /dev/null
@@ -0,0 +1,168 @@
+/* Grid
+–––––––––––––––––––––––––––––––––––––––––––––––––– */
+.container {
+  position: relative;
+  width: 100%;
+  max-width: 960px;
+  margin: 0 auto;
+  padding: 0 20px;
+  box-sizing: border-box; }
+.column,
+.columns {
+  width: 100%;
+  float: left;
+  box-sizing: border-box; }
+
+/* For devices larger than 400px */
+@media (min-width: 400px) {
+  .container {
+    width: 85%;
+    padding: 0; }
+}
+
+/* For devices larger than 550px */
+@media (min-width: 550px) {
+  .container {
+    width: 80%; 
+  }
+  .column,
+  .columns {
+    margin-left: 0; 
+    padding-top: 5px;
+    padding-bottom: 5px;
+    padding-left: 10px;
+/*
+    padding-right: 10px;
+*/    
+  }
+  .column:first-child,
+  .columns:first-child {
+    margin-left: 0; 
+    padding-left: 0;
+  }
+  .column:last-child,
+  .columns:last-child {
+    float: right; }
+/*
+  .one.column,
+  .one.columns                    { width: 7.875%; }
+  .two.columns                    { width: 16.25%; }
+  .three.columns                  { width: 24.625%; }
+  .four.columns                   { width: 33%; }
+
+  .five.columns                   { width: 41.375%; }
+  .six.columns                    { width: 49.75%; }
+  .seven.columns                  { width: 58.125%; }
+  .eight.columns                  { width: 66.5%; }
+  .nine.columns                   { width: 74.875%; }
+  .ten.columns                    { width: 83.25%; }
+  .eleven.columns                 { width: 91.625%; }
+  .twelve.columns                 { width: 100%; margin-left: 0; }
+*/
+  .one.column,
+  .one.columns                    { width: 8.3333333334%; }
+  .two.columns                    { width: 16.6666666667%; }
+  .three.columns                  { width: 25%; }
+  .four.columns                   { width: 33.3333333334%; }
+  .five.columns                   { width: 41.6666666667%; }
+  .six.columns                    { width: 50%; }
+  .seven.columns                  { width: 58.3333333334%; }
+  .eight.columns                  { width: 66.6666666667%; }
+  .nine.columns                   { width: 75%; }
+  .ten.columns                    { width: 83.3333333334%; }
+  .eleven.columns                 { width: 91.66666666667%; }
+  .twelve.columns                 { width: 100%; margin-left: 0; }
+  .per-five.columns               { width: 20%; }
+
+
+}
+
+/*
+@media only screen and (min-width: 550px) {
+  .column:first-child,
+  .columns:first-child {
+    float: right; }
+}
+
+@media only print and (min-width: 550px) {
+  .two.columns:last-child                { background: red; width: 17%;}
+  .three.columns:last-child              { background: red; width: 24.9%;}
+  .four.columns:last-child               { background: red; width: 33.4%;}
+}
+*/
+
+
+/* Utilities
+–––––––––––––––––––––––––––––––––––––––––––––––––– */
+.u-vertical-container {
+       display: table;
+       padding: 10px;  
+}
+.u-fill {
+  display: table-row;
+  height: 100%;
+  max-height: 100%;
+  width: 100%;
+}
+.u-full-width {
+  width: 100%;
+  box-sizing: border-box;
+}
+.u-max-full-width {
+  max-width: 100%;
+  box-sizing: border-box; 
+}
+.u-full-height {
+  height: 100%;
+}
+.u-max-full-height {
+  max-height: 100%;
+}
+.u-form-width {
+  width: 94%;
+  box-sizing: border-box; }
+.u-max-form-width {
+  max-width: 94%;
+  box-sizing: border-box; }
+.u-pull-right {
+  float: right; }
+.u-pull-left {
+  float: left; }
+
+
+/* Clearing
+–––––––––––––––––––––––––––––––––––––––––––––––––– */
+
+/* Self Clearing Goodness */
+.container:after,
+.row:after,
+.u-cf {
+  content: "";
+  display: table;
+  clear: both; }
+
+
+/* Media Queries
+–––––––––––––––––––––––––––––––––––––––––––––––––– */
+/*
+Note: The best way to structure the use of media queries is to create the queries
+near the relevant code. For example, if you wanted to change the styles for buttons
+on small devices, paste the mobile query code up in the buttons section and style it
+there.
+*/
+
+
+/* Larger than mobile */
+@media (min-width: 400px) {}
+
+/* Larger than phablet (also point when grid becomes active) */
+@media (min-width: 550px) {}
+
+/* Larger than tablet */
+@media (min-width: 750px) {}
+
+/* Larger than desktop */
+@media (min-width: 1000px) {}
+
+/* Larger than Desktop HD */
+@media (min-width: 1200px) {}
diff --git a/lis-ui/target/classes/web/static/css/webclient.css b/lis-ui/target/classes/web/static/css/webclient.css
new file mode 100644 (file)
index 0000000..d778278
--- /dev/null
@@ -0,0 +1,445 @@
+.z-loading {\r
+       left: 45% !important; \r
+/*\r
+       top: 50% !important; \r
+       align: center; \r
+       font-size: 18px;\r
+    font-weight: bold;\r
+       padding: 5px;\r
+*/\r
+}\r
+\r
+.container .form-label {\r
+       font-family: "Calibri";\r
+       line-height: 1.5em;\r
+}\r
+\r
+.container .bold {\r
+       font-weight: bold;\r
+}\r
+\r
+.row .field-textbox {\r
+       font-size: 12px;\r
+       padding: 0px; \r
+       padding-left: 5px; \r
+       line-height: 1.5em;\r
+       height: auto;\r
+       width: 100%;\r
+       border-radius: 0px;\r
+       -moz-border-radius: 0px; \r
+       -webkit-border-radius: 0px;                     \r
+       border: none;\r
+}\r
+\r
+.field-top {\r
+       background: white;\r
+}\r
+\r
+.container .separator {\r
+       height: 20px;\r
+       min-height: 20px;\r
+}\r
+\r
+.field {\r
+       padding-left: 1px;\r
+       padding-bottom: 1px;\r
+       background: black;\r
+}\r
+\r
+.agreement-field {\r
+       border-left: 1px solid black;\r
+       border-bottom: 1px solid black;\r
+       padding: 10px 0px 10px 10px;\r
+}\r
+\r
+.stamp-field {\r
+       border-left: 1px solid black;\r
+       border-bottom: 1px solid black;\r
+       padding: 10px 0px 10px 10px;\r
+       height: 124px;\r
+}\r
+\r
+.row .center {\r
+       text-align: center;     \r
+}\r
+\r
+.row .field-label {\r
+       font-weight: normal;\r
+       /*\r
+       background-image: url('../img/label.png');  \r
+       background-repeat: no-repeat; \r
+       background-position: right top;*/\r
+       padding-right: 5px;    \r
+       background-color: #CCCCCC;\r
+       border: none;\r
+    /*margin: 4px 0px 0px 0px;trbl*/ \r
+    padding-left: 5px;\r
+    padding-top: 1px;\r
+    padding-bottom: 1px;\r
+       /*line-height: 1em;\r
+       text-overflow: ellipsis;\r
+    overflow: hidden;*/\r
+    white-space: nowrap;       \r
+}\r
+.row .field-label .error {\r
+    background: #ffbcaf;\r
+       border: 1px solid #ffbcaf;\r
+}\r
+.row .error {\r
+    background-color: #ffbcaf;\r
+/*\r
+       background-image: url('../img/label-error.png');  \r
+       background-repeat: no-repeat; \r
+       background-position: right top; \r
+*/\r
+}\r
+/*\r
+.row .field-label * {\r
+       margin: 0px;\r
+    /*overflow: hidden; inline date problem*/\r
+}\r
+*/\r
+.row .field-vlayout {\r
+       line-height: 1em;\r
+}\r
+\r
+.container .group-label {\r
+       display: block;\r
+       font-weight: bold;\r
+       font-size: 12px;\r
+}\r
+\r
+.container .buttongroup {\r
+       border-top: 1px solid #676767;\r
+       border-bottom: 1px solid #676767;\r
+       margin-top: 20px;\r
+       margin-bottom: 20px;\r
+       padding-top: 10px;\r
+       padding-bottom: 10px;\r
+       text-align: right;\r
+}\r
+\r
+.container .thinbuttongroup {\r
+/*\r
+       border-top: 1px solid #676767;\r
+       border-bottom: 1px solid #676767;\r
+*/\r
+       margin-top: 5px;\r
+       margin-bottom: 5px;\r
+       padding-top: 5px;\r
+       padding-bottom: 5px;\r
+       text-align: right;\r
+}\r
+\r
+.z-checkbox-content {\r
+       margin-bottom: 0px;\r
+}\r
+\r
+.row .z-datebox {\r
+       height: auto;\r
+       display: inline-block;\r
+}\r
+\r
+.row .radio-intbox {\r
+       height: auto;\r
+       display: initial;\r
+       padding: 0px; \r
+       line-height: 1em;\r
+       border-radius: 0;\r
+       webkit-border-radius: 0px;\r
+}\r
+\r
+.row .z-datebox-input {\r
+       padding: 0px;\r
+       height: auto;\r
+       border: none;\r
+}\r
+\r
+.row .z-datebox-button {\r
+       padding: 0px;\r
+       padding-top: 0px;\r
+       height: auto;\r
+       min-height: initial;\r
+}\r
+\r
+.row textarea.z-textbox {\r
+       overflow: hidden; \r
+       overflow-wrap: break-word; \r
+       resize: none;   \r
+}\r
+\r
+.hidden {\r
+       display: none;\r
+}\r
+/*\r
+.bigfont {\r
+       font-size: 14px;\r
+}\r
+.bigfont * {\r
+       font-size: 14px;\r
+}\r
+.biggerfont {\r
+       font-size: 16px;\r
+}\r
+*/\r
+\r
+input[type="radio"] {\r
+       font-family: ZK85Icons,FontAwesome;\r
+}\r
+\r
+input[type="radio"]:focus {\r
+       outline: none;\r
+}\r
+input[type="radio"]:hover {\r
+       border-color: black\r
+}\r
+\r
+input[type="radio"]:checked {\r
+       border-color: black\r
+}\r
+\r
+input[type="radio"][disabled] {\r
+       border-color: black;\r
+       cursor: not-allowed;\r
+}\r
+\r
+input[type="radio"][disabled]:checked:before {\r
+       border-color: black;\r
+       background: black;      \r
+}\r
+\r
+\r
+input[type="radio"][disabled]:checked {\r
+       border-color: black;\r
+}\r
+\r
+input[type="radio"][disabled]:checked:hover {\r
+       border-color: black;\r
+}\r
+\r
+.field-textbox[disabled] {\r
+       background: white !important;\r
+       color: black !important;\r
+       cursor: not-allowed !important;\r
+}\r
+\r
+input[type="radio"]:checked:before {\r
+    content: "\f00c";\r
+       color: white;\r
+}\r
+\r
+input[type="checkbox"]:focus {\r
+       outline: none;\r
+}\r
+\r
+input[type="radio"] {\r
+       width: 14px;\r
+       height: 14px;\r
+       margin: 0px 4px 2px 8px;\r
+       border-radius: 0px;\r
+       border: 1px solid black;\r
+}\r
+\r
+input[type="radio"]:before {\r
+/*\r
+       width: 12px;\r
+       height: 12px;\r
+       margin-right: 20px;*/\r
+       border-radius: 0px;\r
+}\r
+\r
+input[type="radio"]:checked:before {\r
+       background-color: black;        \r
+}\r
+\r
+input[type="checkbox"] {\r
+       font-size: inherit;\r
+       width: 14px;\r
+       height: 14px;\r
+       border: 1px solid black;\r
+       border-radius: 0px;\r
+       margin: 2px 4px 2px 8px;\r
+}\r
+\r
+input[type="checkbox"]:checked {\r
+       background-color: black;\r
+}\r
+\r
+input[type="checkbox"]:hover {\r
+       border-color: black;\r
+}\r
+\r
+.row .agreement {\r
+       padding: 0px 0px 0px 0px;\r
+       line-height: 1em;\r
+       border: none;\r
+       margin: 2px 0px 0px 0px;\r
+}\r
+\r
+.row .agreement span {\r
+       font-family: "Calibri";\r
+    font-weight: normal;\r
+       line-height: 1em;\r
+       margin: 0px;\r
+}\r
+\r
+.agreement-small {\r
+       padding: 0px 0px 0px 0px;\r
+       line-height: 1em;\r
+       border: none;\r
+       margin: 2px 0px 0px 20px;\r
+}\r
+\r
+.row .agreement-small span {\r
+       font-family: "Calibri";\r
+    font-weight: normal;\r
+       line-height: 1em;\r
+       margin: 0px;\r
+}\r
+\r
+.row .agreement p {\r
+       margin: 10px 0px 10px 10px;\r
+}\r
+\r
+.row .md-content {\r
+       padding: 0px 0px 0px 0px;\r
+       line-height: 1em;\r
+       margin: 20px;\r
+}\r
+\r
+.row .md-content span {\r
+       font-family: "Calibri";\r
+    font-weight: normal;\r
+       font-size: 14px;\r
+       line-height: 1.5em;\r
+       margin: 0px;\r
+}\r
+\r
+.row .md-content p {\r
+       margin: 10px 0px 10px 10px;\r
+}\r
+\r
+.row .inline-textbox {\r
+       background: transparent;\r
+       height: auto;\r
+       margin: 0px;\r
+       padding: 0px;\r
+       border: none;\r
+       border-bottom: 1px dotted;\r
+       border-radius: 0;\r
+       webkit-border-radius: 0px;\r
+}\r
+\r
+\r
+.inline-intbox {\r
+    font-family: "Calibri";\r
+    font-weight: bolder;\r
+       font-size: 12px;\r
+       padding: 0px;\r
+       line-height: 1em;\r
+       height: auto;\r
+       border: none;\r
+       border-bottom: 1px dotted;\r
+       border-radius: 0;\r
+       webkit-border-radius: 0px;\r
+}\r
+/*\r
+.inline-radio {\r
+       width: 20px; \r
+       height: 20px;\r
+}\r
+*/\r
+.inline {\r
+       display: inline;\r
+}\r
+\r
+.row .z-combobox {\r
+       display: inline-block;\r
+       height: auto;\r
+       white-space: nowrap\r
+}\r
+\r
+.row .z-datebox-input {\r
+       color: rgba(0, 0, 0, 0.9);\r
+       height: auto;\r
+       border: none;\r
+       margin: 0px;\r
+       padding: 0px;\r
+       line-height: 1em;\r
+       background: white;\r
+       width: 100%;\r
+       -webkit-border-radius: 0px;\r
+       -moz-border-radius: 0px;\r
+       -o-border-radius: 0px;\r
+       -ms-border-radius: 0px;\r
+       border-radius: 0px;\r
+}\r
+\r
+.row .z-combobox-input {\r
+       color: rgba(0, 0, 0, 0.9);\r
+       height: auto;\r
+       border: none;\r
+       margin: 0px;\r
+       padding: 0px;\r
+       line-height: 1em;\r
+       background: transparent;\r
+       width: 100%;\r
+       -webkit-border-radius: 0px;\r
+       -moz-border-radius: 0px;\r
+       -o-border-radius: 0px;\r
+       -ms-border-radius: 0px;\r
+       border-radius: 0px;\r
+}\r
+\r
+.row .z-combobox-button,\r
+.row .z-datebox-button {\r
+       font-size: 1em;\r
+       color: rgba(0, 0, 0, 0.9);\r
+       display: inline-block;\r
+       min-width: 0px;\r
+       min-height: 0px;\r
+       height: auto;\r
+       -webkit-border-radius: 0 5px 5px 0;\r
+       -moz-border-radius: 0 5px 5px 0;\r
+       -o-border-radius: 0 5px 5px 0;\r
+       -ms-border-radius: 0 5px 5px 0;\r
+       border-radius: 0 5px 5px 0;\r
+       border: none;\r
+       border-left: 1px solid black;\r
+       position: relative;\r
+       left: -18px;\r
+       padding: 0px;\r
+       line-height: 1em;\r
+       background: #fff;\r
+       text-align: center;\r
+       vertical-align: middle;\r
+       cursor: pointer;\r
+       background: white;\r
+       overflow: hidden; \r
+/*     display: inline-block;*/\r
+}\r
+\r
+\r
+.hairline {\r
+  height: 2px; \r
+  width: 100%;\r
+  background-color: black;\r
+}\r
+\r
+.a4page-content {\r
+       min-height: 1010px;\r
+       /* az alábbiakat kivenni releaskor!\r
+       max-height: 1010px;\r
+       height: 1010px;\r
+       */\r
+}\r
+\r
+.a4page {\r
+       border: 1px solid #676767;\r
+       margin: 40px;\r
+       -webkit-box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.75);\r
+       -moz-box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.75);\r
+       box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.75);\r
+}\r
+\r
+\r
diff --git a/lis-ui/target/classes/web/static/print.min.css b/lis-ui/target/classes/web/static/print.min.css
new file mode 100644 (file)
index 0000000..78412d7
--- /dev/null
@@ -0,0 +1 @@
+.printModal{font-family:sans-serif;display:flex;text-align:center;font-weight:300;font-size:30px;left:0;top:0;position:absolute;color:#0460b5;width:100%;height:100%;background-color:hsla(0,0%,100%,.91)}.printClose{position:absolute;right:10px;top:10px}.printClose:before{content:"\00D7";font-family:Helvetica Neue,sans-serif;font-weight:100;line-height:1px;padding-top:.5em;display:block;font-size:2em;text-indent:1px;overflow:hidden;height:1.25em;width:1.25em;text-align:center;cursor:pointer}
\ No newline at end of file
diff --git a/lis-ui/target/classes/web/static/print.min.js b/lis-ui/target/classes/web/static/print.min.js
new file mode 100644 (file)
index 0000000..91be90e
--- /dev/null
@@ -0,0 +1 @@
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.printJS=t():e.printJS=t()}(window,function(){return function(n){var r={};function o(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}return o.m=n,o.c=r,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)o.d(n,r,function(e){return t[e]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=4)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=n(2),i=(r=o)&&r.__esModule?r:{default:r},a=n(1);var l={send:function(r,e){document.getElementsByTagName("body")[0].appendChild(e);var o=document.getElementById(r.frameId);o.onload=function(){if("pdf"!==r.type){var e=o.contentWindow||o.contentDocument;if(e.document&&(e=e.document),e.body.appendChild(r.printableElement),"pdf"!==r.type&&r.style){var t=document.createElement("style");t.innerHTML=r.style,e.head.appendChild(t)}var n=e.getElementsByTagName("img");0<n.length?function(e){var t=[],n=!0,r=!1,o=void 0;try{for(var i,a=e[Symbol.iterator]();!(n=(i=a.next()).done);n=!0){var l=i.value;l.src&&l.src!==window.location.href&&t.push(u(l))}}catch(e){r=!0,o=e}finally{try{!n&&a.return&&a.return()}finally{if(r)throw o}}return Promise.all(t)}(n).then(function(){return d(o,r)}):d(o,r)}else d(o,r)}}};function d(t,n){try{if(t.focus(),i.default.isEdge()||i.default.isIE())try{t.contentWindow.document.execCommand("print",!1,null)}catch(e){t.contentWindow.print()}else t.contentWindow.print()}catch(e){n.onError(e)}finally{(0,a.cleanUp)(n)}}function u(n){return new Promise(function(t){!function e(){n&&void 0!==n.naturalWidth&&0!==n.naturalWidth&&n.complete?t():setTimeout(e,500)}()})}t.default=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.addWrapper=function(e,t){return'<div style="font-family:'+t.font+" !important; font-size: "+t.font_size+' !important; width:100%;">'+e+"</div>"},t.capitalizePrint=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},t.collectStyles=function(e,t){var n=document.defaultView||window,r="",o=n.getComputedStyle(e,"");return Object.keys(o).map(function(e){(-1!==t.targetStyles.indexOf("*")||-1!==t.targetStyle.indexOf(o[e])||function(e,t){for(var n=0;n<e.length;n++)if("object"===(void 0===t?"undefined":i(t))&&-1!==t.indexOf(e[n]))return!0;return!1}(t.targetStyles,o[e]))&&o.getPropertyValue(o[e])&&(r+=o[e]+":"+o.getPropertyValue(o[e])+";")}),r+="max-width: "+t.maxWidth+"px !important;"+t.font_size+" !important;"},t.addHeader=function(e,t){var n=document.createElement("div");if(l(t.header))n.innerHTML=t.header;else{var r=document.createElement("h1"),o=document.createTextNode(t.header);r.appendChild(o),r.setAttribute("style",t.headerStyle),n.appendChild(r)}e.insertBefore(n,e.childNodes[0])},t.cleanUp=function(t){t.showModal&&r.default.close();t.onLoadingEnd&&t.onLoadingEnd();(t.showModal||t.onLoadingStart)&&window.URL.revokeObjectURL(t.printable);if(t.onPrintDialogClose){var n="mouseover";(o.default.isChrome()||o.default.isFirefox())&&(n="focus");window.addEventListener(n,function e(){window.removeEventListener(n,e),t.onPrintDialogClose()})}},t.isRawHTML=l;var r=a(n(3)),o=a(n(2));function a(e){return e&&e.__esModule?e:{default:e}}function l(e){return new RegExp("<([A-Za-z][A-Za-z0-9]*)\\b[^>]*>(.*?)</\\1>").test(e)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r={isFirefox:function(){return"undefined"!=typeof InstallTrigger},isIE:function(){return-1!==navigator.userAgent.indexOf("MSIE")||!!document.documentMode},isEdge:function(){return!r.isIE()&&!!window.StyleMedia},isChrome:function(){return!!(0<arguments.length&&void 0!==arguments[0]?arguments[0]:window).chrome},isSafari:function(){return 0<Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor")||-1!==navigator.userAgent.toLowerCase().indexOf("safari")},isIOSChrome:function(){return-1!==navigator.userAgent.toLowerCase().indexOf("crios")}};t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a={show:function(e){var t=document.createElement("div");t.setAttribute("style","font-family:sans-serif; display:table; text-align:center; font-weight:300; font-size:30px; left:0; top:0;position:fixed; z-index: 9990;color: #0460B5; width: 100%; height: 100%; background-color:rgba(255,255,255,.9);transition: opacity .3s ease;"),t.setAttribute("id","printJS-Modal");var n=document.createElement("div");n.setAttribute("style","display:table-cell; vertical-align:middle; padding-bottom:100px;");var r=document.createElement("div");r.setAttribute("class","printClose"),r.setAttribute("id","printClose"),n.appendChild(r);var o=document.createElement("span");o.setAttribute("class","printSpinner"),n.appendChild(o);var i=document.createTextNode(e.modalMessage);n.appendChild(i),t.appendChild(n),document.getElementsByTagName("body")[0].appendChild(t),document.getElementById("printClose").addEventListener("click",function(){a.close()})},close:function(){var e=document.getElementById("printJS-Modal");e.parentNode.removeChild(e)}};t.default=a},function(e,t,n){e.exports=n(5)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(6);var r,o=n(7);var i=((r=o)&&r.__esModule?r:{default:r}).default.init;"undefined"!=typeof window&&(window.printJS=i),t.default=i},function(e,t,n){},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=r(n(2)),l=r(n(3)),d=r(n(8)),u=r(n(9)),c=r(n(10)),f=r(n(11)),s=r(n(12));function r(e){return e&&e.__esModule?e:{default:e}}var p=["pdf","html","image","json","raw-html"];t.default={init:function(){var t={printable:null,fallbackPrintable:null,type:"pdf",header:null,headerStyle:"font-weight: 300;",maxWidth:800,font:"TimesNewRoman",font_size:"12pt",honorMarginPadding:!0,honorColor:!1,properties:null,gridHeaderStyle:"font-weight: bold; padding: 5px; border: 1px solid #dddddd;",gridStyle:"border: 1px solid lightgray; margin-bottom: -1px;",showModal:!1,onError:function(e){throw e},onLoadingStart:null,onLoadingEnd:null,onPrintDialogClose:null,onPdfOpen:null,onBrowserIncompatible:function(){return!0},modalMessage:"Retrieving Document...",frameId:"printJS",printableElement:null,documentTitle:"Document",targetStyle:["clear","display","width","min-width","height","min-height","max-height"],targetStyles:["border","box","break","text-decoration"],ignoreElements:[],imageStyle:"max-width: 100%;",repeatTableHeader:!0,css:null,style:null,scanStyles:!0,base64:!1},e=arguments[0];if(void 0===e)throw new Error("printJS expects at least 1 attribute.");switch(void 0===e?"undefined":i(e)){case"string":t.printable=encodeURI(e),t.fallbackPrintable=t.printable,t.type=arguments[1]||t.type;break;case"object":for(var n in t.printable=e.printable,t.base64=void 0!==e.base64,t.fallbackPrintable=void 0!==e.fallbackPrintable?e.fallbackPrintable:t.printable,t.fallbackPrintable=t.base64?"data:application/pdf;base64,"+t.fallbackPrintable:t.fallbackPrintable,t)"printable"!==n&&"fallbackPrintable"!==n&&"base64"!==n&&(t[n]=void 0!==e[n]?e[n]:t[n]);break;default:throw new Error('Unexpected argument type! Expected "string" or "object", got '+(void 0===e?"undefined":i(e)))}if(!t.printable)throw new Error("Missing printable information.");if(!t.type||"string"!=typeof t.type||-1===p.indexOf(t.type.toLowerCase()))throw new Error("Invalid print type. Available types are: pdf, html, image and json.");t.showModal&&l.default.show(t),t.onLoadingStart&&t.onLoadingStart();var r=document.getElementById(t.frameId);r&&r.parentNode.removeChild(r);var o=void 0;switch((o=document.createElement("iframe")).setAttribute("style","visibility: hidden; height: 0; width: 0; position: absolute;"),o.setAttribute("id",t.frameId),"pdf"!==t.type&&(o.srcdoc="<html><head><title>"+t.documentTitle+"</title>",t.css&&(Array.isArray(t.css)||(t.css=[t.css]),t.css.forEach(function(e){o.srcdoc+='<link rel="stylesheet" href="'+e+'">'})),o.srcdoc+="</head><body></body></html>"),t.type){case"pdf":if(a.default.isFirefox()||a.default.isEdge()||a.default.isIE())try{if(console.info("PrintJS currently doesn't support PDF printing in Firefox, Internet Explorer and Edge."),!0===t.onBrowserIncompatible())window.open(t.fallbackPrintable,"_blank").focus(),t.onPdfOpen&&t.onPdfOpen()}catch(e){t.onError(e)}finally{t.showModal&&l.default.close(),t.onLoadingEnd&&t.onLoadingEnd()}else d.default.print(t,o);break;case"image":f.default.print(t,o);break;case"html":u.default.print(t,o);break;case"raw-html":c.default.print(t,o);break;case"json":s.default.print(t,o)}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=n(0),i=(r=o)&&r.__esModule?r:{default:r},a=n(1);function l(e,t,n){var r=new window.Blob([n],{type:"application/pdf"});r=window.URL.createObjectURL(r),t.setAttribute("src",r),i.default.send(e,t)}t.default={print:function(e,t){if(e.base64){var n=Uint8Array.from(atob(e.printable),function(e){return e.charCodeAt(0)});l(e,t,n)}else{e.printable=/^(blob|http)/i.test(e.printable)?e.printable:window.location.origin+("/"!==e.printable.charAt(0)?"/"+e.printable:e.printable);var r=new window.XMLHttpRequest;r.responseType="arraybuffer",r.addEventListener("load",function(){if(-1===[200,201].indexOf(r.status))return(0,a.cleanUp)(e),void e.onError(r.statusText);l(e,t,r.response)}),r.open("GET",e.printable,!0),r.send()}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,f=n(1),o=n(0),i=(r=o)&&r.__esModule?r:{default:r};t.default={print:function(e,t){var n=document.getElementById(e.printable);n?(e.printableElement=function e(t,n){var r=t.cloneNode();var o=!0;var i=!1;var a=void 0;try{for(var l,d=t.childNodes[Symbol.iterator]();!(o=(l=d.next()).done);o=!0){var u=l.value;if(-1===n.ignoreElements.indexOf(u.id)){var c=e(u,n);r.appendChild(c)}}}catch(e){i=!0,a=e}finally{try{!o&&d.return&&d.return()}finally{if(i)throw a}}n.scanStyles&&1===t.nodeType&&r.setAttribute("style",(0,f.collectStyles)(t,n));switch(t.tagName){case"SELECT":r.value=t.value;break;case"CANVAS":r.getContext("2d").drawImage(t,0,0)}return r}(n,e),e.header&&(0,f.addHeader)(e.printableElement,e),i.default.send(e,t)):window.console.error("Invalid HTML element id: "+e.printable)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=n(0),i=(r=o)&&r.__esModule?r:{default:r};t.default={print:function(e,t){e.printableElement=document.createElement("div"),e.printableElement.setAttribute("style","width:100%"),e.printableElement.innerHTML=e.printable,i.default.send(e,t)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=n(1),i=n(0),a=(r=i)&&r.__esModule?r:{default:r};t.default={print:function(r,e){r.printable.constructor!==Array&&(r.printable=[r.printable]),r.printableElement=document.createElement("div"),r.printable.forEach(function(e){var t=document.createElement("img");t.setAttribute("style",r.imageStyle),t.src=e;var n=document.createElement("div");n.appendChild(t),r.printableElement.appendChild(n)}),r.header&&(0,o.addHeader)(r.printableElement,r),a.default.send(r,e)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c=n(1),i=n(0),a=(r=i)&&r.__esModule?r:{default:r};t.default={print:function(t,e){if("object"!==o(t.printable))throw new Error("Invalid javascript data object (JSON).");if("boolean"!=typeof t.repeatTableHeader)throw new Error("Invalid value for repeatTableHeader attribute (JSON).");if(!t.properties||!Array.isArray(t.properties))throw new Error("Invalid properties array for your JSON data.");t.properties=t.properties.map(function(e){return{field:"object"===(void 0===e?"undefined":o(e))?e.field:e,displayName:"object"===(void 0===e?"undefined":o(e))?e.displayName:e,columnSize:"object"===(void 0===e?"undefined":o(e))&&e.columnSize?e.columnSize+";":100/t.properties.length+"%;"}}),t.printableElement=document.createElement("div"),t.header&&(0,c.addHeader)(t.printableElement,t),t.printableElement.innerHTML+=function(e){var t=e.printable,n=e.properties,r='<table style="border-collapse: collapse; width: 100%;">';e.repeatTableHeader&&(r+="<thead>");r+="<tr>";for(var o=0;o<n.length;o++)r+='<th style="width:'+n[o].columnSize+";"+e.gridHeaderStyle+'">'+(0,c.capitalizePrint)(n[o].displayName)+"</th>";r+="</tr>",e.repeatTableHeader&&(r+="</thead>");r+="<tbody>";for(var i=0;i<t.length;i++){r+="<tr>";for(var a=0;a<n.length;a++){var l=t[i],d=n[a].field.split(".");if(1<d.length)for(var u=0;u<d.length;u++)l=l[d[u]];else l=l[n[a].field];r+='<td style="width:'+n[a].columnSize+e.gridStyle+'">'+l+"</td>"}r+="</tr>"}return r+="</tbody></table>"}(t),a.default.send(t,e)}}}]).default});
\ No newline at end of file
diff --git a/lis-ui/target/classes/web/suppliers.zul b/lis-ui/target/classes/web/suppliers.zul
new file mode 100644 (file)
index 0000000..b3da49e
--- /dev/null
@@ -0,0 +1,83 @@
+<?link rel="stylesheet" type="text/css" href="~./static/css/skeleton.css" ?>\r
+<?link rel="stylesheet" type="text/css" href="~./static/css/webclient.css" ?>\r
+<?component name="text" class="hu.user.lis.ui.form.Field$Text" ?>\r
+<zk xmlns:c="client">\r
+    <window id="supplierPopup" title="Szállítók" width="80%" height="60%" closable="true"\r
+            viewModel="@id('vm') @init('hu.user.lis.ui.view.SuppliersViewModel')">\r
+        <style>\r
+            .z-listitem-selected>.z-listcell>.z-listcell-content {\r
+            font-weight: bold,;\r
+            }\r
+        </style>\r
+\r
+        <borderlayout>\r
+            <north flex="true">\r
+                <toolbar>\r
+                    <label value="Név"/>\r
+                    <textbox id="partialName" value="@bind(vm.partialName)" onOK="@command('search')">\r
+                        <attribute c:name="_doKeyDown">\r
+                            <![CDATA[\r
+                                    function (evt) {\r
+                                        var keyCode = evt.keyCode;\r
+                                        console.log(keyCode);\r
+                                        Clients.log(keyCode);\r
+                                        if (keyCode == 13){\r
+                                            zk.$("$supplierSearchResult").focus();\r
+                                            zk.$("$partialName").fireEvent('onSearch', {}, {toServer: true});\r
+                                            return;\r
+                                        }\r
+                                    }\r
+                                ]]>\r
+                        </attribute>\r
+                    </textbox>\r
+                    <label value="Irányítószám"/>\r
+                    <textbox instant="true" value="@bind(vm.partialZipCode)" onOK="@command('search')"/>\r
+                    <toolbarbutton label="Keresés" iconSclass="z-icon-search" onClick="@command('search')"/>\r
+                    <toolbarbutton label="Mind" iconSclass="z-icon-search-plus" onClick="@command('listAll')"/>\r
+                </toolbar>\r
+            </north>\r
+            <center border="none" flex="true">\r
+                <listbox id="suppliersSearchResult" vflex="true" model="@load(vm.suppliersDataModel)"\r
+                         onSelect="@command('onListSelection')"\r
+                         onDoubleClick="@command('onCloseWindow', target=supplierPopup, select=true)">\r
+                    <listhead>\r
+                        <listheader label="Név" align="left"/>\r
+                    </listhead>\r
+                    <listfoot>\r
+                        <listfooter>\r
+                            <hlayout>\r
+                                <label value="Találatok: "/>\r
+                                <label value="@load(vm.suppliersDataModel.resultSetCount)"/>\r
+                            </hlayout>\r
+                        </listfooter>\r
+                    </listfoot>\r
+                    <template name="model">\r
+                        <listitem>\r
+                            <listcell label="@load(empty each.name ? each.template : each.name)"/>\r
+                        </listitem>\r
+                    </template>\r
+                </listbox>\r
+            </center>\r
+            <east title="Adatlap" size="60%" flex="true" splittable="true" collapsible="true">\r
+                <div class="container u-form-width u-max-form-width">\r
+                    <div class="row">\r
+                        <text class="twelve columns" label="ID" field="id"/>\r
+                    </div>\r
+                    <div class="row">\r
+                        <text class="twelve columns" label="Név" field="name"/>\r
+                    </div>\r
+                    <div class="row">\r
+                        <text class="twelve columns" label="Irányítószám" field="zipCode"/>\r
+                    </div>\r
+                </div>\r
+            </east>\r
+            <south flex="true" style="text-align: right; padding: 10px">\r
+                <hlayout>\r
+                    <button label="Bezár" onClick="@command('onCloseWindow', target=supplierPopup, select=false)"\r
+                            disabled="@load(vm.selectedSupplier)"/>\r
+                    <button label="Kiválaszt" onClick="@command('onCloseWindow', target=supplierPopup, select=true)"/>\r
+                </hlayout>\r
+            </south>\r
+        </borderlayout>\r
+    </window>\r
+</zk>
\ No newline at end of file
diff --git a/lis-ui/target/lis-ui-0.0.1-SNAPSHOT.jar b/lis-ui/target/lis-ui-0.0.1-SNAPSHOT.jar
new file mode 100644 (file)
index 0000000..616c05c
Binary files /dev/null and b/lis-ui/target/lis-ui-0.0.1-SNAPSHOT.jar differ
diff --git a/lis-ui/target/maven-archiver/pom.properties b/lis-ui/target/maven-archiver/pom.properties
new file mode 100644 (file)
index 0000000..90eba59
--- /dev/null
@@ -0,0 +1,3 @@
+version=0.0.1-SNAPSHOT\r
+groupId=hu.user\r
+artifactId=lis-ui\r
diff --git a/lis-ui/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/lis-ui/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/lis-ui/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/lis-ui/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644 (file)
index 0000000..42a6d47
--- /dev/null
@@ -0,0 +1,11 @@
+C:\work\user\lis\lis-ui\src\main\java\hu\user\lis\ui\data\SuppliersDataModel.java
+C:\work\user\lis\lis-ui\src\main\java\hu\user\lis\ui\form\FormValidator.java
+C:\work\user\lis\lis-ui\src\main\java\hu\user\lis\ui\form\Field.java
+C:\work\user\lis\lis-ui\src\main\java\hu\user\lis\ui\converter\SupplierToNameConverter.java
+C:\work\user\lis\lis-ui\src\main\java\hu\user\lis\ui\config\DevelopmentConfig.java
+C:\work\user\lis\lis-ui\src\main\java\hu\user\lis\ui\view\Index.java
+C:\work\user\lis\lis-ui\src\main\java\hu\user\lis\ui\view\SuppliersViewModel.java
+C:\work\user\lis\lis-ui\src\main\java\hu\user\lis\ui\data\SuppliersSimpleDataModel.java
+C:\work\user\lis\lis-ui\src\main\java\hu\user\lis\ui\data\CachedDataModel.java
+C:\work\user\lis\lis-ui\src\main\java\hu\user\lis\ui\data\FormDocument.java
+C:\work\user\lis\lis-ui\src\main\java\hu\user\lis\ui\ResourceConfigurer.java
diff --git a/lis-ui/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/lis-ui/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/lis-ui/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/lis-ui/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/pom.xml b/pom.xml
new file mode 100644 (file)
index 0000000..c9630cc
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">\r
+    <modelVersion>4.0.0</modelVersion>\r
+    <groupId>hu.user</groupId>\r
+    <artifactId>lis</artifactId>\r
+    <version>0.0.1-SNAPSHOT</version>\r
+    <packaging>pom</packaging>\r
+    <modules>\r
+        <module>lis-services</module>\r
+        <module>lis-db</module>\r
+        <module>lis-ui</module>\r
+        <module>lis-app</module>\r
+    </modules>\r
+    <properties>\r
+        <java.version>1.8</java.version>\r
+        <maven.compiler.source>1.8</maven.compiler.source>\r
+        <maven.compiler.target>1.8</maven.compiler.target>\r
+        <spring.version>2.2.4.RELEASE</spring.version>\r
+        <springboot.version>2.2.4.RELEASE</springboot.version>\r
+    </properties>\r
+    <parent>\r
+        <groupId>org.springframework.boot</groupId>\r
+        <artifactId>spring-boot-starter-parent</artifactId>\r
+        <version>2.2.4.RELEASE</version>\r
+        <!-- lookup parent from repository -->\r
+        <relativePath/>\r
+    </parent>\r
+    <repositories>\r
+    </repositories>\r
+    <dependencies>\r
+        <dependency>\r
+            <groupId>org.projectlombok</groupId>\r
+            <artifactId>lombok</artifactId>\r
+            <version>1.18.26</version>\r
+            <scope>provided</scope>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.apache.logging.log4j</groupId>\r
+            <artifactId>log4j-api</artifactId>\r
+            <version>2.19.0</version>\r
+        </dependency>\r
+        <!--        <dependency>-->\r
+        <!--            <groupId>org.springframework</groupId>-->\r
+        <!--            <artifactId>spring-context</artifactId>-->\r
+        <!--        </dependency>-->\r
+        <!--        <dependency>-->\r
+        <!--            <groupId>org.springframework.boot</groupId>-->\r
+        <!--            <artifactId>spring-boot-devtools</artifactId>-->\r
+        <!--            <optional>true</optional>-->\r
+        <!--        </dependency>-->\r
+\r
+    </dependencies>\r
+</project>\r