<%@ page import="java.util.*, java.io.*, java.net.*, user.jobengine.zk.util.SessionUtil, org.apache.logging.log4j.*"%>\r
<link rel="shortcut icon" href="/img/mediacube_logo_small.ico">\r
<%\r
- String targetPath = "/pages/index.zul";\r
- String queryString = request.getQueryString();\r
- if (queryString != null)\r
- targetPath += "?" + queryString;\r
- LogManager.getLogger().info("Forwaring to {}", targetPath);\r
- pageContext.forward(targetPath);\r
+// String targetPath = "/pages/index.zul";\r
+// String queryString = request.getQueryString();\r
+// if (queryString != null)\r
+// targetPath += "?" + queryString;\r
+// LogManager.getLogger().info("Forwaring to {}", targetPath);\r
+\r
+ pageContext.forward("/pages/index.zul");\r
%>
\ No newline at end of file
//console.log('URL is: <%=mediaURL%> ');\r
</script>\r
<center>\r
- <video id="myVideoDiv"\r
- class="video-js vjs-default-skin vjs-big-play-centered"\r
+ <video id="myVideoDiv" class="video-js vjs-default-skin vjs-big-play-centered"\r
<%if (poster != null && !poster.isEmpty()) {%> \r
poster="<%=poster%>"\r
<%}%>>\r
+ <%if (mediaURL != null && !mediaURL.isEmpty()) {%> \r
+ poster="<%=poster%>"\r
+ <%}%>>\r
<source src="<%=mediaURL%>" type='video/mp4'>\r
<!--source src="/zk/media_oceans.mp4" type='video/mp4' -->\r
<!--source src="MY_VIDEO.webm" type='video/webm' -->\r
</popup>\r
<groupbox vflex="true" closable="false">\r
<grid id="itemsGrid" sizedByContent="false" span="true" vflex="true" hflex="true" mold="paging" autopaging="false"\r
- model="@load(vm.searchResult)" activePage="@bind(vm.activePage)" emptyMessage="Nincs találat!" onAfterRender="@command('onPaging')" pageSize="50"\r
+ model="@load(vm.searchResult)" emptyMessage="Nincs találat!" onAfterRender="@command('onPaging')" pageSize="50"\r
style="border: none; background: white !important;" oddRowSclass="listbox-odd-style">\r
<columns>\r
<column hflex="min">\r
package user.jobengine.zk.model;\r
\r
+import java.util.Arrays;\r
import java.util.Map;\r
\r
import org.apache.logging.log4j.LogManager;\r
import org.zkoss.bind.annotation.ContextParam;\r
import org.zkoss.bind.annotation.ContextType;\r
import org.zkoss.zk.ui.Component;\r
-import org.zkoss.zk.ui.Execution;\r
import org.zkoss.zk.ui.Executions;\r
import org.zkoss.zk.ui.event.Event;\r
import org.zkoss.zk.ui.select.Selectors;\r
public class IndexModel extends BaseModel {\r
private static final Logger logger = LogManager.getLogger();\r
\r
- static public void redirect(String path) {\r
- String query = IndexModel.toQueryString(Executions.getCurrent().getParameterMap());\r
- if (query != null)\r
- path += query;\r
- logger.info("Redirecting to {}", path);\r
- Executions.sendRedirect(path);\r
- }\r
-\r
- static public BasicDBObject toParamObject(Map<String, String[]> parameters) {\r
- BasicDBObject result = null;\r
- if (parameters != null && parameters.size() > 0) {\r
- result = new BasicDBObject();\r
- for (String key : parameters.keySet()) {\r
- result.put(key, parameters.get(key)[0]);\r
- //logger.info("{}:{}", key, parameters.get(key)[0]);\r
- }\r
- }\r
- return result;\r
- }\r
-\r
- static public String toQueryString(Map<String, String[]> parameters) {\r
- String result = null;\r
- if (parameters != null && parameters.size() > 0) {\r
- StringBuilder sb = new StringBuilder("?");\r
- for (String key : parameters.keySet()) {\r
- if (sb.length() > 1)\r
- sb.append("&");\r
- sb.append(key);\r
- sb.append("=");\r
- sb.append(parameters.get(key)[0]);\r
- //logger.info("{}:{}", key, parameters.get(key)[0]);\r
- }\r
- result = sb.toString();\r
- }\r
- return result;\r
- }\r
+ // static public BasicDBObject toParamObject(Map<String, String[]> parameters) {\r
+ // BasicDBObject result = null;\r
+ // if (parameters != null && parameters.size() > 0) {\r
+ // result = new BasicDBObject();\r
+ // for (String key : parameters.keySet()) {\r
+ // result.put(key, parameters.get(key)[0]);\r
+ // //logger.info("{}:{}", key, parameters.get(key)[0]);\r
+ // }\r
+ // }\r
+ // return result;\r
+ // }\r
+ //\r
\r
private String page;\r
\r
public void afterCompose(@ContextParam(ContextType.VIEW) Component view) {\r
Selectors.wireComponents(view, this, false);\r
Selectors.wireEventListeners(view, this);\r
-\r
- Execution execution = Executions.getCurrent();\r
- String action = execution.getParameter("action");\r
- Map<String, String[]> parameters = execution.getParameterMap();\r
- route(action, toQueryString(parameters), true);\r
-\r
+ route(Executions.getCurrent().getParameter("action"), SessionUtil.getQueryString(Arrays.asList("action")));\r
SessionUtil.setAttribute(IndexModel.class.getCanonicalName(), this);\r
}\r
\r
BasicDBObject h = SessionUtil.popHistory();\r
if (h == null)\r
return;\r
- route(h.getString("action"), h.getString("query"), h.getBoolean("useQueryString"));\r
+ route(h.getString("action"), h.getString("query"));\r
}\r
\r
- public void pushClientHistory(String action, String query, boolean useQueryString) {\r
- if (!action.equals("/"))\r
- action = "/actions/" + action;\r
- if (useQueryString && query != null)\r
- action += query;\r
- Clients.evalJavaScript(String.format("window.history.pushState('%s', null, '%s');", query, action));\r
- logger.info("Pushed to client: {} {}", action, query);\r
+ public void pushClientHistory(String action, String query) {\r
+ String realAction = action.equals("/") ? action : "/actions/" + action;\r
+ realAction += query;\r
+ Clients.evalJavaScript(String.format("window.history.pushState(null, null, '%s');", realAction));\r
+ logger.info("Pushed to client: {}", realAction);\r
}\r
\r
- public void route(String action, String query, boolean useQueryString) {\r
- // HttpServletRequest r = (HttpServletRequest) Executions.getCurrent().getNativeRequest();\r
- // String pathInfo = r.getPathInfo();\r
+ public void route(String action, String query) {\r
String actionString = action == null ? "/" : action;\r
String page = (String) pathMap.get(actionString);\r
- if (useQueryString && query != null)\r
- page = String.format("/pages/%s.zul?%s", page, query);\r
+ if (query != null)\r
+ page = String.format("/pages/%s.zul%s", page, query);\r
else\r
page = String.format("/pages/%s.zul", page);\r
setPage(page);\r
- pushClientHistory(actionString, query, useQueryString);\r
- SessionUtil.pushHistory(actionString, query, useQueryString);\r
+ pushClientHistory(actionString, query);\r
+ SessionUtil.pushHistory(actionString, query);\r
}\r
\r
public void setPage(String page) {\r
\r
@AfterCompose\r
public void afterCompose(@ContextParam(ContextType.VIEW) Component view) {\r
- query = IndexModel.toQueryString(Executions.getCurrent().getParameterMap());\r
+ query = SessionUtil.getQueryString();\r
}\r
\r
@Command\r
setMessage("Hibás fiókadatok!");\r
return;\r
}\r
- String path = "/";\r
- if (query != null)\r
- path += query;\r
- Executions.sendRedirect(path);\r
+\r
+ Executions.sendRedirect("/" + query);\r
}\r
\r
public String getAccount() {\r
public void navigate(@BindingParam("action") String action) {\r
IndexModel indexModel = (IndexModel) SessionUtil.getAttribute(IndexModel.class.getCanonicalName());\r
if (indexModel != null) {\r
- indexModel.route(action, null, false);\r
+ indexModel.route(action, null);\r
}\r
}\r
\r
import org.zkoss.zk.ui.event.SortEvent;\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.Checkbox;\r
import org.zkoss.zul.Column;\r
import org.zkoss.zul.Detail;\r
private Validator allFilterCheckedValidator;\r
private Validator itemSelectedValidator;\r
private boolean allChecked = true;\r
- private int activePage;\r
private boolean rowsExpanded = true;\r
private boolean allSelected;\r
\r
Selectors.wireComponents(view, this, false);\r
Selectors.wireEventListeners(view, this);\r
itemsGrid.getPagingChild().setAutohide(false);\r
+ itemsGrid.getPaginal().addEventListener("onPaging ", pe -> {\r
+ logger.info("PAGING");\r
+ });\r
for (Component child : itemsGrid.getColumns().getChildren()) {\r
Column column = (Column) child;\r
column.addEventListener("onSort", evt -> doSort(evt));\r
}\r
\r
@Command\r
- @NotifyChange({ "activePage", "searchResult", "selectedObject", "hasLowresMediaFile", "lowresMediaFilePath" })\r
+ @NotifyChange({ "searchResult", "selectedObject", "hasLowresMediaFile", "lowresMediaFilePath" })\r
public void doSearch() {\r
try {\r
this.selectedObject = null;\r
orderBy = columnHeaders.get(column.getLabel());\r
orderAscending = evt.isAscending();\r
doSearch();\r
- NotifyChange("activePage", "searchResult", "selectedObject", "hasLowresMediaFile", "lowresMediaFilePath");\r
+ NotifyChange("searchResult", "selectedObject", "hasLowresMediaFile", "lowresMediaFilePath");\r
\r
evt.stopPropagation();\r
}\r
model.selectArchivedMedia(this.selectedObject, true);\r
}\r
\r
- public int getActivePage() {\r
- return activePage;\r
- }\r
-\r
public Validator getAllFilterCheckedValidator() {\r
return allFilterCheckedValidator;\r
}\r
\r
@Command\r
public void onPaging() {\r
- // if (rows != null)\r
- // Clients.scrollIntoView(rows);\r
+ if (rows != null)\r
+ Clients.scrollIntoView(rows);\r
}\r
\r
@Command\r
highlight(this.selectedObject, true);\r
}\r
\r
- public void setActivePage(int activePage) {\r
- this.activePage = activePage;\r
- }\r
-\r
@NotifyChange("typeFilters")\r
public void setAllChecked(boolean allChecked) {\r
this.allChecked = allChecked;\r
import org.zkoss.zk.ui.Page;\r
import org.zkoss.zk.ui.util.Initiator;\r
\r
-import user.jobengine.zk.model.IndexModel;\r
-\r
public class AdminAuthInitiator implements Initiator {\r
\r
@Override\r
public void doInit(Page page, Map<String, Object> args) throws Exception {\r
if (!SessionUtil.isAuthenticated())\r
- IndexModel.redirect("/pages/login.jsp");\r
+ SessionUtil.redirect("/pages/login.zul");\r
\r
if (!SessionUtil.isAdmin())\r
- IndexModel.redirect("/pages/access-denied.zul");\r
+ SessionUtil.redirect("/pages/access-denied.zul");\r
}\r
\r
}
\ No newline at end of file
import org.zkoss.zk.ui.Page;\r
import org.zkoss.zk.ui.util.Initiator;\r
\r
-import user.jobengine.zk.model.IndexModel;\r
-\r
/**\r
* Ellenorzi, hogy van e beloginelt user, ha nincs, akkor -> login.zul Minden oldal belinkeli ezt az ellenorzest.\r
*/\r
@Override\r
public void doInit(Page page, Map<String, Object> args) throws Exception {\r
if (!SessionUtil.isAuthenticated())\r
- IndexModel.redirect("/pages/login.jsp");\r
+ SessionUtil.redirect("/pages/login.zul");\r
}\r
\r
}
\ No newline at end of file
import java.io.InputStream;\r
import java.util.ArrayList;\r
import java.util.List;\r
+import java.util.Map;\r
import java.util.Properties;\r
\r
+import javax.servlet.http.HttpServletRequest;\r
import javax.servlet.http.HttpSession;\r
\r
import org.apache.logging.log4j.LogManager;\r
import org.apache.logging.log4j.Logger;\r
+import org.zkoss.zk.ui.Executions;\r
import org.zkoss.zk.ui.Session;\r
import org.zkoss.zk.ui.Sessions;\r
\r
//setAttribute(SessionUtil.USERPRINCIPAL, null);\r
}\r
\r
+ static public void dumpQueryString() {\r
+ HttpServletRequest request = (HttpServletRequest) Executions.getCurrent().getNativeRequest();\r
+ logger.info(request.getQueryString());\r
+ }\r
+\r
static public Object getAttribute(String name) {\r
//HttpSession session = (HttpSession) (Executions.getCurrent()).getDesktop().getSession().getNativeSession();\r
Session zkSession = Sessions.getCurrent();\r
return cfg;\r
}\r
\r
+ static public String getQueryString() {\r
+ HttpServletRequest request = (HttpServletRequest) Executions.getCurrent().getNativeRequest();\r
+ String result = request.getQueryString();\r
+ result = result == null ? "" : "?" + result;\r
+ return result;\r
+ }\r
+\r
+ static public String getQueryString(List<String> exclude) {\r
+ String result = "";\r
+ HttpServletRequest request = (HttpServletRequest) Executions.getCurrent().getNativeRequest();\r
+ Map<String, String[]> parameters = request.getParameterMap();\r
+ if (parameters != null && parameters.size() > 0) {\r
+ StringBuilder sb = new StringBuilder();\r
+ for (String key : parameters.keySet()) {\r
+ if (exclude.contains(key))\r
+ continue;\r
+ if (sb.length() == 0)\r
+ sb.append("?");\r
+ if (sb.length() > 1)\r
+ sb.append("&");\r
+ sb.append(key);\r
+ sb.append("=");\r
+ sb.append(parameters.get(key)[0]);\r
+ }\r
+ result = sb.toString();\r
+ }\r
+ return result;\r
+ }\r
+\r
static public UserPrincipal getUserPrincipal() {\r
return (UserPrincipal) getAttribute(USERPRINCIPAL);\r
}\r
}\r
\r
@SuppressWarnings("unchecked")\r
- static public void pushHistory(String action, String query, boolean useQueryString) {\r
+ static public void pushHistory(String action, String query) {\r
List<BasicDBObject> history = (List<BasicDBObject>) getAttribute(HISTORY);\r
if (history == null)\r
history = new ArrayList<>();\r
\r
setAttribute(HISTORY, history);\r
- history.add(new BasicDBObject("action", action).append("query", query).append("useQueryString", useQueryString));\r
+ history.add(new BasicDBObject("action", action).append("query", query));\r
+ }\r
+\r
+ static public void redirect(String path) {\r
+ Executions.sendRedirect(path + getQueryString());\r
}\r
\r
static public void registerJobChangedListener(IJobChangedListener listener) {\r
if (session != null)\r
session.setAttribute(name, obj);\r
}\r
+\r
}
\ No newline at end of file
import org.zkoss.zk.ui.Page;\r
import org.zkoss.zk.ui.util.Initiator;\r
\r
-import user.jobengine.zk.model.IndexModel;\r
-\r
public class SubmitterAuthInitiator implements Initiator {\r
\r
@Override\r
public void doInit(Page page, Map<String, Object> args) throws Exception {\r
if (!SessionUtil.isAuthenticated())\r
- IndexModel.redirect("/pages/login.jsp");\r
+ SessionUtil.redirect("/pages/login.zul");\r
\r
if (!SessionUtil.isSubmitter())\r
- IndexModel.redirect("/pages/access-denied.zul");\r
+ SessionUtil.redirect("/pages/access-denied.zul");\r
}\r
\r
}
\ No newline at end of file