public static CubaCopyButtonExtension copyWith(Button button, String selector) { CubaCopyButtonExtension extension = new CubaCopyButtonExtension(button); extension.setCopyTargetSelector(selector); return extension; }
public void addCopyListener(CopyListener listener) { addListener(CopyEvent.class, listener, COPY_METHOD); }
public void setCopyTargetSelector(String targetElementClass) { if (!equalValues(getState(false).copyTargetSelector, targetElementClass)) { getState().copyTargetSelector = targetElementClass; } }
protected CubaCopyButtonExtension(Button button) { component = button; extend(component); registerRpc(new CubaCopyButtonExtensionServerRpc() { @Override public void copied(boolean success) { fireEvent(new CopyEvent(CubaCopyButtonExtension.this, success)); } }); }
@Override public void addCopyButton(ComponentContainer container, String description, String successMessage, String failMessage, String cubaCopyLogContentClass, UiComponents uiComponents) { if (CubaCopyButtonExtension.browserSupportCopy()) { Button copyButton = uiComponents.create(Button.class); copyButton.setIconFromSet(CubaIcon.CLIPBOARD); copyButton.setId("copy"); copyButton.setVisible(false); copyButton.setDescription(description); com.vaadin.ui.Button button = copyButton.unwrap(com.vaadin.ui.Button.class); CubaCopyButtonExtension copyExtension = CubaCopyButtonExtension.copyWith(button, cubaCopyLogContentClass + " textarea"); copyExtension.addCopyListener(event -> Notification.show(event.isSuccess() ? successMessage : failMessage, Notification.Type.TRAY_NOTIFICATION)); container.add(copyButton); } } }
public void removeCopyListener(CopyListener listener) { removeListener(CopyEvent.class, listener, COPY_METHOD); }
public static CubaCopyButtonExtension copyWith(Button button) { return new CubaCopyButtonExtension(button); }
public String getCopyTargetSelector() { return getState(false).copyTargetSelector; }
String cubaCopyLogContentClass = cubaLogContentClass + "-" + UUID.randomUUID(); if (CubaCopyButtonExtension.browserSupportCopy()) { copyButton = new CubaButton(messages.getMainMessage("exceptionDialog.copyStackTrace")); copyButton.setVisible(false); CubaCopyButtonExtension copyExtension = CubaCopyButtonExtension.copyWith(copyButton, cubaCopyLogContentClass); copyExtension.addCopyListener(event -> Notification.show(messages.getMainMessage( event.isSuccess() ? "exceptionDialog.copingSuccessful" : "exceptionDialog.copingFailed"),