/** * Called when a file is received. * It is used only for component development. * @since 5.0.0 */ public void onUpload(ForwardEvent evt) { _result.add(((UploadEvent) evt.getOrigin()).getMedia()); }
@Override public void service(AuRequest request, boolean everError) { String cmd = request.getCommand(); if (Events.ON_UPLOAD.equals(cmd)) { Events.postEvent(UploadEvent.getLatestUploadEvent(cmd, this)); } else super.service(request, everError); }
public boolean service(AuRequest request, boolean everError) { if ("updateResult".equals(request.getCommand())) { final Map<String, Object> data = request.getData(); Desktop desktop = request.getDesktop(); final String uuid = (String) request.getData().get("wid"); final Component comp = desktop.getComponentByUuidIfAny(uuid); final String sid = (String) request.getData().get("sid"); if (comp == null) { Map<String, Integer> percent = cast((Map) desktop.getAttribute(Attributes.UPLOAD_PERCENT)); Map<String, Object> size = cast((Map) desktop.getAttribute(Attributes.UPLOAD_SIZE)); String key = uuid + '_' + sid; if (percent != null) { percent.remove(key); size.put(key, "Upload Aborted"); } return false; } final List<Media> result = cast((List) AuRequests.getUpdateResult(request)); Events.postEvent(new UploadEvent(Events.ON_UPLOAD, comp, UploadUtils.parseResult(result))); Map percent = (Map) desktop.getAttribute(Attributes.UPLOAD_PERCENT); Map size = (Map) desktop.getAttribute(Attributes.UPLOAD_SIZE); final String key = uuid + '_' + sid; percent.remove(key); size.remove(key); return true; } return false; }
public void onClose(Event evt) { if (evt.getData() == null) _result.clear(); else { final Desktop desktop = Executions.getCurrent().getDesktop(); final Configuration config = desktop.getWebApp().getConfiguration(); if (!config.isEventThreadEnabled()) { if (_listener != null) try { _listener.onEvent(new UploadEvent(Events.ON_UPLOAD, null, getResult())); } catch (Exception e) { throw new UiException(e); } else Events.postEvent(new UploadEvent(Events.ON_UPLOAD, (Component) desktop.getAttribute(ATTR_FILEUPLOAD_TARGET), getResult())); } } detach(); }
/** * Creates an instance of {@link UploadEvent} based on the event name and component, * the {@link UploadEvent} contains the latest upload media from user. * Internal Use Only. * * @param name event name * @param component component that triggers the upload event * @return upload event * @since 8.6.0 */ public static UploadEvent getLatestUploadEvent(String name, Component component) { Desktop desktop = component.getDesktop(); String uuid = component.getUuid(); final List<Media> result = cast((List) desktop.getAttribute(uuid)); desktop.removeAttribute(uuid); return new UploadEvent(name, desktop.getComponentByUuid(uuid), UploadUtils.parseResult(result)); } }
Media media = upEvent.getMedia();
/** Processes an AU request. * * <p>Default: in addition to what are handled by {@link LabelImageElement#service}, * it also handles onCheck. * @since 5.0.0 */ public void service(org.zkoss.zk.au.AuRequest request, boolean everError) { final String cmd = request.getCommand(); if (cmd.equals(Events.ON_CHECK)) { CheckEvent evt = CheckEvent.getCheckEvent(request); initAuxInfo().checked = evt.isChecked(); if (_auxinf.checked) _auxinf.checkmark = true; Events.postEvent(evt); } else if (Events.ON_UPLOAD.equals(cmd)) { Events.postEvent(UploadEvent.getLatestUploadEvent(cmd, this)); } else super.service(request, everError); }