mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[evaluation-plugin] LME-66 Make report UI changes configurable
GitOrigin-RevId: a28b4df2f64b5b642a71fdc9eabdc1c79e7dd8dc
This commit is contained in:
committed by
intellij-monorepo-bot
parent
9d6b3f446c
commit
d538f003f3
@@ -5,6 +5,7 @@ const prefix = "ep@"
|
||||
const LC_KEYS = {
|
||||
delimiter: prefix + "delimiter"
|
||||
};
|
||||
const EXTERNAL_VARIABLES = {}
|
||||
|
||||
|
||||
document.addEventListener("click", function (e) {
|
||||
@@ -120,6 +121,9 @@ function updatePopup(sessionDiv) {
|
||||
const lookup = getLookup(sessionDiv)
|
||||
const popup = document.createElement("DIV")
|
||||
popup.setAttribute("class", "autocomplete-items")
|
||||
if (EXTERNAL_VARIABLES["popup.show.under.session"] === "true") {
|
||||
popup.classList.add("popup-show-under-session")
|
||||
}
|
||||
const prefixDiv = document.createElement("DIV")
|
||||
prefixDiv.setAttribute("style", "background-color: lightgrey;")
|
||||
const codeElement = document.querySelector('.code');
|
||||
@@ -292,8 +296,8 @@ function addSuggestions(sessionDiv, popup, lookup) {
|
||||
p.setAttribute("style", "font-weight: bold;")
|
||||
}
|
||||
const presentationText = suggestions[i].presentationText.replace(/</g, '<').replace(/>/g, '>')
|
||||
p.innerHTML = presentationText
|
||||
// p.innerHTML = removeCommonIndentFromCodeSnippet(presentationText) // FIXME doesn't work anyway?
|
||||
p.innerHTML = EXTERNAL_VARIABLES["suggestion.indent.preserve"] === "true" ?
|
||||
presentationText : removeCommonIndentFromCodeSnippet(presentationText)
|
||||
suggestionDiv.appendChild(p)
|
||||
popup.appendChild(suggestionDiv)
|
||||
}
|
||||
@@ -555,6 +559,9 @@ function updateMultilinePopup(event) {
|
||||
const lookup = getLookup(sessionDiv)
|
||||
const popup = document.createElement("DIV")
|
||||
popup.setAttribute("class", "autocomplete-items")
|
||||
if (EXTERNAL_VARIABLES["popup.show.under.session"] === "true") {
|
||||
popup.classList.add("popup-show-under-session")
|
||||
}
|
||||
|
||||
addMultilineHeaders(popup, showSuggestion)
|
||||
let context = getMultilineContext(sessionDiv)
|
||||
|
||||
@@ -127,10 +127,14 @@ button:focus {
|
||||
border-bottom: none;
|
||||
border-top: none;
|
||||
z-index: 99;
|
||||
top: 100%;
|
||||
top: 1.5em;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.autocomplete-items.popup-show-under-session {
|
||||
top: 100%;
|
||||
}
|
||||
|
||||
.autocomplete-items div {
|
||||
padding: 5px;
|
||||
cursor: pointer;
|
||||
|
||||
+12
-1
@@ -12,7 +12,8 @@ open class BasicFileReportGenerator(
|
||||
filterName: String,
|
||||
comparisonFilterName: String,
|
||||
featuresStorages: List<FeaturesStorage>,
|
||||
dirs: GeneratorDirectories
|
||||
dirs: GeneratorDirectories,
|
||||
private val externalVariables: Map<String, String> = mapOf(),
|
||||
) : FileReportGenerator(featuresStorages, dirs, filterName, comparisonFilterName) {
|
||||
|
||||
override fun getHtml(fileEvaluations: List<FileEvaluationInfo>, resourcePath: String, text: String): String {
|
||||
@@ -34,6 +35,16 @@ open class BasicFileReportGenerator(
|
||||
for (resource in scripts){
|
||||
script { src = resource.destinationPath }
|
||||
}
|
||||
|
||||
script {
|
||||
unsafe {
|
||||
raw(
|
||||
externalVariables
|
||||
.map { "EXTERNAL_VARIABLES[\"${it.key}\"] = \"${it.value}\";" }
|
||||
.joinToString("\n")
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+22
@@ -7,7 +7,12 @@ import com.intellij.cce.evaluation.SimpleFileEnvironment
|
||||
import com.intellij.cce.metric.Metric
|
||||
import com.intellij.cce.metric.PrecisionMetric
|
||||
import com.intellij.cce.metric.SessionsCountMetric
|
||||
import com.intellij.cce.report.BasicFileReportGenerator
|
||||
import com.intellij.cce.report.FileReportGenerator
|
||||
import com.intellij.cce.report.GeneratorDirectories
|
||||
import com.intellij.cce.workspace.Config
|
||||
import com.intellij.cce.workspace.storages.FeaturesStorage
|
||||
import com.intellij.cce.workspace.storages.FullLineLogsStorage
|
||||
|
||||
class ConflictResolutionFeature : StandaloneFeature<ConflictResolutionStrategy>("conflict-resolution") {
|
||||
override fun getStrategySerializer(): StrategySerializer<ConflictResolutionStrategy> = ConflictResolutionStrategy.Serializer()
|
||||
@@ -21,4 +26,21 @@ class ConflictResolutionFeature : StandaloneFeature<ConflictResolutionStrategy>(
|
||||
SessionsCountMetric(),
|
||||
PrecisionMetric()
|
||||
)
|
||||
|
||||
override fun getFileReportGenerator(
|
||||
filterName: String,
|
||||
comparisonFilterName: String,
|
||||
featuresStorages: List<FeaturesStorage>,
|
||||
fullLineStorages: List<FullLineLogsStorage>,
|
||||
dirs: GeneratorDirectories
|
||||
): FileReportGenerator = BasicFileReportGenerator(
|
||||
filterName,
|
||||
comparisonFilterName,
|
||||
featuresStorages,
|
||||
dirs,
|
||||
externalVariables = mapOf(
|
||||
"popup.show.under.session" to "true",
|
||||
"suggestion.indent.preserve" to "true"
|
||||
)
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user