################################################################################\r
\r
/server\r
+/server - 230225/
<setEntry value="com.sun.jna.platform@default:default"/>\r
<setEntry value="com.sun.jna@default:default"/>\r
<setEntry value="groovy@default:default"/>\r
- <setEntry value="hu.user.zk.theme.userdark@default:default"/>\r
<setEntry value="javax.annotation-api@default:default"/>\r
<setEntry value="javax.mail@default:default"/>\r
<setEntry value="javax.servlet-api@default:default"/>\r
<setEntry value="org.omnifaces@default:default"/>\r
<setEntry value="slf4j.api@default:default"/>\r
<setEntry value="slf4j.simple@default:false"/>\r
+ <setEntry value="user.theme.userdark@default:default"/>\r
</setAttribute>\r
<setAttribute key="selected_workspace_bundles">\r
- <setEntry value="hu.user.theme.userdark@default:default"/>\r
<setEntry value="user.commons.zk@default:default"/>\r
<setEntry value="user.jobengine.log4j@1:true"/>\r
<setEntry value="user.jobengine.osgi.commons@default:true"/>\r
<plugin id="org.objectweb.asm.tree"/>\r
<plugin id="org.objectweb.asm.commons"/>\r
<plugin id="com.sun.jna.platform"/>\r
+ <plugin id="user.theme.userdark"/>\r
</includeBundles>\r
<environment>\r
<os>win32</os>\r
<packaging>jar</packaging>\r
</configuration>\r
</execution>\r
-<!-- \r
<execution>\r
<id>install3</id>\r
<phase>package</phase>\r
</goals>\r
<configuration>\r
<file>libs/userdark-1.0.0.jar</file>\r
- <groupId>hu.user.zk.theme</groupId>\r
+ <groupId>user.theme</groupId>\r
<artifactId>userdark</artifactId>\r
<version>1.0.0</version>\r
<packaging>jar</packaging>\r
</configuration>\r
</execution>\r
---> \r
</executions>\r
</plugin>\r
<plugin>\r
<id>default-cli</id>\r
<configuration>\r
<artifacts>\r
-<!-- <artifact>\r
- <id>hu.user.zk.theme:userdark:1.0.0</id>\r
+ <artifact>\r
+ <id>user.theme:userdark:1.0.0</id>\r
</artifact>\r
---> \r
<artifact>\r
<id>org.apache.felix:org.apache.felix.gogo.command:0.12.0</id>\r
</artifact>\r
<plugin id="com.sun.jna"/>\r
<plugin id="com.sun.jna.platform"/>\r
<plugin id="groovy"/>\r
- <plugin id="hu.user.theme.userdark"/>\r
<plugin id="javax.annotation-api"/>\r
<plugin id="javax.mail"/>\r
<plugin id="javax.servlet-api"/>\r
<plugin id="user.jobengine.osgi.services"/>\r
<plugin id="user.mediacube.gui"/>\r
<plugin id="user.mediacube.metadata"/>\r
+ <plugin id="user.theme.userdark"/>\r
<plugin id="user.tsm.client"/>\r
</plugins>\r
\r
-theme: userdark\r
+#theme: userdark\r
jobQueuePollInterval: 1000\r
searchResultsListCacheSize: 200\r
disableHelp: true\r
<version>8.0.3</version>\r
<build>\r
<plugins>\r
+ <plugin>\r
+ <groupId>org.apache.maven.plugins</groupId>\r
+ <artifactId>maven-install-plugin</artifactId>\r
+ <version>2.4</version>\r
+ <executions>\r
+ <execution>\r
+ <id>install_0</id>\r
+ <phase>package</phase>\r
+ <goals>\r
+ <goal>install-file</goal>\r
+ </goals>\r
+ <configuration>\r
+ <file>lib/zk.jar</file>\r
+ <groupId>org.zkoss.zk</groupId>\r
+ <artifactId>zk</artifactId>\r
+ <version>${version}</version>\r
+ <packaging>jar</packaging>\r
+ </configuration>\r
+ </execution>\r
+ <execution>\r
+ <id>install_1</id>\r
+ <phase>package</phase>\r
+ <goals>\r
+ <goal>install-file</goal>\r
+ </goals>\r
+ <configuration>\r
+ <file>lib/zul.jar</file>\r
+ <groupId>org.zkoss.zk</groupId>\r
+ <artifactId>zul</artifactId>\r
+ <version>${version}</version>\r
+ <packaging>jar</packaging>\r
+ </configuration>\r
+ </execution>\r
+ <execution>\r
+ <id>install_2</id>\r
+ <phase>package</phase>\r
+ <goals>\r
+ <goal>install-file</goal>\r
+ </goals>\r
+ <configuration>\r
+ <file>lib/zkmax.jar</file>\r
+ <groupId>org.zkoss.zk</groupId>\r
+ <artifactId>zkmax</artifactId>\r
+ <version>${version}</version>\r
+ <packaging>jar</packaging>\r
+ </configuration>\r
+ </execution>\r
+ \r
+ </executions>\r
+ </plugin>\r
+ \r
<plugin>\r
<groupId>org.apache.maven.plugins</groupId>\r
<artifactId>maven-resources-plugin</artifactId>\r
</plugin>\r
</plugins>\r
</build>\r
-</project>
\ No newline at end of file
+</project>\r
+\r
+\r
user.commons.zk;bundle-version="1.0.0",
org.apache.servicemix.bundles.quartz;bundle-version="2.3.0",
user.jobengine.osgi.server,
- hu.user.theme.userdark;bundle-version="1.0.0"
+ user.theme.userdark;bundle-version="1.0.0"
Export-Package: user.jobengine.gui
DynamicImport-Package: *
Bundle-ClassPath: .
.toastjs-container {
position: absolute; /* Fallback */
position: fixed;
- top: 200px;
- left: 30px;
+ top: 5px;
+ left: 300px;
width: calc(100% - 60px);
max-width: 400px;
<!DOCTYPE xml>\r
<zk xmlns:w="http://www.zkoss.org/2005/zk/client">\r
<style src="/css/archivum.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
<zscript>\r
<![CDATA[\r
// Chrome F5 bug workaround (miscalculates 100% width on second refresh)\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 width="${myWidth}" height="${myHeight}"> -->\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 height="100%" width="100%" align="center" pack="left">\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
<center border="0">\r
<include id="includeContent" src="@load(im.page)" />\r
</center>\r
-<!-- <east> -->\r
+ <east>\r
<!-- <sidewindow /> -->\r
-<!-- </east> -->\r
+ </east>\r
</borderlayout>\r
</window>\r
</zk>\r
+++ /dev/null
-<?init class="user.jobengine.zk.util.AuthInitiator"?>\r
-\r
-<!DOCTYPE xml>\r
-<zk>\r
- <style src="/css/archivum.css" />\r
- <zscript><![CDATA[\r
- // Chrome F5 bug workaround (miscalculates 100% width on second refresh)\r
- void onClientInfo(ClientInfoEvent evt) {\r
- int myHeight = evt.getScreenHeight();\r
- int myWidth = evt.getScreenWidth();\r
- }\r
- \r
- void resizeComp(org.zkoss.zk.ui.Component toResize){\r
- org.zkoss.zk.ui.util.Clients.resize(toResize);\r
- }\r
- \r
- public void clearErrorMsg(Component comp){\r
- if(comp != null && comp.getErrorMessage() != null){\r
- //comp.setErrorMessage(comp.getErrorMessage().replaceAll("aaaa.nn.jj","éééé.hh.nn"));\r
- comp.setErrorMessage("Hibás érték! (ÉÉÉÉ.HH.NN)");\r
- }\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
- console.log("location: " + document.location);\r
- var param = {\r
- location: document.location,\r
- state: event.state\r
- };\r
- zk.Widget.$('$divMenu').fire('onPopHistory', param, {toServer:true});\r
- }\r
- \r
- zk.afterLoad(function() {\r
- //pushHistory("Keresés", "");\r
- });\r
- zk.afterLoad('zul.grid,zkmax', function() {\r
- var xGrid = {};\r
- zk.override(zul.grid.Grid.prototype, xGrid, {\r
- _setPadSize : function() {\r
- var scrollTopBefore = this.ebody.scrollTop;\r
- var result = xGrid._setPadSize.apply(this, arguments);\r
- this.ebody.scrollTop = scrollTopBefore;\r
- return result;\r
- }\r
- });//zk.override\r
- \r
- });//zk.afterLoad\r
- zk.afterLoad('zul.sel,zkmax', function() {\r
- var xListbox = {};\r
- zk.override(zul.sel.Listbox.prototype, xListbox, {\r
- _setPadSize : function() {\r
- var scrollTopBefore = this.ebody.scrollTop;\r
- var result = xListbox._setPadSize.apply(this, arguments);\r
- this.ebody.scrollTop = scrollTopBefore;\r
- return result;\r
- }\r
- });//zk.override\r
- });//zk.afterLoad\r
- </script>\r
- \r
- <window id="zkwindow" border="none" width="100%" height="100%" contentStyle="padding:0;" onClientInfo="onClientInfo(event)" \r
- viewModel="@id('vm') @init('user.jobengine.zk.model.IndexModel')">\r
- <custom-attributes org.zkoss.zul.image.preload="true" />\r
- <borderlayout width="${myWidth}" height="${myHeight}">\r
- <north border="0">\r
- <div id="divMenu" onPopHistory="@command('popHistory')">\r
- <borderlayout height="50px">\r
- <west border="0">\r
- <hbox height="100%" width="100%" align="center" pack="center" style="background: #008AC8;">\r
- <image src="/img/mediacube_logo_v2_50x50.png" />\r
- <label style="color:#e3e3e3;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">\r
- <hbox height="100%" width="100%" align="bottom" pack="start" style="background: #008AC8;">\r
- </hbox>\r
- </center>\r
- <east border="0">\r
- <hbox height="100%" width="100%" align="bottom" pack="center" style="background: #008AC8;">\r
- <div style="margin-right: 10px">\r
- <label style="color:#e3e3e3; font-size:12px; font-weight:bold; cursor: help;" \r
- 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
- <include src="/pages/menu.zul" />\r
- </div>\r
- </north>\r
- <center border="0">\r
- <include style="background: #e3e3e3;" id="includeContent" src="@load(vm.page)" />\r
- </center>\r
- </borderlayout>\r
- </window>\r
-</zk>\r
<!DOCTYPE xml>\r
\r
<zk xmlns:ca="client/attribute">\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(); }, 3000);\r
- }\r
- </script>\r
<vlayout height="100%" viewModel="@id('jlm') @init('user.jobengine.zk.model.JobEditorModel')">\r
<toolbar>\r
<toolbarbutton label="Futtatás" iconSclass="z-icon-play" onClick="@command('execute')" disabled="${not sessionScope.userPrincipal.admin}" autodisable="self" />\r
<toolbarbutton label="Feladat leállítása" iconSclass="z-icon-times-circle" onClick="@command('cancelSelectedJobs')" \r
disabled="@load(jlm.updatePriorityDisabled)" autodisable="self"/>\r
<separator orient="vertical"/>\r
-<!-- <toolbarbutton label="Futtatás" iconSclass="z-icon-play" onClick="@command('executeJob')" -->\r
-<!-- disabled="${not sessionScope.userPrincipal.admin}" autodisable="self" /> -->\r
<toolbarbutton label="Összes megszakítása" iconSclass="z-icon-stop" onClick="@command('cancelAllJobs')" \r
disabled="${not sessionScope.userPrincipal.admin}" autodisable="self" />\r
\r
<listcell label="@load(each.name)" tooltiptext="@load(each.name)" />\r
<listcell label="@load(each.priority)" />\r
<listcell label="@load(each.related)" tooltiptext="@load(each.related)" />\r
-<!-- <listcell> -->\r
-<!-- <a href="javascript:void(0);" label="@load(each.related)" onClick="@command('searchMedia', item=each)" /> -->\r
-<!-- </listcell> -->\r
<listcell label="@load(each.status)" />\r
<listcell>\r
<progressmeter ca:data-animationspeed="-1" value="@load(each.progress)" width="100%" />\r
-<?page id="jobs"?>\r
<!DOCTYPE xml>\r
-\r
<zk xmlns:w="http://www.zkoss.org/2005/zk/client" xmlns:ca="client/attribute" xmlns:x="xhtml">\r
- <tabbox id="pagesTab" vflex="true" hflex="true" orient="top">\r
- <tabs visible="true">\r
- <tab id="tab0" label="Futó folyamatok" selected="true" />\r
- <tab id="tab1" label="Folyamat szerkesztő" />\r
-<!-- <tab id="tab2" label="Folyamat szerkesztő2" /> -->\r
- </tabs>\r
- <tabpanels>\r
- <tabpanel>\r
+\r
+ <borderlayout width="100%" height="100%">\r
+ <west title="Folyamat szerkesztő" border="none" flex="true" size="40%" splittable="true" collapsible="true" minsize="500"\r
+ onSize="@command('onJobEditorOpen')">\r
+ <groupbox vflex="true" closable="false">\r
+ <include src="/pages/jobeditor.zul" />\r
+ <!-- <include src="/pages/jobeditor2.zul" /> -->\r
+ </groupbox>\r
+ </west>\r
+\r
+ <center title="Futó folyamatok" border="none">\r
+ <groupbox vflex="true" closable="false">\r
<include src="/pages/joblist.zul" />\r
- </tabpanel>\r
- <tabpanel>\r
- <include src="/pages/jobeditor.zul"/>\r
- </tabpanel>\r
-<!-- <tabpanel> -->\r
-<!-- <include src="/pages/jobeditor2.zul" /> -->\r
-<!-- </tabpanel> -->\r
- </tabpanels>\r
- </tabbox>\r
+ </groupbox>\r
+ </center>\r
+ </borderlayout>\r
</zk>
\ No newline at end of file
</menupopup>\r
</menu>\r
<menuitem label="Mini monitor" onClick="@command('createFloatingJobMonitor')" />\r
- <menu label="Megjelenés" disabled="true">\r
+ <menu label="Megjelenés">\r
<menupopup>\r
<menuitem label="Világos" onClick="@command('applyTheme', name='silvertail')" />\r
<menuitem label="Sötét" onClick="@command('applyTheme', name='userdark')" />\r
tags = itemManager.getAllTags();\r
// lekerdezesi hiba\r
if (tags == null)\r
- Clients.showNotification("A cimkék inicializálása sikertelen!", "error", tagsToolbar, "start_center", 3000);\r
+ SessionUtil.showError("A cimkék inicializálása sikertelen.");\r
else\r
setSearchTags();\r
\r
}\r
\r
void ensureVisible(int pos) {\r
- registerTask(() -> {\r
- logger.info("Scrolling to pos {} begin", pos);\r
- List<Component> children = itemsGrid.getRows().getChildren();\r
+ logger.info("Scrolling to pos {} begin", pos);\r
+ List<Component> children = itemsGrid.getRows().getChildren();\r
\r
- if (children.size() > 0) {\r
- Component top = children.get(pos);\r
- Clients.scrollIntoView(top);\r
- logger.info("Scrolled into the {}. row on the page.", pos);\r
- }\r
+ if (children.size() > 0) {\r
+ Component top = children.get(pos);\r
+ Clients.scrollIntoView(top);\r
+ logger.info("Scrolled into the {}. row on the page.", pos);\r
+ }\r
\r
- if (positionToScroll > -1) {\r
- highlight(selectedObject, true);\r
- positionToScroll = -1;\r
- }\r
+ if (positionToScroll > -1) {\r
+ highlight(selectedObject, true);\r
+ positionToScroll = -1;\r
+ }\r
\r
- logger.info("Scrolling to pos {} end", pos);\r
- preventAfterRender = false;\r
- });\r
- timer.start();\r
+ logger.info("Scrolling to pos {} end", pos);\r
+ preventAfterRender = false;\r
+\r
+// registerTask(() -> {\r
+// });\r
+// timer.start();\r
}\r
\r
public Validator getAllFilterCheckedValidator() {\r
ret = base + relative;\r
\r
} catch (Exception e) {\r
- Clients.showNotification(e.getMessage(), "error", btnSearch, "start_center", 3000);\r
+ SessionUtil.showError("Rendszerhiba: " + e.getMessage());\r
}\r
logger.info("Found lowres on store {}, url is {}", store.getName(), ret);\r
break;\r
\r
private void handleSearchError(Exception e) {\r
if (e instanceof NullPointerException)\r
- Clients.showNotification("Database query error!", "error", btnSearch, "start_center", 3000);\r
+ SessionUtil.showError("Adatbázis lekérdezési hiba: NULL objektum.");\r
else\r
- Clients.showNotification(e.getMessage(), "error", btnSearch, "start_center", 3000);\r
+ SessionUtil.showError("Adatbázis lekérdezési hiba: " + e.getMessage());\r
logger.error(e);\r
}\r
\r
}\r
\r
private void showSearchTypeWarning() {\r
- Clients.showNotification(\r
- String.format("Figyelem!<br><br><span style='white-space:nowrap'> A keresés eredménye nem tartalmazza az összes típust.</span>"), "warning",\r
- toggleShowTypeFilters, "end_center", 3000);\r
+ SessionUtil.showWarning("A keresés eredménye nem tartalmazza az összes típust.");\r
}\r
\r
@Command\r
import org.apache.logging.log4j.Logger;\r
import org.zkoss.bind.BindUtils;\r
import org.zkoss.bind.annotation.AfterCompose;\r
+import org.zkoss.bind.annotation.BindingParam;\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.GlobalCommand;\r
import org.zkoss.zk.ui.Component;\r
import org.zkoss.zk.ui.Executions;\r
import org.zkoss.zk.ui.event.ClientInfoEvent;\r
import org.zkoss.zk.ui.event.Event;\r
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
private Map<String, Object> pathMap = ListUtils.asMap("/", "searchitems", "jobs", "jobs", "missingmaterials", "missingmaterials", "newshistory",\r
"newshistory", "edithistory", "edithistory", "statistics", "statistics", "maestro", "maestro", "pwdgen", "pwdgen");\r
\r
+ @Wire\r
+ Hbox appTitle;\r
+\r
@AfterCompose\r
public void afterCompose(@ContextParam(ContextType.VIEW) Component view) {\r
Selectors.wireComponents(view, this, false);\r
BindUtils.postNotifyChange(null, null, this, "page");\r
logger.info("Page set to {}", getPage());\r
}\r
+\r
+ @GlobalCommand()\r
+ public void showMessage(@BindingParam("msg") String msg, String type) {\r
+ Clients.showNotification(msg, type, appTitle, "end_center", 4000);\r
+ // Clients.evalJavaScript(String.format("showToast('%s')", "XXX"));\r
+ }\r
}
\ No newline at end of file
import org.zkoss.zk.ui.Executions;\r
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.Button;\r
import org.zkoss.zul.Checkbox;\r
import org.zkoss.zul.ListModelList;\r
import user.jobengine.server.ast.VariableDeclaration;\r
import user.jobengine.server.ast.VariableName;\r
import user.jobengine.server.scheduler.ScheduledJob;\r
+import user.jobengine.zk.util.SessionUtil;\r
\r
public class JobEditorModel extends BaseModel {\r
private static final String XML = "xml";\r
\r
try {\r
IJobRuntime runtime = scheduledJob.doManualJob();\r
- toast(runtime);\r
+ SessionUtil.showInfo(String.format("A <b>'%s'</b> [%d] folyamat elindult.", runtime.getName(), runtime.getId()));\r
} catch (Exception e) {\r
Messagebox.show(e.getMessage());\r
}\r
logger.info("onCronExpressionChangedChanged");\r
}\r
\r
- private void toast(IJobRuntime runtime) {\r
- Clients.evalJavaScript(String.format("showToast('<b>%s</b> elindítva.</br>ID %d')", runtime.getName(), runtime.getId()));\r
- }\r
-\r
public ListModelList<BasicDBObject> getJobs() {\r
return jobs;\r
}\r
private JobStatus searchStatus;\r
private List<JobStatus> searchStatuses;\r
\r
- // @Wire\r
- // Charts chart;\r
+ // @Wire\r
+ // Charts chart;\r
@Wire\r
Listbox jobsListBox;\r
\r
@Wire\r
Timer timer;\r
\r
- //new LinkedBlockingQueue<IJobMessage>()\r
+ // new LinkedBlockingQueue<IJobMessage>()\r
\r
public JobListModel() {\r
logger.info("Created");\r
@AfterCompose\r
public void afterCompose(@ContextParam(ContextType.VIEW) Component view) {\r
Selectors.wireComponents(view, this, false);\r
- //configureJobsCountChart();\r
+ // configureJobsCountChart();\r
jobsListBox.getPagingChild().setAutohide(false);\r
}\r
\r
\r
}\r
\r
- // private void configureJobsCountChart() {\r
- // Options options = new Options();\r
+ // private void configureJobsCountChart() {\r
+ // Options options = new Options();\r
//\r
- // options.getGlobal().setUseUTC(false);\r
- // //chart.getPlotOptions().\r
+ // options.getGlobal().setUseUTC(false);\r
+ // //chart.getPlotOptions().\r
//\r
- // chart.setHeight(100);\r
- // chart.setOptions(options);\r
- // chart.setAnimation(false);\r
+ // chart.setHeight(100);\r
+ // chart.setOptions(options);\r
+ // chart.setAnimation(false);\r
//\r
- // chart.getXAxis().setType("datetime");\r
- // chart.getXAxis().setTickPixelInterval(80);\r
- // chart.getXAxis().getLabels().setStyle("fontSize: 8px;");\r
- // chart.getXAxis().getLabels().setFormat("{value: %H:%M}");\r
- // chart.getYAxis().setTitle("Darab");\r
- // PlotLine plotLine = new PlotLine();\r
- // plotLine.setValue(0);\r
- // plotLine.setWidth(1);\r
- // plotLine.setColor("#808080");\r
- // chart.getYAxis().setMin(0);\r
- // chart.getYAxis().addPlotLine(plotLine);\r
+ // chart.getXAxis().setType("datetime");\r
+ // chart.getXAxis().setTickPixelInterval(80);\r
+ // chart.getXAxis().getLabels().setStyle("fontSize: 8px;");\r
+ // chart.getXAxis().getLabels().setFormat("{value: %H:%M}");\r
+ // chart.getYAxis().setTitle("Darab");\r
+ // PlotLine plotLine = new PlotLine();\r
+ // plotLine.setValue(0);\r
+ // plotLine.setWidth(1);\r
+ // plotLine.setColor("#808080");\r
+ // chart.getYAxis().setMin(0);\r
+ // chart.getYAxis().addPlotLine(plotLine);\r
//\r
- // chart.getTooltip().setHeaderFormat("<b>{series.name}</b><br/>");\r
- // chart.getTooltip().setPointFormat("{point.x:%Y-%m-%d %H:%M:%S}<br>{point.y}");\r
+ // chart.getTooltip().setHeaderFormat("<b>{series.name}</b><br/>");\r
+ // chart.getTooltip().setPointFormat("{point.x:%Y-%m-%d %H:%M:%S}<br>{point.y}");\r
//\r
- // chart.getLegend().setEnabled(false);\r
- // chart.getExporting().setEnabled(false);\r
+ // chart.getLegend().setEnabled(false);\r
+ // chart.getExporting().setEnabled(false);\r
//\r
- // Series series = chart.getSeries();\r
- // series.setName("Feladatok");\r
- // //updateJobsChart();\r
+ // Series series = chart.getSeries();\r
+ // series.setName("Feladatok");\r
+ // //updateJobsChart();\r
//\r
- // int size = jobList.size();\r
- // for (int i = -19; i <= 0; i++) {\r
- // Point point = new Point(Calendar.getInstance().getTimeInMillis() + i * 1000, size);\r
- // series.addPoint(point);\r
- // }\r
- // }\r
+ // int size = jobList.size();\r
+ // for (int i = -19; i <= 0; i++) {\r
+ // Point point = new Point(Calendar.getInstance().getTimeInMillis() + i * 1000, size);\r
+ // series.addPoint(point);\r
+ // }\r
+ // }\r
\r
@Command\r
public void copyRelated(@BindingParam("related") String related) {\r
@Override\r
protected void doKeepAlive() {\r
if (jobEngine.keepAliveJobChangedListener(this)) {\r
- //ujra hozzadadtuk, refresh\r
+ // ujra hozzadadtuk, refresh\r
initializeList();\r
}\r
}\r
\r
- @Command\r
- public void executeJob() {\r
- String template = "/pages/jobselector.zul";\r
- Window window = (Window) Executions.createComponents(template, null, ListUtils.asMap("jobEngine", jobEngine));\r
- window.doModal();\r
- }\r
+// @Command\r
+// public void executeJob() {\r
+// String template = "/pages/jobselector.zul";\r
+// Window window = (Window) Executions.createComponents(template, null, ListUtils.asMap("jobEngine", jobEngine));\r
+// window.doModal();\r
+// }\r
\r
public ListModelList<IJob> getJobList() {\r
return jobList;\r
@Override\r
public void jobChanged(JobChangedEvent event) {\r
\r
- //az update mehet\r
- // if ((searchText != null && searchText.trim().length() > 4) || searchStatus != null)\r
- // return;\r
+ // az update mehet\r
+ // if ((searchText != null && searchText.trim().length() > 4) || searchStatus != null)\r
+ // return;\r
\r
JobChangedEvent jobEvent = event;\r
final IJobRuntime job = jobEvent.getJob();\r
logger.info("{}", event.getDesktopWidth());\r
}\r
\r
- // private void updateJobsChart() {\r
- // chart.getSeries().addPoint(new Point(Calendar.getInstance().getTimeInMillis(), jobList.size()), true, true, true);\r
- // }\r
+ // private void updateJobsChart() {\r
+ // chart.getSeries().addPoint(new Point(Calendar.getInstance().getTimeInMillis(), jobList.size()), true, true, true);\r
+ // }\r
\r
private void onJobCreated(IJobRuntime job) {\r
jobList.add(job);\r
notifyChange("jobList");\r
- //updateJobsChart();\r
+ // updateJobsChart();\r
}\r
\r
- // @Command\r
- // public void restart() {\r
- // startupDisabled = true;\r
- // try {\r
- // jobEngine.startup();\r
- // } catch (Exception e) {\r
- // }\r
- // shutdownDisabled = false;\r
- // initializeList();\r
- // }\r
+ // @Command\r
+ // public void restart() {\r
+ // startupDisabled = true;\r
+ // try {\r
+ // jobEngine.startup();\r
+ // } catch (Exception e) {\r
+ // }\r
+ // shutdownDisabled = false;\r
+ // initializeList();\r
+ // }\r
\r
private void onJobDeleted(IJobRuntime job) {\r
- // selectedJobs.remove(job);\r
- // NotifyChange("selectedJobs");\r
+ // selectedJobs.remove(job);\r
+ // NotifyChange("selectedJobs");\r
boolean notifyAfter = jobList.getSelection().contains(job);\r
jobList.removeFromSelection(job);\r
jobList.remove(job);\r
onSelect();\r
\r
notifyChange("jobList");\r
- //updateJobsChart();\r
+ // updateJobsChart();\r
}\r
\r
private void onJobUpdated(IJobRuntime job) {\r
- //List<IJobRuntime> savedSelectedJobs = new ArrayList<>(selectedJobs);\r
+ // List<IJobRuntime> savedSelectedJobs = new ArrayList<>(selectedJobs);\r
jobList.notifyChange(job);\r
}\r
\r
logger.info("Search {}", searchText);\r
String trimmedSearchText = StringUtils.trim(searchText);\r
if (trimmedSearchText.length() < 4) {\r
- Messagebox.show("Minimum 4 karakter begépelése szükséges a kereséshez.", "Figyelmeztetés", Messagebox.OK, Messagebox.INFORMATION);\r
+ SessionUtil.showWarning("Minimum 4 karakter begépelése szükséges a kereséshez.");\r
return;\r
}\r
\r
- //kereses a futo folyamatok kozott\r
+ // kereses a futo folyamatok kozott\r
List<IJob> filteredList = jobList.stream().filter(j -> {\r
return j.getRelated() != null && j.getRelated().toLowerCase().contains(formattedSearchText);\r
}).collect(toList());\r
\r
- //ha nincs futo folyamat, akkor historybol\r
+ // ha nincs futo folyamat, akkor historybol\r
if (filteredList.size() == 0)\r
filteredList = jobEngine.getItemManager().getJobsHistory(formattedSearchText);\r
\r
if (filteredList == null || filteredList.size() == 0) {\r
- Messagebox.show("Nincs találat.", "Figyelmeztetés", Messagebox.OK, Messagebox.INFORMATION);\r
+ SessionUtil.showInfo("Nincs találat.");\r
return;\r
}\r
\r
- //delete selection\r
+ // delete selection\r
Set<IJob> selectedItems = jobList.getSelection();\r
for (IJob item : selectedItems)\r
jobList.removeFromSelection(item);\r
\r
- //add\r
+ // add\r
jobList.clear();\r
jobList.addAll(filteredList);\r
}\r
import org.apache.commons.lang.StringUtils;\r
import org.apache.logging.log4j.LogManager;\r
import org.apache.logging.log4j.Logger;\r
+import org.zkoss.bind.BindUtils;\r
import org.zkoss.zk.ui.Executions;\r
import org.zkoss.zk.ui.Session;\r
import org.zkoss.zk.ui.Sessions;\r
import com.ibm.nosql.json.api.BasicDBObject;\r
import com.ibm.nosql.json.api.QueryBuilder;\r
\r
+import user.commons.ListUtils;\r
import user.commons.configuration.IConfiguration;\r
import user.commons.nosql.NoSQLUtils;\r
import user.jobengine.gui.ComponentBinder;\r
public static final String GUI_STAT_DISABLE = "gui.statistics.disable";\r
public static final String GUI_HELP_DISABLE = "gui.help.disable";\r
public static final String GUI_EDITOR_DISABLE = "gui.editor.disable";\r
+ private static final String FMT_NOTIF = "<div style='white-space:nowrap'>%s</div>";\r
\r
// private static MediaCubeConfig mediaCubeConfig;\r
//\r
public static void unsubscribe(EventListener<Event> eventListener) {\r
EventQueues.lookup(EVENTQUEUE_NAME, EventQueues.APPLICATION, false).unsubscribe(eventListener);\r
}\r
+\r
+ public static void showError(String msg) {\r
+ Map<String, Object> params = ListUtils.asMap("msg", String.format(FMT_NOTIF, msg, "type", "error"));\r
+ BindUtils.postGlobalCommand(null, null, "showMessage", params);\r
+ }\r
+\r
+ public static void showInfo(String msg) {\r
+ Map<String, Object> params = ListUtils.asMap("msg", String.format(FMT_NOTIF, msg), "type", "info");\r
+ BindUtils.postGlobalCommand(null, null, "showMessage", params);\r
+ }\r
+\r
+ public static void showWarning(String msg) {\r
+ Map<String, Object> params = ListUtils.asMap("msg", String.format(FMT_NOTIF, msg), "type", "warning");\r
+ BindUtils.postGlobalCommand(null, null, "showMessage", params);\r
+ }\r
}
\ No newline at end of file