Search in sources :

Example 1 with Configuration

use of net.codemirror.lib.Configuration in project gerrit by GerritCodeReview.

the class SideBySideChunkManager method markEdit.

private void markEdit(CodeMirror cm, int startLine, JsArrayString lines, JsArray<Span> edits) {
    if (lines == null || edits == null) {
        return;
    }
    EditIterator iter = new EditIterator(lines, startLine);
    Configuration bg = Configuration.create().set("className", SideBySideTable.style.intralineBg()).set("readOnly", true);
    Configuration diff = Configuration.create().set("className", SideBySideTable.style.diff()).set("readOnly", true);
    Pos last = Pos.create(0, 0);
    for (Span span : Natives.asList(edits)) {
        Pos from = iter.advance(span.skip());
        Pos to = iter.advance(span.mark());
        if (from.line() == last.line()) {
            getMarkers().add(cm.markText(last, from, bg));
        } else {
            getMarkers().add(cm.markText(Pos.create(from.line(), 0), from, bg));
        }
        getMarkers().add(cm.markText(from, to, diff));
        last = to;
        colorLines(cm, LineClassWhere.BACKGROUND, SideBySideTable.style.diff(), from.line(), to.line());
    }
}
Also used : Configuration(net.codemirror.lib.Configuration) Pos(net.codemirror.lib.Pos) Span(com.google.gerrit.client.diff.DiffInfo.Span)

Example 2 with Configuration

use of net.codemirror.lib.Configuration in project gerrit by GerritCodeReview.

the class SkipBar method collapse.

void collapse(int start, int end, boolean attach) {
    if (attach) {
        boolean isNew = lineWidget == null;
        Configuration cfg = Configuration.create().set("coverGutter", true).set("noHScroll", true);
        if (start == 0) {
            // First line workaround
            lineWidget = cm.addLineWidget(end + 1, getElement(), cfg.set("above", true));
        } else {
            lineWidget = cm.addLineWidget(start - 1, getElement(), cfg);
        }
        if (isNew) {
            lineWidget.onFirstRedraw(() -> {
                int w = cm.getGutterElement().getOffsetWidth();
                getElement().getStyle().setPaddingLeft(w, Unit.PX);
            });
        }
    }
    textMarker = cm.markText(Pos.create(start, 0), Pos.create(end), Configuration.create().set("collapsed", true).set("inclusiveLeft", true).set("inclusiveRight", true));
    textMarker.on("beforeCursorEnter", this::expandAll);
    int skipped = end - start + 1;
    if (skipped <= UP_DOWN_THRESHOLD) {
        addStyleName(style.noExpand());
    } else {
        upArrow.setHTML(PatchUtil.M.expandBefore(NUM_ROWS_TO_EXPAND));
        downArrow.setHTML(PatchUtil.M.expandAfter(NUM_ROWS_TO_EXPAND));
    }
    skipNum.setText(PatchUtil.M.patchSkipRegion(Integer.toString(skipped)));
}
Also used : Configuration(net.codemirror.lib.Configuration)

Example 3 with Configuration

use of net.codemirror.lib.Configuration in project gerrit by GerritCodeReview.

the class UnifiedChunkManager method markEdit.

private void markEdit(DisplaySide side, int startLine, JsArrayString lines, JsArray<Span> edits) {
    if (lines == null || edits == null) {
        return;
    }
    EditIterator iter = new EditIterator(lines, startLine);
    Configuration bg = Configuration.create().set("className", getIntralineBgFromSide(side)).set("readOnly", true);
    Configuration diff = Configuration.create().set("className", getDiffColorFromSide(side)).set("readOnly", true);
    Pos last = Pos.create(0, 0);
    for (Span span : Natives.asList(edits)) {
        Pos from = iter.advance(span.skip());
        Pos to = iter.advance(span.mark());
        if (from.line() == last.line()) {
            getMarkers().add(cm.markText(last, from, bg));
        } else {
            getMarkers().add(cm.markText(Pos.create(from.line(), 0), from, bg));
        }
        getMarkers().add(cm.markText(from, to, diff));
        last = to;
        colorLines(cm, LineClassWhere.BACKGROUND, getDiffColorFromSide(side), from.line(), to.line());
    }
}
Also used : Configuration(net.codemirror.lib.Configuration) Pos(net.codemirror.lib.Pos) Span(com.google.gerrit.client.diff.DiffInfo.Span)

Aggregations

Configuration (net.codemirror.lib.Configuration)3 Span (com.google.gerrit.client.diff.DiffInfo.Span)2 Pos (net.codemirror.lib.Pos)2