vedana.voronina/merge_buttons

[collab/space] IDEA-285010: Merge buttons & merge options

Merge-request: IJ-MR-130712
Merged-by: Veda Voronina <Vedana.Voronina@jetbrains.com>

GitOrigin-RevId: 2cee1e2e793e01891bc6a5d9c68f6eb94450e012
This commit is contained in:
Vedana.Voronina
2024-04-11 11:31:25 +00:00
committed by intellij-monorepo-bot
parent 0cfff9ad9a
commit 2557bfd59f
2 changed files with 17 additions and 1 deletions
@@ -1053,6 +1053,7 @@ f:com.intellij.collaboration.messages.CollaborationToolsBundle
- f:ReviewDetailsStatusLabel(java.lang.String):javax.swing.JLabel
- f:createCiComponent(kotlinx.coroutines.CoroutineScope,com.intellij.collaboration.ui.codereview.details.model.CodeReviewStatusViewModel):javax.swing.JComponent
- f:createConflictsComponent(kotlinx.coroutines.CoroutineScope,kotlinx.coroutines.flow.Flow):javax.swing.JComponent
- f:createMergeClarificationComponent(kotlinx.coroutines.CoroutineScope,kotlinx.coroutines.flow.Flow):javax.swing.JComponent
- f:createNeedReviewerComponent(kotlinx.coroutines.CoroutineScope,kotlinx.coroutines.flow.Flow):javax.swing.JComponent
- f:createRequiredResolveConversationsComponent(kotlinx.coroutines.CoroutineScope,kotlinx.coroutines.flow.Flow):javax.swing.JComponent
- f:createRequiredReviewsComponent(kotlinx.coroutines.CoroutineScope,kotlinx.coroutines.flow.Flow,kotlinx.coroutines.flow.Flow):javax.swing.JComponent
@@ -3,10 +3,10 @@ package com.intellij.collaboration.ui.codereview.details
import com.intellij.collaboration.async.launchNow
import com.intellij.collaboration.messages.CollaborationToolsBundle
import com.intellij.collaboration.ui.CollaborationToolsUIUtil
import com.intellij.collaboration.ui.HorizontalListPanel
import com.intellij.collaboration.ui.VerticalListPanel
import com.intellij.collaboration.ui.codereview.avatar.Avatar
import com.intellij.collaboration.ui.codereview.avatar.CodeReviewAvatarUtils
import com.intellij.collaboration.ui.codereview.details.data.CodeReviewCIJob
import com.intellij.collaboration.ui.codereview.details.data.CodeReviewCIJobState
import com.intellij.collaboration.ui.codereview.details.data.ReviewState
@@ -15,6 +15,7 @@ import com.intellij.collaboration.ui.codereview.list.search.ChooserPopupUtil
import com.intellij.collaboration.ui.codereview.list.search.PopupConfig
import com.intellij.collaboration.ui.codereview.list.search.ShowDirection
import com.intellij.collaboration.ui.icon.CIBuildStatusIcons
import com.intellij.collaboration.ui.util.DimensionRestrictions
import com.intellij.collaboration.ui.util.bindIconIn
import com.intellij.collaboration.ui.util.bindTextIn
import com.intellij.collaboration.ui.util.bindVisibilityIn
@@ -37,6 +38,7 @@ import java.awt.Point
import javax.swing.Icon
import javax.swing.JComponent
import javax.swing.JLabel
import javax.swing.JTextPane
object CodeReviewDetailsStatusComponentFactory {
private const val STATUS_COMPONENT_BORDER = 5
@@ -62,6 +64,19 @@ object CodeReviewDetailsStatusComponentFactory {
}
}
fun createMergeClarificationComponent(scope: CoroutineScope, clarification: Flow<String>): JComponent {
val panel = JTextPane().apply {
name = "Code review status: merge clarification"
isOpaque = false
bindTextIn(scope, clarification)
bindVisibilityIn(scope, clarification.map { it.isNotEmpty() })
}
return CollaborationToolsUIUtil.wrapWithLimitedSize(panel, DimensionRestrictions.LinesHeight(panel, 2)).apply {
border = JBUI.Borders.empty(STATUS_COMPONENT_BORDER, 0)
}
}
fun <T> createNeedReviewerComponent(scope: CoroutineScope, reviewersReview: Flow<Map<T, ReviewState>>): JComponent {
return ReviewDetailsStatusLabel("Code review status: need reviewer").apply {
border = JBUI.Borders.empty(STATUS_COMPONENT_BORDER, 0)