|
56 | 56 | this.needsScrollSync = null
|
57 | 57 |
|
58 | 58 | 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 |
59 | 63 | },
|
60 | 64 | registerEvents: function(otherDv) {
|
61 | 65 | this.forceUpdate = registerUpdate(this);
|
|
502 | 506 | "class", dv.classes.connect);
|
503 | 507 | }
|
504 | 508 | 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); |
507 | 515 | var editOriginals = dv.mv.options.allowEditingOriginals;
|
508 | 516 | copy.title = dv.edit.phrase(editOriginals ? "Push to left" : "Revert chunk");
|
509 | 517 | copy.chunk = chunk;
|
|
512 | 520 |
|
513 | 521 | if (editOriginals) {
|
514 | 522 | 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); |
517 | 525 | copyReverse.title = "Push to right";
|
518 | 526 | copyReverse.chunk = {editFrom: chunk.origFrom, editTo: chunk.origTo,
|
519 | 527 | origFrom: chunk.editFrom, origTo: chunk.editTo};
|
|
0 commit comments