Skip to content

Commit 8865499

Browse files
authored
chore: support custom revert button creation (#25)
1 parent 14b7d49 commit 8865499

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

addon/merge/merge.js

+12-4
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@
5656
this.needsScrollSync = null
5757

5858
this.showDifferences = options.showDifferences !== false;
59+
this.leftRevertButtonText = options.leftRevertButtonText || '\u21dc'
60+
this.rightRevertButtonText = options.rightRevertButtonText || '\u21dd'
61+
this.getLeftRevertButton = options.getLeftRevertButton
62+
this.getRightRevertButton = options.getRightRevertButton
5963
},
6064
registerEvents: function(otherDv) {
6165
this.forceUpdate = registerUpdate(this);
@@ -502,8 +506,12 @@
502506
"class", dv.classes.connect);
503507
}
504508
if (dv.copyButtons) {
505-
var copy = dv.copyButtons.appendChild(elt("div", dv.type == "left" ? "\u21dd" : "\u21dc",
506-
"CodeMirror-merge-copy"));
509+
var leftButton = typeof dv.getLeftRevertButton === 'function' && dv.getLeftRevertButton();
510+
var rightButton = typeof dv.getRightRevertButton === 'function' && dv.getRightRevertButton();
511+
var useGeneratedButton = leftButton && rightButton
512+
513+
var btnElem = useGeneratedButton ? (dv.type == "left" ? rightButton : leftButton) : elt("div", dv.type == "left" ? dv.rightRevertButtonText : dv.leftRevertButtonText, "CodeMirror-merge-copy");
514+
var copy = dv.copyButtons.appendChild(btnElem);
507515
var editOriginals = dv.mv.options.allowEditingOriginals;
508516
copy.title = dv.edit.phrase(editOriginals ? "Push to left" : "Revert chunk");
509517
copy.chunk = chunk;
@@ -512,8 +520,8 @@
512520

513521
if (editOriginals) {
514522
var topReverse = dv.edit.heightAtLine(chunk.editFrom, "local") - sTopEdit;
515-
var copyReverse = dv.copyButtons.appendChild(elt("div", dv.type == "right" ? "\u21dd" : "\u21dc",
516-
"CodeMirror-merge-copy-reverse"));
523+
var btnElem = useGeneratedButton ? (dv.type == "right" ? rightButton : leftButton) : elt("div", dv.type == "right" ? dv.rightRevertButtonText : dv.leftRevertButtonText, "CodeMirror-merge-copy-reverse");
524+
var copyReverse = dv.copyButtons.appendChild(btnElem);
517525
copyReverse.title = "Push to right";
518526
copyReverse.chunk = {editFrom: chunk.origFrom, editTo: chunk.origTo,
519527
origFrom: chunk.editFrom, origTo: chunk.editTo};

0 commit comments

Comments
 (0)