summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/image_diff/helpers/init_image_diff.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/image_diff/helpers/init_image_diff.js')
-rw-r--r--app/assets/javascripts/image_diff/helpers/init_image_diff.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/app/assets/javascripts/image_diff/helpers/init_image_diff.js b/app/assets/javascripts/image_diff/helpers/init_image_diff.js
new file mode 100644
index 00000000000..8eef930c372
--- /dev/null
+++ b/app/assets/javascripts/image_diff/helpers/init_image_diff.js
@@ -0,0 +1,27 @@
+import ImageDiff from '../image_diff';
+import ReplacedImageDiff from '../replaced_image_diff';
+import ImageFile from '../../commit/image_file';
+
+function initImageDiff(fileEl, canCreateNote, renderCommentBadge) {
+ const options = {
+ canCreateNote,
+ renderCommentBadge,
+ };
+ let diff;
+
+ // ImageFile needs to be invoked before initImageDiff so that badges
+ // can mount to the correct location
+ new ImageFile(fileEl); // eslint-disable-line no-new
+
+ if (fileEl.querySelector('.diff-file .js-single-image')) {
+ diff = new ImageDiff(fileEl, options);
+ diff.init();
+ } else if (fileEl.querySelector('.diff-file .js-replaced-image')) {
+ diff = new ReplacedImageDiff(fileEl, options);
+ diff.init();
+ }
+
+ return diff;
+}
+
+export default { initImageDiff };