Sotet tema kesz
authorelgekko <vasary@elgekko.net>
Wed, 29 Mar 2023 22:18:36 +0000 (00:18 +0200)
committerelgekko <vasary@elgekko.net>
Wed, 29 Mar 2023 22:18:36 +0000 (00:18 +0200)
41 files changed:
server/-dependencies/jobengine.target
server/-dependencies/pom.xml
server/-modules/pom.xml
server/-product/mediacube.product
server/-product/production/LOCAL/settings/application.yaml
server/hu.user.theme.userdark/pom.xml
server/hu.user.theme.userdark/pomORIG.xml [new file with mode: 0644]
server/hu.user.theme.userdark/src/archive/META-INF/MANIFEST.MF
server/hu.user.theme.userdark/src/archive/web/js/zul/grid/less/grid.less
server/hu.user.theme.userdark/src/archive/web/js/zul/inp/less/combo.less
server/hu.user.theme.userdark/src/archive/web/js/zul/menu/less/menu.less
server/hu.user.theme.userdark/src/archive/web/js/zul/sel/less/listbox.less
server/hu.user.theme.userdark/src/archive/web/js/zul/tab/less/tabbox.less
server/hu.user.theme.userdark/src/archive/web/js/zul/wgt/less/button.less
server/hu.user.theme.userdark/src/archive/web/js/zul/wgt/less/toolbar.less
server/hu.user.theme.userdark/src/archive/web/js/zul/wnd/less/window.less
server/hu.user.theme.userdark/src/archive/web/zkmax/less/tablet/_borderlayout.less
server/hu.user.theme.userdark/src/archive/web/zul/less/_zkvariables.less
server/hu.user.theme.userdark/src/archive/web/zul/less/norm.less
server/user.commons.zk/pom.xml
server/user.mediacube.gui/WEB-INF/zk-dev.xml [new file with mode: 0644]
server/user.mediacube.gui/WEB-INF/zk.xml
server/user.mediacube.gui/css/searchitems.css
server/user.mediacube.gui/css/silvertail/mediacube.css [moved from server/user.mediacube.gui/css/mediacube-silvertail.css with 70% similarity]
server/user.mediacube.gui/css/silvertail/tagify.css [moved from server/user.mediacube.gui/css/tagify.css with 100% similarity]
server/user.mediacube.gui/css/toast.css [deleted file]
server/user.mediacube.gui/css/userdark/mediacube.css [moved from server/user.mediacube.gui/css/mediacube-userdark.css with 64% similarity]
server/user.mediacube.gui/css/userdark/tagify.css [new file with mode: 0644]
server/user.mediacube.gui/index.zul
server/user.mediacube.gui/js/toast.js [deleted file]
server/user.mediacube.gui/js/toast.min.js [deleted file]
server/user.mediacube.gui/pages/login.zul
server/user.mediacube.gui/pages/menu.zul
server/user.mediacube.gui/pages/searchitems.zul
server/user.mediacube.gui/pages/searchitems/details.zul
server/user.mediacube.gui/pages/searchitems/filters.zul
server/user.mediacube.gui/src/user/jobengine/zk/model/GridSearchModel.java
server/user.mediacube.gui/src/user/jobengine/zk/model/IndexModel.java
server/user.mediacube.gui/src/user/jobengine/zk/model/MenuModel.java
server/user.mediacube.gui/src/user/jobengine/zk/util/AuthInitiator.java
server/user.mediacube.gui/src/user/jobengine/zk/util/SessionUtil.java

index d5b74467f09b0b8123ce3da921e0618608022903..faec11d7202a64b0841e59eab8556125b084e8d6 100644 (file)
@@ -3,6 +3,7 @@
 <target name="JobEngine" sequenceNumber="486">\r
 <locations>\r
 <location path="${workspace_loc}/-dependencies/target/repository/plugins" type="Directory"/>\r
+       <location path="${workspace_loc}/hu.user.theme.userdark/target/" type="Directory"/>\r
 </locations>\r
 <includeBundles>\r
 <plugin id="cglib"/>\r
@@ -87,6 +88,7 @@
        <plugin id="org.objectweb.asm.commons"/>\r
        <plugin id="com.sun.jna.platform"/>\r
        <plugin id="user.theme.userdark"/>\r
+       <plugin id="org.apache.felix.fileinstall"/>\r
 </includeBundles>\r
 <environment>\r
        <os>win32</os>\r
index 72f7b90ad8469bcd28c5df1f7093677d38dce169..240ef05a3f145876dc8c659cf55e8dcea9aa1385 100644 (file)
                                                        <packaging>jar</packaging>\r
                                                </configuration>\r
                                        </execution>\r
-                                       <execution>\r
-                                               <id>install3</id>\r
-                                               <phase>package</phase>\r
-                                               <goals>\r
-                                                       <goal>install-file</goal>\r
-                                               </goals>\r
-                                               <configuration>\r
-                                                       <file>libs/userdark-1.0.0.jar</file>\r
-                                                       <groupId>user.theme</groupId>\r
-                                                       <artifactId>userdark</artifactId>\r
-                                                       <version>1.0.0</version>\r
-                                                       <packaging>jar</packaging>\r
-                                               </configuration>\r
-                                       </execution>\r
                                </executions>\r
                        </plugin>\r
                        <plugin>\r
@@ -91,8 +77,8 @@
                                                <id>default-cli</id>\r
                                                <configuration>\r
                                                        <artifacts>\r
-                                                               <artifact>\r
-                                                                       <id>user.theme:userdark:1.0.0</id>\r
+                                                               <artifact>\r
+                                                                       <id>org.apache.felix:org.apache.felix.fileinstall:3.7.4</id>\r
                                                                </artifact>\r
                                                                <artifact>\r
                                                                        <id>org.apache.felix:org.apache.felix.gogo.command:0.12.0</id>\r
index 82dc366c434552c526ee5ac5e5828fb31b4ea6cb..a979c4decda0602c22607d7f12f657d6e5022363 100644 (file)
                        <layout>p2</layout>\r
                        <url>file:${project.basedir}/../-dependencies/target/repository/</url>\r
                </repository>\r
+               <repository>\r
+                       <id>theme</id>\r
+                       <layout>p2</layout>\r
+                       <url>file:${project.basedir}/../hu.user.theme.userdark/target/repository/</url>\r
+               </repository>\r
        </repositories>\r
 \r
        <build>\r
index f73529bf47f99aab6f17e31b890a6f09d894a78f..ee07e55552df237c18dcbcab1368ea165397f5f3 100644 (file)
@@ -53,6 +53,7 @@
       <plugin id="org.apache.commons.io"/>\r
       <plugin id="org.apache.commons.lang"/>\r
       <plugin id="org.apache.commons.net"/>\r
+      <plugin id="org.apache.felix.fileinstall"/>\r
       <plugin id="org.apache.felix.gogo.command" version="0.12.0"/>\r
       <plugin id="org.apache.felix.gogo.runtime" version="0.12.0"/>\r
       <plugin id="org.apache.felix.gogo.shell" version="0.12.0"/>\r
index ec8f844e66e0fd399c907db2a10f52e989b8512d..36d9dcda2f0ab6c9dfab1722b0cf5dcb3de76841 100644 (file)
@@ -1,6 +1,6 @@
 datasource:\r
   mediacube:\r
-    url: jdbc:db2://localvm:50000/testmc\r
+    url: jdbc:db2://localvm:50000/mc\r
     user: db2admin\r
     password: password\r
     external-indexer: true\r
@@ -8,7 +8,7 @@ datasource:
     login-timeout: 5\r
     pool-size: 10\r
   mediacube-nosql:\r
-    url: jdbc:db2://localvm:50000/testmc\r
+    url: jdbc:db2://localvm:50000/mc\r
     user: db2admin\r
     password: password\r
     schema: test\r
index 552a6bd571a8d399acbbc79991b2aec1411111cb..53733a8ad597b7d171523311712dab7e3d9dc7b4 100644 (file)
                                </executions>
                        </plugin>
                        <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-compiler-plugin</artifactId>
-                               <version>2.3.2</version>
-                               <configuration>
-                                       <source>1.5</source>
-                                       <target>1.5</target>
-                               </configuration>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.felix</groupId>
-                               <artifactId>maven-bundle-plugin</artifactId>
-                               <version>2.3.7</version>
-                               <extensions>true</extensions>
-                               <configuration>
-                                       <excludeDependencies>*;scope=provided|compile|runtime</excludeDependencies>
-                                       <instructions>
-                                               <_include>${project.basedir}/src/archive/META-INF/MANIFEST.MF</_include>
-                                               <Bundle-Version>${project.version}</Bundle-Version>
-                                               <Bundle-Name>${project.groupId}.${project.artifactId}</Bundle-Name>
-                                               <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
-                                               <Export-Package>*</Export-Package>
-                                               <Import-Package>*</Import-Package>
-                                       </instructions>
-                               </configuration>
+                               <groupId>org.reficio</groupId>
+                               <artifactId>p2-maven-plugin</artifactId>
+                               <version>1.7.0</version>
+                               <executions>
+                                       <execution>
+                                               <id>default-cli</id>
+                                               <configuration>
+                                                       <artifacts>
+                                                               <artifact>
+                                                                       <id>user.theme:userdark:1.0.0</id>
+                                                                       <transitive>false</transitive>
+                                                               </artifact>
+                                                       </artifacts>
+                                               </configuration>
+                                       </execution>
+                               </executions>
                        </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-jar-plugin</artifactId>
-                               <version>2.3.1</version>
-                               <configuration>
-                                       <outputDirectory>../-dependencies/libs</outputDirectory>
-                               </configuration>
-               </plugin>                       
+                       
                </plugins>
        </build>
 </project>
diff --git a/server/hu.user.theme.userdark/pomORIG.xml b/server/hu.user.theme.userdark/pomORIG.xml
new file mode 100644 (file)
index 0000000..dd7701c
--- /dev/null
@@ -0,0 +1,126 @@
+<?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>user.theme</groupId>
+       <artifactId>userdark</artifactId>
+       <packaging>jar</packaging>
+       <version>1.0.0</version>
+       <name>ZK User Dark</name>
+       <description>ZK User Dark Theme</description>
+       <properties>
+               <zk.version>8.0.3</zk.version>
+       </properties>
+       <pluginRepositories>
+               <pluginRepository>
+                       <id>zkmaven</id>
+                       <name>ZK Maven Plugin Repository</name>
+                       <url>http://mavensync.zkoss.org/maven2</url>
+               </pluginRepository>
+               <pluginRepository>
+                       <id>maven-bundle-plugin</id>
+                       <name>bnd maven plugin</name>
+                       <url>http://repo1.maven.org/maven2</url>
+               </pluginRepository>
+       </pluginRepositories>
+       <dependencies>
+               <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>zkmax</artifactId>
+                       <version>${zk.version}</version>
+               </dependency>
+       </dependencies>
+       
+       <build>
+               <sourceDirectory>${project.basedir}/src/</sourceDirectory>
+               <resources>
+                       <resource>
+                               <directory>${project.basedir}/src/archive</directory>
+                       </resource>
+               </resources>
+               <plugins>
+                       <plugin>
+                               <groupId>org.zkoss.maven</groupId>
+                               <artifactId>zkless-engine-maven-plugin</artifactId>
+                               <version>1.0.0</version>
+                               <executions>
+                                       <execution>
+                                               <id>compile-less</id>
+                                               <goals>
+                                                       <goal>lessc</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <sourceDirectory>${project.basedir}/src/archive</sourceDirectory>
+                                                       <outputDirectory>${project.basedir}/target/classes</outputDirectory>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-compiler-plugin</artifactId>
+                               <version>2.3.2</version>
+                               <configuration>
+                                       <source>1.5</source>
+                                       <target>1.5</target>
+                               </configuration>
+                       </plugin>
+                       <plugin>
+                               <groupId>org.apache.felix</groupId>
+                               <artifactId>maven-bundle-plugin</artifactId>
+                               <version>2.3.7</version>
+                               <extensions>true</extensions>
+                               <configuration>
+                                       <excludeDependencies>*;scope=provided|compile|runtime</excludeDependencies>
+                                       <instructions>
+                                               <_include>${project.basedir}/src/archive/META-INF/MANIFEST.MF</_include>
+                                       </instructions>
+                               </configuration>
+                       </plugin>
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-jar-plugin</artifactId>
+                               <version>2.3.1</version>
+                               <configuration>
+                                       <outputDirectory>../-dependencies/libs</outputDirectory>
+                               </configuration>
+               </plugin>
+<!--
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-resources-plugin</artifactId>
+                               <version>2.7</version>
+                               <executions>
+                                       <execution>
+                                               <id>copy-resources-1</id>
+                                               <phase>install</phase>
+                                               <goals>
+                                                       <goal>copy-resources</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <outputDirectory>../-dependencies/target/repository/plugins</outputDirectory>
+                                                       <resources>
+                                                               <resource>
+                                                                       <directory>../-dependencies/libs/</directory>
+                                                                       <includes>user.theme.userdark-1.0.0.jar</includes>
+                                                               </resource>
+                                                       </resources>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
+   -->                                         
+               </plugins>
+       </build>
+</project>
index 59499bce4a2bd51cba227b7c00fcf745b19c95a4..77f92a0935a3fa8f09fe064ee6e3d67a9102eab0 100644 (file)
@@ -1,2 +1,36 @@
 Manifest-Version: 1.0
-
+Bundle-ManifestVersion: 2
+Bundle-Name: user.theme.userdark
+Bundle-SymbolicName: user.theme.userdark
+Bundle-Version: 1.0.0
+Created-By: 1.8.0_202 (Oracle Corporation)
+Export-Package: metainfo.zk,org.zkoss.theme.___THEME_NAME___;uses:="or
+ g.zkoss.zk.ui,org.zkoss.zk.ui.util",org.zkoss.theme.userdark;uses:="o
+ rg.zkoss.zk.ui,org.zkoss.zk.ui.util",web.userdark.js.zkex.grid.css,we
+ b.userdark.js.zkex.inp.css,web.userdark.js.zkex.layout.css,web.userda
+ rk.js.zkex.menu.css,web.userdark.js.zkmax.big.css,web.userdark.js.zkm
+ ax.inp.css,web.userdark.js.zkmax.inp.ext,web.userdark.js.zkmax.layout
+ .css,web.userdark.js.zkmax.nav.css,web.userdark.js.zkmax.wgt.css,web.
+ userdark.js.zul.box.css,web.userdark.js.zul.db.css,web.userdark.js.zu
+ l.grid.css,web.userdark.js.zul.inp.css,web.userdark.js.zul.layout.css
+ ,web.userdark.js.zul.menu.css,web.userdark.js.zul.mesh.css,web.userda
+ rk.js.zul.sel.css,web.userdark.js.zul.tab.css,web.userdark.js.zul.wgt
+ .css,web.userdark.js.zul.wnd.css,web.userdark.zkex.img.colorbox,web.u
+ serdark.zkmax.css,web.userdark.zkmax.img.big,web.userdark.zkmax.img.i
+ np,web.userdark.zkmax.img.tablet,web.userdark.zkmax.img.tablet.big,we
+ b.userdark.zkmax.img.tablet.colorbox,web.userdark.zkmax.img.tablet.gr
+ id,web.userdark.zkmax.img.tablet.inp,web.userdark.zkmax.img.tablet.la
+ yout,web.userdark.zkmax.img.tablet.menu,web.userdark.zkmax.img.tablet
+ .paging,web.userdark.zkmax.img.tablet.popup,web.userdark.zkmax.img.ta
+ blet.tab,web.userdark.zkmax.img.tablet.tree,web.userdark.zkmax.img.ta
+ blet.wnd,web.userdark.zul.css,web.userdark.zul.img,web.userdark.zul.i
+ mg.button,web.userdark.zul.img.colorbox,web.userdark.zul.img.common,w
+ eb.userdark.zul.img.errbox,web.userdark.zul.img.grid,web.userdark.zul
+ .img.input,web.userdark.zul.img.layout,web.userdark.zul.img.menu,web.
+ userdark.zul.img.misc,web.userdark.zul.img.msgbox,web.userdark.zul.im
+ g.paging,web.userdark.zul.img.popup,web.userdark.zul.img.slider,web.u
+ serdark.zul.img.splt,web.userdark.zul.img.tab,web.userdark.zul.img.tr
+ ee,web.userdark.zul.img.wnd
+Import-Package: org.zkoss.zk.ui;resolution:=optional,org.zkoss.zk.ui.u
+ til;resolution:=optional,org.zkoss.zul.theme;resolution:=optional
+Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.5))"
\ No newline at end of file
index 46c14c4a13cfa3c142e19f3c1228f8fbfba53d1a..ea54694465bc2db721062a2442dc79107a5dd171 100644 (file)
@@ -214,13 +214,15 @@ body:not(.gecko) {
 .z-footer-content {
        font-family: @baseContentFontFamily;
        font-size: @fontSizeMedium;
+       font-weight: normal;
        color: @textColorGrayLight;
        padding: 4px 5px;
        line-height: @baseButtonHeight;
        overflow: hidden;
 }
 .z-column-content {
-       font-weight: bold;
+//@@@  
+       //font-weight: bold;
        padding: 4px 5px 3px;
 }
 .z-group-content,
@@ -229,6 +231,15 @@ body:not(.gecko) {
                font-weight: bold;
        }
 }
+
+.z-grid-body {
+       background: @textColorDark;     
+}
+
+.z-grid-emptybody table {
+       height: 100%;   
+}
+
 //Cell Content
 .z-grid-body .z-cell {
        font-family: @baseContentFontFamily;
@@ -304,3 +315,8 @@ body:not(.gecko) {
                background: @meshGroupFooterBackgroundColorIE8;
        }
 }
+
+.z-paging-input {
+       color: @baseTextColor;
+       background: @textColorDark;
+}
\ No newline at end of file
index 1746428436881af6b4cf03edae6c439d1da89584..74c2312bb614fcd6068c95d6f03c0fbb5b3c2799 100644 (file)
        display: block;\r
        padding: 3px 2px;\r
        position: relative;\r
-       text-shadow: 0 1px #FFFFFF;\r
+//@@@  \r
+//     text-shadow: 0 1px #FFFFFF;\r
+//@@@\r
+       color: @baseTextColor;\r
        min-height: 20px; //ZK-2783: give default height to empty item\r
 }\r
 .z-comboitem-inner,\r
 .z-comboitem a:visited {\r
        font-size: @fontSizeMedium;\r
        font-weight: normal;\r
-       color: @baseTextColor;\r
        text-decoration: none;\r
 }\r
 .z-comboitem:hover {\r
        border: 0;\r
        padding: 0;\r
        margin: 0;\r
-       background: transparent none repeat 0 0;\r
+//@@@  \r
+//     background: transparent none repeat 0 0;\r
+       background: @popupBackgroundColor;\r
        position: relative;\r
        list-style-image: none;\r
        list-style-position: outside;\r
index dee46815ca26b9e175a4dad68fd0f4551f8ab104..00bbec2acbb5e9fbfbfa76db2fa6b6d76c93feb3 100644 (file)
@@ -90,7 +90,8 @@
                font-weight: normal;\r
                display: inline-block;\r
                line-height: @baseIconHeight;\r
-               text-shadow: 0 1px #FFFFFF;\r
+//@@@          \r
+/*             text-shadow: 0 1px #FFFFFF;*/\r
                \r
                // align for img + text\r
                img ~ & {\r
                margin-right: 3px;\r
        }\r
        &-content {\r
-               color: @textColorGray;\r
+               color: @baseTextColor;\r
                display: block;\r
                border: 1px solid transparent;\r
                .borderRadius(@baseBorderRadius);\r
index 04950c2cbec025c3213814b8afc01289d83041e3..03aac01d8a27b6cd3341fc39e2c2add73cb20e8d 100644 (file)
        &-body {
                position: relative;
                overflow: hidden;
+               background: @meshStripeBackgroundColor;
                .resetTable();
        }
+       &-emptybody {
+               height: 100%;
+       }
        &-emptybody td {
                .fontStyle(@baseContentFontFamily, @fontSizeMedium, normal, @disabledColor);
                font-style: italic;
@@ -354,7 +358,8 @@ body:not(.gecko) {
        overflow: hidden;
 }
 .z-listheader-content {
-       font-weight: bold;
+//@@@  
+//font-weight: bold;
        padding: 4px 5px 3px;
        position: relative;
 }
index be8c21dd4f570fef9beeea635752531b323a66e8..4cbf8906d1b4cd0afc2ddb9e283192d5397b7e7e 100644 (file)
@@ -41,7 +41,8 @@
                                }\r
 \r
                                .z-tab-text {\r
-                                       font-weight: bold;\r
+//@@@                                  \r
+//                                     font-weight: bold;\r
                                        cursor: default;\r
                                        white-space: nowrap;\r
                                }\r
                width: 100%;\r
                border-collapse: separate;\r
                border-spacing: 0;\r
-               border-bottom: 1px solid @baseBorderColor;\r
+//@@@          \r
+//             border-bottom: 1px solid @baseBorderColor;\r
                margin: 0;\r
                padding-left: 0;\r
                padding-top: 0;\r
        position: relative;\r
        cursor: pointer;\r
        float: left;\r
-       \r
+//@@@\r
+       background: @textColorDark;\r
 \r
        &-content {\r
                display: block;\r
        }\r
        &-selected {\r
                .resetGradient();\r
-               background: @tabSelectedBackgroundColor;\r
+//@@@\r
+               \r
+//             background: @tabSelectedBackgroundColor;\r
                .boxShadow('0 1px 0 #FFFFFF');\r
-               &:hover {\r
-                       .resetGradient();\r
-                       background: @tabSelectedBackgroundColor;\r
-               }\r
+//@@@\r
+//             &:hover {\r
+//                     .resetGradient();\r
+//                     background: @tabSelectedBackgroundColor;\r
+//             }\r
                .z-tab-button {\r
                        .opacity(1);\r
                }\r
index 450805c3ce208e88cf92d776ab1b3c83d53c53de..13304add8c5b7f4c780a4897ee5577d1984efe4e 100644 (file)
@@ -1,14 +1,19 @@
 @import "~./zul/less/_header.less";\r
 \r
 .z-button {\r
+       //@@@\r
        .fontStyle(@baseTitleFontFamily, @fontSizeMedium, normal, @baseTextColor);\r
        min-height: @baseButtonHeight;\r
-       border: 1px solid @buttonBorderColor;\r
+       //@@@\r
+       border: 1px solid transparent;\r
        .borderRadius(@baseBorderRadius);\r
-       padding: 3px 12px;\r
-       line-height: @baseLineHeight;\r
+       //@@@\r
+       padding: 3px 6px 3px;\r
+       //@@@\r
+       //line-height: @baseLineHeight;\r
        .verGradient(@buttonGradientStart, @buttonGradientEnd);\r
-       text-shadow: 0 1px #FFFFFF;\r
+       //@@@\r
+       //text-shadow: 0 1px #FFFFFF;\r
        cursor: pointer;\r
        white-space: nowrap;\r
 \r
index b574a1be387026370d8b548cae6bb803d5b790a6..468449f7a980e944878ac6fc098b32b53aea6a19 100644 (file)
@@ -16,7 +16,8 @@
 .z-toolbar-tabs .z-toolbar-content,\r
 .z-toolbar-tabs .z-toolbar-content span,\r
 .z-toolbar-content, .z-toolbar-content span {\r
-       font-size: @fontSizeSmall;\r
+       font-size: @fontSizeMedium;\r
+//     font-size: @fontSizeSmall;\r
 }\r
 .z-toolbar-panel .z-toolbar-content,\r
 .z-toolbar-panel .z-toolbar-content span {\r
        display: inline-block;\r
        border: 1px solid transparent;\r
        .borderRadius(@borderRadiusSmall);\r
-       margin: 0 2px;\r
-       padding: 1px 0;\r
-       line-height: @baseLineHeight;\r
+//  @@@\r
+//     margin: 0 2px;\r
+       padding: 3px 6px 3px;\r
+//  @@@\r
+//     line-height: @baseLineHeight;\r
        position: relative;\r
        cursor: pointer;\r
 \r
        .verGradient(@checkedGradientStart, @checkedGradientEnd);\r
 }\r
 .z-toolbarbutton-content {\r
-       .fontStyle(@baseTitleFontFamily, @fontSizeSmall, normal, @baseTextColor);\r
-       padding: 2px;\r
-       line-height: @baseLineHeight + 6; // 20px for IE to v-align center\r
+       //@@@\r
+       .fontStyle(@baseTitleFontFamily, @fontSizeMedium, normal, @baseTextColor);\r
+       //@@@\r
+       //padding: 2px;\r
+       //@@@\r
+       //line-height: @baseLineHeight + 6; // 20px for IE to v-align center\r
+       //line-height: @baseButtonHeight;\r
+\r
        vertical-align: middle;\r
        position: relative;\r
-       text-shadow: 0 1px #FFFFFF;\r
+//@@@  \r
+/*     text-shadow: 0 1px #FFFFFF;*/\r
        white-space:nowrap;\r
 }\r
 \r
index 23cdead486d2ca8133acfa5cfdd6df87b318cb44..3b34924b10e9c7718dfb55d69b7d1af448f38d85 100644 (file)
@@ -8,7 +8,8 @@
 .z-window {\r
        // ZK-2115: the style should apply [overflow: hidden]\r
        .defaultOverflowZoom();\r
-       border: 1px solid @windowBorderColor;\r
+       //@@@\r
+       //border: 1px solid @windowBorderColor;\r
        .borderRadius(@baseBorderRadius);\r
        padding: @windowFramePadding;\r
        background: @windowBackgroundColor;\r
index 98c2c89f940a03a41aff2126b9f23069e403329b..b81675ea37b10a78e52801e72861976fdf9a8f1e 100644 (file)
@@ -9,6 +9,8 @@
 .z-center-header,
 .z-east-header {
        font-size: @baseFontSize;
+       color: @textColorGray;
+       border-bottom: 0;
        line-height: 20px;
 }
 .z-east-splitter,
index 03ecfa9d9f1c689f9d4e29561a89263509a5ed38..36ec027b29de288f3bdfaa42673dba4e515a4f0d 100644 (file)
@@ -2,7 +2,7 @@
 // -------------------------------------
 // Typography
 // -------------------------------------
-@baseFontSize:                 14px;
+@baseFontSize:                 12px;
 @baseTitleFontFamily:          Verdana;
 @baseContentFontFamily:        Verdana;
 @baseLineHeight:               14px;
 // Component Basic Coloring for userdark (all gray colors are changed to blue)
 // -------------------------------------
 // Font color
-@baseTextColor:                #e3e3e3;
-@textColorGray:                #e3e3e3;
-@textColorGrayDark:            #e3e3e3;
-@textColorGrayLight:           #e3e3e3;
-@textColorBlue:                #e3e3e3;
-@textColorGreen:               #e3e3e3;
-@textColorOrange:              #e3e3e3;
+@baseTextColor: #e3e3e3;
+@textColorGray: #808080;
+//@@@
+@textColorDark: #212121;
+@textColorGrayDark: #e3e3e3;
+@textColorGrayLight: #e3e3e3;
+@textColorBlue: #e3e3e3;
+@textColorGreen: #e3e3e3;
+@textColorOrange: #e3e3e3;
 
 // Border color
 @baseBorderColor:              #1d1d1d;
 
 // Background color
-@baseBackgroundColor:          #303030;
-//@baseBackgroundColor:          red;
+//#2c3135;//1c1f22 //333333 //#0d1117
+//@@@
+@baseBackgroundColor:          #333333;
+//2c3135 dracula
 
 // Gradient background
 @baseGradientStart:            @baseBackgroundColor;
 // Button (used for button, combobutton)
 // -------------------------------------
 @buttonBorderColor:            @baseBorderColor;
-@buttonGradientStart:          #1c1c1c;
-@buttonGradientEnd:            #1c1c1c;
+//@@@ button color
+@buttonGradientStart:          @baseBackgroundColor;
+@buttonGradientEnd:            @baseBackgroundColor;
 
 // -------------------------------------
 // Input (used for textbox, intbox, spinner, ...)
 // -------------------------------------
 @inputBorderColor:             @baseBorderColor;
-@inputBackgroundColor:         #ffffff;
+@inputBackgroundColor:         @textColorDark;
 
 // -------------------------------------
 // Mesh Table (used for grid, listbox, tree, biglistbox)
 // -------------------------------------
 @meshTitleBorderColor:         @baseBorderColor;
 @meshContentBorderColor:       @baseBorderColor;
-@meshBackgroundColor:          transparent;
-@meshStripeBackgroundColor:    #1d1d1d;
+//@@@ list, grid bg
+@meshBackgroundColor:          @textColorDark;
+//@@@ odd color
+@meshStripeBackgroundColor:    @textColorDark;
 @meshFootBackgroundColor:      #FAFAFA;
 //grid fejlec
 @meshTitleHoverStart:          #000000;
 @meshTitleHoverEnd:            #000000;
 @meshContentHoverStart:        transparent;
 @meshContentHoverEnd:          transparent;
-@meshContentFocusStart:        #82B1C7;
-@meshContentFocusEnd:          #82B1C7;
+@meshContentFocusStart:        #315463;
+@meshContentFocusEnd:          #315463;
 @meshAutoPagingRowHeight:      32px;
 
 // -------------------------------------
 @hoverColor:                   #FFFFFF;
 @hoverBorderColor:             #131313;
 @hoverBackgroundColor:         transparent;
-@hoverGradientStart:           #000000;
-@hoverGradientEnd:             #000000;
+@hoverGradientStart:           #315463;
+@hoverGradientEnd:             #315463;
 
 // Disabled
 @disabledColor:                #AAAAAA;
 @selectedHoverColor:           #FFFFFF;
 @selectedHoverBorderColor:     @baseBorderColor;
 @selectedHoverBackgroundColor: darken(@selectedGradientEnd, 3%);
-@selectedHoverGradientStart:   #548DA7;
-@selectedHoverGradientEnd:     #548DA7;
+//@selectedHoverGradientStart:   #548DA7;
+//@selectedHoverGradientEnd:     #548DA7;
+//@@@
+@selectedHoverGradientStart:   #315463;
+//@@@
+@selectedHoverGradientEnd:     #315463;
 
 // Selected Focus (used on listbox, tree, comboitem)
 @selectedFocusColor:           @selectedColor;
 @selectedFocusGradientEnd:     #315463;
 
 // Checked (used on menuitem, listbox, tree, toolbarbutton)
-@checkedColor:                 #000000;
+@checkedColor:                 @baseTextColor;
 @checkedBorderColor:           #8E8F8F;
-@checkedBackgroundColor:       #000000;
-@checkedGradientStart:         #000000;
-@checkedGradientEnd:           #000000;
+@checkedBackgroundColor:       transparent;
+
+//@@@ checked toolbox button
+//@checkedGradientStart:         @baseTextColor;
+@checkedGradientStart:         transparent;
+//@checkedGradientEnd:           @baseTextColor;
+@checkedGradientEnd:           transparent;
 
 // Collapsed (used on Borderlayout)
 @collapsedBorderColor:         @baseBorderColor;
 @calendarSelectedColor:        #FFFFFF;
 @calendarSelectedHoverColor:   #FFFFFF;
 @weekendColor:                 @textColorOrange;
-@weekendBackgroundColor:       #F2F2F2;
+@weekendBackgroundColor:       @baseBorderColor;
 @weekColor:                    @textColorGrayLight;
 @weekofyearColor:              #FFFFFF;
 @weekofyearBackgroundColor:    #636363;
 
 // popup
 @popupBorderColor:             @baseBorderColor;
-@popupBackgroundColor:         @baseBackgroundColor;
-@popupGradientStart:           @baseBackgroundColor;
-@popupGradientEnd:             @baseBackgroundColor;
+//@@@
+//@popupBackgroundColor:         @baseBackgroundColor;
+@popupBackgroundColor:         @textColorDark;
+//@@@
+//@popupGradientStart:           @baseBackgroundColor;
+@popupGradientStart:           @textColorDark;
+//@@@
+//@popupGradientEnd:             @baseBackgroundColor;
+@popupGradientEnd:             @textColorDark;
 
 // group (group, listgroup)
 @groupGradientStart:           #E7F6FD;
 @menuPopupBackground:          @baseBackgroundColor;
 @menuSeparatorBorderColor:     #838383;
 @menuSeparatorBackgroundColor: #B8B8B8;
-@menuPopupSeparatorBorder:     #D9F0FC;
-@menuPopupSeparatorBackground: #A2C0CE;
+//@@@
+@menuPopupSeparatorBorder:     transparent;
+//@@@
+@menuPopupSeparatorBackground: transparent;
 
 // navbar
 @navImageSize:                 16px;
index 0678fa1e62a4e90e9dfb0970a4502f0e8384012a..6fedc4f2aa91bb8615a7570d495591c1612235ca 100644 (file)
@@ -57,12 +57,18 @@ legend {
        }\r
 }\r
 \r
-<c:if test="${empty c:property('org.zkoss.zul.theme.browserDefault')}">\r
+//@@@\r
+//<c:if test="${empty c:property('org.zkoss.zul.theme.browserDefault')}">\r
+//body {\r
+//     margin: 0;\r
+//     padding: 0 5px;\r
+//}\r
+//</c:if>\r
 body {\r
        margin: 0;\r
        padding: 0 5px;\r
+       background: @baseBackgroundColor;\r
 }\r
-</c:if>\r
 \r
 //mobile\r
 .mobile * {\r
@@ -184,7 +190,8 @@ input[type="checkbox"] {
 //label\r
 .z-label {\r
        line-height: normal;\r
-       color: green;\r
+//@@@  \r
+       color: @baseTextColor;\r
 }\r
 .z-label,\r
 .z-radio-content,\r
@@ -193,6 +200,8 @@ input[type="checkbox"] {
        font-family: @baseContentFontFamily;\r
        font-size: @fontSizeMedium;\r
        font-weight: normal;\r
+//@@@  \r
+       color: @baseTextColor;\r
 }\r
 \r
 .z-temp,\r
@@ -551,6 +560,7 @@ span.z-upload input {
 .z-selectbox {\r
        font-family: @baseContentFontFamily;\r
        font-size: @fontSizeMedium;\r
+       background-color: @textColorDark;\r
 }\r
 \r
 //scrollbar\r
@@ -717,4 +727,4 @@ span.z-upload input {
 .z-macro {\r
        display: inline-block;\r
        min-width: 1px;\r
-}
\ No newline at end of file
+}\r
index e6253a6863e1bac1a96d43f97e08b0ce6f3fce8c..42bffbdced99c7209349e091a7724bd551b73f13 100644 (file)
@@ -63,7 +63,6 @@
                                        \r
                                </executions>\r
                        </plugin>\r
-                       \r
                        <plugin>\r
                                <groupId>org.apache.maven.plugins</groupId>\r
                                <artifactId>maven-resources-plugin</artifactId>\r
diff --git a/server/user.mediacube.gui/WEB-INF/zk-dev.xml b/server/user.mediacube.gui/WEB-INF/zk-dev.xml
new file mode 100644 (file)
index 0000000..ba15526
--- /dev/null
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!-- \r
+\r
+https://www.zkoss.org/wiki/ZK_Configuration_Reference/zk.xml\r
+\r
+ -->\r
+<!DOCTYPE xml>\r
+\r
+<zk>\r
+       <system-config>\r
+               <disable-zscript>false</disable-zscript>\r
+       </system-config>\r
+       <!-- show debug information -->\r
+       <client-config>\r
+               <debug-js>true</debug-js>\r
+       </client-config>\r
+       <library-property>\r
+               <name>org.zkoss.zk.ui.versionInfo.enabled</name>\r
+               <value>true</value>\r
+       </library-property>\r
+       <!-- disable various caches -->\r
+       <library-property>\r
+               <name>org.zkoss.zk.ZUML.cache </name>\r
+               <value>false</value>\r
+       </library-property>\r
+       <library-property>\r
+               <name>org.zkoss.zk.WPD.cache</name>\r
+               <value>false</value>\r
+       </library-property>\r
+       <library-property>\r
+               <name>org.zkoss.zk.WCS.cache</name>\r
+               <value>false</value>\r
+       </library-property>\r
+       <library-property>\r
+               <name>org.zkoss.web.classWebResource.cache</name>\r
+               <value>false</value>\r
+       </library-property>\r
+       <library-property>\r
+               <name>org.zkoss.util.label.cache</name>\r
+               <value>false</value>\r
+       </library-property>\r
+</zk>
\ No newline at end of file
index 14c7bb4d081b2e279129cd30c3bb44f5d9ae8697..2891b2170eadf03a0b29d5188a5a2e10eed09c08 100644 (file)
@@ -7,6 +7,10 @@ https://www.zkoss.org/wiki/ZK_Configuration_Reference/zk.xml
 <!DOCTYPE xml>\r
 \r
 <zk>\r
+       <library-property>\r
+        <name>org.zkoss.zk.config.path</name>\r
+        <value>/WEB-INF/zk-dev.xml</value>\r
+    </library-property>\r
 <!-- \r
        <library-property>\r
            <name>org.zkoss.theme.preferred</name>\r
index 880fae40137e37b74040bb628f6a0ca4041a8b6a..8b245093279bcfe707cc3d170c4be49475e8e883 100644 (file)
@@ -54,47 +54,6 @@ div.z-row-content span {
        background-image: none;\r
 }\r
 \r
-.RED100 .z-toolbarbutton-content {\r
-       background: #FFCDD2;\r
-}\r
-\r
-.RED200 .z-toolbarbutton-content {\r
-       background: #EF9A9A;\r
-}\r
-\r
-.BROWN100 .z-toolbarbutton-content {\r
-/*     background: #D7CCC8; */\r
-       background: none;\r
-       background-image: none;\r
-}\r
-\r
-.YELLOW200 .z-toolbarbutton-content {\r
-       background: #FFF59D;\r
-}\r
-\r
-.INDIGO100 .z-toolbarbutton-content {\r
-       background: #C5CAE9; \r
-}\r
-\r
-.INDIGO200 .z-toolbarbutton-content {\r
-       background: #9FA8DA;\r
-}\r
-\r
-.BLUE100 .z-toolbarbutton-content {\r
-       background: #BBDEFB;\r
-}\r
-\r
-.BLUE200 .z-toolbarbutton-content {\r
-       background: #90CAF9;\r
-}\r
-\r
-.TEAL100 .z-toolbarbutton-content {\r
-       background: #B2DFDB;\r
-}\r
-\r
-.TEAL200 .z-toolbarbutton-content {\r
-       background: #80CBC4;\r
-}\r
 \r
 .typefilter {\r
        font-size: 9px;\r
@@ -298,3 +257,47 @@ https://www.endpointdev.com/blog/2016/03/creating-video-player-with-time-markers
   z-index: 2;\r
 }\r
 \r
+\r
+\r
+/*\r
+.RED100 .z-toolbarbutton-content {\r
+       background: #FFCDD2;\r
+}\r
+\r
+.RED200 .z-toolbarbutton-content {\r
+       background: #EF9A9A;\r
+}\r
+\r
+.BROWN100 .z-toolbarbutton-content {\r
+       background: #D7CCC8; \r
+}\r
+\r
+.YELLOW200 .z-toolbarbutton-content {\r
+       background: #FFF59D;\r
+}\r
+\r
+.INDIGO100 .z-toolbarbutton-content {\r
+       background: #C5CAE9; \r
+}\r
+\r
+.INDIGO200 .z-toolbarbutton-content {\r
+       background: #9FA8DA;\r
+}\r
+\r
+.BLUE100 .z-toolbarbutton-content {\r
+       background: #BBDEFB;\r
+}\r
+\r
+.BLUE200 .z-toolbarbutton-content {\r
+       background: #90CAF9;\r
+}\r
+\r
+.TEAL100 .z-toolbarbutton-content {\r
+       background: #B2DFDB;\r
+}\r
+\r
+.TEAL200 .z-toolbarbutton-content {\r
+       background: #80CBC4;\r
+}\r
+\r
+*/
\ No newline at end of file
similarity index 70%
rename from server/user.mediacube.gui/css/mediacube-silvertail.css
rename to server/user.mediacube.gui/css/silvertail/mediacube.css
index 139faf5afe4dfdfb44bfadb880e3cb7b9bb3e350..7948e93547599bac9ac947bf279985ffd21625e3 100644 (file)
@@ -33,3 +33,17 @@ body *:not([class*="z-icon-"]) {
 .z-notification-pointer ~ .z-notification-content {\r
        height: 50px;\r
 }\r
+.details {\r
+       padding: 5px;\r
+       line-height: 1.5em;\r
+       font-size: 10px;\r
+}\r
+.resultTitle {\r
+       font-size:20px; \r
+       font-weight:bold;\r
+       color: navy;    \r
+}\r
+.relevant {\r
+       padding: 8px;\r
+       font-size: 10px;\r
+}\r
diff --git a/server/user.mediacube.gui/css/toast.css b/server/user.mediacube.gui/css/toast.css
deleted file mode 100644 (file)
index b1cc264..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-.toastjs-container {
-       position: absolute; /* Fallback */
-       position: fixed;
-       top: 5px;
-       left: 300px;
-       width: calc(100% - 60px);
-       max-width: 400px;
-
-       transform: translateX(-150%);
-       transition: transform 0.3s;
-
-       z-index: 100; /* */
-}
-
-.toastjs-container[aria-hidden="false"] {
-       transform: translateX(0%);
-}
-
-.toastjs {
-       background: #fff;
-       padding: 10px 15px 0; /* No bottom padding because the buttons have a margin-bottom */
-       border-left-style: solid;
-       border-left-width: 5px;
-       border-radius: 4px;
-       box-shadow: 0 2px 5px 0 rgba(0,0,0,0.2);
-}
-
-.toastjs.default {
-       border-left-color: #AAAAAA;
-}
-
-.toastjs.success {
-       border-left-color: #2ECC40;
-}
-.toastjs.warning {
-       border-left-color: #FF851B;
-}
-.toastjs.danger {
-       border-left-color: #FF4136;
-}
-
-
-.toastjs-btn {
-       background: rgb(240,240,240);
-       padding: 5px 10px;
-       border: 0;
-       border-radius: 4px;
-
-       font-family: 'Source Sans Pro', sans-serif;
-       font-size: 14px;
-
-       display: inline-block;
-       margin-right: 10px;
-       margin-bottom: 10px;
-       cursor: pointer;
-}
-
-.toastjs-btn--custom {
-       background: rgb(50,50,50);
-       color: #fff;
-}
-
-
-.toastjs-btn:hover,
-.toastjs-btn:focus {
-       outline: none;
-       box-shadow: 0 2px 5px 0 rgba(0,0,0,0.2);
-}
similarity index 64%
rename from server/user.mediacube.gui/css/mediacube-userdark.css
rename to server/user.mediacube.gui/css/userdark/mediacube.css
index cc84ef3ee9c00a564f14f0b92ba013ff783da97f..9264d9ebd1098563cb6764c36034f64a42a99867 100644 (file)
@@ -33,4 +33,22 @@ body *:not([class*="z-icon-"]) {
 .z-notification-pointer ~ .z-notification-content {\r
        height: 50px;\r
 }\r
-\r
+.hljs {\r
+       color: #e3e3e3;\r
+       background: #212121;\r
+}\r
+.details {\r
+       padding: 5px;\r
+       line-height: 1.5em;\r
+       font-size: 10px;\r
+}\r
+.resultTitle {\r
+       font-size:20px; \r
+       font-weight:bold;\r
+       color: white;   \r
+}\r
+.relevant {\r
+       padding: 8px;\r
+       font-size: 10px;\r
+       color: #e3e3e3; \r
+}\r
diff --git a/server/user.mediacube.gui/css/userdark/tagify.css b/server/user.mediacube.gui/css/userdark/tagify.css
new file mode 100644 (file)
index 0000000..be61d4b
--- /dev/null
@@ -0,0 +1,622 @@
+@charset "UTF-8";\r
+\r
+:root{\r
+       --tagify-dd-color-primary:#315463;\r
+       --tagify-dd-bg-color: #212121;\r
+}\r
+\r
+.tagify{\r
+/*     --tags-border-color:#DDD;*/\r
+/*dark --tags-border-color: #1d1d1d;*/\r
+       --tags-border-color: #1d1d1d;\r
+       --tags-disabled-bg:#F1F1F1;\r
+/*     --tags-hover-border-color:#CCC;*/\r
+       --tags-hover-border-color: #cfcfcf;\r
+/*     --tags-focus-border-color:#3595f6;*/\r
+       --tags-focus-border-color: #cfcfcf;\r
+\r
+       --tag-bg:#1d1d1d;\r
+       --tag-hover:#D3E2E2;\r
+/*\r
+       --tag-text-color:black;\r
+       --tag-text-color--edit:black;\r
+*/     \r
+       --tag-text-color: white;\r
+       --tag-text-color--edit: white;\r
+/*     --tag-pad:0.3em 0.5em;*/\r
+       --tag-inset-shadow-size:1.1em;\r
+       --tag-invalid-color:#D39494;\r
+       --tag-invalid-bg:rgba(211, 148, 148, 0.5);\r
+       --tag-remove-bg:rgba(211, 148, 148, 0.3);\r
+       --tag-remove-btn-color:black;\r
+       --tag-remove-btn-bg:none;\r
+       --tag-remove-btn-bg--hover:#c77777;\r
+       --input-color: #e3e3e3;\r
+       --tag--min-width:1ch;\r
+       --tag--max-width:auto;\r
+       --tag-hide-transition:0.3s;\r
+       --placeholder-color:rgba(0, 0, 0, 0.4);\r
+       --placeholder-color-focus:rgba(0, 0, 0, 0.25);\r
+       --loader-size:.8em;\r
+       --readonly-striped:1;\r
+       display:flex;\r
+       align-items:flex-start;\r
+       flex-wrap:wrap;\r
+       border:1px solid lightgray;\r
+       border:1px solid var(--tags-border-color);\r
+       border-radius: 3px 3px 3px 3px;\r
+       background: #212121;\r
+       padding:0;\r
+       line-height:0;\r
+       cursor:text;\r
+       outline:0;position:relative;\r
+       box-sizing:border-box;\r
+       transition:.1s;\r
+       font: 12px Verdana;\r
+       margin: 3px;\r
+}\r
+\r
+@keyframes tags--bump{\r
+       30%{\r
+               transform:scale(1.2)\r
+       }\r
+}\r
+\r
+@keyframes rotateLoader{\r
+       to{\r
+               transform:rotate(1turn)\r
+       }\r
+}\r
+\r
+.tagify:hover{\r
+       border-color:#ccc;\r
+       border-color:var(--tags-hover-border-color)\r
+}\r
+\r
+.tagify.tagify--focus{\r
+       transition:0s;\r
+       border: 1px solid ;\r
+/*     border-color:#3595f6; */\r
+       border-color: #1d1d1d;\r
+       border-color:var(--tags-focus-border-color)\r
+}\r
+\r
+.tagify[disabled]{\r
+       background:var(--tags-disabled-bg);\r
+       filter:saturate(0);\r
+       opacity:.5;\r
+       pointer-events:none\r
+}\r
+       \r
+.tagify[readonly].tagify--select{\r
+       pointer-events:none\r
+}\r
+\r
+.tagify[readonly]:not(.tagify--mix):not(.tagify--select){\r
+       cursor:default\r
+}\r
+\r
+.tagify[readonly]:not(.tagify--mix):not(.tagify--select)>.tagify__input{\r
+       visibility:hidden;\r
+       width:0;\r
+       margin:2px 0;\r
+}\r
+\r
+.tagify[readonly]:not(.tagify--mix):not(.tagify--select) \r
+.tagify__tag>div{\r
+       padding:.3em .5em;\r
+       padding:var(--tag-pad)\r
+}\r
+\r
+.tagify[readonly]:not(.tagify--mix):not(.tagify--select) \r
+.tagify__tag>div::before{\r
+       animation:readonlyStyles 1s calc(-1s * (var(--readonly-striped) - 1)) paused\r
+}\r
+\r
+@keyframes readonlyStyles{\r
+       0%{\r
+               background:linear-gradient(45deg,var(--tag-bg) 25%,transparent 25%,transparent 50%,var(--tag-bg) 50%,var(--tag-bg) 75%,transparent 75%,transparent) 0/5px 5px;\r
+               box-shadow:none;\r
+               filter:brightness(.95)\r
+       }\r
+}\r
+\r
+.tagify[readonly]\r
+.tagify__tag__removeBtn{\r
+       display:none\r
+}\r
+       \r
+.tagify--loading \r
+.tagify__input>br:last-child{\r
+       display:none\r
+}\r
+\r
+.tagify--loading \r
+.tagify__input::before{\r
+       content:none\r
+}\r
+\r
+.tagify--loading \r
+.tagify__input::after{\r
+       content:"";\r
+       vertical-align:middle;\r
+       opacity:1;\r
+       width:.7em;\r
+       height:.7em;\r
+       width:var(--loader-size);\r
+       height:var(--loader-size);\r
+       border:3px solid;\r
+       border-color:#eee #bbb #888 transparent;\r
+       border-radius:50%;\r
+       animation:rotateLoader .4s infinite linear;\r
+       content:""!important;\r
+       margin:-2px 0 -2px .5em\r
+}\r
+               \r
+.tagify--loading \r
+.tagify__input:empty::after{\r
+       margin-left:0\r
+}\r
+       \r
+.tagify+input,.tagify+textarea{\r
+       position:absolute!important;\r
+       left:-9999em!important;\r
+       transform:scale(0)!important\r
+}\r
+       \r
+.tagify__tag{\r
+       display:inline-flex;\r
+       align-items:center;\r
+       margin:2px 0 2px 2px;\r
+       position:relative;\r
+       z-index:1;\r
+       outline:0;\r
+       line-height:normal;\r
+       cursor:default;\r
+       transition:.13s ease-out\r
+}\r
+       \r
+.tagify__tag>div{\r
+       vertical-align:top;\r
+       box-sizing:border-box;\r
+       max-width:100%;\r
+       padding:.3em .5em;\r
+       padding:var(--tag-pad,.3em .5em);\r
+       color:#000;\r
+       color:var(--tag-text-color,#000);\r
+       line-height:inherit;\r
+       border-radius:3px;\r
+       white-space:nowrap;\r
+       transition:.13s ease-out\r
+}\r
+       \r
+.tagify__tag>div>*{\r
+       white-space:pre-wrap;\r
+       overflow:hidden;\r
+       text-overflow:ellipsis;\r
+       display:inline-block;\r
+       vertical-align:top;\r
+       min-width:1ch;\r
+       max-width:auto;\r
+       min-width:var(--tag--min-width,1ch);\r
+       max-width:var(--tag--max-width,auto);\r
+       transition:.8s ease,.1s color\r
+}\r
+\r
+.tagify__tag>div>[contenteditable]{\r
+       outline:0;\r
+       -webkit-user-select:text;\r
+       user-select:text;\r
+       cursor:text;\r
+       margin:-2px;\r
+       padding:2px;\r
+       max-width:350px\r
+}\r
+\r
+.tagify__tag>div::before{\r
+       content:"";\r
+       position:absolute;\r
+       border-radius:inherit;\r
+       left:0;\r
+       top:0;\r
+       right:0;\r
+       bottom:0;\r
+       z-index:-1;\r
+       pointer-events:none;\r
+       transition:120ms ease;\r
+       animation:tags--bump .3s ease-out 1;\r
+       box-shadow:0 0 0 1.1em #1d1d1d inset;\r
+       box-shadow:0 0 0 var(--tag-inset-shadow-size,1.1em) var(--tag-bg,#1d1d1d) inset\r
+}\r
+\r
+.tagify__tag:focus div::before,.tagify__tag:hover:not([readonly]) div::before{\r
+       top:-2px;\r
+       right:-2px;\r
+       bottom:-2px;\r
+       left:-2px;\r
+       box-shadow:0 0 0 1.1em #d3e2e2 inset;\r
+       box-shadow:0 0 0 var(--tag-inset-shadow-size,1.1em) var(--tag-hover,#d3e2e2) inset\r
+}\r
+\r
+.tagify__tag--loading{\r
+       pointer-events:none\r
+}\r
+\r
+.tagify__tag--loading \r
+.tagify__tag__removeBtn{\r
+       display:none\r
+}\r
+\r
+.tagify__tag--loading::after{\r
+       --loader-size:.4em;\r
+       content:"";\r
+       vertical-align:middle;\r
+       opacity:1;\r
+       width:.7em;\r
+       height:.7em;\r
+       width:var(--loader-size);\r
+       height:var(--loader-size);\r
+       border:3px solid;\r
+       border-color:#eee #bbb #888 transparent;\r
+       border-radius:50%;\r
+       animation:rotateLoader .4s infinite linear;\r
+       margin:0 .5em 0 -.1em\r
+}\r
+\r
+.tagify__tag--flash div::before{\r
+       animation:none\r
+}\r
+\r
+.tagify__tag--hide{\r
+       width:0!important;\r
+       padding-left:0;\r
+       padding-right:0;\r
+       margin-left:0;\r
+       margin-right:0;\r
+       opacity:0;\r
+       transform:scale(0);\r
+       transition:.3s;\r
+       transition:var(--tag-hide-transition,.3s);\r
+       pointer-events:none\r
+}\r
+\r
+.tagify__tag--hide>div>*{\r
+       white-space:nowrap\r
+}\r
+\r
+.tagify__tag.tagify--noAnim>div::before{\r
+       animation:none\r
+}\r
+\r
+.tagify__tag.tagify--notAllowed:not(.tagify__tag--editable) div>span{\r
+       opacity:.5\r
+}\r
+\r
+.tagify__tag.tagify--notAllowed:not(.tagify__tag--editable) div::before{\r
+       box-shadow:0 0 0 1.1em rgba(211,148,148,.5) inset!important;\r
+       box-shadow:0 0 0 var(--tag-inset-shadow-size,1.1em) \r
+       var(--tag-invalid-bg,rgba(211,148,148,.5)) inset!important;\r
+       transition:.2s\r
+}\r
+       \r
+.tagify__tag[readonly] \r
+.tagify__tag__removeBtn{\r
+       display:none\r
+}\r
+\r
+.tagify__tag[readonly]>div::before{\r
+       animation:readonlyStyles 1s calc(-1s * (var(--readonly-striped) - 1)) paused\r
+}\r
+       \r
+@keyframes readonlyStyles{\r
+       0%{\r
+               background:linear-gradient(45deg,var(--tag-bg) 25%,transparent 25%,transparent 50%,var(--tag-bg) 50%,var(--tag-bg) 75%,transparent 75%,transparent) 0/5px 5px;\r
+               box-shadow:none;\r
+               filter:brightness(.95)\r
+       }\r
+}\r
+\r
+.tagify__tag--editable>div{\r
+       color:#000;\r
+       color:var(--tag-text-color--edit,#000)\r
+}\r
+       \r
+.tagify__tag--editable>div::before{\r
+       box-shadow:0 0 0 2px #d3e2e2 inset!important;\r
+       box-shadow:0 0 0 2px var(--tag-hover,#d3e2e2) inset!important\r
+}\r
+       \r
+.tagify__tag--editable>.tagify__tag__removeBtn{\r
+       pointer-events:none\r
+}\r
+\r
+.tagify__tag--editable>.tagify__tag__removeBtn::after{\r
+       opacity:0;\r
+       transform:translateX(100%) translateX(5px)\r
+}\r
+       \r
+.tagify__tag--editable.tagify--invalid>div::before{\r
+       box-shadow:0 0 0 2px #d39494 inset!important;\r
+       box-shadow:0 0 0 2px var(--tag-invalid-color,#d39494) inset!important\r
+}\r
+\r
+.tagify__tag__removeBtn{\r
+       order:5;\r
+       display:inline-flex;\r
+       align-items:center;\r
+       justify-content:center;\r
+       border-radius:50px;\r
+       cursor:pointer;\r
+       font:14px/1 Verdana;\r
+       background: #FFFFFF;\r
+/*     background:0 0;*/\r
+/*     background:var(--tag-remove-btn-bg,none);*/\r
+       color:#000;\r
+       color:var(--tag-remove-btn-color,#000);\r
+       width:14px;\r
+       height:14px;\r
+       margin-right:4.6666666667px;\r
+       margin-left:auto;\r
+       overflow:hidden;\r
+       transition:.2s ease-out\r
+}\r
+\r
+.tagify__tag__removeBtn::after{\r
+       content:"×";\r
+       transition:.3s,color 0s\r
+}\r
+\r
+.tagify__tag__removeBtn:hover{\r
+       color:#fff;\r
+       background:#c77777;\r
+       background:var(--tag-remove-btn-bg--hover,#c77777)\r
+}\r
+\r
+.tagify__tag__removeBtn:hover+div>span{\r
+       opacity:.5\r
+}\r
+\r
+.tagify__tag__removeBtn:hover+div::before{\r
+       box-shadow:0 0 0 1.1em rgba(211,148,148,.3) inset!important;\r
+       box-shadow:0 0 0 var(--tag-inset-shadow-size,1.1em) var(--tag-remove-bg,rgba(211,148,148,.3)) inset!important;\r
+       transition:box-shadow .2s\r
+}\r
+       \r
+.tagify:not(.tagify--mix)\r
+.tagify__input br{\r
+       display:none\r
+}\r
+\r
+.tagify:not(.tagify--mix)\r
+.tagify__input *{\r
+       display:inline;\r
+       white-space:nowrap\r
+}\r
+\r
+.tagify__input{\r
+       flex-grow:1;\r
+       display:inline-block;\r
+       min-width:110px;\r
+/*     margin:5px;*/\r
+       padding:.3em .5em;\r
+       padding:var(--tag-pad,.3em .5em);\r
+       line-height:normal;\r
+       position:relative;\r
+       white-space:pre-wrap;\r
+       color:inherit;\r
+       color:var(--input-color,inherit);\r
+       box-sizing:inherit\r
+}\r
+\r
+.tagify__input:focus{\r
+       outline:0\r
+}\r
+       \r
+.tagify__input:focus::before{\r
+       transition:.2s ease-out;\r
+       opacity:0;\r
+       transform:translatex(6px)\r
+}\r
+\r
+@supports (-ms-ime-align:auto){\r
+       .tagify__input:focus::before{\r
+               display:none\r
+       }\r
+}\r
+\r
+.tagify__input:focus:empty::before{\r
+       transition:.2s ease-out;\r
+       opacity:1;\r
+       transform:none;\r
+       color:rgba(0,0,0,.25);\r
+       color:var(--placeholder-color-focus)\r
+}\r
+       \r
+@-moz-document url-prefix(){\r
+       .tagify__input:focus:empty::after{\r
+               display:none\r
+       }\r
+}\r
+       \r
+.tagify__input::before{\r
+       content:attr(data-placeholder);\r
+       height:1em;\r
+       line-height:1em;\r
+       margin:auto 0;\r
+       z-index:1;\r
+       color:rgba(0,0,0,.4);\r
+       color:var(--placeholder-color);\r
+       white-space:nowrap;\r
+       pointer-events:none;\r
+       opacity:0;\r
+       position:absolute\r
+}\r
+\r
+.tagify__input::after{\r
+       content:attr(data-suggest);\r
+       display:inline-block;\r
+       white-space:pre;\r
+       color:#000;\r
+       opacity:.3;\r
+       pointer-events:none;\r
+       max-width:100px\r
+}\r
+       \r
+.tagify__input \r
+.tagify__tag{\r
+       margin:0 1px\r
+}\r
+       \r
+.tagify--mix{\r
+       display:block\r
+}\r
+       \r
+.tagify--mix .tagify__input{\r
+       padding:5px;\r
+       margin:0;\r
+       width:100%;\r
+       height:100%;\r
+       line-height:1.5;\r
+       display:block\r
+}\r
+\r
+.tagify--mix \r
+.tagify__input::before{\r
+       height:auto;\r
+       display:none;\r
+       line-height:inherit\r
+}\r
+\r
+.tagify--mix\r
+.tagify__input::after{\r
+       content:none\r
+}\r
+\r
+.tagify--select::after{\r
+       content:">";\r
+       opacity:.5;\r
+       position:absolute;\r
+       top:50%;\r
+       right:0;\r
+       bottom:0;\r
+       font:16px monospace;\r
+       line-height:8px;\r
+       height:8px;\r
+       pointer-events:none;\r
+       transform:translate(-150%,-50%) scaleX(1.2) rotate(90deg);\r
+       transition:.2s ease-in-out;\r
+}\r
+\r
+.tagify--select[aria-expanded=true]::after{\r
+       transform:translate(-150%,-50%) rotate(270deg) scaleY(1.2)\r
+}\r
+       \r
+.tagify--select\r
+.tagify__tag{\r
+       position:absolute;\r
+       top:0;\r
+       right:1.8em;\r
+       bottom:0\r
+}\r
+\r
+.tagify--select\r
+.tagify__tag div{\r
+       display:none\r
+}\r
+\r
+.tagify--select \r
+.tagify__input{\r
+       width:100%\r
+}\r
+\r
+.tagify--empty \r
+.tagify__input::before{\r
+       transition:.2s ease-out;\r
+       opacity:1;\r
+       transform:none;\r
+       display:inline-block;\r
+       width:auto\r
+}\r
+       \r
+.tagify--mix \r
+.tagify--empty \r
+.tagify__input::before{\r
+       display:inline-block\r
+}\r
+\r
+.tagify--invalid{\r
+       --tags-border-color:#D39494\r
+}\r
+\r
+.tagify__dropdown{\r
+       position:absolute;\r
+       z-index:9999;\r
+       transform:translateY(1px);\r
+       overflow:hidden\r
+}\r
+       \r
+.tagify__dropdown[placement=top]{\r
+       margin-top:0;\r
+       transform:translateY(-100%)\r
+}\r
+\r
+.tagify__dropdown[placement=top]\r
+.tagify__dropdown__wrapper{\r
+       border-top-width:1.1px;\r
+       border-bottom-width:0\r
+}\r
+       \r
+.tagify__dropdown[position=text]{\r
+       box-shadow:0 0 0 3px rgba(var(--tagify-dd-color-primary),.1);\r
+       font-size:.9em\r
+}\r
+\r
+.tagify__dropdown[position=text] \r
+.tagify__dropdown__wrapper{\r
+       border-width:1px\r
+}\r
+\r
+.tagify__dropdown__wrapper{\r
+       max-height:300px;\r
+       overflow:auto;\r
+       color: #e3e3e3;\r
+       font: 12px Verdana;\r
+       background:var(--tagify-dd-bg-color);\r
+       border:1px solid #3595f6;\r
+       border-color:var(--tagify-dd-color-primary);\r
+       border-bottom-width:1.33px;\r
+       border-top-width:0;\r
+       box-shadow:0 2px 4px -2px rgba(0,0,0,.2);\r
+       transition:.25s cubic-bezier(0,1,.5,1)\r
+}\r
+\r
+.tagify__dropdown--initial \r
+.tagify__dropdown__wrapper{\r
+       max-height:20px;\r
+       transform:translateY(-1em)\r
+}\r
+\r
+.tagify__dropdown--initial[placement=top]\r
+.tagify__dropdown__wrapper{\r
+       transform:translateY(2em)\r
+}\r
+\r
+.tagify__dropdown__item{\r
+       box-sizing:inherit;\r
+       padding:.3em .5em;\r
+       margin:1px;\r
+       cursor:pointer;\r
+       border-radius:2px;\r
+       position:relative;\r
+       outline:0\r
+}\r
+       \r
+.tagify__dropdown__item--active{\r
+       background:#3595f6;\r
+       background:var(--tagify-dd-color-primary);\r
+       color:#fff\r
+}\r
+\r
+.tagify__dropdown__item:active{\r
+       filter:brightness(105%)\r
+}
\ No newline at end of file
index 5118d83835b53124ee100928da61e0c6d6336fd1..2618e3b50b5b883f8dc216b7706886543ef6f5ac 100644 (file)
@@ -2,15 +2,7 @@
 <?init class="user.jobengine.zk.util.AuthInitiator"?>\r
 <?component name="sidewindow" inline="true" macroURI="pages/sidewindow.zul"?>\r
 <zk xmlns:w="http://www.zkoss.org/2005/zk/client">\r
-       <style src="/css/mediacube-${sessionScope.theme}.css"/>\r
-       <style src="/css/toast.css" />\r
-       <script src="/js/toast.min.js" />\r
-       <script>\r
-               function showToast(m) {\r
-                       var toast = new Toast({message: m, type: 'danger' });\r
-                       setTimeout(function(){ toast._close(); }, 4000);\r
-               }\r
-       </script>\r
+       <style src="/css/${sessionScope.theme}/mediacube.css"/>\r
        <zscript>\r
                <![CDATA[\r
                // Chrome F5 bug workaround (miscalculates 100% width on second refresh)\r
@@ -31,7 +23,6 @@
                }\r
                ]]>\r
        </zscript>\r
-       <!-- ZKOSS chrome listbox scroll bug workaround: http://tracker.zkoss.org/browse/ZK-3263 -->\r
        <script>\r
                window.onpopstate = function(event) {\r
                        //console.log("location: " + document.location + ", state: " + JSON.stringify(event.state));\r
                }\r
        </script>\r
        \r
-<!--   onClientInfo="onClientInfo(event)" -->\r
-\r
        <window id="zkwindow" viewModel="@id('im') @init('user.jobengine.zk.model.IndexModel')" border="none" \r
                width="100%" height="100%" contentStyle="padding:0;" onClientInfo="@command('onClientInfo', evt=event)">\r
                <custom-attributes org.zkoss.zul.image.preload="true"/>\r
                <borderlayout>\r
                        <north border="0">\r
-                               <div id="divMenu" onPopHistory="@command('popHistory')">\r
-                                       <borderlayout height="50px">\r
-                                               <variables backcolor="#212121"/>\r
-                                               <west border="0" style="background: ${backcolor}">\r
-                                                       <hbox id="appTitle" height="100%" width="100%" align="center" pack="left">\r
-                                                               <image src="/img/mediacube_logo_v2_50x50.png" />\r
-                                                               <label style="color:#008AC8;font-size:26px;font-weight:bold" value="MediaCube" />\r
-                                                               <label style="color:#e3e3e3;font-size:12px;font-weight:bold" value="v${labels.version}" /> \r
-                                                       </hbox>\r
-                                               </west>\r
-                                               <center border="0" style="background: ${backcolor}" />\r
-                                               <east border="0" style="background: ${backcolor}">\r
-                                                       <hbox height="100%" width="100%" align="bottom" pack="center">\r
-                                                               <div style="margin-right: 10px">\r
-                                                                       <label style="color:#e3e3e3; font-size:12px; font-weight:bold; cursor: help;" value="Bejelentkezve: ${sessionScope.userPrincipal.displayName}" /> \r
-                                                                       <attribute name="tooltip" if="${not empty sessionScope.userPrincipal.email}">\r
-                                                                               emailPopup, at_pointer\r
-                                                                       </attribute>                                                                                            \r
-                                                                       <popup id="emailPopup">\r
-                                                                       <vlayout>\r
-                                                                           <label value="${sessionScope.userPrincipal.email}"/>\r
-                                                                       </vlayout>\r
-                                                                   </popup>                                                                    \r
-                                                               </div>\r
-                                                       </hbox>\r
-                                               </east>\r
-                                       </borderlayout>\r
+                               <div id="divMenu" onPopHistory="@command('popHistory')" style="background: #212121">\r
+                                       <hbox id="appTitle" align="end" pack="start" width="100%">\r
+                                               <image style="width: 24px; height: 24px;" src="/img/mediacube_logo_v2_50x50.png" />\r
+                                               <label style="color:#008AC8;font: bold 22px Verdana;" value="MEDIACUBE" />\r
+                                               <label style="color:#e3e3e3;font: bold 10px Verdana;" value="v${labels.version}" /> \r
+                                       </hbox>\r
                                        <include src="/pages/menu.zul" />\r
                                </div>\r
                        </north>\r
                        <center border="0">\r
-                               <include id="includeContent" src="@load(im.page)" />\r
+                               <include id="includeContent" src="@load(im.page)" width="100%" />\r
                        </center>\r
                        <east>\r
 <!--                           <sidewindow /> -->\r
diff --git a/server/user.mediacube.gui/js/toast.js b/server/user.mediacube.gui/js/toast.js
deleted file mode 100644 (file)
index 3b54a6b..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-'use strict';
-
-function Toast(options) {
-
-    if (!options.message) {
-        throw new Error('Toast.js - You need to set a message to display');
-        return;
-    }
-
-    this.options = options;
-    this.options.type = options.type || 'default';
-
-    this.toastContainerEl = document.querySelector('.toastjs-container');
-    this.toastEl = document.querySelector('.toastjs');
-
-    this._init();
-}
-
-Toast.prototype._createElements = function () {
-    var _this = this;
-
-    return new Promise(function (resolve, reject) {
-
-        _this.toastContainerEl = document.createElement('div');
-        _this.toastContainerEl.classList.add('toastjs-container');
-        _this.toastContainerEl.setAttribute('role', 'alert');
-        _this.toastContainerEl.setAttribute('aria-hidden', true);
-
-        _this.toastEl = document.createElement('div');
-        _this.toastEl.classList.add('toastjs');
-
-        _this.toastContainerEl.appendChild(_this.toastEl);
-        document.body.appendChild(_this.toastContainerEl);
-
-        setTimeout(function () {
-            return resolve();
-        }, 500);
-    });
-};
-
-Toast.prototype._addEventListeners = function () {
-    var _this2 = this;
-
-    document.querySelector('.toastjs-btn--close').addEventListener('click', function () {
-        _this2._close();
-    });
-
-    if (this.options.customButtons) {
-        var customButtonsElArray = Array.prototype.slice.call(document.querySelectorAll('.toastjs-btn--custom'));
-        customButtonsElArray.map(function (el, index) {
-            el.addEventListener('click', function (event) {
-                return _this2.options.customButtons[index].onClick(event);
-            });
-        });
-    }
-};
-
-Toast.prototype._close = function () {
-    var _this3 = this;
-
-    return new Promise(function (resolve, reject) {
-        _this3.toastContainerEl.setAttribute('aria-hidden', true);
-        setTimeout(function () {
-
-            _this3.toastEl.innerHTML = '';
-            _this3.toastEl.classList.remove('default', 'success', 'warning', 'danger');
-
-            if (_this3.focusedElBeforeOpen) {
-                _this3.focusedElBeforeOpen.focus();
-            }
-
-            resolve();
-        }, 1000);
-    });
-};
-
-Toast.prototype._open = function () {
-
-    this.toastEl.classList.add(this.options.type);
-    this.toastContainerEl.setAttribute('aria-hidden', false);
-
-    var customButtons = '';
-    if (this.options.customButtons) {
-        customButtons = this.options.customButtons.map(function (customButton, index) {
-            return '<button type="button" class="toastjs-btn toastjs-btn--custom">' + customButton.text + '</button>';
-        });
-        customButtons = customButtons.join('');
-    }
-
-    this.toastEl.innerHTML = '\n        <p>' + this.options.message + '</p>\n        <button type="button" class="toastjs-btn toastjs-btn--close">Close</button>\n        ' + customButtons + '\n    ';
-
-    this.focusedElBeforeOpen = document.activeElement;
-    document.querySelector('.toastjs-btn--close').focus();
-};
-
-Toast.prototype._init = function () {
-    var _this4 = this;
-
-    Promise.resolve().then(function () {
-        if (_this4.toastContainerEl) {
-            return Promise.resolve();
-        }
-        return _this4._createElements();
-    }).then(function () {
-        if (_this4.toastContainerEl.getAttribute('aria-hidden') == 'false') {
-            return _this4._close();
-        }
-        return Promise.resolve();
-    }).then(function () {
-        _this4._open();
-        _this4._addEventListeners();
-    });
-};
\ No newline at end of file
diff --git a/server/user.mediacube.gui/js/toast.min.js b/server/user.mediacube.gui/js/toast.min.js
deleted file mode 100644 (file)
index 1a0413c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";function Toast(t){if(!t.message)throw new Error("Toast.js - You need to set a message to display");this.options=t,this.options.type=t.type||"default",this.toastContainerEl=document.querySelector(".toastjs-container"),this.toastEl=document.querySelector(".toastjs"),this._init()}Toast.prototype._createElements=function(){var t=this;return new Promise(function(e,o){t.toastContainerEl=document.createElement("div"),t.toastContainerEl.classList.add("toastjs-container"),t.toastContainerEl.setAttribute("role","alert"),t.toastContainerEl.setAttribute("aria-hidden",!0),t.toastEl=document.createElement("div"),t.toastEl.classList.add("toastjs"),t.toastContainerEl.appendChild(t.toastEl),document.body.appendChild(t.toastContainerEl),setTimeout(function(){return e()},500)})},Toast.prototype._addEventListeners=function(){var t=this;if(document.querySelector(".toastjs-btn--close").addEventListener("click",function(){t._close()}),this.options.customButtons){var e=Array.prototype.slice.call(document.querySelectorAll(".toastjs-btn--custom"));e.map(function(e,o){e.addEventListener("click",function(e){return t.options.customButtons[o].onClick(e)})})}},Toast.prototype._close=function(){var t=this;return new Promise(function(e,o){t.toastContainerEl.setAttribute("aria-hidden",!0),setTimeout(function(){t.toastEl.innerHTML="",t.toastEl.classList.remove("default","success","warning","danger"),t.focusedElBeforeOpen&&t.focusedElBeforeOpen.focus(),e()},1e3)})},Toast.prototype._open=function(){this.toastEl.classList.add(this.options.type),this.toastContainerEl.setAttribute("aria-hidden",!1);var t="";this.options.customButtons&&(t=this.options.customButtons.map(function(t,e){return'<button type="button" class="toastjs-btn toastjs-btn--custom">'+t.text+"</button>"}),t=t.join("")),this.toastEl.innerHTML="\n        <p>"+this.options.message+'</p>\n        <button type="button" class="toastjs-btn toastjs-btn--close">Close</button>\n        '+t+"\n    ",this.focusedElBeforeOpen=document.activeElement,document.querySelector(".toastjs-btn--close").focus()},Toast.prototype._init=function(){var t=this;Promise.resolve().then(function(){return t.toastContainerEl?Promise.resolve():t._createElements()}).then(function(){return"false"==t.toastContainerEl.getAttribute("aria-hidden")?t._close():Promise.resolve()}).then(function(){t._open(),t._addEventListeners()})};
\ No newline at end of file
index 05955a81f2db0eab5ef22056af45e0adf6409edc..f67a3931de8628aa1a4adbbf53fd6459e5c1207a 100644 (file)
@@ -8,7 +8,7 @@
            -webkit-box-shadow: 0 0 0 30px yellow inset !important;\r
        }\r
        </style>\r
-       <style src="/css/mediacube-${sessionScope.theme}.css"/>\r
+       <style src="/css/${sessionScope.theme}/mediacube.css"/>\r
        <hbox self="@define(content)" vflex="1" hflex="1" align="center" pack="center" spacing="20px">\r
         <vlayout>\r
             <window id="loginWin" viewModel="@id('jlm') @init('user.jobengine.zk.model.LoginModel')"\r
index 0b2e971dfa0146a3d2506eba16ca61e32a5b78dd..099339d2e9ade95ab5c5ebf6a76c6e792371abaf 100644 (file)
@@ -2,8 +2,16 @@
 <?init class="user.jobengine.zk.util.AuthInitiator"?>\r
 <zk>\r
 <!--   <style src="/css/menu.css"/> -->\r
-       <div viewModel="@id('lm') @init('user.jobengine.zk.model.MenuModel')">\r
-               <menubar id="menubar" hflex="max">\r
+       <div viewModel="@id('lm') @init('user.jobengine.zk.model.MenuModel')" style="background:red">\r
+               <popup id="logoutPopup">\r
+               <vlayout>\r
+                       <label value="Kijelentkezés" />\r
+                       <label value="${sessionScope.userPrincipal.displayName}" />\r
+                       <label value="${sessionScope.userPrincipal.email}" />\r
+               </vlayout>\r
+           </popup>\r
+\r
+               <menubar id="menubar">\r
                        <menuitem label="Keresés" onClick="@command('navigate', action='/')" disabled="false" />\r
                        <menuitem label="Folyamatok" onClick="@command('navigate', action='jobs')" \r
                                disabled="${(not sessionScope.userPrincipal.pooler and not sessionScope.userPrincipal.submitter) or sessionScope.userPrincipal.anonymous}" />\r
                                </menupopup>\r
                        </menu>\r
                        <menuitem label="Mini monitor" onClick="@command('createFloatingJobMonitor')" />\r
-                       <menu label="Megjelenés" visible="false">\r
+                       <menu label="Megjelenés" visible="true">\r
                                <menupopup>\r
                                        <menuitem label="Világos" onClick="@command('applyTheme', name='silvertail')" />\r
                                        <menuitem label="Sötét" onClick="@command('applyTheme', name='userdark')" />\r
                                </menupopup>\r
                        </menu>\r
-\r
-                       <menuitem id="basketIMenuItem" label="@load(lm.basketMenuLabel)" iconSclass="z-icon-shopping-cart" \r
-                               style="float: right" onClick="@command('showBasket')" disabled="false" />\r
-                       <menuitem id="logoutMenuItem" label="Kilépés" style="float: right" onClick="@command('doLogout')" disabled="false" />\r
-               </menubar>\r
+                       <menuitem id="logoutMenuItem" iconSclass="z-icon-user" onClick="@command('doLogout')" tooltip="logoutPopup, position=after_start" style="float: right" />\r
+                       <menuitem id="basketIMenuItem" label="@load(lm.basketMenuLabel)" iconSclass="z-icon-shopping-cart" onClick="@command('showBasket')" style="float: right" />\r
+               </menubar>\r
        </div>\r
 </zk>\r
index 094a147c24acc595aa7ad4e08ec5b7d22096eb36..0c76392cf980479608a09bf5b3df7e685e691690 100644 (file)
@@ -15,8 +15,8 @@
 <!--   <h:script src="https://vjs.zencdn.net/7.18.1/video.min.js"/> -->\r
 \r
        <style src="/css/video-js.css" />\r
-       <style src="/css/searchitems.css" />\r
-       <style src="/css/tagify.css" />\r
+<!--   <style src="/css/searchitems.css" /> -->\r
+       <style src="/css/${sessionScope.theme}/tagify.css" />\r
        \r
        <h:script src="/js/tagify.min.js" />\r
        <h:script src="/js/video.js" />\r
index 184682638db28cbba58306a5904ce4e76a1d276e..97d89722bc0647af7f08cf48a5673e549a140a18 100644 (file)
@@ -1,16 +1,6 @@
 <zk xmlns:w="http://www.zkoss.org/2005/zk/client" xmlns:h="xhtml" xmlns:c="client">\r
        <div height="100%" width="100%">\r
-               <style>\r
-<!--\r
-dark \r
-               #detail-tagify-chdex > tags {\r
-                       border: 1px solid lightgray;\r
-                       background: #303030;\r
-                       color: #e3e3e3;\r
-               }\r
- -->\r
-               </style>\r
-               <toolbar width="100%" style="min-height:40px; border-bottom:1px solid darkgray">\r
+               <toolbar width="100%" style="min-height:40px; border-bottom:1px solid #808080">\r
                        <toolbarbutton iconSclass="z-icon-reply" autodisable="self" onClick="@command('showInResults')"\r
                                disabled="@load(vm.selectedObject eq null)" label="Szinkronizálás" />\r
                        <toolbarbutton iconSclass="z-icon-shopping-cart" autodisable="self" onClick="@command('downloadMedia')"\r
@@ -27,32 +17,32 @@ dark
                        <vlayout>\r
                                <h:textarea id="detail-tagify" name='mediaTags'></h:textarea>\r
                        </vlayout>\r
-                       <hlayout style="border-bottom: 1px solid lightgray">\r
-                               <vlayout style="width: 120px; border-right: 1px solid lightgray; padding-right: 10px">\r
-                                       <label style="font-size:8pt; color: gray" value="Gyűjtő azonosító" />\r
+                       <hlayout style="border-bottom: 1px solid #808080">\r
+                               <vlayout style="width: 120px; border-right: 1px solid #808080; padding-right: 10px">\r
+                                       <label style="font-size:8pt; color: #808080" value="Gyűjtő azonosító" />\r
                                        <label value="@load(vm.selectedObject.item.houseId)" />\r
                                </vlayout>\r
                                <vlayout>\r
-                                       <label style="font-size:8pt; color: gray" value="Gyűjtő címe" />\r
+                                       <label style="font-size:8pt; color: #808080" value="Gyűjtő címe" />\r
                                        <label value="@load(vm.selectedObject.item.title)" />\r
                                </vlayout>\r
                        </hlayout>\r
                        <vlayout>\r
-                               <label style="font-size:8pt; color: gray" value="Gyűjtő leírása" />\r
+                               <label style="font-size:8pt; color: #808080" value="Gyűjtő leírása" />\r
                                <label value="@load(vm.selectedObject.item.description)" />\r
                        </vlayout>\r
-                       <hlayout style="border-bottom: 1px solid lightgray">\r
-                               <vlayout style="width: 120px; border-right: 1px solid lightgray; padding-right: 10px">\r
-                                       <label style="font-size:8pt; color: gray" value="Média azonosító" />\r
+                       <hlayout style="border-bottom: 1px solid #808080">\r
+                               <vlayout style="width: 120px; border-right: 1px solid #808080; padding-right: 10px">\r
+                                       <label style="font-size:8pt; color: #808080" value="Média azonosító" />\r
                                        <label value="@load(vm.selectedObject.media.houseId)" />\r
                                </vlayout>\r
                                <vlayout>\r
-                                       <label style="font-size:8pt; color: gray" value="Média címe" />\r
+                                       <label style="font-size:8pt; color: #808080" value="Média címe" />\r
                                        <label value="@load(vm.selectedObject.media.title)" />\r
                                </vlayout>\r
                        </hlayout>\r
                        <vlayout>\r
-                               <label style="font-size:8pt; color: gray" value="Média leírása" />\r
+                               <label style="font-size:8pt; color: #808080" value="Média leírása" />\r
                                <label multiline="true" value="@load(vm.selectedObject.media.description)" />\r
                        </vlayout>\r
                </vlayout>\r
index 8e93cdf850da8a5275372f13f9446ffcfdde7d0b..c3c7ca7d04ae6b90807e63637b4a7952a4615ba9 100644 (file)
@@ -21,7 +21,7 @@
 \r
        <vlayout>\r
        \r
-               <h:textarea name='filterTags' placeholder='Címkék'/>\r
+               <h:textarea name='filterTags' />\r
        </vlayout>\r
        <toolbar id="filterToolbar" width="100%">\r
                <toolbarbutton id="toggleShowTypeFilters" iconSclass="z-icon-caret-down" mode="toggle" onCheck="@command('toggleTypeFiltersCheck')"/>       \r
index f51ba2c112cd394d05c7fe9f0e50c1752d838310..3c620e7cb9417bdfcc1c3940c1d03fc5c17979a9 100644 (file)
@@ -624,11 +624,11 @@ public class GridSearchModel extends AsyncBaseModel {
                                        Hlayout hlayout = (Hlayout) detail.getChildren().get(0);\r
                                        if (highlight) {\r
                                                selectedRowIndex = i;\r
-                                               row.setStyle("background: #F1F8E9;");\r
-                                               hlayout.setStyle("border-bottom: 1px solid #C5E1A5; background: #F1F8E9;");\r
+                                               row.setStyle("background: #315463;");\r
+                                               hlayout.setStyle("border-bottom: 1px solid #808080; background: #315463;");\r
                                        } else {\r
                                                row.setStyle("background: none;");\r
-                                               hlayout.setStyle("border-bottom: 1px solid #ebebeb; background: none;");\r
+                                               hlayout.setStyle("border-bottom: 1px solid #808080; background: none;");\r
                                        }\r
                                }\r
                                break;\r
@@ -1075,7 +1075,7 @@ public class GridSearchModel extends AsyncBaseModel {
                        sb.append("]);");\r
 \r
                        String js = sb.toString();\r
-                       logger.info(js);\r
+                       // logger.info(js);\r
                        Clients.evalJavaScript(js);\r
                }\r
        }\r
index 770689988f37a2f8c9ed7c9e369e6fedd5ff3fe6..80786d2d5e9312145ccd0fb4ffe26c398874bbc9 100644 (file)
@@ -19,7 +19,6 @@ import org.zkoss.zk.ui.event.Event;
 import org.zkoss.zk.ui.select.Selectors;\r
 import org.zkoss.zk.ui.select.annotation.Wire;\r
 import org.zkoss.zk.ui.util.Clients;\r
-import org.zkoss.zul.Hbox;\r
 \r
 import com.ibm.nosql.json.api.BasicDBObject;\r
 \r
@@ -33,7 +32,7 @@ public class IndexModel extends BaseModel {
                        "newshistory", "edithistory", "edithistory", "statistics", "statistics", "maestro", "maestro", "pwdgen", "pwdgen");\r
 \r
        @Wire\r
-       Hbox appTitle;\r
+       Component appTitle;\r
 \r
        @AfterCompose\r
        public void afterCompose(@ContextParam(ContextType.VIEW) Component view) {\r
index 40a59d981a27ae14c5c32c7a8ad99c8cfa314172..473e23de8ddbc2c74e3050170f6802516b390f43 100644 (file)
@@ -13,6 +13,7 @@ import org.zkoss.bind.annotation.BindingParam;
 import org.zkoss.bind.annotation.Command;\r
 import org.zkoss.bind.annotation.ContextParam;\r
 import org.zkoss.bind.annotation.ContextType;\r
+import org.zkoss.lang.Strings;\r
 import org.zkoss.zk.ui.Component;\r
 import org.zkoss.zk.ui.Executions;\r
 import org.zkoss.zk.ui.select.Selectors;\r
@@ -20,7 +21,6 @@ import org.zkoss.zk.ui.select.annotation.Wire;
 import org.zkoss.zk.ui.util.Clients;\r
 import org.zkoss.zul.Menuitem;\r
 import org.zkoss.zul.Window;\r
-import org.zkoss.zul.theme.Themes;\r
 \r
 import user.jobengine.db.ArchivedMedia;\r
 import user.jobengine.zk.util.SessionUtil;\r
@@ -29,7 +29,7 @@ public class MenuModel extends BaseModel {
        private static final Logger logger = LogManager.getLogger();\r
        private static final String PAGES_RETRIEVEBATCHSELECTOR_ZUL = "/pages/retrievebatchselector.zul";\r
        private static final String PAGES_ALTERNATE_RETRIEVEBATCHSELECTOR_ZUL = "/pages/alternate_retrievebatchselector.zul";\r
-       private String basketMenuLabel = "(0)";\r
+       private String basketMenuLabel = Strings.EMPTY;\r
        private List<ArchivedMedia> basketItems = new ArrayList<>();\r
        private Window floatingMonitorWindow;\r
 \r
@@ -66,6 +66,16 @@ public class MenuModel extends BaseModel {
 \r
        @Command\r
        public void doLogout() {\r
+\r
+//             try {\r
+//                     Bundle bundle = FrameworkUtil.getBundle(Class.forName("org.zkoss.theme.userdark.UserdarkThemeWebAppInit"));\r
+//\r
+//                     bundle.stop();\r
+//                     bundle.start();\r
+//             } catch (Exception e) {\r
+//                     e.printStackTrace();\r
+//             }\r
+\r
                SessionUtil.logout();\r
                Executions.sendRedirect("/");\r
        }\r
@@ -126,8 +136,7 @@ public class MenuModel extends BaseModel {
 \r
        @Command\r
        public void applyTheme(@BindingParam("name") String name) {\r
-               Themes.setTheme(Executions.getCurrent(), name);\r
-               SessionUtil.setAttribute("theme", name);\r
+               SessionUtil.applyTheme(name);\r
                Executions.sendRedirect("");\r
        }\r
 \r
index 8282361db98d74902b1c6dce974405906590088f..24a10be9b3835d6f7f3bc6b60ab9527fb7e8963c 100644 (file)
@@ -1,11 +1,15 @@
 package user.jobengine.zk.util;\r
 \r
+import java.util.Arrays;\r
 import java.util.Map;\r
+import java.util.Optional;\r
+\r
+import javax.servlet.http.Cookie;\r
+import javax.servlet.http.HttpServletRequest;\r
 \r
 import org.zkoss.zk.ui.Executions;\r
 import org.zkoss.zk.ui.Page;\r
 import org.zkoss.zk.ui.util.Initiator;\r
-import org.zkoss.zul.theme.Themes;\r
 \r
 /**\r
  * Ellenorzi, hogy van e beloginelt user, ha nincs, akkor -> login.zul Minden oldal belinkeli ezt az ellenorzest.\r
@@ -14,9 +18,16 @@ public class AuthInitiator implements Initiator {
        @Override\r
        public void doInit(Page page, Map<String, Object> args) throws Exception {\r
                if (!SessionUtil.isAuthenticated()) {\r
-                       String theme = SessionUtil.getMediaCubeConfig().getTheme() == null ? "silvertail" : SessionUtil.getMediaCubeConfig().getTheme();\r
-                       Themes.setTheme(Executions.getCurrent(), theme);\r
-                       SessionUtil.setAttribute("theme", theme);\r
+\r
+                       Cookie[] cookies = ((HttpServletRequest) Executions.getCurrent().getNativeRequest()).getCookies();\r
+                       Optional<Cookie> clientTheme = Arrays.stream(cookies).filter(c -> "mediacube-theme".equals(c.getName())).findFirst();\r
+                       String theme = null;\r
+                       if (clientTheme.isPresent()) {\r
+                               theme = clientTheme.get().getValue();\r
+                       } else {\r
+                               theme = SessionUtil.getMediaCubeConfig().getTheme() == null ? "silvertail" : SessionUtil.getMediaCubeConfig().getTheme();\r
+                       }\r
+                       SessionUtil.applyTheme(theme);\r
                        SessionUtil.redirect("/pages/login.zul");\r
                }\r
        }\r
index 98873c04cf44e59282d8738a4ee26782d07016e6..47bc97d36f2ba1c43f71edc5e68900da2edb43ce 100644 (file)
@@ -7,7 +7,9 @@ import java.util.Collections;
 import java.util.List;\r
 import java.util.Map;\r
 \r
+import javax.servlet.http.Cookie;\r
 import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\r
 import javax.servlet.http.HttpSession;\r
 import javax.xml.bind.DatatypeConverter;\r
 \r
@@ -22,6 +24,7 @@ import org.zkoss.zk.ui.event.Event;
 import org.zkoss.zk.ui.event.EventListener;\r
 import org.zkoss.zk.ui.event.EventQueues;\r
 import org.zkoss.zk.ui.util.Clients;\r
+import org.zkoss.zul.theme.Themes;\r
 \r
 import com.ibm.nosql.json.api.BasicDBList;\r
 import com.ibm.nosql.json.api.BasicDBObject;\r
@@ -435,4 +438,12 @@ public class SessionUtil implements GlobalConstants {
                Map<String, Object> params = ListUtils.asMap("msg", String.format(FMT_NOTIF, msg), "type", "warning");\r
                BindUtils.postGlobalCommand(null, null, "showMessage", params);\r
        }\r
+\r
+       public static void applyTheme(String theme) {\r
+               HttpServletResponse response = (HttpServletResponse) Executions.getCurrent().getNativeResponse();\r
+               Cookie themeCookie = new Cookie("mediacube-theme", theme);\r
+               response.addCookie(themeCookie);\r
+               Themes.setTheme(Executions.getCurrent(), theme);\r
+               setAttribute("theme", theme);\r
+       }\r
 }
\ No newline at end of file