List of usage examples for org.apache.wicket.ajax AjaxRequestTarget appendJavaScript
void appendJavaScript(CharSequence javascript);
If the javascript needs to do something asynchronously (i.e.
From source file:org.apache.openmeetings.web.room.menu.ActionsSubMenu.java
License:Apache License
private static void download(AjaxRequestTarget target, String type) { target.appendJavaScript(String.format("WbArea.download('%s');", type)); }
From source file:org.apache.openmeetings.web.room.NetTestPanel.java
License:Apache License
@Override protected void onInitialize() { super.onInitialize(); add(new OmAjaxClientInfoBehavior() { private static final long serialVersionUID = 1L; @Override// w w w . jav a 2 s. c om protected void onClientInfo(AjaxRequestTarget target, WebClientInfo info) { super.onClientInfo(target, info); target.appendJavaScript(String.format("NetTest.init(%s);", getStringLabels())); } }); }
From source file:org.apache.openmeetings.web.room.poll.PollResultsDialog.java
License:Apache License
public void updateModel(AjaxRequestTarget target, boolean moderator) { selForm.updateModel(target);/* w w w.j a v a2 s.co m*/ this.moderator = moderator; RoomPoll p = selForm.select.getModelObject(); dispForm.updateModel(p, false, target); StringBuilder builder = new StringBuilder(); builder.append("$('#").append(PollResultsDialog.this.getMarkupId()) .append("').on('dialogopen', function( event, ui ) {"); builder.append(getScript(barChart(p))); builder.append("});"); target.appendJavaScript(builder.toString()); }
From source file:org.apache.openmeetings.web.room.sidebar.RoomFilePanel.java
License:Apache License
@Override public void select(BaseFileItem fi, AjaxRequestTarget target, boolean shift, boolean ctrl) { super.select(fi, target, shift, ctrl); if (target != null) { target.appendJavaScript("Room.setSize();"); }//from w ww. j a va 2 s . co m }
From source file:org.apache.openmeetings.web.room.wb.WbPanel.java
License:Apache License
@Override protected void processWbAction(WbAction a, JSONObject obj, AjaxRequestTarget target) throws IOException { Client c = rp.getClient();// www . ja v a2 s . co m if (c == null) { return; } switch (a) { case createObj: case modifyObj: { JSONObject o = obj.optJSONObject("obj"); if (o != null && "pointer".equals(o.getString(ATTR_TYPE))) { sendWbOthers(a, obj); return; } } break; case downloadPdf: { boolean moder = c.hasRight(Room.Right.moderator); Room r = rp.getRoom(); if ((moder && !r.isHidden(RoomElement.ActionMenu)) || (!moder && r.isAllowUserQuestions())) { try (PDDocument doc = new PDDocument()) { JSONArray arr = obj.getJSONArray("slides"); for (int i = 0; i < arr.length(); ++i) { String base64Image = arr.getString(i).split(",")[1]; byte[] bb = Base64.decodeBase64(base64Image); BufferedImage img = ImageIO.read(new ByteArrayInputStream(bb)); float width = img.getWidth(); float height = img.getHeight(); PDPage page = new PDPage(new PDRectangle(width, height)); PDImageXObject pdImageXObject = LosslessFactory.createFromImage(doc, img); try (PDPageContentStream contentStream = new PDPageContentStream(doc, page, AppendMode.APPEND, false)) { contentStream.drawImage(pdImageXObject, 0, 0, width, height); } doc.addPage(page); } ByteArrayOutputStream baos = new ByteArrayOutputStream(); doc.save(baos); rp.startDownload(target, baos.toByteArray()); } } return; } case loadVideos: { StringBuilder sb = new StringBuilder("WbArea.initVideos("); JSONArray arr = new JSONArray(); for (Entry<Long, Whiteboard> entry : wbm.list(roomId)) { Whiteboard wb = entry.getValue(); for (JSONObject o : wb.list()) { String ft = o.optString(ATTR_FILE_TYPE); if (BaseFileItem.Type.Recording.name().equals(ft) || BaseFileItem.Type.Video.name().equals(ft)) { JSONObject _sts = o.optJSONObject(PARAM_STATUS); if (_sts == null) { continue; } JSONObject sts = new JSONObject(_sts.toString()); //copy sts.put("pos", sts.getDouble("pos") + (System.currentTimeMillis() - sts.getLong(PARAM_UPDATED)) * 1. / 1000); arr.put(new JSONObject().put("wbId", wb.getId()).put("uid", o.getString("uid")) .put(ATTR_SLIDE, o.getString(ATTR_SLIDE)).put(PARAM_STATUS, sts)); } } } sb.append(arr.toString()).append(");"); target.appendJavaScript(sb); return; } default: break; } //presenter-right if (c.hasRight(Right.presenter)) { switch (a) { case createWb: { Whiteboard wb = wbm.add(roomId, c.getUser().getLanguageId()); sendWbAll(WbAction.createWb, getAddWbJson(wb)); } break; case removeWb: { long id = obj.optLong("wbId", -1); if (id > -1) { wbm.remove(roomId, id); sendWbAll(WbAction.removeWb, obj); } } break; case activateWb: { long _id = obj.optLong("wbId", -1); if (_id > -1) { wbm.activate(roomId, _id); sendWbAll(WbAction.activateWb, obj); } } break; case renameWb: { Whiteboard wb = wbm.get(roomId).get(obj.optLong("wbId", -1)); if (wb != null) { wbm.update(roomId, wb.setName(obj.getString("name"))); sendWbAll(WbAction.renameWb, obj); } } break; case setSlide: { Whiteboard wb = wbm.get(roomId).get(obj.optLong("wbId", -1)); if (wb != null) { wb.setSlide(obj.optInt(ATTR_SLIDE, 0)); wbm.update(roomId, wb); sendWbOthers(WbAction.setSlide, obj); } } break; case clearAll: { clearAll(roomId, obj.getLong("wbId")); } break; case setSize: { Whiteboard wb = wbm.get(roomId).get(obj.getLong("wbId")); wb.setWidth(obj.getInt(ATTR_WIDTH)); wb.setHeight(obj.getInt(ATTR_HEIGHT)); wb.setZoom(obj.getDouble(ATTR_ZOOM)); wb.setZoomMode(ZoomMode.valueOf(obj.getString("zoomMode"))); wbm.update(roomId, wb); sendWbOthers(WbAction.setSize, getAddWbJson(wb)); } break; default: break; } } //wb-right if (c.hasRight(Right.presenter) || c.hasRight(Right.whiteBoard)) { switch (a) { case createObj: { Whiteboard wb = wbm.get(roomId).get(obj.getLong("wbId")); JSONObject o = obj.getJSONObject("obj"); wb.put(o.getString("uid"), o); wbm.update(roomId, wb); addUndo(wb.getId(), new UndoObject(UndoObject.Type.add, o)); sendWbOthers(WbAction.createObj, obj); } break; case modifyObj: { Whiteboard wb = wbm.get(roomId).get(obj.getLong("wbId")); JSONArray arr = obj.getJSONArray("obj"); JSONArray undo = new JSONArray(); for (int i = 0; i < arr.length(); ++i) { JSONObject _o = arr.getJSONObject(i); String uid = _o.getString("uid"); JSONObject po = wb.get(uid); if (po != null) { undo.put(po); wb.put(uid, _o); } } if (arr.length() != 0) { wbm.update(roomId, wb); addUndo(wb.getId(), new UndoObject(UndoObject.Type.modify, undo)); } sendWbOthers(WbAction.modifyObj, obj); } break; case deleteObj: { Whiteboard wb = wbm.get(roomId).get(obj.getLong("wbId")); JSONArray arr = obj.getJSONArray("obj"); JSONArray undo = new JSONArray(); for (int i = 0; i < arr.length(); ++i) { JSONObject _o = arr.getJSONObject(i); JSONObject u = wb.remove(_o.getString("uid")); if (u != null) { undo.put(u); } } if (undo.length() != 0) { wbm.update(roomId, wb); addUndo(wb.getId(), new UndoObject(UndoObject.Type.remove, undo)); } sendWbAll(WbAction.deleteObj, obj); } break; case clearSlide: { Whiteboard wb = wbm.get(roomId).get(obj.getLong("wbId")); JSONArray arr = wb.clearSlide(obj.getInt(ATTR_SLIDE)); if (arr.length() != 0) { wbm.update(roomId, wb); addUndo(wb.getId(), new UndoObject(UndoObject.Type.remove, arr)); } sendWbAll(WbAction.clearSlide, obj); } break; case save: wb2save = obj.getLong("wbId"); fileName.open(target); break; case undo: { Long wbId = obj.getLong("wbId"); UndoObject uo = getUndo(wbId); if (uo != null) { Whiteboard wb = wbm.get(roomId).get(wbId); switch (uo.getType()) { case add: { JSONObject o = new JSONObject(uo.getObject()); wb.remove(o.getString("uid")); wbm.update(roomId, wb); sendWbAll(WbAction.deleteObj, obj.put("obj", new JSONArray().put(o))); } break; case remove: { JSONArray arr = new JSONArray(uo.getObject()); for (int i = 0; i < arr.length(); ++i) { JSONObject o = arr.getJSONObject(i); wb.put(o.getString("uid"), o); } wbm.update(roomId, wb); sendWbAll(WbAction.createObj, obj.put("obj", new JSONArray(uo.getObject()))); } break; case modify: { JSONArray arr = new JSONArray(uo.getObject()); for (int i = 0; i < arr.length(); ++i) { JSONObject o = arr.getJSONObject(i); wb.put(o.getString("uid"), o); } wbm.update(roomId, wb); sendWbAll(WbAction.modifyObj, obj.put("obj", arr)); } break; } } } break; case videoStatus: { Whiteboard wb = wbm.get(roomId).get(obj.getLong("wbId")); String uid = obj.getString("uid"); JSONObject po = wb.get(uid); if (po != null && "video".equals(po.getString(ATTR_TYPE))) { JSONObject ns = obj.getJSONObject(PARAM_STATUS); po.put(PARAM_STATUS, ns.put(PARAM_UPDATED, System.currentTimeMillis())); wbm.update(roomId, wb.put(uid, po)); obj.put(ATTR_SLIDE, po.getInt(ATTR_SLIDE)); sendWbAll(WbAction.videoStatus, obj); } } break; default: break; } } }
From source file:org.apache.openmeetings.web.user.calendar.CalendarPanel.java
License:Apache License
@Override public void renderHead(IHeaderResponse response) { super.renderHead(response); AjaxRequestTarget target = getRequestCycle().find(AjaxRequestTarget.class); if (target != null) { target.appendJavaScript(javaScriptMarkup); target.appendJavaScript(javaScriptAddDatepicker); } else {//from w ww . j av a 2 s .com response.render(JavaScriptHeaderItem.forScript(javaScriptMarkup, this.getId())); } }
From source file:org.apache.openmeetings.web.user.chat.ChatForm.java
License:Apache License
public ChatForm(String id) { super(id);/*from www.j a va2 s . com*/ final ChatToolbar toolbar = new ChatToolbar("toolbarContainer", this); final WysiwygEditor chatMessage = new WysiwygEditor("chatMessage", Model.of(""), toolbar); add(toolbar, activeTab.add(new AjaxFormSubmitBehavior(this, "change") { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target) { toolbar.update(target); } }), chatMessage.setOutputMarkupId(true), new AjaxButton("send") { private static final long serialVersionUID = 1L; @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); attributes.getAjaxCallListeners().add(new IAjaxCallListener() { @Override public CharSequence getPrecondition(Component component) { return "return Chat.validate();"; } }); } private Chat getChat() { return findParent(Chat.class); } @Override protected void onSubmit(AjaxRequestTarget target) { final String txt = chatMessage.getDefaultModelObjectAsString(); if (Strings.isEmpty(txt)) { return; } final ChatMessage m = new ChatMessage(); m.setMessage(txt); m.setSent(new Date()); m.setFromUser(userDao.get(getUserId())); m.setFromName(getClient().getUser().getDisplayName()); if (!process(() -> getChat().isShowDashboardChat(), r -> { if (cm.isInRoom(r.getId(), getUserId())) { m.setToRoom(r); } else { log.error("It seems like we are being hacked!!!!"); return false; } m.setNeedModeration( r.isChatModerated() && !isModerator(cm, m.getFromUser().getId(), r.getId())); return true; }, u -> { m.setToUser(u); return true; })) { return; } ; chatDao.update(m); JSONObject msg = getChat().getMessage(Arrays.asList(m)); if (m.getToRoom() != null) { ChatWebSocketHelper.sendRoom(m, msg); } else if (m.getToUser() != null) { ChatWebSocketHelper.sendUser(getUserId(), m, msg); msg = Chat.getMessage(m.getToUser(), Arrays.asList(m)); ChatWebSocketHelper.sendUser(m.getToUser().getId(), m, msg); } else { ChatWebSocketHelper.sendAll(m, msg); } chatMessage.setDefaultModelObject(""); target.appendJavaScript("Chat.clean();"); }; }); }
From source file:org.apache.openmeetings.web.user.ChatPanel.java
License:Apache License
public void roomEnter(Room r, AjaxRequestTarget target) { if (r.isChatHidden()) { target.add(setVisible(false));//from w w w. j a v a2 s . co m return; } StringBuilder sb = new StringBuilder(); sb.append("$(function() {"); sb.append(String.format("addChatTab('%1$s%2$d', '%3$s %2$d');", ID_ROOM_PREFIX, r.getId(), Application.getString(406))); sb.append(r.isChatOpened() ? "openChat();" : "closeChat();"); List<ChatMessage> list = getBean(ChatDao.class).getRoom(r.getId(), 0, 30, !r.isChatModerated() || isModerator(getUserId(), r.getId())); if (list.size() > 0) { sb.append("addChatMessage(").append(getMessage(list).toString()).append(");"); } sb.append("});"); target.appendJavaScript(sb); }
From source file:org.apache.solomax.AjaxDownload.java
License:Apache License
/** * Call this method to initiate the download. *///from w w w . ja v a 2 s .c o m public void initiate(AjaxRequestTarget target) { PageParameters pp = new PageParameters(); if (addAntiCache) { pp.add("antiCache", System.currentTimeMillis()); } String url = component.urlFor(this, IResourceListener.INTERFACE, pp).toString(); target.appendJavaScript(String.format("$('#%s').attr('src', '%s');", iframeId, url)); }
From source file:org.apache.syncope.client.console.pages.LogViewer.java
License:Apache License
public LogViewer() { final WebMarkupContainer viewer = new WebMarkupContainer("viewer"); viewer.setOutputMarkupId(true);/* w w w. j av a 2 s .c o m*/ add(viewer); final AjaxDropDownChoicePanel<String> appenders = new AjaxDropDownChoicePanel<>("appenders", "Appender", new Model<String>(), false); MetaDataRoleAuthorizationStrategy.authorize(appenders, ENABLE, StandardEntitlement.LOG_READ); appenders.setChoices(restClient.listMemoryAppenders()); viewer.add(appenders); final WebMarkupContainer stContainer = new WebMarkupContainer("stContainer"); stContainer.setOutputMarkupId(true); viewer.add(stContainer); final Model<Long> lastTimeInMillis = Model.of(0L); final IModel<List<LogStatementTO>> statementViewModel = new ListModel<>(new ArrayList<LogStatementTO>()); final ListView<LogStatementTO> statementView = new ListView<LogStatementTO>("statements", statementViewModel) { private static final long serialVersionUID = -9180479401817023838L; @Override protected void populateItem(final ListItem<LogStatementTO> item) { LogStatementPanel panel = new LogStatementPanel("statement", item.getModelObject()); panel.setOutputMarkupId(true); item.add(panel); } }; statementView.setOutputMarkupId(true); stContainer.add(statementView); stContainer.add(new AjaxSelfUpdatingTimerBehavior(Duration.seconds(10)) { private static final long serialVersionUID = 7298597675929755960L; @Override protected void onPostProcessTarget(final AjaxRequestTarget target) { // save scroll position target.prependJavaScript( String.format("window.scrollTop = $('#%s').scrollTop();", stContainer.getMarkupId())); List<LogStatementTO> recentLogStatements = appenders.getModelObject() == null ? new ArrayList<LogStatementTO>() : restClient.getLastLogStatements(appenders.getModelObject(), lastTimeInMillis.getObject()); if (!recentLogStatements.isEmpty()) { lastTimeInMillis .setObject(recentLogStatements.get(recentLogStatements.size() - 1).getTimeMillis()); int currentSize = statementView.getModelObject().size(); int recentSize = recentLogStatements.size(); List<LogStatementTO> newModelObject = SetUniqueList.<LogStatementTO>setUniqueList( new ArrayList<LogStatementTO>(MAX_STATEMENTS_PER_APPENDER)); if (currentSize <= MAX_STATEMENTS_PER_APPENDER - recentSize) { newModelObject.addAll(statementView.getModelObject()); } else { newModelObject.addAll(statementView.getModelObject() .subList(currentSize - (MAX_STATEMENTS_PER_APPENDER - recentSize), currentSize)); } newModelObject.addAll(recentLogStatements); statementViewModel.setObject(newModelObject); target.add(stContainer); } // restore scroll position - might not work perfectly if items were removed from the top target.appendJavaScript( String.format("$('#%s').scrollTop(window.scrollTop);", stContainer.getMarkupId())); } }); appenders.getField().add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) { private static final long serialVersionUID = -1107858522700306810L; @Override protected void onUpdate(final AjaxRequestTarget target) { List<LogStatementTO> lastStatements = appenders.getModelObject() == null ? new ArrayList<LogStatementTO>() : restClient.getLastLogStatements(appenders.getModelObject(), 0); statementViewModel.setObject(lastStatements); target.add(stContainer); lastTimeInMillis.setObject(0L); } }); }