Skip to content

Commit

Permalink
Merge pull request #5448 from nickgros/SWC-6833
Browse files Browse the repository at this point in the history
  • Loading branch information
nickgros committed Jul 8, 2024
2 parents 993cc36 + fd1e863 commit 76809d8
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@
import org.sagebionetworks.web.client.utils.Callback;
import org.sagebionetworks.web.client.utils.CallbackP;
import org.sagebionetworks.web.client.widget.SynapseWidgetPresenter;
import org.sagebionetworks.web.client.widget.asynch.IsACTMemberAsyncHandler;
import org.sagebionetworks.web.client.widget.entity.editor.UserTeamSelector;
import org.sagebionetworks.web.client.widget.entity.registration.WidgetRegistrar;
import org.sagebionetworks.web.client.widget.entity.renderer.IntendedDataUseReportWidget;
Expand Down Expand Up @@ -94,6 +95,7 @@ public class MarkdownEditorWidget
private PortalGinInjector ginInjector;

private FeatureFlagConfig featureFlagConfig;
private IsACTMemberAsyncHandler isACTMemberAsyncHandler;

@Inject
public MarkdownEditorWidget(
Expand All @@ -105,7 +107,8 @@ public MarkdownEditorWidget(
WidgetRegistrar widgetRegistrar,
UserTeamSelector userTeamSelector,
PortalGinInjector ginInjector,
FeatureFlagConfig featureFlagConfig
FeatureFlagConfig featureFlagConfig,
IsACTMemberAsyncHandler isACTMemberAsyncHandler
) {
super();
this.view = view;
Expand All @@ -119,6 +122,7 @@ public MarkdownEditorWidget(

this.userTeamSelector = userTeamSelector;
this.featureFlagConfig = featureFlagConfig;
this.isACTMemberAsyncHandler = isACTMemberAsyncHandler;

widgetSelectionState = new WidgetSelectionState();
view.setPresenter(this);
Expand Down Expand Up @@ -155,6 +159,9 @@ public void configure(String markdown) {
FeatureFlagKey.ADD_WIKI_WIDGETS.getKey()
)
);
isACTMemberAsyncHandler.isACTMember(isACTMember ->
view.setACTCommandsVisible(isACTMember)
);
view.configure(markdown);
view.showEditMode();
if (formattingGuideWikiPageKey == null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ public interface MarkdownEditorWidgetView extends IsWidget, SynapseView {

void setAlphaCommandsVisible(boolean visible);

void setACTCommandsVisible(boolean visible);

boolean isEditorAttachedAndVisible();

int getClientHeight();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -483,6 +483,12 @@ public void setAlphaCommandsVisible(boolean visible) {
alphaInsertButton.setVisible(visible);
}

@Override
public void setACTCommandsVisible(boolean visible) {
lazyConstruct();
iduReportLink.setVisible(visible);
}

@Override
public void setEditButtonEnabled(boolean enabled) {
editWidgetButton.setEnabled(enabled);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,11 @@
visible="false"
/>
<b:AnchorListItem ui:field="imageLink" text="Image" />
<b:AnchorListItem
ui:field="iduReportLink"
text="Intended Data Use Report"
visible="false"
/>
<b:AnchorListItem ui:field="joinTeamLink" text="Join Team Button" />
<b:AnchorListItem ui:field="leaderboardLink" text="Leaderboard" />
<b:AnchorListItem ui:field="linkLink" text="Link" />
Expand Down Expand Up @@ -136,10 +141,6 @@
ui:field="externalWebsiteLink"
text="External Website"
/>
<b:AnchorListItem
ui:field="iduReportLink"
text="Intended Data Use Report"
/>
<b:AnchorListItem
ui:field="registerChallengeTeamLink"
text="Register Challenge Team Button"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import org.junit.Before;
import org.junit.Test;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
Expand All @@ -40,6 +41,7 @@
import org.sagebionetworks.web.client.presenter.BaseEditWidgetDescriptorPresenter;
import org.sagebionetworks.web.client.resources.ResourceLoader;
import org.sagebionetworks.web.client.utils.CallbackP;
import org.sagebionetworks.web.client.widget.asynch.IsACTMemberAsyncHandler;
import org.sagebionetworks.web.client.widget.entity.MarkdownEditorAction;
import org.sagebionetworks.web.client.widget.entity.MarkdownEditorWidget;
import org.sagebionetworks.web.client.widget.entity.MarkdownEditorWidgetView;
Expand Down Expand Up @@ -106,6 +108,12 @@ public class MarkdownEditorWidgetTest {
@Mock
FeatureFlagConfig mockFeatureFlagConfig;

@Mock
IsACTMemberAsyncHandler mockIsACTMemberAsyncHandler;

@Captor
ArgumentCaptor<CallbackP<Boolean>> isActMemberCaptor;

@Before
public void before() throws JSONObjectAdapterException {
MockitoAnnotations.initMocks(this);
Expand All @@ -120,7 +128,8 @@ public void before() throws JSONObjectAdapterException {
mockWidgetRegistrar,
mockUserSelector,
mockGinInjector,
mockFeatureFlagConfig
mockFeatureFlagConfig,
mockIsACTMemberAsyncHandler
);
wikiPageKey =
new WikiPageKey("syn1111", ObjectType.ENTITY.toString(), null);
Expand Down Expand Up @@ -736,4 +745,24 @@ public void testHandleCommandTeamMembers() {
verify(mockEditDescriptor)
.editNew(eq(wikiPageKey), eq(WidgetConstants.TEAM_MEMBERS_CONTENT_TYPE));
}

@Test
public void testConfigureAsACTMember() {
verify(mockIsACTMemberAsyncHandler)
.isACTMember(isActMemberCaptor.capture());

isActMemberCaptor.getValue().invoke(true);

verify(mockView).setACTCommandsVisible(true);
}

@Test
public void testConfigureAsNonACTMember() {
verify(mockIsACTMemberAsyncHandler)
.isACTMember(isActMemberCaptor.capture());

isActMemberCaptor.getValue().invoke(false);

verify(mockView).setACTCommandsVisible(false);
}
}

0 comments on commit 76809d8

Please sign in to comment.