tabular-data-share-widget/src/main/java/org/gcube/portlets/user/td/sharewidget/client/TRShare.java

74 lines
2.1 KiB
Java
Raw Normal View History

package org.gcube.portlets.user.td.sharewidget.client;
import org.gcube.portlets.widgets.workspacesharingwidget.client.WorkspaceSmartSharingController;
import org.gcube.portlets.widgets.workspacesharingwidget.client.view.sharing.SmartShare;
import org.gcube.portlets.widgets.workspacesharingwidget.shared.CredentialModel;
import org.gcube.portlets.widgets.workspacesharingwidget.shared.FileModel;
import org.gcube.portlets.widgets.workspacesharingwidget.shared.InfoContactModel;
import com.extjs.gxt.ui.client.event.BaseEvent;
import com.extjs.gxt.ui.client.event.Events;
import com.extjs.gxt.ui.client.event.Listener;
import com.extjs.gxt.ui.client.widget.Dialog;
public class TRShare {
public TRShare() {
FileModel file = new FileModel("id", "filename", false);
/**
* This controller instance the smart sharing dialog
*
* @param file
* - a fake file to display the field name ("filename") into
* dialog
* @param listAlreadySharedContact
*/
WorkspaceSmartSharingController controller = new WorkspaceSmartSharingController(
file, null);
final SmartShare sharingWindow = controller.getSharingDialog();
sharingWindow.show();
sharingWindow.getButtonById(Dialog.OK).addListener(Events.Select,
new Listener<BaseEvent>() {
@Override
public void handleEvent(BaseEvent be) {
if (sharingWindow.isValidForm(true)) {
// THAT'S OK
sharingWindow.getSharedListUsers(); // @return the
// selected
// contacts (as
// InfoContactModel)
sharingWindow.getSharedListUsersCredential(); // @return
// the
// selected
// contacts
// (as
// CredentialModel)
for (InfoContactModel contact : sharingWindow
.getSharedListUsers()) {
System.out.println(contact);
}
for (CredentialModel credential : sharingWindow
.getSharedListUsersCredential()) {
System.out.println(credential);
}
}
}
});
}
}