diff options
Diffstat (limited to 'app/assets/javascripts/init_diff_stats_dropdown.js')
-rw-r--r-- | app/assets/javascripts/init_diff_stats_dropdown.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/app/assets/javascripts/init_diff_stats_dropdown.js b/app/assets/javascripts/init_diff_stats_dropdown.js new file mode 100644 index 00000000000..27df761a103 --- /dev/null +++ b/app/assets/javascripts/init_diff_stats_dropdown.js @@ -0,0 +1,30 @@ +import Vue from 'vue'; +import DiffStatsDropdown from '~/vue_shared/components/diff_stats_dropdown.vue'; +import { stickyMonitor } from './lib/utils/sticky'; + +export const initDiffStatsDropdown = (stickyTop) => { + if (stickyTop) { + stickyMonitor(document.querySelector('.js-diff-files-changed'), stickyTop); + } + + const el = document.querySelector('.js-diff-stats-dropdown'); + + if (!el) { + return false; + } + + const { changed, added, deleted, files } = el.dataset; + + return new Vue({ + el, + render: (createElement) => + createElement(DiffStatsDropdown, { + props: { + changed: parseInt(changed, 10), + added: parseInt(added, 10), + deleted: parseInt(deleted, 10), + files: JSON.parse(files), + }, + }), + }); +}; |